socket 0.14.21 → 0.14.22

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.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts","../src/utils/formatting.ts","../src/utils/sorts.ts","../src/flags.ts","../src/utils/meow-with-subcommands.ts","../src/commands/cdxgen.ts","../src/utils/api-helpers.ts","../src/utils/format-issues.ts","../src/commands/info.ts","../src/commands/login.ts","../src/commands/logout.ts","../src/commands/npm.ts","../src/commands/npx.ts","../src/utils/fs.ts","../src/utils/strings.ts","../src/utils/package-manager-detector.ts","../src/utils/arrays.ts","../src/utils/promises.ts","../src/utils/regexps.ts","../src/commands/optimize.ts","../src/commands/organization.ts","../src/commands/raw-npm.ts","../src/commands/raw-npx.ts","../src/commands/report/view.ts","../src/commands/report/create.ts","../src/commands/report/index.ts","../src/commands/wrapper.ts","../src/commands/scan/create.ts","../src/commands/scan/delete.ts","../src/commands/scan/list.ts","../src/commands/scan/metadata.ts","../src/commands/scan/stream.ts","../src/commands/scan/index.ts","../src/commands/audit-log.ts","../src/commands/repos/create.ts","../src/commands/repos/delete.ts","../src/commands/repos/list.ts","../src/commands/repos/update.ts","../src/commands/repos/view.ts","../src/commands/repos/index.ts","../src/commands/dependencies.ts","../src/commands/analytics.ts","../src/commands/diff-scan/get.ts","../src/commands/diff-scan/index.ts","../src/commands/threat-feed.ts","../src/commands/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts","../src/utils/formatting.ts","../src/flags.ts","../src/utils/meow-with-subcommands.ts","../src/commands/cdxgen.ts","../src/utils/api-helpers.ts","../src/utils/objects.ts","../src/utils/format-issues.ts","../src/commands/info.ts","../src/commands/login.ts","../src/commands/logout.ts","../src/commands/npm.ts","../src/commands/npx.ts","../src/utils/fs.ts","../src/utils/package-manager-detector.ts","../src/commands/optimize.ts","../src/commands/organization.ts","../src/commands/raw-npm.ts","../src/commands/raw-npx.ts","../src/commands/report/view.ts","../src/commands/report/create.ts","../src/commands/report/index.ts","../src/commands/wrapper.ts","../src/commands/scan/create.ts","../src/commands/scan/delete.ts","../src/commands/scan/list.ts","../src/commands/scan/metadata.ts","../src/commands/scan/stream.ts","../src/commands/scan/index.ts","../src/commands/audit-log.ts","../src/commands/repos/create.ts","../src/commands/repos/delete.ts","../src/commands/repos/list.ts","../src/commands/repos/update.ts","../src/commands/repos/view.ts","../src/commands/repos/index.ts","../src/commands/dependencies.ts","../src/commands/analytics.ts","../src/commands/diff-scan/get.ts","../src/commands/diff-scan/index.ts","../src/commands/threat-feed.ts","../src/commands/index.ts"],"names":[],"mappings":""}
package/dist/cli.js CHANGED
@@ -14,24 +14,23 @@ var require$$1$4 = require('node:fs/promises');
14
14
  var require$$1$3 = require('@npmcli/package-json');
15
15
  var require$$5$1 = require('@socketsecurity/registry');
16
16
  var require$$7 = require('npm-package-arg');
17
- var require$$0$1 = require('pacote');
18
17
  var require$$3 = require('semver');
19
- var require$$11 = require('tinyglobby');
20
- var require$$12 = require('yaml');
18
+ var require$$10$1 = require('tinyglobby');
19
+ var require$$11 = 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
24
  var require$$3$1 = require('@socketsecurity/config');
26
25
  var pathResolve = require('./path-resolve.js');
27
26
  var require$$2$2 = require('node:os');
28
27
  var require$$3$2 = require('node:readline');
29
- var require$$0$2 = require('node:process');
28
+ var require$$0$1 = require('node:process');
30
29
  var require$$2$3 = require('node:readline/promises');
31
30
  var require$$2$4 = require('chalk-table');
32
31
  var require$$2$5 = require('blessed');
33
32
  var require$$3$3 = require('blessed-contrib');
34
- var require$$0$3 = require('node:util');
33
+ var require$$0$2 = require('node:util');
35
34
 
36
35
  var cli$1 = {};
37
36
 
@@ -325,13 +324,36 @@ async function queryAPI(path, apiKey) {
325
324
 
326
325
  var formatIssues = {};
327
326
 
327
+ var objects = {};
328
+
329
+ Object.defineProperty(objects, "__esModule", {
330
+ value: true
331
+ });
332
+ objects.objectSome = objectSome;
333
+ objects.pick = pick;
334
+ function objectSome(obj) {
335
+ for (const key in obj) {
336
+ if (obj[key]) {
337
+ return true;
338
+ }
339
+ }
340
+ return false;
341
+ }
342
+ function pick(input, keys) {
343
+ const result = {};
344
+ for (const key of keys) {
345
+ result[key] = input[key];
346
+ }
347
+ return result;
348
+ }
349
+
328
350
  Object.defineProperty(formatIssues, "__esModule", {
329
351
  value: true
330
352
  });
331
353
  formatIssues.formatSeverityCount = formatSeverityCount;
332
354
  formatIssues.getSeverityCount = getSeverityCount;
333
355
  var _misc$2 = sdk.misc;
334
- var _objects$3 = sdk.objects;
356
+ var _objects$4 = objects;
335
357
  const SEVERITIES_BY_ORDER = ['critical', 'high', 'middle', 'low'];
336
358
  function getDesiredSeverities(lowestToInclude) {
337
359
  const result = [];
@@ -353,7 +375,7 @@ function formatSeverityCount(severityCount) {
353
375
  return (0, _misc$2.stringJoinWithSeparateFinalSeparator)(summary);
354
376
  }
355
377
  function getSeverityCount(issues, lowestToInclude) {
356
- const severityCount = (0, _objects$3.pick)({
378
+ const severityCount = (0, _objects$4.pick)({
357
379
  low: 0,
358
380
  middle: 0,
359
381
  high: 0,
@@ -417,7 +439,7 @@ var _chalkMarkdown$3 = sdk.chalkMarkdown;
417
439
  var _errors$k = sdk.errors;
418
440
  var _formatIssues$1 = formatIssues;
419
441
  var _formatting$m = formatting;
420
- var _objects$2 = sdk.objects;
442
+ var _objects$3 = objects;
421
443
  var _sdk$j = sdk.sdk;
422
444
  const info = info$1.info = {
423
445
  description: 'Look up info regarding a package',
@@ -533,7 +555,7 @@ function formatPackageDataOutput({
533
555
  License: Math.floor(score.license.score * 100)
534
556
  };
535
557
  Object.entries(scoreResult).map(score => console.log(`- ${score[0]}: ${formatScore(score[1])}`));
536
- if ((0, _objects$2.objectSome)(severityCount)) {
558
+ if ((0, _objects$3.objectSome)(severityCount)) {
537
559
  const issueSummary = (0, _formatIssues$1.formatSeverityCount)(severityCount);
538
560
  console.log('\n');
539
561
  spinner[strict ? 'fail' : 'succeed'](`Package has these issues: ${issueSummary}`);
@@ -557,7 +579,7 @@ function formatPackageDataOutput({
557
579
  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
580
  }
559
581
  }
560
- if (strict && (0, _objects$2.objectSome)(severityCount)) {
582
+ if (strict && (0, _objects$3.objectSome)(severityCount)) {
561
583
  process.exit(1);
562
584
  }
563
585
  }
@@ -890,16 +912,6 @@ async function readFileUtf8(filepath, options) {
890
912
 
891
913
  var packageManagerDetector = {};
892
914
 
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
915
  Object.defineProperty(packageManagerDetector, "__esModule", {
904
916
  value: true
905
917
  });
@@ -909,20 +921,20 @@ var _nodePath$3 = require$$1;
909
921
  var _packageJson$1 = require$$1$3;
910
922
  var _hyrious__bun = require$$2;
911
923
  var _promiseSpawn$3 = require$$1$1;
912
- var _browserslist = require$$4;
924
+ var _browserslist = require$$10;
913
925
  var _semver$1 = require$$3;
914
- var _which = require$$6$1;
926
+ var _which = require$$8;
927
+ var _constants = vendor.constants_1;
928
+ var _objects$2 = vendor.objects;
929
+ var _strings$1 = vendor.strings;
915
930
  var _fs$1 = fs;
916
- var _objects$1 = sdk.objects;
917
- var _strings$1 = strings;
918
931
  const AGENTS = packageManagerDetector.AGENTS = ['bun', 'npm', 'pnpm', 'yarn/berry', 'yarn/classic', 'vlt'];
919
- const numericCollator = new Intl.Collator(undefined, {
932
+ const {
933
+ compare: alphaNumericComparator
934
+ } = new Intl.Collator(undefined, {
920
935
  numeric: true,
921
936
  sensitivity: 'base'
922
937
  });
923
- const {
924
- compare: alphaNumericComparator
925
- } = numericCollator;
926
938
  async function getAgentExecPath(agent) {
927
939
  return (await _which(agent, {
928
940
  nothrow: true
@@ -939,31 +951,6 @@ async function getAgentVersion(agentExecPath, cwd) {
939
951
  } catch {}
940
952
  return result;
941
953
  }
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
954
  const LOCKS = {
968
955
  'bun.lockb': 'bun',
969
956
  // If both package-lock.json and npm-shrinkwrap.json are present in the root
@@ -1066,10 +1053,11 @@ async function detect({
1066
1053
  node: true
1067
1054
  };
1068
1055
  let lockSrc;
1069
- let minimumNodeVersion = maintainedNodeVersions.previous;
1056
+ // Lazily access constants.maintainedNodeVersions.
1057
+ let minimumNodeVersion = _constants.maintainedNodeVersions.previous;
1070
1058
  if (pkgJson) {
1071
1059
  const browserField = pkgJson.browser;
1072
- if ((0, _strings$1.isNonEmptyString)(browserField) || (0, _objects$1.isObjectObject)(browserField)) {
1060
+ if ((0, _strings$1.isNonEmptyString)(browserField) || (0, _objects$2.isObjectObject)(browserField)) {
1073
1061
  targets.browser = true;
1074
1062
  }
1075
1063
  const nodeRange = pkgJson.engines?.['node'];
@@ -1093,7 +1081,8 @@ async function detect({
1093
1081
  }
1094
1082
  }
1095
1083
  }
1096
- targets.node = maintainedNodeVersions.some(v => _semver$1.satisfies(v, `>=${minimumNodeVersion}`));
1084
+ // Lazily access constants.maintainedNodeVersions.
1085
+ targets.node = _constants.maintainedNodeVersions.some(v => _semver$1.satisfies(v, `>=${minimumNodeVersion}`));
1097
1086
  lockSrc = typeof lockPath === 'string' ? await readLockFileByAgent[agent](lockPath, agentExecPath) : undefined;
1098
1087
  } else {
1099
1088
  lockPath = undefined;
@@ -1113,88 +1102,6 @@ async function detect({
1113
1102
  };
1114
1103
  }
1115
1104
 
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
1105
  var _interopRequireDefault$n = vendor.interopRequireDefault.default;
1199
1106
  Object.defineProperty(optimize$1, "__esModule", {
1200
1107
  value: true
@@ -1208,24 +1115,20 @@ var _registry = require$$5$1;
1208
1115
  var _meow$m = _interopRequireDefault$n(vendor.build);
1209
1116
  var _npmPackageArg = require$$7;
1210
1117
  var _ora$i = _interopRequireDefault$n(vendor.ora);
1211
- var _pacote = require$$0$1;
1212
1118
  var _semver = require$$3;
1213
- var _tinyglobby = require$$11;
1214
- var _yaml = require$$12;
1215
- var _constants = sdk.constants;
1119
+ var _tinyglobby = require$$10$1;
1120
+ var _yaml = require$$11;
1121
+ var _packages = vendor.packages;
1216
1122
  var _flags$j = flags$1;
1217
1123
  var _formatting$k = formatting;
1218
1124
  var _fs = fs;
1219
- var _objects = sdk.objects;
1125
+ var _objects$1 = vendor.objects;
1220
1126
  var _packageManagerDetector = packageManagerDetector;
1221
- var _promises2 = promises;
1222
- var _regexps = regexps;
1223
- var _sorts$1 = sorts;
1224
- var _strings = strings;
1127
+ var _promises2 = vendor.promises;
1128
+ var _regexps = vendor.regexps;
1129
+ var _strings = vendor.strings;
1225
1130
  //import cacache from 'cacache'
1226
1131
 
1227
- //import { packumentCache, pacoteCachePath } from '../constants'
1228
-
1229
1132
  const COMMAND_TITLE = 'Socket Optimize';
1230
1133
  const OVERRIDES_FIELD_NAME = 'overrides';
1231
1134
  const PNPM_WORKSPACE = 'pnpm-workspace';
@@ -1371,7 +1274,9 @@ const lsByAgent = (() => {
1371
1274
  // `vlt ls --view json` results always have a "name" property.
1372
1275
  const fallback = _id ?? pkgid ?? '';
1373
1276
  const resolvedName = name ?? fallback.slice(0, fallback.indexOf('@', 1));
1374
- if (resolvedName) {
1277
+ // Add package names, except for those under the `@types` scope as those
1278
+ // are known to only be dev dependencies.
1279
+ if (resolvedName && !resolvedName.startsWith('@types/')) {
1375
1280
  names.add(resolvedName);
1376
1281
  }
1377
1282
  }
@@ -1639,7 +1544,7 @@ async function addOverrides({
1639
1544
  overrides,
1640
1545
  type
1641
1546
  }) => {
1642
- const overrideExists = (0, _objects.hasOwn)(overrides, origPkgName);
1547
+ const overrideExists = (0, _objects$1.hasOwn)(overrides, origPkgName);
1643
1548
  if (overrideExists || thingScanner(thingToScan, origPkgName)) {
1644
1549
  const oldSpec = overrideExists ? overrides[origPkgName] : undefined;
1645
1550
  const depAlias = depAliasMap.get(origPkgName);
@@ -1659,7 +1564,7 @@ async function addOverrides({
1659
1564
  const thisSpec = oldSpec.startsWith('$') ? depAlias?.id ?? newSpec : oldSpec ?? newSpec;
1660
1565
  if (thisSpec.startsWith(regSpecStartsLike)) {
1661
1566
  if (pin) {
1662
- thisVersion = _semver.major(_semver.coerce(_npmPackageArg(thisSpec).rawSpec)?.version ?? version) === major ? version : (await fetchPackageManifest(thisSpec))?.version ?? version;
1567
+ thisVersion = _semver.major(_semver.coerce(_npmPackageArg(thisSpec).rawSpec)?.version ?? version) === major ? version : (await (0, _packages.fetchPackageManifest)(thisSpec))?.version ?? version;
1663
1568
  }
1664
1569
  newSpec = `${regSpecStartsLike}^${pin ? thisVersion : _semver.major(thisVersion)}`;
1665
1570
  } else {
@@ -1713,62 +1618,12 @@ async function addOverrides({
1713
1618
  overrides,
1714
1619
  type
1715
1620
  } of overridesDataObjects) {
1716
- updateManifestByAgent[type](editablePkgJson, (0, _sorts$1.toSortedObject)(overrides));
1621
+ updateManifestByAgent[type](editablePkgJson, (0, _objects$1.toSortedObject)(overrides));
1717
1622
  }
1718
1623
  await editablePkgJson.save();
1719
1624
  }
1720
1625
  return state;
1721
1626
  }
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
1627
  const optimize = optimize$1.optimize = {
1773
1628
  description: 'Optimize dependencies with @socketregistry overrides',
1774
1629
  async run(argv, importMeta, {
@@ -2504,7 +2359,7 @@ Object.defineProperty(meowWithSubcommands$1, "__esModule", {
2504
2359
  meowWithSubcommands$1.meowWithSubcommands = meowWithSubcommands;
2505
2360
  var _meow$g = _interopRequireDefault$h(vendor.build);
2506
2361
  var _formatting$f = formatting;
2507
- var _sorts = sorts;
2362
+ var _objects = vendor.objects;
2508
2363
  var _flags$e = flags$1;
2509
2364
  async function meowWithSubcommands(subcommands, options) {
2510
2365
  const {
@@ -2543,8 +2398,8 @@ async function meowWithSubcommands(subcommands, options) {
2543
2398
 
2544
2399
  Commands
2545
2400
  ${(0, _formatting$f.printHelpList)({
2546
- ...(0, _sorts.toSortedObject)(subcommands),
2547
- ...(0, _sorts.toSortedObject)(aliases)
2401
+ ...(0, _objects.toSortedObject)(subcommands),
2402
+ ...(0, _objects.toSortedObject)(aliases)
2548
2403
  }, 6)}
2549
2404
 
2550
2405
  Options
@@ -2754,7 +2609,7 @@ Object.defineProperty(create$3, "__esModule", {
2754
2609
  value: true
2755
2610
  });
2756
2611
  create$3.create = void 0;
2757
- var _nodeProcess = require$$0$2;
2612
+ var _nodeProcess = require$$0$1;
2758
2613
  var _promises$1 = require$$2$3;
2759
2614
  var _chalk$e = _interopRequireDefault$f(vendor.source);
2760
2615
  var _meow$e = _interopRequireDefault$f(vendor.build);
@@ -4623,7 +4478,7 @@ Object.defineProperty(get$1, "__esModule", {
4623
4478
  });
4624
4479
  get$1.get = void 0;
4625
4480
  var _nodeFs$1 = require$$0;
4626
- var _nodeUtil = require$$0$3;
4481
+ var _nodeUtil = require$$0$2;
4627
4482
  var _chalk$1 = _interopRequireDefault$2(vendor.source);
4628
4483
  var _meow$1 = _interopRequireDefault$2(vendor.build);
4629
4484
  var _ora$1 = _interopRequireDefault$2(vendor.ora);
package/dist/link.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var require$$0 = require('node:fs');
4
4
  var require$$1 = require('node:path');
5
- var require$$6 = require('which');
5
+ var require$$8 = require('which');
6
6
 
7
7
  var link = {};
8
8
 
@@ -12,7 +12,7 @@ Object.defineProperty(link, "__esModule", {
12
12
  link.installLinks = installLinks;
13
13
  var _nodeFs = require$$0;
14
14
  var _nodePath = require$$1;
15
- var _which = require$$6;
15
+ var _which = require$$8;
16
16
  function installLinks(realDirname, binName) {
17
17
  const realShadowBinDir = realDirname;
18
18
  // find package manager being shadowed by this process
@@ -312,7 +312,6 @@ function issueRuleValueDoesNotDefer(issueRule) {
312
312
 
313
313
  /**
314
314
  * Handles booleans for backwards compatibility
315
-
316
315
  */
317
316
  function uxForDefinedNonDeferValue(issueRuleValue) {
318
317
  if (typeof issueRuleValue === 'boolean') {
@@ -401,7 +400,7 @@ var _ttyServer = ttyServer$1;
401
400
  var _chalkMarkdown = sdk.chalkMarkdown;
402
401
  var _issueRules = issueRules;
403
402
  var _misc = sdk.misc;
404
- var _objects = sdk.objects;
403
+ var _objects = vendor.objects;
405
404
  var _pathResolve = pathResolve.pathResolve;
406
405
  var _sdk = sdk.sdk;
407
406
  var _settings = sdk.settings;
@@ -519,6 +518,12 @@ async function* batchScan(pkgIds) {
519
518
  yield JSON.parse(line);
520
519
  }
521
520
  }
521
+
522
+ // Patch adding doOverrideSetsConflict is based on
523
+ // https://github.com/npm/cli/pull/7025.
524
+ function doOverrideSetsConflict(first, second) {
525
+ return findSpecificOverrideSet(first, second) === undefined;
526
+ }
522
527
  function findSocketYmlSync() {
523
528
  let prevDir = null;
524
529
  let dir = process.cwd();
@@ -805,7 +810,7 @@ class SafeEdge extends Edge {
805
810
  }
806
811
  // Patch adding "else if" condition is based on
807
812
  // https://github.com/npm/cli/pull/7025.
808
- else if (this.overrides && this.#safeTo.edgesOut.size && !findSpecificOverrideSet(this.overrides, this.#safeTo.overrides)) {
813
+ else if (this.overrides && this.#safeTo.edgesOut.size && doOverrideSetsConflict(this.overrides, this.#safeTo.overrides)) {
809
814
  // Any inconsistency between the edge's override set and the target's
810
815
  // override set is potentially problematic. But we only say the edge is
811
816
  // in error if the override sets are plainly conflicting. Note that if
@@ -1015,7 +1020,7 @@ class SafeNode extends Node {
1015
1020
  return false;
1016
1021
  }
1017
1022
  // It's a top level pkg, or a dep of one.
1018
- if (!this.resolveParent || !this.resolveParent.resolveParent) {
1023
+ if (!this.resolveParent?.resolveParent) {
1019
1024
  return false;
1020
1025
  }
1021
1026
  // No one wants it, remove it.
@@ -1232,7 +1237,7 @@ class SafeNode extends Node {
1232
1237
  }
1233
1238
  // This is an error condition. We can only get here if the new override set
1234
1239
  // is in conflict with the existing.
1235
- log.silly(`Conflicting override requirements for node ${this.name}`, this);
1240
+ log.silly('Conflicting override sets', this.name);
1236
1241
  return false;
1237
1242
  }
1238
1243
 
@@ -1488,7 +1493,7 @@ void (async () => {
1488
1493
  const socketSdk = await (0, _sdk.setupSdk)(pubToken);
1489
1494
  const orgResult = await socketSdk.getOrganizations();
1490
1495
  if (!orgResult.success) {
1491
- throw new Error('Failed to fetch Socket organization info: ' + orgResult.error.message);
1496
+ throw new Error(`Failed to fetch Socket organization info: ${orgResult.error.message}`);
1492
1497
  }
1493
1498
  const orgs = [];
1494
1499
  for (const org of Object.values(orgResult.data.organizations)) {
@@ -1500,7 +1505,7 @@ void (async () => {
1500
1505
  organization: org.id
1501
1506
  })));
1502
1507
  if (!result.success) {
1503
- throw new Error('Failed to fetch API key settings: ' + result.error.message);
1508
+ throw new Error(`Failed to fetch API key settings: ${result.error.message}`);
1504
1509
  }
1505
1510
  return {
1506
1511
  orgs,
@@ -1541,10 +1546,14 @@ void (async () => {
1541
1546
  if (socketYml) {
1542
1547
  settings.entries.push({
1543
1548
  start: socketYml.path,
1544
- // @ts-ignore
1545
1549
  settings: {
1546
1550
  [socketYml.path]: {
1547
1551
  deferTo: null,
1552
+ // TODO: TypeScript complains about the type not matching. We should
1553
+ // figure out why are providing
1554
+ // issueRules: { [issueName: string]: boolean }
1555
+ // but expecting
1556
+ // issueRules: { [issueName: string]: { action: 'defer' | 'error' | 'ignore' | 'monitor' | 'warn' } }
1548
1557
  issueRules: socketYml.parsed.issueRules
1549
1558
  }
1550
1559
  }
@@ -4,7 +4,7 @@ var require$$1$1 = require('node:fs/promises');
4
4
  var require$$1 = require('node:path');
5
5
  var require$$2 = require('ignore');
6
6
  var require$$3 = require('micromatch');
7
- var require$$11 = require('tinyglobby');
7
+ var require$$10 = require('tinyglobby');
8
8
 
9
9
  var pathResolve = {};
10
10
 
@@ -51,7 +51,7 @@ var _promises = require$$1$1;
51
51
  var _nodePath = require$$1;
52
52
  var _ignore = require$$2;
53
53
  var _micromatch = require$$3;
54
- var _tinyglobby = require$$11;
54
+ var _tinyglobby = require$$10;
55
55
  var _ignoreByDefault = ignoreByDefault;
56
56
  async function filterGlobResultToSupportedFiles(entries, supportedFiles) {
57
57
  const patterns = ['golang', 'npm', 'pypi'].reduce((r, n) => {
package/dist/sdk.d.ts CHANGED
@@ -1,12 +1,5 @@
1
1
  /// <reference types="node" />
2
2
  import { SocketSdk } from '@socketsecurity/sdk';
3
- declare function hasOwn(obj: any, propKey: PropertyKey): boolean;
4
- declare function isObject(value: any): value is object;
5
- declare function isObjectObject(value: any): value is {
6
- [key: string]: any;
7
- };
8
- declare function objectSome(obj: Record<string, any>): boolean;
9
- declare function pick<T extends Record<string, any>, K extends keyof T>(input: T, keys: K[] | ReadonlyArray<K>): Pick<T, K>;
10
3
  declare function createDebugLogger(printDebugLogs?: boolean): typeof console.error;
11
4
  declare function isErrnoException(value: unknown): value is NodeJS.ErrnoException;
12
5
  declare function stringJoinWithSeparateFinalSeparator(list: (string | undefined)[], separator?: string): string;
@@ -14,9 +7,7 @@ declare const API_V0_URL = "https://api.socket.dev/v0";
14
7
  declare const ENV: Readonly<{
15
8
  UPDATE_SOCKET_OVERRIDES_IN_PACKAGE_LOCK_FILE: boolean;
16
9
  }>;
17
- declare const packumentCache: Map<any, any>;
18
- declare const pacoteCachePath: any;
19
10
  declare const FREE_API_KEY = "sktsec_t_--RAN5U4ivauy4w37-6aoKyYPDt5ZbaT5JBVMqiwKo_api";
20
11
  declare function getDefaultKey(): string | undefined;
21
12
  declare function setupSdk(apiKey?: string | undefined, apiBaseUrl?: string | undefined, proxy?: string | undefined): Promise<SocketSdk>;
22
- export { hasOwn, isObject, isObjectObject, objectSome, pick, createDebugLogger, isErrnoException, stringJoinWithSeparateFinalSeparator, API_V0_URL, ENV, packumentCache, pacoteCachePath, FREE_API_KEY, getDefaultKey, setupSdk };
13
+ export { createDebugLogger, isErrnoException, stringJoinWithSeparateFinalSeparator, API_V0_URL, ENV, FREE_API_KEY, getDefaultKey, setupSdk };