@socketsecurity/lib 6.0.3 → 6.0.5

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 (542) hide show
  1. package/CHANGELOG.md +22 -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.js +94 -65
  6. package/dist/ai/spawn.js +172 -194
  7. package/dist/ai/types.js +1 -17
  8. package/dist/ai/worktree.js +160 -183
  9. package/dist/ansi/constants.js +16 -38
  10. package/dist/ansi/strip.js +44 -41
  11. package/dist/archives/_internal.js +64 -73
  12. package/dist/archives/detect.js +30 -43
  13. package/dist/archives/extract.js +43 -50
  14. package/dist/archives/tar.js +197 -228
  15. package/dist/archives/types.js +1 -17
  16. package/dist/archives/zip.js +85 -121
  17. package/dist/argv/flag-predicates.js +203 -101
  18. package/dist/argv/flag-types.js +96 -113
  19. package/dist/argv/parse-args-string.d.ts +16 -14
  20. package/dist/argv/parse-args-string.js +42 -39
  21. package/dist/argv/parse.js +145 -163
  22. package/dist/arrays/_internal.js +65 -48
  23. package/dist/arrays/chunk.js +51 -40
  24. package/dist/arrays/join.js +87 -35
  25. package/dist/arrays/predicates.js +46 -28
  26. package/dist/arrays/unique.js +45 -31
  27. package/dist/bin/_internal.js +34 -42
  28. package/dist/bin/check-primordials.js +175 -233
  29. package/dist/bin/check.js +51 -72
  30. package/dist/bin/exec.js +70 -74
  31. package/dist/bin/find.js +151 -134
  32. package/dist/bin/resolve.js +180 -246
  33. package/dist/bin/shadow.js +24 -33
  34. package/dist/bin/socket-lib.js +51 -73
  35. package/dist/bin/types.js +1 -17
  36. package/dist/bin/which.js +211 -146
  37. package/dist/cacache/_internal.js +25 -40
  38. package/dist/cacache/clear.js +79 -72
  39. package/dist/cacache/read.js +48 -46
  40. package/dist/cacache/tmp.js +29 -36
  41. package/dist/cacache/types.js +1 -17
  42. package/dist/cacache/write.js +43 -48
  43. package/dist/cache/ttl/store.js +232 -288
  44. package/dist/cache/ttl/types.js +1 -17
  45. package/dist/checks/primordials-defaults.js +83 -89
  46. package/dist/checks/primordials.js +225 -277
  47. package/dist/colors/convert.js +45 -37
  48. package/dist/colors/palette.js +88 -45
  49. package/dist/colors/socket-palette.js +74 -84
  50. package/dist/colors/types.js +1 -17
  51. package/dist/compression/_internal.js +57 -72
  52. package/dist/compression/brotli.js +94 -127
  53. package/dist/compression/gzip.js +95 -121
  54. package/dist/compression/types.js +1 -17
  55. package/dist/constants/agents.js +61 -113
  56. package/dist/constants/encoding.js +19 -42
  57. package/dist/constants/github.js +12 -30
  58. package/dist/constants/licenses.js +48 -63
  59. package/dist/constants/lifecycle-script-names.js +31 -45
  60. package/dist/constants/maintained-node-versions.js +22 -37
  61. package/dist/constants/node.js +226 -167
  62. package/dist/constants/package-default-node-range.js +16 -41
  63. package/dist/constants/package-default-socket-categories.js +12 -30
  64. package/dist/constants/packages.js +77 -126
  65. package/dist/constants/platform.js +27 -49
  66. package/dist/constants/sentinels.js +23 -48
  67. package/dist/constants/socket.js +42 -87
  68. package/dist/constants/testing.js +15 -34
  69. package/dist/constants/time.js +16 -36
  70. package/dist/constants/typescript.js +32 -52
  71. package/dist/cover/code.js +111 -142
  72. package/dist/cover/formatters.js +118 -101
  73. package/dist/cover/type.js +50 -76
  74. package/dist/cover/types.js +1 -17
  75. package/dist/crypto/hash.js +54 -46
  76. package/dist/debug/_internal.js +62 -71
  77. package/dist/debug/caller-info.js +53 -64
  78. package/dist/debug/namespace.js +80 -90
  79. package/dist/debug/output.js +172 -188
  80. package/dist/debug/types.js +1 -17
  81. package/dist/dlx/_internal.js +24 -43
  82. package/dist/dlx/arborist.js +162 -160
  83. package/dist/dlx/binary-cache.js +228 -200
  84. package/dist/dlx/binary-download.js +172 -211
  85. package/dist/dlx/binary-resolution.js +165 -157
  86. package/dist/dlx/binary-types.js +1 -17
  87. package/dist/dlx/binary.js +149 -189
  88. package/dist/dlx/cache.js +45 -30
  89. package/dist/dlx/detect.js +245 -159
  90. package/dist/dlx/dir.js +67 -51
  91. package/dist/dlx/firewall.js +62 -100
  92. package/dist/dlx/lockfile.js +122 -127
  93. package/dist/dlx/manifest.js +264 -274
  94. package/dist/dlx/package.js +241 -244
  95. package/dist/dlx/packages.js +99 -96
  96. package/dist/dlx/paths.js +73 -59
  97. package/dist/dlx/spec.js +52 -60
  98. package/dist/dlx/types.js +1 -17
  99. package/dist/eco/cargo/lockfile-format.js +19 -36
  100. package/dist/eco/cargo/manifest-format.js +17 -35
  101. package/dist/eco/cargo/parse-lockfile.js +210 -237
  102. package/dist/eco/manifest/analyze-lockfile.js +46 -63
  103. package/dist/eco/manifest/detect-format.js +66 -90
  104. package/dist/eco/manifest/find-packages.js +39 -64
  105. package/dist/eco/manifest/get-package-versions.js +27 -48
  106. package/dist/eco/manifest/get-package.js +21 -40
  107. package/dist/eco/manifest/manifest-error.js +14 -35
  108. package/dist/eco/manifest/parse-lockfile.js +40 -86
  109. package/dist/eco/manifest/parse-manifest.js +26 -43
  110. package/dist/eco/manifest/parse.js +26 -47
  111. package/dist/eco/manifest/types.js +1 -17
  112. package/dist/eco/npm/bun/exec.js +23 -32
  113. package/dist/eco/npm/manifest-format.js +21 -35
  114. package/dist/eco/npm/npm/exec.js +51 -61
  115. package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
  116. package/dist/eco/npm/npm/flags.js +80 -52
  117. package/dist/eco/npm/npm/lockfile-format.js +21 -40
  118. package/dist/eco/npm/npm/parse-git-url.js +26 -40
  119. package/dist/eco/npm/npm/parse-lockfile.js +184 -210
  120. package/dist/eco/npm/parse-package-json.js +71 -102
  121. package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
  122. package/dist/eco/npm/pnpm/exec.js +51 -62
  123. package/dist/eco/npm/pnpm/flags.js +75 -68
  124. package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
  125. package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
  126. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
  127. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
  128. package/dist/eco/npm/script.js +82 -90
  129. package/dist/eco/npm/vlt/exec.js +24 -32
  130. package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
  131. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
  132. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
  133. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
  134. package/dist/eco/purl.js +50 -60
  135. package/dist/eco/types.js +1 -17
  136. package/dist/effects/pulse-frames.js +64 -65
  137. package/dist/effects/shimmer-keyframes.js +71 -52
  138. package/dist/effects/shimmer-terminal.js +81 -50
  139. package/dist/effects/shimmer.js +290 -153
  140. package/dist/env/boolean.js +42 -43
  141. package/dist/env/case-insensitive.js +54 -39
  142. package/dist/env/ci.js +29 -31
  143. package/dist/env/debug.js +28 -31
  144. package/dist/env/github.js +144 -59
  145. package/dist/env/home.js +38 -31
  146. package/dist/env/locale.js +59 -39
  147. package/dist/env/node-auth-token.js +28 -31
  148. package/dist/env/node-env.js +28 -31
  149. package/dist/env/npm.js +94 -47
  150. package/dist/env/number.js +50 -51
  151. package/dist/env/package-manager.js +95 -83
  152. package/dist/env/path.js +28 -31
  153. package/dist/env/pre-commit.js +30 -32
  154. package/dist/env/proxy.js +121 -122
  155. package/dist/env/rewire.js +204 -96
  156. package/dist/env/shell.js +28 -31
  157. package/dist/env/socket-cli.js +233 -81
  158. package/dist/env/socket.js +521 -156
  159. package/dist/env/string.js +43 -44
  160. package/dist/env/temp-dir.js +59 -39
  161. package/dist/env/term.js +28 -31
  162. package/dist/env/test.js +65 -43
  163. package/dist/env/types.js +1 -17
  164. package/dist/env/windows.js +78 -43
  165. package/dist/env/xdg.js +62 -39
  166. package/dist/errors/message.js +40 -46
  167. package/dist/errors/predicates.js +61 -49
  168. package/dist/errors/stack.js +24 -36
  169. package/dist/events/exit/_internal.js +86 -103
  170. package/dist/events/exit/handler.js +48 -55
  171. package/dist/events/exit/intercept.js +49 -70
  172. package/dist/events/exit/lifecycle.js +92 -101
  173. package/dist/events/exit/signals.js +25 -31
  174. package/dist/events/exit/types.js +1 -17
  175. package/dist/events/warning/handler.js +43 -40
  176. package/dist/events/warning/suppress.js +111 -90
  177. package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
  178. package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
  179. package/dist/external/@npmcli/package-json.js +12705 -15140
  180. package/dist/external/@npmcli/promise-spawn.js +451 -472
  181. package/dist/external/@sinclair/typebox/value.js +7443 -9002
  182. package/dist/external/@sinclair/typebox.js +7516 -7885
  183. package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
  184. package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
  185. package/dist/external/@socketregistry/yocto-spinner.js +394 -455
  186. package/dist/external/@yarnpkg/extensions.js +435 -1022
  187. package/dist/external/adm-zip.js +2313 -2673
  188. package/dist/external/debug.js +700 -687
  189. package/dist/external/external-pack.js +2658 -3171
  190. package/dist/external/fast-sort.js +124 -138
  191. package/dist/external/get-east-asian-width.js +70 -64
  192. package/dist/external/libnpmexec.js +28 -31
  193. package/dist/external/npm-pack.js +43617 -50137
  194. package/dist/external/p-map.js +198 -222
  195. package/dist/external/pico-pack.js +6735 -7304
  196. package/dist/external/pony-cause.js +143 -139
  197. package/dist/external/shell-quote.js +226 -0
  198. package/dist/external/spdx-pack.js +1283 -1403
  199. package/dist/external/streaming-iterables.js +835 -1052
  200. package/dist/external/tar-fs.js +2769 -3048
  201. package/dist/external/which.js +267 -251
  202. package/dist/external/yargs-parser.js +851 -1074
  203. package/dist/external-tools/bazel/asset-names.js +98 -90
  204. package/dist/external-tools/bazel/from-download.js +52 -46
  205. package/dist/external-tools/bazel/from-path.js +27 -38
  206. package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
  207. package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
  208. package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
  209. package/dist/external-tools/bazel/resolve.js +44 -58
  210. package/dist/external-tools/bazel/types.js +1 -17
  211. package/dist/external-tools/cdxgen/asset-names.js +59 -66
  212. package/dist/external-tools/cdxgen/from-download.js +52 -80
  213. package/dist/external-tools/cdxgen/from-path.js +19 -37
  214. package/dist/external-tools/cdxgen/from-vfs.js +22 -43
  215. package/dist/external-tools/cdxgen/resolve.js +48 -63
  216. package/dist/external-tools/cdxgen/types.js +1 -17
  217. package/dist/external-tools/from-download.js +107 -67
  218. package/dist/external-tools/janus/asset-names.js +44 -51
  219. package/dist/external-tools/janus/from-download.js +45 -70
  220. package/dist/external-tools/janus/from-path.js +19 -37
  221. package/dist/external-tools/janus/from-vfs.js +22 -43
  222. package/dist/external-tools/janus/resolve.js +45 -63
  223. package/dist/external-tools/janus/types.js +1 -17
  224. package/dist/external-tools/jre/asset-names.js +109 -82
  225. package/dist/external-tools/jre/detect-platform-arch.js +25 -49
  226. package/dist/external-tools/jre/from-download.js +71 -67
  227. package/dist/external-tools/jre/from-java-home.js +27 -54
  228. package/dist/external-tools/jre/from-path.js +27 -49
  229. package/dist/external-tools/jre/from-vfs.js +39 -60
  230. package/dist/external-tools/jre/resolve.js +55 -68
  231. package/dist/external-tools/jre/types.js +1 -17
  232. package/dist/external-tools/manifest.js +130 -150
  233. package/dist/external-tools/opengrep/asset-names.js +60 -72
  234. package/dist/external-tools/opengrep/from-download.js +58 -80
  235. package/dist/external-tools/opengrep/from-path.js +19 -37
  236. package/dist/external-tools/opengrep/from-vfs.js +23 -43
  237. package/dist/external-tools/opengrep/resolve.js +43 -63
  238. package/dist/external-tools/opengrep/types.js +1 -17
  239. package/dist/external-tools/sbt/asset-names.js +21 -30
  240. package/dist/external-tools/sbt/from-download.js +50 -61
  241. package/dist/external-tools/sbt/from-path.js +23 -38
  242. package/dist/external-tools/sbt/from-vfs.js +30 -44
  243. package/dist/external-tools/sbt/resolve.js +45 -63
  244. package/dist/external-tools/sbt/types.js +1 -17
  245. package/dist/external-tools/synp/asset-names.js +11 -29
  246. package/dist/external-tools/synp/from-download.js +24 -41
  247. package/dist/external-tools/synp/from-path.js +19 -37
  248. package/dist/external-tools/synp/from-vfs.js +22 -43
  249. package/dist/external-tools/synp/resolve.js +43 -62
  250. package/dist/external-tools/synp/types.js +1 -17
  251. package/dist/external-tools/trivy/asset-names.js +51 -62
  252. package/dist/external-tools/trivy/from-download.js +42 -64
  253. package/dist/external-tools/trivy/from-path.js +19 -37
  254. package/dist/external-tools/trivy/from-vfs.js +22 -43
  255. package/dist/external-tools/trivy/resolve.js +43 -63
  256. package/dist/external-tools/trivy/types.js +1 -17
  257. package/dist/external-tools/trufflehog/asset-names.js +54 -66
  258. package/dist/external-tools/trufflehog/from-download.js +44 -62
  259. package/dist/external-tools/trufflehog/from-path.js +21 -37
  260. package/dist/external-tools/trufflehog/from-vfs.js +26 -43
  261. package/dist/external-tools/trufflehog/resolve.js +43 -63
  262. package/dist/external-tools/trufflehog/types.js +1 -17
  263. package/dist/external-tools/uv/asset-names.js +64 -74
  264. package/dist/external-tools/uv/from-download.js +44 -65
  265. package/dist/external-tools/uv/from-path.js +19 -37
  266. package/dist/external-tools/uv/from-vfs.js +22 -43
  267. package/dist/external-tools/uv/resolve.js +42 -63
  268. package/dist/external-tools/uv/types.js +1 -17
  269. package/dist/fs/_internal.js +40 -42
  270. package/dist/fs/access.js +57 -54
  271. package/dist/fs/encoding.js +80 -97
  272. package/dist/fs/find-up.js +126 -125
  273. package/dist/fs/inspect.js +168 -99
  274. package/dist/fs/path-cache.js +31 -32
  275. package/dist/fs/read-dir.js +102 -79
  276. package/dist/fs/read-file.js +177 -118
  277. package/dist/fs/read-json-cache.js +150 -134
  278. package/dist/fs/read-json.js +172 -187
  279. package/dist/fs/resolve-module.js +35 -58
  280. package/dist/fs/safe.js +278 -169
  281. package/dist/fs/types.js +1 -17
  282. package/dist/fs/unique.js +52 -48
  283. package/dist/fs/validate.js +56 -40
  284. package/dist/fs/write-json.js +109 -75
  285. package/dist/git/_internal.js +251 -216
  286. package/dist/git/changed.js +191 -74
  287. package/dist/git/repo.js +118 -104
  288. package/dist/git/staged.js +172 -62
  289. package/dist/git/types.js +1 -17
  290. package/dist/git/unstaged.js +175 -62
  291. package/dist/github/constants.js +25 -33
  292. package/dist/github/errors.js +46 -38
  293. package/dist/github/fetch.js +137 -82
  294. package/dist/github/ghsa.js +217 -151
  295. package/dist/github/refs-cache.js +54 -43
  296. package/dist/github/refs-graphql.js +97 -89
  297. package/dist/github/refs-rest.js +70 -101
  298. package/dist/github/refs.js +105 -64
  299. package/dist/github/token.js +96 -48
  300. package/dist/github/types.js +1 -17
  301. package/dist/globs/_internal.js +73 -82
  302. package/dist/globs/defaults.js +40 -59
  303. package/dist/globs/match.js +93 -77
  304. package/dist/globs/matcher.js +104 -92
  305. package/dist/globs/stream.js +43 -55
  306. package/dist/globs/types.js +1 -17
  307. package/dist/http-request/_internal.js +11 -38
  308. package/dist/http-request/browser-fetch.js +19 -29
  309. package/dist/http-request/browser.js +188 -206
  310. package/dist/http-request/checksums.js +101 -65
  311. package/dist/http-request/download-types.js +1 -17
  312. package/dist/http-request/download.js +195 -196
  313. package/dist/http-request/errors.js +39 -47
  314. package/dist/http-request/headers.js +95 -80
  315. package/dist/http-request/http-request.js +10 -35
  316. package/dist/http-request/node.js +71 -97
  317. package/dist/http-request/request-attempt.js +232 -285
  318. package/dist/http-request/request-types.js +1 -17
  319. package/dist/http-request/request.js +106 -108
  320. package/dist/http-request/response-reader.js +47 -51
  321. package/dist/http-request/response-types.js +22 -38
  322. package/dist/http-request/user-agent.js +73 -55
  323. package/dist/integrity.js +105 -106
  324. package/dist/ipc/_internal.js +34 -48
  325. package/dist/ipc/directory.js +55 -63
  326. package/dist/ipc/paths.js +52 -45
  327. package/dist/ipc/types.js +1 -17
  328. package/dist/ipc/write.js +81 -74
  329. package/dist/ipc-cli/get.js +29 -56
  330. package/dist/ipc-cli/types.js +1 -17
  331. package/dist/json/edit.js +182 -242
  332. package/dist/json/format.js +202 -103
  333. package/dist/json/parse.js +206 -109
  334. package/dist/json/types.js +1 -17
  335. package/dist/links/create.js +93 -60
  336. package/dist/links/types.js +1 -17
  337. package/dist/logger/_internal.js +109 -73
  338. package/dist/logger/browser.js +45 -56
  339. package/dist/logger/colors.js +31 -49
  340. package/dist/logger/console.js +89 -112
  341. package/dist/logger/default.js +19 -33
  342. package/dist/logger/logger.js +5 -29
  343. package/dist/logger/node.js +793 -854
  344. package/dist/logger/symbols-builder.js +54 -56
  345. package/dist/logger/symbols.js +135 -118
  346. package/dist/logger/types.js +1 -17
  347. package/dist/memo/_internal.js +39 -49
  348. package/dist/memo/async.js +133 -117
  349. package/dist/memo/clear.js +25 -34
  350. package/dist/memo/decorator.js +43 -37
  351. package/dist/memo/memoize.js +97 -88
  352. package/dist/memo/once.js +42 -41
  353. package/dist/memo/types.js +1 -17
  354. package/dist/memo/weak.js +45 -41
  355. package/dist/node/async-hooks.js +9 -30
  356. package/dist/node/child-process.js +9 -30
  357. package/dist/node/crypto.js +9 -30
  358. package/dist/node/events.js +9 -30
  359. package/dist/node/fs-promises.js +9 -30
  360. package/dist/node/fs.js +9 -30
  361. package/dist/node/http.js +9 -30
  362. package/dist/node/https.js +9 -30
  363. package/dist/node/module.js +20 -34
  364. package/dist/node/os.js +9 -30
  365. package/dist/node/path.js +9 -30
  366. package/dist/node/timers-promises.js +9 -30
  367. package/dist/node/url.js +9 -30
  368. package/dist/node/util.js +9 -30
  369. package/dist/objects/getters.js +185 -126
  370. package/dist/objects/inspect.js +85 -52
  371. package/dist/objects/mutate.js +96 -76
  372. package/dist/objects/predicates.js +112 -59
  373. package/dist/objects/sort.js +120 -76
  374. package/dist/objects/types.js +1 -17
  375. package/dist/packages/edit-class.js +198 -265
  376. package/dist/packages/edit.js +79 -86
  377. package/dist/packages/exports.js +146 -157
  378. package/dist/packages/isolation.js +159 -209
  379. package/dist/packages/licenses.js +207 -189
  380. package/dist/packages/manifest.js +134 -172
  381. package/dist/packages/normalize.js +91 -102
  382. package/dist/packages/operations.d.ts +2 -0
  383. package/dist/packages/operations.js +283 -254
  384. package/dist/packages/provenance.js +195 -245
  385. package/dist/packages/specs.js +94 -84
  386. package/dist/packages/types.js +1 -17
  387. package/dist/packages/validation.js +49 -50
  388. package/dist/paths/_internal.js +82 -86
  389. package/dist/paths/conversion.js +112 -65
  390. package/dist/paths/dirnames.js +17 -42
  391. package/dist/paths/exts.js +23 -54
  392. package/dist/paths/filenames.js +21 -50
  393. package/dist/paths/globs.js +15 -38
  394. package/dist/paths/normalize.js +215 -236
  395. package/dist/paths/packages.js +34 -49
  396. package/dist/paths/predicates.js +184 -106
  397. package/dist/paths/resolve.js +146 -128
  398. package/dist/paths/rewire.js +108 -72
  399. package/dist/paths/socket.js +252 -132
  400. package/dist/paths/walk.js +55 -60
  401. package/dist/perf/_internal.js +10 -28
  402. package/dist/perf/enabled.js +21 -30
  403. package/dist/perf/metrics.js +81 -67
  404. package/dist/perf/report.js +79 -80
  405. package/dist/perf/timer.js +180 -126
  406. package/dist/perf/types.js +1 -17
  407. package/dist/pkg-ext/data.js +29 -82
  408. package/dist/pkg-ext/types.js +1 -17
  409. package/dist/primordials/array.js +120 -198
  410. package/dist/primordials/buffer.js +28 -51
  411. package/dist/primordials/date.js +26 -51
  412. package/dist/primordials/error.js +33 -59
  413. package/dist/primordials/function.js +21 -41
  414. package/dist/primordials/globals.js +25 -48
  415. package/dist/primordials/json.js +14 -30
  416. package/dist/primordials/map-set.js +88 -152
  417. package/dist/primordials/math.js +59 -116
  418. package/dist/primordials/number.js +41 -76
  419. package/dist/primordials/object.js +56 -116
  420. package/dist/primordials/promise.js +28 -52
  421. package/dist/primordials/reflect.js +24 -52
  422. package/dist/primordials/regexp.js +25 -47
  423. package/dist/primordials/string.js +114 -167
  424. package/dist/primordials/symbol.js +40 -72
  425. package/dist/primordials/uncurry.js +38 -55
  426. package/dist/primordials/url.js +27 -66
  427. package/dist/process/_internal.js +7 -32
  428. package/dist/process/abort.js +29 -35
  429. package/dist/process/lock-instance.js +26 -30
  430. package/dist/process/lock-manager.js +279 -307
  431. package/dist/process/lock-types.js +1 -17
  432. package/dist/process/spawn/_internal.js +43 -55
  433. package/dist/process/spawn/child.js +172 -211
  434. package/dist/process/spawn/errors.js +116 -113
  435. package/dist/process/spawn/stdio.js +51 -35
  436. package/dist/process/spawn/types.js +1 -17
  437. package/dist/process/transient.js +49 -66
  438. package/dist/promises/_internal.js +31 -34
  439. package/dist/promises/iterate.js +238 -102
  440. package/dist/promises/options.js +123 -101
  441. package/dist/promises/queue.js +115 -136
  442. package/dist/promises/resolvers.js +77 -46
  443. package/dist/promises/retry.js +156 -101
  444. package/dist/promises/types.js +1 -17
  445. package/dist/regexps/escape.js +32 -30
  446. package/dist/regexps/hex.js +16 -33
  447. package/dist/regexps/spec.js +53 -81
  448. package/dist/releases/github-archives.js +127 -118
  449. package/dist/releases/github-asset-url.js +162 -146
  450. package/dist/releases/github-assets.js +37 -49
  451. package/dist/releases/github-auth.js +32 -48
  452. package/dist/releases/github-downloads.js +118 -138
  453. package/dist/releases/github-listing.js +175 -145
  454. package/dist/releases/github-retry-config.js +41 -47
  455. package/dist/releases/github-types.js +1 -17
  456. package/dist/releases/socket-btm.js +273 -192
  457. package/dist/schema/parse.js +35 -36
  458. package/dist/schema/types.js +1 -17
  459. package/dist/schema/validate.js +118 -99
  460. package/dist/sea/detect.js +57 -52
  461. package/dist/secrets/_internal.js +86 -67
  462. package/dist/secrets/find.js +96 -77
  463. package/dist/secrets/keychain.js +315 -309
  464. package/dist/secrets/linux.js +133 -135
  465. package/dist/secrets/macos.js +151 -147
  466. package/dist/secrets/rc.js +182 -181
  467. package/dist/secrets/socket-api-token.js +28 -43
  468. package/dist/secrets/types.js +1 -17
  469. package/dist/secrets/windows.js +184 -242
  470. package/dist/shadow/skip.js +51 -70
  471. package/dist/shadow/types.js +1 -17
  472. package/dist/shell/parse.d.ts +26 -0
  473. package/dist/shell/parse.js +35 -0
  474. package/dist/shell/quote.d.ts +19 -0
  475. package/dist/shell/quote.js +30 -0
  476. package/dist/smol/detect.js +67 -43
  477. package/dist/smol/http.js +33 -37
  478. package/dist/smol/https.js +31 -37
  479. package/dist/smol/manifest.js +33 -37
  480. package/dist/smol/path.js +33 -37
  481. package/dist/smol/primordial.js +35 -37
  482. package/dist/smol/purl.js +34 -37
  483. package/dist/smol/versions.js +31 -37
  484. package/dist/smol/vfs.js +46 -38
  485. package/dist/sorts/_internal.js +14 -40
  486. package/dist/sorts/natural.js +57 -64
  487. package/dist/sorts/semver.js +33 -43
  488. package/dist/sorts/strings.js +24 -30
  489. package/dist/sorts/types.js +1 -17
  490. package/dist/spinner/default.js +72 -63
  491. package/dist/spinner/format.js +86 -71
  492. package/dist/spinner/spinner.js +749 -797
  493. package/dist/spinner/types.js +1 -17
  494. package/dist/spinner/with.js +193 -137
  495. package/dist/ssri/convert.js +64 -47
  496. package/dist/ssri/parse.js +38 -37
  497. package/dist/ssri/validate.js +51 -34
  498. package/dist/stdio/_internal.js +50 -46
  499. package/dist/stdio/clear.js +208 -86
  500. package/dist/stdio/divider.js +170 -97
  501. package/dist/stdio/footer.js +116 -110
  502. package/dist/stdio/header.js +117 -90
  503. package/dist/stdio/progress.js +189 -218
  504. package/dist/stdio/prompts.js +244 -168
  505. package/dist/stdio/stderr.js +173 -78
  506. package/dist/stdio/stdout.js +177 -94
  507. package/dist/streams/parallel.js +58 -50
  508. package/dist/streams/transform.js +36 -45
  509. package/dist/strings/format.js +145 -63
  510. package/dist/strings/predicates.js +56 -34
  511. package/dist/strings/search.js +52 -42
  512. package/dist/strings/transform.js +113 -72
  513. package/dist/strings/types.js +1 -17
  514. package/dist/strings/width.js +89 -82
  515. package/dist/tables/bordered.js +81 -81
  516. package/dist/tables/padding.js +36 -46
  517. package/dist/tables/simple.js +62 -70
  518. package/dist/tables/types.js +1 -17
  519. package/dist/temporal/instant.js +72 -81
  520. package/dist/temporal/now.js +40 -31
  521. package/dist/temporal/slots.js +42 -36
  522. package/dist/temporal/system.js +36 -36
  523. package/dist/temporal/temporal.js +11 -41
  524. package/dist/themes/context.js +131 -69
  525. package/dist/themes/resolve.js +207 -132
  526. package/dist/themes/themes.js +225 -194
  527. package/dist/themes/types.js +1 -17
  528. package/dist/url/parse.js +48 -51
  529. package/dist/url/predicates.js +24 -31
  530. package/dist/url/search-params.js +133 -101
  531. package/dist/url/types.js +1 -17
  532. package/dist/versions/_internal.js +31 -33
  533. package/dist/versions/compare.js +80 -58
  534. package/dist/versions/modify.js +41 -39
  535. package/dist/versions/parse.js +88 -64
  536. package/dist/versions/range.js +58 -41
  537. package/dist/versions/types.js +1 -17
  538. package/dist/words/article.js +22 -30
  539. package/dist/words/capitalize.js +25 -34
  540. package/dist/words/pluralize.js +23 -31
  541. package/dist/words/types.js +1 -17
  542. package/package.json +17 -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;