socket 0.14.21 → 0.14.23

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 CHANGED
@@ -2,36 +2,35 @@
2
2
  'use strict';
3
3
 
4
4
  var vendor = require('./vendor.js');
5
- var require$$0 = require('node:fs');
6
5
  var require$$1 = require('node:path');
7
- var require$$2$6 = require('node:url');
8
- var require$$6 = require('pony-cause');
6
+ var require$$8$1 = require('node:url');
7
+ var require$$6$1 = require('pony-cause');
8
+ var require$$0 = require('node:fs');
9
9
  var require$$1$1 = require('@npmcli/promise-spawn');
10
- var require$$5 = require('yargs-parser');
10
+ var require$$6 = require('yargs-parser');
11
11
  var sdk = require('./sdk.js');
12
12
  var require$$1$2 = require('@inquirer/prompts');
13
13
  var require$$1$4 = require('node:fs/promises');
14
14
  var require$$1$3 = require('@npmcli/package-json');
15
- var require$$5$1 = require('@socketsecurity/registry');
15
+ var require$$5 = require('@socketsecurity/registry');
16
16
  var require$$7 = require('npm-package-arg');
17
- var require$$0$1 = require('pacote');
18
- var require$$3 = require('semver');
19
- var require$$11 = require('tinyglobby');
20
- var require$$12 = require('yaml');
17
+ var require$$14 = require('semver');
18
+ var require$$15 = require('tinyglobby');
19
+ var require$$16 = require('yaml');
21
20
  var require$$2 = require('@socketregistry/hyrious__bun.lockb');
22
- var require$$4 = require('browserslist');
23
- var require$$6$1 = require('which');
21
+ var require$$10 = require('browserslist');
22
+ var require$$8 = require('which');
24
23
  var require$$2$1 = require('@apideck/better-ajv-errors');
25
- var require$$3$1 = require('@socketsecurity/config');
24
+ var require$$3 = require('@socketsecurity/config');
26
25
  var pathResolve = require('./path-resolve.js');
27
- var require$$2$2 = require('node:os');
28
- var require$$3$2 = require('node:readline');
29
- var require$$0$2 = require('node:process');
30
- var require$$2$3 = require('node:readline/promises');
31
- var require$$2$4 = require('chalk-table');
32
- var require$$2$5 = require('blessed');
33
- var require$$3$3 = require('blessed-contrib');
34
- var require$$0$3 = require('node:util');
26
+ var require$$1$5 = require('node:os');
27
+ var require$$3$1 = require('node:readline');
28
+ var require$$0$1 = require('node:process');
29
+ var require$$2$2 = require('node:readline/promises');
30
+ var require$$2$3 = require('chalk-table');
31
+ var require$$2$4 = require('blessed');
32
+ var require$$3$2 = require('blessed-contrib');
33
+ var require$$0$2 = require('node:util');
35
34
 
36
35
  var cli$1 = {};
37
36
 
@@ -46,11 +45,12 @@ Object.defineProperty(cdxgen, "__esModule", {
46
45
  value: true
47
46
  });
48
47
  cdxgen.cdxgen = void 0;
49
- var _nodeFs$4 = require$$0;
48
+ var _nodeFs$3 = require$$0;
50
49
  var _nodePath$7 = require$$1;
51
50
  var _promiseSpawn$6 = require$$1$1;
51
+ var _objects$6 = vendor.objects;
52
52
  var _chalk$j = _interopRequireDefault$s(vendor.source);
53
- var _yargsParser = require$$5;
53
+ var _yargsParser = require$$6;
54
54
  const distPath$4 = __dirname;
55
55
  const {
56
56
  execPath
@@ -142,18 +142,18 @@ function argvToArray(argv) {
142
142
  for (const {
143
143
  0: key,
144
144
  1: value
145
- } of Object.entries(argv)) {
145
+ } of (0, _objects$6.objectEntries)(argv)) {
146
146
  if (key === '_' || key === '--') continue;
147
147
  if (key === 'babel' || key === 'install-deps' || key === 'validate') {
148
148
  // cdxgen documents no-babel, no-install-deps, and no-validate flags so
149
149
  // use them when relevant.
150
150
  result.push(`--${value ? key : `no-${key}`}`);
151
151
  } else if (value === true) {
152
- result.push(`--${key}`);
152
+ result.push(`--${String(key)}`);
153
153
  } else if (typeof value === 'string') {
154
- result.push(`--${key}`, String(value));
154
+ result.push(`--${String(key)}`, String(value));
155
155
  } else if (Array.isArray(value)) {
156
- result.push(`--${key}`, ...value.map(String));
156
+ result.push(`--${String(key)}`, ...value.map(String));
157
157
  }
158
158
  }
159
159
  if (argv['--']) {
@@ -177,14 +177,14 @@ cdxgen.cdxgen = {
177
177
  return;
178
178
  }
179
179
  let cleanupPackageLock = false;
180
- if (yargv.type !== 'yarn' && nodejsPlatformTypes.includes(yargv.type) && (0, _nodeFs$4.existsSync)('./yarn.lock')) {
181
- if ((0, _nodeFs$4.existsSync)('./package-lock.json')) {
180
+ if (yargv.type !== 'yarn' && nodejsPlatformTypes.includes(yargv.type) && (0, _nodeFs$3.existsSync)('./yarn.lock')) {
181
+ if ((0, _nodeFs$3.existsSync)('./package-lock.json')) {
182
182
  yargv.type = 'npm';
183
183
  } else {
184
184
  // Use synp to create a package-lock.json from the yarn.lock,
185
185
  // based on the node_modules folder, for a more accurate SBOM.
186
186
  try {
187
- await _promiseSpawn$6(execPath, [await _nodeFs$4.promises.realpath(synpBinPath), '--source-file', './yarn.lock'], {
187
+ await _promiseSpawn$6(execPath, [await _nodeFs$3.promises.realpath(synpBinPath), '--source-file', './yarn.lock'], {
188
188
  shell: true
189
189
  });
190
190
  yargv.type = 'npm';
@@ -195,7 +195,7 @@ cdxgen.cdxgen = {
195
195
  if (yargv.output === undefined) {
196
196
  yargv.output = 'socket-cdx.json';
197
197
  }
198
- await _promiseSpawn$6(execPath, [await _nodeFs$4.promises.realpath(cdxgenBinPath), ...argvToArray(yargv)], {
198
+ await _promiseSpawn$6(execPath, [await _nodeFs$3.promises.realpath(cdxgenBinPath), ...argvToArray(yargv)], {
199
199
  env: {
200
200
  NODE_ENV: '',
201
201
  SBOM_SIGN_ALGORITHM,
@@ -207,11 +207,11 @@ cdxgen.cdxgen = {
207
207
  });
208
208
  if (cleanupPackageLock) {
209
209
  try {
210
- await _nodeFs$4.promises.unlink('./package-lock.json');
210
+ await _nodeFs$3.promises.unlink('./package-lock.json');
211
211
  } catch {}
212
212
  }
213
213
  const fullOutputPath = _nodePath$7.join(process.cwd(), yargv.output);
214
- if ((0, _nodeFs$4.existsSync)(fullOutputPath)) {
214
+ if ((0, _nodeFs$3.existsSync)(fullOutputPath)) {
215
215
  console.log(_chalk$j.default.cyanBright(`${yargv.output} created!`));
216
216
  }
217
217
  }
@@ -283,7 +283,7 @@ apiHelpers.handleApiCall = handleApiCall;
283
283
  apiHelpers.handleUnsuccessfulApiResponse = handleUnsuccessfulApiResponse;
284
284
  apiHelpers.queryAPI = queryAPI;
285
285
  var _chalk$i = _interopRequireDefault$r(vendor.source);
286
- var _ponyCause$4 = require$$6;
286
+ var _ponyCause$4 = require$$6$1;
287
287
  var _errors$l = sdk.errors;
288
288
  var _constants$1 = sdk.constants;
289
289
  function handleUnsuccessfulApiResponse(_name, result, spinner) {
@@ -325,13 +325,36 @@ async function queryAPI(path, apiKey) {
325
325
 
326
326
  var formatIssues = {};
327
327
 
328
+ var objects = {};
329
+
330
+ Object.defineProperty(objects, "__esModule", {
331
+ value: true
332
+ });
333
+ objects.objectSome = objectSome;
334
+ objects.pick = pick;
335
+ function objectSome(obj) {
336
+ for (const key in obj) {
337
+ if (obj[key]) {
338
+ return true;
339
+ }
340
+ }
341
+ return false;
342
+ }
343
+ function pick(input, keys) {
344
+ const result = {};
345
+ for (const key of keys) {
346
+ result[key] = input[key];
347
+ }
348
+ return result;
349
+ }
350
+
328
351
  Object.defineProperty(formatIssues, "__esModule", {
329
352
  value: true
330
353
  });
331
354
  formatIssues.formatSeverityCount = formatSeverityCount;
332
355
  formatIssues.getSeverityCount = getSeverityCount;
333
356
  var _misc$2 = sdk.misc;
334
- var _objects$3 = sdk.objects;
357
+ var _objects$5 = objects;
335
358
  const SEVERITIES_BY_ORDER = ['critical', 'high', 'middle', 'low'];
336
359
  function getDesiredSeverities(lowestToInclude) {
337
360
  const result = [];
@@ -353,7 +376,7 @@ function formatSeverityCount(severityCount) {
353
376
  return (0, _misc$2.stringJoinWithSeparateFinalSeparator)(summary);
354
377
  }
355
378
  function getSeverityCount(issues, lowestToInclude) {
356
- const severityCount = (0, _objects$3.pick)({
379
+ const severityCount = (0, _objects$5.pick)({
357
380
  low: 0,
358
381
  middle: 0,
359
382
  high: 0,
@@ -417,7 +440,7 @@ var _chalkMarkdown$3 = sdk.chalkMarkdown;
417
440
  var _errors$k = sdk.errors;
418
441
  var _formatIssues$1 = formatIssues;
419
442
  var _formatting$m = formatting;
420
- var _objects$2 = sdk.objects;
443
+ var _objects$4 = objects;
421
444
  var _sdk$j = sdk.sdk;
422
445
  const info = info$1.info = {
423
446
  description: 'Look up info regarding a package',
@@ -533,7 +556,7 @@ function formatPackageDataOutput({
533
556
  License: Math.floor(score.license.score * 100)
534
557
  };
535
558
  Object.entries(scoreResult).map(score => console.log(`- ${score[0]}: ${formatScore(score[1])}`));
536
- if ((0, _objects$2.objectSome)(severityCount)) {
559
+ if ((0, _objects$4.objectSome)(severityCount)) {
537
560
  const issueSummary = (0, _formatIssues$1.formatSeverityCount)(severityCount);
538
561
  console.log('\n');
539
562
  spinner[strict ? 'fail' : 'succeed'](`Package has these issues: ${issueSummary}`);
@@ -557,7 +580,7 @@ function formatPackageDataOutput({
557
580
  console.log(_chalk$h.default.dim('\nOr rerun', _chalk$h.default.italic(name), 'using the', _chalk$h.default.italic('--json'), 'flag to get full JSON output'));
558
581
  }
559
582
  }
560
- if (strict && (0, _objects$2.objectSome)(severityCount)) {
583
+ if (strict && (0, _objects$4.objectSome)(severityCount)) {
561
584
  process.exit(1);
562
585
  }
563
586
  }
@@ -844,11 +867,11 @@ fs.existsSync = existsSync;
844
867
  fs.findUp = findUp;
845
868
  fs.readFileBinary = readFileBinary;
846
869
  fs.readFileUtf8 = readFileUtf8;
847
- var _nodeFs$3 = require$$0;
870
+ var _nodeFs$2 = require$$0;
848
871
  var _nodePath$4 = require$$1;
849
872
  function existsSync(filepath) {
850
873
  try {
851
- return filepath ? (0, _nodeFs$3.existsSync)(filepath) : false;
874
+ return filepath ? (0, _nodeFs$2.existsSync)(filepath) : false;
852
875
  } catch {}
853
876
  return false;
854
877
  }
@@ -865,7 +888,7 @@ async function findUp(name, {
865
888
  const filePath = _nodePath$4.join(dir, name);
866
889
  try {
867
890
  // eslint-disable-next-line no-await-in-loop
868
- const stats = await _nodeFs$3.promises.stat(filePath);
891
+ const stats = await _nodeFs$2.promises.stat(filePath);
869
892
  if (stats.isFile()) {
870
893
  return filePath;
871
894
  }
@@ -876,13 +899,13 @@ async function findUp(name, {
876
899
  return undefined;
877
900
  }
878
901
  async function readFileBinary(filepath, options) {
879
- return await _nodeFs$3.promises.readFile(filepath, {
902
+ return await _nodeFs$2.promises.readFile(filepath, {
880
903
  ...options,
881
904
  encoding: 'binary'
882
905
  });
883
906
  }
884
907
  async function readFileUtf8(filepath, options) {
885
- return await _nodeFs$3.promises.readFile(filepath, {
908
+ return await _nodeFs$2.promises.readFile(filepath, {
886
909
  ...options,
887
910
  encoding: 'utf8'
888
911
  });
@@ -890,16 +913,6 @@ async function readFileUtf8(filepath, options) {
890
913
 
891
914
  var packageManagerDetector = {};
892
915
 
893
- var strings = {};
894
-
895
- Object.defineProperty(strings, "__esModule", {
896
- value: true
897
- });
898
- strings.isNonEmptyString = isNonEmptyString;
899
- function isNonEmptyString(value) {
900
- return typeof value === 'string' && value.length > 0;
901
- }
902
-
903
916
  Object.defineProperty(packageManagerDetector, "__esModule", {
904
917
  value: true
905
918
  });
@@ -909,20 +922,20 @@ var _nodePath$3 = require$$1;
909
922
  var _packageJson$1 = require$$1$3;
910
923
  var _hyrious__bun = require$$2;
911
924
  var _promiseSpawn$3 = require$$1$1;
912
- var _browserslist = require$$4;
913
- var _semver$1 = require$$3;
914
- var _which = require$$6$1;
925
+ var _constants = vendor.constants_1;
926
+ var _objects$3 = vendor.objects;
927
+ var _strings$1 = vendor.strings;
928
+ var _browserslist = require$$10;
929
+ var _semver$1 = require$$14;
930
+ var _which = require$$8;
915
931
  var _fs$1 = fs;
916
- var _objects$1 = sdk.objects;
917
- var _strings$1 = strings;
918
932
  const AGENTS = packageManagerDetector.AGENTS = ['bun', 'npm', 'pnpm', 'yarn/berry', 'yarn/classic', 'vlt'];
919
- const numericCollator = new Intl.Collator(undefined, {
933
+ const {
934
+ compare: alphaNumericComparator
935
+ } = new Intl.Collator(undefined, {
920
936
  numeric: true,
921
937
  sensitivity: 'base'
922
938
  });
923
- const {
924
- compare: alphaNumericComparator
925
- } = numericCollator;
926
939
  async function getAgentExecPath(agent) {
927
940
  return (await _which(agent, {
928
941
  nothrow: true
@@ -939,31 +952,6 @@ async function getAgentVersion(agentExecPath, cwd) {
939
952
  } catch {}
940
953
  return result;
941
954
  }
942
- const maintainedNodeVersions = (() => {
943
- // Under the hood browserlist uses the node-releases package which is out of date:
944
- // https://github.com/chicoxyzzy/node-releases/issues/37
945
- // So we maintain a manual version list for now.
946
- // https://nodejs.org/en/about/previous-releases#looking-for-latest-release-of-a-version-branch
947
- const manualPrev = '18.20.4';
948
- const manualCurr = '20.18.0';
949
- const manualNext = '22.10.0';
950
- const query = _browserslist('maintained node versions')
951
- // Trim value, e.g. 'node 22.5.0' to '22.5.0'.
952
- .map(s => s.slice(5 /*'node '.length*/))
953
- // Sort ascending.
954
- .toSorted(alphaNumericComparator);
955
- const queryPrev = query.at(0) ?? manualPrev;
956
- const queryCurr = query.at(1) ?? manualCurr;
957
- const queryNext = query.at(2) ?? manualNext;
958
- const previous = _semver$1.maxSatisfying([queryPrev, manualPrev], `^${_semver$1.major(queryPrev)}`);
959
- const current = _semver$1.maxSatisfying([queryCurr, manualCurr], `^${_semver$1.major(queryCurr)}`);
960
- const next = _semver$1.maxSatisfying([queryNext, manualNext], `^${_semver$1.major(queryNext)}`);
961
- return Object.freeze(Object.assign([previous, current, next], {
962
- previous,
963
- current,
964
- next
965
- }));
966
- })();
967
955
  const LOCKS = {
968
956
  'bun.lockb': 'bun',
969
957
  // If both package-lock.json and npm-shrinkwrap.json are present in the root
@@ -1066,10 +1054,11 @@ async function detect({
1066
1054
  node: true
1067
1055
  };
1068
1056
  let lockSrc;
1069
- let minimumNodeVersion = maintainedNodeVersions.previous;
1057
+ // Lazily access constants.maintainedNodeVersions.
1058
+ let minimumNodeVersion = _constants.maintainedNodeVersions.previous;
1070
1059
  if (pkgJson) {
1071
1060
  const browserField = pkgJson.browser;
1072
- if ((0, _strings$1.isNonEmptyString)(browserField) || (0, _objects$1.isObjectObject)(browserField)) {
1061
+ if ((0, _strings$1.isNonEmptyString)(browserField) || (0, _objects$3.isObjectObject)(browserField)) {
1073
1062
  targets.browser = true;
1074
1063
  }
1075
1064
  const nodeRange = pkgJson.engines?.['node'];
@@ -1093,7 +1082,8 @@ async function detect({
1093
1082
  }
1094
1083
  }
1095
1084
  }
1096
- targets.node = maintainedNodeVersions.some(v => _semver$1.satisfies(v, `>=${minimumNodeVersion}`));
1085
+ // Lazily access constants.maintainedNodeVersions.
1086
+ targets.node = _constants.maintainedNodeVersions.some(v => _semver$1.satisfies(v, `>=${minimumNodeVersion}`));
1097
1087
  lockSrc = typeof lockPath === 'string' ? await readLockFileByAgent[agent](lockPath, agentExecPath) : undefined;
1098
1088
  } else {
1099
1089
  lockPath = undefined;
@@ -1113,88 +1103,6 @@ async function detect({
1113
1103
  };
1114
1104
  }
1115
1105
 
1116
- var promises = {};
1117
-
1118
- var arrays = {};
1119
-
1120
- Object.defineProperty(arrays, "__esModule", {
1121
- value: true
1122
- });
1123
- arrays.arrayChunk = arrayChunk;
1124
- arrays.arrayUnique = arrayUnique;
1125
- function arrayChunk(arr, size = 2) {
1126
- const {
1127
- length
1128
- } = arr;
1129
- const chunkSize = Math.min(length, size);
1130
- const chunks = [];
1131
- for (let i = 0; i < length; i += chunkSize) {
1132
- chunks.push(arr.slice(i, i + chunkSize));
1133
- }
1134
- return chunks;
1135
- }
1136
- function arrayUnique(arr) {
1137
- return [...new Set(arr)];
1138
- }
1139
-
1140
- Object.defineProperty(promises, "__esModule", {
1141
- value: true
1142
- });
1143
- promises.pEach = pEach;
1144
- promises.pEachChunk = pEachChunk;
1145
- var _arrays = arrays;
1146
- async function pEach(array, concurrency, callbackFn, options) {
1147
- await pEachChunk((0, _arrays.arrayChunk)(array, concurrency), callbackFn, options);
1148
- }
1149
- async function pEachChunk(chunks, callbackFn, options) {
1150
- const {
1151
- signal
1152
- } = {
1153
- __proto__: null,
1154
- ...options
1155
- };
1156
- for (const chunk of chunks) {
1157
- if (signal?.aborted) {
1158
- return;
1159
- }
1160
- // eslint-disable-next-line no-await-in-loop
1161
- await Promise.all(chunk.map(value => signal?.aborted ? undefined : callbackFn(value, {
1162
- signal
1163
- })));
1164
- }
1165
- }
1166
-
1167
- var regexps = {};
1168
-
1169
- Object.defineProperty(regexps, "__esModule", {
1170
- value: true
1171
- });
1172
- regexps.escapeRegExp = escapeRegExp;
1173
- // Inlined "escape-string-regexp":
1174
- // https://socket.dev/npm/package/escape-string-regexp/overview/5.0.0
1175
- // MIT License
1176
- // Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
1177
- function escapeRegExp(string) {
1178
- // Escape characters with special meaning either inside or outside character sets.
1179
- // Use a simple backslash escape when it’s always valid, and a `\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.
1180
- return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d');
1181
- }
1182
-
1183
- var sorts = {};
1184
-
1185
- Object.defineProperty(sorts, "__esModule", {
1186
- value: true
1187
- });
1188
- sorts.localeCompare = void 0;
1189
- sorts.toSortedObject = toSortedObject;
1190
- const {
1191
- compare: localeCompare
1192
- } = new Intl.Collator();
1193
- sorts.localeCompare = localeCompare;
1194
- function toSortedObject(object, comparator = localeCompare) {
1195
- return Object.fromEntries(Object.entries(object).sort((a, b) => comparator(a[0], b[0])));
1196
- }
1197
-
1198
1106
  var _interopRequireDefault$n = vendor.interopRequireDefault.default;
1199
1107
  Object.defineProperty(optimize$1, "__esModule", {
1200
1108
  value: true
@@ -1204,28 +1112,22 @@ var _promises$2 = require$$1$4;
1204
1112
  var _nodePath$2 = require$$1;
1205
1113
  var _promiseSpawn$2 = require$$1$1;
1206
1114
  var _packageJson = require$$1$3;
1207
- var _registry = require$$5$1;
1115
+ var _registry = require$$5;
1116
+ var _objects$2 = vendor.objects;
1117
+ var _packages = vendor.packages;
1118
+ var _promises2 = vendor.promises;
1119
+ var _regexps = vendor.regexps;
1120
+ var _strings = vendor.strings;
1208
1121
  var _meow$m = _interopRequireDefault$n(vendor.build);
1209
1122
  var _npmPackageArg = require$$7;
1210
1123
  var _ora$i = _interopRequireDefault$n(vendor.ora);
1211
- var _pacote = require$$0$1;
1212
- var _semver = require$$3;
1213
- var _tinyglobby = require$$11;
1214
- var _yaml = require$$12;
1215
- var _constants = sdk.constants;
1124
+ var _semver = require$$14;
1125
+ var _tinyglobby = require$$15;
1126
+ var _yaml = require$$16;
1216
1127
  var _flags$j = flags$1;
1217
1128
  var _formatting$k = formatting;
1218
1129
  var _fs = fs;
1219
- var _objects = sdk.objects;
1220
1130
  var _packageManagerDetector = packageManagerDetector;
1221
- var _promises2 = promises;
1222
- var _regexps = regexps;
1223
- var _sorts$1 = sorts;
1224
- var _strings = strings;
1225
- //import cacache from 'cacache'
1226
-
1227
- //import { packumentCache, pacoteCachePath } from '../constants'
1228
-
1229
1131
  const COMMAND_TITLE = 'Socket Optimize';
1230
1132
  const OVERRIDES_FIELD_NAME = 'overrides';
1231
1133
  const PNPM_WORKSPACE = 'pnpm-workspace';
@@ -1371,7 +1273,9 @@ const lsByAgent = (() => {
1371
1273
  // `vlt ls --view json` results always have a "name" property.
1372
1274
  const fallback = _id ?? pkgid ?? '';
1373
1275
  const resolvedName = name ?? fallback.slice(0, fallback.indexOf('@', 1));
1374
- if (resolvedName) {
1276
+ // Add package names, except for those under the `@types` scope as those
1277
+ // are known to only be dev dependencies.
1278
+ if (resolvedName && !resolvedName.startsWith('@types/')) {
1375
1279
  names.add(resolvedName);
1376
1280
  }
1377
1281
  }
@@ -1639,7 +1543,7 @@ async function addOverrides({
1639
1543
  overrides,
1640
1544
  type
1641
1545
  }) => {
1642
- const overrideExists = (0, _objects.hasOwn)(overrides, origPkgName);
1546
+ const overrideExists = (0, _objects$2.hasOwn)(overrides, origPkgName);
1643
1547
  if (overrideExists || thingScanner(thingToScan, origPkgName)) {
1644
1548
  const oldSpec = overrideExists ? overrides[origPkgName] : undefined;
1645
1549
  const depAlias = depAliasMap.get(origPkgName);
@@ -1659,7 +1563,7 @@ async function addOverrides({
1659
1563
  const thisSpec = oldSpec.startsWith('$') ? depAlias?.id ?? newSpec : oldSpec ?? newSpec;
1660
1564
  if (thisSpec.startsWith(regSpecStartsLike)) {
1661
1565
  if (pin) {
1662
- thisVersion = _semver.major(_semver.coerce(_npmPackageArg(thisSpec).rawSpec)?.version ?? version) === major ? version : (await fetchPackageManifest(thisSpec))?.version ?? version;
1566
+ thisVersion = _semver.major(_semver.coerce(_npmPackageArg(thisSpec).rawSpec)?.version ?? version) === major ? version : (await (0, _packages.fetchPackageManifest)(thisSpec))?.version ?? version;
1663
1567
  }
1664
1568
  newSpec = `${regSpecStartsLike}^${pin ? thisVersion : _semver.major(thisVersion)}`;
1665
1569
  } else {
@@ -1708,67 +1612,17 @@ async function addOverrides({
1708
1612
  });
1709
1613
  }
1710
1614
  if (state.added.size > 0 || state.updated.size > 0) {
1711
- editablePkgJson.update(Object.fromEntries(depEntries));
1615
+ editablePkgJson.update((0, _objects$2.objectFromEntries)(depEntries));
1712
1616
  for (const {
1713
1617
  overrides,
1714
1618
  type
1715
1619
  } of overridesDataObjects) {
1716
- updateManifestByAgent[type](editablePkgJson, (0, _sorts$1.toSortedObject)(overrides));
1620
+ updateManifestByAgent[type](editablePkgJson, (0, _objects$2.toSortedObject)(overrides));
1717
1621
  }
1718
1622
  await editablePkgJson.save();
1719
1623
  }
1720
1624
  return state;
1721
1625
  }
1722
-
1723
- // type ExtractOptions = pacote.Options & {
1724
- // tmpPrefix?: string
1725
- // [key: string]: any
1726
- // }
1727
-
1728
- // async function extractPackage(pkgNameOrId: string, options: ExtractOptions | undefined, callback: (tmpDirPath: string) => any) {
1729
- // if (arguments.length === 2 && typeof options === 'function') {
1730
- // callback = options
1731
- // options = undefined
1732
- // }
1733
- // const { tmpPrefix, ...extractOptions } = { __proto__: null, ...options }
1734
- // // cacache.tmp.withTmp DOES return a promise.
1735
- // await cacache.tmp.withTmp(
1736
- // pacoteCachePath,
1737
- // { tmpPrefix },
1738
- // // eslint-disable-next-line @typescript-eslint/no-misused-promises
1739
- // async tmpDirPath => {
1740
- // await pacote.extract(pkgNameOrId, tmpDirPath, {
1741
- // __proto__: null,
1742
- // packumentCache,
1743
- // preferOffline: true,
1744
- // ...<Omit<typeof extractOptions, '__proto__'>>extractOptions
1745
- // })
1746
- // await callback(tmpDirPath)
1747
- // }
1748
- // )
1749
- // }
1750
-
1751
- async function fetchPackageManifest(pkgNameOrId, options) {
1752
- const pacoteOptions = {
1753
- ...options,
1754
- packumentCache: _constants.packumentCache,
1755
- preferOffline: true
1756
- };
1757
- const {
1758
- signal
1759
- } = pacoteOptions;
1760
- if (signal?.aborted) {
1761
- return null;
1762
- }
1763
- let result;
1764
- try {
1765
- result = await _pacote.manifest(pkgNameOrId, pacoteOptions);
1766
- } catch {}
1767
- if (signal?.aborted) {
1768
- return null;
1769
- }
1770
- return result;
1771
- }
1772
1626
  const optimize = optimize$1.optimize = {
1773
1627
  description: 'Optimize dependencies with @socketregistry overrides',
1774
1628
  async run(argv, importMeta, {
@@ -2137,7 +1991,7 @@ view$3.view = void 0;
2137
1991
  var _chalk$f = _interopRequireDefault$j(vendor.source);
2138
1992
  var _meow$i = _interopRequireDefault$j(vendor.build);
2139
1993
  var _ora$g = _interopRequireDefault$j(vendor.ora);
2140
- var _ponyCause$3 = require$$6;
1994
+ var _ponyCause$3 = require$$6$1;
2141
1995
  var _flags$g = flags$1;
2142
1996
  var _apiHelpers$g = apiHelpers;
2143
1997
  var _chalkMarkdown$2 = sdk.chalkMarkdown;
@@ -2277,10 +2131,10 @@ Object.defineProperty(create$5, "__esModule", {
2277
2131
  create$5.create = void 0;
2278
2132
  var _nodePath$1 = require$$1;
2279
2133
  var _betterAjvErrors = require$$2$1;
2280
- var _config = require$$3$1;
2134
+ var _config = require$$3;
2281
2135
  var _meow$h = _interopRequireDefault$i(vendor.build);
2282
2136
  var _ora$f = _interopRequireDefault$i(vendor.ora);
2283
- var _ponyCause$2 = require$$6;
2137
+ var _ponyCause$2 = require$$6$1;
2284
2138
  var _view$2 = view$3;
2285
2139
  var _flags$f = flags$1;
2286
2140
  var _apiHelpers$f = apiHelpers;
@@ -2504,7 +2358,7 @@ Object.defineProperty(meowWithSubcommands$1, "__esModule", {
2504
2358
  meowWithSubcommands$1.meowWithSubcommands = meowWithSubcommands;
2505
2359
  var _meow$g = _interopRequireDefault$h(vendor.build);
2506
2360
  var _formatting$f = formatting;
2507
- var _sorts = sorts;
2361
+ var _objects$1 = vendor.objects;
2508
2362
  var _flags$e = flags$1;
2509
2363
  async function meowWithSubcommands(subcommands, options) {
2510
2364
  const {
@@ -2543,8 +2397,8 @@ async function meowWithSubcommands(subcommands, options) {
2543
2397
 
2544
2398
  Commands
2545
2399
  ${(0, _formatting$f.printHelpList)({
2546
- ...(0, _sorts.toSortedObject)(subcommands),
2547
- ...(0, _sorts.toSortedObject)(aliases)
2400
+ ...(0, _objects$1.toSortedObject)(subcommands),
2401
+ ...(0, _objects$1.toSortedObject)(aliases)
2548
2402
  }, 6)}
2549
2403
 
2550
2404
  Options
@@ -2593,9 +2447,9 @@ Object.defineProperty(wrapper$1, "__esModule", {
2593
2447
  value: true
2594
2448
  });
2595
2449
  wrapper$1.wrapper = void 0;
2596
- var _nodeFs$2 = require$$0;
2597
- var _nodeOs = require$$2$2;
2598
- var _nodeReadline = require$$3$2;
2450
+ var _nodeFs$1 = require$$0;
2451
+ var _nodeOs = require$$1$5;
2452
+ var _nodeReadline = require$$3$1;
2599
2453
  var _meow$f = _interopRequireDefault$g(vendor.build);
2600
2454
  var _flags$d = flags$1;
2601
2455
  var _formatting$e = formatting;
@@ -2628,7 +2482,7 @@ function setupCommand$f(name, description, argv, importMeta) {
2628
2482
  flags
2629
2483
  });
2630
2484
  if (argv[0] === '--postinstall') {
2631
- const socketWrapperEnabled = _nodeFs$2.existsSync(BASH_FILE) && checkSocketWrapperAlreadySetup(BASH_FILE) || _nodeFs$2.existsSync(ZSH_BASH_FILE) && checkSocketWrapperAlreadySetup(ZSH_BASH_FILE);
2485
+ const socketWrapperEnabled = _nodeFs$1.existsSync(BASH_FILE) && checkSocketWrapperAlreadySetup(BASH_FILE) || _nodeFs$1.existsSync(ZSH_BASH_FILE) && checkSocketWrapperAlreadySetup(ZSH_BASH_FILE);
2632
2486
  if (!socketWrapperEnabled) {
2633
2487
  installSafeNpm(`The Socket CLI is now successfully installed! 🎉
2634
2488
 
@@ -2651,23 +2505,23 @@ function setupCommand$f(name, description, argv, importMeta) {
2651
2505
  return;
2652
2506
  }
2653
2507
  if (enable) {
2654
- if (_nodeFs$2.existsSync(BASH_FILE)) {
2508
+ if (_nodeFs$1.existsSync(BASH_FILE)) {
2655
2509
  const socketWrapperEnabled = checkSocketWrapperAlreadySetup(BASH_FILE);
2656
2510
  !socketWrapperEnabled && addAlias(BASH_FILE);
2657
2511
  }
2658
- if (_nodeFs$2.existsSync(ZSH_BASH_FILE)) {
2512
+ if (_nodeFs$1.existsSync(ZSH_BASH_FILE)) {
2659
2513
  const socketWrapperEnabled = checkSocketWrapperAlreadySetup(ZSH_BASH_FILE);
2660
2514
  !socketWrapperEnabled && addAlias(ZSH_BASH_FILE);
2661
2515
  }
2662
2516
  } else if (disable) {
2663
- if (_nodeFs$2.existsSync(BASH_FILE)) {
2517
+ if (_nodeFs$1.existsSync(BASH_FILE)) {
2664
2518
  removeAlias(BASH_FILE);
2665
2519
  }
2666
- if (_nodeFs$2.existsSync(ZSH_BASH_FILE)) {
2520
+ if (_nodeFs$1.existsSync(ZSH_BASH_FILE)) {
2667
2521
  removeAlias(ZSH_BASH_FILE);
2668
2522
  }
2669
2523
  }
2670
- if (!_nodeFs$2.existsSync(BASH_FILE) && !_nodeFs$2.existsSync(ZSH_BASH_FILE)) {
2524
+ if (!_nodeFs$1.existsSync(BASH_FILE) && !_nodeFs$1.existsSync(ZSH_BASH_FILE)) {
2671
2525
  console.error('There was an issue setting up the alias in your bash profile');
2672
2526
  }
2673
2527
  }
@@ -2689,10 +2543,10 @@ const askQuestion = (rl, query) => {
2689
2543
  rl.question(query, ans => {
2690
2544
  if (ans.toLowerCase() === 'y') {
2691
2545
  try {
2692
- if (_nodeFs$2.existsSync(BASH_FILE)) {
2546
+ if (_nodeFs$1.existsSync(BASH_FILE)) {
2693
2547
  addAlias(BASH_FILE);
2694
2548
  }
2695
- if (_nodeFs$2.existsSync(ZSH_BASH_FILE)) {
2549
+ if (_nodeFs$1.existsSync(ZSH_BASH_FILE)) {
2696
2550
  addAlias(ZSH_BASH_FILE);
2697
2551
  }
2698
2552
  } catch (e) {
@@ -2707,7 +2561,7 @@ const askQuestion = (rl, query) => {
2707
2561
  });
2708
2562
  };
2709
2563
  const addAlias = file => {
2710
- return _nodeFs$2.appendFile(file, 'alias npm="socket npm"\nalias npx="socket npx"\n', err => {
2564
+ return _nodeFs$1.appendFile(file, 'alias npm="socket npm"\nalias npx="socket npx"\n', err => {
2711
2565
  if (err) {
2712
2566
  return new Error(`There was an error setting up the alias: ${err}`);
2713
2567
  }
@@ -2718,14 +2572,14 @@ If you want to disable it at any time, run \`socket wrapper --disable\`
2718
2572
  });
2719
2573
  };
2720
2574
  const removeAlias = file => {
2721
- return _nodeFs$2.readFile(file, 'utf8', function (err, data) {
2575
+ return _nodeFs$1.readFile(file, 'utf8', function (err, data) {
2722
2576
  if (err) {
2723
2577
  console.error(`There was an error removing the alias: ${err}`);
2724
2578
  return;
2725
2579
  }
2726
2580
  const linesWithoutSocketAlias = data.split('\n').filter(l => l !== 'alias npm="socket npm"' && l !== 'alias npx="socket npx"');
2727
2581
  const updatedFileContent = linesWithoutSocketAlias.join('\n');
2728
- _nodeFs$2.writeFile(file, updatedFileContent, function (err) {
2582
+ _nodeFs$1.writeFile(file, updatedFileContent, function (err) {
2729
2583
  if (err) {
2730
2584
  console.log(err);
2731
2585
  return;
@@ -2736,7 +2590,7 @@ const removeAlias = file => {
2736
2590
  });
2737
2591
  };
2738
2592
  const checkSocketWrapperAlreadySetup = file => {
2739
- const fileContent = _nodeFs$2.readFileSync(file, 'utf-8');
2593
+ const fileContent = _nodeFs$1.readFileSync(file, 'utf-8');
2740
2594
  const linesWithSocketAlias = fileContent.split('\n').filter(l => l === 'alias npm="socket npm"' || l === 'alias npx="socket npx"');
2741
2595
  if (linesWithSocketAlias.length) {
2742
2596
  console.log(`The Socket npm/npx wrapper is set up in your bash profile (${file}).`);
@@ -2754,13 +2608,13 @@ Object.defineProperty(create$3, "__esModule", {
2754
2608
  value: true
2755
2609
  });
2756
2610
  create$3.create = void 0;
2757
- var _nodeProcess = require$$0$2;
2758
- var _promises$1 = require$$2$3;
2611
+ var _nodeProcess = require$$0$1;
2612
+ var _promises$1 = require$$2$2;
2759
2613
  var _chalk$e = _interopRequireDefault$f(vendor.source);
2760
2614
  var _meow$e = _interopRequireDefault$f(vendor.build);
2761
2615
  var _open = _interopRequireDefault$f(vendor.open);
2762
2616
  var _ora$e = _interopRequireDefault$f(vendor.ora);
2763
- var _ponyCause$1 = require$$6;
2617
+ var _ponyCause$1 = require$$6$1;
2764
2618
  var _apiHelpers$e = apiHelpers;
2765
2619
  var _errors$f = sdk.errors;
2766
2620
  var _formatting$d = formatting;
@@ -3049,7 +2903,7 @@ Object.defineProperty(list$3, "__esModule", {
3049
2903
  });
3050
2904
  list$3.list = void 0;
3051
2905
  var _chalk$c = _interopRequireDefault$d(vendor.source);
3052
- var _chalkTable$3 = require$$2$4;
2906
+ var _chalkTable$3 = require$$2$3;
3053
2907
  var _meow$c = _interopRequireDefault$d(vendor.build);
3054
2908
  var _ora$c = _interopRequireDefault$d(vendor.ora);
3055
2909
  var _flags$b = flags$1;
@@ -3760,7 +3614,7 @@ Object.defineProperty(list$1, "__esModule", {
3760
3614
  });
3761
3615
  list$1.list = void 0;
3762
3616
  var _chalk$6 = _interopRequireDefault$7(vendor.source);
3763
- var _chalkTable$2 = require$$2$4;
3617
+ var _chalkTable$2 = require$$2$3;
3764
3618
  var _meow$6 = _interopRequireDefault$7(vendor.build);
3765
3619
  var _ora$6 = _interopRequireDefault$7(vendor.ora);
3766
3620
  var _flags$6 = flags$1;
@@ -4023,7 +3877,7 @@ Object.defineProperty(view$1, "__esModule", {
4023
3877
  });
4024
3878
  view$1.view = void 0;
4025
3879
  var _chalk$4 = _interopRequireDefault$5(vendor.source);
4026
- var _chalkTable$1 = require$$2$4;
3880
+ var _chalkTable$1 = require$$2$3;
4027
3881
  var _meow$4 = _interopRequireDefault$5(vendor.build);
4028
3882
  var _ora$4 = _interopRequireDefault$5(vendor.ora);
4029
3883
  var _flags$4 = flags$1;
@@ -4168,7 +4022,7 @@ Object.defineProperty(dependencies$1, "__esModule", {
4168
4022
  });
4169
4023
  dependencies$1.dependencies = void 0;
4170
4024
  var _chalk$3 = _interopRequireDefault$4(vendor.source);
4171
- var _chalkTable = require$$2$4;
4025
+ var _chalkTable = require$$2$3;
4172
4026
  var _meow$3 = _interopRequireDefault$4(vendor.build);
4173
4027
  var _ora$3 = _interopRequireDefault$4(vendor.ora);
4174
4028
  var _flags$3 = flags$1;
@@ -4302,8 +4156,8 @@ Object.defineProperty(analytics$1, "__esModule", {
4302
4156
  });
4303
4157
  analytics$1.analytics = void 0;
4304
4158
  var _promises = require$$1$4;
4305
- var _blessed$1 = require$$2$5;
4306
- var _blessedContrib$1 = require$$3$3;
4159
+ var _blessed$1 = require$$2$4;
4160
+ var _blessedContrib$1 = require$$3$2;
4307
4161
  var _chalk$2 = _interopRequireDefault$3(vendor.source);
4308
4162
  var _meow$2 = _interopRequireDefault$3(vendor.build);
4309
4163
  var _ora$2 = _interopRequireDefault$3(vendor.ora);
@@ -4622,8 +4476,8 @@ Object.defineProperty(get$1, "__esModule", {
4622
4476
  value: true
4623
4477
  });
4624
4478
  get$1.get = void 0;
4625
- var _nodeFs$1 = require$$0;
4626
- var _nodeUtil = require$$0$3;
4479
+ var _nodeFs = require$$0;
4480
+ var _nodeUtil = require$$0$2;
4627
4481
  var _chalk$1 = _interopRequireDefault$2(vendor.source);
4628
4482
  var _meow$1 = _interopRequireDefault$2(vendor.build);
4629
4483
  var _ora$1 = _interopRequireDefault$2(vendor.ora);
@@ -4744,7 +4598,7 @@ async function getDiffScan({
4744
4598
  }
4745
4599
  spinner.stop();
4746
4600
  if (file && !outputJson) {
4747
- _nodeFs$1.writeFile(file, JSON.stringify(data), err => {
4601
+ _nodeFs.writeFile(file, JSON.stringify(data), err => {
4748
4602
  err ? console.error(err) : console.log(`Data successfully written to ${file}`);
4749
4603
  });
4750
4604
  return;
@@ -4797,8 +4651,8 @@ Object.defineProperty(threatFeed$1, "__esModule", {
4797
4651
  value: true
4798
4652
  });
4799
4653
  threatFeed$1.threatFeed = void 0;
4800
- var _blessed = require$$2$5;
4801
- var _blessedContrib = require$$3$3;
4654
+ var _blessed = require$$2$4;
4655
+ var _blessedContrib = require$$3$2;
4802
4656
  var _meow = _interopRequireDefault$1(vendor.build);
4803
4657
  var _ora = _interopRequireDefault$1(vendor.ora);
4804
4658
  var _flags = flags$1;
@@ -5176,20 +5030,23 @@ const getMinDiff = (start, end) => Math.floor((end - start) / 60000);
5176
5030
 
5177
5031
  var _interopRequireWildcard = vendor.interopRequireWildcard.default;
5178
5032
  var _interopRequireDefault = vendor.interopRequireDefault.default;
5179
- var _nodeFs = require$$0;
5180
5033
  var _nodePath = require$$1;
5181
- var _nodeUrl = require$$2$6;
5034
+ var _nodeUrl = require$$8$1;
5035
+ var _objects = vendor.objects;
5182
5036
  var _chalk = _interopRequireDefault(vendor.source);
5183
- var _ponyCause = require$$6;
5184
- var _updateNotifier = _interopRequireDefault(vendor.updateNotifier);
5037
+ var _ponyCause = require$$6$1;
5038
+ var _tinyUpdater = _interopRequireDefault(vendor.dist);
5185
5039
  var cliCommands = _interopRequireWildcard(commands, true);
5186
5040
  var _chalkMarkdown = sdk.chalkMarkdown;
5187
5041
  var _errors = sdk.errors;
5188
5042
  var _meowWithSubcommands = meowWithSubcommands$1;
5189
5043
  const distPath = __dirname;
5190
5044
  const rootPath = _nodePath.resolve(distPath, '..');
5191
- const formattedCliCommands = Object.fromEntries(Object.entries(cliCommands).map(entry => {
5192
- entry[0] = camelToHyphen(entry[0]);
5045
+ const rootPkgJsonPath = _nodePath.join(rootPath, 'package.json');
5046
+ const rootPkgJson = require(rootPkgJsonPath);
5047
+ const formattedCliCommands = (0, _objects.objectFromEntries)((0, _objects.objectEntries)(cliCommands).map(entry => {
5048
+ const key = entry[0];
5049
+ entry[0] = typeof key === 'string' ? camelToHyphen(key) : key;
5193
5050
  return entry;
5194
5051
  }));
5195
5052
  function camelToHyphen(str) {
@@ -5198,11 +5055,11 @@ function camelToHyphen(str) {
5198
5055
 
5199
5056
  // TODO: Add autocompletion using https://socket.dev/npm/package/omelette
5200
5057
  void (async () => {
5201
- try {
5202
- (0, _updateNotifier.default)({
5203
- pkg: JSON.parse((0, _nodeFs.readFileSync)(_nodePath.join(rootPath, 'package.json'), 'utf8'))
5204
- }).notify();
5205
- } catch {}
5058
+ await (0, _tinyUpdater.default)({
5059
+ name: rootPkgJson.name,
5060
+ version: rootPkgJson.version,
5061
+ ttl: 86_400_000 /* 24 hours in milliseconds */
5062
+ });
5206
5063
  try {
5207
5064
  await (0, _meowWithSubcommands.meowWithSubcommands)(formattedCliCommands, {
5208
5065
  aliases: {
@@ -5218,9 +5075,9 @@ void (async () => {
5218
5075
  }
5219
5076
  });
5220
5077
  } catch (err) {
5078
+ let errorBody;
5221
5079
  let errorTitle;
5222
5080
  let errorMessage = '';
5223
- let errorBody;
5224
5081
  if (err instanceof _errors.AuthError) {
5225
5082
  errorTitle = 'Authentication error';
5226
5083
  errorMessage = err.message;