@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,257 +1,230 @@
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
- addToCargoIndex: () => addToCargoIndex,
24
- extractCargoDepName: () => extractCargoDepName,
25
- freezeCargoEntry: () => freezeCargoEntry,
26
- jsParseCargoLock: () => jsParseCargoLock,
27
- newCargoEntry: () => newCargoEntry,
28
- parseCargoGitSource: () => parseCargoGitSource,
29
- parseCargoLock: () => parseCargoLock,
30
- parseInlineArray: () => parseInlineArray,
31
- stripTomlString: () => stripTomlString,
32
- valueAfterEquals: () => valueAfterEquals
33
- });
34
- module.exports = __toCommonJS(parse_lockfile_exports);
35
- var import_array = require("../../primordials/array");
36
- var import_object = require("../../primordials/object");
37
- 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
+ const require_primordials_array = require('../../primordials/array.js');
6
+ const require_primordials_object = require('../../primordials/object.js');
7
+
8
+ //#region src/eco/cargo/parse-lockfile.ts
9
+ /**
10
+ * @file `parseCargoLock(content)` parses a Rust `Cargo.lock` (v1/v2/v3/v4)
11
+ * into a `ParsedLockfile`. Cargo.lock uses a constrained TOML dialect: a
12
+ * top-level `version = N` scalar plus repeating `[[package]]` array-of-table
13
+ * entries. We line-scan it instead of pulling in a full TOML parser — the
14
+ * spec for the lockfile is stable and small (`name`, `version`, `source`,
15
+ * `checksum`, `dependencies = [ ... ]`), and a hand-rolled scanner is ~100×
16
+ * cheaper than dragging in `@iarna/toml` for one use case. `dependencies`
17
+ * entries come in two forms (cargo strips redundant versions when they're
18
+ * unambiguous):
19
+ *
20
+ * - `"name 1.2.3"` name + space-separated version
21
+ * - `"name"` name only (when only one version of that crate is in the graph)
22
+ * - `"name 1.2.3 (registry+…)"` — name + version + source spec
23
+ * `parseGitUrl`-style detection here treats `source = "git+…"` as the git
24
+ * VCS source, with `#<rev>` as the commit pin. The parser is forgiving —
25
+ * unknown keys ignored, missing fields default to empty. It never throws.
26
+ * Source material (in lock-step order, newest → oldest):
27
+ *
28
+ * 1. **C++ native parser** in socket-btm/node-smol-builder:
29
+ * additions/source-patched/src/socketsecurity/manifest/parser_cargo.cc
30
+ * Same algorithm keep the two in lock-step.
31
+ * 2. **socket-sdxgen** algorithm oracle, broader coverage:
32
+ * socket-sdxgen/src/parsers/cargo/index.mts (851 lines)
33
+ * 3. **cdxgen** (pinned v11.11.0):
34
+ * https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/rust.js
35
+ * (parseCargoLock)
36
+ * 4. **Cargo's own lockfile encoder** — the source of truth for the format we're
37
+ * parsing:
38
+ * https://github.com/rust-lang/cargo/blob/master/src/cargo/core/resolver/encode.rs
39
+ * Lockfile format docs:
40
+ * https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
41
+ * https://doc.rust-lang.org/cargo/reference/resolver.html#lockfile-format
42
+ * Regression guard:
43
+ *
44
+ * - `[[patch.unused]]` blocks must NOT materialize as PackageRefs. Only
45
+ * `[[package]]` opens an entry; any other section header (including
46
+ * `[[patch.unused]]`, `[metadata]`, `[patch.crates-io]`, …) closes the
47
+ * current entry to undefined. See the fixture under socket-btm's
48
+ * test/fixtures/sdxgen-bug-regressions/ cargo-patch-unused-no-leak/.
49
+ */
38
50
  function addToCargoIndex(packageIndex, name, idx) {
39
- const existing = packageIndex[name];
40
- if (existing === void 0) {
41
- packageIndex[name] = idx;
42
- } else if (typeof existing === "number") {
43
- packageIndex[name] = [existing, idx];
44
- } else {
45
- (0, import_array.ArrayPrototypePush)(existing, idx);
46
- }
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);
47
55
  }
56
+ /**
57
+ * Strip Cargo's `name version (source)` dependency entry down to just the crate
58
+ * name. The version/source are advisory for cycle-breaking and not part of
59
+ * `PackageRef.dependencies` (which is a flat list of names, matching the
60
+ * npm/yarn/pnpm convention).
61
+ */
48
62
  function extractCargoDepName(entry) {
49
- let s = entry;
50
- if (s.length > 0 && (0, import_string.StringPrototypeCharCodeAt)(s, 0) === 34) {
51
- s = (0, import_string.StringPrototypeSlice)(s, 1);
52
- }
53
- if (s.length > 0 && (0, import_string.StringPrototypeCharCodeAt)(s, s.length - 1) === 34) {
54
- s = (0, import_string.StringPrototypeSlice)(s, 0, -1);
55
- }
56
- const spaceIdx = (0, import_string.StringPrototypeIndexOf)(s, " ");
57
- if (spaceIdx === -1) {
58
- return s;
59
- }
60
- return (0, import_string.StringPrototypeSlice)(s, 0, spaceIdx);
63
+ let s = entry;
64
+ if (s.length > 0 && require_primordials_string.StringPrototypeCharCodeAt(s, 0) === 34) s = require_primordials_string.StringPrototypeSlice(s, 1);
65
+ if (s.length > 0 && require_primordials_string.StringPrototypeCharCodeAt(s, s.length - 1) === 34) s = require_primordials_string.StringPrototypeSlice(s, 0, -1);
66
+ const spaceIdx = require_primordials_string.StringPrototypeIndexOf(s, " ");
67
+ if (spaceIdx === -1) return s;
68
+ return require_primordials_string.StringPrototypeSlice(s, 0, spaceIdx);
61
69
  }
62
70
  function freezeCargoEntry(entry) {
63
- const git = entry.source !== void 0 ? parseCargoGitSource(entry.source) : void 0;
64
- return (0, import_object.ObjectFreeze)({
65
- __proto__: null,
66
- name: entry.name,
67
- version: entry.version,
68
- resolved: entry.source,
69
- integrity: entry.checksum,
70
- ecosystem: "cargo",
71
- depType: "prod",
72
- isDev: false,
73
- isOptional: false,
74
- isPeer: false,
75
- isBundled: false,
76
- vcsUrl: git?.url,
77
- vcsCommit: git?.commit,
78
- dependencies: entry.dependencies
79
- });
71
+ const git = entry.source !== void 0 ? parseCargoGitSource(entry.source) : void 0;
72
+ return require_primordials_object.ObjectFreeze({
73
+ __proto__: null,
74
+ name: entry.name,
75
+ version: entry.version,
76
+ resolved: entry.source,
77
+ integrity: entry.checksum,
78
+ ecosystem: "cargo",
79
+ depType: "prod",
80
+ isDev: false,
81
+ isOptional: false,
82
+ isPeer: false,
83
+ isBundled: false,
84
+ vcsUrl: git?.url,
85
+ vcsCommit: git?.commit,
86
+ dependencies: entry.dependencies
87
+ });
80
88
  }
81
89
  function jsParseCargoLock(content) {
82
- const packages = [];
83
- const packageIndex = {
84
- __proto__: null
85
- };
86
- let lockVersion = "1";
87
- let currentEntry;
88
- let pos = 0;
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
- pos = end + 1;
94
- const trimmed = (0, import_string.StringPrototypeTrim)(line);
95
- if (trimmed.length === 0 || trimmed[0] === "#") {
96
- continue;
97
- }
98
- if (trimmed[0] === "[") {
99
- if (currentEntry && currentEntry.name) {
100
- const ref = freezeCargoEntry(currentEntry);
101
- (0, import_array.ArrayPrototypePush)(packages, ref);
102
- addToCargoIndex(packageIndex, currentEntry.name, packages.length - 1);
103
- }
104
- if (trimmed === "[[package]]") {
105
- currentEntry = newCargoEntry();
106
- } else {
107
- currentEntry = void 0;
108
- }
109
- continue;
110
- }
111
- if (currentEntry) {
112
- if (currentEntry.inDependencies) {
113
- if ((0, import_string.StringPrototypeIndexOf)(trimmed, "]") !== -1) {
114
- currentEntry.inDependencies = false;
115
- continue;
116
- }
117
- const noComma = trimmed[trimmed.length - 1] === "," ? (0, import_string.StringPrototypeSlice)(trimmed, 0, -1) : trimmed;
118
- const cleaned = extractCargoDepName(noComma);
119
- if (cleaned.length > 0) {
120
- (0, import_array.ArrayPrototypePush)(currentEntry.dependencies, cleaned);
121
- }
122
- continue;
123
- }
124
- if ((0, import_string.StringPrototypeIndexOf)(trimmed, "name") === 0) {
125
- currentEntry.name = stripTomlString(valueAfterEquals(trimmed));
126
- } else if ((0, import_string.StringPrototypeIndexOf)(trimmed, "version") === 0) {
127
- currentEntry.version = stripTomlString(valueAfterEquals(trimmed));
128
- } else if ((0, import_string.StringPrototypeIndexOf)(trimmed, "source") === 0) {
129
- currentEntry.source = stripTomlString(valueAfterEquals(trimmed));
130
- } else if ((0, import_string.StringPrototypeIndexOf)(trimmed, "checksum") === 0) {
131
- currentEntry.checksum = stripTomlString(valueAfterEquals(trimmed));
132
- } else if ((0, import_string.StringPrototypeIndexOf)(trimmed, "dependencies") === 0) {
133
- const value = valueAfterEquals(trimmed);
134
- if ((0, import_string.StringPrototypeIndexOf)(value, "[") !== -1 && (0, import_string.StringPrototypeIndexOf)(value, "]") !== -1) {
135
- const raw = parseInlineArray(value);
136
- for (let i = 0, { length } = raw; i < length; i++) {
137
- (0, import_array.ArrayPrototypePush)(
138
- currentEntry.dependencies,
139
- extractCargoDepName(raw[i])
140
- );
141
- }
142
- } else {
143
- currentEntry.inDependencies = true;
144
- }
145
- }
146
- } else {
147
- if ((0, import_string.StringPrototypeIndexOf)(trimmed, "version") === 0) {
148
- lockVersion = stripTomlString(valueAfterEquals(trimmed));
149
- }
150
- }
151
- }
152
- if (currentEntry && currentEntry.name) {
153
- const ref = freezeCargoEntry(currentEntry);
154
- (0, import_array.ArrayPrototypePush)(packages, ref);
155
- addToCargoIndex(packageIndex, currentEntry.name, packages.length - 1);
156
- }
157
- return (0, import_object.ObjectFreeze)({
158
- __proto__: null,
159
- type: "lockfile",
160
- lockVersion,
161
- ecosystem: "cargo",
162
- packages: (0, import_object.ObjectFreeze)(packages),
163
- _index: packageIndex
164
- });
90
+ const packages = [];
91
+ const packageIndex = { __proto__: null };
92
+ let lockVersion = "1";
93
+ let currentEntry;
94
+ let pos = 0;
95
+ while (pos < content.length) {
96
+ const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
97
+ const end = eol === -1 ? content.length : eol;
98
+ const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
99
+ pos = end + 1;
100
+ const trimmed = require_primordials_string.StringPrototypeTrim(line);
101
+ if (trimmed.length === 0 || trimmed[0] === "#") continue;
102
+ if (trimmed[0] === "[") {
103
+ if (currentEntry && currentEntry.name) {
104
+ require_primordials_array.ArrayPrototypePush(packages, freezeCargoEntry(currentEntry));
105
+ addToCargoIndex(packageIndex, currentEntry.name, packages.length - 1);
106
+ }
107
+ if (trimmed === "[[package]]") currentEntry = newCargoEntry();
108
+ else currentEntry = void 0;
109
+ continue;
110
+ }
111
+ if (currentEntry) {
112
+ if (currentEntry.inDependencies) {
113
+ if (require_primordials_string.StringPrototypeIndexOf(trimmed, "]") !== -1) {
114
+ currentEntry.inDependencies = false;
115
+ continue;
116
+ }
117
+ const cleaned = extractCargoDepName(trimmed[trimmed.length - 1] === "," ? require_primordials_string.StringPrototypeSlice(trimmed, 0, -1) : trimmed);
118
+ if (cleaned.length > 0) require_primordials_array.ArrayPrototypePush(currentEntry.dependencies, cleaned);
119
+ continue;
120
+ }
121
+ if (require_primordials_string.StringPrototypeIndexOf(trimmed, "name") === 0) currentEntry.name = stripTomlString(valueAfterEquals(trimmed));
122
+ else if (require_primordials_string.StringPrototypeIndexOf(trimmed, "version") === 0) currentEntry.version = stripTomlString(valueAfterEquals(trimmed));
123
+ else if (require_primordials_string.StringPrototypeIndexOf(trimmed, "source") === 0) currentEntry.source = stripTomlString(valueAfterEquals(trimmed));
124
+ else if (require_primordials_string.StringPrototypeIndexOf(trimmed, "checksum") === 0) currentEntry.checksum = stripTomlString(valueAfterEquals(trimmed));
125
+ else if (require_primordials_string.StringPrototypeIndexOf(trimmed, "dependencies") === 0) {
126
+ const value = valueAfterEquals(trimmed);
127
+ if (require_primordials_string.StringPrototypeIndexOf(value, "[") !== -1 && require_primordials_string.StringPrototypeIndexOf(value, "]") !== -1) {
128
+ const raw = parseInlineArray(value);
129
+ for (let i = 0, { length } = raw; i < length; i++) require_primordials_array.ArrayPrototypePush(currentEntry.dependencies, extractCargoDepName(raw[i]));
130
+ } else currentEntry.inDependencies = true;
131
+ }
132
+ } else if (require_primordials_string.StringPrototypeIndexOf(trimmed, "version") === 0) lockVersion = stripTomlString(valueAfterEquals(trimmed));
133
+ }
134
+ if (currentEntry && currentEntry.name) {
135
+ require_primordials_array.ArrayPrototypePush(packages, freezeCargoEntry(currentEntry));
136
+ addToCargoIndex(packageIndex, currentEntry.name, packages.length - 1);
137
+ }
138
+ return require_primordials_object.ObjectFreeze({
139
+ __proto__: null,
140
+ type: "lockfile",
141
+ lockVersion,
142
+ ecosystem: "cargo",
143
+ packages: require_primordials_object.ObjectFreeze(packages),
144
+ _index: packageIndex
145
+ });
165
146
  }
166
147
  function newCargoEntry() {
167
- return {
168
- name: "",
169
- version: "",
170
- source: void 0,
171
- checksum: void 0,
172
- dependencies: [],
173
- inDependencies: false
174
- };
148
+ return {
149
+ name: "",
150
+ version: "",
151
+ source: void 0,
152
+ checksum: void 0,
153
+ dependencies: [],
154
+ inDependencies: false
155
+ };
175
156
  }
176
157
  function parseCargoGitSource(source) {
177
- if ((0, import_string.StringPrototypeIndexOf)(source, "git+") !== 0) {
178
- return void 0;
179
- }
180
- const hashIdx = (0, import_string.StringPrototypeIndexOf)(source, "#");
181
- if (hashIdx === -1) {
182
- return { url: source, commit: void 0 };
183
- }
184
- return {
185
- url: (0, import_string.StringPrototypeSlice)(source, 0, hashIdx),
186
- commit: (0, import_string.StringPrototypeSlice)(source, hashIdx + 1)
187
- };
158
+ if (require_primordials_string.StringPrototypeIndexOf(source, "git+") !== 0) return;
159
+ const hashIdx = require_primordials_string.StringPrototypeIndexOf(source, "#");
160
+ if (hashIdx === -1) return {
161
+ url: source,
162
+ commit: void 0
163
+ };
164
+ return {
165
+ url: require_primordials_string.StringPrototypeSlice(source, 0, hashIdx),
166
+ commit: require_primordials_string.StringPrototypeSlice(source, hashIdx + 1)
167
+ };
188
168
  }
169
+ /**
170
+ * Parse a TOML array of strings on a single line: `dependencies = [ "foo 1.0",
171
+ * "bar 2.0" ]`. Returns the strings as raw entries (each callsite runs
172
+ * `extractCargoDepName`).
173
+ */
189
174
  function parseInlineArray(value) {
190
- const start = (0, import_string.StringPrototypeIndexOf)(value, "[");
191
- const end = (0, import_string.StringPrototypeIndexOf)(value, "]");
192
- if (start === -1 || end === -1 || end <= start) {
193
- return [];
194
- }
195
- const inner = (0, import_string.StringPrototypeTrim)((0, import_string.StringPrototypeSlice)(value, start + 1, end));
196
- if (inner.length === 0) {
197
- return [];
198
- }
199
- const result = [];
200
- let i = 0;
201
- while (i < inner.length) {
202
- while (i < inner.length && (inner[i] === " " || inner[i] === " " || inner[i] === ",")) {
203
- i++;
204
- }
205
- if (i >= inner.length) {
206
- break;
207
- }
208
- if ((0, import_string.StringPrototypeCharCodeAt)(inner, i) === 34) {
209
- const closeIdx = (0, import_string.StringPrototypeIndexOf)(inner, '"', i + 1);
210
- if (closeIdx === -1) {
211
- break;
212
- }
213
- (0, import_array.ArrayPrototypePush)(result, (0, import_string.StringPrototypeSlice)(inner, i + 1, closeIdx));
214
- i = closeIdx + 1;
215
- } else {
216
- const commaIdx = (0, import_string.StringPrototypeIndexOf)(inner, ",", i);
217
- const next = commaIdx === -1 ? inner.length : commaIdx;
218
- (0, import_array.ArrayPrototypePush)(
219
- result,
220
- (0, import_string.StringPrototypeTrim)((0, import_string.StringPrototypeSlice)(inner, i, next))
221
- );
222
- i = next;
223
- }
224
- }
225
- return result;
175
+ const start = require_primordials_string.StringPrototypeIndexOf(value, "[");
176
+ const end = require_primordials_string.StringPrototypeIndexOf(value, "]");
177
+ if (start === -1 || end === -1 || end <= start) return [];
178
+ const inner = require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(value, start + 1, end));
179
+ if (inner.length === 0) return [];
180
+ const result = [];
181
+ let i = 0;
182
+ while (i < inner.length) {
183
+ while (i < inner.length && (inner[i] === " " || inner[i] === " " || inner[i] === ",")) i++;
184
+ if (i >= inner.length) break;
185
+ if (require_primordials_string.StringPrototypeCharCodeAt(inner, i) === 34) {
186
+ const closeIdx = require_primordials_string.StringPrototypeIndexOf(inner, "\"", i + 1);
187
+ if (closeIdx === -1) break;
188
+ require_primordials_array.ArrayPrototypePush(result, require_primordials_string.StringPrototypeSlice(inner, i + 1, closeIdx));
189
+ i = closeIdx + 1;
190
+ } else {
191
+ const commaIdx = require_primordials_string.StringPrototypeIndexOf(inner, ",", i);
192
+ const next = commaIdx === -1 ? inner.length : commaIdx;
193
+ require_primordials_array.ArrayPrototypePush(result, require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(inner, i, next)));
194
+ i = next;
195
+ }
196
+ }
197
+ return result;
226
198
  }
199
+ /**
200
+ * Strip outer double-quotes from a TOML string value.
201
+ */
227
202
  function stripTomlString(value) {
228
- let s = (0, import_string.StringPrototypeTrim)(value);
229
- if (s.length > 0 && (0, import_string.StringPrototypeCharCodeAt)(s, 0) === 34) {
230
- s = (0, import_string.StringPrototypeSlice)(s, 1);
231
- }
232
- if (s.length > 0 && (0, import_string.StringPrototypeCharCodeAt)(s, s.length - 1) === 34) {
233
- s = (0, import_string.StringPrototypeSlice)(s, 0, -1);
234
- }
235
- return s;
203
+ let s = require_primordials_string.StringPrototypeTrim(value);
204
+ if (s.length > 0 && require_primordials_string.StringPrototypeCharCodeAt(s, 0) === 34) s = require_primordials_string.StringPrototypeSlice(s, 1);
205
+ if (s.length > 0 && require_primordials_string.StringPrototypeCharCodeAt(s, s.length - 1) === 34) s = require_primordials_string.StringPrototypeSlice(s, 0, -1);
206
+ return s;
236
207
  }
208
+ /**
209
+ * Read the value half of a `key = value` TOML line. Returns the raw value text
210
+ * (no quote stripping); callers run `stripTomlString` if they want the inner
211
+ * string.
212
+ */
237
213
  function valueAfterEquals(line) {
238
- const eq = (0, import_string.StringPrototypeIndexOf)(line, "=");
239
- if (eq === -1) {
240
- return "";
241
- }
242
- return (0, import_string.StringPrototypeTrim)((0, import_string.StringPrototypeSlice)(line, eq + 1));
214
+ const eq = require_primordials_string.StringPrototypeIndexOf(line, "=");
215
+ if (eq === -1) return "";
216
+ return require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(line, eq + 1));
243
217
  }
244
218
  const parseCargoLock = jsParseCargoLock;
245
- // Annotate the CommonJS export names for ESM import in node:
246
- 0 && (module.exports = {
247
- addToCargoIndex,
248
- extractCargoDepName,
249
- freezeCargoEntry,
250
- jsParseCargoLock,
251
- newCargoEntry,
252
- parseCargoGitSource,
253
- parseCargoLock,
254
- parseInlineArray,
255
- stripTomlString,
256
- valueAfterEquals
257
- });
219
+
220
+ //#endregion
221
+ exports.addToCargoIndex = addToCargoIndex;
222
+ exports.extractCargoDepName = extractCargoDepName;
223
+ exports.freezeCargoEntry = freezeCargoEntry;
224
+ exports.jsParseCargoLock = jsParseCargoLock;
225
+ exports.newCargoEntry = newCargoEntry;
226
+ exports.parseCargoGitSource = parseCargoGitSource;
227
+ exports.parseCargoLock = parseCargoLock;
228
+ exports.parseInlineArray = parseInlineArray;
229
+ exports.stripTomlString = stripTomlString;
230
+ exports.valueAfterEquals = valueAfterEquals;
@@ -1,67 +1,50 @@
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 analyze_lockfile_exports = {};
22
- __export(analyze_lockfile_exports, {
23
- analyzeLockfile: () => analyzeLockfile,
24
- jsAnalyzeLockfile: () => jsAnalyzeLockfile
25
- });
26
- module.exports = __toCommonJS(analyze_lockfile_exports);
27
- var import_object = require("../../primordials/object");
28
- var import_manifest = require("../../smol/manifest");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_object = require('../../primordials/object.js');
5
+ const require_smol_manifest = require('../../smol/manifest.js');
6
+
7
+ //#region src/eco/manifest/analyze-lockfile.ts
8
+ /**
9
+ * @file `analyzeLockfile(lockfile)` returns a `LockfileStats` summary (counts
10
+ * by dep type, total packages, per-ecosystem breakdown). `maxDepth` +
11
+ * `avgDepth` are reported as 0 — the JS-side `ParsedLockfile` shape doesn't
12
+ * preserve a dep-tree, only the flat package list. Matches socket-btm's smol
13
+ * behavior exactly.
14
+ */
29
15
  function jsAnalyzeLockfile(lockfile) {
30
- let prodDeps = 0;
31
- let devDeps = 0;
32
- let optionalDeps = 0;
33
- const pkgs = lockfile.packages;
34
- for (let i = 0, { length } = pkgs; i < length; i++) {
35
- switch (pkgs[i].depType) {
36
- case "prod":
37
- prodDeps++;
38
- break;
39
- case "dev":
40
- devDeps++;
41
- break;
42
- case "optional":
43
- optionalDeps++;
44
- break;
45
- }
46
- }
47
- return (0, import_object.ObjectFreeze)({
48
- __proto__: null,
49
- totalPackages: pkgs.length,
50
- prodDeps,
51
- devDeps,
52
- optionalDeps,
53
- byEcosystem: (0, import_object.ObjectFreeze)({
54
- __proto__: null,
55
- [lockfile.ecosystem]: pkgs.length
56
- }),
57
- maxDepth: 0,
58
- avgDepth: 0
59
- });
16
+ let prodDeps = 0;
17
+ let devDeps = 0;
18
+ let optionalDeps = 0;
19
+ const pkgs = lockfile.packages;
20
+ for (let i = 0, { length } = pkgs; i < length; i++) switch (pkgs[i].depType) {
21
+ case "prod":
22
+ prodDeps++;
23
+ break;
24
+ case "dev":
25
+ devDeps++;
26
+ break;
27
+ case "optional":
28
+ optionalDeps++;
29
+ break;
30
+ }
31
+ return require_primordials_object.ObjectFreeze({
32
+ __proto__: null,
33
+ totalPackages: pkgs.length,
34
+ prodDeps,
35
+ devDeps,
36
+ optionalDeps,
37
+ byEcosystem: require_primordials_object.ObjectFreeze({
38
+ __proto__: null,
39
+ [lockfile.ecosystem]: pkgs.length
40
+ }),
41
+ maxDepth: 0,
42
+ avgDepth: 0
43
+ });
60
44
  }
61
- const _smol = (0, import_manifest.getSmolManifest)();
45
+ const _smol = /* @__PURE__ */ require_smol_manifest.getSmolManifest();
62
46
  const analyzeLockfile = _smol ? _smol.analyzeLockfile : jsAnalyzeLockfile;
63
- // Annotate the CommonJS export names for ESM import in node:
64
- 0 && (module.exports = {
65
- analyzeLockfile,
66
- jsAnalyzeLockfile
67
- });
47
+
48
+ //#endregion
49
+ exports.analyzeLockfile = analyzeLockfile;
50
+ exports.jsAnalyzeLockfile = jsAnalyzeLockfile;