@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,293 +1,241 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __create = Object.create;
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __export = (target, all) => {
11
- for (var name in all)
12
- __defProp(target, name, { get: all[name], enumerable: true });
13
- };
14
- var __copyProps = (to, from, except, desc) => {
15
- if (from && typeof from === "object" || typeof from === "function") {
16
- for (let key of __getOwnPropNames(from))
17
- if (!__hasOwnProp.call(to, key) && key !== except)
18
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
- mod
29
- ));
30
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
- var primordials_exports = {};
32
- __export(primordials_exports, {
33
- checkPrimordials: () => checkPrimordials,
34
- collectJsFiles: () => collectJsFiles,
35
- extractPrimordialsNames: () => extractPrimordialsNames,
36
- extractTsExports: () => extractTsExports,
37
- readSocketLibPrimordialNames: () => readSocketLibPrimordialNames,
38
- resolveSocketLibPrimordials: () => resolveSocketLibPrimordials,
39
- stripComments: () => stripComments
40
- });
41
- module.exports = __toCommonJS(primordials_exports);
42
- var import_node_fs = require("node:fs");
43
- var import_node_path = __toESM(require("node:path"));
44
- var import_join = require("../arrays/join");
45
- var import_error = require("../primordials/error");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
+ const require_primordials_error = require('../primordials/error.js');
6
+ const require_arrays_join = require('../arrays/join.js');
7
+ let node_fs = require("node:fs");
8
+ let node_path = require("node:path");
9
+ node_path = require_runtime.__toESM(node_path);
10
+
11
+ //#region src/checks/primordials.ts
12
+ /**
13
+ * @file Primordials drift check — generic core. Each fleet repo that
14
+ * destructures from Node's internal `primordials` global needs to keep its
15
+ * usage shape-aligned with socket-lib's userland mirror
16
+ * (`@socketsecurity/lib/primordials`). This module is the parser + diff
17
+ * engine; per-repo policy (which dirs to scan, naming aliases, allowlist)
18
+ * lives in a config the caller supplies. Used by the `socket-lib check
19
+ * primordials` CLI subcommand. Kept importable as a library so repos with
20
+ * bespoke needs can compose it directly without going through the CLI. The
21
+ * flow:
22
+ *
23
+ * 1. Walk the configured `scanDirs` for `*.js` files.
24
+ * 2. From each file, extract names from every `const { Foo, Bar } = primordials`
25
+ * destructure.
26
+ * 3. Read socket-lib's `primordials/` directory (sibling clone) or
27
+ * `primordials/*.d.ts` (installed `node_modules`) and pull every exported
28
+ * name across all leaves.
29
+ * 4. Diff: every destructured name must be either (a) in socket-lib verbatim,
30
+ * (b) in socket-lib via the configured alias map, or (c) in the configured
31
+ * node-internal-only allowlist. Findings come back classified so callers
32
+ * can render or fail-CI on specific kinds.
33
+ */
46
34
  const NAME_HEAD_RE = /^([A-Za-z_$][A-Za-z0-9_$]*)/;
35
+ /**
36
+ * Run the primordials drift check against the configured repo. Returns the full
37
+ * result including raw inputs (used names, lib exports) so renderers can show
38
+ * context, plus a sorted list of findings classified by kind.
39
+ */
47
40
  function checkPrimordials(config) {
48
- const repoRoot = config.repoRoot ?? process.cwd();
49
- const used = /* @__PURE__ */ new Set();
50
- const usedToFiles = /* @__PURE__ */ new Map();
51
- for (const dir of config.scanDirs) {
52
- const fullDir = import_node_path.default.resolve(repoRoot, dir);
53
- const jsFiles = collectJsFiles(fullDir);
54
- for (const file of jsFiles) {
55
- let src;
56
- try {
57
- src = (0, import_node_fs.readFileSync)(file, "utf8");
58
- } catch {
59
- continue;
60
- }
61
- if (!src.includes("primordials")) {
62
- continue;
63
- }
64
- const names = extractPrimordialsNames(src);
65
- if (names.length === 0) {
66
- continue;
67
- }
68
- const rel = import_node_path.default.relative(repoRoot, file);
69
- for (const name of names) {
70
- used.add(name);
71
- const arr = usedToFiles.get(name) ?? [];
72
- if (!arr.includes(rel)) {
73
- arr.push(rel);
74
- }
75
- usedToFiles.set(name, arr);
76
- }
77
- }
78
- }
79
- const socketLibPath = resolveSocketLibPrimordials(config);
80
- const socketLibNames = readSocketLibPrimordialNames(socketLibPath);
81
- const findings = [];
82
- for (const name of [...used].sort()) {
83
- if (config.nodeInternalOnly.has(name)) {
84
- continue;
85
- }
86
- if (socketLibNames.has(name)) {
87
- continue;
88
- }
89
- const aliased = config.aliasMap.get(name);
90
- if (aliased) {
91
- if (socketLibNames.has(aliased)) {
92
- continue;
93
- }
94
- findings.push({
95
- kind: "missing-from-socket-lib",
96
- name,
97
- files: usedToFiles.get(name) ?? [],
98
- hint: `\`${name}\` is mapped to socket-lib's \`${aliased}\`, but \`${aliased}\` is not exported. Add \`export const ${aliased} = ${name}\` to the appropriate leaf under socket-lib/src/primordials/.`
99
- });
100
- continue;
101
- }
102
- findings.push({
103
- kind: "unmapped",
104
- name,
105
- files: usedToFiles.get(name) ?? [],
106
- hint: `\`${name}\` is destructured from \`primordials\` but no socket-lib mapping exists. Pick one: ` + (0, import_join.joinOr)([
107
- `add \`${name}\` to the appropriate leaf under socket-lib/src/primordials/`,
108
- `add a \`${name}\` \u2192 \`<libName>\` entry to the alias map`,
109
- `add \`${name}\` to nodeInternalOnly (if Node-internal only)`
110
- ]) + "."
111
- });
112
- }
113
- return {
114
- used,
115
- usedToFiles,
116
- socketLibNames,
117
- findings
118
- };
41
+ const repoRoot = config.repoRoot ?? process.cwd();
42
+ const used = /* @__PURE__ */ new Set();
43
+ const usedToFiles = /* @__PURE__ */ new Map();
44
+ for (const dir of config.scanDirs) {
45
+ const jsFiles = collectJsFiles(node_path.default.resolve(repoRoot, dir));
46
+ for (const file of jsFiles) {
47
+ let src;
48
+ try {
49
+ src = (0, node_fs.readFileSync)(file, "utf8");
50
+ } catch {
51
+ continue;
52
+ }
53
+ /* c8 ignore stop */
54
+ if (!src.includes("primordials")) continue;
55
+ const names = extractPrimordialsNames(src);
56
+ if (names.length === 0) continue;
57
+ const rel = node_path.default.relative(repoRoot, file);
58
+ for (const name of names) {
59
+ used.add(name);
60
+ const arr = usedToFiles.get(name) ?? [];
61
+ if (!arr.includes(rel)) arr.push(rel);
62
+ usedToFiles.set(name, arr);
63
+ }
64
+ }
65
+ }
66
+ const socketLibNames = readSocketLibPrimordialNames(resolveSocketLibPrimordials(config));
67
+ const findings = [];
68
+ for (const name of [...used].sort()) {
69
+ if (config.nodeInternalOnly.has(name)) continue;
70
+ if (socketLibNames.has(name)) continue;
71
+ const aliased = config.aliasMap.get(name);
72
+ /* c8 ignore start */
73
+ if (aliased) {
74
+ if (socketLibNames.has(aliased)) continue;
75
+ findings.push({
76
+ kind: "missing-from-socket-lib",
77
+ name,
78
+ files: usedToFiles.get(name) ?? [],
79
+ hint: `\`${name}\` is mapped to socket-lib's \`${aliased}\`, but \`${aliased}\` is not exported. Add \`export const ${aliased} = ${name}\` to the appropriate leaf under socket-lib/src/primordials/.`
80
+ });
81
+ continue;
82
+ }
83
+ /* c8 ignore stop */
84
+ findings.push({
85
+ kind: "unmapped",
86
+ name,
87
+ files: usedToFiles.get(name) ?? [],
88
+ hint: `\`${name}\` is destructured from \`primordials\` but no socket-lib mapping exists. Pick one: ` + /* @__PURE__ */ require_arrays_join.joinOr([
89
+ `add \`${name}\` to the appropriate leaf under socket-lib/src/primordials/`,
90
+ `add a \`${name}\` \`<libName>\` entry to the alias map`,
91
+ `add \`${name}\` to nodeInternalOnly (if Node-internal only)`
92
+ ]) + "."
93
+ });
94
+ }
95
+ return {
96
+ used,
97
+ usedToFiles,
98
+ socketLibNames,
99
+ findings
100
+ };
119
101
  }
102
+ /**
103
+ * Recursively collect every `*.js` file under `dir`.
104
+ */
120
105
  function collectJsFiles(dir) {
121
- const out = [];
122
- if (!(0, import_node_fs.existsSync)(dir)) {
123
- return out;
124
- }
125
- const stack = [dir];
126
- while (stack.length > 0) {
127
- const cur = stack.pop();
128
- let entries;
129
- try {
130
- entries = (0, import_node_fs.readdirSync)(cur);
131
- } catch {
132
- continue;
133
- }
134
- for (const name of entries) {
135
- const full = import_node_path.default.join(cur, name);
136
- let stat;
137
- try {
138
- stat = (0, import_node_fs.statSync)(full);
139
- } catch {
140
- continue;
141
- }
142
- if (stat.isDirectory()) {
143
- stack.push(full);
144
- } else if (stat.isFile() && full.endsWith(".js")) {
145
- out.push(full);
146
- }
147
- }
148
- }
149
- return out;
106
+ const out = [];
107
+ if (!(0, node_fs.existsSync)(dir)) return out;
108
+ const stack = [dir];
109
+ while (stack.length > 0) {
110
+ const cur = stack.pop();
111
+ let entries;
112
+ try {
113
+ entries = (0, node_fs.readdirSync)(cur);
114
+ } catch {
115
+ continue;
116
+ }
117
+ for (const name of entries) {
118
+ const full = node_path.default.join(cur, name);
119
+ let stat;
120
+ try {
121
+ stat = (0, node_fs.statSync)(full);
122
+ } catch {
123
+ continue;
124
+ }
125
+ if (stat.isDirectory()) stack.push(full);
126
+ else if (stat.isFile() && full.endsWith(".js")) out.push(full);
127
+ }
128
+ }
129
+ return out;
150
130
  }
131
+ /**
132
+ * Pull every `const { … } = primordials` destructure body out of `src`.
133
+ * Comments are stripped first so commentary inside a destructure doesn't leak
134
+ * into captured names. The body regex disallows nested `}`, which is safe after
135
+ * the comment-strip pass — destructures themselves don't contain `}`.
136
+ */
151
137
  function extractPrimordialsNames(src) {
152
- const cleaned = stripComments(src);
153
- const re = /const\s*\{\s*([^}]*?)\}\s*=\s*primordials\b/g;
154
- const out = [];
155
- let m;
156
- while ((m = re.exec(cleaned)) !== null) {
157
- for (const raw of m[1].split(",")) {
158
- const trimmed = raw.trim();
159
- if (!trimmed) {
160
- continue;
161
- }
162
- const nameMatch = NAME_HEAD_RE.exec(trimmed);
163
- if (nameMatch) {
164
- out.push(nameMatch[1]);
165
- }
166
- }
167
- }
168
- return out;
138
+ const cleaned = stripComments(src);
139
+ const re = /const\s*\{\s*([^}]*?)\}\s*=\s*primordials\b/g;
140
+ const out = [];
141
+ let m;
142
+ while ((m = re.exec(cleaned)) !== null) for (const raw of m[1].split(",")) {
143
+ const trimmed = raw.trim();
144
+ if (!trimmed) continue;
145
+ const nameMatch = NAME_HEAD_RE.exec(trimmed);
146
+ /* c8 ignore start */
147
+ if (nameMatch) out.push(nameMatch[1]);
148
+ }
149
+ return out;
169
150
  }
151
+ /**
152
+ * Pull every `export const Foo` / `export function Foo` / `export { Foo }` from
153
+ * a TS file. Also matches `.d.ts` declaration forms (`export declare const
154
+ * Foo`, `export declare function Foo`) since the fallback path reads
155
+ * `primordials.d.ts` from `node_modules` when no sibling clone is present.
156
+ */
170
157
  function extractTsExports(src) {
171
- const out = /* @__PURE__ */ new Set();
172
- for (const m of src.matchAll(
173
- /^export\s+(?:declare\s+)?const\s+([A-Za-z_$][A-Za-z0-9_$]*)/gm
174
- )) {
175
- out.add(m[1]);
176
- }
177
- for (const m of src.matchAll(
178
- /^export\s+(?:declare\s+)?function\s+([A-Za-z_$][A-Za-z0-9_$]*)/gm
179
- )) {
180
- out.add(m[1]);
181
- }
182
- for (const m of src.matchAll(/^export\s*\{\s*([^}]+)\}/gm)) {
183
- for (const raw of m[1].split(",")) {
184
- const trimmed = raw.trim();
185
- if (!trimmed) {
186
- continue;
187
- }
188
- const nameMatch = NAME_HEAD_RE.exec(trimmed);
189
- if (nameMatch) {
190
- out.add(nameMatch[1]);
191
- }
192
- }
193
- }
194
- return [...out];
158
+ const out = /* @__PURE__ */ new Set();
159
+ for (const m of src.matchAll(/^export\s+(?:declare\s+)?const\s+([A-Za-z_$][A-Za-z0-9_$]*)/gm)) out.add(m[1]);
160
+ for (const m of src.matchAll(/^export\s+(?:declare\s+)?function\s+([A-Za-z_$][A-Za-z0-9_$]*)/gm)) out.add(m[1]);
161
+ for (const m of src.matchAll(/^export\s*\{\s*([^}]+)\}/gm)) for (const raw of m[1].split(",")) {
162
+ const trimmed = raw.trim();
163
+ if (!trimmed) continue;
164
+ const nameMatch = NAME_HEAD_RE.exec(trimmed);
165
+ /* c8 ignore start */
166
+ if (nameMatch) out.add(nameMatch[1]);
167
+ }
168
+ return [...out];
195
169
  }
170
+ /**
171
+ * Read TS exports from a resolved primordials path. Handles both the legacy
172
+ * single-file layout (returns one file's exports) and the post-split directory
173
+ * layout (concatenates exports across every `*.ts` / `*.d.ts` leaf).
174
+ */
196
175
  function readSocketLibPrimordialNames(resolved) {
197
- const stat = (0, import_node_fs.statSync)(resolved);
198
- if (stat.isFile()) {
199
- return new Set(extractTsExports((0, import_node_fs.readFileSync)(resolved, "utf8")));
200
- }
201
- const out = /* @__PURE__ */ new Set();
202
- for (const name of (0, import_node_fs.readdirSync)(resolved)) {
203
- if (!name.endsWith(".ts") && !name.endsWith(".d.ts")) {
204
- continue;
205
- }
206
- const full = import_node_path.default.join(resolved, name);
207
- const fileStat = (0, import_node_fs.statSync)(full);
208
- if (!fileStat.isFile()) {
209
- continue;
210
- }
211
- for (const exp of extractTsExports((0, import_node_fs.readFileSync)(full, "utf8"))) {
212
- out.add(exp);
213
- }
214
- }
215
- return out;
176
+ if ((0, node_fs.statSync)(resolved).isFile()) return new Set(extractTsExports((0, node_fs.readFileSync)(resolved, "utf8")));
177
+ const out = /* @__PURE__ */ new Set();
178
+ /* c8 ignore start */
179
+ for (const name of (0, node_fs.readdirSync)(resolved)) {
180
+ if (!name.endsWith(".ts") && !name.endsWith(".d.ts")) continue;
181
+ const full = node_path.default.join(resolved, name);
182
+ if (!(0, node_fs.statSync)(full).isFile()) continue;
183
+ for (const exp of extractTsExports((0, node_fs.readFileSync)(full, "utf8"))) out.add(exp);
184
+ }
185
+ /* c8 ignore stop */
186
+ return out;
216
187
  }
188
+ /**
189
+ * Locate socket-lib's primordials source. Search order:
190
+ *
191
+ * 1. `config.socketLibPrimordialsPath` if explicitly set. Accepts either a single
192
+ * file (legacy `primordials.ts` / `.d.ts`) or a directory of leaves
193
+ * (`primordials/`).
194
+ * 2. Sibling clone — `<repoRoot>/../socket-lib/src/primordials/` (post-split
195
+ * layout) or `<repoRoot>/../socket-lib/src/primordials.ts` (legacy
196
+ * single-file layout). Preferred for the dev-loop case where a developer is
197
+ * editing socket-lib and a consumer in parallel.
198
+ * 3. Installed copy — `<repoRoot>/node_modules/@socketsecurity/lib/
199
+ * dist/primordials/` (post-split) or `<repoRoot>/node_modules/
200
+ * @socketsecurity/lib/dist/primordials.d.ts` (legacy). The CI fallback.
201
+ *
202
+ * Throws when none of the candidates exist.
203
+ */
217
204
  function resolveSocketLibPrimordials(config) {
218
- if (config.socketLibPrimordialsPath) {
219
- if (!(0, import_node_fs.existsSync)(config.socketLibPrimordialsPath)) {
220
- throw new import_error.ErrorCtor(
221
- `socketLibPrimordialsPath does not exist: ${config.socketLibPrimordialsPath}`
222
- );
223
- }
224
- return config.socketLibPrimordialsPath;
225
- }
226
- const repoRoot = config.repoRoot ?? process.cwd();
227
- const siblingDir = import_node_path.default.resolve(
228
- repoRoot,
229
- "..",
230
- "socket-lib",
231
- "src",
232
- "primordials"
233
- );
234
- if ((0, import_node_fs.existsSync)(siblingDir)) {
235
- return siblingDir;
236
- }
237
- const siblingLegacy = import_node_path.default.resolve(
238
- repoRoot,
239
- "..",
240
- "socket-lib",
241
- "src",
242
- "primordials.ts"
243
- );
244
- if ((0, import_node_fs.existsSync)(siblingLegacy)) {
245
- return siblingLegacy;
246
- }
247
- const installedDir = import_node_path.default.resolve(
248
- repoRoot,
249
- "node_modules",
250
- "@socketsecurity",
251
- "lib",
252
- "dist",
253
- "primordials"
254
- );
255
- if ((0, import_node_fs.existsSync)(installedDir)) {
256
- return installedDir;
257
- }
258
- const installedLegacy = import_node_path.default.resolve(
259
- repoRoot,
260
- "node_modules",
261
- "@socketsecurity",
262
- "lib",
263
- "dist",
264
- "primordials.d.ts"
265
- );
266
- if ((0, import_node_fs.existsSync)(installedLegacy)) {
267
- return installedLegacy;
268
- }
269
- throw new import_error.ErrorCtor(
270
- `Cannot locate socket-lib primordials source. Looked at:
271
- ${siblingDir}
272
- ${siblingLegacy}
273
- ${installedDir}
274
- ${installedLegacy}
275
- Either clone socket-lib at ../socket-lib or run \`pnpm install\`.`
276
- );
205
+ /* c8 ignore start */
206
+ if (config.socketLibPrimordialsPath) {
207
+ if (!(0, node_fs.existsSync)(config.socketLibPrimordialsPath)) throw new require_primordials_error.ErrorCtor(`socketLibPrimordialsPath does not exist: ${config.socketLibPrimordialsPath}`);
208
+ return config.socketLibPrimordialsPath;
209
+ }
210
+ const repoRoot = config.repoRoot ?? process.cwd();
211
+ const siblingDir = node_path.default.resolve(repoRoot, "..", "socket-lib", "src", "primordials");
212
+ if ((0, node_fs.existsSync)(siblingDir)) return siblingDir;
213
+ const siblingLegacy = node_path.default.resolve(repoRoot, "..", "socket-lib", "src", "primordials.ts");
214
+ if ((0, node_fs.existsSync)(siblingLegacy)) return siblingLegacy;
215
+ const installedDir = node_path.default.resolve(repoRoot, "node_modules", "@socketsecurity", "lib", "dist", "primordials");
216
+ if ((0, node_fs.existsSync)(installedDir)) return installedDir;
217
+ const installedLegacy = node_path.default.resolve(repoRoot, "node_modules", "@socketsecurity", "lib", "dist", "primordials.d.ts");
218
+ if ((0, node_fs.existsSync)(installedLegacy)) return installedLegacy;
219
+ /* c8 ignore stop */
220
+ throw new require_primordials_error.ErrorCtor(`Cannot locate socket-lib primordials source. Looked at:\n ${siblingDir}\n ${siblingLegacy}\n ${installedDir}\n ${installedLegacy}\nEither clone socket-lib at ../socket-lib or run \`pnpm install\`.`);
277
221
  }
222
+ /**
223
+ * Strip `/* … *‍/` block comments and `//` line comments. Comments inside
224
+ * primordials destructures would otherwise leak captured names; stripping first
225
+ * keeps the regex simple.
226
+ */
278
227
  function stripComments(src) {
279
- let out = src.replace(/\/\*[\s\S]*?\*\//g, "");
280
- out = out.replace(/^[\t ]*\/\/.*$/gm, "");
281
- out = out.replace(/[\t ]+\/\/.*$/gm, "");
282
- return out;
228
+ let out = src.replace(/\/\*[\s\S]*?\*\//g, "");
229
+ out = out.replace(/^[\t ]*\/\/.*$/gm, "");
230
+ out = out.replace(/[\t ]+\/\/.*$/gm, "");
231
+ return out;
283
232
  }
284
- // Annotate the CommonJS export names for ESM import in node:
285
- 0 && (module.exports = {
286
- checkPrimordials,
287
- collectJsFiles,
288
- extractPrimordialsNames,
289
- extractTsExports,
290
- readSocketLibPrimordialNames,
291
- resolveSocketLibPrimordials,
292
- stripComments
293
- });
233
+
234
+ //#endregion
235
+ exports.checkPrimordials = checkPrimordials;
236
+ exports.collectJsFiles = collectJsFiles;
237
+ exports.extractPrimordialsNames = extractPrimordialsNames;
238
+ exports.extractTsExports = extractTsExports;
239
+ exports.readSocketLibPrimordialNames = readSocketLibPrimordialNames;
240
+ exports.resolveSocketLibPrimordials = resolveSocketLibPrimordials;
241
+ exports.stripComments = stripComments;
@@ -1,42 +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 convert_exports = {};
22
- __export(convert_exports, {
23
- isRgbTuple: () => isRgbTuple,
24
- toRgb: () => toRgb
25
- });
26
- module.exports = __toCommonJS(convert_exports);
27
- var import_array = require("../primordials/array");
28
- var import_palette = require("./palette");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_array = require('../primordials/array.js');
5
+ const require_colors_palette = require('./palette.js');
6
+
7
+ //#region src/colors/convert.ts
8
+ /**
9
+ * @file Color conversion helpers — `isRgbTuple()` narrows a `ColorValue` to the
10
+ * RGB-tuple branch, and `toRgb()` resolves a named color or passes through an
11
+ * existing tuple.
12
+ */
13
+ /**
14
+ * Type guard to check if a color value is an RGB tuple.
15
+ *
16
+ * @example
17
+ * ;```typescript
18
+ * isRgbTuple([255, 0, 0]) // true
19
+ * isRgbTuple('red') // false
20
+ * ```
21
+ *
22
+ * @param value - Color value to check.
23
+ *
24
+ * @returns `true` if value is an RGB tuple, `false` if it's a color name
25
+ */
29
26
  function isRgbTuple(value) {
30
- return (0, import_array.ArrayIsArray)(value);
27
+ return require_primordials_array.ArrayIsArray(value);
31
28
  }
29
+ /**
30
+ * Convert a color value to RGB tuple format. Named colors are looked up in the
31
+ * `colorToRgb` map, RGB tuples are returned as-is.
32
+ *
33
+ * @example
34
+ * ;```typescript
35
+ * toRgb('red') // [255, 0, 0]
36
+ * toRgb([0, 128, 0]) // [0, 128, 0]
37
+ * ```
38
+ *
39
+ * @param color - Color name or RGB tuple.
40
+ *
41
+ * @returns RGB tuple with values 0-255
42
+ */
32
43
  function toRgb(color) {
33
- if (isRgbTuple(color)) {
34
- return color;
35
- }
36
- return import_palette.colorToRgb[color];
44
+ if (isRgbTuple(color)) return color;
45
+ return require_colors_palette.colorToRgb[color];
37
46
  }
38
- // Annotate the CommonJS export names for ESM import in node:
39
- 0 && (module.exports = {
40
- isRgbTuple,
41
- toRgb
42
- });
47
+
48
+ //#endregion
49
+ exports.isRgbTuple = isRgbTuple;
50
+ exports.toRgb = toRgb;