@socketsecurity/lib 6.0.2 → 6.0.4

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 (552) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/_virtual/_rolldown/runtime.js +45 -0
  3. package/dist/abort/signal.js +53 -59
  4. package/dist/ai/discover.js +110 -110
  5. package/dist/ai/profiles.d.mts +48 -25
  6. package/dist/ai/profiles.js +95 -59
  7. package/dist/ai/spawn.d.mts +2 -2
  8. package/dist/ai/spawn.js +172 -194
  9. package/dist/ai/types.d.mts +3 -3
  10. package/dist/ai/types.js +1 -17
  11. package/dist/ai/worktree.d.mts +2 -2
  12. package/dist/ai/worktree.js +160 -183
  13. package/dist/ansi/constants.js +16 -38
  14. package/dist/ansi/strip.js +44 -41
  15. package/dist/archives/_internal.js +64 -73
  16. package/dist/archives/detect.js +30 -43
  17. package/dist/archives/extract.js +43 -50
  18. package/dist/archives/tar.js +197 -228
  19. package/dist/archives/types.js +1 -17
  20. package/dist/archives/zip.js +85 -121
  21. package/dist/argv/flag-predicates.js +203 -101
  22. package/dist/argv/flag-types.js +96 -113
  23. package/dist/argv/parse-args-string.d.ts +16 -14
  24. package/dist/argv/parse-args-string.js +42 -39
  25. package/dist/argv/parse.js +145 -163
  26. package/dist/arrays/_internal.js +65 -48
  27. package/dist/arrays/chunk.js +51 -40
  28. package/dist/arrays/join.js +87 -35
  29. package/dist/arrays/predicates.js +46 -28
  30. package/dist/arrays/unique.js +45 -31
  31. package/dist/bin/_internal.js +34 -42
  32. package/dist/bin/check-primordials.js +175 -233
  33. package/dist/bin/check.js +51 -72
  34. package/dist/bin/exec.js +70 -74
  35. package/dist/bin/find.js +151 -134
  36. package/dist/bin/resolve.js +180 -246
  37. package/dist/bin/shadow.js +24 -33
  38. package/dist/bin/socket-lib.js +51 -73
  39. package/dist/bin/types.js +1 -17
  40. package/dist/bin/which.js +211 -146
  41. package/dist/cacache/_internal.js +25 -40
  42. package/dist/cacache/clear.js +79 -72
  43. package/dist/cacache/read.js +48 -46
  44. package/dist/cacache/tmp.js +29 -36
  45. package/dist/cacache/types.js +1 -17
  46. package/dist/cacache/write.js +43 -48
  47. package/dist/cache/ttl/store.js +232 -288
  48. package/dist/cache/ttl/types.js +1 -17
  49. package/dist/checks/primordials-defaults.js +83 -89
  50. package/dist/checks/primordials.js +225 -277
  51. package/dist/colors/convert.js +45 -37
  52. package/dist/colors/palette.js +88 -45
  53. package/dist/colors/socket-palette.js +74 -84
  54. package/dist/colors/types.js +1 -17
  55. package/dist/compression/_internal.js +57 -72
  56. package/dist/compression/brotli.js +94 -127
  57. package/dist/compression/gzip.js +95 -121
  58. package/dist/compression/types.js +1 -17
  59. package/dist/constants/agents.js +61 -113
  60. package/dist/constants/encoding.js +19 -42
  61. package/dist/constants/github.js +12 -30
  62. package/dist/constants/licenses.js +48 -63
  63. package/dist/constants/lifecycle-script-names.js +31 -45
  64. package/dist/constants/maintained-node-versions.js +22 -37
  65. package/dist/constants/node.js +226 -167
  66. package/dist/constants/package-default-node-range.js +16 -41
  67. package/dist/constants/package-default-socket-categories.js +12 -30
  68. package/dist/constants/packages.js +77 -126
  69. package/dist/constants/platform.js +27 -49
  70. package/dist/constants/sentinels.js +23 -48
  71. package/dist/constants/socket.js +42 -87
  72. package/dist/constants/testing.js +15 -34
  73. package/dist/constants/time.js +16 -36
  74. package/dist/constants/typescript.js +32 -52
  75. package/dist/cover/code.js +111 -142
  76. package/dist/cover/formatters.js +118 -101
  77. package/dist/cover/type.js +50 -76
  78. package/dist/cover/types.js +1 -17
  79. package/dist/crypto/hash.js +54 -46
  80. package/dist/debug/_internal.js +62 -71
  81. package/dist/debug/caller-info.js +53 -64
  82. package/dist/debug/namespace.js +80 -90
  83. package/dist/debug/output.js +172 -188
  84. package/dist/debug/types.js +1 -17
  85. package/dist/dlx/_internal.js +24 -43
  86. package/dist/dlx/arborist.js +162 -160
  87. package/dist/dlx/binary-cache.js +228 -200
  88. package/dist/dlx/binary-download.js +172 -211
  89. package/dist/dlx/binary-resolution.js +165 -157
  90. package/dist/dlx/binary-types.js +1 -17
  91. package/dist/dlx/binary.js +149 -189
  92. package/dist/dlx/cache.js +45 -30
  93. package/dist/dlx/detect.js +245 -167
  94. package/dist/dlx/dir.js +67 -51
  95. package/dist/dlx/firewall.js +62 -100
  96. package/dist/dlx/lockfile.js +122 -127
  97. package/dist/dlx/manifest.js +264 -274
  98. package/dist/dlx/package.js +241 -244
  99. package/dist/dlx/packages.js +99 -96
  100. package/dist/dlx/paths.js +73 -59
  101. package/dist/dlx/spec.js +52 -60
  102. package/dist/dlx/types.js +1 -17
  103. package/dist/eco/cargo/lockfile-format.js +19 -36
  104. package/dist/eco/cargo/manifest-format.js +17 -35
  105. package/dist/eco/cargo/parse-lockfile.js +210 -237
  106. package/dist/eco/manifest/analyze-lockfile.js +46 -63
  107. package/dist/eco/manifest/detect-format.js +66 -90
  108. package/dist/eco/manifest/find-packages.js +39 -64
  109. package/dist/eco/manifest/get-package-versions.js +27 -48
  110. package/dist/eco/manifest/get-package.js +21 -40
  111. package/dist/eco/manifest/manifest-error.js +14 -35
  112. package/dist/eco/manifest/parse-lockfile.js +40 -86
  113. package/dist/eco/manifest/parse-manifest.js +26 -43
  114. package/dist/eco/manifest/parse.js +26 -47
  115. package/dist/eco/manifest/types.js +1 -17
  116. package/dist/eco/npm/bun/exec.js +23 -32
  117. package/dist/eco/npm/manifest-format.js +21 -35
  118. package/dist/eco/npm/npm/exec.js +51 -61
  119. package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
  120. package/dist/eco/npm/npm/flags.js +80 -52
  121. package/dist/eco/npm/npm/lockfile-format.js +21 -40
  122. package/dist/eco/npm/npm/parse-git-url.js +26 -40
  123. package/dist/eco/npm/npm/parse-lockfile.js +184 -210
  124. package/dist/eco/npm/parse-package-json.js +71 -102
  125. package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
  126. package/dist/eco/npm/pnpm/exec.js +51 -62
  127. package/dist/eco/npm/pnpm/flags.js +75 -68
  128. package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
  129. package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
  130. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
  131. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
  132. package/dist/eco/npm/script.js +82 -90
  133. package/dist/eco/npm/vlt/exec.js +24 -32
  134. package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
  135. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
  136. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
  137. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
  138. package/dist/eco/purl.js +50 -60
  139. package/dist/eco/types.js +1 -17
  140. package/dist/effects/pulse-frames.js +64 -65
  141. package/dist/effects/shimmer-keyframes.js +71 -52
  142. package/dist/effects/shimmer-terminal.js +81 -50
  143. package/dist/effects/shimmer.js +290 -153
  144. package/dist/env/boolean.js +42 -43
  145. package/dist/env/case-insensitive.js +54 -39
  146. package/dist/env/ci.js +29 -31
  147. package/dist/env/debug.js +28 -31
  148. package/dist/env/github.js +144 -59
  149. package/dist/env/home.js +38 -31
  150. package/dist/env/locale.js +59 -39
  151. package/dist/env/node-auth-token.js +28 -31
  152. package/dist/env/node-env.js +28 -31
  153. package/dist/env/npm.js +94 -47
  154. package/dist/env/number.js +50 -51
  155. package/dist/env/package-manager.js +95 -83
  156. package/dist/env/path.js +28 -31
  157. package/dist/env/pre-commit.js +30 -32
  158. package/dist/env/proxy.js +121 -122
  159. package/dist/env/rewire.js +204 -96
  160. package/dist/env/shell.js +28 -31
  161. package/dist/env/socket-cli.js +233 -81
  162. package/dist/env/socket.js +521 -156
  163. package/dist/env/string.js +43 -44
  164. package/dist/env/temp-dir.js +59 -39
  165. package/dist/env/term.js +28 -31
  166. package/dist/env/test.js +65 -43
  167. package/dist/env/types.js +1 -17
  168. package/dist/env/windows.js +78 -43
  169. package/dist/env/xdg.js +62 -39
  170. package/dist/errors/message.js +40 -46
  171. package/dist/errors/predicates.js +61 -49
  172. package/dist/errors/stack.js +24 -36
  173. package/dist/events/exit/_internal.js +86 -103
  174. package/dist/events/exit/handler.js +48 -55
  175. package/dist/events/exit/intercept.js +49 -70
  176. package/dist/events/exit/lifecycle.js +92 -101
  177. package/dist/events/exit/signals.js +25 -31
  178. package/dist/events/exit/types.js +1 -17
  179. package/dist/events/warning/handler.js +43 -40
  180. package/dist/events/warning/suppress.js +111 -90
  181. package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
  182. package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
  183. package/dist/external/@npmcli/package-json.js +12705 -15140
  184. package/dist/external/@npmcli/promise-spawn.js +451 -472
  185. package/dist/external/@sinclair/typebox/value.js +7443 -9002
  186. package/dist/external/@sinclair/typebox.js +7516 -7885
  187. package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
  188. package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
  189. package/dist/external/@socketregistry/yocto-spinner.js +394 -455
  190. package/dist/external/@yarnpkg/extensions.js +435 -1022
  191. package/dist/external/adm-zip.js +2313 -2673
  192. package/dist/external/debug.js +700 -687
  193. package/dist/external/external-pack.js +2658 -3171
  194. package/dist/external/fast-sort.js +124 -138
  195. package/dist/external/get-east-asian-width.js +70 -64
  196. package/dist/external/libnpmexec.js +28 -31
  197. package/dist/external/npm-pack.js +43617 -50137
  198. package/dist/external/p-map.js +198 -222
  199. package/dist/external/pico-pack.js +6735 -7304
  200. package/dist/external/pony-cause.js +143 -139
  201. package/dist/external/shell-quote.js +226 -0
  202. package/dist/external/spdx-pack.js +1283 -1403
  203. package/dist/external/streaming-iterables.js +835 -1052
  204. package/dist/external/tar-fs.js +2769 -3048
  205. package/dist/external/which.js +267 -251
  206. package/dist/external/yargs-parser.js +851 -1074
  207. package/dist/external-tools/bazel/asset-names.js +98 -90
  208. package/dist/external-tools/bazel/from-download.js +52 -46
  209. package/dist/external-tools/bazel/from-path.js +27 -38
  210. package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
  211. package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
  212. package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
  213. package/dist/external-tools/bazel/resolve.js +44 -58
  214. package/dist/external-tools/bazel/types.js +1 -17
  215. package/dist/external-tools/cdxgen/asset-names.js +59 -66
  216. package/dist/external-tools/cdxgen/from-download.js +52 -80
  217. package/dist/external-tools/cdxgen/from-path.js +19 -37
  218. package/dist/external-tools/cdxgen/from-vfs.js +22 -43
  219. package/dist/external-tools/cdxgen/resolve.js +48 -63
  220. package/dist/external-tools/cdxgen/types.js +1 -17
  221. package/dist/external-tools/from-download.js +107 -67
  222. package/dist/external-tools/janus/asset-names.js +44 -51
  223. package/dist/external-tools/janus/from-download.js +45 -70
  224. package/dist/external-tools/janus/from-path.js +19 -37
  225. package/dist/external-tools/janus/from-vfs.js +22 -43
  226. package/dist/external-tools/janus/resolve.js +45 -63
  227. package/dist/external-tools/janus/types.js +1 -17
  228. package/dist/external-tools/jre/asset-names.js +109 -82
  229. package/dist/external-tools/jre/detect-platform-arch.js +25 -49
  230. package/dist/external-tools/jre/from-download.js +71 -67
  231. package/dist/external-tools/jre/from-java-home.js +27 -54
  232. package/dist/external-tools/jre/from-path.js +27 -49
  233. package/dist/external-tools/jre/from-vfs.js +39 -60
  234. package/dist/external-tools/jre/resolve.js +55 -68
  235. package/dist/external-tools/jre/types.js +1 -17
  236. package/dist/external-tools/manifest.js +130 -150
  237. package/dist/external-tools/opengrep/asset-names.js +60 -72
  238. package/dist/external-tools/opengrep/from-download.js +58 -80
  239. package/dist/external-tools/opengrep/from-path.js +19 -37
  240. package/dist/external-tools/opengrep/from-vfs.js +23 -43
  241. package/dist/external-tools/opengrep/resolve.js +43 -63
  242. package/dist/external-tools/opengrep/types.js +1 -17
  243. package/dist/external-tools/sbt/asset-names.js +21 -30
  244. package/dist/external-tools/sbt/from-download.js +50 -61
  245. package/dist/external-tools/sbt/from-path.js +23 -38
  246. package/dist/external-tools/sbt/from-vfs.js +30 -44
  247. package/dist/external-tools/sbt/resolve.js +45 -63
  248. package/dist/external-tools/sbt/types.js +1 -17
  249. package/dist/external-tools/synp/asset-names.js +11 -29
  250. package/dist/external-tools/synp/from-download.js +24 -41
  251. package/dist/external-tools/synp/from-path.js +19 -37
  252. package/dist/external-tools/synp/from-vfs.js +22 -43
  253. package/dist/external-tools/synp/resolve.js +43 -62
  254. package/dist/external-tools/synp/types.js +1 -17
  255. package/dist/external-tools/trivy/asset-names.js +51 -62
  256. package/dist/external-tools/trivy/from-download.js +42 -64
  257. package/dist/external-tools/trivy/from-path.js +19 -37
  258. package/dist/external-tools/trivy/from-vfs.js +22 -43
  259. package/dist/external-tools/trivy/resolve.js +43 -63
  260. package/dist/external-tools/trivy/types.js +1 -17
  261. package/dist/external-tools/trufflehog/asset-names.js +54 -66
  262. package/dist/external-tools/trufflehog/from-download.js +44 -62
  263. package/dist/external-tools/trufflehog/from-path.js +21 -37
  264. package/dist/external-tools/trufflehog/from-vfs.js +26 -43
  265. package/dist/external-tools/trufflehog/resolve.js +43 -63
  266. package/dist/external-tools/trufflehog/types.js +1 -17
  267. package/dist/external-tools/uv/asset-names.js +64 -74
  268. package/dist/external-tools/uv/from-download.js +44 -65
  269. package/dist/external-tools/uv/from-path.js +19 -37
  270. package/dist/external-tools/uv/from-vfs.js +22 -43
  271. package/dist/external-tools/uv/resolve.js +42 -63
  272. package/dist/external-tools/uv/types.js +1 -17
  273. package/dist/fs/_internal.js +40 -42
  274. package/dist/fs/access.d.ts +32 -0
  275. package/dist/fs/access.js +66 -0
  276. package/dist/fs/encoding.js +80 -97
  277. package/dist/fs/find-up.js +126 -147
  278. package/dist/fs/inspect.js +168 -99
  279. package/dist/fs/path-cache.js +31 -32
  280. package/dist/fs/read-dir.js +102 -79
  281. package/dist/fs/read-file.js +177 -118
  282. package/dist/fs/read-json-cache.js +150 -134
  283. package/dist/fs/read-json.js +172 -187
  284. package/dist/fs/resolve-module.d.ts +57 -0
  285. package/dist/fs/resolve-module.js +40 -0
  286. package/dist/fs/safe.js +278 -169
  287. package/dist/fs/types.js +1 -17
  288. package/dist/fs/unique.js +52 -48
  289. package/dist/fs/validate.js +56 -43
  290. package/dist/fs/write-json.js +109 -75
  291. package/dist/git/_internal.js +251 -216
  292. package/dist/git/changed.js +191 -74
  293. package/dist/git/repo.js +118 -104
  294. package/dist/git/staged.js +172 -62
  295. package/dist/git/types.js +1 -17
  296. package/dist/git/unstaged.js +175 -62
  297. package/dist/github/constants.js +25 -33
  298. package/dist/github/errors.js +46 -38
  299. package/dist/github/fetch.js +137 -82
  300. package/dist/github/ghsa.js +217 -151
  301. package/dist/github/refs-cache.js +54 -43
  302. package/dist/github/refs-graphql.js +97 -89
  303. package/dist/github/refs-rest.js +70 -101
  304. package/dist/github/refs.js +105 -64
  305. package/dist/github/token.js +96 -48
  306. package/dist/github/types.js +1 -17
  307. package/dist/globs/_internal.js +73 -82
  308. package/dist/globs/defaults.js +40 -59
  309. package/dist/globs/match.js +93 -77
  310. package/dist/globs/matcher.js +104 -92
  311. package/dist/globs/stream.js +43 -55
  312. package/dist/globs/types.js +1 -17
  313. package/dist/http-request/_internal.js +11 -38
  314. package/dist/http-request/browser-fetch.js +19 -29
  315. package/dist/http-request/browser.js +188 -206
  316. package/dist/http-request/checksums.js +101 -65
  317. package/dist/http-request/download-types.js +1 -17
  318. package/dist/http-request/download.js +195 -196
  319. package/dist/http-request/errors.js +39 -47
  320. package/dist/http-request/headers.js +95 -80
  321. package/dist/http-request/http-request.js +10 -35
  322. package/dist/http-request/node.js +71 -97
  323. package/dist/http-request/request-attempt.js +232 -285
  324. package/dist/http-request/request-types.js +1 -17
  325. package/dist/http-request/request.js +106 -108
  326. package/dist/http-request/response-reader.js +47 -51
  327. package/dist/http-request/response-types.js +22 -38
  328. package/dist/http-request/user-agent.js +73 -55
  329. package/dist/integrity.js +105 -106
  330. package/dist/ipc/_internal.js +34 -48
  331. package/dist/ipc/directory.js +55 -63
  332. package/dist/ipc/paths.js +52 -45
  333. package/dist/ipc/types.js +1 -17
  334. package/dist/ipc/write.js +81 -74
  335. package/dist/ipc-cli/get.js +29 -56
  336. package/dist/ipc-cli/types.js +1 -17
  337. package/dist/json/edit.js +182 -242
  338. package/dist/json/format.js +202 -103
  339. package/dist/json/parse.js +206 -109
  340. package/dist/json/types.js +1 -17
  341. package/dist/links/create.js +93 -60
  342. package/dist/links/types.js +1 -17
  343. package/dist/logger/_internal.js +109 -73
  344. package/dist/logger/browser.js +45 -56
  345. package/dist/logger/colors.js +31 -49
  346. package/dist/logger/console.js +89 -112
  347. package/dist/logger/default.js +19 -33
  348. package/dist/logger/logger.js +5 -29
  349. package/dist/logger/node.js +794 -854
  350. package/dist/logger/symbols-builder.js +54 -56
  351. package/dist/logger/symbols.js +135 -118
  352. package/dist/logger/types.js +1 -17
  353. package/dist/memo/_internal.js +39 -49
  354. package/dist/memo/async.js +133 -117
  355. package/dist/memo/clear.js +25 -34
  356. package/dist/memo/decorator.js +43 -37
  357. package/dist/memo/memoize.js +97 -88
  358. package/dist/memo/once.js +42 -41
  359. package/dist/memo/types.js +1 -17
  360. package/dist/memo/weak.js +45 -41
  361. package/dist/node/async-hooks.js +9 -30
  362. package/dist/node/child-process.js +9 -30
  363. package/dist/node/crypto.js +9 -30
  364. package/dist/node/events.js +9 -30
  365. package/dist/node/fs-promises.js +9 -30
  366. package/dist/node/fs.js +9 -30
  367. package/dist/node/http.js +9 -30
  368. package/dist/node/https.js +9 -30
  369. package/dist/node/module.js +20 -34
  370. package/dist/node/os.js +9 -30
  371. package/dist/node/path.js +9 -30
  372. package/dist/node/timers-promises.js +9 -30
  373. package/dist/node/url.js +9 -30
  374. package/dist/node/util.js +9 -30
  375. package/dist/objects/getters.js +185 -126
  376. package/dist/objects/inspect.js +85 -52
  377. package/dist/objects/mutate.js +96 -76
  378. package/dist/objects/predicates.js +112 -59
  379. package/dist/objects/sort.js +120 -76
  380. package/dist/objects/types.js +1 -17
  381. package/dist/packages/edit-class.js +198 -265
  382. package/dist/packages/edit.js +79 -86
  383. package/dist/packages/exports.js +146 -157
  384. package/dist/packages/isolation.js +159 -209
  385. package/dist/packages/licenses.js +207 -189
  386. package/dist/packages/manifest.js +134 -172
  387. package/dist/packages/normalize.js +91 -102
  388. package/dist/packages/operations.d.ts +2 -0
  389. package/dist/packages/operations.js +283 -254
  390. package/dist/packages/provenance.js +195 -245
  391. package/dist/packages/specs.js +94 -84
  392. package/dist/packages/types.js +1 -17
  393. package/dist/packages/validation.js +49 -50
  394. package/dist/paths/_internal.js +82 -86
  395. package/dist/paths/conversion.js +112 -65
  396. package/dist/paths/dirnames.js +17 -42
  397. package/dist/paths/exts.js +23 -54
  398. package/dist/paths/filenames.js +21 -50
  399. package/dist/paths/globs.js +15 -38
  400. package/dist/paths/normalize.js +215 -236
  401. package/dist/paths/packages.js +34 -49
  402. package/dist/paths/predicates.js +184 -106
  403. package/dist/paths/resolve.js +146 -128
  404. package/dist/paths/rewire.js +108 -72
  405. package/dist/paths/socket.js +252 -132
  406. package/dist/paths/walk.d.ts +40 -0
  407. package/dist/paths/walk.js +58 -0
  408. package/dist/perf/_internal.js +10 -28
  409. package/dist/perf/enabled.js +21 -30
  410. package/dist/perf/metrics.js +81 -67
  411. package/dist/perf/report.js +79 -80
  412. package/dist/perf/timer.js +180 -126
  413. package/dist/perf/types.js +1 -17
  414. package/dist/pkg-ext/data.js +29 -82
  415. package/dist/pkg-ext/types.js +1 -17
  416. package/dist/primordials/array.js +120 -198
  417. package/dist/primordials/buffer.js +28 -51
  418. package/dist/primordials/date.js +26 -51
  419. package/dist/primordials/error.js +33 -59
  420. package/dist/primordials/function.js +21 -41
  421. package/dist/primordials/globals.js +25 -48
  422. package/dist/primordials/json.js +14 -30
  423. package/dist/primordials/map-set.js +88 -152
  424. package/dist/primordials/math.js +59 -116
  425. package/dist/primordials/number.js +41 -76
  426. package/dist/primordials/object.js +56 -116
  427. package/dist/primordials/promise.js +28 -52
  428. package/dist/primordials/reflect.js +24 -52
  429. package/dist/primordials/regexp.js +25 -47
  430. package/dist/primordials/string.js +114 -167
  431. package/dist/primordials/symbol.js +40 -72
  432. package/dist/primordials/uncurry.js +38 -55
  433. package/dist/primordials/url.js +27 -66
  434. package/dist/process/_internal.js +7 -32
  435. package/dist/process/abort.js +29 -35
  436. package/dist/process/lock-instance.js +26 -30
  437. package/dist/process/lock-manager.js +279 -307
  438. package/dist/process/lock-types.js +1 -17
  439. package/dist/process/spawn/_internal.js +43 -55
  440. package/dist/process/spawn/child.js +172 -211
  441. package/dist/process/spawn/errors.js +116 -113
  442. package/dist/process/spawn/stdio.js +51 -35
  443. package/dist/process/spawn/types.js +1 -17
  444. package/dist/process/transient.js +49 -66
  445. package/dist/promises/_internal.d.ts +8 -2
  446. package/dist/promises/_internal.js +31 -38
  447. package/dist/promises/iterate.js +238 -102
  448. package/dist/promises/options.js +123 -101
  449. package/dist/promises/queue.js +115 -136
  450. package/dist/promises/resolvers.js +77 -46
  451. package/dist/promises/retry.js +156 -101
  452. package/dist/promises/types.js +1 -17
  453. package/dist/regexps/escape.js +32 -30
  454. package/dist/regexps/hex.js +16 -33
  455. package/dist/regexps/spec.js +53 -81
  456. package/dist/releases/github-archives.js +127 -118
  457. package/dist/releases/github-asset-url.js +162 -155
  458. package/dist/releases/github-assets.js +37 -49
  459. package/dist/releases/github-auth.js +32 -48
  460. package/dist/releases/github-downloads.js +118 -138
  461. package/dist/releases/github-listing.js +175 -154
  462. package/dist/releases/github-retry-config.d.ts +31 -0
  463. package/dist/releases/github-retry-config.js +46 -0
  464. package/dist/releases/github-types.js +1 -17
  465. package/dist/releases/socket-btm.js +273 -192
  466. package/dist/schema/parse.js +35 -36
  467. package/dist/schema/types.js +1 -17
  468. package/dist/schema/validate.js +118 -99
  469. package/dist/sea/detect.js +57 -52
  470. package/dist/secrets/_internal.js +86 -67
  471. package/dist/secrets/find.js +96 -77
  472. package/dist/secrets/keychain.js +315 -309
  473. package/dist/secrets/linux.js +133 -135
  474. package/dist/secrets/macos.js +151 -147
  475. package/dist/secrets/rc.js +182 -181
  476. package/dist/secrets/socket-api-token.js +28 -43
  477. package/dist/secrets/types.js +1 -17
  478. package/dist/secrets/windows.js +184 -242
  479. package/dist/shadow/skip.js +51 -70
  480. package/dist/shadow/types.js +1 -17
  481. package/dist/shell/parse.d.ts +26 -0
  482. package/dist/shell/parse.js +35 -0
  483. package/dist/shell/quote.d.ts +19 -0
  484. package/dist/shell/quote.js +30 -0
  485. package/dist/smol/detect.js +67 -43
  486. package/dist/smol/http.js +33 -37
  487. package/dist/smol/https.js +31 -37
  488. package/dist/smol/manifest.js +33 -37
  489. package/dist/smol/path.d.ts +51 -0
  490. package/dist/smol/path.js +38 -0
  491. package/dist/smol/primordial.js +35 -37
  492. package/dist/smol/purl.js +34 -37
  493. package/dist/smol/versions.js +31 -37
  494. package/dist/smol/vfs.js +46 -38
  495. package/dist/sorts/_internal.js +14 -40
  496. package/dist/sorts/natural.js +57 -64
  497. package/dist/sorts/semver.js +33 -43
  498. package/dist/sorts/strings.js +24 -30
  499. package/dist/sorts/types.js +1 -17
  500. package/dist/spinner/default.js +72 -63
  501. package/dist/spinner/format.js +86 -71
  502. package/dist/spinner/spinner.js +749 -797
  503. package/dist/spinner/types.js +1 -17
  504. package/dist/spinner/with.js +193 -137
  505. package/dist/ssri/convert.js +64 -47
  506. package/dist/ssri/parse.js +38 -37
  507. package/dist/ssri/validate.js +51 -34
  508. package/dist/stdio/_internal.js +50 -46
  509. package/dist/stdio/clear.js +208 -86
  510. package/dist/stdio/divider.js +170 -97
  511. package/dist/stdio/footer.js +116 -110
  512. package/dist/stdio/header.js +117 -90
  513. package/dist/stdio/progress.js +189 -218
  514. package/dist/stdio/prompts.js +244 -168
  515. package/dist/stdio/stderr.js +173 -78
  516. package/dist/stdio/stdout.js +177 -94
  517. package/dist/streams/parallel.js +58 -50
  518. package/dist/streams/transform.js +36 -45
  519. package/dist/strings/format.js +145 -63
  520. package/dist/strings/predicates.js +56 -34
  521. package/dist/strings/search.js +52 -42
  522. package/dist/strings/transform.js +113 -72
  523. package/dist/strings/types.js +1 -17
  524. package/dist/strings/width.js +89 -82
  525. package/dist/tables/bordered.js +81 -81
  526. package/dist/tables/padding.js +36 -46
  527. package/dist/tables/simple.js +62 -70
  528. package/dist/tables/types.js +1 -17
  529. package/dist/temporal/instant.js +72 -81
  530. package/dist/temporal/now.js +40 -31
  531. package/dist/temporal/slots.js +42 -36
  532. package/dist/temporal/system.js +36 -36
  533. package/dist/temporal/temporal.js +11 -41
  534. package/dist/themes/context.js +131 -69
  535. package/dist/themes/resolve.js +207 -132
  536. package/dist/themes/themes.js +225 -194
  537. package/dist/themes/types.js +1 -17
  538. package/dist/url/parse.js +48 -51
  539. package/dist/url/predicates.js +24 -31
  540. package/dist/url/search-params.js +133 -101
  541. package/dist/url/types.js +1 -17
  542. package/dist/versions/_internal.js +31 -33
  543. package/dist/versions/compare.js +80 -58
  544. package/dist/versions/modify.js +41 -39
  545. package/dist/versions/parse.js +88 -64
  546. package/dist/versions/range.js +58 -41
  547. package/dist/versions/types.js +1 -17
  548. package/dist/words/article.js +22 -30
  549. package/dist/words/capitalize.js +25 -34
  550. package/dist/words/pluralize.js +23 -31
  551. package/dist/words/types.js +1 -17
  552. package/package.json +42 -5
@@ -1,261 +1,213 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var parse_lockfile_exports = {};
22
- __export(parse_lockfile_exports, {
23
- addToYarnIndex: () => addToYarnIndex,
24
- consumeDependenciesMeta: () => consumeDependenciesMeta,
25
- consumeDependencyList: () => consumeDependencyList,
26
- consumeEntryProperties: () => consumeEntryProperties,
27
- jsParseYarnLock: () => jsParseYarnLock,
28
- newEntry: () => newEntry,
29
- parseYarnLock: () => parseYarnLock,
30
- skipIndentedBlock: () => skipIndentedBlock,
31
- stripQuotes: () => stripQuotes,
32
- valueAfterKey: () => valueAfterKey
33
- });
34
- module.exports = __toCommonJS(parse_lockfile_exports);
35
- var import_array = require("../../../../primordials/array");
36
- var import_math = require("../../../../primordials/math");
37
- var import_object = require("../../../../primordials/object");
38
- var import_string = require("../../../../primordials/string");
39
- var import_manifest = require("../../../../smol/manifest");
40
- var import_parse_yarn_descriptor = require("./parse-yarn-descriptor");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_string = require('../../../../primordials/string.js');
5
+ const require_primordials_math = require('../../../../primordials/math.js');
6
+ const require_primordials_array = require('../../../../primordials/array.js');
7
+ const require_primordials_object = require('../../../../primordials/object.js');
8
+ const require_smol_manifest = require('../../../../smol/manifest.js');
9
+ const require_eco_npm_yarnpkg_yarn_parse_yarn_descriptor = require('./parse-yarn-descriptor.js');
10
+
11
+ //#region src/eco/npm/yarnpkg/yarn/parse-lockfile.ts
12
+ /**
13
+ * @file `parseYarnLock(content)` parses a `yarn.lock` (Classic v1 or Berry
14
+ * v6) into a `ParsedLockfile`. On socket-btm's smol Node binary this routes
15
+ * to `node:smol-manifest`'s native `parseLockfile(content, 'npm', 'yarn')`;
16
+ * on stock Node it runs the line-scanning JS impl below. Both Classic + Berry
17
+ * share the same outer shape (top-level block with `name@spec:` header +
18
+ * indented properties). Berry is detected via the presence of `__metadata:`
19
+ * and additionally honors `linkType: soft` (workspace links are skipped) and
20
+ * `dependenciesMeta:` blocks (which can mark deps optional). The parser is
21
+ * forgiving unknown lines are ignored, missing versions skip the entry. It
22
+ * never throws. Source material (in lock-step order, newest → oldest):
23
+ *
24
+ * 1. **C++ native parser** in socket-btm/node-smol-builder:
25
+ * additions/source-patched/src/socketsecurity/manifest/parser_yarn.cc Same
26
+ * algorithm, same fixes — keep the two in lock-step.
27
+ * 2. **socket-sdxgen** algorithm oracle:
28
+ * socket-sdxgen/src/parsers/yarn-classic/yarn-lock-v1.mts
29
+ * socket-sdxgen/src/parsers/yarn-berry/yarn-lock-v2.mts sdxgen uses
30
+ * `@yarnpkg/parsers.parseSyml`; this TS port + the C++ port both use a
31
+ * line walker (yarn's syml-as-it-uses-it is a strict subset).
32
+ * 3. **cdxgen** (pinned v11.11.0):
33
+ * https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/js.js
34
+ * (parseYarnLock)
35
+ * 4. **yarn format docs**: classic (v1):
36
+ * https://github.com/yarnpkg/yarn/blob/master/src/lockfile/parse.js berry
37
+ * (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
38
+ * protocols: https://yarnpkg.com/protocol/ Bug fixes implemented here (and
39
+ * in the native parser):
40
+ *
41
+ * - Fix 4 `dependenciesMeta` block consume-only. Earlier impls were doing two
42
+ * wrong things at once: (a) synthesizing phantom PackageRefs for children,
43
+ * and (b) flipping the PARENT's `isOptional` based on any child's
44
+ * `optional: true` flag — inverted semantics. The fix consumes the block
45
+ * for position only; metadata flags refer to a child's relationship from
46
+ * the parent's view, never the parent itself. Regression fixtures live
47
+ * under socket-btm's test/fixtures/ sdxgen-bug-regressions/ — every shipped
48
+ * fix has a matching fixture directory there.
49
+ */
41
50
  function addToYarnIndex(packageIndex, name, idx) {
42
- const existing = packageIndex[name];
43
- if (existing === void 0) {
44
- packageIndex[name] = idx;
45
- } else if (typeof existing === "number") {
46
- packageIndex[name] = [existing, idx];
47
- } else {
48
- (0, import_array.ArrayPrototypePush)(existing, idx);
49
- }
51
+ const existing = packageIndex[name];
52
+ if (existing === void 0) packageIndex[name] = idx;
53
+ else if (typeof existing === "number") packageIndex[name] = [existing, idx];
54
+ else require_primordials_array.ArrayPrototypePush(existing, idx);
50
55
  }
51
56
  function consumeDependenciesMeta(content, startPos, _entry) {
52
- let pos = startPos;
53
- while (pos < content.length) {
54
- const eol = (0, import_string.StringPrototypeIndexOf)(content, "\n", pos);
55
- const end = eol === -1 ? content.length : eol;
56
- const line = (0, import_string.StringPrototypeSlice)(content, pos, end);
57
- if (line.length < 4 || line[0] !== " " || line[1] !== " " || line[2] !== " " || line[3] !== " ") {
58
- break;
59
- }
60
- pos = end + 1;
61
- }
62
- return pos;
57
+ let pos = startPos;
58
+ while (pos < content.length) {
59
+ const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
60
+ const end = eol === -1 ? content.length : eol;
61
+ const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
62
+ if (line.length < 4 || line[0] !== " " || line[1] !== " " || line[2] !== " " || line[3] !== " ") break;
63
+ pos = end + 1;
64
+ }
65
+ return pos;
63
66
  }
64
67
  function consumeDependencyList(content, startPos, deps) {
65
- let pos = startPos;
66
- while (pos < content.length) {
67
- const eol = (0, import_string.StringPrototypeIndexOf)(content, "\n", pos);
68
- const end = eol === -1 ? content.length : eol;
69
- const line = (0, import_string.StringPrototypeSlice)(content, pos, end);
70
- if (line.length < 4 || line[0] !== " " || line[1] !== " " || line[2] !== " " || line[3] !== " ") {
71
- break;
72
- }
73
- const depLine = (0, import_string.StringPrototypeTrim)(line);
74
- const colonIdx = (0, import_string.StringPrototypeIndexOf)(depLine, ":");
75
- const spaceIdx = (0, import_string.StringPrototypeIndexOf)(depLine, " ");
76
- const sepIdx = colonIdx === -1 ? spaceIdx : spaceIdx === -1 ? colonIdx : (0, import_math.MathMin)(colonIdx, spaceIdx);
77
- if (sepIdx > 0) {
78
- (0, import_array.ArrayPrototypePush)(
79
- deps,
80
- stripQuotes((0, import_string.StringPrototypeSlice)(depLine, 0, sepIdx))
81
- );
82
- }
83
- pos = end + 1;
84
- }
85
- return pos;
68
+ let pos = startPos;
69
+ while (pos < content.length) {
70
+ const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
71
+ const end = eol === -1 ? content.length : eol;
72
+ const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
73
+ if (line.length < 4 || line[0] !== " " || line[1] !== " " || line[2] !== " " || line[3] !== " ") break;
74
+ const depLine = require_primordials_string.StringPrototypeTrim(line);
75
+ const colonIdx = require_primordials_string.StringPrototypeIndexOf(depLine, ":");
76
+ const spaceIdx = require_primordials_string.StringPrototypeIndexOf(depLine, " ");
77
+ const sepIdx = colonIdx === -1 ? spaceIdx : spaceIdx === -1 ? colonIdx : require_primordials_math.MathMin(colonIdx, spaceIdx);
78
+ if (sepIdx > 0) require_primordials_array.ArrayPrototypePush(deps, stripQuotes(require_primordials_string.StringPrototypeSlice(depLine, 0, sepIdx)));
79
+ pos = end + 1;
80
+ }
81
+ return pos;
86
82
  }
87
83
  function consumeEntryProperties(content, startPos, entry) {
88
- let pos = startPos;
89
- while (pos < content.length) {
90
- const eol = (0, import_string.StringPrototypeIndexOf)(content, "\n", pos);
91
- const end = eol === -1 ? content.length : eol;
92
- const line = (0, import_string.StringPrototypeSlice)(content, pos, end);
93
- if (line.length === 0 || line[0] !== " " && line[0] !== " ") {
94
- break;
95
- }
96
- const propLine = (0, import_string.StringPrototypeTrim)(line);
97
- pos = end + 1;
98
- if ((0, import_string.StringPrototypeIndexOf)(propLine, "version ") === 0 || (0, import_string.StringPrototypeIndexOf)(propLine, "version:") === 0) {
99
- entry.version = stripQuotes(valueAfterKey(propLine, "version ".length));
100
- } else if ((0, import_string.StringPrototypeIndexOf)(propLine, "resolved ") === 0 || (0, import_string.StringPrototypeIndexOf)(propLine, "resolved:") === 0) {
101
- entry.resolved = stripQuotes(valueAfterKey(propLine, "resolved ".length));
102
- } else if ((0, import_string.StringPrototypeIndexOf)(propLine, "integrity ") === 0 || (0, import_string.StringPrototypeIndexOf)(propLine, "integrity:") === 0) {
103
- entry.integrity = valueAfterKey(propLine, "integrity ".length);
104
- } else if ((0, import_string.StringPrototypeIndexOf)(propLine, "checksum ") === 0 || (0, import_string.StringPrototypeIndexOf)(propLine, "checksum:") === 0) {
105
- entry.checksum = valueAfterKey(propLine, "checksum ".length);
106
- } else if ((0, import_string.StringPrototypeIndexOf)(propLine, "linkType") === 0) {
107
- const colonIdx = (0, import_string.StringPrototypeIndexOf)(propLine, ":");
108
- if (colonIdx > 0) {
109
- entry.linkType = (0, import_string.StringPrototypeTrim)(
110
- (0, import_string.StringPrototypeSlice)(propLine, colonIdx + 1)
111
- );
112
- }
113
- } else if ((0, import_string.StringPrototypeIndexOf)(propLine, "resolution") === 0) {
114
- const colonIdx = (0, import_string.StringPrototypeIndexOf)(propLine, ":");
115
- if (colonIdx > 0) {
116
- const resValue = stripQuotes(
117
- (0, import_string.StringPrototypeTrim)((0, import_string.StringPrototypeSlice)(propLine, colonIdx + 1))
118
- );
119
- if ((0, import_string.StringPrototypeIndexOf)(resValue, "http://") === 0 || (0, import_string.StringPrototypeIndexOf)(resValue, "https://") === 0) {
120
- entry.resolved = resValue;
121
- }
122
- }
123
- } else if ((0, import_string.StringPrototypeIndexOf)(propLine, "dependencies:") === 0) {
124
- pos = consumeDependencyList(content, pos, entry.dependencies);
125
- } else if ((0, import_string.StringPrototypeIndexOf)(propLine, "dependenciesMeta:") === 0) {
126
- pos = consumeDependenciesMeta(content, pos, entry);
127
- }
128
- }
129
- return pos;
84
+ let pos = startPos;
85
+ while (pos < content.length) {
86
+ const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
87
+ const end = eol === -1 ? content.length : eol;
88
+ const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
89
+ if (line.length === 0 || line[0] !== " " && line[0] !== " ") break;
90
+ const propLine = require_primordials_string.StringPrototypeTrim(line);
91
+ pos = end + 1;
92
+ if (require_primordials_string.StringPrototypeIndexOf(propLine, "version ") === 0 || require_primordials_string.StringPrototypeIndexOf(propLine, "version:") === 0) entry.version = stripQuotes(valueAfterKey(propLine, 8));
93
+ else if (require_primordials_string.StringPrototypeIndexOf(propLine, "resolved ") === 0 || require_primordials_string.StringPrototypeIndexOf(propLine, "resolved:") === 0) entry.resolved = stripQuotes(valueAfterKey(propLine, 9));
94
+ else if (require_primordials_string.StringPrototypeIndexOf(propLine, "integrity ") === 0 || require_primordials_string.StringPrototypeIndexOf(propLine, "integrity:") === 0) entry.integrity = valueAfterKey(propLine, 10);
95
+ else if (require_primordials_string.StringPrototypeIndexOf(propLine, "checksum ") === 0 || require_primordials_string.StringPrototypeIndexOf(propLine, "checksum:") === 0) entry.checksum = valueAfterKey(propLine, 9);
96
+ else if (require_primordials_string.StringPrototypeIndexOf(propLine, "linkType") === 0) {
97
+ const colonIdx = require_primordials_string.StringPrototypeIndexOf(propLine, ":");
98
+ if (colonIdx > 0) entry.linkType = require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(propLine, colonIdx + 1));
99
+ } else if (require_primordials_string.StringPrototypeIndexOf(propLine, "resolution") === 0) {
100
+ const colonIdx = require_primordials_string.StringPrototypeIndexOf(propLine, ":");
101
+ if (colonIdx > 0) {
102
+ const resValue = stripQuotes(require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(propLine, colonIdx + 1)));
103
+ if (require_primordials_string.StringPrototypeIndexOf(resValue, "http://") === 0 || require_primordials_string.StringPrototypeIndexOf(resValue, "https://") === 0) entry.resolved = resValue;
104
+ }
105
+ } else if (require_primordials_string.StringPrototypeIndexOf(propLine, "dependencies:") === 0) pos = consumeDependencyList(content, pos, entry.dependencies);
106
+ else if (require_primordials_string.StringPrototypeIndexOf(propLine, "dependenciesMeta:") === 0) pos = consumeDependenciesMeta(content, pos, entry);
107
+ }
108
+ return pos;
130
109
  }
131
110
  function jsParseYarnLock(content) {
132
- const packages = [];
133
- const packageIndex = {
134
- __proto__: null
135
- };
136
- const isBerry = (0, import_string.StringPrototypeIndexOf)(content, "__metadata:") !== -1;
137
- let pos = 0;
138
- while (pos < content.length) {
139
- const eol = (0, import_string.StringPrototypeIndexOf)(content, "\n", pos);
140
- const end = eol === -1 ? content.length : eol;
141
- const line = (0, import_string.StringPrototypeSlice)(content, pos, end);
142
- pos = end + 1;
143
- if (!line || (0, import_string.StringPrototypeTrim)(line) === "" || line[0] === "#") {
144
- continue;
145
- }
146
- if ((0, import_string.StringPrototypeTrim)(line) === "__metadata:") {
147
- pos = skipIndentedBlock(content, pos);
148
- continue;
149
- }
150
- if (line[0] === " " || line[0] === " ") {
151
- continue;
152
- }
153
- const trimmed = (0, import_string.StringPrototypeTrim)(line);
154
- if (!(0, import_string.StringPrototypeEndsWith)(trimmed, ":")) {
155
- continue;
156
- }
157
- const spec = (0, import_string.StringPrototypeTrim)((0, import_string.StringPrototypeSlice)(trimmed, 0, -1));
158
- let header = stripQuotes(spec);
159
- const commaIdx = (0, import_string.StringPrototypeIndexOf)(header, ",");
160
- if (commaIdx !== -1) {
161
- header = (0, import_string.StringPrototypeTrim)((0, import_string.StringPrototypeSlice)(header, 0, commaIdx));
162
- }
163
- if ((0, import_string.StringPrototypeIndexOf)(header, "@workspace:") !== -1) {
164
- pos = skipIndentedBlock(content, pos);
165
- continue;
166
- }
167
- const parsed = (0, import_parse_yarn_descriptor.parseYarnDescriptor)(header);
168
- const entry = newEntry(parsed.name);
169
- pos = consumeEntryProperties(content, pos, entry);
170
- if (isBerry && entry.linkType === "soft") {
171
- continue;
172
- }
173
- if (entry.name && entry.version) {
174
- const ref = (0, import_object.ObjectFreeze)({
175
- __proto__: null,
176
- name: entry.name,
177
- version: entry.version,
178
- resolved: entry.resolved,
179
- integrity: entry.integrity || entry.checksum || void 0,
180
- ecosystem: "npm",
181
- depType: "prod",
182
- isDev: false,
183
- isOptional: entry.isOptional,
184
- isPeer: false,
185
- isBundled: false,
186
- vcsUrl: void 0,
187
- vcsCommit: void 0,
188
- dependencies: entry.dependencies
189
- });
190
- (0, import_array.ArrayPrototypePush)(packages, ref);
191
- addToYarnIndex(packageIndex, entry.name, packages.length - 1);
192
- }
193
- }
194
- return (0, import_object.ObjectFreeze)({
195
- __proto__: null,
196
- type: "lockfile",
197
- lockVersion: isBerry ? "berry" : "1",
198
- ecosystem: "npm",
199
- packages: (0, import_object.ObjectFreeze)(packages),
200
- _index: packageIndex
201
- });
111
+ const packages = [];
112
+ const packageIndex = { __proto__: null };
113
+ const isBerry = require_primordials_string.StringPrototypeIndexOf(content, "__metadata:") !== -1;
114
+ let pos = 0;
115
+ while (pos < content.length) {
116
+ const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
117
+ const end = eol === -1 ? content.length : eol;
118
+ const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
119
+ pos = end + 1;
120
+ if (!line || require_primordials_string.StringPrototypeTrim(line) === "" || line[0] === "#") continue;
121
+ if (require_primordials_string.StringPrototypeTrim(line) === "__metadata:") {
122
+ pos = skipIndentedBlock(content, pos);
123
+ continue;
124
+ }
125
+ if (line[0] === " " || line[0] === " ") continue;
126
+ const trimmed = require_primordials_string.StringPrototypeTrim(line);
127
+ if (!require_primordials_string.StringPrototypeEndsWith(trimmed, ":")) continue;
128
+ let header = stripQuotes(require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(trimmed, 0, -1)));
129
+ const commaIdx = require_primordials_string.StringPrototypeIndexOf(header, ",");
130
+ if (commaIdx !== -1) header = require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(header, 0, commaIdx));
131
+ if (require_primordials_string.StringPrototypeIndexOf(header, "@workspace:") !== -1) {
132
+ pos = skipIndentedBlock(content, pos);
133
+ continue;
134
+ }
135
+ const entry = newEntry(require_eco_npm_yarnpkg_yarn_parse_yarn_descriptor.parseYarnDescriptor(header).name);
136
+ pos = consumeEntryProperties(content, pos, entry);
137
+ if (isBerry && entry.linkType === "soft") continue;
138
+ if (entry.name && entry.version) {
139
+ require_primordials_array.ArrayPrototypePush(packages, require_primordials_object.ObjectFreeze({
140
+ __proto__: null,
141
+ name: entry.name,
142
+ version: entry.version,
143
+ resolved: entry.resolved,
144
+ integrity: entry.integrity || entry.checksum || void 0,
145
+ ecosystem: "npm",
146
+ depType: "prod",
147
+ isDev: false,
148
+ isOptional: entry.isOptional,
149
+ isPeer: false,
150
+ isBundled: false,
151
+ vcsUrl: void 0,
152
+ vcsCommit: void 0,
153
+ dependencies: entry.dependencies
154
+ }));
155
+ addToYarnIndex(packageIndex, entry.name, packages.length - 1);
156
+ }
157
+ }
158
+ return require_primordials_object.ObjectFreeze({
159
+ __proto__: null,
160
+ type: "lockfile",
161
+ lockVersion: isBerry ? "berry" : "1",
162
+ ecosystem: "npm",
163
+ packages: require_primordials_object.ObjectFreeze(packages),
164
+ _index: packageIndex
165
+ });
202
166
  }
203
167
  function newEntry(name) {
204
- return {
205
- name,
206
- version: void 0,
207
- resolved: void 0,
208
- integrity: void 0,
209
- checksum: void 0,
210
- dependencies: [],
211
- isOptional: false,
212
- linkType: void 0
213
- };
168
+ return {
169
+ name,
170
+ version: void 0,
171
+ resolved: void 0,
172
+ integrity: void 0,
173
+ checksum: void 0,
174
+ dependencies: [],
175
+ isOptional: false,
176
+ linkType: void 0
177
+ };
214
178
  }
215
179
  function skipIndentedBlock(content, startPos) {
216
- let pos = startPos;
217
- while (pos < content.length) {
218
- const eol = (0, import_string.StringPrototypeIndexOf)(content, "\n", pos);
219
- const end = eol === -1 ? content.length : eol;
220
- const line = (0, import_string.StringPrototypeSlice)(content, pos, end);
221
- if (line.length === 0 || line[0] !== " " && line[0] !== " ") {
222
- return pos;
223
- }
224
- pos = end + 1;
225
- }
226
- return pos;
180
+ let pos = startPos;
181
+ while (pos < content.length) {
182
+ const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
183
+ const end = eol === -1 ? content.length : eol;
184
+ const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
185
+ if (line.length === 0 || line[0] !== " " && line[0] !== " ") return pos;
186
+ pos = end + 1;
187
+ }
188
+ return pos;
227
189
  }
228
190
  function stripQuotes(s) {
229
- if (s.length === 0) {
230
- return s;
231
- }
232
- let out = s;
233
- if ((0, import_string.StringPrototypeCharCodeAt)(out, 0) === 34) {
234
- out = (0, import_string.StringPrototypeSlice)(out, 1);
235
- }
236
- if (out.length > 0 && (0, import_string.StringPrototypeCharCodeAt)(out, out.length - 1) === 34) {
237
- out = (0, import_string.StringPrototypeSlice)(out, 0, -1);
238
- }
239
- return out;
191
+ if (s.length === 0) return s;
192
+ let out = s;
193
+ if (require_primordials_string.StringPrototypeCharCodeAt(out, 0) === 34) out = require_primordials_string.StringPrototypeSlice(out, 1);
194
+ if (out.length > 0 && require_primordials_string.StringPrototypeCharCodeAt(out, out.length - 1) === 34) out = require_primordials_string.StringPrototypeSlice(out, 0, -1);
195
+ return out;
240
196
  }
241
197
  function valueAfterKey(line, keyLen) {
242
- return (0, import_string.StringPrototypeTrim)((0, import_string.StringPrototypeSlice)(line, keyLen));
198
+ return require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(line, keyLen));
243
199
  }
244
- const _smol = (0, import_manifest.getSmolManifest)();
245
- const parseYarnLock = _smol ? (
246
- /* c8 ignore next 2 - smol Node binary only. */
247
- (content) => _smol.parseLockfile(content, "npm", "yarn")
248
- ) : jsParseYarnLock;
249
- // Annotate the CommonJS export names for ESM import in node:
250
- 0 && (module.exports = {
251
- addToYarnIndex,
252
- consumeDependenciesMeta,
253
- consumeDependencyList,
254
- consumeEntryProperties,
255
- jsParseYarnLock,
256
- newEntry,
257
- parseYarnLock,
258
- skipIndentedBlock,
259
- stripQuotes,
260
- valueAfterKey
261
- });
200
+ const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
201
+ const parseYarnLock = _smol ? (content) => _smol.parseLockfile(content, "npm", "yarn") : jsParseYarnLock;
202
+
203
+ //#endregion
204
+ exports.addToYarnIndex = addToYarnIndex;
205
+ exports.consumeDependenciesMeta = consumeDependenciesMeta;
206
+ exports.consumeDependencyList = consumeDependencyList;
207
+ exports.consumeEntryProperties = consumeEntryProperties;
208
+ exports.jsParseYarnLock = jsParseYarnLock;
209
+ exports.newEntry = newEntry;
210
+ exports.parseYarnLock = parseYarnLock;
211
+ exports.skipIndentedBlock = skipIndentedBlock;
212
+ exports.stripQuotes = stripQuotes;
213
+ exports.valueAfterKey = valueAfterKey;
@@ -1,68 +1,44 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var parse_yarn_descriptor_exports = {};
22
- __export(parse_yarn_descriptor_exports, {
23
- parseYarnDescriptor: () => parseYarnDescriptor
24
- });
25
- module.exports = __toCommonJS(parse_yarn_descriptor_exports);
26
- var import_string = require("../../../../primordials/string");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_string = require('../../../../primordials/string.js');
5
+
6
+ //#region src/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.ts
7
+ /**
8
+ * @file `parseYarnDescriptor(descriptor)` extracts the package name from a
9
+ * yarn lockfile spec key. Spec formats handled:
10
+ *
11
+ * - Yarn Classic: `name@^1.0.0` → `name`
12
+ * - Berry npm: `name@npm:^1.0.0` `name`
13
+ * - Berry workspace: `name@workspace:^1.0.0` `name`
14
+ * - Berry patch: `patch:name@npm:1.0.0#…` → `name`
15
+ * - Berry patch (encoded): `patch:name@npm%3A1.0.0#…` `name`
16
+ * - Scoped: `@scope/name@^1.0.0` `@scope/name` Matches socket-btm's
17
+ * smol-manifest internal `parseYarnDescriptor`.
18
+ */
27
19
  const PATCH_PREFIX = "patch:";
28
- const PATCH_PREFIX_LEN = PATCH_PREFIX.length;
20
+ const PATCH_PREFIX_LEN = 6;
29
21
  const NPM_PROTO = "@npm:";
30
22
  const NPM_PROTO_ENCODED = "@npm%3A";
31
23
  const WORKSPACE_PROTO = "@workspace:";
32
24
  function parseYarnDescriptor(descriptor) {
33
- if ((0, import_string.StringPrototypeIndexOf)(descriptor, PATCH_PREFIX) === 0) {
34
- const afterPatch = (0, import_string.StringPrototypeSlice)(descriptor, PATCH_PREFIX_LEN);
35
- let npmIndex = (0, import_string.StringPrototypeIndexOf)(afterPatch, NPM_PROTO);
36
- const npmEncodedIndex = (0, import_string.StringPrototypeIndexOf)(
37
- afterPatch,
38
- NPM_PROTO_ENCODED
39
- );
40
- const workspaceIndex = (0, import_string.StringPrototypeIndexOf)(afterPatch, WORKSPACE_PROTO);
41
- if (npmEncodedIndex > 0 && (npmIndex === -1 || npmEncodedIndex < npmIndex)) {
42
- npmIndex = npmEncodedIndex;
43
- }
44
- if (npmIndex > 0) {
45
- return { name: (0, import_string.StringPrototypeSlice)(afterPatch, 0, npmIndex) };
46
- }
47
- if (workspaceIndex > 0) {
48
- return { name: (0, import_string.StringPrototypeSlice)(afterPatch, 0, workspaceIndex) };
49
- }
50
- }
51
- let protocolIndex = (0, import_string.StringPrototypeIndexOf)(descriptor, NPM_PROTO);
52
- if (protocolIndex > 0) {
53
- return { name: (0, import_string.StringPrototypeSlice)(descriptor, 0, protocolIndex) };
54
- }
55
- protocolIndex = (0, import_string.StringPrototypeIndexOf)(descriptor, WORKSPACE_PROTO);
56
- if (protocolIndex > 0) {
57
- return { name: (0, import_string.StringPrototypeSlice)(descriptor, 0, protocolIndex) };
58
- }
59
- const atIdx = (0, import_string.StringPrototypeLastIndexOf)(descriptor, "@");
60
- if (atIdx > 0) {
61
- return { name: (0, import_string.StringPrototypeSlice)(descriptor, 0, atIdx) };
62
- }
63
- return { name: descriptor };
25
+ if (require_primordials_string.StringPrototypeIndexOf(descriptor, PATCH_PREFIX) === 0) {
26
+ const afterPatch = require_primordials_string.StringPrototypeSlice(descriptor, PATCH_PREFIX_LEN);
27
+ let npmIndex = require_primordials_string.StringPrototypeIndexOf(afterPatch, NPM_PROTO);
28
+ const npmEncodedIndex = require_primordials_string.StringPrototypeIndexOf(afterPatch, NPM_PROTO_ENCODED);
29
+ const workspaceIndex = require_primordials_string.StringPrototypeIndexOf(afterPatch, WORKSPACE_PROTO);
30
+ if (npmEncodedIndex > 0 && (npmIndex === -1 || npmEncodedIndex < npmIndex)) npmIndex = npmEncodedIndex;
31
+ if (npmIndex > 0) return { name: require_primordials_string.StringPrototypeSlice(afterPatch, 0, npmIndex) };
32
+ if (workspaceIndex > 0) return { name: require_primordials_string.StringPrototypeSlice(afterPatch, 0, workspaceIndex) };
33
+ }
34
+ let protocolIndex = require_primordials_string.StringPrototypeIndexOf(descriptor, NPM_PROTO);
35
+ if (protocolIndex > 0) return { name: require_primordials_string.StringPrototypeSlice(descriptor, 0, protocolIndex) };
36
+ protocolIndex = require_primordials_string.StringPrototypeIndexOf(descriptor, WORKSPACE_PROTO);
37
+ if (protocolIndex > 0) return { name: require_primordials_string.StringPrototypeSlice(descriptor, 0, protocolIndex) };
38
+ const atIdx = require_primordials_string.StringPrototypeLastIndexOf(descriptor, "@");
39
+ if (atIdx > 0) return { name: require_primordials_string.StringPrototypeSlice(descriptor, 0, atIdx) };
40
+ return { name: descriptor };
64
41
  }
65
- // Annotate the CommonJS export names for ESM import in node:
66
- 0 && (module.exports = {
67
- parseYarnDescriptor
68
- });
42
+
43
+ //#endregion
44
+ exports.parseYarnDescriptor = parseYarnDescriptor;