@@ -20,13 +20,13 @@ import { detectAndValidatePackageEnvironment } from './detect-and-validate-packa
2020import { getDependencyEntries } from './get-dependency-entries'
2121import { overridesDataByAgent } from './get-overrides-by-agent'
2222import { getWorkspaceGlobs } from './get-workspace-globs'
23- import { lockIncludesByAgent } from './lock -includes-by-agent'
23+ import { lockfileIncludesByAgent } from './lockfile -includes-by-agent'
2424import { lsByAgent } from './ls-by-agent'
25+ import { updateLockfile } from './update-lockfile'
2526import { updateManifestByAgent } from './update-manifest-by-agent'
26- import { updatePackageLockJson } from './update-package-lock-json'
2727import constants from '../../constants'
2828
29- import type { AgentLockIncludesFn } from './lock -includes-by-agent'
29+ import type { AgentLockIncludesFn } from './lockfile -includes-by-agent'
3030import type {
3131 Agent ,
3232 EnvDetails ,
@@ -60,65 +60,6 @@ const COMMAND_TITLE = 'Socket Optimize'
6060
6161const manifestNpmOverrides = getManifestData ( NPM )
6262
63- export async function applyOptimization (
64- cwd : string ,
65- pin : boolean ,
66- prod : boolean
67- ) {
68- const pkgEnvDetails = await detectAndValidatePackageEnvironment ( cwd , {
69- logger,
70- prod
71- } )
72- if ( ! pkgEnvDetails ) {
73- return
74- }
75- // Lazily access constants.spinner.
76- const { spinner } = constants
77-
78- spinner . start ( 'Socket optimizing...' )
79-
80- const state = await addOverrides ( pkgEnvDetails . pkgPath , pkgEnvDetails , {
81- logger,
82- pin,
83- prod,
84- spinner
85- } )
86-
87- spinner . stop ( )
88-
89- const addedCount = state . added . size
90- const updatedCount = state . updated . size
91- const pkgJsonChanged = addedCount > 0 || updatedCount > 0
92- if ( pkgJsonChanged ) {
93- if ( updatedCount > 0 ) {
94- logger ?. log (
95- `${ createActionMessage ( 'Updated' , updatedCount , state . updatedInWorkspaces . size ) } ${ addedCount ? '.' : '🚀' } `
96- )
97- }
98- if ( addedCount > 0 ) {
99- logger ?. log (
100- `${ createActionMessage ( 'Added' , addedCount , state . addedInWorkspaces . size ) } 🚀`
101- )
102- }
103- } else {
104- logger ?. log ( 'Congratulations! Already Socket.dev optimized 🎉' )
105- }
106-
107- if ( pkgEnvDetails . agent === NPM || pkgJsonChanged ) {
108- // Always update package-lock.json until the npm overrides PR lands:
109- // https://github.com/npm/cli/pull/8089
110- await updatePackageLockJson ( pkgEnvDetails , { logger, spinner } )
111- }
112- }
113-
114- function createActionMessage (
115- verb : string ,
116- overrideCount : number ,
117- workspaceCount : number
118- ) : string {
119- return `${ verb } ${ overrideCount } Socket.dev optimized ${ pluralize ( 'override' , overrideCount ) } ${ workspaceCount ? ` in ${ workspaceCount } ${ pluralize ( 'workspace' , workspaceCount ) } ` : '' } `
120- }
121-
12263async function addOverrides (
12364 pkgPath : string ,
12465 pkgEnvDetails : EnvDetails ,
@@ -175,7 +116,7 @@ async function addOverrides(
175116 // as an AgentLockIncludesFn type.
176117 const thingScanner = (
177118 isLockScanned
178- ? lockIncludesByAgent . get ( agent )
119+ ? lockfileIncludesByAgent . get ( agent )
179120 : depsIncludesByAgent . get ( agent )
180121 ) as AgentLockIncludesFn
181122 const depEntries = getDependencyEntries ( pkgJson )
@@ -338,3 +279,62 @@ async function addOverrides(
338279 }
339280 return state
340281}
282+
283+ function createActionMessage (
284+ verb : string ,
285+ overrideCount : number ,
286+ workspaceCount : number
287+ ) : string {
288+ return `${ verb } ${ overrideCount } Socket.dev optimized ${ pluralize ( 'override' , overrideCount ) } ${ workspaceCount ? ` in ${ workspaceCount } ${ pluralize ( 'workspace' , workspaceCount ) } ` : '' } `
289+ }
290+
291+ export async function applyOptimization (
292+ cwd : string ,
293+ pin : boolean ,
294+ prod : boolean
295+ ) {
296+ const pkgEnvDetails = await detectAndValidatePackageEnvironment ( cwd , {
297+ logger,
298+ prod
299+ } )
300+ if ( ! pkgEnvDetails ) {
301+ return
302+ }
303+ // Lazily access constants.spinner.
304+ const { spinner } = constants
305+
306+ spinner . start ( 'Socket optimizing...' )
307+
308+ const state = await addOverrides ( pkgEnvDetails . pkgPath , pkgEnvDetails , {
309+ logger,
310+ pin,
311+ prod,
312+ spinner
313+ } )
314+
315+ spinner . stop ( )
316+
317+ const addedCount = state . added . size
318+ const updatedCount = state . updated . size
319+ const pkgJsonChanged = addedCount > 0 || updatedCount > 0
320+ if ( pkgJsonChanged ) {
321+ if ( updatedCount > 0 ) {
322+ logger ?. log (
323+ `${ createActionMessage ( 'Updated' , updatedCount , state . updatedInWorkspaces . size ) } ${ addedCount ? '.' : '🚀' } `
324+ )
325+ }
326+ if ( addedCount > 0 ) {
327+ logger ?. log (
328+ `${ createActionMessage ( 'Added' , addedCount , state . addedInWorkspaces . size ) } 🚀`
329+ )
330+ }
331+ } else {
332+ logger ?. log ( 'Congratulations! Already Socket.dev optimized 🎉' )
333+ }
334+
335+ if ( pkgEnvDetails . agent === NPM || pkgJsonChanged ) {
336+ // Always update package-lock.json until the npm overrides PR lands:
337+ // https://github.com/npm/cli/pull/8089
338+ await updateLockfile ( pkgEnvDetails , { logger, spinner } )
339+ }
340+ }
0 commit comments