@socketsecurity/lib 6.0.2 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/_virtual/_rolldown/runtime.js +45 -0
  3. package/dist/abort/signal.js +53 -59
  4. package/dist/ai/discover.js +110 -110
  5. package/dist/ai/profiles.d.mts +48 -25
  6. package/dist/ai/profiles.js +95 -59
  7. package/dist/ai/spawn.d.mts +2 -2
  8. package/dist/ai/spawn.js +172 -194
  9. package/dist/ai/types.d.mts +3 -3
  10. package/dist/ai/types.js +1 -17
  11. package/dist/ai/worktree.d.mts +2 -2
  12. package/dist/ai/worktree.js +160 -183
  13. package/dist/ansi/constants.js +16 -38
  14. package/dist/ansi/strip.js +44 -41
  15. package/dist/archives/_internal.js +64 -73
  16. package/dist/archives/detect.js +30 -43
  17. package/dist/archives/extract.js +43 -50
  18. package/dist/archives/tar.js +197 -228
  19. package/dist/archives/types.js +1 -17
  20. package/dist/archives/zip.js +85 -121
  21. package/dist/argv/flag-predicates.js +203 -101
  22. package/dist/argv/flag-types.js +96 -113
  23. package/dist/argv/parse-args-string.d.ts +16 -14
  24. package/dist/argv/parse-args-string.js +42 -39
  25. package/dist/argv/parse.js +145 -163
  26. package/dist/arrays/_internal.js +65 -48
  27. package/dist/arrays/chunk.js +51 -40
  28. package/dist/arrays/join.js +87 -35
  29. package/dist/arrays/predicates.js +46 -28
  30. package/dist/arrays/unique.js +45 -31
  31. package/dist/bin/_internal.js +34 -42
  32. package/dist/bin/check-primordials.js +175 -233
  33. package/dist/bin/check.js +51 -72
  34. package/dist/bin/exec.js +70 -74
  35. package/dist/bin/find.js +151 -134
  36. package/dist/bin/resolve.js +180 -246
  37. package/dist/bin/shadow.js +24 -33
  38. package/dist/bin/socket-lib.js +51 -73
  39. package/dist/bin/types.js +1 -17
  40. package/dist/bin/which.js +211 -146
  41. package/dist/cacache/_internal.js +25 -40
  42. package/dist/cacache/clear.js +79 -72
  43. package/dist/cacache/read.js +48 -46
  44. package/dist/cacache/tmp.js +29 -36
  45. package/dist/cacache/types.js +1 -17
  46. package/dist/cacache/write.js +43 -48
  47. package/dist/cache/ttl/store.js +232 -288
  48. package/dist/cache/ttl/types.js +1 -17
  49. package/dist/checks/primordials-defaults.js +83 -89
  50. package/dist/checks/primordials.js +225 -277
  51. package/dist/colors/convert.js +45 -37
  52. package/dist/colors/palette.js +88 -45
  53. package/dist/colors/socket-palette.js +74 -84
  54. package/dist/colors/types.js +1 -17
  55. package/dist/compression/_internal.js +57 -72
  56. package/dist/compression/brotli.js +94 -127
  57. package/dist/compression/gzip.js +95 -121
  58. package/dist/compression/types.js +1 -17
  59. package/dist/constants/agents.js +61 -113
  60. package/dist/constants/encoding.js +19 -42
  61. package/dist/constants/github.js +12 -30
  62. package/dist/constants/licenses.js +48 -63
  63. package/dist/constants/lifecycle-script-names.js +31 -45
  64. package/dist/constants/maintained-node-versions.js +22 -37
  65. package/dist/constants/node.js +226 -167
  66. package/dist/constants/package-default-node-range.js +16 -41
  67. package/dist/constants/package-default-socket-categories.js +12 -30
  68. package/dist/constants/packages.js +77 -126
  69. package/dist/constants/platform.js +27 -49
  70. package/dist/constants/sentinels.js +23 -48
  71. package/dist/constants/socket.js +42 -87
  72. package/dist/constants/testing.js +15 -34
  73. package/dist/constants/time.js +16 -36
  74. package/dist/constants/typescript.js +32 -52
  75. package/dist/cover/code.js +111 -142
  76. package/dist/cover/formatters.js +118 -101
  77. package/dist/cover/type.js +50 -76
  78. package/dist/cover/types.js +1 -17
  79. package/dist/crypto/hash.js +54 -46
  80. package/dist/debug/_internal.js +62 -71
  81. package/dist/debug/caller-info.js +53 -64
  82. package/dist/debug/namespace.js +80 -90
  83. package/dist/debug/output.js +172 -188
  84. package/dist/debug/types.js +1 -17
  85. package/dist/dlx/_internal.js +24 -43
  86. package/dist/dlx/arborist.js +162 -160
  87. package/dist/dlx/binary-cache.js +228 -200
  88. package/dist/dlx/binary-download.js +172 -211
  89. package/dist/dlx/binary-resolution.js +165 -157
  90. package/dist/dlx/binary-types.js +1 -17
  91. package/dist/dlx/binary.js +149 -189
  92. package/dist/dlx/cache.js +45 -30
  93. package/dist/dlx/detect.js +245 -167
  94. package/dist/dlx/dir.js +67 -51
  95. package/dist/dlx/firewall.js +62 -100
  96. package/dist/dlx/lockfile.js +122 -127
  97. package/dist/dlx/manifest.js +264 -274
  98. package/dist/dlx/package.js +241 -244
  99. package/dist/dlx/packages.js +99 -96
  100. package/dist/dlx/paths.js +73 -59
  101. package/dist/dlx/spec.js +52 -60
  102. package/dist/dlx/types.js +1 -17
  103. package/dist/eco/cargo/lockfile-format.js +19 -36
  104. package/dist/eco/cargo/manifest-format.js +17 -35
  105. package/dist/eco/cargo/parse-lockfile.js +210 -237
  106. package/dist/eco/manifest/analyze-lockfile.js +46 -63
  107. package/dist/eco/manifest/detect-format.js +66 -90
  108. package/dist/eco/manifest/find-packages.js +39 -64
  109. package/dist/eco/manifest/get-package-versions.js +27 -48
  110. package/dist/eco/manifest/get-package.js +21 -40
  111. package/dist/eco/manifest/manifest-error.js +14 -35
  112. package/dist/eco/manifest/parse-lockfile.js +40 -86
  113. package/dist/eco/manifest/parse-manifest.js +26 -43
  114. package/dist/eco/manifest/parse.js +26 -47
  115. package/dist/eco/manifest/types.js +1 -17
  116. package/dist/eco/npm/bun/exec.js +23 -32
  117. package/dist/eco/npm/manifest-format.js +21 -35
  118. package/dist/eco/npm/npm/exec.js +51 -61
  119. package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
  120. package/dist/eco/npm/npm/flags.js +80 -52
  121. package/dist/eco/npm/npm/lockfile-format.js +21 -40
  122. package/dist/eco/npm/npm/parse-git-url.js +26 -40
  123. package/dist/eco/npm/npm/parse-lockfile.js +184 -210
  124. package/dist/eco/npm/parse-package-json.js +71 -102
  125. package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
  126. package/dist/eco/npm/pnpm/exec.js +51 -62
  127. package/dist/eco/npm/pnpm/flags.js +75 -68
  128. package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
  129. package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
  130. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
  131. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
  132. package/dist/eco/npm/script.js +82 -90
  133. package/dist/eco/npm/vlt/exec.js +24 -32
  134. package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
  135. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
  136. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
  137. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
  138. package/dist/eco/purl.js +50 -60
  139. package/dist/eco/types.js +1 -17
  140. package/dist/effects/pulse-frames.js +64 -65
  141. package/dist/effects/shimmer-keyframes.js +71 -52
  142. package/dist/effects/shimmer-terminal.js +81 -50
  143. package/dist/effects/shimmer.js +290 -153
  144. package/dist/env/boolean.js +42 -43
  145. package/dist/env/case-insensitive.js +54 -39
  146. package/dist/env/ci.js +29 -31
  147. package/dist/env/debug.js +28 -31
  148. package/dist/env/github.js +144 -59
  149. package/dist/env/home.js +38 -31
  150. package/dist/env/locale.js +59 -39
  151. package/dist/env/node-auth-token.js +28 -31
  152. package/dist/env/node-env.js +28 -31
  153. package/dist/env/npm.js +94 -47
  154. package/dist/env/number.js +50 -51
  155. package/dist/env/package-manager.js +95 -83
  156. package/dist/env/path.js +28 -31
  157. package/dist/env/pre-commit.js +30 -32
  158. package/dist/env/proxy.js +121 -122
  159. package/dist/env/rewire.js +204 -96
  160. package/dist/env/shell.js +28 -31
  161. package/dist/env/socket-cli.js +233 -81
  162. package/dist/env/socket.js +521 -156
  163. package/dist/env/string.js +43 -44
  164. package/dist/env/temp-dir.js +59 -39
  165. package/dist/env/term.js +28 -31
  166. package/dist/env/test.js +65 -43
  167. package/dist/env/types.js +1 -17
  168. package/dist/env/windows.js +78 -43
  169. package/dist/env/xdg.js +62 -39
  170. package/dist/errors/message.js +40 -46
  171. package/dist/errors/predicates.js +61 -49
  172. package/dist/errors/stack.js +24 -36
  173. package/dist/events/exit/_internal.js +86 -103
  174. package/dist/events/exit/handler.js +48 -55
  175. package/dist/events/exit/intercept.js +49 -70
  176. package/dist/events/exit/lifecycle.js +92 -101
  177. package/dist/events/exit/signals.js +25 -31
  178. package/dist/events/exit/types.js +1 -17
  179. package/dist/events/warning/handler.js +43 -40
  180. package/dist/events/warning/suppress.js +111 -90
  181. package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
  182. package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
  183. package/dist/external/@npmcli/package-json.js +12705 -15140
  184. package/dist/external/@npmcli/promise-spawn.js +451 -472
  185. package/dist/external/@sinclair/typebox/value.js +7443 -9002
  186. package/dist/external/@sinclair/typebox.js +7516 -7885
  187. package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
  188. package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
  189. package/dist/external/@socketregistry/yocto-spinner.js +394 -455
  190. package/dist/external/@yarnpkg/extensions.js +435 -1022
  191. package/dist/external/adm-zip.js +2313 -2673
  192. package/dist/external/debug.js +700 -687
  193. package/dist/external/external-pack.js +2658 -3171
  194. package/dist/external/fast-sort.js +124 -138
  195. package/dist/external/get-east-asian-width.js +70 -64
  196. package/dist/external/libnpmexec.js +28 -31
  197. package/dist/external/npm-pack.js +43617 -50137
  198. package/dist/external/p-map.js +198 -222
  199. package/dist/external/pico-pack.js +6735 -7304
  200. package/dist/external/pony-cause.js +143 -139
  201. package/dist/external/shell-quote.js +226 -0
  202. package/dist/external/spdx-pack.js +1283 -1403
  203. package/dist/external/streaming-iterables.js +835 -1052
  204. package/dist/external/tar-fs.js +2769 -3048
  205. package/dist/external/which.js +267 -251
  206. package/dist/external/yargs-parser.js +851 -1074
  207. package/dist/external-tools/bazel/asset-names.js +98 -90
  208. package/dist/external-tools/bazel/from-download.js +52 -46
  209. package/dist/external-tools/bazel/from-path.js +27 -38
  210. package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
  211. package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
  212. package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
  213. package/dist/external-tools/bazel/resolve.js +44 -58
  214. package/dist/external-tools/bazel/types.js +1 -17
  215. package/dist/external-tools/cdxgen/asset-names.js +59 -66
  216. package/dist/external-tools/cdxgen/from-download.js +52 -80
  217. package/dist/external-tools/cdxgen/from-path.js +19 -37
  218. package/dist/external-tools/cdxgen/from-vfs.js +22 -43
  219. package/dist/external-tools/cdxgen/resolve.js +48 -63
  220. package/dist/external-tools/cdxgen/types.js +1 -17
  221. package/dist/external-tools/from-download.js +107 -67
  222. package/dist/external-tools/janus/asset-names.js +44 -51
  223. package/dist/external-tools/janus/from-download.js +45 -70
  224. package/dist/external-tools/janus/from-path.js +19 -37
  225. package/dist/external-tools/janus/from-vfs.js +22 -43
  226. package/dist/external-tools/janus/resolve.js +45 -63
  227. package/dist/external-tools/janus/types.js +1 -17
  228. package/dist/external-tools/jre/asset-names.js +109 -82
  229. package/dist/external-tools/jre/detect-platform-arch.js +25 -49
  230. package/dist/external-tools/jre/from-download.js +71 -67
  231. package/dist/external-tools/jre/from-java-home.js +27 -54
  232. package/dist/external-tools/jre/from-path.js +27 -49
  233. package/dist/external-tools/jre/from-vfs.js +39 -60
  234. package/dist/external-tools/jre/resolve.js +55 -68
  235. package/dist/external-tools/jre/types.js +1 -17
  236. package/dist/external-tools/manifest.js +130 -150
  237. package/dist/external-tools/opengrep/asset-names.js +60 -72
  238. package/dist/external-tools/opengrep/from-download.js +58 -80
  239. package/dist/external-tools/opengrep/from-path.js +19 -37
  240. package/dist/external-tools/opengrep/from-vfs.js +23 -43
  241. package/dist/external-tools/opengrep/resolve.js +43 -63
  242. package/dist/external-tools/opengrep/types.js +1 -17
  243. package/dist/external-tools/sbt/asset-names.js +21 -30
  244. package/dist/external-tools/sbt/from-download.js +50 -61
  245. package/dist/external-tools/sbt/from-path.js +23 -38
  246. package/dist/external-tools/sbt/from-vfs.js +30 -44
  247. package/dist/external-tools/sbt/resolve.js +45 -63
  248. package/dist/external-tools/sbt/types.js +1 -17
  249. package/dist/external-tools/synp/asset-names.js +11 -29
  250. package/dist/external-tools/synp/from-download.js +24 -41
  251. package/dist/external-tools/synp/from-path.js +19 -37
  252. package/dist/external-tools/synp/from-vfs.js +22 -43
  253. package/dist/external-tools/synp/resolve.js +43 -62
  254. package/dist/external-tools/synp/types.js +1 -17
  255. package/dist/external-tools/trivy/asset-names.js +51 -62
  256. package/dist/external-tools/trivy/from-download.js +42 -64
  257. package/dist/external-tools/trivy/from-path.js +19 -37
  258. package/dist/external-tools/trivy/from-vfs.js +22 -43
  259. package/dist/external-tools/trivy/resolve.js +43 -63
  260. package/dist/external-tools/trivy/types.js +1 -17
  261. package/dist/external-tools/trufflehog/asset-names.js +54 -66
  262. package/dist/external-tools/trufflehog/from-download.js +44 -62
  263. package/dist/external-tools/trufflehog/from-path.js +21 -37
  264. package/dist/external-tools/trufflehog/from-vfs.js +26 -43
  265. package/dist/external-tools/trufflehog/resolve.js +43 -63
  266. package/dist/external-tools/trufflehog/types.js +1 -17
  267. package/dist/external-tools/uv/asset-names.js +64 -74
  268. package/dist/external-tools/uv/from-download.js +44 -65
  269. package/dist/external-tools/uv/from-path.js +19 -37
  270. package/dist/external-tools/uv/from-vfs.js +22 -43
  271. package/dist/external-tools/uv/resolve.js +42 -63
  272. package/dist/external-tools/uv/types.js +1 -17
  273. package/dist/fs/_internal.js +40 -42
  274. package/dist/fs/access.d.ts +32 -0
  275. package/dist/fs/access.js +66 -0
  276. package/dist/fs/encoding.js +80 -97
  277. package/dist/fs/find-up.js +126 -147
  278. package/dist/fs/inspect.js +168 -99
  279. package/dist/fs/path-cache.js +31 -32
  280. package/dist/fs/read-dir.js +102 -79
  281. package/dist/fs/read-file.js +177 -118
  282. package/dist/fs/read-json-cache.js +150 -134
  283. package/dist/fs/read-json.js +172 -187
  284. package/dist/fs/resolve-module.d.ts +57 -0
  285. package/dist/fs/resolve-module.js +40 -0
  286. package/dist/fs/safe.js +278 -169
  287. package/dist/fs/types.js +1 -17
  288. package/dist/fs/unique.js +52 -48
  289. package/dist/fs/validate.js +56 -43
  290. package/dist/fs/write-json.js +109 -75
  291. package/dist/git/_internal.js +251 -216
  292. package/dist/git/changed.js +191 -74
  293. package/dist/git/repo.js +118 -104
  294. package/dist/git/staged.js +172 -62
  295. package/dist/git/types.js +1 -17
  296. package/dist/git/unstaged.js +175 -62
  297. package/dist/github/constants.js +25 -33
  298. package/dist/github/errors.js +46 -38
  299. package/dist/github/fetch.js +137 -82
  300. package/dist/github/ghsa.js +217 -151
  301. package/dist/github/refs-cache.js +54 -43
  302. package/dist/github/refs-graphql.js +97 -89
  303. package/dist/github/refs-rest.js +70 -101
  304. package/dist/github/refs.js +105 -64
  305. package/dist/github/token.js +96 -48
  306. package/dist/github/types.js +1 -17
  307. package/dist/globs/_internal.js +73 -82
  308. package/dist/globs/defaults.js +40 -59
  309. package/dist/globs/match.js +93 -77
  310. package/dist/globs/matcher.js +104 -92
  311. package/dist/globs/stream.js +43 -55
  312. package/dist/globs/types.js +1 -17
  313. package/dist/http-request/_internal.js +11 -38
  314. package/dist/http-request/browser-fetch.js +19 -29
  315. package/dist/http-request/browser.js +188 -206
  316. package/dist/http-request/checksums.js +101 -65
  317. package/dist/http-request/download-types.js +1 -17
  318. package/dist/http-request/download.js +195 -196
  319. package/dist/http-request/errors.js +39 -47
  320. package/dist/http-request/headers.js +95 -80
  321. package/dist/http-request/http-request.js +10 -35
  322. package/dist/http-request/node.js +71 -97
  323. package/dist/http-request/request-attempt.js +232 -285
  324. package/dist/http-request/request-types.js +1 -17
  325. package/dist/http-request/request.js +106 -108
  326. package/dist/http-request/response-reader.js +47 -51
  327. package/dist/http-request/response-types.js +22 -38
  328. package/dist/http-request/user-agent.js +73 -55
  329. package/dist/integrity.js +105 -106
  330. package/dist/ipc/_internal.js +34 -48
  331. package/dist/ipc/directory.js +55 -63
  332. package/dist/ipc/paths.js +52 -45
  333. package/dist/ipc/types.js +1 -17
  334. package/dist/ipc/write.js +81 -74
  335. package/dist/ipc-cli/get.js +29 -56
  336. package/dist/ipc-cli/types.js +1 -17
  337. package/dist/json/edit.js +182 -242
  338. package/dist/json/format.js +202 -103
  339. package/dist/json/parse.js +206 -109
  340. package/dist/json/types.js +1 -17
  341. package/dist/links/create.js +93 -60
  342. package/dist/links/types.js +1 -17
  343. package/dist/logger/_internal.js +109 -73
  344. package/dist/logger/browser.js +45 -56
  345. package/dist/logger/colors.js +31 -49
  346. package/dist/logger/console.js +89 -112
  347. package/dist/logger/default.js +19 -33
  348. package/dist/logger/logger.js +5 -29
  349. package/dist/logger/node.js +794 -854
  350. package/dist/logger/symbols-builder.js +54 -56
  351. package/dist/logger/symbols.js +135 -118
  352. package/dist/logger/types.js +1 -17
  353. package/dist/memo/_internal.js +39 -49
  354. package/dist/memo/async.js +133 -117
  355. package/dist/memo/clear.js +25 -34
  356. package/dist/memo/decorator.js +43 -37
  357. package/dist/memo/memoize.js +97 -88
  358. package/dist/memo/once.js +42 -41
  359. package/dist/memo/types.js +1 -17
  360. package/dist/memo/weak.js +45 -41
  361. package/dist/node/async-hooks.js +9 -30
  362. package/dist/node/child-process.js +9 -30
  363. package/dist/node/crypto.js +9 -30
  364. package/dist/node/events.js +9 -30
  365. package/dist/node/fs-promises.js +9 -30
  366. package/dist/node/fs.js +9 -30
  367. package/dist/node/http.js +9 -30
  368. package/dist/node/https.js +9 -30
  369. package/dist/node/module.js +20 -34
  370. package/dist/node/os.js +9 -30
  371. package/dist/node/path.js +9 -30
  372. package/dist/node/timers-promises.js +9 -30
  373. package/dist/node/url.js +9 -30
  374. package/dist/node/util.js +9 -30
  375. package/dist/objects/getters.js +185 -126
  376. package/dist/objects/inspect.js +85 -52
  377. package/dist/objects/mutate.js +96 -76
  378. package/dist/objects/predicates.js +112 -59
  379. package/dist/objects/sort.js +120 -76
  380. package/dist/objects/types.js +1 -17
  381. package/dist/packages/edit-class.js +198 -265
  382. package/dist/packages/edit.js +79 -86
  383. package/dist/packages/exports.js +146 -157
  384. package/dist/packages/isolation.js +159 -209
  385. package/dist/packages/licenses.js +207 -189
  386. package/dist/packages/manifest.js +134 -172
  387. package/dist/packages/normalize.js +91 -102
  388. package/dist/packages/operations.d.ts +2 -0
  389. package/dist/packages/operations.js +283 -254
  390. package/dist/packages/provenance.js +195 -245
  391. package/dist/packages/specs.js +94 -84
  392. package/dist/packages/types.js +1 -17
  393. package/dist/packages/validation.js +49 -50
  394. package/dist/paths/_internal.js +82 -86
  395. package/dist/paths/conversion.js +112 -65
  396. package/dist/paths/dirnames.js +17 -42
  397. package/dist/paths/exts.js +23 -54
  398. package/dist/paths/filenames.js +21 -50
  399. package/dist/paths/globs.js +15 -38
  400. package/dist/paths/normalize.js +215 -236
  401. package/dist/paths/packages.js +34 -49
  402. package/dist/paths/predicates.js +184 -106
  403. package/dist/paths/resolve.js +146 -128
  404. package/dist/paths/rewire.js +108 -72
  405. package/dist/paths/socket.js +252 -132
  406. package/dist/paths/walk.d.ts +40 -0
  407. package/dist/paths/walk.js +58 -0
  408. package/dist/perf/_internal.js +10 -28
  409. package/dist/perf/enabled.js +21 -30
  410. package/dist/perf/metrics.js +81 -67
  411. package/dist/perf/report.js +79 -80
  412. package/dist/perf/timer.js +180 -126
  413. package/dist/perf/types.js +1 -17
  414. package/dist/pkg-ext/data.js +29 -82
  415. package/dist/pkg-ext/types.js +1 -17
  416. package/dist/primordials/array.js +120 -198
  417. package/dist/primordials/buffer.js +28 -51
  418. package/dist/primordials/date.js +26 -51
  419. package/dist/primordials/error.js +33 -59
  420. package/dist/primordials/function.js +21 -41
  421. package/dist/primordials/globals.js +25 -48
  422. package/dist/primordials/json.js +14 -30
  423. package/dist/primordials/map-set.js +88 -152
  424. package/dist/primordials/math.js +59 -116
  425. package/dist/primordials/number.js +41 -76
  426. package/dist/primordials/object.js +56 -116
  427. package/dist/primordials/promise.js +28 -52
  428. package/dist/primordials/reflect.js +24 -52
  429. package/dist/primordials/regexp.js +25 -47
  430. package/dist/primordials/string.js +114 -167
  431. package/dist/primordials/symbol.js +40 -72
  432. package/dist/primordials/uncurry.js +38 -55
  433. package/dist/primordials/url.js +27 -66
  434. package/dist/process/_internal.js +7 -32
  435. package/dist/process/abort.js +29 -35
  436. package/dist/process/lock-instance.js +26 -30
  437. package/dist/process/lock-manager.js +279 -307
  438. package/dist/process/lock-types.js +1 -17
  439. package/dist/process/spawn/_internal.js +43 -55
  440. package/dist/process/spawn/child.js +172 -211
  441. package/dist/process/spawn/errors.js +116 -113
  442. package/dist/process/spawn/stdio.js +51 -35
  443. package/dist/process/spawn/types.js +1 -17
  444. package/dist/process/transient.js +49 -66
  445. package/dist/promises/_internal.d.ts +8 -2
  446. package/dist/promises/_internal.js +31 -38
  447. package/dist/promises/iterate.js +238 -102
  448. package/dist/promises/options.js +123 -101
  449. package/dist/promises/queue.js +115 -136
  450. package/dist/promises/resolvers.js +77 -46
  451. package/dist/promises/retry.js +156 -101
  452. package/dist/promises/types.js +1 -17
  453. package/dist/regexps/escape.js +32 -30
  454. package/dist/regexps/hex.js +16 -33
  455. package/dist/regexps/spec.js +53 -81
  456. package/dist/releases/github-archives.js +127 -118
  457. package/dist/releases/github-asset-url.js +162 -155
  458. package/dist/releases/github-assets.js +37 -49
  459. package/dist/releases/github-auth.js +32 -48
  460. package/dist/releases/github-downloads.js +118 -138
  461. package/dist/releases/github-listing.js +175 -154
  462. package/dist/releases/github-retry-config.d.ts +31 -0
  463. package/dist/releases/github-retry-config.js +46 -0
  464. package/dist/releases/github-types.js +1 -17
  465. package/dist/releases/socket-btm.js +273 -192
  466. package/dist/schema/parse.js +35 -36
  467. package/dist/schema/types.js +1 -17
  468. package/dist/schema/validate.js +118 -99
  469. package/dist/sea/detect.js +57 -52
  470. package/dist/secrets/_internal.js +86 -67
  471. package/dist/secrets/find.js +96 -77
  472. package/dist/secrets/keychain.js +315 -309
  473. package/dist/secrets/linux.js +133 -135
  474. package/dist/secrets/macos.js +151 -147
  475. package/dist/secrets/rc.js +182 -181
  476. package/dist/secrets/socket-api-token.js +28 -43
  477. package/dist/secrets/types.js +1 -17
  478. package/dist/secrets/windows.js +184 -242
  479. package/dist/shadow/skip.js +51 -70
  480. package/dist/shadow/types.js +1 -17
  481. package/dist/shell/parse.d.ts +26 -0
  482. package/dist/shell/parse.js +35 -0
  483. package/dist/shell/quote.d.ts +19 -0
  484. package/dist/shell/quote.js +30 -0
  485. package/dist/smol/detect.js +67 -43
  486. package/dist/smol/http.js +33 -37
  487. package/dist/smol/https.js +31 -37
  488. package/dist/smol/manifest.js +33 -37
  489. package/dist/smol/path.d.ts +51 -0
  490. package/dist/smol/path.js +38 -0
  491. package/dist/smol/primordial.js +35 -37
  492. package/dist/smol/purl.js +34 -37
  493. package/dist/smol/versions.js +31 -37
  494. package/dist/smol/vfs.js +46 -38
  495. package/dist/sorts/_internal.js +14 -40
  496. package/dist/sorts/natural.js +57 -64
  497. package/dist/sorts/semver.js +33 -43
  498. package/dist/sorts/strings.js +24 -30
  499. package/dist/sorts/types.js +1 -17
  500. package/dist/spinner/default.js +72 -63
  501. package/dist/spinner/format.js +86 -71
  502. package/dist/spinner/spinner.js +749 -797
  503. package/dist/spinner/types.js +1 -17
  504. package/dist/spinner/with.js +193 -137
  505. package/dist/ssri/convert.js +64 -47
  506. package/dist/ssri/parse.js +38 -37
  507. package/dist/ssri/validate.js +51 -34
  508. package/dist/stdio/_internal.js +50 -46
  509. package/dist/stdio/clear.js +208 -86
  510. package/dist/stdio/divider.js +170 -97
  511. package/dist/stdio/footer.js +116 -110
  512. package/dist/stdio/header.js +117 -90
  513. package/dist/stdio/progress.js +189 -218
  514. package/dist/stdio/prompts.js +244 -168
  515. package/dist/stdio/stderr.js +173 -78
  516. package/dist/stdio/stdout.js +177 -94
  517. package/dist/streams/parallel.js +58 -50
  518. package/dist/streams/transform.js +36 -45
  519. package/dist/strings/format.js +145 -63
  520. package/dist/strings/predicates.js +56 -34
  521. package/dist/strings/search.js +52 -42
  522. package/dist/strings/transform.js +113 -72
  523. package/dist/strings/types.js +1 -17
  524. package/dist/strings/width.js +89 -82
  525. package/dist/tables/bordered.js +81 -81
  526. package/dist/tables/padding.js +36 -46
  527. package/dist/tables/simple.js +62 -70
  528. package/dist/tables/types.js +1 -17
  529. package/dist/temporal/instant.js +72 -81
  530. package/dist/temporal/now.js +40 -31
  531. package/dist/temporal/slots.js +42 -36
  532. package/dist/temporal/system.js +36 -36
  533. package/dist/temporal/temporal.js +11 -41
  534. package/dist/themes/context.js +131 -69
  535. package/dist/themes/resolve.js +207 -132
  536. package/dist/themes/themes.js +225 -194
  537. package/dist/themes/types.js +1 -17
  538. package/dist/url/parse.js +48 -51
  539. package/dist/url/predicates.js +24 -31
  540. package/dist/url/search-params.js +133 -101
  541. package/dist/url/types.js +1 -17
  542. package/dist/versions/_internal.js +31 -33
  543. package/dist/versions/compare.js +80 -58
  544. package/dist/versions/modify.js +41 -39
  545. package/dist/versions/parse.js +88 -64
  546. package/dist/versions/range.js +58 -41
  547. package/dist/versions/types.js +1 -17
  548. package/dist/words/article.js +22 -30
  549. package/dist/words/capitalize.js +25 -34
  550. package/dist/words/pluralize.js +23 -31
  551. package/dist/words/types.js +1 -17
  552. package/package.json +42 -5
@@ -1,79 +1,57 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- /* Socket Lib - Built with esbuild */
4
- "use strict";
5
- var __create = Object.create;
6
- var __defProp = Object.defineProperty;
7
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
- var __getOwnPropNames = Object.getOwnPropertyNames;
9
- var __getProtoOf = Object.getPrototypeOf;
10
- var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __export = (target, all) => {
12
- for (var name in all)
13
- __defProp(target, name, { get: all[name], enumerable: true });
14
- };
15
- var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from))
18
- if (!__hasOwnProp.call(to, key) && key !== except)
19
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
- }
21
- return to;
22
- };
23
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24
- // If the importer is in node compatibility mode or this is not an ESM
25
- // file that has been converted to a CommonJS file using a Babel-
26
- // compatible transform (i.e. "__esModule" has not been set), then set
27
- // "default" to the CommonJS "module.exports" for node compatibility.
28
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29
- mod
30
- ));
31
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
- var socket_lib_exports = {};
33
- __export(socket_lib_exports, {
34
- main: () => main,
35
- printHelp: () => printHelp
36
- });
37
- module.exports = __toCommonJS(socket_lib_exports);
38
- var import_node_process = __toESM(require("node:process"));
39
- var import_default = require("../logger/default");
40
- var import_check = require("./check");
41
- const logger = (0, import_default.getDefaultLogger)();
3
+ /* Socket Lib - Built with rolldown */
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
6
+ const require_logger_default = require('../logger/default.js');
7
+ const require_bin_check = require('./check.js');
8
+ let node_process = require("node:process");
9
+ node_process = require_runtime.__toESM(node_process);
10
+
11
+ //#region src/bin/socket-lib.ts
12
+ /**
13
+ * @file `socket-lib` CLI entry point top-level dispatcher. socket-lib — print
14
+ * help, list commands socket-lib check <name> [opts...] — run a fleet-wide
15
+ * check Subcommands live as siblings under `src/bin/`; each is its own file
16
+ * so a misbehaving check can't crash other commands at parse time. The
17
+ * dispatcher just routes; subcommands own their own arg parsing. The CLI is
18
+ * shipped via the `bin` field in package.json and intended to be invoked as
19
+ * `pnpm exec socket-lib <command>` from any consumer that has
20
+ * `@socketsecurity/lib` as a (dev)dependency.
21
+ */
22
+ const logger = require_logger_default.getDefaultLogger();
42
23
  function printHelp() {
43
- logger.log("socket-lib \u2014 fleet-wide static-analysis CLI");
44
- logger.log("");
45
- logger.log("Usage:");
46
- logger.log(" socket-lib <command> [...args]");
47
- logger.log("");
48
- logger.log("Commands:");
49
- logger.log(" check <name> Run a fleet-wide check (primordials, ...).");
50
- logger.log("");
51
- logger.log("Run `socket-lib check --help` for the list of checks.");
52
- }
53
- async function main(args = import_node_process.default.argv.slice(2)) {
54
- const command = args[0];
55
- if (!command || command === "--help" || command === "-h") {
56
- printHelp();
57
- return 0;
58
- }
59
- switch (command) {
60
- case "check": {
61
- return await (0, import_check.runCheck)(args.slice(1));
62
- }
63
- default: {
64
- logger.error(`socket-lib: unknown command '${command}'`);
65
- logger.error("Run `socket-lib --help` for the list of commands.");
66
- return 1;
67
- }
68
- }
24
+ logger.log("socket-lib fleet-wide static-analysis CLI");
25
+ logger.log("");
26
+ logger.log("Usage:");
27
+ logger.log(" socket-lib <command> [...args]");
28
+ logger.log("");
29
+ logger.log("Commands:");
30
+ logger.log(" check <name> Run a fleet-wide check (primordials, ...).");
31
+ logger.log("");
32
+ logger.log("Run `socket-lib check --help` for the list of checks.");
69
33
  }
70
- if (typeof require !== "undefined" && require.main === module) {
71
- void main().then((code) => {
72
- import_node_process.default.exit(code);
73
- });
34
+ async function main(args = node_process.default.argv.slice(2)) {
35
+ const command = args[0];
36
+ if (!command || command === "--help" || command === "-h") {
37
+ printHelp();
38
+ return 0;
39
+ }
40
+ switch (command) {
41
+ case "check": return await require_bin_check.runCheck(args.slice(1));
42
+ default:
43
+ logger.error(`socket-lib: unknown command '${command}'`);
44
+ logger.error("Run `socket-lib --help` for the list of commands.");
45
+ return 1;
46
+ }
74
47
  }
75
- // Annotate the CommonJS export names for ESM import in node:
76
- 0 && (module.exports = {
77
- main,
78
- printHelp
48
+ /* c8 ignore start - CJS CLI entry guard; only fires when this
49
+ module is invoked as the bin (`socket-lib`), not when imported. */
50
+ if (typeof require !== "undefined" && require.main === module) main().then((code) => {
51
+ node_process.default.exit(code);
79
52
  });
53
+ /* c8 ignore stop */
54
+
55
+ //#endregion
56
+ exports.main = main;
57
+ exports.printHelp = printHelp;
package/dist/bin/types.js CHANGED
@@ -1,18 +1,2 @@
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 __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
17
- var types_exports = {};
18
- module.exports = __toCommonJS(types_exports);
2
+ /* Socket Lib - Built with rolldown */
package/dist/bin/which.js CHANGED
@@ -1,155 +1,220 @@
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 which_exports = {};
32
- __export(which_exports, {
33
- which: () => which,
34
- whichReal: () => whichReal,
35
- whichRealSync: () => whichRealSync,
36
- whichSync: () => whichSync
37
- });
38
- module.exports = __toCommonJS(which_exports);
39
- var import_which = __toESM(require("../external/which"));
40
- var import_normalize = require("../paths/normalize");
41
- var import_array = require("../primordials/array");
42
- var import_internal = require("./_internal");
43
- var import_resolve = require("./resolve");
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_paths_predicates = require('../paths/predicates.js');
6
+ const require_primordials_array = require('../primordials/array.js');
7
+ const require_node_fs = require('../node/fs.js');
8
+ const require_bin__internal = require('./_internal.js');
9
+ const require_bin_resolve = require('./resolve.js');
10
+ let src_external_which = require("../external/which");
11
+ src_external_which = require_runtime.__toESM(src_external_which);
12
+
13
+ //#region src/bin/which.ts
14
+ /**
15
+ * @file Look up binaries on PATH. Two pairs of public functions: `which` /
16
+ * `whichSync` wrap the upstream `which` package, returning the first
17
+ * matching path (or array with `{ all: true }`). Path-like inputs (absolute
18
+ * paths, `./relative`, `../relative`) bypass PATH resolution and pass through
19
+ * unchanged. Both are tolerant — they return `null` for not-found instead of
20
+ * throwing. `whichReal` / `whichRealSync` — same but resolve the result
21
+ * through `resolveRealBinSync` so the caller gets the underlying script path
22
+ * (e.g., `npm-cli.js`) rather than the wrapper. Default `nothrow: true` so a
23
+ * missing binary returns `undefined` instead of bubbling a `which` package
24
+ * error. Caching matches `_internal.binPathCache` and `binPathAllCache`. Both
25
+ * caches validate hits with `existsSync` so a tool reinstall mid-session
26
+ * doesn't return a stale path.
27
+ */
28
+ /**
29
+ * Find an executable in the system PATH asynchronously.
30
+ *
31
+ * This function resolves binary names to their full paths by searching the
32
+ * system PATH. It should only be used for binary names (not paths). If the
33
+ * input is already a path (absolute or relative), it will be returned as-is
34
+ * without PATH resolution.
35
+ *
36
+ * Binary name vs. path detection:
37
+ *
38
+ * - Binary names: 'npm', 'git', 'node' - will be resolved via PATH
39
+ * - Absolute paths: '/usr/bin/node', 'C:\Program Files\nodejs\node.exe' -
40
+ * returned as-is
41
+ * - Relative paths: './node', '../bin/npm' - returned as-is
42
+ *
43
+ * @example
44
+ * ;```typescript
45
+ * // Resolve binary names
46
+ * await which('node') // '/usr/local/bin/node'
47
+ * await which('npm') // '/usr/local/bin/npm'
48
+ * await which('nonexistent') // null
49
+ *
50
+ * // Paths are returned as-is
51
+ * await which('/usr/bin/node') // '/usr/bin/node'
52
+ * await which('./local-script') // './local-script'
53
+ * ```
54
+ *
55
+ * @param {string} binName - The binary name to resolve (e.g., 'npm', 'git')
56
+ * @param {WhichOptions | undefined} options - Options for resolution.
57
+ *
58
+ * @returns {Promise<string | string[] | null>} Promise resolving to the full
59
+ * path, the original path, or null if not found.
60
+ */
44
61
  async function which(binName, options) {
45
- if ((0, import_normalize.isPath)(binName)) {
46
- return binName;
47
- }
48
- try {
49
- const result = await (0, import_which.default)(
50
- binName,
51
- options
52
- );
53
- return result;
54
- } catch {
55
- return null;
56
- }
62
+ if (/* @__PURE__ */ require_paths_predicates.isPath(binName)) return binName;
63
+ try {
64
+ return await (0, src_external_which.default)(binName, options);
65
+ } catch {
66
+ return null;
67
+ }
57
68
  }
69
+ /**
70
+ * Find a binary in the system PATH and resolve to the real underlying script
71
+ * asynchronously. Resolves wrapper scripts (.cmd, .ps1, shell scripts) to the
72
+ * actual .js files they execute.
73
+ *
74
+ * @example
75
+ * ;```typescript
76
+ * const npmPath = await whichReal('npm')
77
+ * // e.g. '/usr/local/lib/node_modules/npm/bin/npm-cli.js'
78
+ * ```
79
+ *
80
+ * @throws {Error} If the binary is not found and nothrow is false.
81
+ */
58
82
  async function whichReal(binName, options) {
59
- const fs = (0, import_internal.getFs)();
60
- const opts = { __proto__: null, nothrow: true, ...options };
61
- if (opts.all) {
62
- const cachedAll = import_internal.binPathAllCache.get(binName);
63
- if (cachedAll && cachedAll.length > 0) {
64
- if (fs.existsSync(cachedAll[0])) {
65
- return cachedAll;
66
- }
67
- import_internal.binPathAllCache.delete(binName);
68
- }
69
- } else {
70
- const cached = import_internal.binPathCache.get(binName);
71
- if (cached) {
72
- if (fs.existsSync(cached)) {
73
- return cached;
74
- }
75
- import_internal.binPathCache.delete(binName);
76
- }
77
- }
78
- const result = await (0, import_which.default)(
79
- binName,
80
- opts
81
- );
82
- if (opts?.all) {
83
- const paths = (0, import_array.ArrayIsArray)(result) ? result : typeof result === "string" ? [result] : void 0;
84
- if (paths?.length) {
85
- const resolved2 = (0, import_array.ArrayPrototypeMap)(paths, (p) => (0, import_resolve.resolveRealBinSync)(p));
86
- import_internal.binPathAllCache.set(binName, resolved2);
87
- return resolved2;
88
- }
89
- return paths;
90
- }
91
- if (!result) {
92
- return void 0;
93
- }
94
- const resolved = (0, import_resolve.resolveRealBinSync)(result);
95
- import_internal.binPathCache.set(binName, resolved);
96
- return resolved;
83
+ const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
84
+ const opts = {
85
+ __proto__: null,
86
+ nothrow: true,
87
+ ...options
88
+ };
89
+ /* c8 ignore start */
90
+ if (opts.all) {
91
+ const cachedAll = require_bin__internal.binPathAllCache.get(binName);
92
+ if (cachedAll && cachedAll.length > 0) {
93
+ if (fs.existsSync(cachedAll[0])) return cachedAll;
94
+ require_bin__internal.binPathAllCache.delete(binName);
95
+ }
96
+ } else {
97
+ const cached = require_bin__internal.binPathCache.get(binName);
98
+ if (cached) {
99
+ if (fs.existsSync(cached)) return cached;
100
+ require_bin__internal.binPathCache.delete(binName);
101
+ }
102
+ }
103
+ /* c8 ignore stop */
104
+ /* c8 ignore next - External which call */
105
+ const result = await (0, src_external_which.default)(binName, opts);
106
+ /* c8 ignore start */
107
+ if (opts?.all) {
108
+ const paths = require_primordials_array.ArrayIsArray(result) ? result : typeof result === "string" ? [result] : void 0;
109
+ if (paths?.length) {
110
+ const resolved = require_primordials_array.ArrayPrototypeMap(paths, (p) => /* @__PURE__ */ require_bin_resolve.resolveRealBinSync(p));
111
+ require_bin__internal.binPathAllCache.set(binName, resolved);
112
+ return resolved;
113
+ }
114
+ return paths;
115
+ }
116
+ if (!result) return;
117
+ /* c8 ignore stop */
118
+ const resolved = /* @__PURE__ */ require_bin_resolve.resolveRealBinSync(result);
119
+ require_bin__internal.binPathCache.set(binName, resolved);
120
+ return resolved;
97
121
  }
122
+ /**
123
+ * Find a binary in the system PATH and resolve to the real underlying script
124
+ * synchronously. Resolves wrapper scripts (.cmd, .ps1, shell scripts) to the
125
+ * actual .js files they execute.
126
+ *
127
+ * @example
128
+ * ;```typescript
129
+ * const npmPath = whichRealSync('npm')
130
+ * // e.g. '/usr/local/lib/node_modules/npm/bin/npm-cli.js'
131
+ * ```
132
+ *
133
+ * @throws {Error} If the binary is not found and nothrow is false.
134
+ */
98
135
  function whichRealSync(binName, options) {
99
- const fs = (0, import_internal.getFs)();
100
- const opts = { __proto__: null, nothrow: true, ...options };
101
- if (opts.all) {
102
- const cachedAll = import_internal.binPathAllCache.get(binName);
103
- if (cachedAll && cachedAll.length > 0) {
104
- if (fs.existsSync(cachedAll[0])) {
105
- return cachedAll;
106
- }
107
- import_internal.binPathAllCache.delete(binName);
108
- }
109
- } else {
110
- const cached = import_internal.binPathCache.get(binName);
111
- if (cached) {
112
- if (fs.existsSync(cached)) {
113
- return cached;
114
- }
115
- import_internal.binPathCache.delete(binName);
116
- }
117
- }
118
- const result = whichSync(binName, opts);
119
- if (opts.all) {
120
- const paths = (0, import_array.ArrayIsArray)(result) ? result : typeof result === "string" ? [result] : void 0;
121
- if (paths?.length) {
122
- const resolved2 = (0, import_array.ArrayPrototypeMap)(paths, (p) => (0, import_resolve.resolveRealBinSync)(p));
123
- import_internal.binPathAllCache.set(binName, resolved2);
124
- return resolved2;
125
- }
126
- return paths;
127
- }
128
- if (!result) {
129
- return void 0;
130
- }
131
- const resolved = (0, import_resolve.resolveRealBinSync)(result);
132
- import_internal.binPathCache.set(binName, resolved);
133
- return resolved;
136
+ const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
137
+ const opts = {
138
+ __proto__: null,
139
+ nothrow: true,
140
+ ...options
141
+ };
142
+ /* c8 ignore start */
143
+ if (opts.all) {
144
+ const cachedAll = require_bin__internal.binPathAllCache.get(binName);
145
+ if (cachedAll && cachedAll.length > 0) {
146
+ if (fs.existsSync(cachedAll[0])) return cachedAll;
147
+ require_bin__internal.binPathAllCache.delete(binName);
148
+ }
149
+ } else {
150
+ const cached = require_bin__internal.binPathCache.get(binName);
151
+ if (cached) {
152
+ if (fs.existsSync(cached)) return cached;
153
+ require_bin__internal.binPathCache.delete(binName);
154
+ }
155
+ }
156
+ /* c8 ignore stop */
157
+ const result = whichSync(binName, opts);
158
+ /* c8 ignore start */
159
+ if (opts.all) {
160
+ const paths = require_primordials_array.ArrayIsArray(result) ? result : typeof result === "string" ? [result] : void 0;
161
+ if (paths?.length) {
162
+ const resolved = require_primordials_array.ArrayPrototypeMap(paths, (p) => /* @__PURE__ */ require_bin_resolve.resolveRealBinSync(p));
163
+ require_bin__internal.binPathAllCache.set(binName, resolved);
164
+ return resolved;
165
+ }
166
+ return paths;
167
+ }
168
+ if (!result) return;
169
+ /* c8 ignore stop */
170
+ const resolved = /* @__PURE__ */ require_bin_resolve.resolveRealBinSync(result);
171
+ require_bin__internal.binPathCache.set(binName, resolved);
172
+ return resolved;
134
173
  }
174
+ /**
175
+ * Find an executable in the system PATH synchronously.
176
+ *
177
+ * This function resolves binary names to their full paths by searching the
178
+ * system PATH. It should only be used for binary names (not paths). If the
179
+ * input is already a path (absolute or relative), it will be returned as-is
180
+ * without PATH resolution.
181
+ *
182
+ * Binary name vs. path detection:
183
+ *
184
+ * - Binary names: 'npm', 'git', 'node' - will be resolved via PATH
185
+ * - Absolute paths: '/usr/bin/node', 'C:\Program Files\nodejs\node.exe' -
186
+ * returned as-is
187
+ * - Relative paths: './node', '../bin/npm' - returned as-is
188
+ *
189
+ * @example
190
+ * ;```typescript
191
+ * // Resolve binary names
192
+ * whichSync('node') // '/usr/local/bin/node'
193
+ * whichSync('npm') // '/usr/local/bin/npm'
194
+ * whichSync('nonexistent') // null
195
+ *
196
+ * // Paths are returned as-is
197
+ * whichSync('/usr/bin/node') // '/usr/bin/node'
198
+ * whichSync('./local-script') // './local-script'
199
+ * ```
200
+ *
201
+ * @param {string} binName - The binary name to resolve (e.g., 'npm', 'git')
202
+ * @param {WhichOptions | undefined} options - Options for resolution.
203
+ *
204
+ * @returns {string | string[] | null} The full path to the binary, the original
205
+ * path if input is a path, or null if not found.
206
+ */
135
207
  function whichSync(binName, options) {
136
- if ((0, import_normalize.isPath)(binName)) {
137
- return binName;
138
- }
139
- try {
140
- const result = import_which.default.sync(
141
- binName,
142
- options
143
- );
144
- return result;
145
- } catch {
146
- return null;
147
- }
208
+ if (/* @__PURE__ */ require_paths_predicates.isPath(binName)) return binName;
209
+ try {
210
+ return src_external_which.default.sync(binName, options);
211
+ } catch {
212
+ return null;
213
+ }
148
214
  }
149
- // Annotate the CommonJS export names for ESM import in node:
150
- 0 && (module.exports = {
151
- which,
152
- whichReal,
153
- whichRealSync,
154
- whichSync
155
- });
215
+
216
+ //#endregion
217
+ exports.which = which;
218
+ exports.whichReal = whichReal;
219
+ exports.whichRealSync = whichRealSync;
220
+ exports.whichSync = whichSync;
@@ -1,43 +1,28 @@
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 internal_exports = {};
32
- __export(internal_exports, {
33
- getCacache: () => getCacache
34
- });
35
- module.exports = __toCommonJS(internal_exports);
36
- var import_cacache = __toESM(require("../external/cacache"));
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
+ let src_external_cacache = require("../external/cacache");
6
+ src_external_cacache = require_runtime.__toESM(src_external_cacache);
7
+
8
+ //#region src/cacache/_internal.ts
9
+ /**
10
+ * @file Accessor for the vendored `cacache` module. Centralised so other
11
+ * `cacache/*` leaves stay decoupled from the import path — if the vendoring
12
+ * moves, only this leaf updates.
13
+ */
14
+ /**
15
+ * Get the cacache module for cache operations.
16
+ *
17
+ * @example
18
+ * ;```typescript
19
+ * const cacache = getCacache()
20
+ * const entries = await cacache.ls(cacheDir)
21
+ * ```
22
+ */
37
23
  function getCacache() {
38
- return import_cacache.default;
24
+ return src_external_cacache.default;
39
25
  }
40
- // Annotate the CommonJS export names for ESM import in node:
41
- 0 && (module.exports = {
42
- getCacache
43
- });
26
+
27
+ //#endregion
28
+ exports.getCacache = getCacache;