@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,93 +1,129 @@
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 rewire_exports = {};
22
- __export(rewire_exports, {
23
- clearPath: () => clearPath,
24
- getPathValue: () => getPathValue,
25
- hasOverride: () => hasOverride,
26
- invalidateCaches: () => invalidateCaches,
27
- registerCacheInvalidation: () => registerCacheInvalidation,
28
- resetPaths: () => resetPaths,
29
- setPath: () => setPath
30
- });
31
- module.exports = __toCommonJS(rewire_exports);
32
- var import_map_set = require("../primordials/map-set");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_primordials_map_set = require('../primordials/map-set.js');
5
+
6
+ //#region src/paths/rewire.ts
7
+ /**
8
+ * @file Path rewiring utilities for testing. Allows tests to override
9
+ * os.tmpdir() and os.homedir() without directly modifying them. Features:
10
+ *
11
+ * - Test-friendly setPath/clearPath/resetPaths that work in
12
+ * beforeEach/afterEach
13
+ * - Automatic cache invalidation for path-dependent modules
14
+ * - Thread-safe for concurrent test execution
15
+ */
33
16
  const stateSymbol = Symbol.for("@socketsecurity/lib/paths/rewire/state");
34
17
  const _globalThis = globalThis;
35
- if (!_globalThis[stateSymbol]) {
36
- _globalThis[stateSymbol] = {
37
- testOverrides: new import_map_set.MapCtor(),
38
- valueCache: new import_map_set.MapCtor(),
39
- cacheInvalidationCallbacks: []
40
- };
41
- }
18
+ if (!_globalThis[stateSymbol]) _globalThis[stateSymbol] = {
19
+ testOverrides: new require_primordials_map_set.MapCtor(),
20
+ valueCache: new require_primordials_map_set.MapCtor(),
21
+ cacheInvalidationCallbacks: []
22
+ };
42
23
  const sharedState = _globalThis[stateSymbol];
43
24
  const testOverrides = sharedState.testOverrides;
44
25
  const valueCache = sharedState.valueCache;
45
26
  const cacheInvalidationCallbacks = sharedState.cacheInvalidationCallbacks;
27
+ /**
28
+ * Clear a specific path override.
29
+ */
46
30
  function clearPath(key) {
47
- testOverrides.delete(key);
48
- invalidateCaches();
31
+ testOverrides.delete(key);
32
+ invalidateCaches();
49
33
  }
34
+ /**
35
+ * Get a path value, checking overrides first.
36
+ *
37
+ * Resolution order: 1. Test overrides (set via setPath in beforeEach) 2. Cached
38
+ * value (for performance) 3. Original function call (cached for subsequent
39
+ * calls)
40
+ *
41
+ * @internal Used by path getters to support test rewiring
42
+ */
50
43
  function getPathValue(key, originalFn) {
51
- if (testOverrides.has(key)) {
52
- return testOverrides.get(key);
53
- }
54
- if (valueCache.has(key)) {
55
- return valueCache.get(key);
56
- }
57
- const value = originalFn();
58
- valueCache.set(key, value);
59
- return value;
44
+ if (testOverrides.has(key)) return testOverrides.get(key);
45
+ if (valueCache.has(key)) return valueCache.get(key);
46
+ const value = originalFn();
47
+ valueCache.set(key, value);
48
+ return value;
60
49
  }
50
+ /**
51
+ * Check if a path has been overridden.
52
+ */
61
53
  function hasOverride(key) {
62
- return testOverrides.has(key);
54
+ return testOverrides.has(key);
63
55
  }
56
+ /**
57
+ * Invalidate all cached paths. Called automatically when
58
+ * setPath/clearPath/resetPaths are used. Can also be called manually for
59
+ * advanced testing scenarios.
60
+ *
61
+ * @internal Primarily for internal use, but exported for advanced testing
62
+ */
64
63
  function invalidateCaches() {
65
- valueCache.clear();
66
- for (const callback of cacheInvalidationCallbacks) {
67
- try {
68
- callback();
69
- } catch {
70
- }
71
- }
64
+ valueCache.clear();
65
+ for (const callback of cacheInvalidationCallbacks) try {
66
+ callback();
67
+ } catch {}
72
68
  }
69
+ /**
70
+ * Register a cache invalidation callback. Called by modules that need to clear
71
+ * their caches when paths change.
72
+ *
73
+ * @internal Used by paths.ts and fs.ts
74
+ */
73
75
  function registerCacheInvalidation(callback) {
74
- cacheInvalidationCallbacks.push(callback);
76
+ cacheInvalidationCallbacks.push(callback);
75
77
  }
78
+ /**
79
+ * Clear all path overrides and reset caches. Useful in afterEach hooks to
80
+ * ensure clean test state.
81
+ *
82
+ * @example
83
+ * ;```typescript
84
+ * import { resetPaths } from '#paths/rewire'
85
+ *
86
+ * afterEach(() => {
87
+ * resetPaths()
88
+ * })
89
+ * ```
90
+ */
76
91
  function resetPaths() {
77
- testOverrides.clear();
78
- invalidateCaches();
92
+ testOverrides.clear();
93
+ invalidateCaches();
79
94
  }
95
+ /**
96
+ * Set a path override for testing. This triggers cache invalidation for
97
+ * path-dependent modules.
98
+ *
99
+ * @example
100
+ * ;```typescript
101
+ * import { setPath, resetPaths } from '#paths/rewire'
102
+ * import { getOsTmpDir } from './'
103
+ *
104
+ * beforeEach(() => {
105
+ * setPath('tmpdir', '/custom/tmp')
106
+ * })
107
+ *
108
+ * afterEach(() => {
109
+ * resetPaths()
110
+ * })
111
+ *
112
+ * it('should use custom temp directory', () => {
113
+ * expect(getOsTmpDir()).toBe('/custom/tmp')
114
+ * })
115
+ * ```
116
+ */
80
117
  function setPath(key, value) {
81
- testOverrides.set(key, value);
82
- invalidateCaches();
118
+ testOverrides.set(key, value);
119
+ invalidateCaches();
83
120
  }
84
- // Annotate the CommonJS export names for ESM import in node:
85
- 0 && (module.exports = {
86
- clearPath,
87
- getPathValue,
88
- hasOverride,
89
- invalidateCaches,
90
- registerCacheInvalidation,
91
- resetPaths,
92
- setPath
93
- });
121
+
122
+ //#endregion
123
+ exports.clearPath = clearPath;
124
+ exports.getPathValue = getPathValue;
125
+ exports.hasOverride = hasOverride;
126
+ exports.invalidateCaches = invalidateCaches;
127
+ exports.registerCacheInvalidation = registerCacheInvalidation;
128
+ exports.resetPaths = resetPaths;
129
+ exports.setPath = setPath;
@@ -1,161 +1,281 @@
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 socket_exports = {};
22
- __export(socket_exports, {
23
- getOsHomeDir: () => getOsHomeDir,
24
- getOsTmpDir: () => getOsTmpDir,
25
- getSocketAppCacheDir: () => getSocketAppCacheDir,
26
- getSocketAppCacheTtlDir: () => getSocketAppCacheTtlDir,
27
- getSocketAppDir: () => getSocketAppDir,
28
- getSocketCacacheDir: () => getSocketCacacheDir,
29
- getSocketCliDir: () => getSocketCliDir,
30
- getSocketDlxDir: () => getSocketDlxDir,
31
- getSocketHomePath: () => getSocketHomePath,
32
- getSocketRegistryDir: () => getSocketRegistryDir,
33
- getSocketRegistryGithubCacheDir: () => getSocketRegistryGithubCacheDir,
34
- getSocketUserDir: () => getSocketUserDir,
35
- getSocketWheelhouseDir: () => getSocketWheelhouseDir,
36
- getUserHomeDir: () => getUserHomeDir
37
- });
38
- module.exports = __toCommonJS(socket_exports);
39
- var import_github = require("../constants/github");
40
- var import_socket = require("../constants/socket");
41
- var import_home = require("../env/home");
42
- var import_socket2 = require("../env/socket");
43
- var import_windows = require("../env/windows");
44
- var import_dirnames = require("./dirnames");
45
- var import_normalize = require("./normalize");
46
- var import_rewire = require("./rewire");
47
- var import_os = require("../node/os");
48
- var import_path = require("../node/path");
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_node_os = require('../node/os.js');
5
+ const require_paths_normalize = require('./normalize.js');
6
+ const require_node_path = require('../node/path.js');
7
+ const require_env_socket = require('../env/socket.js');
8
+ const require_constants_github = require('../constants/github.js');
9
+ const require_constants_socket = require('../constants/socket.js');
10
+ const require_env_home = require('../env/home.js');
11
+ const require_env_windows = require('../env/windows.js');
12
+ const require_paths_dirnames = require('./dirnames.js');
13
+ const require_paths_rewire = require('./rewire.js');
14
+
15
+ //#region src/paths/socket.ts
16
+ /**
17
+ * @file Path utilities for Socket ecosystem directories. Provides
18
+ * platform-aware path resolution for Socket tools' shared directory
19
+ * structure. Directory Structure: ~/.socket/ ├── _cacache/ #
20
+ * Content-addressable cache for npm packages ├── _dlx/ # DLX installations
21
+ * (content-addressed by hash) │ ├── <hash>/ # npm package installs
22
+ * (dlx-package) │ └── <hash>/ # binary downloads (dlx-binary) ├── _socket/ #
23
+ * Socket CLI app directory ├── _registry/ # Socket Registry app directory └──
24
+ * _sfw/ # Socket Firewall app directory.
25
+ */
26
+ /**
27
+ * Get the OS home directory. Can be overridden in tests using
28
+ * setPath('homedir', ...) from paths/rewire.
29
+ */
49
30
  function getOsHomeDir() {
50
- return (0, import_rewire.getPathValue)("homedir", () => (0, import_os.getNodeOs)().homedir());
31
+ return require_paths_rewire.getPathValue("homedir", () => (/* @__PURE__ */ require_node_os.getNodeOs()).homedir());
51
32
  }
33
+ /**
34
+ * Get the OS temporary directory. Can be overridden in tests using
35
+ * setPath('tmpdir', ...) from paths/rewire.
36
+ */
37
+ /**
38
+ * Get the OS temporary directory. Can be overridden in tests using
39
+ * setPath('tmpdir', ...) from paths/rewire.
40
+ */
52
41
  function getOsTmpDir() {
53
- return (0, import_rewire.getPathValue)("tmpdir", () => (0, import_os.getNodeOs)().tmpdir());
42
+ return require_paths_rewire.getPathValue("tmpdir", () => (/* @__PURE__ */ require_node_os.getNodeOs()).tmpdir());
54
43
  }
44
+ /**
45
+ * Get a Socket app cache directory (~/.socket/_<appName>/cache).
46
+ */
47
+ /**
48
+ * Get a Socket app cache directory (~/.socket/_<appName>/cache).
49
+ */
55
50
  function getSocketAppCacheDir(appName) {
56
- return (0, import_normalize.normalizePath)((0, import_path.getNodePath)().join(getSocketAppDir(appName), import_dirnames.CACHE_DIR));
51
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketAppDir(appName), require_paths_dirnames.CACHE_DIR));
57
52
  }
53
+ /**
54
+ * Get a Socket app TTL cache directory (~/.socket/_<appName>/cache/ttl).
55
+ */
56
+ /**
57
+ * Get a Socket app TTL cache directory (~/.socket/_<appName>/cache/ttl).
58
+ */
58
59
  function getSocketAppCacheTtlDir(appName) {
59
- return (0, import_normalize.normalizePath)(
60
- (0, import_path.getNodePath)().join(getSocketAppCacheDir(appName), import_dirnames.CACHE_TTL_DIR)
61
- );
60
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketAppCacheDir(appName), "ttl"));
62
61
  }
62
+ /**
63
+ * Get a Socket app directory (~/.socket/_<appName>).
64
+ */
65
+ /**
66
+ * Get a Socket app directory (~/.socket/_<appName>).
67
+ */
63
68
  function getSocketAppDir(appName) {
64
- return (0, import_normalize.normalizePath)(
65
- (0, import_path.getNodePath)().join(getSocketUserDir(), `${import_socket.SOCKET_APP_PREFIX}${appName}`)
66
- );
69
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}${appName}`));
67
70
  }
71
+ /**
72
+ * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
73
+ * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
74
+ * is cached via getPathValue for performance.
75
+ *
76
+ * Priority order:
77
+ *
78
+ * 1. Test override via setPath('socket-cacache-dir', ...)
79
+ * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
80
+ * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
81
+ */
82
+ /**
83
+ * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
84
+ * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
85
+ * is cached via getPathValue for performance.
86
+ *
87
+ * Priority order:
88
+ *
89
+ * 1. Test override via setPath('socket-cacache-dir', ...)
90
+ * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
91
+ * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
92
+ */
68
93
  function getSocketCacacheDir() {
69
- return (0, import_rewire.getPathValue)("socket-cacache-dir", () => {
70
- if ((0, import_socket2.getSocketCacacheDirEnv)()) {
71
- return (0, import_normalize.normalizePath)((0, import_socket2.getSocketCacacheDirEnv)());
72
- }
73
- return (0, import_normalize.normalizePath)(
74
- (0, import_path.getNodePath)().join(getSocketUserDir(), `${import_socket.SOCKET_APP_PREFIX}cacache`)
75
- );
76
- });
94
+ return require_paths_rewire.getPathValue("socket-cacache-dir", () => {
95
+ if (/* @__PURE__ */ require_env_socket.getSocketCacacheDirEnv()) return /* @__PURE__ */ require_paths_normalize.normalizePath(/* @__PURE__ */ require_env_socket.getSocketCacacheDirEnv());
96
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}cacache`));
97
+ });
77
98
  }
99
+ /**
100
+ * Get the Socket CLI directory (~/.socket/_socket).
101
+ */
102
+ /**
103
+ * Get the Socket CLI directory (~/.socket/_socket).
104
+ */
78
105
  function getSocketCliDir() {
79
- return getSocketAppDir(import_socket.SOCKET_CLI_APP_NAME);
106
+ return getSocketAppDir(require_constants_socket.SOCKET_CLI_APP_NAME);
80
107
  }
108
+ /**
109
+ * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
110
+ * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
111
+ * cached via getPathValue for performance.
112
+ *
113
+ * Priority order:
114
+ *
115
+ * 1. Test override via setPath('socket-dlx-dir', ...)
116
+ * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
117
+ * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
118
+ * 4. Default: $HOME/.socket/_dlx
119
+ * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
120
+ */
121
+ /**
122
+ * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
123
+ * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
124
+ * cached via getPathValue for performance.
125
+ *
126
+ * Priority order:
127
+ *
128
+ * 1. Test override via setPath('socket-dlx-dir', ...)
129
+ * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
130
+ * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
131
+ * 4. Default: $HOME/.socket/_dlx
132
+ * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
133
+ */
81
134
  function getSocketDlxDir() {
82
- return (0, import_rewire.getPathValue)("socket-dlx-dir", () => {
83
- if ((0, import_socket2.getSocketDlxDirEnv)()) {
84
- return (0, import_normalize.normalizePath)((0, import_socket2.getSocketDlxDirEnv)());
85
- }
86
- return (0, import_normalize.normalizePath)(
87
- (0, import_path.getNodePath)().join(
88
- getSocketUserDir(),
89
- `${import_socket.SOCKET_APP_PREFIX}${import_socket.SOCKET_DLX_APP_NAME}`
90
- )
91
- );
92
- });
135
+ return require_paths_rewire.getPathValue("socket-dlx-dir", () => {
136
+ if (/* @__PURE__ */ require_env_socket.getSocketDlxDirEnv()) return /* @__PURE__ */ require_paths_normalize.normalizePath(/* @__PURE__ */ require_env_socket.getSocketDlxDirEnv());
137
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}${"dlx"}`));
138
+ });
93
139
  }
140
+ /**
141
+ * Get the Socket home directory (~/.socket). Alias for getSocketUserDir() for
142
+ * consistency across Socket projects.
143
+ */
144
+ /**
145
+ * Get the Socket home directory (~/.socket). Alias for getSocketUserDir() for
146
+ * consistency across Socket projects.
147
+ */
94
148
  function getSocketHomePath() {
95
- return getSocketUserDir();
149
+ return getSocketUserDir();
96
150
  }
151
+ /**
152
+ * Get the Socket Registry directory (~/.socket/_registry).
153
+ */
154
+ /**
155
+ * Get the Socket Registry directory (~/.socket/_registry).
156
+ */
97
157
  function getSocketRegistryDir() {
98
- return getSocketAppDir(import_socket.SOCKET_REGISTRY_APP_NAME);
158
+ return getSocketAppDir(require_constants_socket.SOCKET_REGISTRY_APP_NAME);
99
159
  }
160
+ /**
161
+ * Get the Socket Registry GitHub cache directory
162
+ * (~/.socket/_registry/cache/ttl/github).
163
+ */
164
+ /**
165
+ * Get the Socket Registry GitHub cache directory
166
+ * (~/.socket/_registry/cache/ttl/github).
167
+ */
100
168
  function getSocketRegistryGithubCacheDir() {
101
- return (0, import_normalize.normalizePath)(
102
- (0, import_path.getNodePath)().join(
103
- getSocketAppCacheTtlDir(import_socket.SOCKET_REGISTRY_APP_NAME),
104
- import_github.CACHE_GITHUB_DIR
105
- )
106
- );
169
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketAppCacheTtlDir(require_constants_socket.SOCKET_REGISTRY_APP_NAME), require_constants_github.CACHE_GITHUB_DIR));
107
170
  }
171
+ /**
172
+ * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
173
+ * cross-fleet location for binaries that every fleet member can reach without
174
+ * each one re-downloading and re-extracting per-repo. Tool installers (janus,
175
+ * sfw, etc.) drop their resolved executables under
176
+ * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
177
+ * appropriate `bin/` to PATH or invoke the binary by absolute path.
178
+ *
179
+ * Priority order:
180
+ *
181
+ * 1. Test override via setPath('socket-wheelhouse-dir', ...)
182
+ * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
183
+ * getSocketUserDir)
184
+ * 3. Default: $HOME/.socket/_wheelhouse
185
+ */
186
+ /**
187
+ * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
188
+ * environment variable or via setPath() for testing. Result is cached via
189
+ * getPathValue for performance.
190
+ *
191
+ * Priority order:
192
+ *
193
+ * 1. Test override via setPath('socket-user-dir', ...)
194
+ * 2. SOCKET_HOME - Base directory override
195
+ * 3. Default: $HOME/.socket
196
+ * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
197
+ */
108
198
  function getSocketUserDir() {
109
- return (0, import_rewire.getPathValue)("socket-user-dir", () => {
110
- const socketHome = (0, import_socket2.getSocketHome)();
111
- if (socketHome) {
112
- return (0, import_normalize.normalizePath)(socketHome);
113
- }
114
- return (0, import_normalize.normalizePath)((0, import_path.getNodePath)().join(getUserHomeDir(), import_dirnames.DOT_SOCKET_DIR));
115
- });
199
+ return require_paths_rewire.getPathValue("socket-user-dir", () => {
200
+ const socketHome = /* @__PURE__ */ require_env_socket.getSocketHome();
201
+ if (socketHome) return /* @__PURE__ */ require_paths_normalize.normalizePath(socketHome);
202
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getUserHomeDir(), require_paths_dirnames.DOT_SOCKET_DIR));
203
+ });
116
204
  }
205
+ /**
206
+ * Get the user's home directory. Uses environment variables directly to support
207
+ * test mocking. Falls back to temporary directory if home is not available.
208
+ *
209
+ * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
210
+ * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
211
+ * getNodeOs().tmpdir() (rarely used, for restricted environments)
212
+ */
213
+ /**
214
+ * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
215
+ * cross-fleet location for binaries that every fleet member can reach without
216
+ * each one re-downloading and re-extracting per-repo. Tool installers (janus,
217
+ * sfw, etc.) drop their resolved executables under
218
+ * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
219
+ * appropriate `bin/` to PATH or invoke the binary by absolute path.
220
+ *
221
+ * Priority order:
222
+ *
223
+ * 1. Test override via setPath('socket-wheelhouse-dir', ...)
224
+ * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
225
+ * getSocketUserDir)
226
+ * 3. Default: $HOME/.socket/_wheelhouse
227
+ */
117
228
  function getSocketWheelhouseDir() {
118
- return (0, import_rewire.getPathValue)("socket-wheelhouse-dir", () => {
119
- return (0, import_normalize.normalizePath)(
120
- (0, import_path.getNodePath)().join(
121
- getSocketUserDir(),
122
- `${import_socket.SOCKET_APP_PREFIX}${import_socket.SOCKET_WHEELHOUSE_APP_NAME}`
123
- )
124
- );
125
- });
229
+ return require_paths_rewire.getPathValue("socket-wheelhouse-dir", () => {
230
+ return /* @__PURE__ */ require_paths_normalize.normalizePath((/* @__PURE__ */ require_node_path.getNodePath()).join(getSocketUserDir(), `${"_"}${require_constants_socket.SOCKET_WHEELHOUSE_APP_NAME}`));
231
+ });
126
232
  }
233
+ /**
234
+ * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
235
+ * environment variable or via setPath() for testing. Result is cached via
236
+ * getPathValue for performance.
237
+ *
238
+ * Priority order:
239
+ *
240
+ * 1. Test override via setPath('socket-user-dir', ...)
241
+ * 2. SOCKET_HOME - Base directory override
242
+ * 3. Default: $HOME/.socket
243
+ * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
244
+ */
245
+ /**
246
+ * Get the user's home directory. Uses environment variables directly to support
247
+ * test mocking. Falls back to temporary directory if home is not available.
248
+ *
249
+ * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
250
+ * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
251
+ * getNodeOs().tmpdir() (rarely used, for restricted environments)
252
+ */
127
253
  function getUserHomeDir() {
128
- const home = (0, import_home.getHome)();
129
- if (home) {
130
- return home;
131
- }
132
- const userProfile = (0, import_windows.getUserprofile)();
133
- if (userProfile) {
134
- return userProfile;
135
- }
136
- try {
137
- const osHome = getOsHomeDir();
138
- if (osHome) {
139
- return osHome;
140
- }
141
- } catch {
142
- }
143
- return getOsTmpDir();
254
+ const home = /* @__PURE__ */ require_env_home.getHome();
255
+ if (home) return home;
256
+ const userProfile = /* @__PURE__ */ require_env_windows.getUserprofile();
257
+ if (userProfile) return userProfile;
258
+ try {
259
+ const osHome = getOsHomeDir();
260
+ if (osHome) return osHome;
261
+ } catch {}
262
+ /* c8 ignore next 2 - Triple-fallback only fires when HOME +
263
+ USERPROFILE + os.homedir() all fail; not reachable in tests. */
264
+ return getOsTmpDir();
144
265
  }
145
- // Annotate the CommonJS export names for ESM import in node:
146
- 0 && (module.exports = {
147
- getOsHomeDir,
148
- getOsTmpDir,
149
- getSocketAppCacheDir,
150
- getSocketAppCacheTtlDir,
151
- getSocketAppDir,
152
- getSocketCacacheDir,
153
- getSocketCliDir,
154
- getSocketDlxDir,
155
- getSocketHomePath,
156
- getSocketRegistryDir,
157
- getSocketRegistryGithubCacheDir,
158
- getSocketUserDir,
159
- getSocketWheelhouseDir,
160
- getUserHomeDir
161
- });
266
+
267
+ //#endregion
268
+ exports.getOsHomeDir = getOsHomeDir;
269
+ exports.getOsTmpDir = getOsTmpDir;
270
+ exports.getSocketAppCacheDir = getSocketAppCacheDir;
271
+ exports.getSocketAppCacheTtlDir = getSocketAppCacheTtlDir;
272
+ exports.getSocketAppDir = getSocketAppDir;
273
+ exports.getSocketCacacheDir = getSocketCacacheDir;
274
+ exports.getSocketCliDir = getSocketCliDir;
275
+ exports.getSocketDlxDir = getSocketDlxDir;
276
+ exports.getSocketHomePath = getSocketHomePath;
277
+ exports.getSocketRegistryDir = getSocketRegistryDir;
278
+ exports.getSocketRegistryGithubCacheDir = getSocketRegistryGithubCacheDir;
279
+ exports.getSocketUserDir = getSocketUserDir;
280
+ exports.getSocketWheelhouseDir = getSocketWheelhouseDir;
281
+ exports.getUserHomeDir = getUserHomeDir;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @file Walk parent directories. `walkUp` is the lazy ancestor generator that
3
+ * `fs/find-up` and package-root lookups build on: given a starting path it
4
+ * yields that path, then each parent, up to and INCLUDING the filesystem root
5
+ * (or a caller-supplied `stopAt` boundary). Lazy so a caller can stop early
6
+ * without computing the whole chain.
7
+ */
8
+ export interface WalkUpOptions {
9
+ /**
10
+ * Starting directory. Relative `from` values are resolved against this.
11
+ * Defaults to `process.cwd()`.
12
+ */
13
+ cwd?: string | undefined;
14
+ /**
15
+ * Last directory to yield (INCLUSIVE). Traversal stops after this path is
16
+ * emitted. Defaults to the filesystem root.
17
+ */
18
+ stopAt?: string | undefined;
19
+ }
20
+ /**
21
+ * Lazily yield `from` and each of its ancestor directories, up to and including
22
+ * the filesystem root (or `stopAt`). Each yielded path is normalized to forward
23
+ * slashes.
24
+ *
25
+ * @example
26
+ * ;```ts
27
+ * for (const dir of walkUp('/a/b/c')) {
28
+ * // '/a/b/c', '/a/b', '/a', '/'
29
+ * }
30
+ *
31
+ * // Stop at a boundary (inclusive):
32
+ * [...walkUp('/a/b/c', { stopAt: '/a' })] // ['/a/b/c', '/a/b', '/a']
33
+ * ```
34
+ *
35
+ * @param from - Path to start from. Relative values resolve against `cwd`.
36
+ * @param options - `cwd` and `stopAt` boundary.
37
+ *
38
+ * @returns Generator of normalized absolute directory paths.
39
+ */
40
+ export declare function walkUp(from: string, options?: WalkUpOptions | undefined): Generator<string>;