socket 0.14.26 → 0.14.28
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/README.md +25 -14
- package/dist/cli.js +360 -302
- package/dist/{chalk-markdown.d.ts → color-or-markdown.d.ts} +2 -2
- package/dist/npm-injection.js +248 -44
- package/dist/sdk.js +37 -36
- package/dist/vendor.js +275 -1515
- package/package.json +32 -35
package/dist/cli.js
CHANGED
|
@@ -4,15 +4,18 @@
|
|
|
4
4
|
var vendor = require('./vendor.js');
|
|
5
5
|
var require$$1 = require('node:path');
|
|
6
6
|
var require$$8$2 = require('node:url');
|
|
7
|
+
var require$$1$2 = require('yoctocolors-cjs');
|
|
7
8
|
var require$$5$1 = require('pony-cause');
|
|
8
9
|
var require$$0 = require('node:fs');
|
|
9
10
|
var require$$1$1 = require('@npmcli/promise-spawn');
|
|
10
|
-
var require$$
|
|
11
|
+
var require$$4 = require('yargs-parser');
|
|
12
|
+
var require$$5 = require('@socketsecurity/registry/lib/words');
|
|
13
|
+
var require$$3 = require('@socketregistry/yocto-spinner');
|
|
11
14
|
var sdk = require('./sdk.js');
|
|
12
|
-
var require$$1$
|
|
13
|
-
var require$$1$
|
|
15
|
+
var require$$1$3 = require('@inquirer/prompts');
|
|
16
|
+
var require$$1$4 = require('node:fs/promises');
|
|
14
17
|
var require$$5$3 = require('npm-package-arg');
|
|
15
|
-
var require$$3 = require('semver');
|
|
18
|
+
var require$$3$1 = require('semver');
|
|
16
19
|
var require$$8$1 = require('tinyglobby');
|
|
17
20
|
var require$$9$1 = require('yaml');
|
|
18
21
|
var require$$10 = require('@socketsecurity/registry');
|
|
@@ -22,20 +25,23 @@ var require$$13 = require('@socketsecurity/registry/lib/promises');
|
|
|
22
25
|
var require$$14 = require('@socketsecurity/registry/lib/regexps');
|
|
23
26
|
var require$$9 = require('@socketsecurity/registry/lib/strings');
|
|
24
27
|
var require$$2 = require('browserslist');
|
|
25
|
-
var require$$4 = require('which');
|
|
28
|
+
var require$$4$1 = require('which');
|
|
26
29
|
var require$$5$2 = require('@socketregistry/hyrious__bun.lockb');
|
|
27
30
|
var require$$6 = require('@socketsecurity/registry/lib/constants');
|
|
28
31
|
var require$$2$1 = require('@apideck/better-ajv-errors');
|
|
29
32
|
var require$$6$1 = require('@socketsecurity/config');
|
|
30
33
|
var pathResolve = require('./path-resolve.js');
|
|
31
|
-
var require$$1$
|
|
32
|
-
var require$$3$
|
|
34
|
+
var require$$1$5 = require('node:os');
|
|
35
|
+
var require$$3$2 = require('node:readline');
|
|
33
36
|
var require$$0$1 = require('node:process');
|
|
34
37
|
var require$$2$2 = require('node:readline/promises');
|
|
35
38
|
var require$$2$3 = require('chalk-table');
|
|
36
|
-
var require$$2$4 = require('blessed');
|
|
37
|
-
var require$$3$
|
|
39
|
+
var require$$2$4 = require('blessed/lib/widgets/screen');
|
|
40
|
+
var require$$3$3 = require('blessed-contrib/lib/widget/charts/bar');
|
|
41
|
+
var require$$4$2 = require('blessed-contrib/lib/layout/grid');
|
|
42
|
+
var require$$5$4 = require('blessed-contrib/lib/widget/charts/line');
|
|
38
43
|
var require$$0$2 = require('node:util');
|
|
44
|
+
var require$$2$5 = require('blessed-contrib/lib/widget/table');
|
|
39
45
|
|
|
40
46
|
var cli$1 = {};
|
|
41
47
|
|
|
@@ -45,7 +51,6 @@ var commands = {};
|
|
|
45
51
|
|
|
46
52
|
var cdxgen = {};
|
|
47
53
|
|
|
48
|
-
var _interopRequireDefault$s = vendor.interopRequireDefault.default;
|
|
49
54
|
Object.defineProperty(cdxgen, "__esModule", {
|
|
50
55
|
value: true
|
|
51
56
|
});
|
|
@@ -53,8 +58,9 @@ cdxgen.cdxgen = void 0;
|
|
|
53
58
|
var _nodeFs$3 = require$$0;
|
|
54
59
|
var _nodePath$7 = require$$1;
|
|
55
60
|
var _promiseSpawn$6 = require$$1$1;
|
|
56
|
-
var
|
|
57
|
-
var _yargsParser = require$$
|
|
61
|
+
var _yoctocolorsCjs$j = require$$1$2;
|
|
62
|
+
var _yargsParser = require$$4;
|
|
63
|
+
var _words$1 = require$$5;
|
|
58
64
|
const distPath$4 = __dirname;
|
|
59
65
|
const {
|
|
60
66
|
execPath
|
|
@@ -72,7 +78,7 @@ const {
|
|
|
72
78
|
} = process.env;
|
|
73
79
|
const toLower = arg => arg.toLowerCase();
|
|
74
80
|
const arrayToLower = arg => arg.map(toLower);
|
|
75
|
-
const nodejsPlatformTypes = ['javascript', 'js', 'nodejs', 'npm', 'pnpm', 'ts', 'tsx', 'typescript'];
|
|
81
|
+
const nodejsPlatformTypes = new Set(['javascript', 'js', 'nodejs', 'npm', 'pnpm', 'ts', 'tsx', 'typescript']);
|
|
76
82
|
const yargsConfig = {
|
|
77
83
|
configuration: {
|
|
78
84
|
'camel-case-expansion': false,
|
|
@@ -176,12 +182,12 @@ cdxgen.cdxgen = {
|
|
|
176
182
|
length: unknownLength
|
|
177
183
|
} = unknown;
|
|
178
184
|
if (unknownLength) {
|
|
179
|
-
console.error(`Unknown
|
|
185
|
+
console.error(`Unknown ${(0, _words$1.pluralize)('argument', unknownLength)}: ${yargv._.join(', ')}`);
|
|
180
186
|
process.exitCode = 1;
|
|
181
187
|
return;
|
|
182
188
|
}
|
|
183
189
|
let cleanupPackageLock = false;
|
|
184
|
-
if (yargv.type !== 'yarn' && nodejsPlatformTypes.
|
|
190
|
+
if (yargv.type !== 'yarn' && nodejsPlatformTypes.has(yargv.type) && (0, _nodeFs$3.existsSync)('./yarn.lock')) {
|
|
185
191
|
if ((0, _nodeFs$3.existsSync)('./package-lock.json')) {
|
|
186
192
|
yargv.type = 'npm';
|
|
187
193
|
} else {
|
|
@@ -216,7 +222,7 @@ cdxgen.cdxgen = {
|
|
|
216
222
|
}
|
|
217
223
|
const fullOutputPath = _nodePath$7.join(process.cwd(), yargv.output);
|
|
218
224
|
if ((0, _nodeFs$3.existsSync)(fullOutputPath)) {
|
|
219
|
-
console.log(
|
|
225
|
+
console.log(_yoctocolorsCjs$j.cyanBright(`${yargv.output} created!`));
|
|
220
226
|
}
|
|
221
227
|
}
|
|
222
228
|
};
|
|
@@ -278,7 +284,6 @@ flags$1.validationFlags = {
|
|
|
278
284
|
|
|
279
285
|
var apiHelpers = {};
|
|
280
286
|
|
|
281
|
-
var _interopRequireDefault$r = vendor.interopRequireDefault.default;
|
|
282
287
|
Object.defineProperty(apiHelpers, "__esModule", {
|
|
283
288
|
value: true
|
|
284
289
|
});
|
|
@@ -286,7 +291,7 @@ apiHelpers.handleAPIError = handleAPIError;
|
|
|
286
291
|
apiHelpers.handleApiCall = handleApiCall;
|
|
287
292
|
apiHelpers.handleUnsuccessfulApiResponse = handleUnsuccessfulApiResponse;
|
|
288
293
|
apiHelpers.queryAPI = queryAPI;
|
|
289
|
-
var
|
|
294
|
+
var _yoctocolorsCjs$i = require$$1$2;
|
|
290
295
|
var _ponyCause$4 = require$$5$1;
|
|
291
296
|
var _errors$l = sdk.errors;
|
|
292
297
|
var _constants$1 = sdk.constants;
|
|
@@ -297,7 +302,7 @@ function handleUnsuccessfulApiResponse(_name, result, spinner) {
|
|
|
297
302
|
spinner.stop();
|
|
298
303
|
throw new _errors$l.AuthError(message);
|
|
299
304
|
}
|
|
300
|
-
spinner.
|
|
305
|
+
spinner.error(`${_yoctocolorsCjs$i.bgRed(_yoctocolorsCjs$i.white('API returned an error:'))} ${message}`);
|
|
301
306
|
process.exit(1);
|
|
302
307
|
}
|
|
303
308
|
async function handleApiCall(value, description) {
|
|
@@ -435,12 +440,12 @@ Object.defineProperty(info$1, "__esModule", {
|
|
|
435
440
|
value: true
|
|
436
441
|
});
|
|
437
442
|
info$1.info = void 0;
|
|
438
|
-
var
|
|
443
|
+
var _yoctocolorsCjs$h = require$$1$2;
|
|
439
444
|
var _meow$p = _interopRequireDefault$q(vendor.build);
|
|
440
|
-
var
|
|
445
|
+
var _yoctoSpinner$l = require$$3;
|
|
441
446
|
var _flags$k = flags$1;
|
|
442
447
|
var _apiHelpers$i = apiHelpers;
|
|
443
|
-
var
|
|
448
|
+
var _colorOrMarkdown$3 = sdk.colorOrMarkdown;
|
|
444
449
|
var _errors$k = sdk.errors;
|
|
445
450
|
var _formatIssues$1 = formatIssues;
|
|
446
451
|
var _formatting$m = formatting;
|
|
@@ -454,8 +459,10 @@ const info = info$1.info = {
|
|
|
454
459
|
const name = parentName + ' info';
|
|
455
460
|
const commandContext = setupCommand$m(name, info.description, argv, importMeta);
|
|
456
461
|
if (commandContext) {
|
|
457
|
-
const spinnerText = commandContext.pkgVersion === 'latest' ? `Looking up data for the latest version of ${commandContext.pkgName}
|
|
458
|
-
const spinner =
|
|
462
|
+
const spinnerText = commandContext.pkgVersion === 'latest' ? `Looking up data for the latest version of ${commandContext.pkgName}` : `Looking up data for version ${commandContext.pkgVersion} of ${commandContext.pkgName}`;
|
|
463
|
+
const spinner = _yoctoSpinner$l({
|
|
464
|
+
text: spinnerText
|
|
465
|
+
}).start();
|
|
459
466
|
const packageData = await fetchPackageData(commandContext.pkgName, commandContext.pkgVersion, commandContext, spinner);
|
|
460
467
|
if (packageData) {
|
|
461
468
|
formatPackageDataOutput(packageData, {
|
|
@@ -560,28 +567,27 @@ function formatPackageDataOutput({
|
|
|
560
567
|
License: Math.floor(score.license.score * 100)
|
|
561
568
|
};
|
|
562
569
|
Object.entries(scoreResult).map(score => console.log(`- ${score[0]}: ${formatScore(score[1])}`));
|
|
570
|
+
console.log('\n');
|
|
563
571
|
if ((0, _objects$3.objectSome)(severityCount)) {
|
|
564
|
-
|
|
565
|
-
console.log('\n');
|
|
566
|
-
spinner[strict ? 'fail' : 'succeed'](`Package has these issues: ${issueSummary}`);
|
|
572
|
+
spinner[strict ? 'error' : 'success'](`Package has these issues: ${(0, _formatIssues$1.formatSeverityCount)(severityCount)}`);
|
|
567
573
|
formatPackageIssuesDetails(data, outputMarkdown);
|
|
568
574
|
} else {
|
|
569
|
-
|
|
570
|
-
spinner.succeed('Package has no issues');
|
|
575
|
+
spinner.success('Package has no issues');
|
|
571
576
|
}
|
|
572
|
-
const format = new
|
|
577
|
+
const format = new _colorOrMarkdown$3.ColorOrMarkdown(!!outputMarkdown);
|
|
573
578
|
const url = `https://socket.dev/npm/package/${pkgName}/overview/${pkgVersion}`;
|
|
579
|
+
console.log('\n');
|
|
574
580
|
if (pkgVersion === 'latest') {
|
|
575
|
-
console.log(
|
|
581
|
+
console.log(`Detailed info on socket.dev: ${format.hyperlink(`${pkgName}`, url, {
|
|
576
582
|
fallbackToUrl: true
|
|
577
|
-
}));
|
|
583
|
+
})}`);
|
|
578
584
|
} else {
|
|
579
|
-
console.log(
|
|
585
|
+
console.log(`Detailed info on socket.dev: ${format.hyperlink(`${pkgName} v${pkgVersion}`, url, {
|
|
580
586
|
fallbackToUrl: true
|
|
581
|
-
}));
|
|
587
|
+
})}`);
|
|
582
588
|
}
|
|
583
589
|
if (!outputMarkdown) {
|
|
584
|
-
console.log(
|
|
590
|
+
console.log(_yoctocolorsCjs$h.dim(`\nOr rerun ${_yoctocolorsCjs$h.italic(name)} using the ${_yoctocolorsCjs$h.italic('--json')} flag to get full JSON output`));
|
|
585
591
|
}
|
|
586
592
|
}
|
|
587
593
|
if (strict && (0, _objects$3.objectSome)(severityCount)) {
|
|
@@ -606,7 +612,7 @@ function formatPackageIssuesDetails(packageData, outputMarkdown) {
|
|
|
606
612
|
}
|
|
607
613
|
return acc;
|
|
608
614
|
}, {});
|
|
609
|
-
const format = new
|
|
615
|
+
const format = new _colorOrMarkdown$3.ColorOrMarkdown(!!outputMarkdown);
|
|
610
616
|
for (const issue of Object.keys(uniqueIssues)) {
|
|
611
617
|
const issueWithLink = format.hyperlink(`${uniqueIssues[issue]?.label}`, `https://socket.dev/npm/issue/${issue}`, {
|
|
612
618
|
fallbackToUrl: true
|
|
@@ -619,15 +625,12 @@ function formatPackageIssuesDetails(packageData, outputMarkdown) {
|
|
|
619
625
|
}
|
|
620
626
|
}
|
|
621
627
|
function formatScore(score) {
|
|
622
|
-
const error = _chalk$h.default.hex('#de7c7b');
|
|
623
|
-
const warning = _chalk$h.default.hex('#e59361');
|
|
624
|
-
const success = _chalk$h.default.hex('#a4cb9d');
|
|
625
628
|
if (score > 80) {
|
|
626
|
-
return `${
|
|
629
|
+
return _yoctocolorsCjs$h.green(`${score}`);
|
|
627
630
|
} else if (score < 80 && score > 60) {
|
|
628
|
-
return `${
|
|
631
|
+
return _yoctocolorsCjs$h.yellow(`${score}`);
|
|
629
632
|
}
|
|
630
|
-
return `${
|
|
633
|
+
return _yoctocolorsCjs$h.red(`${score}`);
|
|
631
634
|
}
|
|
632
635
|
|
|
633
636
|
var login = {};
|
|
@@ -637,10 +640,10 @@ Object.defineProperty(login, "__esModule", {
|
|
|
637
640
|
value: true
|
|
638
641
|
});
|
|
639
642
|
login.login = void 0;
|
|
640
|
-
var _prompts$1 = require$$1$
|
|
643
|
+
var _prompts$1 = require$$1$3;
|
|
641
644
|
var _isInteractive = _interopRequireDefault$p(vendor.isInteractive);
|
|
642
645
|
var _meow$o = _interopRequireDefault$p(vendor.build);
|
|
643
|
-
var
|
|
646
|
+
var _yoctoSpinner$k = require$$3;
|
|
644
647
|
var _terminalLink = _interopRequireDefault$p(vendor.terminalLink);
|
|
645
648
|
var _errors$j = sdk.errors;
|
|
646
649
|
var _formatting$l = formatting;
|
|
@@ -704,7 +707,9 @@ login.login = {
|
|
|
704
707
|
apiBaseUrl ??= (0, _settings$1.getSetting)('apiBaseUrl') ?? undefined;
|
|
705
708
|
let apiProxy = cli.flags['apiProxy'];
|
|
706
709
|
apiProxy ??= (0, _settings$1.getSetting)('apiProxy') ?? undefined;
|
|
707
|
-
const spinner =
|
|
710
|
+
const spinner = _yoctoSpinner$k({
|
|
711
|
+
text: 'Verifying API key...'
|
|
712
|
+
}).start();
|
|
708
713
|
let orgs;
|
|
709
714
|
try {
|
|
710
715
|
const sdk = await (0, _sdk$i.setupSdk)(apiKey, apiBaseUrl, apiProxy);
|
|
@@ -713,9 +718,9 @@ login.login = {
|
|
|
713
718
|
throw new _errors$j.AuthError();
|
|
714
719
|
}
|
|
715
720
|
orgs = result.data;
|
|
716
|
-
spinner.
|
|
721
|
+
spinner.success('API key verified');
|
|
717
722
|
} catch {
|
|
718
|
-
spinner.
|
|
723
|
+
spinner.error('Invalid API key');
|
|
719
724
|
return;
|
|
720
725
|
}
|
|
721
726
|
const enforcedChoices = Object.values(orgs.organizations).filter(nonNullish).filter(org => org.plan === 'enterprise').map(org => ({
|
|
@@ -752,7 +757,7 @@ login.login = {
|
|
|
752
757
|
(0, _settings$1.updateSetting)('apiKey', apiKey);
|
|
753
758
|
(0, _settings$1.updateSetting)('apiBaseUrl', apiBaseUrl);
|
|
754
759
|
(0, _settings$1.updateSetting)('apiProxy', apiProxy);
|
|
755
|
-
spinner.
|
|
760
|
+
spinner.success(`API credentials ${oldKey ? 'updated' : 'set'}`);
|
|
756
761
|
}
|
|
757
762
|
};
|
|
758
763
|
|
|
@@ -764,7 +769,7 @@ Object.defineProperty(logout, "__esModule", {
|
|
|
764
769
|
});
|
|
765
770
|
logout.logout = void 0;
|
|
766
771
|
var _meow$n = _interopRequireDefault$o(vendor.build);
|
|
767
|
-
var
|
|
772
|
+
var _yoctoSpinner$j = require$$3;
|
|
768
773
|
var _settings = sdk.settings;
|
|
769
774
|
const description$6 = 'Socket API logout';
|
|
770
775
|
logout.logout = {
|
|
@@ -798,7 +803,7 @@ logout.logout = {
|
|
|
798
803
|
(0, _settings.updateSetting)('apiBaseUrl', null);
|
|
799
804
|
(0, _settings.updateSetting)('apiProxy', null);
|
|
800
805
|
(0, _settings.updateSetting)('enforcedOrgs', null);
|
|
801
|
-
|
|
806
|
+
_yoctoSpinner$j().success('Successfully logged out');
|
|
802
807
|
}
|
|
803
808
|
};
|
|
804
809
|
|
|
@@ -925,8 +930,8 @@ packageManagerDetector.detect = detect;
|
|
|
925
930
|
var _nodePath$3 = require$$1;
|
|
926
931
|
var _promiseSpawn$3 = require$$1$1;
|
|
927
932
|
var _browserslist = require$$2;
|
|
928
|
-
var _semver$1 = require$$3;
|
|
929
|
-
var _which = require$$4;
|
|
933
|
+
var _semver$1 = require$$3$1;
|
|
934
|
+
var _which = require$$4$1;
|
|
930
935
|
var _hyrious__bun = require$$5$2;
|
|
931
936
|
var _constants = require$$6;
|
|
932
937
|
var _objects$2 = require$$7;
|
|
@@ -935,7 +940,7 @@ var _strings$1 = require$$9;
|
|
|
935
940
|
var _fs$1 = fs;
|
|
936
941
|
const AGENTS = packageManagerDetector.AGENTS = ['bun', 'npm', 'pnpm', 'yarn/berry', 'yarn/classic', 'vlt'];
|
|
937
942
|
const {
|
|
938
|
-
compare:
|
|
943
|
+
compare: alphanumericComparator
|
|
939
944
|
} = new Intl.Collator(undefined, {
|
|
940
945
|
numeric: true,
|
|
941
946
|
sensitivity: 'base'
|
|
@@ -1076,7 +1081,7 @@ async function detect({
|
|
|
1076
1081
|
}
|
|
1077
1082
|
const browserslistQuery = pkgJson['browserslist'];
|
|
1078
1083
|
if (Array.isArray(browserslistQuery)) {
|
|
1079
|
-
const browserslistTargets = _browserslist(browserslistQuery).map(s => s.toLowerCase()).sort(
|
|
1084
|
+
const browserslistTargets = _browserslist(browserslistQuery).map(s => s.toLowerCase()).sort(alphanumericComparator);
|
|
1080
1085
|
const browserslistNodeTargets = browserslistTargets.filter(v => v.startsWith('node ')).map(v => v.slice(5 /*'node '.length*/));
|
|
1081
1086
|
if (!targets.browser && browserslistTargets.length) {
|
|
1082
1087
|
targets.browser = browserslistTargets.length !== browserslistNodeTargets.length;
|
|
@@ -1114,13 +1119,13 @@ Object.defineProperty(optimize$1, "__esModule", {
|
|
|
1114
1119
|
value: true
|
|
1115
1120
|
});
|
|
1116
1121
|
optimize$1.optimize = void 0;
|
|
1117
|
-
var _promises$2 = require$$1$
|
|
1122
|
+
var _promises$2 = require$$1$4;
|
|
1118
1123
|
var _nodePath$2 = require$$1;
|
|
1119
1124
|
var _promiseSpawn$2 = require$$1$1;
|
|
1120
1125
|
var _meow$m = _interopRequireDefault$n(vendor.build);
|
|
1121
1126
|
var _npmPackageArg = require$$5$3;
|
|
1122
|
-
var
|
|
1123
|
-
var _semver = require$$3;
|
|
1127
|
+
var _yoctoSpinner$i = require$$3;
|
|
1128
|
+
var _semver = require$$3$1;
|
|
1124
1129
|
var _tinyglobby = require$$8$1;
|
|
1125
1130
|
var _yaml = require$$9$1;
|
|
1126
1131
|
var _registry = require$$10;
|
|
@@ -1129,6 +1134,7 @@ var _packages = require$$8;
|
|
|
1129
1134
|
var _promises2 = require$$13;
|
|
1130
1135
|
var _regexps = require$$14;
|
|
1131
1136
|
var _strings = require$$9;
|
|
1137
|
+
var _words = require$$5;
|
|
1132
1138
|
var _flags$j = flags$1;
|
|
1133
1139
|
var _formatting$k = formatting;
|
|
1134
1140
|
var _fs = fs;
|
|
@@ -1246,11 +1252,28 @@ const updateManifestByAgent = (() => {
|
|
|
1246
1252
|
if (oldValue) {
|
|
1247
1253
|
// The field already exists so we simply update the field value.
|
|
1248
1254
|
if (field === PNPM_FIELD_NAME) {
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1255
|
+
if ((0, _objects$1.hasKeys)(value)) {
|
|
1256
|
+
editablePkgJson.update({
|
|
1257
|
+
[field]: {
|
|
1258
|
+
...((0, _objects$1.isObject)(oldValue) ? oldValue : {}),
|
|
1259
|
+
overrides: value
|
|
1260
|
+
}
|
|
1261
|
+
});
|
|
1262
|
+
} else {
|
|
1263
|
+
// Properties with undefined values are omitted when saved as JSON.
|
|
1264
|
+
editablePkgJson.update((0, _objects$1.hasKeys)(pkgJson[field]) ? {
|
|
1265
|
+
[field]: {
|
|
1266
|
+
...((0, _objects$1.isObject)(oldValue) ? oldValue : {}),
|
|
1267
|
+
overrides: undefined
|
|
1268
|
+
}
|
|
1269
|
+
} : {
|
|
1270
|
+
[field]: undefined
|
|
1271
|
+
});
|
|
1272
|
+
}
|
|
1273
|
+
} else if (field === OVERRIDES_FIELD_NAME || field === RESOLUTIONS_FIELD_NAME) {
|
|
1274
|
+
// Properties with undefined values are omitted when saved as JSON.
|
|
1275
|
+
editablePkgJson.update({
|
|
1276
|
+
[field]: (0, _objects$1.hasKeys)(value) ? value : undefined
|
|
1254
1277
|
});
|
|
1255
1278
|
} else {
|
|
1256
1279
|
editablePkgJson.update({
|
|
@@ -1259,6 +1282,9 @@ const updateManifestByAgent = (() => {
|
|
|
1259
1282
|
}
|
|
1260
1283
|
return;
|
|
1261
1284
|
}
|
|
1285
|
+
if ((field === OVERRIDES_FIELD_NAME || field === PNPM_FIELD_NAME || field === RESOLUTIONS_FIELD_NAME) && !(0, _objects$1.hasKeys)(value)) {
|
|
1286
|
+
return;
|
|
1287
|
+
}
|
|
1262
1288
|
// Since the field doesn't exist we want to insert it into the package.json
|
|
1263
1289
|
// in a place that makes sense, e.g. close to the "dependencies" field. If
|
|
1264
1290
|
// we can't find a place to insert the field we'll add it to the bottom.
|
|
@@ -1450,7 +1476,7 @@ const depsIncludesByAgent = (() => {
|
|
|
1450
1476
|
};
|
|
1451
1477
|
})();
|
|
1452
1478
|
function createActionMessage(verb, overrideCount, workspaceCount) {
|
|
1453
|
-
return `${verb} ${overrideCount} Socket.dev optimized overrides${workspaceCount ? ` in ${workspaceCount}
|
|
1479
|
+
return `${verb} ${overrideCount} Socket.dev optimized overrides${workspaceCount ? ` in ${workspaceCount} ${(0, _words.pluralize)('workspace', workspaceCount)}` : ''}`;
|
|
1454
1480
|
}
|
|
1455
1481
|
function getDependencyEntries(pkgJson) {
|
|
1456
1482
|
const {
|
|
@@ -1554,7 +1580,7 @@ async function addOverrides({
|
|
|
1554
1580
|
const isWorkspace = !!workspaceGlobs;
|
|
1555
1581
|
if (isWorkspace && agent === 'pnpm' && npmExecPath === 'npm' && !state.warnedPnpmWorkspaceRequiresNpm) {
|
|
1556
1582
|
state.warnedPnpmWorkspaceRequiresNpm = true;
|
|
1557
|
-
console.
|
|
1583
|
+
console.warn(`⚠️ ${COMMAND_TITLE}: pnpm workspace support requires \`npm ls\`, falling back to \`pnpm list\``);
|
|
1558
1584
|
}
|
|
1559
1585
|
const thingToScan = isLockScanned ? lockSrc : await lsByAgent[agent](agentExecPath, pkgPath, {
|
|
1560
1586
|
npmExecPath
|
|
@@ -1597,7 +1623,9 @@ async function addOverrides({
|
|
|
1597
1623
|
pkgSpec = `${regSpecStartsLike}^${version}`;
|
|
1598
1624
|
depObj[origPkgName] = pkgSpec;
|
|
1599
1625
|
state.added.add(regPkgName);
|
|
1600
|
-
|
|
1626
|
+
if (workspaceName) {
|
|
1627
|
+
state.addedInWorkspaces.add(workspaceName);
|
|
1628
|
+
}
|
|
1601
1629
|
}
|
|
1602
1630
|
depAliasMap.set(origPkgName, {
|
|
1603
1631
|
id: pkgSpec,
|
|
@@ -1605,50 +1633,51 @@ async function addOverrides({
|
|
|
1605
1633
|
});
|
|
1606
1634
|
}
|
|
1607
1635
|
}
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
if (
|
|
1633
|
-
|
|
1636
|
+
if (isRoot) {
|
|
1637
|
+
// Chunk package names to process them in parallel 3 at a time.
|
|
1638
|
+
await (0, _promises2.pEach)(overridesDataObjects, 3, async ({
|
|
1639
|
+
overrides,
|
|
1640
|
+
type
|
|
1641
|
+
}) => {
|
|
1642
|
+
const overrideExists = (0, _objects$1.hasOwn)(overrides, origPkgName);
|
|
1643
|
+
if (overrideExists || thingScanner(thingToScan, origPkgName)) {
|
|
1644
|
+
const oldSpec = overrideExists ? overrides[origPkgName] : undefined;
|
|
1645
|
+
const depAlias = depAliasMap.get(origPkgName);
|
|
1646
|
+
const regSpecStartsLike = `npm:${regPkgName}@`;
|
|
1647
|
+
let newSpec = `${regSpecStartsLike}^${pin ? version : major}`;
|
|
1648
|
+
let thisVersion = version;
|
|
1649
|
+
if (depAlias && type === 'npm') {
|
|
1650
|
+
// With npm one may not set an override for a package that one directly
|
|
1651
|
+
// depends on unless both the dependency and the override itself share
|
|
1652
|
+
// the exact same spec. To make this limitation easier to deal with,
|
|
1653
|
+
// overrides may also be defined as a reference to a spec for a direct
|
|
1654
|
+
// dependency by prefixing the name of the package to match the version
|
|
1655
|
+
// of with a $.
|
|
1656
|
+
// https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
|
|
1657
|
+
newSpec = `$${origPkgName}`;
|
|
1658
|
+
} else if (overrideExists) {
|
|
1659
|
+
const thisSpec = oldSpec.startsWith('$') ? depAlias?.id ?? newSpec : oldSpec ?? newSpec;
|
|
1660
|
+
if (thisSpec.startsWith(regSpecStartsLike)) {
|
|
1661
|
+
if (pin) {
|
|
1662
|
+
thisVersion = _semver.major(_semver.coerce(_npmPackageArg(thisSpec).rawSpec)?.version ?? version) === major ? version : (await (0, _packages.fetchPackageManifest)(thisSpec))?.version ?? version;
|
|
1663
|
+
}
|
|
1664
|
+
newSpec = `${regSpecStartsLike}^${pin ? thisVersion : _semver.major(thisVersion)}`;
|
|
1665
|
+
} else {
|
|
1666
|
+
newSpec = oldSpec;
|
|
1634
1667
|
}
|
|
1635
|
-
newSpec = `${regSpecStartsLike}^${pin ? thisVersion : _semver.major(thisVersion)}`;
|
|
1636
|
-
} else {
|
|
1637
|
-
newSpec = oldSpec;
|
|
1638
1668
|
}
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
state.addedInWorkspaces.add(workspaceName);
|
|
1669
|
+
if (newSpec !== oldSpec) {
|
|
1670
|
+
overrides[origPkgName] = newSpec;
|
|
1671
|
+
const addedOrUpdated = overrideExists ? 'updated' : 'added';
|
|
1672
|
+
state[addedOrUpdated].add(regPkgName);
|
|
1673
|
+
if (workspaceName) {
|
|
1674
|
+
const addedOrUpdatedIn = overrideExists ? 'updatedInWorkspaces' : 'addedInWorkspaces';
|
|
1675
|
+
state[addedOrUpdatedIn].add(workspaceName);
|
|
1676
|
+
}
|
|
1648
1677
|
}
|
|
1649
1678
|
}
|
|
1650
|
-
}
|
|
1651
|
-
}
|
|
1679
|
+
});
|
|
1680
|
+
}
|
|
1652
1681
|
});
|
|
1653
1682
|
if (workspaceGlobs) {
|
|
1654
1683
|
const workspacePkgJsonPaths = await (0, _tinyglobby.glob)(workspaceGlobs, {
|
|
@@ -1718,38 +1747,40 @@ const optimize = optimize$1.optimize = {
|
|
|
1718
1747
|
} = await (0, _packageManagerDetector.detect)({
|
|
1719
1748
|
cwd,
|
|
1720
1749
|
onUnknown(pkgManager) {
|
|
1721
|
-
console.
|
|
1750
|
+
console.warn(`⚠️ ${COMMAND_TITLE}: Unknown package manager${pkgManager ? ` ${pkgManager}` : ''}, defaulting to npm`);
|
|
1722
1751
|
}
|
|
1723
1752
|
});
|
|
1724
1753
|
if (!supported) {
|
|
1725
|
-
console.
|
|
1754
|
+
console.error(`✖️ ${COMMAND_TITLE}: No supported Node or browser range detected`);
|
|
1726
1755
|
return;
|
|
1727
1756
|
}
|
|
1728
1757
|
if (agent === 'vlt') {
|
|
1729
|
-
console.
|
|
1758
|
+
console.error(`✖️ ${COMMAND_TITLE}: ${agent} does not support overrides. Soon, though ⚡`);
|
|
1730
1759
|
return;
|
|
1731
1760
|
}
|
|
1732
1761
|
const lockName = lockPath ? _nodePath$2.basename(lockPath) : 'lock file';
|
|
1733
1762
|
if (lockSrc === undefined) {
|
|
1734
|
-
console.
|
|
1763
|
+
console.error(`✖️ ${COMMAND_TITLE}: No ${lockName} found`);
|
|
1735
1764
|
return;
|
|
1736
1765
|
}
|
|
1737
1766
|
if (lockSrc.trim() === '') {
|
|
1738
|
-
console.
|
|
1767
|
+
console.error(`✖️ ${COMMAND_TITLE}: ${lockName} is empty`);
|
|
1739
1768
|
return;
|
|
1740
1769
|
}
|
|
1741
1770
|
if (pkgPath === undefined) {
|
|
1742
|
-
console.
|
|
1771
|
+
console.error(`✖️ ${COMMAND_TITLE}: No package.json found`);
|
|
1743
1772
|
return;
|
|
1744
1773
|
}
|
|
1745
1774
|
if (prod && (agent === 'bun' || agent === 'yarn/berry')) {
|
|
1746
|
-
console.
|
|
1775
|
+
console.error(`✖️ ${COMMAND_TITLE}: --prod not supported for ${agent}${agentVersion ? `@${agentVersion.toString()}` : ''}`);
|
|
1747
1776
|
return;
|
|
1748
1777
|
}
|
|
1749
1778
|
if (lockPath && _nodePath$2.relative(cwd, lockPath).startsWith('.')) {
|
|
1750
|
-
console.
|
|
1779
|
+
console.warn(`⚠️ ${COMMAND_TITLE}: Package ${lockName} found at ${lockPath}`);
|
|
1751
1780
|
}
|
|
1752
|
-
const spinner =
|
|
1781
|
+
const spinner = _yoctoSpinner$i({
|
|
1782
|
+
text: 'Socket optimizing...'
|
|
1783
|
+
});
|
|
1753
1784
|
const state = createAddOverridesState({
|
|
1754
1785
|
spinner
|
|
1755
1786
|
});
|
|
@@ -1810,8 +1841,7 @@ const optimize = optimize$1.optimize = {
|
|
|
1810
1841
|
console.log(`💡 Re-run ${COMMAND_TITLE} whenever ${lockName} changes.\n This can be skipped once npm ships https://github.com/npm/cli/pull/7025.`);
|
|
1811
1842
|
}
|
|
1812
1843
|
} catch {
|
|
1813
|
-
spinner.
|
|
1814
|
-
console.log(`✘ ${COMMAND_TITLE}: ${agent} install failed to update ${lockName}`);
|
|
1844
|
+
spinner.error(`${COMMAND_TITLE}: ${agent} install failed to update ${lockName}`);
|
|
1815
1845
|
}
|
|
1816
1846
|
}
|
|
1817
1847
|
}
|
|
@@ -1870,9 +1900,9 @@ Object.defineProperty(organization, "__esModule", {
|
|
|
1870
1900
|
value: true
|
|
1871
1901
|
});
|
|
1872
1902
|
organization.organizations = void 0;
|
|
1873
|
-
var
|
|
1903
|
+
var _yoctocolorsCjs$g = require$$1$2;
|
|
1874
1904
|
var _meow$l = _interopRequireDefault$m(vendor.build);
|
|
1875
|
-
var
|
|
1905
|
+
var _yoctoSpinner$h = require$$3;
|
|
1876
1906
|
var _apiHelpers$h = apiHelpers;
|
|
1877
1907
|
var _errors$i = sdk.errors;
|
|
1878
1908
|
var _sdk$h = sdk.sdk;
|
|
@@ -1903,16 +1933,17 @@ async function fetchOrganizations() {
|
|
|
1903
1933
|
if (!apiKey) {
|
|
1904
1934
|
throw new _errors$i.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
1905
1935
|
}
|
|
1936
|
+
const spinner = _yoctoSpinner$h({
|
|
1937
|
+
text: 'Fetching organizations...'
|
|
1938
|
+
}).start();
|
|
1906
1939
|
const socketSdk = await (0, _sdk$h.setupSdk)(apiKey);
|
|
1907
|
-
const spinner = (0, _ora$h.default)('Fetching organizations...').start();
|
|
1908
1940
|
const result = await (0, _apiHelpers$h.handleApiCall)(socketSdk.getOrganizations(), 'looking up organizations');
|
|
1909
1941
|
if (result.success === false) {
|
|
1910
1942
|
(0, _apiHelpers$h.handleUnsuccessfulApiResponse)('getOrganizations', result, spinner);
|
|
1911
1943
|
return;
|
|
1912
1944
|
}
|
|
1913
|
-
spinner.stop();
|
|
1945
|
+
spinner.stop(`List of organizations associated with your API key: ${_yoctocolorsCjs$g.italic(apiKey)}`);
|
|
1914
1946
|
const organizations = Object.values(result.data.organizations);
|
|
1915
|
-
console.log(`List of organizations associated with your API key: ${_chalk$g.default.italic(apiKey)}`);
|
|
1916
1947
|
for (const o of organizations) {
|
|
1917
1948
|
console.log(`
|
|
1918
1949
|
Name: ${o?.name}
|
|
@@ -2055,13 +2086,13 @@ Object.defineProperty(view$3, "__esModule", {
|
|
|
2055
2086
|
view$3.fetchReportData = fetchReportData;
|
|
2056
2087
|
view$3.formatReportDataOutput = formatReportDataOutput;
|
|
2057
2088
|
view$3.view = void 0;
|
|
2058
|
-
var
|
|
2089
|
+
var _yoctocolorsCjs$f = require$$1$2;
|
|
2059
2090
|
var _meow$i = _interopRequireDefault$j(vendor.build);
|
|
2060
|
-
var
|
|
2091
|
+
var _yoctoSpinner$g = require$$3;
|
|
2061
2092
|
var _ponyCause$3 = require$$5$1;
|
|
2062
2093
|
var _flags$g = flags$1;
|
|
2063
2094
|
var _apiHelpers$g = apiHelpers;
|
|
2064
|
-
var
|
|
2095
|
+
var _colorOrMarkdown$2 = sdk.colorOrMarkdown;
|
|
2065
2096
|
var _errors$h = sdk.errors;
|
|
2066
2097
|
var _formatIssues = formatIssues;
|
|
2067
2098
|
var _formatting$h = formatting;
|
|
@@ -2135,7 +2166,9 @@ async function fetchReportData(reportId, {
|
|
|
2135
2166
|
}) {
|
|
2136
2167
|
// Do the API call
|
|
2137
2168
|
const socketSdk = await (0, _sdk$g.setupSdk)();
|
|
2138
|
-
const spinner =
|
|
2169
|
+
const spinner = _yoctoSpinner$g({
|
|
2170
|
+
text: `Fetching report with ID ${reportId} (this could take a while)`
|
|
2171
|
+
}).start();
|
|
2139
2172
|
let result;
|
|
2140
2173
|
for (let retry = 1; !result; ++retry) {
|
|
2141
2174
|
try {
|
|
@@ -2155,16 +2188,16 @@ async function fetchReportData(reportId, {
|
|
|
2155
2188
|
|
|
2156
2189
|
if (strict) {
|
|
2157
2190
|
if (result.data.healthy) {
|
|
2158
|
-
spinner.
|
|
2191
|
+
spinner.success('Report result is healthy and great!');
|
|
2159
2192
|
} else {
|
|
2160
|
-
spinner.
|
|
2193
|
+
spinner.error('Report result deemed unhealthy for project');
|
|
2161
2194
|
}
|
|
2162
2195
|
} else if (result.data.healthy === false) {
|
|
2163
2196
|
const severityCount = (0, _formatIssues.getSeverityCount)(result.data.issues, includeAllIssues ? undefined : 'high');
|
|
2164
2197
|
const issueSummary = (0, _formatIssues.formatSeverityCount)(severityCount);
|
|
2165
|
-
spinner.
|
|
2198
|
+
spinner.success(`Report has these issues: ${issueSummary}`);
|
|
2166
2199
|
} else {
|
|
2167
|
-
spinner.
|
|
2200
|
+
spinner.success('Report has no issues');
|
|
2168
2201
|
}
|
|
2169
2202
|
return result.data;
|
|
2170
2203
|
}
|
|
@@ -2178,12 +2211,12 @@ function formatReportDataOutput(data, {
|
|
|
2178
2211
|
if (outputJson) {
|
|
2179
2212
|
console.log(JSON.stringify(data, undefined, 2));
|
|
2180
2213
|
} else {
|
|
2181
|
-
const format = new
|
|
2214
|
+
const format = new _colorOrMarkdown$2.ColorOrMarkdown(!!outputMarkdown);
|
|
2182
2215
|
console.log('\nDetailed info on socket.dev: ' + format.hyperlink(reportId, data.url, {
|
|
2183
2216
|
fallbackToUrl: true
|
|
2184
2217
|
}));
|
|
2185
2218
|
if (!outputMarkdown) {
|
|
2186
|
-
console.log(
|
|
2219
|
+
console.log(_yoctocolorsCjs$f.dim(`\nOr rerun ${_yoctocolorsCjs$f.italic(name)} using the ${_yoctocolorsCjs$f.italic('--json')} flag to get full JSON output`));
|
|
2187
2220
|
}
|
|
2188
2221
|
}
|
|
2189
2222
|
if (strict && data.healthy === false) {
|
|
@@ -2199,13 +2232,13 @@ create$5.create = void 0;
|
|
|
2199
2232
|
var _nodePath$1 = require$$1;
|
|
2200
2233
|
var _betterAjvErrors = require$$2$1;
|
|
2201
2234
|
var _meow$h = _interopRequireDefault$i(vendor.build);
|
|
2202
|
-
var
|
|
2235
|
+
var _yoctoSpinner$f = require$$3;
|
|
2203
2236
|
var _ponyCause$2 = require$$5$1;
|
|
2204
2237
|
var _config = require$$6$1;
|
|
2205
2238
|
var _view$2 = view$3;
|
|
2206
2239
|
var _flags$f = flags$1;
|
|
2207
2240
|
var _apiHelpers$f = apiHelpers;
|
|
2208
|
-
var
|
|
2241
|
+
var _colorOrMarkdown$1 = sdk.colorOrMarkdown;
|
|
2209
2242
|
var _errors$g = sdk.errors;
|
|
2210
2243
|
var _formatting$g = formatting;
|
|
2211
2244
|
var _misc$1 = sdk.misc;
|
|
@@ -2358,7 +2391,7 @@ async function setupCommand$g(name, description, argv, importMeta) {
|
|
|
2358
2391
|
});
|
|
2359
2392
|
const socketSdk = await (0, _sdk$f.setupSdk)();
|
|
2360
2393
|
const supportedFiles = await socketSdk.getReportSupportedFiles().then(res => {
|
|
2361
|
-
if (!res.success) (0, _apiHelpers$f.handleUnsuccessfulApiResponse)('getReportSupportedFiles', res,
|
|
2394
|
+
if (!res.success) (0, _apiHelpers$f.handleUnsuccessfulApiResponse)('getReportSupportedFiles', res, _yoctoSpinner$f());
|
|
2362
2395
|
return res.data;
|
|
2363
2396
|
}).catch(cause => {
|
|
2364
2397
|
throw new _ponyCause$2.ErrorWithCause('Failed getting supported files for report', {
|
|
@@ -2385,22 +2418,22 @@ async function createReport(packagePaths, {
|
|
|
2385
2418
|
debugLog,
|
|
2386
2419
|
dryRun
|
|
2387
2420
|
}) {
|
|
2388
|
-
debugLog('Uploading:', packagePaths.join(`\n${
|
|
2421
|
+
debugLog('Uploading:', packagePaths.join(`\n${_colorOrMarkdown$1.logSymbols.info} Uploading: `));
|
|
2389
2422
|
if (dryRun) {
|
|
2390
2423
|
return;
|
|
2391
2424
|
}
|
|
2392
2425
|
const socketSdk = await (0, _sdk$f.setupSdk)();
|
|
2393
|
-
const spinner =
|
|
2426
|
+
const spinner = _yoctoSpinner$f({
|
|
2427
|
+
text: `Creating report with ${packagePaths.length} package files`
|
|
2428
|
+
}).start();
|
|
2394
2429
|
const apiCall = socketSdk.createReportFromFilePaths(packagePaths, cwd, config?.issueRules);
|
|
2395
2430
|
const result = await (0, _apiHelpers$f.handleApiCall)(apiCall, 'creating report');
|
|
2396
|
-
if (result.success
|
|
2397
|
-
|
|
2431
|
+
if (result.success) {
|
|
2432
|
+
spinner.success();
|
|
2433
|
+
return result;
|
|
2398
2434
|
}
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
spinner.succeed();
|
|
2403
|
-
return result;
|
|
2435
|
+
(0, _apiHelpers$f.handleUnsuccessfulApiResponse)('createReport', result, spinner);
|
|
2436
|
+
return undefined;
|
|
2404
2437
|
}
|
|
2405
2438
|
function formatReportCreationOutput(data, {
|
|
2406
2439
|
outputJson,
|
|
@@ -2410,10 +2443,10 @@ function formatReportCreationOutput(data, {
|
|
|
2410
2443
|
console.log(JSON.stringify(data, undefined, 2));
|
|
2411
2444
|
return;
|
|
2412
2445
|
}
|
|
2413
|
-
const format = new
|
|
2414
|
-
console.log(
|
|
2446
|
+
const format = new _colorOrMarkdown$1.ColorOrMarkdown(!!outputMarkdown);
|
|
2447
|
+
console.log(`New report: ${format.hyperlink(data.id, data.url, {
|
|
2415
2448
|
fallbackToUrl: true
|
|
2416
|
-
}));
|
|
2449
|
+
})}`);
|
|
2417
2450
|
}
|
|
2418
2451
|
|
|
2419
2452
|
var meowWithSubcommands$1 = {};
|
|
@@ -2515,8 +2548,8 @@ Object.defineProperty(wrapper$1, "__esModule", {
|
|
|
2515
2548
|
});
|
|
2516
2549
|
wrapper$1.wrapper = void 0;
|
|
2517
2550
|
var _nodeFs$1 = require$$0;
|
|
2518
|
-
var _nodeOs = require$$1$
|
|
2519
|
-
var _nodeReadline = require$$3$
|
|
2551
|
+
var _nodeOs = require$$1$5;
|
|
2552
|
+
var _nodeReadline = require$$3$2;
|
|
2520
2553
|
var _meow$f = _interopRequireDefault$g(vendor.build);
|
|
2521
2554
|
var _flags$d = flags$1;
|
|
2522
2555
|
var _formatting$e = formatting;
|
|
@@ -2677,10 +2710,10 @@ Object.defineProperty(create$3, "__esModule", {
|
|
|
2677
2710
|
create$3.create = void 0;
|
|
2678
2711
|
var _nodeProcess = require$$0$1;
|
|
2679
2712
|
var _promises$1 = require$$2$2;
|
|
2680
|
-
var
|
|
2713
|
+
var _yoctocolorsCjs$e = require$$1$2;
|
|
2681
2714
|
var _meow$e = _interopRequireDefault$f(vendor.build);
|
|
2682
2715
|
var _open = _interopRequireDefault$f(vendor.open);
|
|
2683
|
-
var
|
|
2716
|
+
var _yoctoSpinner$e = require$$3;
|
|
2684
2717
|
var _ponyCause$1 = require$$5$1;
|
|
2685
2718
|
var _apiHelpers$e = apiHelpers;
|
|
2686
2719
|
var _errors$f = sdk.errors;
|
|
@@ -2701,7 +2734,9 @@ const create$2 = create$3.create = {
|
|
|
2701
2734
|
throw new _errors$f.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
2702
2735
|
}
|
|
2703
2736
|
const spinnerText = 'Creating a scan... \n';
|
|
2704
|
-
const spinner =
|
|
2737
|
+
const spinner = _yoctoSpinner$e({
|
|
2738
|
+
text: spinnerText
|
|
2739
|
+
}).start();
|
|
2705
2740
|
await createFullScan(input, spinner, apiKey);
|
|
2706
2741
|
}
|
|
2707
2742
|
}
|
|
@@ -2797,7 +2832,7 @@ async function setupCommand$e(name, description, argv, importMeta) {
|
|
|
2797
2832
|
const cwd = process.cwd();
|
|
2798
2833
|
const socketSdk = await (0, _sdk$e.setupSdk)();
|
|
2799
2834
|
const supportedFiles = await socketSdk.getReportSupportedFiles().then(res => {
|
|
2800
|
-
if (!res.success) (0, _apiHelpers$e.handleUnsuccessfulApiResponse)('getReportSupportedFiles', res,
|
|
2835
|
+
if (!res.success) (0, _apiHelpers$e.handleUnsuccessfulApiResponse)('getReportSupportedFiles', res, _yoctoSpinner$e());
|
|
2801
2836
|
return res.data;
|
|
2802
2837
|
}).catch(/** @type {(cause: Error) => never} */
|
|
2803
2838
|
cause => {
|
|
@@ -2813,10 +2848,10 @@ async function setupCommand$e(name, description, argv, importMeta) {
|
|
|
2813
2848
|
} = cli.flags;
|
|
2814
2849
|
if (!repoName || !branchName || !packagePaths.length) {
|
|
2815
2850
|
showHelp = true;
|
|
2816
|
-
console.error(`${
|
|
2817
|
-
- Repository name using --repo
|
|
2851
|
+
console.error(`${_yoctocolorsCjs$e.bgRed(_yoctocolorsCjs$e.white('Input error'))}: Please provide the required fields:\n
|
|
2852
|
+
- Repository name using --repo\n
|
|
2818
2853
|
- Branch name using --branch\n
|
|
2819
|
-
- At least one file path (e.g. ./package.json)
|
|
2854
|
+
- At least one file path (e.g. ./package.json)`);
|
|
2820
2855
|
}
|
|
2821
2856
|
if (showHelp) {
|
|
2822
2857
|
cli.showHelp();
|
|
@@ -2860,10 +2895,9 @@ async function createFullScan(input, spinner, apiKey) {
|
|
|
2860
2895
|
(0, _apiHelpers$e.handleUnsuccessfulApiResponse)('CreateOrgFullScan', result, spinner);
|
|
2861
2896
|
return;
|
|
2862
2897
|
}
|
|
2863
|
-
spinner.
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
console.log(`Available at: ${link}\n`);
|
|
2898
|
+
spinner.success('Scan created successfully');
|
|
2899
|
+
const link = _yoctocolorsCjs$e.underline(_yoctocolorsCjs$e.cyan(`${result.data.html_report_url}`));
|
|
2900
|
+
console.log(`Available at: ${link}`);
|
|
2867
2901
|
const rl = _promises$1.createInterface({
|
|
2868
2902
|
input: _nodeProcess.stdin,
|
|
2869
2903
|
output: _nodeProcess.stdout
|
|
@@ -2882,9 +2916,9 @@ Object.defineProperty(_delete$3, "__esModule", {
|
|
|
2882
2916
|
value: true
|
|
2883
2917
|
});
|
|
2884
2918
|
_delete$3.del = void 0;
|
|
2885
|
-
var
|
|
2919
|
+
var _yoctocolorsCjs$d = require$$1$2;
|
|
2886
2920
|
var _meow$d = _interopRequireDefault$e(vendor.build);
|
|
2887
|
-
var
|
|
2921
|
+
var _yoctoSpinner$d = require$$3;
|
|
2888
2922
|
var _flags$c = flags$1;
|
|
2889
2923
|
var _apiHelpers$d = apiHelpers;
|
|
2890
2924
|
var _errors$e = sdk.errors;
|
|
@@ -2903,7 +2937,9 @@ const del$1 = _delete$3.del = {
|
|
|
2903
2937
|
throw new _errors$e.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
2904
2938
|
}
|
|
2905
2939
|
const spinnerText = 'Deleting scan...';
|
|
2906
|
-
const spinner =
|
|
2940
|
+
const spinner = _yoctoSpinner$d({
|
|
2941
|
+
text: spinnerText
|
|
2942
|
+
}).start();
|
|
2907
2943
|
await deleteOrgFullScan(input.orgSlug, input.fullScanId, spinner, apiKey);
|
|
2908
2944
|
}
|
|
2909
2945
|
}
|
|
@@ -2934,7 +2970,7 @@ function setupCommand$d(name, description, argv, importMeta) {
|
|
|
2934
2970
|
let showHelp = cli.flags['help'];
|
|
2935
2971
|
if (cli.input.length < 2) {
|
|
2936
2972
|
showHelp = true;
|
|
2937
|
-
console.error(`${
|
|
2973
|
+
console.error(`${_yoctocolorsCjs$d.bgRed(_yoctocolorsCjs$d.white('Input error'))}: Please specify an organization slug and a scan ID.`);
|
|
2938
2974
|
}
|
|
2939
2975
|
if (showHelp) {
|
|
2940
2976
|
cli.showHelp();
|
|
@@ -2954,12 +2990,11 @@ function setupCommand$d(name, description, argv, importMeta) {
|
|
|
2954
2990
|
async function deleteOrgFullScan(orgSlug, fullScanId, spinner, apiKey) {
|
|
2955
2991
|
const socketSdk = await (0, _sdk$d.setupSdk)(apiKey);
|
|
2956
2992
|
const result = await (0, _apiHelpers$d.handleApiCall)(socketSdk.deleteOrgFullScan(orgSlug, fullScanId), 'Deleting scan');
|
|
2957
|
-
if (
|
|
2993
|
+
if (result.success) {
|
|
2994
|
+
spinner.success('Scan deleted successfully');
|
|
2995
|
+
} else {
|
|
2958
2996
|
(0, _apiHelpers$d.handleUnsuccessfulApiResponse)('deleteOrgFullScan', result, spinner);
|
|
2959
|
-
return;
|
|
2960
2997
|
}
|
|
2961
|
-
spinner.stop();
|
|
2962
|
-
console.log('✅ Scan deleted successfully');
|
|
2963
2998
|
}
|
|
2964
2999
|
|
|
2965
3000
|
var list$3 = {};
|
|
@@ -2969,10 +3004,10 @@ Object.defineProperty(list$3, "__esModule", {
|
|
|
2969
3004
|
value: true
|
|
2970
3005
|
});
|
|
2971
3006
|
list$3.list = void 0;
|
|
2972
|
-
var
|
|
3007
|
+
var _yoctocolorsCjs$c = require$$1$2;
|
|
2973
3008
|
var _chalkTable$3 = require$$2$3;
|
|
2974
3009
|
var _meow$c = _interopRequireDefault$d(vendor.build);
|
|
2975
|
-
var
|
|
3010
|
+
var _yoctoSpinner$c = require$$3;
|
|
2976
3011
|
var _flags$b = flags$1;
|
|
2977
3012
|
var _apiHelpers$c = apiHelpers;
|
|
2978
3013
|
var _errors$d = sdk.errors;
|
|
@@ -2993,7 +3028,9 @@ const list$2 = list$3.list = {
|
|
|
2993
3028
|
throw new _errors$d.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
2994
3029
|
}
|
|
2995
3030
|
const spinnerText = 'Listing scans... \n';
|
|
2996
|
-
const spinner =
|
|
3031
|
+
const spinner = _yoctoSpinner$c({
|
|
3032
|
+
text: spinnerText
|
|
3033
|
+
}).start();
|
|
2997
3034
|
await listOrgFullScan(input.orgSlug, input, spinner, apiKey);
|
|
2998
3035
|
}
|
|
2999
3036
|
}
|
|
@@ -3063,7 +3100,7 @@ function setupCommand$c(name, description, argv, importMeta) {
|
|
|
3063
3100
|
let showHelp = cli.flags['help'];
|
|
3064
3101
|
if (!cli.input[0]) {
|
|
3065
3102
|
showHelp = true;
|
|
3066
|
-
console.error(`${
|
|
3103
|
+
console.error(`${_yoctocolorsCjs$c.bgRed(_yoctocolorsCjs$c.white('Input error'))}: Please specify an organization slug.`);
|
|
3067
3104
|
}
|
|
3068
3105
|
if (showHelp) {
|
|
3069
3106
|
cli.showHelp();
|
|
@@ -3091,27 +3128,25 @@ async function listOrgFullScan(orgSlug, input, spinner, apiKey) {
|
|
|
3091
3128
|
(0, _apiHelpers$c.handleUnsuccessfulApiResponse)('getOrgFullScanList', result, spinner);
|
|
3092
3129
|
return;
|
|
3093
3130
|
}
|
|
3094
|
-
spinner.stop();
|
|
3095
|
-
console.log(`\n Listing scans for: ${orgSlug}\n`);
|
|
3096
3131
|
const options = {
|
|
3097
3132
|
columns: [{
|
|
3098
3133
|
field: 'id',
|
|
3099
|
-
name:
|
|
3134
|
+
name: _yoctocolorsCjs$c.magenta('ID')
|
|
3100
3135
|
}, {
|
|
3101
3136
|
field: 'report_url',
|
|
3102
|
-
name:
|
|
3137
|
+
name: _yoctocolorsCjs$c.magenta('Scan URL')
|
|
3103
3138
|
}, {
|
|
3104
3139
|
field: 'branch',
|
|
3105
|
-
name:
|
|
3140
|
+
name: _yoctocolorsCjs$c.magenta('Branch')
|
|
3106
3141
|
}, {
|
|
3107
3142
|
field: 'created_at',
|
|
3108
|
-
name:
|
|
3143
|
+
name: _yoctocolorsCjs$c.magenta('Created at')
|
|
3109
3144
|
}]
|
|
3110
3145
|
};
|
|
3111
3146
|
const formattedResults = result.data.results.map(d => {
|
|
3112
3147
|
return {
|
|
3113
3148
|
id: d.id,
|
|
3114
|
-
report_url:
|
|
3149
|
+
report_url: _yoctocolorsCjs$c.underline(`${d.html_report_url}`),
|
|
3115
3150
|
created_at: d.created_at ? new Date(d.created_at).toLocaleDateString('en-us', {
|
|
3116
3151
|
year: 'numeric',
|
|
3117
3152
|
month: 'numeric',
|
|
@@ -3120,7 +3155,8 @@ async function listOrgFullScan(orgSlug, input, spinner, apiKey) {
|
|
|
3120
3155
|
branch: d.branch
|
|
3121
3156
|
};
|
|
3122
3157
|
});
|
|
3123
|
-
|
|
3158
|
+
spinner.stop(`Listing scans for: ${orgSlug}`);
|
|
3159
|
+
console.log(_chalkTable$3(options, formattedResults));
|
|
3124
3160
|
}
|
|
3125
3161
|
|
|
3126
3162
|
var metadata$1 = {};
|
|
@@ -3130,9 +3166,9 @@ Object.defineProperty(metadata$1, "__esModule", {
|
|
|
3130
3166
|
value: true
|
|
3131
3167
|
});
|
|
3132
3168
|
metadata$1.metadata = void 0;
|
|
3133
|
-
var
|
|
3169
|
+
var _yoctocolorsCjs$b = require$$1$2;
|
|
3134
3170
|
var _meow$b = _interopRequireDefault$c(vendor.build);
|
|
3135
|
-
var
|
|
3171
|
+
var _yoctoSpinner$b = require$$3;
|
|
3136
3172
|
var _flags$a = flags$1;
|
|
3137
3173
|
var _apiHelpers$b = apiHelpers;
|
|
3138
3174
|
var _errors$c = sdk.errors;
|
|
@@ -3151,7 +3187,9 @@ const metadata = metadata$1.metadata = {
|
|
|
3151
3187
|
throw new _errors$c.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3152
3188
|
}
|
|
3153
3189
|
const spinnerText = "Getting scan's metadata... \n";
|
|
3154
|
-
const spinner =
|
|
3190
|
+
const spinner = _yoctoSpinner$b({
|
|
3191
|
+
text: spinnerText
|
|
3192
|
+
}).start();
|
|
3155
3193
|
await getOrgScanMetadata(input.orgSlug, input.scanID, spinner, apiKey);
|
|
3156
3194
|
}
|
|
3157
3195
|
}
|
|
@@ -3182,7 +3220,7 @@ function setupCommand$b(name, description, argv, importMeta) {
|
|
|
3182
3220
|
let showHelp = cli.flags['help'];
|
|
3183
3221
|
if (cli.input.length < 2) {
|
|
3184
3222
|
showHelp = true;
|
|
3185
|
-
console.error(`${
|
|
3223
|
+
console.error(`${_yoctocolorsCjs$b.bgRed(_yoctocolorsCjs$b.white('Input error'))}: Please specify an organization slug and a scan ID.`);
|
|
3186
3224
|
}
|
|
3187
3225
|
if (showHelp) {
|
|
3188
3226
|
cli.showHelp();
|
|
@@ -3206,8 +3244,7 @@ async function getOrgScanMetadata(orgSlug, scanId, spinner, apiKey) {
|
|
|
3206
3244
|
(0, _apiHelpers$b.handleUnsuccessfulApiResponse)('getOrgFullScanMetadata', result, spinner);
|
|
3207
3245
|
return;
|
|
3208
3246
|
}
|
|
3209
|
-
spinner.stop();
|
|
3210
|
-
console.log('\nScan metadata:\n');
|
|
3247
|
+
spinner.stop('Scan metadata:');
|
|
3211
3248
|
console.log(result.data);
|
|
3212
3249
|
}
|
|
3213
3250
|
|
|
@@ -3218,9 +3255,9 @@ Object.defineProperty(stream$1, "__esModule", {
|
|
|
3218
3255
|
value: true
|
|
3219
3256
|
});
|
|
3220
3257
|
stream$1.stream = void 0;
|
|
3221
|
-
var
|
|
3258
|
+
var _yoctocolorsCjs$a = require$$1$2;
|
|
3222
3259
|
var _meow$a = _interopRequireDefault$b(vendor.build);
|
|
3223
|
-
var
|
|
3260
|
+
var _yoctoSpinner$a = require$$3;
|
|
3224
3261
|
var _flags$9 = flags$1;
|
|
3225
3262
|
var _apiHelpers$a = apiHelpers;
|
|
3226
3263
|
var _errors$b = sdk.errors;
|
|
@@ -3238,9 +3275,15 @@ const stream = stream$1.stream = {
|
|
|
3238
3275
|
if (!apiKey) {
|
|
3239
3276
|
throw new _errors$b.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3240
3277
|
}
|
|
3241
|
-
const
|
|
3242
|
-
|
|
3243
|
-
|
|
3278
|
+
const spinner = _yoctoSpinner$a({
|
|
3279
|
+
text: 'Streaming scan...'
|
|
3280
|
+
}).start();
|
|
3281
|
+
const result = await getOrgFullScan(input.orgSlug, input.fullScanId, input.file, apiKey);
|
|
3282
|
+
if (result?.success) {
|
|
3283
|
+
spinner.stop(input.file ? `Full scan details written to ${input.file}` : '');
|
|
3284
|
+
} else {
|
|
3285
|
+
(0, _apiHelpers$a.handleUnsuccessfulApiResponse)('getOrgFullScan', result, spinner);
|
|
3286
|
+
}
|
|
3244
3287
|
}
|
|
3245
3288
|
}
|
|
3246
3289
|
};
|
|
@@ -3270,7 +3313,7 @@ function setupCommand$a(name, description, argv, importMeta) {
|
|
|
3270
3313
|
let showHelp = cli.flags['help'];
|
|
3271
3314
|
if (cli.input.length < 2) {
|
|
3272
3315
|
showHelp = true;
|
|
3273
|
-
console.error(`${
|
|
3316
|
+
console.error(`${_yoctocolorsCjs$a.bgRed(_yoctocolorsCjs$a.white('Input error'))}: Please specify an organization slug and a scan ID.`);
|
|
3274
3317
|
}
|
|
3275
3318
|
if (showHelp) {
|
|
3276
3319
|
cli.showHelp();
|
|
@@ -3289,15 +3332,9 @@ function setupCommand$a(name, description, argv, importMeta) {
|
|
|
3289
3332
|
file
|
|
3290
3333
|
};
|
|
3291
3334
|
}
|
|
3292
|
-
async function getOrgFullScan(orgSlug, fullScanId, file,
|
|
3335
|
+
async function getOrgFullScan(orgSlug, fullScanId, file, apiKey) {
|
|
3293
3336
|
const socketSdk = await (0, _sdk$a.setupSdk)(apiKey);
|
|
3294
|
-
|
|
3295
|
-
if (!result?.success) {
|
|
3296
|
-
(0, _apiHelpers$a.handleUnsuccessfulApiResponse)('getOrgFullScan', result, spinner);
|
|
3297
|
-
return;
|
|
3298
|
-
}
|
|
3299
|
-
spinner.stop();
|
|
3300
|
-
console.log(file ? `\nFull scan details written to ${file}\n` : '\nFull scan details:\n');
|
|
3337
|
+
return await (0, _apiHelpers$a.handleApiCall)(socketSdk.getOrgFullScan(orgSlug, fullScanId, file), 'Streaming a scan');
|
|
3301
3338
|
}
|
|
3302
3339
|
|
|
3303
3340
|
Object.defineProperty(scan, "__esModule", {
|
|
@@ -3338,10 +3375,10 @@ Object.defineProperty(auditLog$1, "__esModule", {
|
|
|
3338
3375
|
value: true
|
|
3339
3376
|
});
|
|
3340
3377
|
auditLog$1.auditLog = void 0;
|
|
3341
|
-
var _prompts = require$$1$
|
|
3342
|
-
var
|
|
3378
|
+
var _prompts = require$$1$3;
|
|
3379
|
+
var _yoctocolorsCjs$9 = require$$1$2;
|
|
3343
3380
|
var _meow$9 = _interopRequireDefault$a(vendor.build);
|
|
3344
|
-
var
|
|
3381
|
+
var _yoctoSpinner$9 = require$$3;
|
|
3345
3382
|
var _flags$8 = flags$1;
|
|
3346
3383
|
var _apiHelpers$9 = apiHelpers;
|
|
3347
3384
|
var _errors$a = sdk.errors;
|
|
@@ -3359,7 +3396,9 @@ const auditLog = auditLog$1.auditLog = {
|
|
|
3359
3396
|
if (!apiKey) {
|
|
3360
3397
|
throw new _errors$a.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3361
3398
|
}
|
|
3362
|
-
const spinner =
|
|
3399
|
+
const spinner = _yoctoSpinner$9({
|
|
3400
|
+
text: `Looking up audit log for ${input.orgSlug}\n`
|
|
3401
|
+
}).start();
|
|
3363
3402
|
await fetchOrgAuditLog(input.orgSlug, input, spinner, apiKey);
|
|
3364
3403
|
}
|
|
3365
3404
|
}
|
|
@@ -3411,7 +3450,7 @@ function setupCommand$9(name, description, argv, importMeta) {
|
|
|
3411
3450
|
let showHelp = cli.flags['help'];
|
|
3412
3451
|
if (cli.input.length < 1) {
|
|
3413
3452
|
showHelp = true;
|
|
3414
|
-
console.error(`${
|
|
3453
|
+
console.error(`${_yoctocolorsCjs$9.bgRed(_yoctocolorsCjs$9.white('Input error'))}: Please provide an organization slug.`);
|
|
3415
3454
|
}
|
|
3416
3455
|
if (showHelp) {
|
|
3417
3456
|
cli.showHelp();
|
|
@@ -3478,9 +3517,9 @@ Object.defineProperty(create$1, "__esModule", {
|
|
|
3478
3517
|
value: true
|
|
3479
3518
|
});
|
|
3480
3519
|
create$1.create = void 0;
|
|
3481
|
-
var
|
|
3520
|
+
var _yoctocolorsCjs$8 = require$$1$2;
|
|
3482
3521
|
var _meow$8 = _interopRequireDefault$9(vendor.build);
|
|
3483
|
-
var
|
|
3522
|
+
var _yoctoSpinner$8 = require$$3;
|
|
3484
3523
|
var _flags$7 = flags$1;
|
|
3485
3524
|
var _apiHelpers$8 = apiHelpers;
|
|
3486
3525
|
var _errors$9 = sdk.errors;
|
|
@@ -3499,7 +3538,9 @@ const create = create$1.create = {
|
|
|
3499
3538
|
throw new _errors$9.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3500
3539
|
}
|
|
3501
3540
|
const spinnerText = 'Creating repository... \n';
|
|
3502
|
-
const spinner =
|
|
3541
|
+
const spinner = _yoctoSpinner$8({
|
|
3542
|
+
text: spinnerText
|
|
3543
|
+
}).start();
|
|
3503
3544
|
await createRepo(input.orgSlug, input, spinner, apiKey);
|
|
3504
3545
|
}
|
|
3505
3546
|
}
|
|
@@ -3567,10 +3608,10 @@ function setupCommand$8(name, description, argv, importMeta) {
|
|
|
3567
3608
|
let showHelp = cli.flags['help'];
|
|
3568
3609
|
if (!orgSlug) {
|
|
3569
3610
|
showHelp = true;
|
|
3570
|
-
console.error(`${
|
|
3611
|
+
console.error(`${_yoctocolorsCjs$8.bgRed(_yoctocolorsCjs$8.white('Input error'))}: Please provide an organization slug.`);
|
|
3571
3612
|
} else if (!repoName) {
|
|
3572
3613
|
showHelp = true;
|
|
3573
|
-
console.error(`${
|
|
3614
|
+
console.error(`${_yoctocolorsCjs$8.bgRed(_yoctocolorsCjs$8.white('Input error'))}: Repository name is required.`);
|
|
3574
3615
|
}
|
|
3575
3616
|
if (showHelp) {
|
|
3576
3617
|
cli.showHelp();
|
|
@@ -3590,12 +3631,11 @@ function setupCommand$8(name, description, argv, importMeta) {
|
|
|
3590
3631
|
async function createRepo(orgSlug, input, spinner, apiKey) {
|
|
3591
3632
|
const socketSdk = await (0, _sdk$8.setupSdk)(apiKey);
|
|
3592
3633
|
const result = await (0, _apiHelpers$8.handleApiCall)(socketSdk.createOrgRepo(orgSlug, input), 'creating repository');
|
|
3593
|
-
if (
|
|
3634
|
+
if (result.success) {
|
|
3635
|
+
spinner.success('Repository created successfully');
|
|
3636
|
+
} else {
|
|
3594
3637
|
(0, _apiHelpers$8.handleUnsuccessfulApiResponse)('createOrgRepo', result, spinner);
|
|
3595
|
-
return;
|
|
3596
3638
|
}
|
|
3597
|
-
spinner.stop();
|
|
3598
|
-
console.log('\n✅ Repository created successfully\n');
|
|
3599
3639
|
}
|
|
3600
3640
|
|
|
3601
3641
|
var _delete$1 = {};
|
|
@@ -3605,9 +3645,9 @@ Object.defineProperty(_delete$1, "__esModule", {
|
|
|
3605
3645
|
value: true
|
|
3606
3646
|
});
|
|
3607
3647
|
_delete$1.del = void 0;
|
|
3608
|
-
var
|
|
3648
|
+
var _yoctocolorsCjs$7 = require$$1$2;
|
|
3609
3649
|
var _meow$7 = _interopRequireDefault$8(vendor.build);
|
|
3610
|
-
var
|
|
3650
|
+
var _yoctoSpinner$7 = require$$3;
|
|
3611
3651
|
var _apiHelpers$7 = apiHelpers;
|
|
3612
3652
|
var _errors$8 = sdk.errors;
|
|
3613
3653
|
var _sdk$7 = sdk.sdk;
|
|
@@ -3624,7 +3664,9 @@ const del = _delete$1.del = {
|
|
|
3624
3664
|
throw new _errors$8.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3625
3665
|
}
|
|
3626
3666
|
const spinnerText = 'Deleting repository... \n';
|
|
3627
|
-
const spinner =
|
|
3667
|
+
const spinner = _yoctoSpinner$7({
|
|
3668
|
+
text: spinnerText
|
|
3669
|
+
}).start();
|
|
3628
3670
|
await deleteRepository(input.orgSlug, input.repoName, spinner, apiKey);
|
|
3629
3671
|
}
|
|
3630
3672
|
}
|
|
@@ -3651,7 +3693,7 @@ function setupCommand$7(name, description, argv, importMeta) {
|
|
|
3651
3693
|
let showHelp = cli.flags['help'];
|
|
3652
3694
|
if (!orgSlug || !repoName) {
|
|
3653
3695
|
showHelp = true;
|
|
3654
|
-
console.error(`${
|
|
3696
|
+
console.error(`${_yoctocolorsCjs$7.bgRed(_yoctocolorsCjs$7.white('Input error'))}: Please provide an organization slug and repository slug.`);
|
|
3655
3697
|
}
|
|
3656
3698
|
if (showHelp) {
|
|
3657
3699
|
cli.showHelp();
|
|
@@ -3665,12 +3707,11 @@ function setupCommand$7(name, description, argv, importMeta) {
|
|
|
3665
3707
|
async function deleteRepository(orgSlug, repoName, spinner, apiKey) {
|
|
3666
3708
|
const socketSdk = await (0, _sdk$7.setupSdk)(apiKey);
|
|
3667
3709
|
const result = await (0, _apiHelpers$7.handleApiCall)(socketSdk.deleteOrgRepo(orgSlug, repoName), 'deleting repository');
|
|
3668
|
-
if (
|
|
3710
|
+
if (result.success) {
|
|
3711
|
+
spinner.success('Repository deleted successfully');
|
|
3712
|
+
} else {
|
|
3669
3713
|
(0, _apiHelpers$7.handleUnsuccessfulApiResponse)('deleteOrgRepo', result, spinner);
|
|
3670
|
-
return;
|
|
3671
3714
|
}
|
|
3672
|
-
spinner.stop();
|
|
3673
|
-
console.log('\n✅ Repository deleted successfully\n');
|
|
3674
3715
|
}
|
|
3675
3716
|
|
|
3676
3717
|
var list$1 = {};
|
|
@@ -3680,10 +3721,10 @@ Object.defineProperty(list$1, "__esModule", {
|
|
|
3680
3721
|
value: true
|
|
3681
3722
|
});
|
|
3682
3723
|
list$1.list = void 0;
|
|
3683
|
-
var
|
|
3724
|
+
var _yoctocolorsCjs$6 = require$$1$2;
|
|
3684
3725
|
var _chalkTable$2 = require$$2$3;
|
|
3685
3726
|
var _meow$6 = _interopRequireDefault$7(vendor.build);
|
|
3686
|
-
var
|
|
3727
|
+
var _yoctoSpinner$6 = require$$3;
|
|
3687
3728
|
var _flags$6 = flags$1;
|
|
3688
3729
|
var _apiHelpers$6 = apiHelpers;
|
|
3689
3730
|
var _errors$7 = sdk.errors;
|
|
@@ -3704,7 +3745,9 @@ const list = list$1.list = {
|
|
|
3704
3745
|
throw new _errors$7.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3705
3746
|
}
|
|
3706
3747
|
const spinnerText = 'Listing repositories... \n';
|
|
3707
|
-
const spinner =
|
|
3748
|
+
const spinner = _yoctoSpinner$6({
|
|
3749
|
+
text: spinnerText
|
|
3750
|
+
}).start();
|
|
3708
3751
|
await listOrgRepos(input.orgSlug, input, spinner, apiKey);
|
|
3709
3752
|
}
|
|
3710
3753
|
}
|
|
@@ -3761,7 +3804,7 @@ function setupCommand$6(name, description, argv, importMeta) {
|
|
|
3761
3804
|
let showHelp = cli.flags['help'];
|
|
3762
3805
|
if (!cli.input[0]) {
|
|
3763
3806
|
showHelp = true;
|
|
3764
|
-
console.error(`${
|
|
3807
|
+
console.error(`${_yoctocolorsCjs$6.bgRed(_yoctocolorsCjs$6.white('Input error'))}: Please provide an organization slug.`);
|
|
3765
3808
|
}
|
|
3766
3809
|
if (showHelp) {
|
|
3767
3810
|
cli.showHelp();
|
|
@@ -3787,26 +3830,25 @@ async function listOrgRepos(orgSlug, input, spinner, apiKey) {
|
|
|
3787
3830
|
(0, _apiHelpers$6.handleUnsuccessfulApiResponse)('getOrgRepoList', result, spinner);
|
|
3788
3831
|
return;
|
|
3789
3832
|
}
|
|
3790
|
-
spinner.stop();
|
|
3791
3833
|
const options = {
|
|
3792
3834
|
columns: [{
|
|
3793
3835
|
field: 'id',
|
|
3794
|
-
name:
|
|
3836
|
+
name: _yoctocolorsCjs$6.magenta('ID')
|
|
3795
3837
|
}, {
|
|
3796
3838
|
field: 'name',
|
|
3797
|
-
name:
|
|
3839
|
+
name: _yoctocolorsCjs$6.magenta('Name')
|
|
3798
3840
|
}, {
|
|
3799
3841
|
field: 'visibility',
|
|
3800
|
-
name:
|
|
3842
|
+
name: _yoctocolorsCjs$6.magenta('Visibility')
|
|
3801
3843
|
}, {
|
|
3802
3844
|
field: 'default_branch',
|
|
3803
|
-
name:
|
|
3845
|
+
name: _yoctocolorsCjs$6.magenta('Default branch')
|
|
3804
3846
|
}, {
|
|
3805
3847
|
field: 'archived',
|
|
3806
|
-
name:
|
|
3848
|
+
name: _yoctocolorsCjs$6.magenta('Archived')
|
|
3807
3849
|
}]
|
|
3808
3850
|
};
|
|
3809
|
-
|
|
3851
|
+
spinner.stop(_chalkTable$2(options, result.data.results));
|
|
3810
3852
|
}
|
|
3811
3853
|
|
|
3812
3854
|
var update$1 = {};
|
|
@@ -3816,9 +3858,9 @@ Object.defineProperty(update$1, "__esModule", {
|
|
|
3816
3858
|
value: true
|
|
3817
3859
|
});
|
|
3818
3860
|
update$1.update = void 0;
|
|
3819
|
-
var
|
|
3861
|
+
var _yoctocolorsCjs$5 = require$$1$2;
|
|
3820
3862
|
var _meow$5 = _interopRequireDefault$6(vendor.build);
|
|
3821
|
-
var
|
|
3863
|
+
var _yoctoSpinner$5 = require$$3;
|
|
3822
3864
|
var _flags$5 = flags$1;
|
|
3823
3865
|
var _apiHelpers$5 = apiHelpers;
|
|
3824
3866
|
var _errors$6 = sdk.errors;
|
|
@@ -3837,7 +3879,9 @@ const update = update$1.update = {
|
|
|
3837
3879
|
throw new _errors$6.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3838
3880
|
}
|
|
3839
3881
|
const spinnerText = 'Updating repository... \n';
|
|
3840
|
-
const spinner =
|
|
3882
|
+
const spinner = _yoctoSpinner$5({
|
|
3883
|
+
text: spinnerText
|
|
3884
|
+
}).start();
|
|
3841
3885
|
await updateRepository(input.orgSlug, input, spinner, apiKey);
|
|
3842
3886
|
}
|
|
3843
3887
|
}
|
|
@@ -3905,10 +3949,10 @@ function setupCommand$5(name, description, argv, importMeta) {
|
|
|
3905
3949
|
let showHelp = cli.flags['help'];
|
|
3906
3950
|
if (!orgSlug) {
|
|
3907
3951
|
showHelp = true;
|
|
3908
|
-
console.error(`${
|
|
3952
|
+
console.error(`${_yoctocolorsCjs$5.bgRed(_yoctocolorsCjs$5.white('Input error'))}: Please provide an organization slug and repository name.`);
|
|
3909
3953
|
} else if (!repoName) {
|
|
3910
3954
|
showHelp = true;
|
|
3911
|
-
console.error(`${
|
|
3955
|
+
console.error(`${_yoctocolorsCjs$5.bgRed(_yoctocolorsCjs$5.white('Input error'))}: Repository name is required.`);
|
|
3912
3956
|
}
|
|
3913
3957
|
if (showHelp) {
|
|
3914
3958
|
cli.showHelp();
|
|
@@ -3928,12 +3972,11 @@ function setupCommand$5(name, description, argv, importMeta) {
|
|
|
3928
3972
|
async function updateRepository(orgSlug, input, spinner, apiKey) {
|
|
3929
3973
|
const socketSdk = await (0, _sdk$5.setupSdk)(apiKey);
|
|
3930
3974
|
const result = await (0, _apiHelpers$5.handleApiCall)(socketSdk.updateOrgRepo(orgSlug, input.name, input), 'updating repository');
|
|
3931
|
-
if (
|
|
3975
|
+
if (result.success) {
|
|
3976
|
+
spinner.success('Repository updated successfully');
|
|
3977
|
+
} else {
|
|
3932
3978
|
(0, _apiHelpers$5.handleUnsuccessfulApiResponse)('updateOrgRepo', result, spinner);
|
|
3933
|
-
return;
|
|
3934
3979
|
}
|
|
3935
|
-
spinner.stop();
|
|
3936
|
-
console.log('\n✅ Repository updated successfully\n');
|
|
3937
3980
|
}
|
|
3938
3981
|
|
|
3939
3982
|
var view$1 = {};
|
|
@@ -3943,10 +3986,10 @@ Object.defineProperty(view$1, "__esModule", {
|
|
|
3943
3986
|
value: true
|
|
3944
3987
|
});
|
|
3945
3988
|
view$1.view = void 0;
|
|
3946
|
-
var
|
|
3989
|
+
var _yoctocolorsCjs$4 = require$$1$2;
|
|
3947
3990
|
var _chalkTable$1 = require$$2$3;
|
|
3948
3991
|
var _meow$4 = _interopRequireDefault$5(vendor.build);
|
|
3949
|
-
var
|
|
3992
|
+
var _yoctoSpinner$4 = require$$3;
|
|
3950
3993
|
var _flags$4 = flags$1;
|
|
3951
3994
|
var _apiHelpers$4 = apiHelpers;
|
|
3952
3995
|
var _errors$5 = sdk.errors;
|
|
@@ -3967,7 +4010,9 @@ const view = view$1.view = {
|
|
|
3967
4010
|
throw new _errors$5.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
3968
4011
|
}
|
|
3969
4012
|
const spinnerText = 'Fetching repository... \n';
|
|
3970
|
-
const spinner =
|
|
4013
|
+
const spinner = _yoctoSpinner$4({
|
|
4014
|
+
text: spinnerText
|
|
4015
|
+
}).start();
|
|
3971
4016
|
await viewRepository(input.orgSlug, input.repositoryName, spinner, apiKey);
|
|
3972
4017
|
}
|
|
3973
4018
|
}
|
|
@@ -3998,7 +4043,7 @@ function setupCommand$4(name, description, argv, importMeta) {
|
|
|
3998
4043
|
let showHelp = cli.flags['help'];
|
|
3999
4044
|
if (!cli.input[0]) {
|
|
4000
4045
|
showHelp = true;
|
|
4001
|
-
console.error(`${
|
|
4046
|
+
console.error(`${_yoctocolorsCjs$4.bgRed(_yoctocolorsCjs$4.white('Input error'))}: Please provide an organization slug and repository name.`);
|
|
4002
4047
|
}
|
|
4003
4048
|
if (showHelp) {
|
|
4004
4049
|
cli.showHelp();
|
|
@@ -4022,32 +4067,31 @@ async function viewRepository(orgSlug, repoName, spinner, apiKey) {
|
|
|
4022
4067
|
(0, _apiHelpers$4.handleUnsuccessfulApiResponse)('getOrgRepo', result, spinner);
|
|
4023
4068
|
return;
|
|
4024
4069
|
}
|
|
4025
|
-
spinner.stop();
|
|
4026
4070
|
const options = {
|
|
4027
4071
|
columns: [{
|
|
4028
4072
|
field: 'id',
|
|
4029
|
-
name:
|
|
4073
|
+
name: _yoctocolorsCjs$4.magenta('ID')
|
|
4030
4074
|
}, {
|
|
4031
4075
|
field: 'name',
|
|
4032
|
-
name:
|
|
4076
|
+
name: _yoctocolorsCjs$4.magenta('Name')
|
|
4033
4077
|
}, {
|
|
4034
4078
|
field: 'visibility',
|
|
4035
|
-
name:
|
|
4079
|
+
name: _yoctocolorsCjs$4.magenta('Visibility')
|
|
4036
4080
|
}, {
|
|
4037
4081
|
field: 'default_branch',
|
|
4038
|
-
name:
|
|
4082
|
+
name: _yoctocolorsCjs$4.magenta('Default branch')
|
|
4039
4083
|
}, {
|
|
4040
4084
|
field: 'homepage',
|
|
4041
|
-
name:
|
|
4085
|
+
name: _yoctocolorsCjs$4.magenta('Homepage')
|
|
4042
4086
|
}, {
|
|
4043
4087
|
field: 'archived',
|
|
4044
|
-
name:
|
|
4088
|
+
name: _yoctocolorsCjs$4.magenta('Archived')
|
|
4045
4089
|
}, {
|
|
4046
4090
|
field: 'created_at',
|
|
4047
|
-
name:
|
|
4091
|
+
name: _yoctocolorsCjs$4.magenta('Created at')
|
|
4048
4092
|
}]
|
|
4049
4093
|
};
|
|
4050
|
-
|
|
4094
|
+
spinner.stop(_chalkTable$1(options, [result.data]));
|
|
4051
4095
|
}
|
|
4052
4096
|
|
|
4053
4097
|
Object.defineProperty(repos, "__esModule", {
|
|
@@ -4088,10 +4132,10 @@ Object.defineProperty(dependencies$1, "__esModule", {
|
|
|
4088
4132
|
value: true
|
|
4089
4133
|
});
|
|
4090
4134
|
dependencies$1.dependencies = void 0;
|
|
4091
|
-
var
|
|
4135
|
+
var _yoctocolorsCjs$3 = require$$1$2;
|
|
4092
4136
|
var _chalkTable = require$$2$3;
|
|
4093
4137
|
var _meow$3 = _interopRequireDefault$4(vendor.build);
|
|
4094
|
-
var
|
|
4138
|
+
var _yoctoSpinner$3 = require$$3;
|
|
4095
4139
|
var _flags$3 = flags$1;
|
|
4096
4140
|
var _apiHelpers$3 = apiHelpers;
|
|
4097
4141
|
var _errors$4 = sdk.errors;
|
|
@@ -4171,8 +4215,9 @@ async function searchDeps({
|
|
|
4171
4215
|
if (!apiKey) {
|
|
4172
4216
|
throw new _errors$4.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
4173
4217
|
}
|
|
4174
|
-
const
|
|
4175
|
-
|
|
4218
|
+
const spinner = _yoctoSpinner$3({
|
|
4219
|
+
text: 'Searching dependencies...'
|
|
4220
|
+
}).start();
|
|
4176
4221
|
const socketSdk = await (0, _sdk$3.setupSdk)(apiKey);
|
|
4177
4222
|
const result = await (0, _apiHelpers$3.handleApiCall)(socketSdk.searchDependencies({
|
|
4178
4223
|
limit,
|
|
@@ -4182,8 +4227,7 @@ async function searchDeps({
|
|
|
4182
4227
|
(0, _apiHelpers$3.handleUnsuccessfulApiResponse)('searchDependencies', result, spinner);
|
|
4183
4228
|
return;
|
|
4184
4229
|
}
|
|
4185
|
-
spinner.stop();
|
|
4186
|
-
console.log('Organization dependencies:\n');
|
|
4230
|
+
spinner.stop('Organization dependencies:');
|
|
4187
4231
|
if (outputJson) {
|
|
4188
4232
|
console.log(result.data);
|
|
4189
4233
|
return;
|
|
@@ -4191,28 +4235,28 @@ async function searchDeps({
|
|
|
4191
4235
|
const options = {
|
|
4192
4236
|
columns: [{
|
|
4193
4237
|
field: 'namespace',
|
|
4194
|
-
name:
|
|
4238
|
+
name: _yoctocolorsCjs$3.cyan('Namespace')
|
|
4195
4239
|
}, {
|
|
4196
4240
|
field: 'name',
|
|
4197
|
-
name:
|
|
4241
|
+
name: _yoctocolorsCjs$3.cyan('Name')
|
|
4198
4242
|
}, {
|
|
4199
4243
|
field: 'version',
|
|
4200
|
-
name:
|
|
4244
|
+
name: _yoctocolorsCjs$3.cyan('Version')
|
|
4201
4245
|
}, {
|
|
4202
4246
|
field: 'repository',
|
|
4203
|
-
name:
|
|
4247
|
+
name: _yoctocolorsCjs$3.cyan('Repository')
|
|
4204
4248
|
}, {
|
|
4205
4249
|
field: 'branch',
|
|
4206
|
-
name:
|
|
4250
|
+
name: _yoctocolorsCjs$3.cyan('Branch')
|
|
4207
4251
|
}, {
|
|
4208
4252
|
field: 'type',
|
|
4209
|
-
name:
|
|
4253
|
+
name: _yoctocolorsCjs$3.cyan('Type')
|
|
4210
4254
|
}, {
|
|
4211
4255
|
field: 'direct',
|
|
4212
|
-
name:
|
|
4256
|
+
name: _yoctocolorsCjs$3.cyan('Direct')
|
|
4213
4257
|
}]
|
|
4214
4258
|
};
|
|
4215
|
-
console.log(
|
|
4259
|
+
console.log(_chalkTable(options, result.data.rows));
|
|
4216
4260
|
}
|
|
4217
4261
|
|
|
4218
4262
|
var analytics$1 = {};
|
|
@@ -4222,12 +4266,14 @@ Object.defineProperty(analytics$1, "__esModule", {
|
|
|
4222
4266
|
value: true
|
|
4223
4267
|
});
|
|
4224
4268
|
analytics$1.analytics = void 0;
|
|
4225
|
-
var _promises = require$$1$
|
|
4226
|
-
var
|
|
4227
|
-
var
|
|
4228
|
-
var
|
|
4269
|
+
var _promises = require$$1$4;
|
|
4270
|
+
var _screen$1 = require$$2$4;
|
|
4271
|
+
var _bar = require$$3$3;
|
|
4272
|
+
var _grid = require$$4$2;
|
|
4273
|
+
var _line = require$$5$4;
|
|
4229
4274
|
var _meow$2 = _interopRequireDefault$3(vendor.build);
|
|
4230
|
-
var
|
|
4275
|
+
var _yoctocolorsCjs$2 = require$$1$2;
|
|
4276
|
+
var _yoctoSpinner$2 = require$$3;
|
|
4231
4277
|
var _flags$2 = flags$1;
|
|
4232
4278
|
var _apiHelpers$2 = apiHelpers;
|
|
4233
4279
|
var _errors$3 = sdk.errors;
|
|
@@ -4235,6 +4281,12 @@ var _formatting$2 = formatting;
|
|
|
4235
4281
|
var _sdk$2 = sdk.sdk;
|
|
4236
4282
|
// @ts-ignore
|
|
4237
4283
|
|
|
4284
|
+
// @ts-ignore
|
|
4285
|
+
|
|
4286
|
+
// @ts-ignore
|
|
4287
|
+
|
|
4288
|
+
// @ts-ignore
|
|
4289
|
+
|
|
4238
4290
|
const analytics = analytics$1.analytics = {
|
|
4239
4291
|
description: `Look up analytics data \n
|
|
4240
4292
|
Default parameters are set to show the organization-level analytics over the last 7 days.`,
|
|
@@ -4248,7 +4300,9 @@ const analytics = analytics$1.analytics = {
|
|
|
4248
4300
|
if (!apiKey) {
|
|
4249
4301
|
throw new _errors$3.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
4250
4302
|
}
|
|
4251
|
-
const spinner =
|
|
4303
|
+
const spinner = _yoctoSpinner$2({
|
|
4304
|
+
text: 'Fetching analytics data'
|
|
4305
|
+
}).start();
|
|
4252
4306
|
if (input.scope === 'org') {
|
|
4253
4307
|
await fetchOrgAnalyticsData(input.time, spinner, apiKey, input.outputJson, input.file);
|
|
4254
4308
|
} else {
|
|
@@ -4325,7 +4379,7 @@ function setupCommand$2(name, description, argv, importMeta) {
|
|
|
4325
4379
|
let showHelp = cli.flags['help'];
|
|
4326
4380
|
if (scope === 'repo' && !repo) {
|
|
4327
4381
|
showHelp = true;
|
|
4328
|
-
console.error(`${
|
|
4382
|
+
console.error(`${_yoctocolorsCjs$2.bgRed(_yoctocolorsCjs$2.white('Input error'))}: Please provide a repository name when using the repository scope.`);
|
|
4329
4383
|
}
|
|
4330
4384
|
if (showHelp) {
|
|
4331
4385
|
cli.showHelp();
|
|
@@ -4479,8 +4533,8 @@ async function fetchRepoAnalyticsData(repo, time, spinner, apiKey, outputJson, f
|
|
|
4479
4533
|
return displayAnalyticsScreen(data);
|
|
4480
4534
|
}
|
|
4481
4535
|
const displayAnalyticsScreen = data => {
|
|
4482
|
-
const screen =
|
|
4483
|
-
const grid = new
|
|
4536
|
+
const screen = new _screen$1();
|
|
4537
|
+
const grid = new _grid({
|
|
4484
4538
|
rows: 5,
|
|
4485
4539
|
cols: 4,
|
|
4486
4540
|
screen
|
|
@@ -4493,7 +4547,7 @@ const displayAnalyticsScreen = data => {
|
|
|
4493
4547
|
renderLineCharts(grid, screen, 'Total high alerts prevented from the main branch', [2, 2, 1, 2], data['total_high_prevented']);
|
|
4494
4548
|
renderLineCharts(grid, screen, 'Total medium alerts prevented from the main branch', [3, 0, 1, 2], data['total_medium_prevented']);
|
|
4495
4549
|
renderLineCharts(grid, screen, 'Total low alerts prevented from the main branch', [3, 2, 1, 2], data['total_low_prevented']);
|
|
4496
|
-
const bar = grid.set(4, 0, 1, 2,
|
|
4550
|
+
const bar = grid.set(4, 0, 1, 2, _bar, {
|
|
4497
4551
|
label: 'Top 5 alert types',
|
|
4498
4552
|
barWidth: 10,
|
|
4499
4553
|
barSpacing: 17,
|
|
@@ -4511,7 +4565,7 @@ const displayAnalyticsScreen = data => {
|
|
|
4511
4565
|
screen.key(['escape', 'q', 'C-c'], () => process.exit(0));
|
|
4512
4566
|
};
|
|
4513
4567
|
const renderLineCharts = (grid, screen, title, coords, data) => {
|
|
4514
|
-
const line = grid.set(...coords,
|
|
4568
|
+
const line = grid.set(...coords, _line, {
|
|
4515
4569
|
style: {
|
|
4516
4570
|
line: 'cyan',
|
|
4517
4571
|
text: 'cyan',
|
|
@@ -4545,9 +4599,9 @@ Object.defineProperty(get$1, "__esModule", {
|
|
|
4545
4599
|
get$1.get = void 0;
|
|
4546
4600
|
var _nodeFs = require$$0;
|
|
4547
4601
|
var _nodeUtil = require$$0$2;
|
|
4548
|
-
var
|
|
4602
|
+
var _yoctocolorsCjs$1 = require$$1$2;
|
|
4549
4603
|
var _meow$1 = _interopRequireDefault$2(vendor.build);
|
|
4550
|
-
var
|
|
4604
|
+
var _yoctoSpinner$1 = require$$3;
|
|
4551
4605
|
var _flags$1 = flags$1;
|
|
4552
4606
|
var _apiHelpers$1 = apiHelpers;
|
|
4553
4607
|
var _errors$2 = sdk.errors;
|
|
@@ -4566,7 +4620,9 @@ const get = get$1.get = {
|
|
|
4566
4620
|
throw new _errors$2.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
4567
4621
|
}
|
|
4568
4622
|
const spinnerText = 'Getting diff scan... \n';
|
|
4569
|
-
const spinner =
|
|
4623
|
+
const spinner = _yoctoSpinner$1({
|
|
4624
|
+
text: spinnerText
|
|
4625
|
+
}).start();
|
|
4570
4626
|
await getDiffScan(input, spinner, apiKey);
|
|
4571
4627
|
}
|
|
4572
4628
|
}
|
|
@@ -4628,10 +4684,10 @@ function setupCommand$1(name, description, argv, importMeta) {
|
|
|
4628
4684
|
let showHelp = cli.flags['help'];
|
|
4629
4685
|
if (!before || !after) {
|
|
4630
4686
|
showHelp = true;
|
|
4631
|
-
console.error(`${
|
|
4687
|
+
console.error(`${_yoctocolorsCjs$1.bgRed(_yoctocolorsCjs$1.white('Input error'))}: Please specify a before and after full scan ID. To get full scans IDs, you can run the command "socket scan list <your org slug>".`);
|
|
4632
4688
|
} else if (cli.input.length < 1) {
|
|
4633
4689
|
showHelp = true;
|
|
4634
|
-
console.error(`${
|
|
4690
|
+
console.error(`${_yoctocolorsCjs$1.bgRed(_yoctocolorsCjs$1.white('Input error'))}: Please provide an organization slug.`);
|
|
4635
4691
|
}
|
|
4636
4692
|
if (showHelp) {
|
|
4637
4693
|
cli.showHelp();
|
|
@@ -4658,9 +4714,8 @@ async function getDiffScan({
|
|
|
4658
4714
|
const response = await (0, _apiHelpers$1.queryAPI)(`${orgSlug}/full-scans/diff?before=${before}&after=${after}&preview`, apiKey);
|
|
4659
4715
|
const data = await response.json();
|
|
4660
4716
|
if (!response.ok) {
|
|
4661
|
-
spinner.stop();
|
|
4662
4717
|
const err = await (0, _apiHelpers$1.handleAPIError)(response.status);
|
|
4663
|
-
|
|
4718
|
+
spinner.error(`${_yoctocolorsCjs$1.bgRed(_yoctocolorsCjs$1.white(response.statusText))}: ${err}`);
|
|
4664
4719
|
return;
|
|
4665
4720
|
}
|
|
4666
4721
|
spinner.stop();
|
|
@@ -4677,15 +4732,13 @@ async function getDiffScan({
|
|
|
4677
4732
|
depth: null,
|
|
4678
4733
|
colors: true
|
|
4679
4734
|
}));
|
|
4680
|
-
|
|
4681
|
-
console.log(`\n View this diff scan in the Socket dashboard: ${_chalk$1.default.cyan(data?.['diff_report_url'])}\n`);
|
|
4735
|
+
console.log(`\n View this diff scan in the Socket dashboard: ${_yoctocolorsCjs$1.cyan(data?.['diff_report_url'])}`);
|
|
4682
4736
|
return;
|
|
4683
4737
|
}
|
|
4684
|
-
console.log('Diff scan result:
|
|
4738
|
+
console.log('Diff scan result:');
|
|
4685
4739
|
console.log(data);
|
|
4686
4740
|
console.log(`\n 📝 To display the detailed report in the terminal, use the --json flag \n`);
|
|
4687
|
-
|
|
4688
|
-
console.log(`\n View this diff scan in the Socket dashboard: ${_chalk$1.default.cyan(data?.['diff_report_url'])}\n`);
|
|
4741
|
+
console.log(`\n View this diff scan in the Socket dashboard: ${_yoctocolorsCjs$1.cyan(data?.['diff_report_url'])}`);
|
|
4689
4742
|
}
|
|
4690
4743
|
|
|
4691
4744
|
Object.defineProperty(diffScan, "__esModule", {
|
|
@@ -4718,10 +4771,10 @@ Object.defineProperty(threatFeed$1, "__esModule", {
|
|
|
4718
4771
|
value: true
|
|
4719
4772
|
});
|
|
4720
4773
|
threatFeed$1.threatFeed = void 0;
|
|
4721
|
-
var
|
|
4722
|
-
var
|
|
4774
|
+
var _screen = require$$2$4;
|
|
4775
|
+
var _table = require$$2$5;
|
|
4723
4776
|
var _meow = _interopRequireDefault$1(vendor.build);
|
|
4724
|
-
var
|
|
4777
|
+
var _yoctoSpinner = require$$3;
|
|
4725
4778
|
var _flags = flags$1;
|
|
4726
4779
|
var _apiHelpers = apiHelpers;
|
|
4727
4780
|
var _errors$1 = sdk.errors;
|
|
@@ -4729,19 +4782,23 @@ var _formatting = formatting;
|
|
|
4729
4782
|
var _sdk = sdk.sdk;
|
|
4730
4783
|
// @ts-ignore
|
|
4731
4784
|
|
|
4785
|
+
// @ts-ignore
|
|
4786
|
+
|
|
4732
4787
|
const threatFeed = threatFeed$1.threatFeed = {
|
|
4733
4788
|
description: 'Look up the threat feed',
|
|
4734
4789
|
async run(argv, importMeta, {
|
|
4735
4790
|
parentName
|
|
4736
4791
|
}) {
|
|
4737
|
-
const name = parentName
|
|
4792
|
+
const name = `${parentName} threat-feed`;
|
|
4738
4793
|
const input = setupCommand(name, threatFeed.description, argv, importMeta);
|
|
4739
4794
|
if (input) {
|
|
4740
4795
|
const apiKey = (0, _sdk.getDefaultKey)();
|
|
4741
4796
|
if (!apiKey) {
|
|
4742
4797
|
throw new _errors$1.AuthError('User must be authenticated to run this command. To log in, run the command `socket login` and enter your API key.');
|
|
4743
4798
|
}
|
|
4744
|
-
const spinner = (
|
|
4799
|
+
const spinner = _yoctoSpinner({
|
|
4800
|
+
text: 'Looking up the threat feed'
|
|
4801
|
+
}).start();
|
|
4745
4802
|
await fetchThreatFeed(input, spinner, apiKey);
|
|
4746
4803
|
}
|
|
4747
4804
|
}
|
|
@@ -4831,10 +4888,11 @@ async function fetchThreatFeed({
|
|
|
4831
4888
|
const data = await response.json();
|
|
4832
4889
|
spinner.stop();
|
|
4833
4890
|
if (outputJson) {
|
|
4834
|
-
|
|
4891
|
+
console.log(data);
|
|
4892
|
+
return;
|
|
4835
4893
|
}
|
|
4836
|
-
const screen =
|
|
4837
|
-
const table =
|
|
4894
|
+
const screen = new _screen();
|
|
4895
|
+
const table = new _table({
|
|
4838
4896
|
keys: 'true',
|
|
4839
4897
|
fg: 'white',
|
|
4840
4898
|
selectedFg: 'white',
|
|
@@ -5099,11 +5157,11 @@ var _interopRequireWildcard = vendor.interopRequireWildcard.default;
|
|
|
5099
5157
|
var _interopRequireDefault = vendor.interopRequireDefault.default;
|
|
5100
5158
|
var _nodePath = require$$1;
|
|
5101
5159
|
var _nodeUrl = require$$8$2;
|
|
5102
|
-
var
|
|
5160
|
+
var _yoctocolorsCjs = require$$1$2;
|
|
5103
5161
|
var _ponyCause = require$$5$1;
|
|
5104
5162
|
var _tinyUpdater = _interopRequireDefault(vendor.dist);
|
|
5105
5163
|
var cliCommands = _interopRequireWildcard(commands, true);
|
|
5106
|
-
var
|
|
5164
|
+
var _colorOrMarkdown = sdk.colorOrMarkdown;
|
|
5107
5165
|
var _errors = sdk.errors;
|
|
5108
5166
|
var _meowWithSubcommands = meowWithSubcommands$1;
|
|
5109
5167
|
const distPath = __dirname;
|
|
@@ -5158,7 +5216,7 @@ void (async () => {
|
|
|
5158
5216
|
} else {
|
|
5159
5217
|
errorTitle = 'Unexpected error with no details';
|
|
5160
5218
|
}
|
|
5161
|
-
console.error(`${
|
|
5219
|
+
console.error(`${_colorOrMarkdown.logSymbols.error} ${_yoctocolorsCjs.bgRed(_yoctocolorsCjs.white(errorTitle + ':'))} ${errorMessage}`);
|
|
5162
5220
|
if (errorBody) {
|
|
5163
5221
|
console.error(`\n${errorBody}`);
|
|
5164
5222
|
}
|