socket 1.0.61 → 1.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +178 -51
- package/dist/cli.js.map +1 -1
- package/dist/constants.js +13 -10
- package/dist/constants.js.map +1 -1
- package/dist/types/commands/optimize/add-overrides.d.mts.map +1 -1
- package/dist/types/commands/optimize/deps-includes-by-agent.d.mts +4 -3
- package/dist/types/commands/optimize/deps-includes-by-agent.d.mts.map +1 -1
- package/dist/types/commands/optimize/lockfile-includes-by-agent.d.mts +7 -2
- package/dist/types/commands/optimize/lockfile-includes-by-agent.d.mts.map +1 -1
- package/dist/types/commands/optimize/ls-by-agent.d.mts +9 -3
- package/dist/types/commands/optimize/ls-by-agent.d.mts.map +1 -1
- package/dist/types/commands/optimize/update-manifest-by-agent.d.mts +6 -3
- package/dist/types/commands/optimize/update-manifest-by-agent.d.mts.map +1 -1
- package/dist/types/commands/scan/handle-create-new-scan.d.mts.map +1 -1
- package/dist/types/constants.d.mts +2 -2
- package/dist/types/constants.d.mts.map +1 -1
- package/dist/types/utils/path-resolve.d.mts +5 -1
- package/dist/types/utils/path-resolve.d.mts.map +1 -1
- package/dist/utils.js +11 -25
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -9,12 +9,12 @@ var utils = require('./utils.js');
|
|
|
9
9
|
var fs = require('node:fs/promises');
|
|
10
10
|
var require$$5 = require('node:module');
|
|
11
11
|
var constants = require('./constants.js');
|
|
12
|
+
var words = require('../external/@socketsecurity/registry/lib/words');
|
|
12
13
|
var prompts = require('../external/@socketsecurity/registry/lib/prompts');
|
|
13
14
|
var fs$1 = require('node:fs');
|
|
14
15
|
var path = require('node:path');
|
|
15
16
|
var spawn = require('../external/@socketsecurity/registry/lib/spawn');
|
|
16
17
|
var arrays = require('../external/@socketsecurity/registry/lib/arrays');
|
|
17
|
-
var words = require('../external/@socketsecurity/registry/lib/words');
|
|
18
18
|
var registry = require('../external/@socketsecurity/registry');
|
|
19
19
|
var npm = require('../external/@socketsecurity/registry/lib/npm');
|
|
20
20
|
var packages = require('../external/@socketsecurity/registry/lib/packages');
|
|
@@ -1990,7 +1990,7 @@ async function handleCreateNewScan({
|
|
|
1990
1990
|
tmp
|
|
1991
1991
|
}) {
|
|
1992
1992
|
if (autoManifest) {
|
|
1993
|
-
logger.logger.info('Auto
|
|
1993
|
+
logger.logger.info('Auto-generating manifest files ...');
|
|
1994
1994
|
const sockJson = await utils.readOrDefaultSocketJson(cwd);
|
|
1995
1995
|
const detected = await detectManifestActions(sockJson, cwd);
|
|
1996
1996
|
await generateAutoManifest({
|
|
@@ -1999,14 +1999,24 @@ async function handleCreateNewScan({
|
|
|
1999
1999
|
outputKind,
|
|
2000
2000
|
verbose: false
|
|
2001
2001
|
});
|
|
2002
|
-
logger.logger.info('Auto
|
|
2002
|
+
logger.logger.info('Auto-generation finished. Proceeding with Scan creation.');
|
|
2003
2003
|
}
|
|
2004
|
-
const
|
|
2005
|
-
if (!
|
|
2006
|
-
await outputCreateNewScan(
|
|
2004
|
+
const supportedFilesCResult = await fetchSupportedScanFileNames();
|
|
2005
|
+
if (!supportedFilesCResult.ok) {
|
|
2006
|
+
await outputCreateNewScan(supportedFilesCResult, outputKind, interactive);
|
|
2007
2007
|
return;
|
|
2008
2008
|
}
|
|
2009
|
-
|
|
2009
|
+
|
|
2010
|
+
// Lazily access constants.spinner.
|
|
2011
|
+
const {
|
|
2012
|
+
spinner
|
|
2013
|
+
} = constants;
|
|
2014
|
+
spinner.start('Searching for local files to include in scan...');
|
|
2015
|
+
const supportedFiles = supportedFilesCResult.data;
|
|
2016
|
+
const packagePaths = await utils.getPackageFilesForScan(targets, supportedFiles, {
|
|
2017
|
+
cwd
|
|
2018
|
+
});
|
|
2019
|
+
spinner.stop();
|
|
2010
2020
|
const wasValidInput = utils.checkCommandInput(outputKind, {
|
|
2011
2021
|
nook: true,
|
|
2012
2022
|
test: packagePaths.length > 0,
|
|
@@ -2017,11 +2027,15 @@ async function handleCreateNewScan({
|
|
|
2017
2027
|
if (!wasValidInput) {
|
|
2018
2028
|
return;
|
|
2019
2029
|
}
|
|
2030
|
+
debug.debugFn('notice', `found: ${packagePaths.length} local ${words.pluralize('file', packagePaths.length)}`);
|
|
2031
|
+
debug.debugDir('inspect', {
|
|
2032
|
+
packagePaths
|
|
2033
|
+
});
|
|
2020
2034
|
if (readOnly) {
|
|
2021
2035
|
logger.logger.log('[ReadOnly] Bailing now');
|
|
2022
2036
|
return;
|
|
2023
2037
|
}
|
|
2024
|
-
const
|
|
2038
|
+
const fullScanCResult = await fetchCreateOrgFullScan(packagePaths, orgSlug, defaultBranch, pendingHead, tmp, cwd, {
|
|
2025
2039
|
commitHash,
|
|
2026
2040
|
commitMessage,
|
|
2027
2041
|
committers,
|
|
@@ -2029,8 +2043,8 @@ async function handleCreateNewScan({
|
|
|
2029
2043
|
repoName,
|
|
2030
2044
|
branchName
|
|
2031
2045
|
});
|
|
2032
|
-
if (
|
|
2033
|
-
if (
|
|
2046
|
+
if (fullScanCResult.ok && report) {
|
|
2047
|
+
if (fullScanCResult.data?.id) {
|
|
2034
2048
|
await handleScanReport({
|
|
2035
2049
|
filePath: '-',
|
|
2036
2050
|
fold: 'version',
|
|
@@ -2038,7 +2052,7 @@ async function handleCreateNewScan({
|
|
|
2038
2052
|
orgSlug,
|
|
2039
2053
|
outputKind,
|
|
2040
2054
|
reportLevel: 'error',
|
|
2041
|
-
scanId:
|
|
2055
|
+
scanId: fullScanCResult.data.id,
|
|
2042
2056
|
short: false
|
|
2043
2057
|
});
|
|
2044
2058
|
} else {
|
|
@@ -2046,11 +2060,11 @@ async function handleCreateNewScan({
|
|
|
2046
2060
|
ok: false,
|
|
2047
2061
|
message: 'Missing Scan ID',
|
|
2048
2062
|
cause: 'Server did not respond with a scan ID',
|
|
2049
|
-
data:
|
|
2063
|
+
data: fullScanCResult.data
|
|
2050
2064
|
}, outputKind, interactive);
|
|
2051
2065
|
}
|
|
2052
2066
|
} else {
|
|
2053
|
-
await outputCreateNewScan(
|
|
2067
|
+
await outputCreateNewScan(fullScanCResult, outputKind, interactive);
|
|
2054
2068
|
}
|
|
2055
2069
|
}
|
|
2056
2070
|
|
|
@@ -5290,16 +5304,16 @@ async function runCdxgen(yargvWithYes) {
|
|
|
5290
5304
|
// based on the node_modules folder, for a more accurate SBOM.
|
|
5291
5305
|
try {
|
|
5292
5306
|
await shadowNpmBin(NPX$1, [...yesArgs,
|
|
5293
|
-
// Lazily access constants.ENV.
|
|
5294
|
-
`synp@${constants.ENV.
|
|
5307
|
+
// Lazily access constants.ENV.INLINED_SOCKET_CLI_SYNP_VERSION.
|
|
5308
|
+
`synp@${constants.ENV.INLINED_SOCKET_CLI_SYNP_VERSION}`, '--source-file', `./${YARN_LOCK}`]);
|
|
5295
5309
|
yargv.type = NPM$6;
|
|
5296
5310
|
cleanupPackageLock = true;
|
|
5297
5311
|
} catch {}
|
|
5298
5312
|
}
|
|
5299
5313
|
}
|
|
5300
5314
|
await shadowNpmBin(NPX$1, [...yesArgs,
|
|
5301
|
-
// Lazily access constants.ENV.
|
|
5302
|
-
`@cyclonedx/cdxgen@${constants.ENV.
|
|
5315
|
+
// Lazily access constants.ENV.INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION.
|
|
5316
|
+
`@cyclonedx/cdxgen@${constants.ENV.INLINED_SOCKET_CLI_CYCLONEDX_CDXGEN_VERSION}`, ...argvToArray(yargv)]);
|
|
5303
5317
|
if (cleanupPackageLock) {
|
|
5304
5318
|
try {
|
|
5305
5319
|
await fs$1.promises.rm(`./${PACKAGE_LOCK_JSON}`);
|
|
@@ -7015,7 +7029,19 @@ function matchLsCmdViewHumanStdout(stdout, name) {
|
|
|
7015
7029
|
function matchQueryCmdStdout(stdout, name) {
|
|
7016
7030
|
return stdout.includes(`"${name}"`);
|
|
7017
7031
|
}
|
|
7018
|
-
|
|
7032
|
+
function lsStdoutIncludes(pkgEnvDetails, stdout, name) {
|
|
7033
|
+
switch (pkgEnvDetails.agent) {
|
|
7034
|
+
case BUN$3:
|
|
7035
|
+
case YARN_BERRY$3:
|
|
7036
|
+
case YARN_CLASSIC$3:
|
|
7037
|
+
return matchLsCmdViewHumanStdout(stdout, name);
|
|
7038
|
+
case PNPM$4:
|
|
7039
|
+
case VLT$4:
|
|
7040
|
+
case NPM$5:
|
|
7041
|
+
default:
|
|
7042
|
+
return matchQueryCmdStdout(stdout, name);
|
|
7043
|
+
}
|
|
7044
|
+
}
|
|
7019
7045
|
|
|
7020
7046
|
function getDependencyEntries(pkgEnvDetails) {
|
|
7021
7047
|
const {
|
|
@@ -7050,20 +7076,20 @@ const {
|
|
|
7050
7076
|
YARN_BERRY: YARN_BERRY$2,
|
|
7051
7077
|
YARN_CLASSIC: YARN_CLASSIC$2
|
|
7052
7078
|
} = constants;
|
|
7053
|
-
function
|
|
7079
|
+
function npmLockSrcIncludes(lockSrc, name) {
|
|
7054
7080
|
// Detects the package name in the following cases:
|
|
7055
7081
|
// "name":
|
|
7056
7082
|
return lockSrc.includes(`"${name}":`);
|
|
7057
7083
|
}
|
|
7058
|
-
function
|
|
7084
|
+
function bunLockSrcIncludes(lockSrc, name, lockName) {
|
|
7059
7085
|
// This is a bit counterintuitive. When lockName ends with a .lockb
|
|
7060
7086
|
// we treat it as a yarn.lock. When lockName ends with a .lock we
|
|
7061
7087
|
// treat it as a package-lock.json. The bun.lock format is not identical
|
|
7062
7088
|
// package-lock.json, however it close enough for npmLockIncludes to work.
|
|
7063
|
-
const lockfileScanner = lockName?.endsWith(LOCK_EXT) ?
|
|
7089
|
+
const lockfileScanner = lockName?.endsWith(LOCK_EXT) ? npmLockSrcIncludes : yarnLockSrcIncludes;
|
|
7064
7090
|
return lockfileScanner(lockSrc, name);
|
|
7065
7091
|
}
|
|
7066
|
-
function
|
|
7092
|
+
function pnpmLockSrcIncludes(lockSrc, name) {
|
|
7067
7093
|
const escapedName = regexps.escapeRegExp(name);
|
|
7068
7094
|
return new RegExp(
|
|
7069
7095
|
// Detects the package name.
|
|
@@ -7075,12 +7101,12 @@ function includesPnpm(lockSrc, name) {
|
|
|
7075
7101
|
// /name@
|
|
7076
7102
|
`(?<=^\\s*)(?:'${escapedName}'|/?${escapedName}(?=[:@]))`, 'm').test(lockSrc);
|
|
7077
7103
|
}
|
|
7078
|
-
function
|
|
7104
|
+
function vltLockSrcIncludes(lockSrc, name) {
|
|
7079
7105
|
// Detects the package name in the following cases:
|
|
7080
7106
|
// "name"
|
|
7081
7107
|
return lockSrc.includes(`"${name}"`);
|
|
7082
7108
|
}
|
|
7083
|
-
function
|
|
7109
|
+
function yarnLockSrcIncludes(lockSrc, name) {
|
|
7084
7110
|
const escapedName = regexps.escapeRegExp(name);
|
|
7085
7111
|
return new RegExp(
|
|
7086
7112
|
// Detects the package name in the following cases:
|
|
@@ -7090,7 +7116,23 @@ function includesYarn(lockSrc, name) {
|
|
|
7090
7116
|
// , name@
|
|
7091
7117
|
`(?<=(?:^\\s*|,\\s*)"?)${escapedName}(?=@)`, 'm').test(lockSrc);
|
|
7092
7118
|
}
|
|
7093
|
-
|
|
7119
|
+
function lockSrcIncludes(pkgEnvDetails, lockSrc, name, lockName) {
|
|
7120
|
+
switch (pkgEnvDetails.agent) {
|
|
7121
|
+
case BUN$2:
|
|
7122
|
+
return bunLockSrcIncludes(lockSrc, name, lockName);
|
|
7123
|
+
case PNPM$3:
|
|
7124
|
+
return pnpmLockSrcIncludes(lockSrc, name);
|
|
7125
|
+
case VLT$3:
|
|
7126
|
+
return vltLockSrcIncludes(lockSrc, name);
|
|
7127
|
+
case YARN_BERRY$2:
|
|
7128
|
+
return yarnLockSrcIncludes(lockSrc, name);
|
|
7129
|
+
case YARN_CLASSIC$2:
|
|
7130
|
+
return yarnLockSrcIncludes(lockSrc, name);
|
|
7131
|
+
case NPM$4:
|
|
7132
|
+
default:
|
|
7133
|
+
return npmLockSrcIncludes(lockSrc, name);
|
|
7134
|
+
}
|
|
7135
|
+
}
|
|
7094
7136
|
|
|
7095
7137
|
const {
|
|
7096
7138
|
BUN: BUN$1,
|
|
@@ -7151,7 +7193,13 @@ async function npmQuery(npmExecPath, cwd) {
|
|
|
7151
7193
|
} catch {}
|
|
7152
7194
|
return cleanupQueryStdout(stdout);
|
|
7153
7195
|
}
|
|
7154
|
-
async function lsBun(pkgEnvDetails,
|
|
7196
|
+
async function lsBun(pkgEnvDetails, options) {
|
|
7197
|
+
const {
|
|
7198
|
+
cwd = process.cwd()
|
|
7199
|
+
} = {
|
|
7200
|
+
__proto__: null,
|
|
7201
|
+
...options
|
|
7202
|
+
};
|
|
7155
7203
|
try {
|
|
7156
7204
|
// Bun does not support filtering by production packages yet.
|
|
7157
7205
|
// https://github.com/oven-sh/bun/issues/8283
|
|
@@ -7163,11 +7211,23 @@ async function lsBun(pkgEnvDetails, cwd) {
|
|
|
7163
7211
|
} catch {}
|
|
7164
7212
|
return '';
|
|
7165
7213
|
}
|
|
7166
|
-
async function lsNpm(pkgEnvDetails,
|
|
7214
|
+
async function lsNpm(pkgEnvDetails, options) {
|
|
7215
|
+
const {
|
|
7216
|
+
cwd = process.cwd()
|
|
7217
|
+
} = {
|
|
7218
|
+
__proto__: null,
|
|
7219
|
+
...options
|
|
7220
|
+
};
|
|
7167
7221
|
return await npmQuery(pkgEnvDetails.agentExecPath, cwd);
|
|
7168
7222
|
}
|
|
7169
|
-
async function lsPnpm(pkgEnvDetails,
|
|
7170
|
-
const
|
|
7223
|
+
async function lsPnpm(pkgEnvDetails, options) {
|
|
7224
|
+
const {
|
|
7225
|
+
cwd = process.cwd(),
|
|
7226
|
+
npmExecPath
|
|
7227
|
+
} = {
|
|
7228
|
+
__proto__: null,
|
|
7229
|
+
...options
|
|
7230
|
+
};
|
|
7171
7231
|
if (npmExecPath && npmExecPath !== NPM$3) {
|
|
7172
7232
|
const result = await npmQuery(npmExecPath, cwd);
|
|
7173
7233
|
if (result) {
|
|
@@ -7187,7 +7247,13 @@ async function lsPnpm(pkgEnvDetails, cwd, options) {
|
|
|
7187
7247
|
} catch {}
|
|
7188
7248
|
return parsableToQueryStdout(stdout);
|
|
7189
7249
|
}
|
|
7190
|
-
async function lsVlt(pkgEnvDetails,
|
|
7250
|
+
async function lsVlt(pkgEnvDetails, options) {
|
|
7251
|
+
const {
|
|
7252
|
+
cwd = process.cwd()
|
|
7253
|
+
} = {
|
|
7254
|
+
__proto__: null,
|
|
7255
|
+
...options
|
|
7256
|
+
};
|
|
7191
7257
|
let stdout = '';
|
|
7192
7258
|
try {
|
|
7193
7259
|
// See https://docs.vlt.sh/cli/commands/list#options.
|
|
@@ -7199,7 +7265,13 @@ async function lsVlt(pkgEnvDetails, cwd) {
|
|
|
7199
7265
|
} catch {}
|
|
7200
7266
|
return cleanupQueryStdout(stdout);
|
|
7201
7267
|
}
|
|
7202
|
-
async function lsYarnBerry(pkgEnvDetails,
|
|
7268
|
+
async function lsYarnBerry(pkgEnvDetails, options) {
|
|
7269
|
+
const {
|
|
7270
|
+
cwd = process.cwd()
|
|
7271
|
+
} = {
|
|
7272
|
+
__proto__: null,
|
|
7273
|
+
...options
|
|
7274
|
+
};
|
|
7203
7275
|
try {
|
|
7204
7276
|
// Yarn Berry does not support filtering by production packages yet.
|
|
7205
7277
|
// https://github.com/yarnpkg/berry/issues/5117
|
|
@@ -7211,7 +7283,13 @@ async function lsYarnBerry(pkgEnvDetails, cwd) {
|
|
|
7211
7283
|
} catch {}
|
|
7212
7284
|
return '';
|
|
7213
7285
|
}
|
|
7214
|
-
async function lsYarnClassic(pkgEnvDetails,
|
|
7286
|
+
async function lsYarnClassic(pkgEnvDetails, options) {
|
|
7287
|
+
const {
|
|
7288
|
+
cwd = process.cwd()
|
|
7289
|
+
} = {
|
|
7290
|
+
__proto__: null,
|
|
7291
|
+
...options
|
|
7292
|
+
};
|
|
7215
7293
|
try {
|
|
7216
7294
|
// However, Yarn Classic does support it.
|
|
7217
7295
|
// https://github.com/yarnpkg/yarn/releases/tag/v1.0.0
|
|
@@ -7225,7 +7303,23 @@ async function lsYarnClassic(pkgEnvDetails, cwd) {
|
|
|
7225
7303
|
} catch {}
|
|
7226
7304
|
return '';
|
|
7227
7305
|
}
|
|
7228
|
-
|
|
7306
|
+
async function listPackages(pkgEnvDetails, options) {
|
|
7307
|
+
switch (pkgEnvDetails.agent) {
|
|
7308
|
+
case BUN$1:
|
|
7309
|
+
return await lsBun(pkgEnvDetails, options);
|
|
7310
|
+
case PNPM$2:
|
|
7311
|
+
return await lsPnpm(pkgEnvDetails, options);
|
|
7312
|
+
case VLT$2:
|
|
7313
|
+
return await lsVlt(pkgEnvDetails, options);
|
|
7314
|
+
case YARN_BERRY$1:
|
|
7315
|
+
return await lsYarnBerry(pkgEnvDetails, options);
|
|
7316
|
+
case YARN_CLASSIC$1:
|
|
7317
|
+
return await lsYarnClassic(pkgEnvDetails, options);
|
|
7318
|
+
case NPM$3:
|
|
7319
|
+
default:
|
|
7320
|
+
return await lsNpm(pkgEnvDetails, options);
|
|
7321
|
+
}
|
|
7322
|
+
}
|
|
7229
7323
|
|
|
7230
7324
|
const CMD_NAME = 'socket optimize';
|
|
7231
7325
|
|
|
@@ -7330,16 +7424,38 @@ function updatePkgJsonField(editablePkgJson, field, value) {
|
|
|
7330
7424
|
} : value]);
|
|
7331
7425
|
editablePkgJson.fromJSON(`${JSON.stringify(Object.fromEntries(entries), null, 2)}\n`);
|
|
7332
7426
|
}
|
|
7333
|
-
function updateOverridesField(
|
|
7334
|
-
updatePkgJsonField(
|
|
7427
|
+
function updateOverridesField(editablePkgJson, overrides) {
|
|
7428
|
+
updatePkgJsonField(editablePkgJson, OVERRIDES, overrides);
|
|
7429
|
+
}
|
|
7430
|
+
function updateResolutionsField(editablePkgJson, overrides) {
|
|
7431
|
+
updatePkgJsonField(editablePkgJson, RESOLUTIONS, overrides);
|
|
7335
7432
|
}
|
|
7336
|
-
function
|
|
7337
|
-
updatePkgJsonField(
|
|
7433
|
+
function updatePnpmField(editablePkgJson, overrides) {
|
|
7434
|
+
updatePkgJsonField(editablePkgJson, PNPM$1, overrides);
|
|
7338
7435
|
}
|
|
7339
|
-
function
|
|
7340
|
-
|
|
7436
|
+
function updateManifest(agent, editablePkgJson, overrides) {
|
|
7437
|
+
switch (agent) {
|
|
7438
|
+
case BUN:
|
|
7439
|
+
updateResolutionsField(editablePkgJson, overrides);
|
|
7440
|
+
return;
|
|
7441
|
+
case PNPM$1:
|
|
7442
|
+
updatePnpmField(editablePkgJson, overrides);
|
|
7443
|
+
return;
|
|
7444
|
+
case VLT$1:
|
|
7445
|
+
updateOverridesField(editablePkgJson, overrides);
|
|
7446
|
+
return;
|
|
7447
|
+
case YARN_BERRY:
|
|
7448
|
+
updateResolutionsField(editablePkgJson, overrides);
|
|
7449
|
+
return;
|
|
7450
|
+
case YARN_CLASSIC:
|
|
7451
|
+
updateResolutionsField(editablePkgJson, overrides);
|
|
7452
|
+
return;
|
|
7453
|
+
case NPM$2:
|
|
7454
|
+
default:
|
|
7455
|
+
updateOverridesField(editablePkgJson, overrides);
|
|
7456
|
+
return;
|
|
7457
|
+
}
|
|
7341
7458
|
}
|
|
7342
|
-
const updateManifestByAgent = new Map([[BUN, updateResolutionsField], [NPM$2, updateOverridesField], [PNPM$1, updatePnpmField], [VLT$1, updateOverridesField], [YARN_BERRY, updateResolutionsField], [YARN_CLASSIC, updateResolutionsField]]);
|
|
7343
7459
|
|
|
7344
7460
|
const {
|
|
7345
7461
|
NPM: NPM$1,
|
|
@@ -7379,7 +7495,9 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7379
7495
|
// npmExecPath will === the agent name IF it CANNOT be resolved.
|
|
7380
7496
|
npmExecPath === NPM$1 && !state.warnedPnpmWorkspaceRequiresNpm) {
|
|
7381
7497
|
state.warnedPnpmWorkspaceRequiresNpm = true;
|
|
7498
|
+
spinner?.stop();
|
|
7382
7499
|
logger?.warn(utils.cmdPrefixMessage(CMD_NAME, `${agent} workspace support requires \`npm ls\`, falling back to \`${agent} list\``));
|
|
7500
|
+
spinner?.start();
|
|
7383
7501
|
}
|
|
7384
7502
|
const overridesDataObjects = [];
|
|
7385
7503
|
if (isWorkspace || pkgEnvDetails.editablePkgJson.content['private']) {
|
|
@@ -7387,7 +7505,6 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7387
7505
|
} else {
|
|
7388
7506
|
overridesDataObjects.push(getOverridesDataNpm(pkgEnvDetails), getOverridesDataYarnClassic(pkgEnvDetails));
|
|
7389
7507
|
}
|
|
7390
|
-
spinner?.setText(`Adding overrides to ${workspace}...`);
|
|
7391
7508
|
const depAliasMap = new Map();
|
|
7392
7509
|
const depEntries = getDependencyEntries(pkgEnvDetails);
|
|
7393
7510
|
const manifestEntries = manifestNpmOverrides.filter(({
|
|
@@ -7396,6 +7513,8 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7396
7513
|
// Roughly check Node range as semver.coerce will strip leading
|
|
7397
7514
|
// v's, carets (^), comparators (<,<=,>,>=,=), and tildes (~).
|
|
7398
7515
|
vendor.semverExports.coerce(data.engines.node), pkgEnvDetails.pkgRequirements.node));
|
|
7516
|
+
const addingText = `Adding overrides to ${workspace}...`;
|
|
7517
|
+
let loggedAddingText = false;
|
|
7399
7518
|
|
|
7400
7519
|
// Chunk package names to process them in parallel 3 at a time.
|
|
7401
7520
|
await require$$7.pEach(manifestEntries, 3, async ({
|
|
@@ -7434,17 +7553,21 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7434
7553
|
if (!isWorkspaceRoot) {
|
|
7435
7554
|
state.addedInWorkspaces.add(workspace);
|
|
7436
7555
|
}
|
|
7556
|
+
if (!loggedAddingText) {
|
|
7557
|
+
spinner?.setText(addingText);
|
|
7558
|
+
loggedAddingText = true;
|
|
7559
|
+
}
|
|
7437
7560
|
}
|
|
7438
7561
|
depAliasMap.set(origPkgName, thisSpec);
|
|
7439
7562
|
}
|
|
7440
7563
|
}
|
|
7441
7564
|
if (isWorkspaceRoot) {
|
|
7442
|
-
// The
|
|
7443
|
-
// first two parameters.
|
|
7444
|
-
//
|
|
7445
|
-
|
|
7446
|
-
const
|
|
7447
|
-
|
|
7565
|
+
// The lockSrcIncludes and lsStdoutIncludes functions overlap in their
|
|
7566
|
+
// first two parameters. lockSrcIncludes accepts an optional third parameter
|
|
7567
|
+
// which lsStdoutIncludes will ignore.
|
|
7568
|
+
const thingScanner = isLockScanned ? lockSrcIncludes : lsStdoutIncludes;
|
|
7569
|
+
const thingToScan = isLockScanned ? lockSrc : await listPackages(pkgEnvDetails, {
|
|
7570
|
+
cwd: pkgPath,
|
|
7448
7571
|
npmExecPath
|
|
7449
7572
|
});
|
|
7450
7573
|
// Chunk package names to process them in parallel 3 at a time.
|
|
@@ -7453,7 +7576,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7453
7576
|
type
|
|
7454
7577
|
}) => {
|
|
7455
7578
|
const overrideExists = objects.hasOwn(overrides, origPkgName);
|
|
7456
|
-
if (overrideExists || thingScanner(thingToScan, origPkgName, lockName)) {
|
|
7579
|
+
if (overrideExists || thingScanner(pkgEnvDetails, thingToScan, origPkgName, lockName)) {
|
|
7457
7580
|
const oldSpec = overrideExists ? overrides[origPkgName] : undefined;
|
|
7458
7581
|
const origDepAlias = depAliasMap.get(origPkgName);
|
|
7459
7582
|
const sockRegDepAlias = depAliasMap.get(sockRegPkgName);
|
|
@@ -7491,6 +7614,10 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7491
7614
|
overrides[origPkgName] = newSpec;
|
|
7492
7615
|
const addedOrUpdated = overrideExists ? 'updated' : 'added';
|
|
7493
7616
|
state[addedOrUpdated].add(sockRegPkgName);
|
|
7617
|
+
if (!loggedAddingText) {
|
|
7618
|
+
spinner?.setText(addingText);
|
|
7619
|
+
loggedAddingText = true;
|
|
7620
|
+
}
|
|
7494
7621
|
}
|
|
7495
7622
|
}
|
|
7496
7623
|
});
|
|
@@ -7519,7 +7646,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7519
7646
|
overrides,
|
|
7520
7647
|
type
|
|
7521
7648
|
} of overridesDataObjects) {
|
|
7522
|
-
|
|
7649
|
+
updateManifest(type, pkgEnvDetails.editablePkgJson, objects.toSortedObject(overrides));
|
|
7523
7650
|
}
|
|
7524
7651
|
}
|
|
7525
7652
|
await pkgEnvDetails.editablePkgJson.save();
|
|
@@ -7583,7 +7710,7 @@ async function applyOptimization(pkgEnvDetails, {
|
|
|
7583
7710
|
const {
|
|
7584
7711
|
spinner
|
|
7585
7712
|
} = constants;
|
|
7586
|
-
spinner.start(
|
|
7713
|
+
spinner.start();
|
|
7587
7714
|
const state = await addOverrides(pkgEnvDetails, pkgEnvDetails.pkgPath, {
|
|
7588
7715
|
logger: logger.logger,
|
|
7589
7716
|
pin,
|
|
@@ -14212,5 +14339,5 @@ void (async () => {
|
|
|
14212
14339
|
await utils.captureException(e);
|
|
14213
14340
|
}
|
|
14214
14341
|
})();
|
|
14215
|
-
//# debugId=
|
|
14342
|
+
//# debugId=9f81fe97-c2db-4ad9-9cf7-ae11682e5f3c
|
|
14216
14343
|
//# sourceMappingURL=cli.js.map
|