socket 1.0.65 → 1.0.66

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.
Files changed (138) hide show
  1. package/dist/cli.js +522 -345
  2. package/dist/cli.js.map +1 -1
  3. package/dist/constants.js +3 -3
  4. package/dist/constants.js.map +1 -1
  5. package/dist/shadow-npm-inject.js +6 -6
  6. package/dist/shadow-npm-inject.js.map +1 -1
  7. package/dist/types/commands/analytics/fetch-org-analytics.d.mts +6 -2
  8. package/dist/types/commands/analytics/fetch-org-analytics.d.mts.map +1 -1
  9. package/dist/types/commands/analytics/fetch-repo-analytics.d.mts +6 -2
  10. package/dist/types/commands/analytics/fetch-repo-analytics.d.mts.map +1 -1
  11. package/dist/types/commands/analytics/output-analytics.d.mts +4 -4
  12. package/dist/types/commands/analytics/output-analytics.d.mts.map +1 -1
  13. package/dist/types/commands/audit-log/fetch-audit-log.d.mts +10 -5
  14. package/dist/types/commands/audit-log/fetch-audit-log.d.mts.map +1 -1
  15. package/dist/types/commands/audit-log/handle-audit-log.d.mts +1 -1
  16. package/dist/types/commands/audit-log/handle-audit-log.d.mts.map +1 -1
  17. package/dist/types/commands/audit-log/output-audit-log.d.mts +6 -6
  18. package/dist/types/commands/audit-log/output-audit-log.d.mts.map +1 -1
  19. package/dist/types/commands/ci/fetch-default-org-slug.d.mts +1 -1
  20. package/dist/types/commands/ci/fetch-default-org-slug.d.mts.map +1 -1
  21. package/dist/types/commands/ci/handle-ci.d.mts +1 -1
  22. package/dist/types/commands/ci/handle-ci.d.mts.map +1 -1
  23. package/dist/types/commands/fix/cmd-fix.d.mts.map +1 -1
  24. package/dist/types/commands/fix/handle-fix.d.mts +2 -1
  25. package/dist/types/commands/fix/handle-fix.d.mts.map +1 -1
  26. package/dist/types/commands/login/attempt-login.d.mts.map +1 -1
  27. package/dist/types/commands/organization/fetch-dependencies.d.mts +8 -3
  28. package/dist/types/commands/organization/fetch-dependencies.d.mts.map +1 -1
  29. package/dist/types/commands/organization/fetch-license-policy.d.mts +6 -2
  30. package/dist/types/commands/organization/fetch-license-policy.d.mts.map +1 -1
  31. package/dist/types/commands/organization/fetch-organization-list.d.mts +6 -2
  32. package/dist/types/commands/organization/fetch-organization-list.d.mts.map +1 -1
  33. package/dist/types/commands/organization/fetch-quota.d.mts +6 -2
  34. package/dist/types/commands/organization/fetch-quota.d.mts.map +1 -1
  35. package/dist/types/commands/organization/fetch-security-policy.d.mts +6 -2
  36. package/dist/types/commands/organization/fetch-security-policy.d.mts.map +1 -1
  37. package/dist/types/commands/organization/output-dependencies.d.mts +2 -2
  38. package/dist/types/commands/organization/output-dependencies.d.mts.map +1 -1
  39. package/dist/types/commands/organization/output-license-policy.d.mts +2 -2
  40. package/dist/types/commands/organization/output-license-policy.d.mts.map +1 -1
  41. package/dist/types/commands/organization/output-organization-list.d.mts +2 -2
  42. package/dist/types/commands/organization/output-organization-list.d.mts.map +1 -1
  43. package/dist/types/commands/organization/output-quota.d.mts +2 -2
  44. package/dist/types/commands/organization/output-quota.d.mts.map +1 -1
  45. package/dist/types/commands/organization/output-security-policy.d.mts +2 -2
  46. package/dist/types/commands/organization/output-security-policy.d.mts.map +1 -1
  47. package/dist/types/commands/package/fetch-purls-shallow-score.d.mts +6 -2
  48. package/dist/types/commands/package/fetch-purls-shallow-score.d.mts.map +1 -1
  49. package/dist/types/commands/repository/fetch-create-repo.d.mts +11 -6
  50. package/dist/types/commands/repository/fetch-create-repo.d.mts.map +1 -1
  51. package/dist/types/commands/repository/fetch-delete-repo.d.mts +6 -2
  52. package/dist/types/commands/repository/fetch-delete-repo.d.mts.map +1 -1
  53. package/dist/types/commands/repository/fetch-list-all-repos.d.mts +8 -6
  54. package/dist/types/commands/repository/fetch-list-all-repos.d.mts.map +1 -1
  55. package/dist/types/commands/repository/fetch-list-repos.d.mts +9 -4
  56. package/dist/types/commands/repository/fetch-list-repos.d.mts.map +1 -1
  57. package/dist/types/commands/repository/fetch-update-repo.d.mts +11 -6
  58. package/dist/types/commands/repository/fetch-update-repo.d.mts.map +1 -1
  59. package/dist/types/commands/repository/fetch-view-repo.d.mts +6 -2
  60. package/dist/types/commands/repository/fetch-view-repo.d.mts.map +1 -1
  61. package/dist/types/commands/repository/handle-create-repo.d.mts +2 -2
  62. package/dist/types/commands/repository/handle-create-repo.d.mts.map +1 -1
  63. package/dist/types/commands/repository/handle-list-repos.d.mts +2 -2
  64. package/dist/types/commands/repository/handle-list-repos.d.mts.map +1 -1
  65. package/dist/types/commands/repository/handle-update-repo.d.mts +2 -2
  66. package/dist/types/commands/repository/handle-update-repo.d.mts.map +1 -1
  67. package/dist/types/commands/repository/output-create-repo.d.mts +2 -2
  68. package/dist/types/commands/repository/output-create-repo.d.mts.map +1 -1
  69. package/dist/types/commands/repository/output-delete-repo.d.mts +2 -2
  70. package/dist/types/commands/repository/output-delete-repo.d.mts.map +1 -1
  71. package/dist/types/commands/repository/output-list-repos.d.mts +2 -2
  72. package/dist/types/commands/repository/output-list-repos.d.mts.map +1 -1
  73. package/dist/types/commands/repository/output-update-repo.d.mts +2 -2
  74. package/dist/types/commands/repository/output-update-repo.d.mts.map +1 -1
  75. package/dist/types/commands/repository/output-view-repo.d.mts +2 -2
  76. package/dist/types/commands/repository/output-view-repo.d.mts.map +1 -1
  77. package/dist/types/commands/scan/create-scan-from-github.d.mts.map +1 -1
  78. package/dist/types/commands/scan/fetch-create-org-full-scan.d.mts +12 -3
  79. package/dist/types/commands/scan/fetch-create-org-full-scan.d.mts.map +1 -1
  80. package/dist/types/commands/scan/fetch-delete-org-full-scan.d.mts +6 -2
  81. package/dist/types/commands/scan/fetch-delete-org-full-scan.d.mts.map +1 -1
  82. package/dist/types/commands/scan/fetch-diff-scan.d.mts +2 -2
  83. package/dist/types/commands/scan/fetch-diff-scan.d.mts.map +1 -1
  84. package/dist/types/commands/scan/fetch-list-scans.d.mts +9 -4
  85. package/dist/types/commands/scan/fetch-list-scans.d.mts.map +1 -1
  86. package/dist/types/commands/scan/fetch-report-data.d.mts +8 -3
  87. package/dist/types/commands/scan/fetch-report-data.d.mts.map +1 -1
  88. package/dist/types/commands/scan/fetch-scan-metadata.d.mts +6 -2
  89. package/dist/types/commands/scan/fetch-scan-metadata.d.mts.map +1 -1
  90. package/dist/types/commands/scan/fetch-supported-scan-file-names.d.mts +6 -2
  91. package/dist/types/commands/scan/fetch-supported-scan-file-names.d.mts.map +1 -1
  92. package/dist/types/commands/scan/generate-report.d.mts +2 -2
  93. package/dist/types/commands/scan/generate-report.d.mts.map +1 -1
  94. package/dist/types/commands/scan/handle-create-new-scan.d.mts.map +1 -1
  95. package/dist/types/commands/scan/handle-list-scans.d.mts +2 -2
  96. package/dist/types/commands/scan/handle-list-scans.d.mts.map +1 -1
  97. package/dist/types/commands/scan/handle-scan-report.d.mts.map +1 -1
  98. package/dist/types/commands/scan/output-create-new-scan.d.mts +2 -2
  99. package/dist/types/commands/scan/output-create-new-scan.d.mts.map +1 -1
  100. package/dist/types/commands/scan/output-delete-scan.d.mts +2 -2
  101. package/dist/types/commands/scan/output-delete-scan.d.mts.map +1 -1
  102. package/dist/types/commands/scan/output-diff-scan.d.mts +2 -2
  103. package/dist/types/commands/scan/output-diff-scan.d.mts.map +1 -1
  104. package/dist/types/commands/scan/output-list-scans.d.mts +2 -2
  105. package/dist/types/commands/scan/output-list-scans.d.mts.map +1 -1
  106. package/dist/types/commands/scan/output-scan-metadata.d.mts +2 -2
  107. package/dist/types/commands/scan/output-scan-metadata.d.mts.map +1 -1
  108. package/dist/types/commands/scan/output-scan-report.d.mts +2 -2
  109. package/dist/types/commands/scan/output-scan-report.d.mts.map +1 -1
  110. package/dist/types/commands/scan/stream-scan.d.mts +6 -1
  111. package/dist/types/commands/scan/stream-scan.d.mts.map +1 -1
  112. package/dist/types/commands/scan/suggest-org-slug.d.mts.map +1 -1
  113. package/dist/types/commands/scan/suggest-repo-slug.d.mts +5 -1
  114. package/dist/types/commands/scan/suggest-repo-slug.d.mts.map +1 -1
  115. package/dist/types/utils/alert/severity.d.mts +2 -2
  116. package/dist/types/utils/alert/severity.d.mts.map +1 -1
  117. package/dist/types/utils/alerts-map.d.mts.map +1 -1
  118. package/dist/types/utils/api.d.mts +8 -3
  119. package/dist/types/utils/api.d.mts.map +1 -1
  120. package/dist/types/utils/coana.d.mts.map +1 -1
  121. package/dist/types/utils/glob.d.mts +4 -2
  122. package/dist/types/utils/glob.d.mts.map +1 -1
  123. package/dist/types/utils/path-resolve.d.mts +2 -2
  124. package/dist/types/utils/path-resolve.d.mts.map +1 -1
  125. package/dist/types/utils/sdk.d.mts +6 -1
  126. package/dist/types/utils/sdk.d.mts.map +1 -1
  127. package/dist/utils.js +208 -104
  128. package/dist/utils.js.map +1 -1
  129. package/dist/vendor.js +141 -61
  130. package/external/@socketsecurity/registry/external/@inquirer/select.js +14 -2
  131. package/external/@socketsecurity/registry/external/@npmcli/package-json/index.js +4 -4
  132. package/external/@socketsecurity/registry/external/libnpmpack.js +4 -4
  133. package/external/@socketsecurity/registry/external/npm-package-arg.js +4 -4
  134. package/external/@socketsecurity/registry/external/pacote.js +4 -4
  135. package/external/@socketsecurity/registry/external/validate-npm-package-name.js +4 -4
  136. package/external/@socketsecurity/registry/lib/regexps.js +1 -1
  137. package/external/@socketsecurity/registry/lib/spinner.js +15 -5
  138. package/package.json +12 -12
package/dist/cli.js CHANGED
@@ -23,29 +23,45 @@ var sorts = require('../external/@socketsecurity/registry/lib/sorts');
23
23
  var regexps = require('../external/@socketsecurity/registry/lib/regexps');
24
24
  var fs$2 = require('../external/@socketsecurity/registry/lib/fs');
25
25
  var shadowNpmInject = require('./shadow-npm-inject.js');
26
- var objects = require('../external/@socketsecurity/registry/lib/objects');
26
+ var require$$7 = require('../external/@socketsecurity/registry/lib/objects');
27
27
  var shadowNpmBin = require('./shadow-npm-bin.js');
28
- var require$$7 = require('../external/@socketsecurity/registry/lib/promises');
28
+ var require$$8 = require('../external/@socketsecurity/registry/lib/promises');
29
29
  var require$$1 = require('node:util');
30
30
  var os = require('node:os');
31
31
  var promises = require('node:stream/promises');
32
32
 
33
- async function fetchOrgAnalyticsData(time) {
34
- const sockSdkCResult = await utils.setupSdk();
33
+ async function fetchOrgAnalyticsData(time, options) {
34
+ const {
35
+ sdkOptions
36
+ } = {
37
+ __proto__: null,
38
+ ...options
39
+ };
40
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
35
41
  if (!sockSdkCResult.ok) {
36
42
  return sockSdkCResult;
37
43
  }
38
44
  const sockSdk = sockSdkCResult.data;
39
- return await utils.handleApiCall(sockSdk.getOrgAnalytics(time.toString()), 'analytics data');
45
+ return await utils.handleApiCall(sockSdk.getOrgAnalytics(time.toString()), {
46
+ desc: 'analytics data'
47
+ });
40
48
  }
41
49
 
42
- async function fetchRepoAnalyticsData(repo, time) {
43
- const sockSdkCResult = await utils.setupSdk();
50
+ async function fetchRepoAnalyticsData(repo, time, options) {
51
+ const {
52
+ sdkOptions
53
+ } = {
54
+ __proto__: null,
55
+ ...options
56
+ };
57
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
44
58
  if (!sockSdkCResult.ok) {
45
59
  return sockSdkCResult;
46
60
  }
47
61
  const sockSdk = sockSdkCResult.data;
48
- return await utils.handleApiCall(sockSdk.getRepoAnalytics(repo, time.toString()), 'analytics data');
62
+ return await utils.handleApiCall(sockSdk.getRepoAnalytics(repo, time.toString()), {
63
+ desc: 'analytics data'
64
+ });
49
65
  }
50
66
 
51
67
  // Note: Widgets does not seem to actually work as code :'(
@@ -446,18 +462,28 @@ async function run$P(argv, importMeta, {
446
462
  });
447
463
  }
448
464
 
449
- async function fetchAuditLog({
450
- logType,
451
- orgSlug,
452
- outputKind,
453
- page,
454
- perPage
455
- }) {
456
- const sockSdkCResult = await utils.setupSdk();
465
+ async function fetchAuditLog(config, options) {
466
+ const {
467
+ sdkOptions
468
+ } = {
469
+ __proto__: null,
470
+ ...options
471
+ };
472
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
457
473
  if (!sockSdkCResult.ok) {
458
474
  return sockSdkCResult;
459
475
  }
460
476
  const sockSdk = sockSdkCResult.data;
477
+ const {
478
+ logType,
479
+ orgSlug,
480
+ outputKind,
481
+ page,
482
+ perPage
483
+ } = {
484
+ __proto__: null,
485
+ ...config
486
+ };
461
487
  return await utils.handleApiCall(sockSdk.getAuditLogEvents(orgSlug, {
462
488
  // I'm not sure this is used at all.
463
489
  outputJson: String(outputKind === 'json'),
@@ -467,7 +493,9 @@ async function fetchAuditLog({
467
493
  type: logType,
468
494
  page: String(page),
469
495
  per_page: String(perPage)
470
- }), `audit log for ${orgSlug}`);
496
+ }), {
497
+ desc: `audit log for ${orgSlug}`
498
+ });
471
499
  }
472
500
 
473
501
  const require$4 = require$$5.createRequire(require('node:url').pathToFileURL(__filename).href);
@@ -538,10 +566,10 @@ async function outputAsJson(auditLogs, {
538
566
  desc: 'Audit logs for given query',
539
567
  // Lazily access constants.ENV.VITEST.
540
568
  generated: constants.ENV.VITEST ? REDACTED : new Date().toISOString(),
541
- org: orgSlug,
542
569
  logType,
543
- page,
544
570
  nextPage: auditLogs.data.nextPage,
571
+ org: orgSlug,
572
+ page,
545
573
  perPage,
546
574
  logs: auditLogs.data.results.map(log => {
547
575
  // Note: The subset is pretty arbitrary
@@ -708,11 +736,11 @@ async function handleAuditLog({
708
736
  perPage
709
737
  }) {
710
738
  const auditLogs = await fetchAuditLog({
739
+ logType,
711
740
  orgSlug,
712
741
  outputKind,
713
742
  page,
714
- perPage,
715
- logType
743
+ perPage
716
744
  });
717
745
  await outputAuditLog(auditLogs, {
718
746
  logType,
@@ -860,68 +888,34 @@ async function run$O(argv, importMeta, {
860
888
  });
861
889
  }
862
890
 
863
- // Use the config defaultOrg when set, otherwise discover from remote
864
- async function getDefaultOrgSlug() {
865
- const defaultOrgResult = utils.getConfigValueOrUndef('defaultOrg');
866
- if (defaultOrgResult) {
867
- debug.debugFn('notice', 'use: default org', defaultOrgResult);
868
- return {
869
- ok: true,
870
- data: defaultOrgResult
871
- };
872
- }
873
- const sockSdkCResult = await utils.setupSdk();
874
- if (!sockSdkCResult.ok) {
875
- return sockSdkCResult;
876
- }
877
- const sockSdk = sockSdkCResult.data;
878
- const result = await utils.handleApiCall(sockSdk.getOrganizations(), 'list of organizations');
879
- if (!result.ok) {
880
- return result;
881
- }
882
- const orgs = result.data.organizations;
883
- const keys = Object.keys(orgs);
884
- if (!keys[0]) {
885
- return {
886
- ok: false,
887
- message: 'Failed to establish identity',
888
- data: `API did not return any organization associated with the current API token. Unable to continue.`
889
- };
890
- }
891
- const slug = (keys[0] in orgs && orgs?.[keys[0]]?.name) ?? undefined;
892
- if (!slug) {
893
- return {
894
- ok: false,
895
- message: 'Failed to establish identity',
896
- data: `Was unable to determine the default organization for the current API token. Unable to continue.`
897
- };
898
- }
899
- debug.debugFn('notice', 'resolve: org', slug);
900
- return {
901
- ok: true,
902
- message: 'Retrieved default org from server',
903
- data: slug
891
+ async function fetchCreateOrgFullScan(packagePaths, orgSlug, config, options) {
892
+ const {
893
+ branchName,
894
+ commitHash,
895
+ commitMessage,
896
+ committers,
897
+ pullRequest,
898
+ repoName
899
+ } = {
900
+ __proto__: null,
901
+ ...config
904
902
  };
905
- }
906
-
907
- const {
908
- SOCKET_DEFAULT_REPOSITORY: SOCKET_DEFAULT_REPOSITORY$3
909
- } = constants;
910
- async function fetchCreateOrgFullScan(packagePaths, orgSlug, defaultBranch, pendingHead, tmp, cwd, {
911
- branchName,
912
- commitHash,
913
- commitMessage,
914
- committers,
915
- pullRequest,
916
- repoName
917
- }) {
918
- const sockSdkCResult = await utils.setupSdk();
903
+ const {
904
+ cwd = process.cwd(),
905
+ defaultBranch,
906
+ pendingHead,
907
+ sdkOptions,
908
+ tmp
909
+ } = {
910
+ __proto__: null,
911
+ ...options
912
+ };
913
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
919
914
  if (!sockSdkCResult.ok) {
920
915
  return sockSdkCResult;
921
916
  }
922
917
  const sockSdk = sockSdkCResult.data;
923
- const repo = repoName || (await utils.getRepoName(cwd)) || SOCKET_DEFAULT_REPOSITORY$3;
924
- return await utils.handleApiCall(sockSdk.createOrgFullScan(orgSlug, {
918
+ return await utils.handleApiCall(sockSdk.createOrgFullScan(orgSlug, packagePaths, cwd, {
925
919
  ...(branchName ? {
926
920
  branch: branchName
927
921
  } : {}),
@@ -938,28 +932,44 @@ async function fetchCreateOrgFullScan(packagePaths, orgSlug, defaultBranch, pend
938
932
  ...(pullRequest ? {
939
933
  pull_request: String(pullRequest)
940
934
  } : {}),
941
- // The repo is mandatory, this is server default for repo.
942
- repo,
935
+ repo: repoName,
943
936
  set_as_pending_head: String(pendingHead),
944
937
  tmp: String(tmp)
945
- }, packagePaths, cwd), 'to create a scan');
938
+ }), {
939
+ desc: 'to create a scan'
940
+ });
946
941
  }
947
942
 
948
- async function fetchSupportedScanFileNames() {
949
- const sockSdkCResult = await utils.setupSdk();
943
+ async function fetchSupportedScanFileNames(options) {
944
+ const {
945
+ sdkOptions
946
+ } = {
947
+ __proto__: null,
948
+ ...options
949
+ };
950
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
950
951
  if (!sockSdkCResult.ok) {
951
952
  return sockSdkCResult;
952
953
  }
953
954
  const sockSdk = sockSdkCResult.data;
954
- return await utils.handleApiCall(sockSdk.getReportSupportedFiles(), 'supported scan file types');
955
+ return await utils.handleApiCall(sockSdk.getSupportedScanFiles(), {
956
+ desc: 'supported scan file types'
957
+ });
955
958
  }
956
959
 
957
960
  /**
958
961
  * This fetches all the relevant pieces of data to generate a report, given a
959
962
  * full scan ID.
960
963
  */
961
- async function fetchReportData(orgSlug, scanId, includeLicensePolicy) {
962
- const sockSdkCResult = await utils.setupSdk();
964
+ async function fetchScanData(orgSlug, scanId, options) {
965
+ const {
966
+ includeLicensePolicy,
967
+ sdkOptions
968
+ } = {
969
+ __proto__: null,
970
+ ...options
971
+ };
972
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
963
973
  if (!sockSdkCResult.ok) {
964
974
  return sockSdkCResult;
965
975
  }
@@ -1438,8 +1448,10 @@ async function handleScanReport({
1438
1448
  scanId,
1439
1449
  short
1440
1450
  }) {
1441
- const result = await fetchReportData(orgSlug, scanId, includeLicensePolicy);
1442
- await outputScanReport(result, {
1451
+ const scanDataCResult = await fetchScanData(orgSlug, scanId, {
1452
+ includeLicensePolicy
1453
+ });
1454
+ await outputScanReport(scanDataCResult, {
1443
1455
  filePath,
1444
1456
  fold,
1445
1457
  scanId: scanId,
@@ -2036,13 +2048,18 @@ async function handleCreateNewScan({
2036
2048
  logger.logger.log('[ReadOnly] Bailing now');
2037
2049
  return;
2038
2050
  }
2039
- const fullScanCResult = await fetchCreateOrgFullScan(packagePaths, orgSlug, defaultBranch, pendingHead, tmp, cwd, {
2051
+ const fullScanCResult = await fetchCreateOrgFullScan(packagePaths, orgSlug, {
2040
2052
  commitHash,
2041
2053
  commitMessage,
2042
2054
  committers,
2043
2055
  pullRequest,
2044
2056
  repoName,
2045
2057
  branchName
2058
+ }, {
2059
+ cwd,
2060
+ defaultBranch,
2061
+ pendingHead,
2062
+ tmp
2046
2063
  });
2047
2064
  if (fullScanCResult.ok && report) {
2048
2065
  if (fullScanCResult.data?.id) {
@@ -2069,40 +2086,39 @@ async function handleCreateNewScan({
2069
2086
  }
2070
2087
  }
2071
2088
 
2072
- const {
2073
- SOCKET_DEFAULT_BRANCH: SOCKET_DEFAULT_BRANCH$2,
2074
- SOCKET_DEFAULT_REPOSITORY: SOCKET_DEFAULT_REPOSITORY$2
2075
- } = constants;
2076
- async function handleCI(autoManifest) {
2089
+ async function handleCi(autoManifest) {
2077
2090
  // ci: {
2078
2091
  // description: 'Alias for "report create --view --strict"',
2079
2092
  // argv: ['report', 'create', '--view', '--strict']
2080
2093
  // }
2081
- const result = await getDefaultOrgSlug();
2082
- if (!result.ok) {
2083
- process.exitCode = result.code ?? 1;
2094
+ const orgSlugCResult = await utils.getDefaultOrgSlug();
2095
+ if (!orgSlugCResult.ok) {
2096
+ process.exitCode = orgSlugCResult.code ?? 1;
2084
2097
  // Always assume json mode.
2085
- logger.logger.log(utils.serializeResultJson(result));
2098
+ logger.logger.log(utils.serializeResultJson(orgSlugCResult));
2086
2099
  return;
2087
2100
  }
2101
+ const orgSlug = orgSlugCResult.data;
2088
2102
  const cwd = process.cwd();
2089
-
2090
- // TODO: does it makes sense to use custom branch/repo names here? probably socket.yml, right
2103
+ // Lazily access constants.SOCKET_DEFAULT_BRANCH.
2104
+ const branchName = (await utils.gitBranch(cwd)) || constants.SOCKET_DEFAULT_BRANCH;
2105
+ // Lazily access constants.SOCKET_DEFAULT_REPOSITORY.
2106
+ const repoName = (await utils.getRepoName(cwd)) || constants.SOCKET_DEFAULT_REPOSITORY;
2091
2107
  await handleCreateNewScan({
2092
2108
  autoManifest,
2093
- branchName: (await utils.gitBranch(cwd)) || SOCKET_DEFAULT_BRANCH$2,
2109
+ branchName,
2094
2110
  commitMessage: '',
2095
2111
  commitHash: '',
2096
2112
  committers: '',
2097
- cwd: process.cwd(),
2113
+ cwd,
2098
2114
  defaultBranch: false,
2099
2115
  interactive: false,
2100
- orgSlug: result.data,
2116
+ orgSlug,
2101
2117
  outputKind: 'json',
2102
2118
  // When 'pendingHead' is true, it requires 'branchName' set and 'tmp' false.
2103
2119
  pendingHead: true,
2104
2120
  pullRequest: 0,
2105
- repoName: (await utils.getRepoName(cwd)) || SOCKET_DEFAULT_REPOSITORY$2,
2121
+ repoName,
2106
2122
  readOnly: false,
2107
2123
  report: true,
2108
2124
  targets: ['.'],
@@ -2168,7 +2184,7 @@ async function run$N(argv, importMeta, {
2168
2184
  logger.logger.log(DRY_RUN_BAILING_NOW$K);
2169
2185
  return;
2170
2186
  }
2171
- await handleCI(Boolean(cli.flags['autoManifest']));
2187
+ await handleCi(Boolean(cli.flags['autoManifest']));
2172
2188
  }
2173
2189
 
2174
2190
  async function discoverConfigValue(key) {
@@ -2275,43 +2291,35 @@ async function discoverConfigValue(key) {
2275
2291
  };
2276
2292
  }
2277
2293
  async function getDefaultOrgFromToken() {
2278
- const sockSdkCResult = await utils.setupSdk();
2279
- if (!sockSdkCResult.ok) {
2294
+ const orgsCResult = await utils.fetchOrganization();
2295
+ if (!orgsCResult.ok) {
2280
2296
  return undefined;
2281
2297
  }
2282
- const sockSdk = sockSdkCResult.data;
2283
- const result = await utils.handleApiCall(sockSdk.getOrganizations(), 'list of organizations');
2284
- if (result.ok) {
2285
- const arr = Array.from(Object.values(result.data.organizations)).map(({
2286
- slug
2287
- }) => slug);
2288
- if (arr.length === 0) {
2289
- return undefined;
2290
- }
2291
- if (arr.length === 1) {
2292
- return arr[0];
2293
- }
2294
- return arr;
2298
+ const {
2299
+ organizations
2300
+ } = orgsCResult.data;
2301
+ const slugs = Array.from(Object.values(organizations)).map(o => o.slug);
2302
+ if (slugs.length === 0) {
2303
+ return undefined;
2295
2304
  }
2296
- return undefined;
2305
+ if (slugs.length === 1) {
2306
+ return slugs[0];
2307
+ }
2308
+ return slugs;
2297
2309
  }
2298
2310
  async function getEnforceableOrgsFromToken() {
2299
- const sockSdkCResult = await utils.setupSdk();
2300
- if (!sockSdkCResult.ok) {
2311
+ const orgsCResult = await utils.fetchOrganization();
2312
+ if (!orgsCResult.ok) {
2301
2313
  return undefined;
2302
2314
  }
2303
- const sockSdk = sockSdkCResult.data;
2304
- const result = await utils.handleApiCall(sockSdk.getOrganizations(), 'list of organizations');
2305
- if (result.ok) {
2306
- const arr = Array.from(Object.values(result.data.organizations)).map(({
2307
- slug
2308
- }) => slug);
2309
- if (arr.length === 0) {
2310
- return undefined;
2311
- }
2312
- return arr;
2315
+ const {
2316
+ organizations
2317
+ } = orgsCResult.data;
2318
+ const slugs = Array.from(Object.values(organizations)).map(o => o.slug);
2319
+ if (!slugs.length) {
2320
+ return undefined;
2313
2321
  }
2314
- return undefined;
2322
+ return slugs;
2315
2323
  }
2316
2324
 
2317
2325
  async function outputConfigAuto(key, result, outputKind) {
@@ -3566,9 +3574,9 @@ async function getActualTree(cwd = process.cwd()) {
3566
3574
 
3567
3575
  const {
3568
3576
  BUN: BUN$4,
3569
- NPM: NPM$8,
3577
+ NPM: NPM$7,
3570
3578
  OVERRIDES: OVERRIDES$2,
3571
- PNPM: PNPM$8,
3579
+ PNPM: PNPM$7,
3572
3580
  RESOLUTIONS: RESOLUTIONS$1,
3573
3581
  VLT: VLT$5,
3574
3582
  YARN_BERRY: YARN_BERRY$4,
@@ -3587,7 +3595,7 @@ function getOverridesDataBun(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJ
3587
3595
  function getOverridesDataNpm(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJson.content) {
3588
3596
  const overrides = pkgJson?.[OVERRIDES$2] ?? {};
3589
3597
  return {
3590
- type: NPM$8,
3598
+ type: NPM$7,
3591
3599
  overrides
3592
3600
  };
3593
3601
  }
@@ -3595,9 +3603,9 @@ function getOverridesDataNpm(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJ
3595
3603
  // pnpm overrides documentation:
3596
3604
  // https://pnpm.io/package_json#pnpmoverrides
3597
3605
  function getOverridesDataPnpm(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJson.content) {
3598
- const overrides = pkgJson?.[PNPM$8]?.[OVERRIDES$2] ?? {};
3606
+ const overrides = pkgJson?.[PNPM$7]?.[OVERRIDES$2] ?? {};
3599
3607
  return {
3600
- type: PNPM$8,
3608
+ type: PNPM$7,
3601
3609
  overrides
3602
3610
  };
3603
3611
  }
@@ -3632,7 +3640,7 @@ function getOverridesData(pkgEnvDetails, pkgJson) {
3632
3640
  switch (pkgEnvDetails.agent) {
3633
3641
  case BUN$4:
3634
3642
  return getOverridesDataBun(pkgEnvDetails, pkgJson);
3635
- case PNPM$8:
3643
+ case PNPM$7:
3636
3644
  return getOverridesDataPnpm(pkgEnvDetails, pkgJson);
3637
3645
  case VLT$5:
3638
3646
  return getOverridesDataVlt(pkgEnvDetails, pkgJson);
@@ -3640,7 +3648,7 @@ function getOverridesData(pkgEnvDetails, pkgJson) {
3640
3648
  return getOverridesDataYarn(pkgEnvDetails, pkgJson);
3641
3649
  case YARN_CLASSIC$4:
3642
3650
  return getOverridesDataYarnClassic(pkgEnvDetails, pkgJson);
3643
- case NPM$8:
3651
+ case NPM$7:
3644
3652
  default:
3645
3653
  return getOverridesDataNpm(pkgEnvDetails, pkgJson);
3646
3654
  }
@@ -4266,7 +4274,7 @@ async function outputFixResult(result, outputKind) {
4266
4274
 
4267
4275
  const {
4268
4276
  OVERRIDES: OVERRIDES$1,
4269
- PNPM: PNPM$7
4277
+ PNPM: PNPM$6
4270
4278
  } = constants;
4271
4279
  async function install(pkgEnvDetails, options) {
4272
4280
  const {
@@ -4383,15 +4391,15 @@ async function pnpmFix(pkgEnvDetails, fixConfig) {
4383
4391
  const {
4384
4392
  overrides: oldOverrides
4385
4393
  } = getOverridesDataPnpm(pkgEnvDetails, editablePkgJson.content);
4386
- const oldPnpmSection = editablePkgJson.content[PNPM$7];
4394
+ const oldPnpmSection = editablePkgJson.content[PNPM$6];
4387
4395
  const overrideKey = `${packument.name}@${vulnerableVersionRange}`;
4388
4396
  revertOverrides = undefined;
4389
4397
  revertOverridesSrc = utils.extractOverridesFromPnpmLockSrc(lockSrc);
4390
4398
  if (isWorkspaceRoot) {
4391
4399
  revertOverrides = {
4392
- [PNPM$7]: oldPnpmSection ? {
4400
+ [PNPM$6]: oldPnpmSection ? {
4393
4401
  ...oldPnpmSection,
4394
- [OVERRIDES$1]: objects.hasKeys(oldOverrides) ? {
4402
+ [OVERRIDES$1]: require$$7.hasKeys(oldOverrides) ? {
4395
4403
  ...oldOverrides,
4396
4404
  [overrideKey]: undefined
4397
4405
  } : undefined
@@ -4400,7 +4408,7 @@ async function pnpmFix(pkgEnvDetails, fixConfig) {
4400
4408
  // Update overrides in the root package.json so that when `pnpm install`
4401
4409
  // generates pnpm-lock.yaml it updates transitive dependencies too.
4402
4410
  editablePkgJson.update({
4403
- [PNPM$7]: {
4411
+ [PNPM$6]: {
4404
4412
  ...oldPnpmSection,
4405
4413
  [OVERRIDES$1]: {
4406
4414
  ...oldOverrides,
@@ -4451,16 +4459,13 @@ async function pnpmFix(pkgEnvDetails, fixConfig) {
4451
4459
  }, fixConfig);
4452
4460
  }
4453
4461
 
4454
- const {
4455
- NPM: NPM$7,
4456
- PNPM: PNPM$6
4457
- } = constants;
4458
4462
  async function handleFix({
4459
4463
  autoMerge,
4460
4464
  cwd,
4461
4465
  ghsas,
4462
4466
  limit,
4463
4467
  minSatisfying,
4468
+ orgSlug,
4464
4469
  outputKind,
4465
4470
  prCheck,
4466
4471
  purls,
@@ -4470,49 +4475,66 @@ async function handleFix({
4470
4475
  testScript,
4471
4476
  unknownFlags
4472
4477
  }) {
4473
- let {
4474
- length: ghsasCount
4475
- } = ghsas;
4476
- if (ghsasCount) {
4477
- spinner?.start('Fetching GHSA IDs...');
4478
- if (ghsasCount === 1 && ghsas[0] === 'auto') {
4479
- const autoCResult = await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd], {
4480
- cwd,
4481
- spinner
4482
- });
4483
- spinner?.stop();
4484
- if (autoCResult.ok) {
4485
- ghsas = utils.cmdFlagValueToArray(/(?<=Vulnerabilities found: )[^\n]+/.exec(autoCResult.data)?.[0]);
4486
- ghsasCount = ghsas.length;
4487
- } else {
4488
- debug.debugFn('error', 'fail: Coana CLI');
4489
- debug.debugDir('inspect', {
4490
- message: autoCResult.message,
4491
- cause: autoCResult.cause
4492
- });
4493
- ghsas = [];
4494
- ghsasCount = 0;
4478
+ if (ghsas.length === 1 && ghsas[0] === 'auto') {
4479
+ let lastCResult;
4480
+ const sockSdkCResult = await utils.setupSdk();
4481
+ lastCResult = sockSdkCResult;
4482
+ const sockSdk = sockSdkCResult.ok ? sockSdkCResult.data : undefined;
4483
+ const supportedFilesCResult = sockSdk ? await fetchSupportedScanFileNames() : undefined;
4484
+ if (supportedFilesCResult) {
4485
+ lastCResult = supportedFilesCResult;
4486
+ }
4487
+ const supportedFiles = supportedFilesCResult?.ok ? supportedFilesCResult.data : undefined;
4488
+ const packagePaths = supportedFiles ? await utils.getPackageFilesForScan(['.'], supportedFiles, {
4489
+ cwd
4490
+ }) : [];
4491
+ const uploadCResult = sockSdk ? await utils.handleApiCall(sockSdk?.uploadManifestFiles(orgSlug, packagePaths), {
4492
+ desc: 'upload manifests'
4493
+ }) : undefined;
4494
+ if (uploadCResult) {
4495
+ lastCResult = uploadCResult;
4496
+ }
4497
+ const tarHash = uploadCResult?.ok ? uploadCResult.data.tarHash : '';
4498
+ const idsOutputCResult = tarHash ? await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd, '--manifests-tar-hash', tarHash], {
4499
+ cwd,
4500
+ spinner,
4501
+ env: {
4502
+ SOCKET_ORG_SLUG: orgSlug
4495
4503
  }
4496
- spinner?.start();
4504
+ }) : undefined;
4505
+ if (idsOutputCResult) {
4506
+ lastCResult = idsOutputCResult;
4497
4507
  }
4498
- if (ghsasCount) {
4499
- spinner?.info(`Found ${ghsasCount} GHSA ${words.pluralize('ID', ghsasCount)}.`);
4500
- const applyFixesCResult = await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd, '--apply-fixes-to', ...ghsas, ...unknownFlags], {
4501
- cwd,
4502
- spinner
4503
- });
4504
- spinner?.stop();
4505
- if (!applyFixesCResult.ok) {
4506
- debug.debugFn('error', 'fail: Coana CLI');
4507
- debug.debugDir('inspect', {
4508
- message: applyFixesCResult.message,
4509
- cause: applyFixesCResult.cause
4510
- });
4508
+ const idsOutput = idsOutputCResult?.ok ? idsOutputCResult.data : '';
4509
+ const ids = utils.cmdFlagValueToArray(/(?<=Vulnerabilities found: )[^\n]+/.exec(idsOutput)?.[0]);
4510
+ const fixCResult = ids.length ? await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd, '--manifests-tar-hash', tarHash, '--apply-fixes-to', ...ids, ...unknownFlags], {
4511
+ cwd,
4512
+ spinner,
4513
+ env: {
4514
+ SOCKET_ORG_SLUG: orgSlug
4511
4515
  }
4512
- await outputFixResult(applyFixesCResult, outputKind);
4516
+ }) : undefined;
4517
+ if (fixCResult) {
4518
+ lastCResult = fixCResult;
4519
+ }
4520
+ // const fixCResult = await spawnCoana(
4521
+ // [
4522
+ // cwd,
4523
+ // '--socket-mode',
4524
+ // DOT_SOCKET_DOT_FACTS_JSON,
4525
+ // '--manifests-tar-hash',
4526
+ // tarHash,
4527
+ // ...unknownFlags,
4528
+ // ],
4529
+ // { cwd, spinner, env: { SOCKET_ORG_SLUG: orgSlug } },
4530
+ // )
4531
+ debug.debugDir('inspect', {
4532
+ lastCResult
4533
+ });
4534
+ if (!lastCResult.ok) {
4535
+ await outputFixResult(lastCResult, outputKind);
4513
4536
  return;
4514
4537
  }
4515
- spinner?.infoAndStop('No GHSA IDs found.');
4516
4538
  await outputFixResult({
4517
4539
  ok: true,
4518
4540
  data: ''
@@ -4538,11 +4560,17 @@ async function handleFix({
4538
4560
  }, outputKind);
4539
4561
  return;
4540
4562
  }
4563
+
4564
+ // Lazily access constants.
4565
+ const {
4566
+ NPM,
4567
+ PNPM
4568
+ } = constants;
4541
4569
  const {
4542
4570
  agent,
4543
4571
  agentVersion
4544
4572
  } = pkgEnvDetails;
4545
- if (agent !== NPM$7 && agent !== PNPM$6) {
4573
+ if (agent !== NPM && agent !== PNPM) {
4546
4574
  await outputFixResult({
4547
4575
  ok: false,
4548
4576
  message: 'Not supported.',
@@ -4551,7 +4579,7 @@ async function handleFix({
4551
4579
  return;
4552
4580
  }
4553
4581
  logger.logger.info(`Fixing packages for ${agent} v${agentVersion}.\n`);
4554
- const fixer = agent === NPM$7 ? npmFix : pnpmFix;
4582
+ const fixer = agent === NPM ? npmFix : pnpmFix;
4555
4583
  await outputFixResult(await fixer(pkgEnvDetails, {
4556
4584
  autoMerge,
4557
4585
  cwd,
@@ -4589,7 +4617,8 @@ const config$H = {
4589
4617
  type: 'string',
4590
4618
  default: [],
4591
4619
  description: `Provide a list of ${vendor.terminalLinkExports('GHSA IDs', 'https://docs.github.com/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database#about-ghsa-ids')} to compute fixes for, as either a comma separated value or as multiple flags.\n Use '--ghsa auto' to automatically lookup GHSA IDs and compute fixes for them.`,
4592
- isMultiple: true
4620
+ isMultiple: true,
4621
+ hidden: true
4593
4622
  },
4594
4623
  limit: {
4595
4624
  type: 'number',
@@ -4714,6 +4743,14 @@ async function run$H(argv, importMeta, {
4714
4743
  autoMerge = true;
4715
4744
  test = true;
4716
4745
  }
4746
+ const orgSlugCResult = await utils.getDefaultOrgSlug();
4747
+ if (!orgSlugCResult.ok) {
4748
+ process.exitCode = orgSlugCResult.code ?? 1;
4749
+ // Always assume json mode.
4750
+ // logger.log(serializeResultJson(orgSlugCResult))
4751
+ return;
4752
+ }
4753
+ const orgSlug = orgSlugCResult.data;
4717
4754
  const ghsas = utils.cmdFlagValueToArray(cli.flags['ghsa']);
4718
4755
  const limit = (cli.flags['limit'] ? parseInt(String(cli.flags['limit'] || ''), 10) : Infinity) || Infinity;
4719
4756
  const maxSatisfying = Boolean(cli.flags['maxSatisfying']);
@@ -4728,6 +4765,7 @@ async function run$H(argv, importMeta, {
4728
4765
  limit,
4729
4766
  minSatisfying,
4730
4767
  prCheck,
4768
+ orgSlug,
4731
4769
  outputKind,
4732
4770
  purls,
4733
4771
  rangeStyle,
@@ -5022,22 +5060,31 @@ async function attemptLogin(apiBaseUrl, apiProxy) {
5022
5060
  };
5023
5061
  }
5024
5062
  const apiToken = apiTokenInput || SOCKET_PUBLIC_API_TOKEN;
5025
- const sdk = await utils.setupSdk(apiToken, apiBaseUrl, apiProxy);
5026
- if (!sdk.ok) {
5063
+ const sockSdkCResult = await utils.setupSdk({
5064
+ apiBaseUrl,
5065
+ apiProxy,
5066
+ apiToken
5067
+ });
5068
+ if (!sockSdkCResult.ok) {
5027
5069
  process.exitCode = 1;
5028
- logger.logger.fail(utils.failMsgWithBadge(sdk.message, sdk.cause));
5070
+ logger.logger.fail(utils.failMsgWithBadge(sockSdkCResult.message, sockSdkCResult.cause));
5029
5071
  return;
5030
5072
  }
5031
- const result = await utils.handleApiCall(sdk.data.getOrganizations(), 'token verification');
5032
- if (!result.ok) {
5073
+ const sockSdk = sockSdkCResult.data;
5074
+ const orgsCResult = await utils.handleApiCall(sockSdk.getOrganizations(), {
5075
+ desc: 'token verification'
5076
+ });
5077
+ if (!orgsCResult.ok) {
5033
5078
  process.exitCode = 1;
5034
- logger.logger.fail(utils.failMsgWithBadge(result.message, result.cause));
5079
+ logger.logger.fail(utils.failMsgWithBadge(orgsCResult.message, orgsCResult.cause));
5035
5080
  return;
5036
5081
  }
5037
- const orgs = result.data;
5038
- const orgSlugs = Object.values(orgs.organizations).map(obj => obj.slug);
5082
+ const {
5083
+ organizations
5084
+ } = orgsCResult.data;
5085
+ const orgSlugs = Object.values(organizations).map(obj => obj.slug);
5039
5086
  logger.logger.success(`API key verified: ${orgSlugs}`);
5040
- const enforcedChoices = Object.values(orgs.organizations).filter(org => org?.plan === 'enterprise').map(org => ({
5087
+ const enforcedChoices = Object.values(organizations).filter(org => org?.plan === 'enterprise').map(org => ({
5041
5088
  name: org.name ?? 'undefined',
5042
5089
  value: org.id
5043
5090
  }));
@@ -7348,8 +7395,8 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7348
7395
  if (oldValue) {
7349
7396
  // The field already exists so we simply update the field value.
7350
7397
  if (field === PNPM$1) {
7351
- const isPnpmObj = objects.isObject(oldValue);
7352
- if (objects.hasKeys(value)) {
7398
+ const isPnpmObj = require$$7.isObject(oldValue);
7399
+ if (require$$7.hasKeys(value)) {
7353
7400
  editablePkgJson.update({
7354
7401
  [field]: {
7355
7402
  ...(isPnpmObj ? oldValue : {}),
@@ -7361,7 +7408,7 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7361
7408
  });
7362
7409
  } else {
7363
7410
  // Properties with undefined values are omitted when saved as JSON.
7364
- editablePkgJson.update(objects.hasKeys(oldValue) ? {
7411
+ editablePkgJson.update(require$$7.hasKeys(oldValue) ? {
7365
7412
  [field]: {
7366
7413
  ...(isPnpmObj ? oldValue : {}),
7367
7414
  overrides: undefined
@@ -7373,7 +7420,7 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7373
7420
  } else if (field === OVERRIDES || field === RESOLUTIONS) {
7374
7421
  // Properties with undefined values are omitted when saved as JSON.
7375
7422
  editablePkgJson.update({
7376
- [field]: objects.hasKeys(value) ? value : undefined
7423
+ [field]: require$$7.hasKeys(value) ? value : undefined
7377
7424
  });
7378
7425
  } else {
7379
7426
  editablePkgJson.update({
@@ -7382,7 +7429,7 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7382
7429
  }
7383
7430
  return;
7384
7431
  }
7385
- if ((field === OVERRIDES || field === PNPM$1 || field === RESOLUTIONS) && !objects.hasKeys(value)) {
7432
+ if ((field === OVERRIDES || field === PNPM$1 || field === RESOLUTIONS) && !require$$7.hasKeys(value)) {
7386
7433
  return;
7387
7434
  }
7388
7435
  // Since the field doesn't exist we want to insert it into the package.json
@@ -7517,7 +7564,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7517
7564
  let loggedAddingText = false;
7518
7565
 
7519
7566
  // Chunk package names to process them in parallel 3 at a time.
7520
- await require$$7.pEach(manifestEntries, 3, async ({
7567
+ await require$$8.pEach(manifestEntries, 3, async ({
7521
7568
  1: data
7522
7569
  }) => {
7523
7570
  const {
@@ -7531,11 +7578,11 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7531
7578
  for (const {
7532
7579
  1: depObj
7533
7580
  } of depEntries) {
7534
- const sockSpec = objects.hasOwn(depObj, sockRegPkgName) ? depObj[sockRegPkgName] : undefined;
7581
+ const sockSpec = require$$7.hasOwn(depObj, sockRegPkgName) ? depObj[sockRegPkgName] : undefined;
7535
7582
  if (sockSpec) {
7536
7583
  depAliasMap.set(sockRegPkgName, sockSpec);
7537
7584
  }
7538
- const origSpec = objects.hasOwn(depObj, origPkgName) ? depObj[origPkgName] : undefined;
7585
+ const origSpec = require$$7.hasOwn(depObj, origPkgName) ? depObj[origPkgName] : undefined;
7539
7586
  if (origSpec) {
7540
7587
  let thisSpec = origSpec;
7541
7588
  // Add package aliases for direct dependencies to avoid npm EOVERRIDE
@@ -7571,11 +7618,11 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7571
7618
  npmExecPath
7572
7619
  });
7573
7620
  // Chunk package names to process them in parallel 3 at a time.
7574
- await require$$7.pEach(overridesDataObjects, 3, async ({
7621
+ await require$$8.pEach(overridesDataObjects, 3, async ({
7575
7622
  overrides,
7576
7623
  type
7577
7624
  }) => {
7578
- const overrideExists = objects.hasOwn(overrides, origPkgName);
7625
+ const overrideExists = require$$7.hasOwn(overrides, origPkgName);
7579
7626
  if (overrideExists || thingScanner(pkgEnvDetails, thingToScan, origPkgName, lockName)) {
7580
7627
  const oldSpec = overrideExists ? overrides[origPkgName] : undefined;
7581
7628
  const origDepAlias = depAliasMap.get(origPkgName);
@@ -7625,7 +7672,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7625
7672
  });
7626
7673
  if (isWorkspace) {
7627
7674
  // Chunk package names to process them in parallel 3 at a time.
7628
- await require$$7.pEach(workspacePkgJsonPaths, 3, async workspacePkgJsonPath => {
7675
+ await require$$8.pEach(workspacePkgJsonPaths, 3, async workspacePkgJsonPath => {
7629
7676
  const otherState = await addOverrides(pkgEnvDetails, path.dirname(workspacePkgJsonPath), {
7630
7677
  logger,
7631
7678
  pin,
@@ -7646,7 +7693,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7646
7693
  overrides,
7647
7694
  type
7648
7695
  } of overridesDataObjects) {
7649
- updateManifest(type, pkgEnvDetails.editablePkgJson, objects.toSortedObject(overrides));
7696
+ updateManifest(type, pkgEnvDetails.editablePkgJson, require$$7.toSortedObject(overrides));
7650
7697
  }
7651
7698
  }
7652
7699
  await pkgEnvDetails.editablePkgJson.save();
@@ -7891,19 +7938,31 @@ async function run$r(argv, importMeta, {
7891
7938
  });
7892
7939
  }
7893
7940
 
7894
- async function fetchDependencies({
7895
- limit,
7896
- offset
7897
- }) {
7898
- const sockSdkCResult = await utils.setupSdk();
7941
+ async function fetchDependencies(config, options) {
7942
+ const {
7943
+ sdkOptions
7944
+ } = {
7945
+ __proto__: null,
7946
+ ...options
7947
+ };
7948
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
7899
7949
  if (!sockSdkCResult.ok) {
7900
7950
  return sockSdkCResult;
7901
7951
  }
7902
7952
  const sockSdk = sockSdkCResult.data;
7953
+ const {
7954
+ limit,
7955
+ offset
7956
+ } = {
7957
+ __proto__: null,
7958
+ ...config
7959
+ };
7903
7960
  return await utils.handleApiCall(sockSdk.searchDependencies({
7904
7961
  limit,
7905
7962
  offset
7906
- }), 'organization dependencies');
7963
+ }), {
7964
+ desc: 'organization dependencies'
7965
+ });
7907
7966
  }
7908
7967
 
7909
7968
  // @ts-ignore
@@ -8068,13 +8127,21 @@ async function run$q(argv, importMeta, {
8068
8127
  });
8069
8128
  }
8070
8129
 
8071
- async function fetchLicensePolicy(orgSlug) {
8072
- const sockSdkCResult = await utils.setupSdk();
8130
+ async function fetchLicensePolicy(orgSlug, options) {
8131
+ const {
8132
+ sdkOptions
8133
+ } = {
8134
+ __proto__: null,
8135
+ ...options
8136
+ };
8137
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8073
8138
  if (!sockSdkCResult.ok) {
8074
8139
  return sockSdkCResult;
8075
8140
  }
8076
8141
  const sockSdk = sockSdkCResult.data;
8077
- return await utils.handleApiCall(sockSdk.getOrgLicensePolicy(orgSlug), 'organization license policy');
8142
+ return await utils.handleApiCall(sockSdk.getOrgLicensePolicy(orgSlug), {
8143
+ desc: 'organization license policy'
8144
+ });
8078
8145
  }
8079
8146
 
8080
8147
  async function outputLicensePolicy(result, outputKind) {
@@ -8196,13 +8263,21 @@ async function run$p(argv, importMeta, {
8196
8263
  await handleLicensePolicy(orgSlug, outputKind);
8197
8264
  }
8198
8265
 
8199
- async function fetchSecurityPolicy(orgSlug) {
8200
- const sockSdkCResult = await utils.setupSdk();
8266
+ async function fetchSecurityPolicy(orgSlug, options) {
8267
+ const {
8268
+ sdkOptions
8269
+ } = {
8270
+ __proto__: null,
8271
+ ...options
8272
+ };
8273
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8201
8274
  if (!sockSdkCResult.ok) {
8202
8275
  return sockSdkCResult;
8203
8276
  }
8204
8277
  const sockSdk = sockSdkCResult.data;
8205
- return await utils.handleApiCall(sockSdk.getOrgSecurityPolicy(orgSlug), 'organization security policy');
8278
+ return await utils.handleApiCall(sockSdk.getOrgSecurityPolicy(orgSlug), {
8279
+ desc: 'organization security policy'
8280
+ });
8206
8281
  }
8207
8282
 
8208
8283
  async function outputSecurityPolicy(result, outputKind) {
@@ -8327,15 +8402,6 @@ async function run$o(argv, importMeta, {
8327
8402
  await handleSecurityPolicy(orgSlug, outputKind);
8328
8403
  }
8329
8404
 
8330
- async function fetchOrganization() {
8331
- const sockSdkCResult = await utils.setupSdk();
8332
- if (!sockSdkCResult.ok) {
8333
- return sockSdkCResult;
8334
- }
8335
- const sockSdk = sockSdkCResult.data;
8336
- return await utils.handleApiCall(sockSdk.getOrganizations(), 'organization list');
8337
- }
8338
-
8339
8405
  async function outputOrganizationList(result, outputKind = 'text') {
8340
8406
  if (!result.ok) {
8341
8407
  process.exitCode = result.code ?? 1;
@@ -8387,7 +8453,7 @@ async function outputOrganizationList(result, outputKind = 'text') {
8387
8453
  }
8388
8454
 
8389
8455
  async function handleOrganizationList(outputKind = 'text') {
8390
- const data = await fetchOrganization();
8456
+ const data = await utils.fetchOrganization();
8391
8457
  await outputOrganizationList(data, outputKind);
8392
8458
  }
8393
8459
 
@@ -8486,13 +8552,21 @@ const cmdOrganizationPolicy = {
8486
8552
  }
8487
8553
  };
8488
8554
 
8489
- async function fetchQuota() {
8490
- const sockSdkCResult = await utils.setupSdk();
8555
+ async function fetchQuota(options) {
8556
+ const {
8557
+ sdkOptions
8558
+ } = {
8559
+ __proto__: null,
8560
+ ...options
8561
+ };
8562
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8491
8563
  if (!sockSdkCResult.ok) {
8492
8564
  return sockSdkCResult;
8493
8565
  }
8494
8566
  const sockSdk = sockSdkCResult.data;
8495
- return await utils.handleApiCall(sockSdk.getQuota(), 'token quota');
8567
+ return await utils.handleApiCall(sockSdk.getQuota(), {
8568
+ desc: 'token quota'
8569
+ });
8496
8570
  }
8497
8571
 
8498
8572
  async function outputQuota(result, outputKind = 'text') {
@@ -8951,20 +9025,28 @@ async function run$l(argv, importMeta, {
8951
9025
  await handlePurlDeepScore(purls[0] || '', outputKind);
8952
9026
  }
8953
9027
 
8954
- async function fetchPurlsShallowScore(purls) {
8955
- logger.logger.info(`Requesting shallow score data for ${purls.length} package urls (purl): ${purls.join(', ')}`);
8956
- const sockSdkCResult = await utils.setupSdk();
9028
+ async function fetchPurlsShallowScore(purls, options) {
9029
+ const {
9030
+ sdkOptions
9031
+ } = {
9032
+ __proto__: null,
9033
+ ...options
9034
+ };
9035
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8957
9036
  if (!sockSdkCResult.ok) {
8958
9037
  return sockSdkCResult;
8959
9038
  }
8960
9039
  const sockSdk = sockSdkCResult.data;
9040
+ logger.logger.info(`Requesting shallow score data for ${purls.length} package urls (purl): ${purls.join(', ')}`);
8961
9041
  const result = await utils.handleApiCall(sockSdk.batchPackageFetch({
8962
- alerts: 'true'
8963
- }, {
8964
9042
  components: purls.map(purl => ({
8965
9043
  purl
8966
9044
  }))
8967
- }), 'looking up package');
9045
+ }, {
9046
+ alerts: 'true'
9047
+ }), {
9048
+ desc: 'looking up package'
9049
+ });
8968
9050
  if (!result.ok) {
8969
9051
  return result;
8970
9052
  }
@@ -9460,26 +9542,35 @@ async function run$i(argv, importMeta, {
9460
9542
  await runRawNpx(argv);
9461
9543
  }
9462
9544
 
9463
- async function fetchCreateRepo({
9464
- default_branch,
9465
- description,
9466
- homepage,
9467
- orgSlug,
9468
- repoName,
9469
- visibility
9470
- }) {
9471
- const sockSdkCResult = await utils.setupSdk();
9545
+ async function fetchCreateRepo(config, options) {
9546
+ const {
9547
+ defaultBranch,
9548
+ description,
9549
+ homepage,
9550
+ orgSlug,
9551
+ repoName,
9552
+ visibility
9553
+ } = config;
9554
+ const {
9555
+ sdkOptions
9556
+ } = {
9557
+ __proto__: null,
9558
+ ...options
9559
+ };
9560
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9472
9561
  if (!sockSdkCResult.ok) {
9473
9562
  return sockSdkCResult;
9474
9563
  }
9475
9564
  const sockSdk = sockSdkCResult.data;
9476
9565
  return await utils.handleApiCall(sockSdk.createOrgRepo(orgSlug, {
9477
- name: repoName,
9566
+ default_branch: defaultBranch,
9478
9567
  description,
9479
9568
  homepage,
9480
- default_branch,
9569
+ name: repoName,
9481
9570
  visibility
9482
- }), 'to create a repository');
9571
+ }), {
9572
+ desc: 'to create a repository'
9573
+ });
9483
9574
  }
9484
9575
 
9485
9576
  function outputCreateRepo(result, requestedName, outputKind) {
@@ -9501,7 +9592,7 @@ function outputCreateRepo(result, requestedName, outputKind) {
9501
9592
  }
9502
9593
 
9503
9594
  async function handleCreateRepo({
9504
- default_branch,
9595
+ defaultBranch,
9505
9596
  description,
9506
9597
  homepage,
9507
9598
  orgSlug,
@@ -9509,7 +9600,7 @@ async function handleCreateRepo({
9509
9600
  visibility
9510
9601
  }, outputKind) {
9511
9602
  const data = await fetchCreateRepo({
9512
- default_branch,
9603
+ defaultBranch,
9513
9604
  description,
9514
9605
  homepage,
9515
9606
  orgSlug,
@@ -9639,18 +9730,26 @@ async function run$h(argv, importMeta, {
9639
9730
  repoName: String(repoName),
9640
9731
  description: String(cli.flags['repoDescription'] || ''),
9641
9732
  homepage: String(cli.flags['homepage'] || ''),
9642
- default_branch: String(cli.flags['defaultBranch'] || ''),
9733
+ defaultBranch: String(cli.flags['defaultBranch'] || ''),
9643
9734
  visibility: String(cli.flags['visibility'] || 'private')
9644
9735
  }, outputKind);
9645
9736
  }
9646
9737
 
9647
- async function fetchDeleteRepo(orgSlug, repoName) {
9648
- const sockSdkCResult = await utils.setupSdk();
9738
+ async function fetchDeleteRepo(orgSlug, repoName, options) {
9739
+ const {
9740
+ sdkOptions
9741
+ } = {
9742
+ __proto__: null,
9743
+ ...options
9744
+ };
9745
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9649
9746
  if (!sockSdkCResult.ok) {
9650
9747
  return sockSdkCResult;
9651
9748
  }
9652
9749
  const sockSdk = sockSdkCResult.data;
9653
- return await utils.handleApiCall(sockSdk.deleteOrgRepo(orgSlug, repoName), 'to delete a repository');
9750
+ return await utils.handleApiCall(sockSdk.deleteOrgRepo(orgSlug, repoName), {
9751
+ desc: 'to delete a repository'
9752
+ });
9654
9753
  }
9655
9754
 
9656
9755
  async function outputDeleteRepo(result, repoName, outputKind) {
@@ -9768,12 +9867,16 @@ async function run$g(argv, importMeta, {
9768
9867
  await handleDeleteRepo(orgSlug, repoName, outputKind);
9769
9868
  }
9770
9869
 
9771
- async function fetchListAllRepos({
9772
- direction,
9773
- orgSlug,
9774
- sort
9775
- }) {
9776
- const sockSdkCResult = await utils.setupSdk();
9870
+ async function fetchListAllRepos(orgSlug, options) {
9871
+ const {
9872
+ direction,
9873
+ sdkOptions,
9874
+ sort
9875
+ } = {
9876
+ __proto__: null,
9877
+ ...options
9878
+ };
9879
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9777
9880
  if (!sockSdkCResult.ok) {
9778
9881
  return sockSdkCResult;
9779
9882
  }
@@ -9796,7 +9899,9 @@ async function fetchListAllRepos({
9796
9899
  per_page: String(100),
9797
9900
  // max
9798
9901
  page: String(nextPage)
9799
- }), 'list of repositories');
9902
+ }), {
9903
+ desc: 'list of repositories'
9904
+ });
9800
9905
  if (!orgRepoListCResult.ok) {
9801
9906
  debug.debugFn('error', 'fail: fetch repo');
9802
9907
  debug.debugDir('inspect', {
@@ -9816,14 +9921,24 @@ async function fetchListAllRepos({
9816
9921
  };
9817
9922
  }
9818
9923
 
9819
- async function fetchListRepos({
9820
- direction,
9821
- orgSlug,
9822
- page,
9823
- per_page,
9824
- sort
9825
- }) {
9826
- const sockSdkCResult = await utils.setupSdk();
9924
+ async function fetchListRepos(config, options) {
9925
+ const {
9926
+ direction,
9927
+ orgSlug,
9928
+ page,
9929
+ perPage,
9930
+ sort
9931
+ } = {
9932
+ __proto__: null,
9933
+ ...config
9934
+ };
9935
+ const {
9936
+ sdkOptions
9937
+ } = {
9938
+ __proto__: null,
9939
+ ...options
9940
+ };
9941
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9827
9942
  if (!sockSdkCResult.ok) {
9828
9943
  return sockSdkCResult;
9829
9944
  }
@@ -9831,9 +9946,11 @@ async function fetchListRepos({
9831
9946
  return await utils.handleApiCall(sockSdk.getOrgRepoList(orgSlug, {
9832
9947
  sort,
9833
9948
  direction,
9834
- per_page: String(per_page),
9949
+ per_page: String(perPage),
9835
9950
  page: String(page)
9836
- }), 'list of repositories');
9951
+ }), {
9952
+ desc: 'list of repositories'
9953
+ });
9837
9954
  }
9838
9955
 
9839
9956
  // @ts-ignore
@@ -9899,13 +10016,12 @@ async function handleListRepos({
9899
10016
  orgSlug,
9900
10017
  outputKind,
9901
10018
  page,
9902
- per_page,
10019
+ perPage,
9903
10020
  sort
9904
10021
  }) {
9905
10022
  if (all) {
9906
- const data = await fetchListAllRepos({
10023
+ const data = await fetchListAllRepos(orgSlug, {
9907
10024
  direction,
9908
- orgSlug,
9909
10025
  sort
9910
10026
  });
9911
10027
  await outputListRepos(data, outputKind, 0, 0, sort, Infinity, direction);
@@ -9914,14 +10030,14 @@ async function handleListRepos({
9914
10030
  direction,
9915
10031
  orgSlug,
9916
10032
  page,
9917
- per_page,
10033
+ perPage,
9918
10034
  sort
9919
10035
  });
9920
10036
  if (!data.ok) {
9921
10037
  await outputListRepos(data, outputKind, 0, 0, '', 0, direction);
9922
10038
  } else {
9923
10039
  // Note: nextPage defaults to 0, is null when there's no next page
9924
- await outputListRepos(data, outputKind, page, data.data.nextPage, sort, per_page, direction);
10040
+ await outputListRepos(data, outputKind, page, data.data.nextPage, sort, perPage, direction);
9925
10041
  }
9926
10042
  }
9927
10043
  }
@@ -10054,32 +10170,44 @@ async function run$f(argv, importMeta, {
10054
10170
  orgSlug,
10055
10171
  outputKind,
10056
10172
  page: Number(cli.flags['page']) || 1,
10057
- per_page: Number(cli.flags['perPage']) || 30,
10173
+ perPage: Number(cli.flags['perPage']) || 30,
10058
10174
  sort: String(cli.flags['sort'] || 'created_at')
10059
10175
  });
10060
10176
  }
10061
10177
 
10062
- async function fetchUpdateRepo({
10063
- default_branch,
10064
- description,
10065
- homepage,
10066
- orgSlug,
10067
- repoName,
10068
- visibility
10069
- }) {
10070
- const sockSdkCResult = await utils.setupSdk();
10178
+ async function fetchUpdateRepo(config, options) {
10179
+ const {
10180
+ defaultBranch,
10181
+ description,
10182
+ homepage,
10183
+ orgSlug,
10184
+ repoName,
10185
+ visibility
10186
+ } = {
10187
+ __proto__: null,
10188
+ ...config
10189
+ };
10190
+ const {
10191
+ sdkOptions
10192
+ } = {
10193
+ __proto__: null,
10194
+ ...options
10195
+ };
10196
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
10071
10197
  if (!sockSdkCResult.ok) {
10072
10198
  return sockSdkCResult;
10073
10199
  }
10074
10200
  const sockSdk = sockSdkCResult.data;
10075
10201
  return await utils.handleApiCall(sockSdk.updateOrgRepo(orgSlug, repoName, {
10076
- orgSlug,
10077
- name: repoName,
10202
+ default_branch: defaultBranch,
10078
10203
  description,
10079
10204
  homepage,
10080
- default_branch,
10205
+ name: repoName,
10206
+ orgSlug,
10081
10207
  visibility
10082
- }), 'to update a repository');
10208
+ }), {
10209
+ desc: 'to update a repository'
10210
+ });
10083
10211
  }
10084
10212
 
10085
10213
  async function outputUpdateRepo(result, repoName, outputKind) {
@@ -10098,7 +10226,7 @@ async function outputUpdateRepo(result, repoName, outputKind) {
10098
10226
  }
10099
10227
 
10100
10228
  async function handleUpdateRepo({
10101
- default_branch,
10229
+ defaultBranch,
10102
10230
  description,
10103
10231
  homepage,
10104
10232
  orgSlug,
@@ -10106,7 +10234,7 @@ async function handleUpdateRepo({
10106
10234
  visibility
10107
10235
  }, outputKind) {
10108
10236
  const data = await fetchUpdateRepo({
10109
- default_branch,
10237
+ defaultBranch,
10110
10238
  description,
10111
10239
  homepage,
10112
10240
  orgSlug,
@@ -10238,18 +10366,26 @@ async function run$e(argv, importMeta, {
10238
10366
  repoName: String(repoName),
10239
10367
  description: String(cli.flags['repoDescription'] || ''),
10240
10368
  homepage: String(cli.flags['homepage'] || ''),
10241
- default_branch: String(cli.flags['defaultBranch'] || ''),
10369
+ defaultBranch: String(cli.flags['defaultBranch'] || ''),
10242
10370
  visibility: String(cli.flags['visibility'] || 'private')
10243
10371
  }, outputKind);
10244
10372
  }
10245
10373
 
10246
- async function fetchViewRepo(orgSlug, repoName) {
10247
- const sockSdkCResult = await utils.setupSdk();
10374
+ async function fetchViewRepo(orgSlug, repoName, options) {
10375
+ const {
10376
+ sdkOptions
10377
+ } = {
10378
+ __proto__: null,
10379
+ ...options
10380
+ };
10381
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
10248
10382
  if (!sockSdkCResult.ok) {
10249
10383
  return sockSdkCResult;
10250
10384
  }
10251
10385
  const sockSdk = sockSdkCResult.data;
10252
- return await utils.handleApiCall(sockSdk.getOrgRepo(orgSlug, repoName), 'repository data');
10386
+ return await utils.handleApiCall(sockSdk.getOrgRepo(orgSlug, repoName), {
10387
+ desc: 'repository data'
10388
+ });
10253
10389
  }
10254
10390
 
10255
10391
  // @ts-ignore
@@ -10691,7 +10827,7 @@ async function run$c(argv, importMeta, {
10691
10827
  if (detected.count > 0 && !autoManifest) {
10692
10828
  logger.logger.info(`Detected ${detected.count} manifest targets we could try to generate. Please set the --autoManifest flag if you want to include languages covered by \`socket manifest auto\` in the Scan.`);
10693
10829
  }
10694
- if (updatedInput && orgSlug && targets?.length) {
10830
+ if (updatedInput && orgSlug && targets.length) {
10695
10831
  logger.logger.info('Note: You can invoke this command next time to skip the interactive questions:');
10696
10832
  logger.logger.info('```');
10697
10833
  logger.logger.info(` socket scan create [other flags...] ${orgSlug} ${targets.join(' ')}`);
@@ -10759,20 +10895,28 @@ async function run$c(argv, importMeta, {
10759
10895
  pendingHead: Boolean(pendingHead),
10760
10896
  pullRequest: Number(pullRequest),
10761
10897
  readOnly: Boolean(readOnly),
10762
- repoName: repoName,
10898
+ repoName,
10763
10899
  report,
10764
10900
  targets,
10765
10901
  tmp: Boolean(tmp)
10766
10902
  });
10767
10903
  }
10768
10904
 
10769
- async function fetchDeleteOrgFullScan(orgSlug, scanId) {
10770
- const sockSdkCResult = await utils.setupSdk();
10905
+ async function fetchDeleteOrgFullScan(orgSlug, scanId, options) {
10906
+ const {
10907
+ sdkOptions
10908
+ } = {
10909
+ __proto__: null,
10910
+ ...options
10911
+ };
10912
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
10771
10913
  if (!sockSdkCResult.ok) {
10772
10914
  return sockSdkCResult;
10773
10915
  }
10774
10916
  const sockSdk = sockSdkCResult.data;
10775
- return await utils.handleApiCall(sockSdk.deleteOrgFullScan(orgSlug, scanId), 'to delete a scan');
10917
+ return await utils.handleApiCall(sockSdk.deleteOrgFullScan(orgSlug, scanId), {
10918
+ desc: 'to delete a scan'
10919
+ });
10776
10920
  }
10777
10921
 
10778
10922
  async function outputDeleteScan(result, outputKind) {
@@ -11206,10 +11350,6 @@ async function run$a(argv, importMeta, {
11206
11350
  });
11207
11351
  }
11208
11352
 
11209
- // Supported manifest file name patterns
11210
- // Keep in mind that we have to request these files through the GitHub API; that cost is much heavier than local disk searches
11211
- // TODO: get this list from API instead? Is that too much? Has to fetch through gh api...
11212
- const SUPPORTED_FILE_PATTERNS = [/.*[-.]spdx\.json/, /bom\.json/, /.*[-.]cyclonedx\.json/, /.*[-.]cyclonedx\.xml/, /package\.json/, /package-lock\.json/, /npm-shrinkwrap\.json/, /yarn\.lock/, /pnpm-lock\.yaml/, /pnpm-lock\.yml/, /pnpm-workspace\.yaml/, /pnpm-workspace\.yml/, /pipfile/, /pyproject\.toml/, /poetry\.lock/, /requirements[\\/].*\.txt/, /requirements-.*\.txt/, /requirements_.*\.txt/, /requirements\.frozen/, /setup\.py/, /pipfile\.lock/, /go\.mod/, /go\.sum/, /pom\.xml/, /.*\..*proj/, /.*\.props/, /.*\.targets/, /.*\.nuspec/, /nuget\.config/, /packages\.config/, /packages\.lock\.json/];
11213
11353
  async function createScanFromGithub({
11214
11354
  all,
11215
11355
  githubApiUrl,
@@ -11223,9 +11363,8 @@ async function createScanFromGithub({
11223
11363
  let targetRepos = repos.trim().split(',').map(r => r.trim()).filter(Boolean);
11224
11364
  if (all || targetRepos.length === 0) {
11225
11365
  // Fetch from Socket API
11226
- const result = await fetchListAllRepos({
11366
+ const result = await fetchListAllRepos(orgSlug, {
11227
11367
  direction: 'asc',
11228
- orgSlug,
11229
11368
  sort: 'name'
11230
11369
  });
11231
11370
  if (!result.ok) {
@@ -11264,7 +11403,7 @@ async function createScanFromGithub({
11264
11403
  let scansCreated = 0;
11265
11404
  for (const repoSlug of targetRepos) {
11266
11405
  // eslint-disable-next-line no-await-in-loop
11267
- const result = await scanRepo(repoSlug, {
11406
+ const scanCResult = await scanRepo(repoSlug, {
11268
11407
  githubApiUrl,
11269
11408
  githubToken,
11270
11409
  orgSlug,
@@ -11272,8 +11411,13 @@ async function createScanFromGithub({
11272
11411
  outputKind,
11273
11412
  repos
11274
11413
  });
11275
- if (result.ok && result.data.scanCreated) {
11276
- scansCreated += 1;
11414
+ if (scanCResult.ok) {
11415
+ const {
11416
+ scanCreated
11417
+ } = scanCResult.data;
11418
+ if (scanCreated) {
11419
+ scansCreated += 1;
11420
+ }
11277
11421
  }
11278
11422
  }
11279
11423
  logger.logger.success(targetRepos.length, 'GitHub repos detected');
@@ -11459,7 +11603,9 @@ async function testAndDownloadManifestFile({
11459
11603
  tmpDir
11460
11604
  }) {
11461
11605
  debug.debugFn('notice', 'testing: file', file);
11462
- if (!SUPPORTED_FILE_PATTERNS.some(regex => regex.test(file))) {
11606
+ const supportedFilesCResult = await fetchSupportedScanFileNames();
11607
+ const supportedFiles = supportedFilesCResult.ok ? supportedFilesCResult.data : undefined;
11608
+ if (!supportedFiles || !utils.isReportSupportedFile(file, supportedFiles)) {
11463
11609
  debug.debugFn('notice', ' - skip: not a known pattern');
11464
11610
  // Not an error.
11465
11611
  return {
@@ -11840,7 +11986,7 @@ async function handleCreateGithubScan({
11840
11986
  outputKind,
11841
11987
  repos
11842
11988
  }) {
11843
- const result = await createScanFromGithub({
11989
+ const ghScanCResult = await createScanFromGithub({
11844
11990
  all: Boolean(all),
11845
11991
  githubApiUrl,
11846
11992
  githubToken,
@@ -11850,7 +11996,7 @@ async function handleCreateGithubScan({
11850
11996
  outputKind,
11851
11997
  repos: String(repos || '')
11852
11998
  });
11853
- await outputScanGithub(result, outputKind);
11999
+ await outputScanGithub(ghScanCResult, outputKind);
11854
12000
  }
11855
12001
 
11856
12002
  const {
@@ -12057,21 +12203,31 @@ async function run$9(argv, importMeta, {
12057
12203
  });
12058
12204
  }
12059
12205
 
12060
- async function fetchListScans({
12061
- branch,
12062
- direction,
12063
- from_time,
12064
- orgSlug,
12065
- page,
12066
- per_page,
12067
- repo,
12068
- sort
12069
- }) {
12070
- const sockSdkCResult = await utils.setupSdk();
12206
+ async function fetchOrgFullScanList(config, options) {
12207
+ const {
12208
+ sdkOptions
12209
+ } = {
12210
+ __proto__: null,
12211
+ ...options
12212
+ };
12213
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
12071
12214
  if (!sockSdkCResult.ok) {
12072
12215
  return sockSdkCResult;
12073
12216
  }
12074
12217
  const sockSdk = sockSdkCResult.data;
12218
+ const {
12219
+ branch,
12220
+ direction,
12221
+ from_time,
12222
+ orgSlug,
12223
+ page,
12224
+ perPage,
12225
+ repo,
12226
+ sort
12227
+ } = {
12228
+ __proto__: null,
12229
+ ...config
12230
+ };
12075
12231
  return await utils.handleApiCall(sockSdk.getOrgFullScanList(orgSlug, {
12076
12232
  ...(branch ? {
12077
12233
  branch
@@ -12081,10 +12237,12 @@ async function fetchListScans({
12081
12237
  } : {}),
12082
12238
  sort,
12083
12239
  direction,
12084
- per_page: String(per_page),
12240
+ per_page: String(perPage),
12085
12241
  page: String(page),
12086
12242
  from: from_time
12087
- }), 'list of scans');
12243
+ }), {
12244
+ desc: 'list of scans'
12245
+ });
12088
12246
  }
12089
12247
 
12090
12248
  // @ts-ignore
@@ -12141,17 +12299,17 @@ async function handleListScans({
12141
12299
  orgSlug,
12142
12300
  outputKind,
12143
12301
  page,
12144
- per_page,
12302
+ perPage,
12145
12303
  repo,
12146
12304
  sort
12147
12305
  }) {
12148
- const data = await fetchListScans({
12306
+ const data = await fetchOrgFullScanList({
12149
12307
  branch,
12150
12308
  direction,
12151
12309
  from_time,
12152
12310
  orgSlug,
12153
12311
  page,
12154
- per_page,
12312
+ perPage,
12155
12313
  repo,
12156
12314
  sort
12157
12315
  });
@@ -12311,19 +12469,27 @@ async function run$8(argv, importMeta, {
12311
12469
  orgSlug,
12312
12470
  outputKind,
12313
12471
  page: Number(cli.flags['page'] || 1),
12314
- per_page: Number(cli.flags['perPage'] || 30),
12472
+ perPage: Number(cli.flags['perPage'] || 30),
12315
12473
  repo: repo ? String(repo) : '',
12316
12474
  sort: String(cli.flags['sort'] || '')
12317
12475
  });
12318
12476
  }
12319
12477
 
12320
- async function fetchScanMetadata(orgSlug, scanId) {
12321
- const sockSdkCResult = await utils.setupSdk();
12478
+ async function fetchScanMetadata(orgSlug, scanId, options) {
12479
+ const {
12480
+ sdkOptions
12481
+ } = {
12482
+ __proto__: null,
12483
+ ...options
12484
+ };
12485
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
12322
12486
  if (!sockSdkCResult.ok) {
12323
12487
  return sockSdkCResult;
12324
12488
  }
12325
12489
  const sockSdk = sockSdkCResult.data;
12326
- return await utils.handleApiCall(sockSdk.getOrgFullScanMetadata(orgSlug, scanId), 'meta data for a full scan');
12490
+ return await utils.handleApiCall(sockSdk.getOrgFullScanMetadata(orgSlug, scanId), {
12491
+ desc: 'meta data for a full scan'
12492
+ });
12327
12493
  }
12328
12494
 
12329
12495
  async function outputScanMetadata(result, scanId, outputKind) {
@@ -13190,8 +13356,15 @@ async function handleScanView(orgSlug, scanId, filePath, outputKind) {
13190
13356
  await outputScanView(data, orgSlug, scanId, filePath, outputKind);
13191
13357
  }
13192
13358
 
13193
- async function streamScan(orgSlug, scanId, file) {
13194
- const sockSdkCResult = await utils.setupSdk();
13359
+ async function streamScan(orgSlug, scanId, options) {
13360
+ const {
13361
+ file,
13362
+ sdkOptions
13363
+ } = {
13364
+ __proto__: null,
13365
+ ...options
13366
+ };
13367
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
13195
13368
  if (!sockSdkCResult.ok) {
13196
13369
  return sockSdkCResult;
13197
13370
  }
@@ -13199,7 +13372,9 @@ async function streamScan(orgSlug, scanId, file) {
13199
13372
  logger.logger.info('Requesting data from API...');
13200
13373
 
13201
13374
  // Note: this will write to stdout or target file. It's not a noop
13202
- return await utils.handleApiCall(sockSdk.getOrgFullScan(orgSlug, scanId, file === '-' ? undefined : file), 'a scan');
13375
+ return await utils.handleApiCall(sockSdk.getOrgFullScan(orgSlug, scanId, file === '-' ? undefined : file), {
13376
+ desc: 'a scan'
13377
+ });
13203
13378
  }
13204
13379
 
13205
13380
  const {
@@ -13309,7 +13484,9 @@ async function run$3(argv, importMeta, {
13309
13484
  return;
13310
13485
  }
13311
13486
  if (json && stream) {
13312
- await streamScan(orgSlug, scanId, file);
13487
+ await streamScan(orgSlug, scanId, {
13488
+ file
13489
+ });
13313
13490
  } else {
13314
13491
  await handleScanView(orgSlug, scanId, file, outputKind);
13315
13492
  }
@@ -14345,5 +14522,5 @@ void (async () => {
14345
14522
  await utils.captureException(e);
14346
14523
  }
14347
14524
  })();
14348
- //# debugId=6c157721-65fa-49fb-ac36-a3c9bac032c6
14525
+ //# debugId=5e02c3b4-98c2-48aa-856d-526ed5a48fa7
14349
14526
  //# sourceMappingURL=cli.js.map