@socketsecurity/cli-with-sentry 1.0.1 → 1.0.3
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 +144 -74
- package/dist/cli.js.map +1 -1
- package/dist/constants.js +3 -3
- package/dist/constants.js.map +1 -1
- package/dist/types/commands/fix/agent-fix.d.mts.map +1 -1
- package/dist/types/commands/fix/cmd-fix.d.mts.map +1 -1
- package/dist/types/commands/fix/handle-fix.d.mts +6 -20
- package/dist/types/commands/fix/handle-fix.d.mts.map +1 -1
- package/dist/types/commands/fix/npm-fix.d.mts.map +1 -1
- package/dist/types/commands/optimize/add-overrides.d.mts.map +1 -1
- package/dist/types/commands/optimize/get-overrides-by-agent.d.mts +1 -1
- package/dist/types/commands/optimize/get-overrides-by-agent.d.mts.map +1 -1
- package/dist/types/commands/package/output-purls-shallow-score.d.mts.map +1 -1
- package/dist/types/commands/scan/handle-reach-scan.d.mts.map +1 -1
- package/dist/types/commands/scan/output-scan-reach.d.mts +1 -1
- package/dist/types/commands/scan/output-scan-reach.d.mts.map +1 -1
- package/dist/types/utils/cmd.d.mts +1 -0
- package/dist/types/utils/cmd.d.mts.map +1 -1
- package/dist/types/utils/coana.d.mts +4 -0
- package/dist/types/utils/coana.d.mts.map +1 -0
- package/dist/types/utils/fail-msg-with-badge.d.mts +1 -1
- package/dist/types/utils/fail-msg-with-badge.d.mts.map +1 -1
- package/dist/utils.js +51 -4
- package/dist/utils.js.map +1 -1
- package/dist/vendor.js +85939 -80792
- package/external/@socketsecurity/registry/external/browserslist.js +374 -347
- package/external/@socketsecurity/registry/lib/spawn.js +11 -2
- package/external/@socketsecurity/registry/manifest.json +2 -2
- package/package.json +10 -8
- package/dist/types/commands/scan/scan-reachability.d.mts +0 -3
- package/dist/types/commands/scan/scan-reachability.d.mts.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -14,17 +14,17 @@ var fs$1 = require('node:fs');
|
|
|
14
14
|
var path = require('node:path');
|
|
15
15
|
var spawn = require('../external/@socketsecurity/registry/lib/spawn');
|
|
16
16
|
var arrays = require('../external/@socketsecurity/registry/lib/arrays');
|
|
17
|
+
var words = require('../external/@socketsecurity/registry/lib/words');
|
|
17
18
|
var registry = require('../external/@socketsecurity/registry');
|
|
18
19
|
var npm = require('../external/@socketsecurity/registry/lib/npm');
|
|
19
20
|
var packages = require('../external/@socketsecurity/registry/lib/packages');
|
|
20
21
|
var sorts = require('../external/@socketsecurity/registry/lib/sorts');
|
|
22
|
+
var strings = require('../external/@socketsecurity/registry/lib/strings');
|
|
21
23
|
var path$1 = require('../external/@socketsecurity/registry/lib/path');
|
|
22
24
|
var regexps = require('../external/@socketsecurity/registry/lib/regexps');
|
|
23
25
|
var shadowNpmInject = require('./shadow-npm-inject.js');
|
|
24
26
|
var fs$2 = require('../external/@socketsecurity/registry/lib/fs');
|
|
25
|
-
var strings = require('../external/@socketsecurity/registry/lib/strings');
|
|
26
27
|
var objects = require('../external/@socketsecurity/registry/lib/objects');
|
|
27
|
-
var words = require('../external/@socketsecurity/registry/lib/words');
|
|
28
28
|
var shadowNpmBin = require('./shadow-npm-bin.js');
|
|
29
29
|
var require$$7 = require('../external/@socketsecurity/registry/lib/promises');
|
|
30
30
|
var require$$1 = require('node:util');
|
|
@@ -3638,7 +3638,7 @@ const {
|
|
|
3638
3638
|
RESOLUTIONS: RESOLUTIONS$1,
|
|
3639
3639
|
VLT: VLT$5,
|
|
3640
3640
|
YARN_BERRY: YARN_BERRY$4,
|
|
3641
|
-
YARN_CLASSIC: YARN_CLASSIC$
|
|
3641
|
+
YARN_CLASSIC: YARN_CLASSIC$4
|
|
3642
3642
|
} = constants;
|
|
3643
3643
|
function getOverridesDataBun(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJson.content) {
|
|
3644
3644
|
const overrides = pkgJson?.[RESOLUTIONS$1] ?? {};
|
|
@@ -3690,11 +3690,27 @@ function getOverridesDataYarn(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkg
|
|
|
3690
3690
|
function getOverridesDataYarnClassic(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJson.content) {
|
|
3691
3691
|
const overrides = pkgJson?.[RESOLUTIONS$1] ?? {};
|
|
3692
3692
|
return {
|
|
3693
|
-
type: YARN_CLASSIC$
|
|
3693
|
+
type: YARN_CLASSIC$4,
|
|
3694
3694
|
overrides
|
|
3695
3695
|
};
|
|
3696
3696
|
}
|
|
3697
|
-
|
|
3697
|
+
function getOverridesData(pkgEnvDetails, pkgJson) {
|
|
3698
|
+
switch (pkgEnvDetails.agent) {
|
|
3699
|
+
case BUN$4:
|
|
3700
|
+
return getOverridesDataBun(pkgEnvDetails, pkgJson);
|
|
3701
|
+
case PNPM$8:
|
|
3702
|
+
return getOverridesDataPnpm(pkgEnvDetails, pkgJson);
|
|
3703
|
+
case VLT$5:
|
|
3704
|
+
return getOverridesDataVlt(pkgEnvDetails, pkgJson);
|
|
3705
|
+
case YARN_BERRY$4:
|
|
3706
|
+
return getOverridesDataYarn(pkgEnvDetails, pkgJson);
|
|
3707
|
+
case YARN_CLASSIC$4:
|
|
3708
|
+
return getOverridesDataYarnClassic(pkgEnvDetails, pkgJson);
|
|
3709
|
+
case NPM$8:
|
|
3710
|
+
default:
|
|
3711
|
+
return getOverridesDataNpm(pkgEnvDetails, pkgJson);
|
|
3712
|
+
}
|
|
3713
|
+
}
|
|
3698
3714
|
|
|
3699
3715
|
const noopHandler = () => {};
|
|
3700
3716
|
async function agentFix(pkgEnvDetails, actualTree, alertsMap, installer, {
|
|
@@ -3744,7 +3760,6 @@ async function agentFix(pkgEnvDetails, actualTree, alertsMap, installer, {
|
|
|
3744
3760
|
// Process the workspace root last since it will add an override to package.json.
|
|
3745
3761
|
pkgEnvDetails.editablePkgJson.filename];
|
|
3746
3762
|
const sortedInfoEntries = Array.from(infoByPartialPurl.entries()).sort((a, b) => sorts.naturalCompare(a[0], b[0]));
|
|
3747
|
-
const getOverridesData = overridesDataByAgent.get(pkgEnvDetails.agent);
|
|
3748
3763
|
const cleanupInfoEntriesLoop = () => {
|
|
3749
3764
|
logger.logger.dedent();
|
|
3750
3765
|
spinner?.dedent();
|
|
@@ -3878,10 +3893,16 @@ async function agentFix(pkgEnvDetails, actualTree, alertsMap, installer, {
|
|
|
3878
3893
|
}
|
|
3879
3894
|
continue infosLoop;
|
|
3880
3895
|
}
|
|
3881
|
-
const
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3896
|
+
const {
|
|
3897
|
+
overrides: oldOverrides
|
|
3898
|
+
} = getOverridesData(pkgEnvDetails, editablePkgJson.content);
|
|
3899
|
+
let refRange = oldOverrides?.[`${name}@${vulnerableVersionRange}`];
|
|
3900
|
+
if (!strings.isNonEmptyString(refRange)) {
|
|
3901
|
+
refRange = oldOverrides?.[name];
|
|
3902
|
+
}
|
|
3903
|
+
if (!strings.isNonEmptyString(refRange)) {
|
|
3904
|
+
refRange = oldVersion;
|
|
3905
|
+
}
|
|
3885
3906
|
|
|
3886
3907
|
// eslint-disable-next-line no-await-in-loop
|
|
3887
3908
|
await beforeInstall(editablePkgJson, name, oldVersion, newVersion, vulnerableVersionRange, options);
|
|
@@ -3902,6 +3923,7 @@ async function agentFix(pkgEnvDetails, actualTree, alertsMap, installer, {
|
|
|
3902
3923
|
hasAnnouncedWorkspace = true;
|
|
3903
3924
|
workspaceLogCallCount = logger.logger.logCallCount;
|
|
3904
3925
|
}
|
|
3926
|
+
const newId = `${name}@${utils.applyRange(refRange, newVersion, rangeStyle)}`;
|
|
3905
3927
|
spinner?.start();
|
|
3906
3928
|
spinner?.info(`Installing ${newId} in ${workspace}.`);
|
|
3907
3929
|
let error;
|
|
@@ -4214,9 +4236,24 @@ async function npmFix(pkgEnvDetails, options) {
|
|
|
4214
4236
|
limit: Math.max(limit, openPrs.length)
|
|
4215
4237
|
}));
|
|
4216
4238
|
} else {
|
|
4239
|
+
const npmPath = path.resolve(fs$1.realpathSync(pkgEnvDetails.agentExecPath), '../..');
|
|
4240
|
+
const config = new vendor.libExports$2({
|
|
4241
|
+
argv: [],
|
|
4242
|
+
cwd: process.cwd(),
|
|
4243
|
+
definitions: vendor.definitionsExports.definitions,
|
|
4244
|
+
// Lazily access constants.execPath.
|
|
4245
|
+
execPath: constants.execPath,
|
|
4246
|
+
env: process.env,
|
|
4247
|
+
flatten: vendor.definitionsExports.flatten,
|
|
4248
|
+
npmPath,
|
|
4249
|
+
platform: process.platform,
|
|
4250
|
+
shorthands: vendor.definitionsExports.shorthands
|
|
4251
|
+
});
|
|
4252
|
+
await config.load();
|
|
4217
4253
|
const arb = new shadowNpmInject.Arborist({
|
|
4218
4254
|
path: pkgEnvDetails.pkgPath,
|
|
4219
|
-
...shadowNpmInject.SAFE_ARBORIST_REIFY_OPTIONS_OVERRIDES
|
|
4255
|
+
...shadowNpmInject.SAFE_ARBORIST_REIFY_OPTIONS_OVERRIDES,
|
|
4256
|
+
config
|
|
4220
4257
|
});
|
|
4221
4258
|
actualTree = await arb.reify();
|
|
4222
4259
|
// Calling arb.reify() creates the arb.diff object, nulls-out arb.idealTree,
|
|
@@ -4449,9 +4486,10 @@ const {
|
|
|
4449
4486
|
NPM: NPM$7,
|
|
4450
4487
|
PNPM: PNPM$6
|
|
4451
4488
|
} = constants;
|
|
4452
|
-
async function handleFix({
|
|
4489
|
+
async function handleFix(argv, {
|
|
4453
4490
|
autoMerge,
|
|
4454
4491
|
cwd,
|
|
4492
|
+
ghsas,
|
|
4455
4493
|
limit,
|
|
4456
4494
|
outputKind,
|
|
4457
4495
|
purls,
|
|
@@ -4459,31 +4497,74 @@ async function handleFix({
|
|
|
4459
4497
|
test,
|
|
4460
4498
|
testScript
|
|
4461
4499
|
}) {
|
|
4462
|
-
|
|
4500
|
+
let {
|
|
4501
|
+
length: ghsasCount
|
|
4502
|
+
} = ghsas;
|
|
4503
|
+
if (ghsasCount) {
|
|
4504
|
+
// Lazily access constants.spinner.
|
|
4505
|
+
const {
|
|
4506
|
+
spinner
|
|
4507
|
+
} = constants;
|
|
4508
|
+
spinner.start('Fetching GHSA IDs...');
|
|
4509
|
+
if (ghsasCount === 1 && ghsas[0] === 'auto') {
|
|
4510
|
+
const autoCResult = await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd], {
|
|
4511
|
+
cwd,
|
|
4512
|
+
spinner
|
|
4513
|
+
});
|
|
4514
|
+
if (autoCResult.ok) {
|
|
4515
|
+
ghsas = utils.cmdFlagValueToArray(/(?<=Vulnerabilities found: )[^\n]+/.exec(autoCResult.data)?.[0]);
|
|
4516
|
+
ghsasCount = ghsas.length;
|
|
4517
|
+
} else {
|
|
4518
|
+
ghsas = [];
|
|
4519
|
+
ghsasCount = 0;
|
|
4520
|
+
}
|
|
4521
|
+
}
|
|
4522
|
+
if (ghsasCount) {
|
|
4523
|
+
spinner.info(`Found ${ghsasCount} GHSA ${words.pluralize('ID', ghsasCount)}.`);
|
|
4524
|
+
await outputFixResult(await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd, '--apply-fixes-to', ...ghsas, ...argv], {
|
|
4525
|
+
cwd,
|
|
4526
|
+
spinner
|
|
4527
|
+
}), outputKind);
|
|
4528
|
+
spinner.stop();
|
|
4529
|
+
return;
|
|
4530
|
+
}
|
|
4531
|
+
spinner.infoAndStop('No GHSA IDs found.');
|
|
4532
|
+
await outputFixResult({
|
|
4533
|
+
ok: true,
|
|
4534
|
+
data: ''
|
|
4535
|
+
}, outputKind);
|
|
4536
|
+
return;
|
|
4537
|
+
}
|
|
4538
|
+
const pkgEnvCResult = await utils.detectAndValidatePackageEnvironment(cwd, {
|
|
4463
4539
|
cmdName: CMD_NAME$1,
|
|
4464
4540
|
logger: logger.logger
|
|
4465
4541
|
});
|
|
4466
|
-
if (!
|
|
4467
|
-
|
|
4542
|
+
if (!pkgEnvCResult.ok) {
|
|
4543
|
+
await outputFixResult(pkgEnvCResult, outputKind);
|
|
4544
|
+
return;
|
|
4468
4545
|
}
|
|
4469
|
-
const
|
|
4546
|
+
const {
|
|
4547
|
+
data: pkgEnvDetails
|
|
4548
|
+
} = pkgEnvCResult;
|
|
4470
4549
|
if (!pkgEnvDetails) {
|
|
4471
|
-
|
|
4550
|
+
await outputFixResult({
|
|
4472
4551
|
ok: false,
|
|
4473
|
-
message: 'No package found',
|
|
4474
|
-
cause: `No valid package environment
|
|
4475
|
-
};
|
|
4552
|
+
message: 'No package found.',
|
|
4553
|
+
cause: `No valid package environment found for project path: ${cwd}`
|
|
4554
|
+
}, outputKind);
|
|
4555
|
+
return;
|
|
4476
4556
|
}
|
|
4477
4557
|
logger.logger.info(`Fixing packages for ${pkgEnvDetails.agent} v${pkgEnvDetails.agentVersion}.\n`);
|
|
4478
4558
|
const {
|
|
4479
4559
|
agent
|
|
4480
4560
|
} = pkgEnvDetails;
|
|
4481
4561
|
if (agent !== NPM$7 && agent !== PNPM$6) {
|
|
4482
|
-
|
|
4562
|
+
await outputFixResult({
|
|
4483
4563
|
ok: false,
|
|
4484
|
-
message: 'Not supported',
|
|
4564
|
+
message: 'Not supported.',
|
|
4485
4565
|
cause: `${agent} is not supported by this command at the moment.`
|
|
4486
|
-
};
|
|
4566
|
+
}, outputKind);
|
|
4567
|
+
return;
|
|
4487
4568
|
}
|
|
4488
4569
|
|
|
4489
4570
|
// Lazily access spinner.
|
|
@@ -4491,7 +4572,7 @@ async function handleFix({
|
|
|
4491
4572
|
spinner
|
|
4492
4573
|
} = constants;
|
|
4493
4574
|
const fixer = agent === NPM$7 ? npmFix : pnpmFix;
|
|
4494
|
-
|
|
4575
|
+
await outputFixResult(await fixer(pkgEnvDetails, {
|
|
4495
4576
|
autoMerge,
|
|
4496
4577
|
cwd,
|
|
4497
4578
|
limit,
|
|
@@ -4500,8 +4581,7 @@ async function handleFix({
|
|
|
4500
4581
|
spinner,
|
|
4501
4582
|
test,
|
|
4502
4583
|
testScript
|
|
4503
|
-
});
|
|
4504
|
-
await outputFixResult(result, outputKind);
|
|
4584
|
+
}), outputKind);
|
|
4505
4585
|
}
|
|
4506
4586
|
|
|
4507
4587
|
const {
|
|
@@ -4523,6 +4603,12 @@ const config$H = {
|
|
|
4523
4603
|
default: false,
|
|
4524
4604
|
description: `Shorthand for --autoMerge --test`
|
|
4525
4605
|
},
|
|
4606
|
+
ghsa: {
|
|
4607
|
+
type: 'string',
|
|
4608
|
+
default: [],
|
|
4609
|
+
description: `Provide a list of ${vendor.terminalLinkExports('GHSA IDs', 'https://docs.github.com/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database#about-ghsa-ids')} to compute fixes for, as either a comma separated value or as multiple flags`,
|
|
4610
|
+
isMultiple: true
|
|
4611
|
+
},
|
|
4526
4612
|
limit: {
|
|
4527
4613
|
type: 'number',
|
|
4528
4614
|
default: Infinity,
|
|
@@ -4531,7 +4617,7 @@ const config$H = {
|
|
|
4531
4617
|
purl: {
|
|
4532
4618
|
type: 'string',
|
|
4533
4619
|
default: [],
|
|
4534
|
-
description: `Provide a list of ${vendor.terminalLinkExports('
|
|
4620
|
+
description: `Provide a list of ${vendor.terminalLinkExports('PURLs', 'https://github.com/package-url/purl-spec?tab=readme-ov-file#purl')} to compute fixes for, as either a comma separated value or as multiple flags,\n instead of querying the Socket API`,
|
|
4535
4621
|
isMultiple: true,
|
|
4536
4622
|
shortFlag: 'p'
|
|
4537
4623
|
},
|
|
@@ -4621,12 +4707,14 @@ async function run$H(argv, importMeta, {
|
|
|
4621
4707
|
autoMerge = true;
|
|
4622
4708
|
test = true;
|
|
4623
4709
|
}
|
|
4710
|
+
const ghsas = utils.cmdFlagValueToArray(cli.flags['ghsa']);
|
|
4624
4711
|
const limit = (cli.flags['limit'] ? parseInt(String(cli.flags['limit'] || ''), 10) : Infinity) || Infinity;
|
|
4625
|
-
const purls =
|
|
4712
|
+
const purls = utils.cmdFlagValueToArray(cli.flags['purl']);
|
|
4626
4713
|
const testScript = String(cli.flags['testScript'] || 'test');
|
|
4627
|
-
await handleFix({
|
|
4714
|
+
await handleFix(argv, {
|
|
4628
4715
|
autoMerge,
|
|
4629
4716
|
cwd,
|
|
4717
|
+
ghsas,
|
|
4630
4718
|
limit,
|
|
4631
4719
|
outputKind,
|
|
4632
4720
|
purls,
|
|
@@ -6918,7 +7006,7 @@ const {
|
|
|
6918
7006
|
PNPM: PNPM$4,
|
|
6919
7007
|
VLT: VLT$4,
|
|
6920
7008
|
YARN_BERRY: YARN_BERRY$3,
|
|
6921
|
-
YARN_CLASSIC: YARN_CLASSIC$
|
|
7009
|
+
YARN_CLASSIC: YARN_CLASSIC$3
|
|
6922
7010
|
} = constants;
|
|
6923
7011
|
function matchLsCmdViewHumanStdout(stdout, name) {
|
|
6924
7012
|
return stdout.includes(` ${name}@`);
|
|
@@ -6926,7 +7014,7 @@ function matchLsCmdViewHumanStdout(stdout, name) {
|
|
|
6926
7014
|
function matchQueryCmdStdout(stdout, name) {
|
|
6927
7015
|
return stdout.includes(`"${name}"`);
|
|
6928
7016
|
}
|
|
6929
|
-
const depsIncludesByAgent = new Map([[BUN$3, matchLsCmdViewHumanStdout], [NPM$5, matchQueryCmdStdout], [PNPM$4, matchQueryCmdStdout], [VLT$4, matchQueryCmdStdout], [YARN_BERRY$3, matchLsCmdViewHumanStdout], [YARN_CLASSIC$
|
|
7017
|
+
const depsIncludesByAgent = new Map([[BUN$3, matchLsCmdViewHumanStdout], [NPM$5, matchQueryCmdStdout], [PNPM$4, matchQueryCmdStdout], [VLT$4, matchQueryCmdStdout], [YARN_BERRY$3, matchLsCmdViewHumanStdout], [YARN_CLASSIC$3, matchLsCmdViewHumanStdout]]);
|
|
6930
7018
|
|
|
6931
7019
|
function getDependencyEntries(pkgEnvDetails) {
|
|
6932
7020
|
const {
|
|
@@ -6959,7 +7047,7 @@ const {
|
|
|
6959
7047
|
PNPM: PNPM$3,
|
|
6960
7048
|
VLT: VLT$3,
|
|
6961
7049
|
YARN_BERRY: YARN_BERRY$2,
|
|
6962
|
-
YARN_CLASSIC: YARN_CLASSIC$
|
|
7050
|
+
YARN_CLASSIC: YARN_CLASSIC$2
|
|
6963
7051
|
} = constants;
|
|
6964
7052
|
function includesNpm(lockSrc, name) {
|
|
6965
7053
|
// Detects the package name in the following cases:
|
|
@@ -7001,7 +7089,7 @@ function includesYarn(lockSrc, name) {
|
|
|
7001
7089
|
// , name@
|
|
7002
7090
|
`(?<=(?:^\\s*|,\\s*)"?)${escapedName}(?=@)`, 'm').test(lockSrc);
|
|
7003
7091
|
}
|
|
7004
|
-
const lockfileIncludesByAgent = new Map([[BUN$2, includesBun], [NPM$4, includesNpm], [PNPM$3, includesPnpm], [VLT$3, includesVlt], [YARN_BERRY$2, includesYarn], [YARN_CLASSIC$
|
|
7092
|
+
const lockfileIncludesByAgent = new Map([[BUN$2, includesBun], [NPM$4, includesNpm], [PNPM$3, includesPnpm], [VLT$3, includesVlt], [YARN_BERRY$2, includesYarn], [YARN_CLASSIC$2, includesYarn]]);
|
|
7005
7093
|
|
|
7006
7094
|
const {
|
|
7007
7095
|
BUN: BUN$1,
|
|
@@ -7009,7 +7097,7 @@ const {
|
|
|
7009
7097
|
PNPM: PNPM$2,
|
|
7010
7098
|
VLT: VLT$2,
|
|
7011
7099
|
YARN_BERRY: YARN_BERRY$1,
|
|
7012
|
-
YARN_CLASSIC: YARN_CLASSIC$
|
|
7100
|
+
YARN_CLASSIC: YARN_CLASSIC$1
|
|
7013
7101
|
} = constants;
|
|
7014
7102
|
function cleanupQueryStdout(stdout) {
|
|
7015
7103
|
if (stdout === '') {
|
|
@@ -7138,7 +7226,7 @@ async function lsYarnClassic(pkgEnvDetails, cwd) {
|
|
|
7138
7226
|
} catch {}
|
|
7139
7227
|
return '';
|
|
7140
7228
|
}
|
|
7141
|
-
const lsByAgent = new Map([[BUN$1, lsBun], [NPM$3, lsNpm], [PNPM$2, lsPnpm], [VLT$2, lsVlt], [YARN_BERRY$1, lsYarnBerry], [YARN_CLASSIC$
|
|
7229
|
+
const lsByAgent = new Map([[BUN$1, lsBun], [NPM$3, lsNpm], [PNPM$2, lsPnpm], [VLT$2, lsVlt], [YARN_BERRY$1, lsYarnBerry], [YARN_CLASSIC$1, lsYarnClassic]]);
|
|
7142
7230
|
|
|
7143
7231
|
const CMD_NAME = 'socket optimize';
|
|
7144
7232
|
|
|
@@ -7150,7 +7238,7 @@ const {
|
|
|
7150
7238
|
RESOLUTIONS,
|
|
7151
7239
|
VLT: VLT$1,
|
|
7152
7240
|
YARN_BERRY,
|
|
7153
|
-
YARN_CLASSIC
|
|
7241
|
+
YARN_CLASSIC
|
|
7154
7242
|
} = constants;
|
|
7155
7243
|
const depFields = ['dependencies', 'devDependencies', 'peerDependencies', 'peerDependenciesMeta', 'optionalDependencies', 'bundleDependencies'];
|
|
7156
7244
|
function getEntryIndexes(entries, keys) {
|
|
@@ -7252,12 +7340,11 @@ function updateResolutionsField(pkgEnvDetails, overrides) {
|
|
|
7252
7340
|
function updatePnpmField(pkgEnvDetails, overrides) {
|
|
7253
7341
|
updatePkgJsonField(pkgEnvDetails.editablePkgJson, PNPM$1, overrides);
|
|
7254
7342
|
}
|
|
7255
|
-
const updateManifestByAgent = new Map([[BUN, updateResolutionsField], [NPM$2, updateOverridesField], [PNPM$1, updatePnpmField], [VLT$1, updateOverridesField], [YARN_BERRY, updateResolutionsField], [YARN_CLASSIC
|
|
7343
|
+
const updateManifestByAgent = new Map([[BUN, updateResolutionsField], [NPM$2, updateOverridesField], [PNPM$1, updatePnpmField], [VLT$1, updateOverridesField], [YARN_BERRY, updateResolutionsField], [YARN_CLASSIC, updateResolutionsField]]);
|
|
7256
7344
|
|
|
7257
7345
|
const {
|
|
7258
7346
|
NPM: NPM$1,
|
|
7259
|
-
PNPM
|
|
7260
|
-
YARN_CLASSIC
|
|
7347
|
+
PNPM
|
|
7261
7348
|
} = constants;
|
|
7262
7349
|
const manifestNpmOverrides = registry.getManifestData(NPM$1);
|
|
7263
7350
|
async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
@@ -7297,9 +7384,9 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
|
|
|
7297
7384
|
}
|
|
7298
7385
|
const overridesDataObjects = [];
|
|
7299
7386
|
if (isWorkspace || pkgEnvDetails.editablePkgJson.content['private']) {
|
|
7300
|
-
overridesDataObjects.push(
|
|
7387
|
+
overridesDataObjects.push(getOverridesData(pkgEnvDetails));
|
|
7301
7388
|
} else {
|
|
7302
|
-
overridesDataObjects.push(
|
|
7389
|
+
overridesDataObjects.push(getOverridesDataNpm(pkgEnvDetails), getOverridesDataYarnClassic(pkgEnvDetails));
|
|
7303
7390
|
}
|
|
7304
7391
|
spinner?.setText(`Adding overrides to ${workspace}...`);
|
|
7305
7392
|
const depAliasMap = new Map();
|
|
@@ -8770,7 +8857,7 @@ function formatReportCard(artifact, color) {
|
|
|
8770
8857
|
};
|
|
8771
8858
|
const alertString = getAlertString(artifact.alerts, !color);
|
|
8772
8859
|
if (!artifact.ecosystem) {
|
|
8773
|
-
|
|
8860
|
+
debug.debugLog('miss: Artifact ecosystem', artifact);
|
|
8774
8861
|
}
|
|
8775
8862
|
const purl = `pkg:${artifact.ecosystem}/${artifact.name}${artifact.version ? '@' + artifact.version : ''}`;
|
|
8776
8863
|
return ['Package: ' + (color ? vendor.yoctocolorsCjsExports.bold(purl) : purl), '', ...Object.entries(scoreResult).map(score => `- ${score[0]}:`.padEnd(20, ' ') + ` ${formatScore(score[1], !color, true)}`), alertString].join('\n');
|
|
@@ -12198,7 +12285,7 @@ async function run$7(argv, importMeta, {
|
|
|
12198
12285
|
await handleOrgScanMetadata(orgSlug, scanId, outputKind);
|
|
12199
12286
|
}
|
|
12200
12287
|
|
|
12201
|
-
async function outputScanReach(result,
|
|
12288
|
+
async function outputScanReach(result, outputKind) {
|
|
12202
12289
|
if (!result.ok) {
|
|
12203
12290
|
process.exitCode = result.code ?? 1;
|
|
12204
12291
|
}
|
|
@@ -12210,42 +12297,25 @@ async function outputScanReach(result, cwd, outputKind) {
|
|
|
12210
12297
|
logger.logger.fail(utils.failMsgWithBadge(result.message, result.cause));
|
|
12211
12298
|
return;
|
|
12212
12299
|
}
|
|
12213
|
-
logger.logger.
|
|
12300
|
+
logger.logger.log('');
|
|
12301
|
+
logger.logger.success('Finished!');
|
|
12214
12302
|
}
|
|
12215
12303
|
|
|
12216
12304
|
const {
|
|
12217
12305
|
DOT_SOCKET_DOT_FACTS_JSON
|
|
12218
12306
|
} = constants;
|
|
12219
|
-
async function scanReachability(argv, cwd) {
|
|
12220
|
-
try {
|
|
12221
|
-
const result = await spawn.spawn(constants.execPath, [
|
|
12222
|
-
// Lazily access constants.nodeNoWarningsFlags.
|
|
12223
|
-
...constants.nodeNoWarningsFlags,
|
|
12224
|
-
// Lazily access constants.coanaBinPath.
|
|
12225
|
-
constants.coanaBinPath, 'run', cwd, '--output-dir', cwd, '--socket-mode', DOT_SOCKET_DOT_FACTS_JSON, '--disable-report-submission', ...argv], {
|
|
12226
|
-
cwd,
|
|
12227
|
-
env: {
|
|
12228
|
-
...process.env,
|
|
12229
|
-
SOCKET_CLI_API_TOKEN: utils.getDefaultToken()
|
|
12230
|
-
}
|
|
12231
|
-
});
|
|
12232
|
-
return {
|
|
12233
|
-
ok: true,
|
|
12234
|
-
data: result.stdout.trim()
|
|
12235
|
-
};
|
|
12236
|
-
} catch (e) {
|
|
12237
|
-
const message = e?.stdout ?? e?.message;
|
|
12238
|
-
return {
|
|
12239
|
-
ok: false,
|
|
12240
|
-
data: e,
|
|
12241
|
-
message
|
|
12242
|
-
};
|
|
12243
|
-
}
|
|
12244
|
-
}
|
|
12245
|
-
|
|
12246
12307
|
async function handleScanReach(argv, cwd, outputKind) {
|
|
12247
|
-
|
|
12248
|
-
|
|
12308
|
+
// Lazily access constants.spinner.
|
|
12309
|
+
const {
|
|
12310
|
+
spinner
|
|
12311
|
+
} = constants;
|
|
12312
|
+
spinner.start('Running reachability scan...');
|
|
12313
|
+
const result = await utils.spawnCoana(['run', cwd, '--output-dir', cwd, '--socket-mode', DOT_SOCKET_DOT_FACTS_JSON, '--disable-report-submission', ...argv], {
|
|
12314
|
+
cwd,
|
|
12315
|
+
spinner
|
|
12316
|
+
});
|
|
12317
|
+
spinner.stop();
|
|
12318
|
+
await outputScanReach(result, outputKind);
|
|
12249
12319
|
}
|
|
12250
12320
|
|
|
12251
12321
|
const {
|
|
@@ -14070,5 +14140,5 @@ void (async () => {
|
|
|
14070
14140
|
await utils.captureException(e);
|
|
14071
14141
|
}
|
|
14072
14142
|
})();
|
|
14073
|
-
//# debugId=
|
|
14143
|
+
//# debugId=7eb55598-7509-4018-b34f-5184fd83870f
|
|
14074
14144
|
//# sourceMappingURL=cli.js.map
|