@socketsecurity/cli 1.1.9 → 1.1.13

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 (265) hide show
  1. package/CHANGELOG.md +49 -28
  2. package/bin/cli.js +2 -1
  3. package/bin/npm-cli.js +2 -1
  4. package/bin/npx-cli.js +2 -1
  5. package/bin/pnpm-cli.js +29 -0
  6. package/bin/yarn-cli.js +29 -0
  7. package/dist/cli.js +786 -566
  8. package/dist/cli.js.map +1 -1
  9. package/dist/constants.js +31 -9
  10. package/dist/constants.js.map +1 -1
  11. package/dist/flags.js +16 -17
  12. package/dist/flags.js.map +1 -1
  13. package/dist/npm-cli.js +26 -0
  14. package/dist/npm-cli.js.map +1 -0
  15. package/dist/npx-cli.js +26 -0
  16. package/dist/npx-cli.js.map +1 -0
  17. package/dist/pnpm-cli.js +26 -0
  18. package/dist/pnpm-cli.js.map +1 -0
  19. package/dist/shadow-npm-inject.js +4 -4
  20. package/dist/shadow-npm-inject.js.map +1 -1
  21. package/dist/shadow-pnpm-bin.js +235 -0
  22. package/dist/shadow-pnpm-bin.js.map +1 -0
  23. package/dist/shadow-yarn-bin.js +200 -0
  24. package/dist/shadow-yarn-bin.js.map +1 -0
  25. package/dist/socket-completion.bash +0 -0
  26. package/dist/tsconfig.dts.tsbuildinfo +1 -1
  27. package/dist/types/commands/analytics/cmd-analytics.d.mts +2 -3
  28. package/dist/types/commands/analytics/cmd-analytics.d.mts.map +1 -1
  29. package/dist/types/commands/audit-log/cmd-audit-log.d.mts +2 -3
  30. package/dist/types/commands/audit-log/cmd-audit-log.d.mts.map +1 -1
  31. package/dist/types/commands/ci/cmd-ci.d.mts +2 -3
  32. package/dist/types/commands/ci/cmd-ci.d.mts.map +1 -1
  33. package/dist/types/commands/config/cmd-config-auto.d.mts +2 -3
  34. package/dist/types/commands/config/cmd-config-auto.d.mts.map +1 -1
  35. package/dist/types/commands/config/cmd-config-get.d.mts +2 -3
  36. package/dist/types/commands/config/cmd-config-get.d.mts.map +1 -1
  37. package/dist/types/commands/config/cmd-config-list.d.mts +2 -3
  38. package/dist/types/commands/config/cmd-config-list.d.mts.map +1 -1
  39. package/dist/types/commands/config/cmd-config-set.d.mts +2 -3
  40. package/dist/types/commands/config/cmd-config-set.d.mts.map +1 -1
  41. package/dist/types/commands/config/cmd-config-unset.d.mts +2 -3
  42. package/dist/types/commands/config/cmd-config-unset.d.mts.map +1 -1
  43. package/dist/types/commands/fix/cmd-fix.d.mts +2 -3
  44. package/dist/types/commands/fix/cmd-fix.d.mts.map +1 -1
  45. package/dist/types/commands/fix/coana-fix.d.mts.map +1 -1
  46. package/dist/types/commands/fix/env-helpers.d.mts +1 -1
  47. package/dist/types/commands/fix/env-helpers.d.mts.map +1 -1
  48. package/dist/types/commands/fix/git.d.mts +1 -1
  49. package/dist/types/commands/fix/git.d.mts.map +1 -1
  50. package/dist/types/commands/fix/handle-fix.d.mts +3 -1
  51. package/dist/types/commands/fix/handle-fix.d.mts.map +1 -1
  52. package/dist/types/commands/fix/pull-request.d.mts +1 -1
  53. package/dist/types/commands/fix/pull-request.d.mts.map +1 -1
  54. package/dist/types/commands/fix/types.d.mts +2 -0
  55. package/dist/types/commands/fix/types.d.mts.map +1 -1
  56. package/dist/types/commands/install/cmd-install-completion.d.mts +2 -3
  57. package/dist/types/commands/install/cmd-install-completion.d.mts.map +1 -1
  58. package/dist/types/commands/json/cmd-json.d.mts +2 -3
  59. package/dist/types/commands/json/cmd-json.d.mts.map +1 -1
  60. package/dist/types/commands/login/cmd-login.d.mts +2 -3
  61. package/dist/types/commands/login/cmd-login.d.mts.map +1 -1
  62. package/dist/types/commands/logout/cmd-logout.d.mts +2 -3
  63. package/dist/types/commands/logout/cmd-logout.d.mts.map +1 -1
  64. package/dist/types/commands/manifest/cmd-manifest-auto.d.mts +2 -3
  65. package/dist/types/commands/manifest/cmd-manifest-auto.d.mts.map +1 -1
  66. package/dist/types/commands/manifest/cmd-manifest-cdxgen.d.mts +2 -3
  67. package/dist/types/commands/manifest/cmd-manifest-cdxgen.d.mts.map +1 -1
  68. package/dist/types/commands/manifest/cmd-manifest-conda.d.mts +2 -3
  69. package/dist/types/commands/manifest/cmd-manifest-conda.d.mts.map +1 -1
  70. package/dist/types/commands/manifest/cmd-manifest-gradle.d.mts +2 -3
  71. package/dist/types/commands/manifest/cmd-manifest-gradle.d.mts.map +1 -1
  72. package/dist/types/commands/manifest/cmd-manifest-kotlin.d.mts +2 -3
  73. package/dist/types/commands/manifest/cmd-manifest-kotlin.d.mts.map +1 -1
  74. package/dist/types/commands/manifest/cmd-manifest-scala.d.mts +2 -3
  75. package/dist/types/commands/manifest/cmd-manifest-scala.d.mts.map +1 -1
  76. package/dist/types/commands/manifest/cmd-manifest-setup.d.mts +2 -3
  77. package/dist/types/commands/manifest/cmd-manifest-setup.d.mts.map +1 -1
  78. package/dist/types/commands/manifest/cmd-manifest.d.mts +2 -3
  79. package/dist/types/commands/manifest/cmd-manifest.d.mts.map +1 -1
  80. package/dist/types/commands/manifest/detect-manifest-actions.d.mts.map +1 -1
  81. package/dist/types/commands/manifest/generate_auto_manifest.d.mts.map +1 -1
  82. package/dist/types/commands/manifest/output-requirements.d.mts.map +1 -1
  83. package/dist/types/commands/manifest/run-cdxgen.d.mts.map +1 -1
  84. package/dist/types/commands/manifest/setup-manifest-config.d.mts.map +1 -1
  85. package/dist/types/commands/npm/cmd-npm.d.mts +2 -3
  86. package/dist/types/commands/npm/cmd-npm.d.mts.map +1 -1
  87. package/dist/types/commands/npx/cmd-npx.d.mts +2 -3
  88. package/dist/types/commands/npx/cmd-npx.d.mts.map +1 -1
  89. package/dist/types/commands/oops/cmd-oops.d.mts +2 -3
  90. package/dist/types/commands/oops/cmd-oops.d.mts.map +1 -1
  91. package/dist/types/commands/optimize/cmd-optimize.d.mts +2 -3
  92. package/dist/types/commands/optimize/cmd-optimize.d.mts.map +1 -1
  93. package/dist/types/commands/organization/cmd-organization-dependencies.d.mts +2 -3
  94. package/dist/types/commands/organization/cmd-organization-dependencies.d.mts.map +1 -1
  95. package/dist/types/commands/organization/cmd-organization-list.d.mts +2 -3
  96. package/dist/types/commands/organization/cmd-organization-list.d.mts.map +1 -1
  97. package/dist/types/commands/organization/cmd-organization-policy-license.d.mts +2 -3
  98. package/dist/types/commands/organization/cmd-organization-policy-license.d.mts.map +1 -1
  99. package/dist/types/commands/organization/cmd-organization-policy-security.d.mts +2 -3
  100. package/dist/types/commands/organization/cmd-organization-policy-security.d.mts.map +1 -1
  101. package/dist/types/commands/organization/cmd-organization-quota.d.mts +2 -3
  102. package/dist/types/commands/organization/cmd-organization-quota.d.mts.map +1 -1
  103. package/dist/types/commands/package/cmd-package-score.d.mts +2 -3
  104. package/dist/types/commands/package/cmd-package-score.d.mts.map +1 -1
  105. package/dist/types/commands/package/cmd-package-shallow.d.mts +2 -3
  106. package/dist/types/commands/package/cmd-package-shallow.d.mts.map +1 -1
  107. package/dist/types/commands/patch/cmd-patch.d.mts +2 -3
  108. package/dist/types/commands/patch/cmd-patch.d.mts.map +1 -1
  109. package/dist/types/commands/pnpm/cmd-pnpm.d.mts +10 -0
  110. package/dist/types/commands/pnpm/cmd-pnpm.d.mts.map +1 -0
  111. package/dist/types/commands/raw-npm/cmd-raw-npm.d.mts +2 -3
  112. package/dist/types/commands/raw-npm/cmd-raw-npm.d.mts.map +1 -1
  113. package/dist/types/commands/raw-npx/cmd-raw-npx.d.mts +2 -3
  114. package/dist/types/commands/raw-npx/cmd-raw-npx.d.mts.map +1 -1
  115. package/dist/types/commands/repository/cmd-repository-create.d.mts +2 -3
  116. package/dist/types/commands/repository/cmd-repository-create.d.mts.map +1 -1
  117. package/dist/types/commands/repository/cmd-repository-del.d.mts +2 -3
  118. package/dist/types/commands/repository/cmd-repository-del.d.mts.map +1 -1
  119. package/dist/types/commands/repository/cmd-repository-list.d.mts +2 -3
  120. package/dist/types/commands/repository/cmd-repository-list.d.mts.map +1 -1
  121. package/dist/types/commands/repository/cmd-repository-update.d.mts +2 -3
  122. package/dist/types/commands/repository/cmd-repository-update.d.mts.map +1 -1
  123. package/dist/types/commands/repository/cmd-repository-view.d.mts +2 -3
  124. package/dist/types/commands/repository/cmd-repository-view.d.mts.map +1 -1
  125. package/dist/types/commands/repository/handle-list-repos.d.mts +2 -1
  126. package/dist/types/commands/repository/handle-list-repos.d.mts.map +1 -1
  127. package/dist/types/commands/repository/output-list-repos.d.mts +2 -1
  128. package/dist/types/commands/repository/output-list-repos.d.mts.map +1 -1
  129. package/dist/types/commands/repository/types.d.mts +2 -0
  130. package/dist/types/commands/repository/types.d.mts.map +1 -0
  131. package/dist/types/commands/scan/cmd-scan-create.d.mts +2 -3
  132. package/dist/types/commands/scan/cmd-scan-create.d.mts.map +1 -1
  133. package/dist/types/commands/scan/cmd-scan-del.d.mts +2 -3
  134. package/dist/types/commands/scan/cmd-scan-del.d.mts.map +1 -1
  135. package/dist/types/commands/scan/cmd-scan-diff.d.mts +2 -3
  136. package/dist/types/commands/scan/cmd-scan-diff.d.mts.map +1 -1
  137. package/dist/types/commands/scan/cmd-scan-github.d.mts +2 -3
  138. package/dist/types/commands/scan/cmd-scan-github.d.mts.map +1 -1
  139. package/dist/types/commands/scan/cmd-scan-list.d.mts.map +1 -1
  140. package/dist/types/commands/scan/cmd-scan-metadata.d.mts.map +1 -1
  141. package/dist/types/commands/scan/cmd-scan-reach.d.mts +2 -3
  142. package/dist/types/commands/scan/cmd-scan-reach.d.mts.map +1 -1
  143. package/dist/types/commands/scan/cmd-scan-report.d.mts.map +1 -1
  144. package/dist/types/commands/scan/cmd-scan-setup.d.mts +2 -3
  145. package/dist/types/commands/scan/cmd-scan-setup.d.mts.map +1 -1
  146. package/dist/types/commands/scan/cmd-scan-view.d.mts.map +1 -1
  147. package/dist/types/commands/scan/fetch-create-org-full-scan.d.mts +1 -1
  148. package/dist/types/commands/scan/fetch-create-org-full-scan.d.mts.map +1 -1
  149. package/dist/types/commands/threat-feed/cmd-threat-feed.d.mts +2 -3
  150. package/dist/types/commands/threat-feed/cmd-threat-feed.d.mts.map +1 -1
  151. package/dist/types/commands/uninstall/cmd-uninstall-completion.d.mts +2 -3
  152. package/dist/types/commands/uninstall/cmd-uninstall-completion.d.mts.map +1 -1
  153. package/dist/types/commands/wrapper/cmd-wrapper.d.mts +2 -3
  154. package/dist/types/commands/wrapper/cmd-wrapper.d.mts.map +1 -1
  155. package/dist/types/commands/yarn/cmd-yarn.d.mts +10 -0
  156. package/dist/types/commands/yarn/cmd-yarn.d.mts.map +1 -0
  157. package/dist/types/commands.d.mts +31 -63
  158. package/dist/types/commands.d.mts.map +1 -1
  159. package/dist/types/constants.d.mts +15 -1
  160. package/dist/types/constants.d.mts.map +1 -1
  161. package/dist/types/flags.d.mts.map +1 -1
  162. package/dist/types/npm-cli.d.mts +3 -0
  163. package/dist/types/npm-cli.d.mts.map +1 -0
  164. package/dist/types/npx-cli.d.mts +3 -0
  165. package/dist/types/npx-cli.d.mts.map +1 -0
  166. package/dist/types/pnpm-cli.d.mts +3 -0
  167. package/dist/types/pnpm-cli.d.mts.map +1 -0
  168. package/dist/types/shadow/npm/install.d.mts +1 -1
  169. package/dist/types/shadow/npm/install.d.mts.map +1 -1
  170. package/dist/types/shadow/pnpm/bin.d.mts +10 -0
  171. package/dist/types/shadow/pnpm/bin.d.mts.map +1 -0
  172. package/dist/types/shadow/pnpm/link.d.mts +2 -0
  173. package/dist/types/shadow/pnpm/link.d.mts.map +1 -0
  174. package/dist/types/shadow/yarn/bin.d.mts +10 -0
  175. package/dist/types/shadow/yarn/bin.d.mts.map +1 -0
  176. package/dist/types/shadow/yarn/link.d.mts +2 -0
  177. package/dist/types/shadow/yarn/link.d.mts.map +1 -0
  178. package/dist/types/utils/alerts-map.d.mts.map +1 -1
  179. package/dist/types/utils/cmd.d.mts +25 -1
  180. package/dist/types/utils/cmd.d.mts.map +1 -1
  181. package/dist/types/utils/coana.d.mts.map +1 -1
  182. package/dist/types/utils/config.d.mts +1 -1
  183. package/dist/types/utils/config.d.mts.map +1 -1
  184. package/dist/types/utils/git.d.mts +4 -4
  185. package/dist/types/utils/git.d.mts.map +1 -1
  186. package/dist/types/utils/github.d.mts.map +1 -1
  187. package/dist/types/utils/lockfile.d.mts +1 -1
  188. package/dist/types/utils/lockfile.d.mts.map +1 -1
  189. package/dist/types/utils/meow-with-subcommands.d.mts +16 -1
  190. package/dist/types/utils/meow-with-subcommands.d.mts.map +1 -1
  191. package/dist/types/utils/npm-config.d.mts +1 -1
  192. package/dist/types/utils/npm-config.d.mts.map +1 -1
  193. package/dist/types/utils/npm-package-arg.d.mts +1 -1
  194. package/dist/types/utils/npm-package-arg.d.mts.map +1 -1
  195. package/dist/types/utils/output-formatting.d.mts.map +1 -1
  196. package/dist/types/utils/package-environment.d.mts.map +1 -1
  197. package/dist/types/utils/pnpm-paths.d.mts +5 -0
  198. package/dist/types/utils/pnpm-paths.d.mts.map +1 -0
  199. package/dist/types/utils/pnpm.d.mts +2 -2
  200. package/dist/types/utils/pnpm.d.mts.map +1 -1
  201. package/dist/types/utils/purl.d.mts +6 -6
  202. package/dist/types/utils/purl.d.mts.map +1 -1
  203. package/dist/types/utils/sdk.d.mts.map +1 -1
  204. package/dist/types/utils/semver.d.mts +2 -2
  205. package/dist/types/utils/semver.d.mts.map +1 -1
  206. package/dist/types/utils/socket-json.d.mts +3 -0
  207. package/dist/types/utils/socket-json.d.mts.map +1 -1
  208. package/dist/types/utils/strings.d.mts +2 -0
  209. package/dist/types/utils/strings.d.mts.map +1 -0
  210. package/dist/types/utils/yarn-paths.d.mts +5 -0
  211. package/dist/types/utils/yarn-paths.d.mts.map +1 -0
  212. package/dist/types/utils/yarn-version.d.mts +2 -0
  213. package/dist/types/utils/yarn-version.d.mts.map +1 -0
  214. package/dist/types/yarn-cli.d.mts +3 -0
  215. package/dist/types/yarn-cli.d.mts.map +1 -0
  216. package/dist/utils.js +404 -104
  217. package/dist/utils.js.map +1 -1
  218. package/dist/vendor.js +58633 -64690
  219. package/dist/yarn-cli.js +26 -0
  220. package/dist/yarn-cli.js.map +1 -0
  221. package/external/blessed/lib/tput.js +13 -13
  222. package/external/blessed/lib/widgets/ansiimage.js +1 -1
  223. package/external/blessed/lib/widgets/bigtext.js +1 -1
  224. package/external/blessed/lib/widgets/box.js +1 -1
  225. package/external/blessed/lib/widgets/button.js +1 -1
  226. package/external/blessed/lib/widgets/checkbox.js +1 -1
  227. package/external/blessed/lib/widgets/element.js +1 -1
  228. package/external/blessed/lib/widgets/filemanager.js +1 -1
  229. package/external/blessed/lib/widgets/form.js +1 -1
  230. package/external/blessed/lib/widgets/image.js +1 -1
  231. package/external/blessed/lib/widgets/input.js +1 -1
  232. package/external/blessed/lib/widgets/layout.js +1 -1
  233. package/external/blessed/lib/widgets/line.js +1 -1
  234. package/external/blessed/lib/widgets/list.js +1 -1
  235. package/external/blessed/lib/widgets/listbar.js +1 -1
  236. package/external/blessed/lib/widgets/listtable.js +1 -1
  237. package/external/blessed/lib/widgets/loading.js +1 -1
  238. package/external/blessed/lib/widgets/log.js +1 -1
  239. package/external/blessed/lib/widgets/message.js +1 -1
  240. package/external/blessed/lib/widgets/node.js +3 -2
  241. package/external/blessed/lib/widgets/overlayimage.js +1 -1
  242. package/external/blessed/lib/widgets/progressbar.js +1 -1
  243. package/external/blessed/lib/widgets/prompt.js +1 -1
  244. package/external/blessed/lib/widgets/question.js +1 -1
  245. package/external/blessed/lib/widgets/radiobutton.js +1 -1
  246. package/external/blessed/lib/widgets/radioset.js +1 -1
  247. package/external/blessed/lib/widgets/screen.js +8 -6
  248. package/external/blessed/lib/widgets/scrollablebox.js +1 -1
  249. package/external/blessed/lib/widgets/scrollabletext.js +1 -1
  250. package/external/blessed/lib/widgets/table.js +1 -1
  251. package/external/blessed/lib/widgets/terminal.js +1 -1
  252. package/external/blessed/lib/widgets/text.js +1 -1
  253. package/external/blessed/lib/widgets/textarea.js +1 -1
  254. package/external/blessed/lib/widgets/textbox.js +1 -1
  255. package/external/blessed/lib/widgets/video.js +1 -1
  256. package/external/blessed/vendor/tng.js +11 -4
  257. package/external/blessed-contrib/lib/widget/charts/bar.js +4 -4
  258. package/external/blessed-contrib/lib/widget/charts/line.js +4 -4
  259. package/logo-dark.png +0 -0
  260. package/logo-light.png +0 -0
  261. package/package.json +67 -94
  262. package/shadow-bin/npm +1 -1
  263. package/shadow-bin/npx +1 -1
  264. package/shadow-bin/pnpm +27 -0
  265. package/shadow-bin/yarn +27 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-yarn-bin.js","sources":["../src/shadow/yarn/link.mts","../src/shadow/yarn/bin.mts"],"sourcesContent":["import path from 'node:path'\n\nimport cmdShim from 'cmd-shim'\n\nimport constants from '../../constants.mts'\nimport {\n getYarnBinPath,\n isYarnBinPathShadowed,\n} from '../../utils/yarn-paths.mts'\n\nexport async function installLinks(\n shadowBinPath: string,\n binName: 'yarn',\n): Promise<string> {\n const binPath = getYarnBinPath()\n const { WIN32 } = constants\n\n if (WIN32 && binPath) {\n return binPath\n }\n\n const shadowed = isYarnBinPathShadowed()\n\n if (!shadowed) {\n if (WIN32) {\n await cmdShim(\n path.join(constants.distPath, `${binName}-cli.js`),\n path.join(shadowBinPath, binName),\n )\n }\n const { env } = process\n env['PATH'] = `${shadowBinPath}${path.delimiter}${env['PATH']}`\n }\n\n return binPath\n}\n","import { promises as fs } from 'node:fs'\n\nimport { debugDir, debugFn, isDebug } from '@socketsecurity/registry/lib/debug'\nimport { logger } from '@socketsecurity/registry/lib/logger'\nimport { spawn } from '@socketsecurity/registry/lib/spawn'\n\nimport { installLinks } from './link.mts'\nimport constants from '../../constants.mts'\nimport { getAlertsMapFromPurls } from '../../utils/alerts-map.mts'\nimport { cmdFlagsToString } from '../../utils/cmd.mts'\nimport { logAlertsMap } from '../../utils/socket-package-alert.mts'\nimport { idToNpmPurl } from '../../utils/spec.mts'\n\nimport type { IpcObject } from '../../constants.mts'\nimport type {\n SpawnExtra,\n SpawnOptions,\n SpawnResult,\n} from '@socketsecurity/registry/lib/spawn'\n\nexport type ShadowYarnOptions = SpawnOptions & {\n ipc?: IpcObject | undefined\n}\n\nexport type ShadowYarnResult = {\n spawnPromise: SpawnResult<string, SpawnExtra | undefined>\n}\n\nconst INSTALL_COMMANDS = new Set([\n 'add',\n 'install',\n 'up',\n 'upgrade',\n 'upgrade-interactive',\n])\n\nconst DLX_COMMANDS = new Set(['dlx'])\n\nexport default async function shadowYarn(\n args: string[] | readonly string[] = process.argv.slice(2),\n options?: ShadowYarnOptions | undefined,\n extra?: SpawnExtra | undefined,\n): Promise<ShadowYarnResult> {\n const {\n env: spawnEnv,\n ipc,\n ...spawnOpts\n } = { __proto__: null, ...options } as ShadowYarnOptions\n const terminatorPos = args.indexOf('--')\n const rawYarnArgs = terminatorPos === -1 ? args : args.slice(0, terminatorPos)\n const otherArgs = terminatorPos === -1 ? [] : args.slice(terminatorPos)\n\n // Check if this is a command that needs security scanning\n const command = rawYarnArgs[0]\n const needsScanning =\n command && (INSTALL_COMMANDS.has(command) || DLX_COMMANDS.has(command))\n\n // Get yarn path\n const realYarnPath = await installLinks(constants.shadowBinPath, 'yarn')\n\n const permArgs: string[] = []\n\n const prefixArgs: string[] = []\n const suffixArgs = [...rawYarnArgs, ...permArgs, ...otherArgs]\n\n if (needsScanning && !rawYarnArgs.includes('--dry-run')) {\n const acceptRisks = Boolean(process.env['SOCKET_CLI_ACCEPT_RISKS'])\n const viewAllRisks = Boolean(process.env['SOCKET_CLI_VIEW_ALL_RISKS'])\n\n // Extract package names from command arguments before any downloads\n const packagePurls: string[] = []\n\n if (command === 'add' || command === 'dlx') {\n // For 'yarn add package1 package2@version' or 'yarn dlx package'\n const packageArgs = rawYarnArgs\n .slice(1)\n .filter(arg => !arg.startsWith('-') && arg !== '--')\n\n for (const pkgSpec of packageArgs) {\n // Handle package specs like 'lodash', 'lodash@4.17.21', '@types/node@^20.0.0'\n let name: string\n let version: string | undefined\n\n if (pkgSpec.startsWith('@')) {\n // Scoped package: @scope/name or @scope/name@version\n const parts = pkgSpec.split('@')\n if (parts.length === 2) {\n // @scope/name (no version)\n name = pkgSpec\n } else {\n // @scope/name@version\n name = `@${parts[1]}`\n version = parts[2]\n }\n } else {\n // Regular package: name or name@version\n const atIndex = pkgSpec.indexOf('@')\n if (atIndex === -1) {\n name = pkgSpec\n } else {\n name = pkgSpec.slice(0, atIndex)\n version = pkgSpec.slice(atIndex + 1)\n }\n }\n\n if (name) {\n packagePurls.push(\n version ? idToNpmPurl(`${name}@${version}`) : idToNpmPurl(name),\n )\n }\n }\n } else if (\n ['install', 'up', 'upgrade', 'upgrade-interactive'].includes(command)\n ) {\n // For install/upgrade, scan all dependencies from package.json\n // Note: This scans direct dependencies only. For full transitive dependency\n // scanning, yarn.lock parsing would be needed (not yet implemented)\n try {\n const packageJsonContent = await fs.readFile('package.json', 'utf8')\n const packageJson = JSON.parse(packageJsonContent)\n\n const allDeps = {\n ...packageJson.dependencies,\n ...packageJson.devDependencies,\n ...packageJson.optionalDependencies,\n ...packageJson.peerDependencies,\n }\n\n for (const [name, version] of Object.entries(allDeps)) {\n if (typeof version === 'string') {\n packagePurls.push(idToNpmPurl(`${name}@${version}`))\n } else {\n packagePurls.push(idToNpmPurl(name))\n }\n }\n\n if (isDebug()) {\n debugFn(\n 'notice',\n `scanning: ${packagePurls.length} direct dependencies from package.json`,\n )\n debugFn(\n 'notice',\n 'note: transitive dependencies not scanned (yarn.lock parsing not implemented)',\n )\n }\n } catch (e) {\n if (isDebug()) {\n debugFn(\n 'error',\n 'caught: package.json read error during dependency scanning',\n )\n debugDir('inspect', { error: e })\n }\n }\n }\n\n if (packagePurls.length > 0) {\n if (isDebug()) {\n debugFn('notice', 'scanning: packages before download')\n debugDir('inspect', { packagePurls })\n }\n\n try {\n const alertsMap = await getAlertsMapFromPurls(packagePurls, {\n nothrow: true,\n filter: acceptRisks\n ? { actions: ['error'], blocked: true }\n : { actions: ['error', 'monitor', 'warn'] },\n })\n\n if (alertsMap.size) {\n process.exitCode = 1\n logAlertsMap(alertsMap, {\n hideAt: viewAllRisks ? 'none' : 'middle',\n output: process.stderr,\n })\n\n const errorMessage = `\nSocket yarn exiting due to risks.${\n viewAllRisks\n ? ''\n : `\\nView all risks - Rerun with environment variable ${constants.SOCKET_CLI_VIEW_ALL_RISKS}=1.`\n }${\n acceptRisks\n ? ''\n : `\\nAccept risks - Rerun with environment variable ${constants.SOCKET_CLI_ACCEPT_RISKS}=1.`\n }`.trim()\n\n logger.error(errorMessage)\n // eslint-disable-next-line n/no-process-exit\n process.exit(1)\n // This line is never reached in production, but helps tests.\n throw new Error('process.exit called')\n }\n } catch (e) {\n // Re-throw process.exit errors from tests.\n if (e instanceof Error && e.message === 'process.exit called') {\n throw e\n }\n if (isDebug()) {\n debugFn('error', 'caught: package scanning error')\n debugDir('inspect', { error: e })\n }\n // Continue with installation if scanning fails\n }\n }\n\n if (isDebug()) {\n debugFn('notice', 'complete: scanning, proceeding with install')\n debugDir('inspect', { args: rawYarnArgs.slice(1) })\n }\n }\n\n const argsToString = cmdFlagsToString([...prefixArgs, ...suffixArgs])\n const env = {\n ...process.env,\n ...spawnEnv,\n } as Record<string, string>\n\n if (isDebug()) {\n debugFn('notice', `spawn: yarn shadow bin ${realYarnPath} ${argsToString}`)\n }\n\n const spawnPromise = spawn(realYarnPath, [...prefixArgs, ...suffixArgs], {\n ...spawnOpts,\n env,\n extra,\n })\n\n return { spawnPromise }\n}\n"],"names":["WIN32","env","__proto__","name","version","packagePurls","debugFn","error","nothrow","blocked","actions","hideAt","logger","process","args","extra","spawnPromise"],"mappings":";;;;;;;;;;;AAUO;AAIL;;AACQA;AAAM;;AAGZ;AACF;AAEA;;AAGE;;AAKA;;AACQC;AAAI;AACZA;AACF;AAEA;AACF;;ACPA;AAQA;AAEe;;AAMXA;;;AAGF;AAAMC;;;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAGA;;;;;;;;;AAYE;;AAGA;AACE;;AAKA;AACE;AACA;AACA;AAEA;AACE;AACA;AACA;AACE;AACAC;AACF;AACE;AACAA;AACAC;AACF;AACF;AACE;AACA;AACA;AACED;AACF;;;AAGA;AACF;AAEA;AACEE;AAGF;AACF;AACF;AAGE;AACA;AACA;;;AAGE;AAEA;;;;AAIE;;AAGF;AACE;;AAEA;AACEA;AACF;AACF;;;AAOEC;AAIF;;;AAGEA;;AAIsBC;AAAS;AACjC;AACF;AACF;AAEA;;AAEID;;AACsBD;AAAa;AACrC;;AAGE;AACEG;;;AAE0BC;AAAc;AAClCC;AAAsC;AAC9C;;;;AAKIC;;AAEF;AAEA;AACV;AAUUC;AACA;AACAC;AACA;AACA;AACF;;AAEA;;AAEE;AACF;;AAEEP;;AACsBC;AAAS;AACjC;AACA;AACF;AACF;;AAGED;;AACsBQ;AAA2B;AACnD;AACF;;AAGA;;;;;;AAOA;AAEA;AACE;;AAEAC;AACF;;AAESC;;AACX;;","debugId":"ff5e070d-ede1-4e55-b8e9-dfa667ad45a0"}
File without changes