@socketsecurity/lib 6.0.6 → 6.0.7

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 (499) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/ai/discover.d.mts +2 -2
  3. package/dist/ai/discover.js +3 -2
  4. package/dist/ai/spawn.js +2 -1
  5. package/dist/ai/types.d.mts +18 -6
  6. package/dist/ai/worktree.d.mts +6 -6
  7. package/dist/ai/worktree.js +1 -1
  8. package/dist/ansi/strip.d.ts +1 -1
  9. package/dist/ansi/strip.js +0 -2
  10. package/dist/archives/_internal.js +7 -9
  11. package/dist/archives/extract.js +1 -1
  12. package/dist/archives/tar.js +6 -6
  13. package/dist/archives/zip.js +3 -5
  14. package/dist/argv/flag-predicates.d.ts +12 -12
  15. package/dist/argv/flag-predicates.js +17 -17
  16. package/dist/argv/flag-types.d.ts +18 -18
  17. package/dist/argv/flag-types.js +4 -4
  18. package/dist/argv/parse.d.ts +1 -1
  19. package/dist/arrays/_internal.js +11 -12
  20. package/dist/arrays/chunk.js +0 -1
  21. package/dist/arrays/join.d.ts +37 -3
  22. package/dist/arrays/join.js +43 -7
  23. package/dist/arrays/unique.js +0 -1
  24. package/dist/bin/_internal.d.ts +1 -1
  25. package/dist/bin/_internal.js +1 -1
  26. package/dist/bin/exec.js +2 -3
  27. package/dist/bin/find.js +13 -13
  28. package/dist/bin/prim.cjs +22736 -22556
  29. package/dist/bin/resolve.js +12 -13
  30. package/dist/bin/which.js +8 -8
  31. package/dist/cache/ttl/store.js +5 -5
  32. package/dist/checks/primordials-defaults.d.ts +3 -3
  33. package/dist/checks/primordials-defaults.js +3 -3
  34. package/dist/checks/primordials.js +4 -3
  35. package/dist/{bin → cli}/check-primordials.d.ts +11 -11
  36. package/dist/{bin → cli}/check-primordials.js +55 -52
  37. package/dist/{bin → cli}/check.js +3 -3
  38. package/dist/{bin → cli}/socket-lib.d.ts +1 -1
  39. package/dist/{bin → cli}/socket-lib.js +4 -4
  40. package/dist/colors/socket-palette.js +7 -9
  41. package/dist/compression/_internal.d.ts +12 -12
  42. package/dist/compression/_internal.js +17 -17
  43. package/dist/compression/brotli.d.ts +25 -25
  44. package/dist/compression/brotli.js +33 -33
  45. package/dist/compression/gzip.d.ts +23 -23
  46. package/dist/compression/gzip.js +40 -40
  47. package/dist/constants/agents.d.ts +3 -1
  48. package/dist/constants/agents.js +15 -11
  49. package/dist/constants/licenses.js +3 -3
  50. package/dist/constants/node.d.ts +23 -0
  51. package/dist/constants/node.js +47 -15
  52. package/dist/constants/packages.js +22 -28
  53. package/dist/constants/platform.d.ts +30 -3
  54. package/dist/constants/platform.js +72 -12
  55. package/dist/constants/runtime.d.ts +22 -0
  56. package/dist/constants/runtime.js +32 -0
  57. package/dist/constants/socket.js +1 -1
  58. package/dist/cover/code.js +8 -8
  59. package/dist/cover/formatters.js +5 -5
  60. package/dist/crypto/hash.d.ts +26 -1
  61. package/dist/crypto/hash.js +43 -12
  62. package/dist/debug/_internal.js +4 -6
  63. package/dist/debug/caller-info.js +2 -3
  64. package/dist/debug/namespace.d.ts +7 -0
  65. package/dist/debug/namespace.js +21 -12
  66. package/dist/debug/output.js +21 -24
  67. package/dist/debug/types.d.ts +4 -4
  68. package/dist/dlx/arborist.js +6 -6
  69. package/dist/dlx/binary-cache.js +14 -14
  70. package/dist/dlx/binary-download.d.ts +1 -1
  71. package/dist/dlx/binary-download.js +11 -11
  72. package/dist/dlx/binary-resolution.js +16 -14
  73. package/dist/dlx/binary-types.d.ts +5 -5
  74. package/dist/dlx/binary.js +5 -5
  75. package/dist/dlx/cache.js +1 -1
  76. package/dist/dlx/detect.d.ts +34 -25
  77. package/dist/dlx/detect.js +86 -77
  78. package/dist/dlx/dir.js +2 -2
  79. package/dist/dlx/firewall.d.ts +1 -1
  80. package/dist/dlx/lockfile.d.ts +19 -18
  81. package/dist/dlx/lockfile.js +16 -16
  82. package/dist/dlx/manifest.d.ts +6 -6
  83. package/dist/dlx/manifest.js +5 -5
  84. package/dist/dlx/package.d.ts +10 -10
  85. package/dist/dlx/package.js +16 -16
  86. package/dist/dlx/packages.js +4 -4
  87. package/dist/dlx/paths.js +7 -7
  88. package/dist/dlx/spec.js +1 -1
  89. package/dist/dlx/types.d.ts +28 -27
  90. package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
  91. package/dist/eco/cargo/parse-lockfile.js +2 -2
  92. package/dist/eco/manifest/analyze-lockfile.js +2 -2
  93. package/dist/eco/manifest/detect-format.js +4 -4
  94. package/dist/eco/manifest/find-packages.js +2 -2
  95. package/dist/eco/manifest/get-package-versions.js +2 -2
  96. package/dist/eco/manifest/get-package.js +2 -2
  97. package/dist/eco/manifest/parse-lockfile.js +2 -2
  98. package/dist/eco/manifest/parse-manifest.js +2 -2
  99. package/dist/eco/manifest/parse.js +2 -2
  100. package/dist/eco/npm/npm/exec.js +2 -2
  101. package/dist/eco/npm/npm/flags.js +7 -12
  102. package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
  103. package/dist/eco/npm/npm/parse-lockfile.js +3 -3
  104. package/dist/eco/npm/parse-package-json.js +3 -3
  105. package/dist/eco/npm/pnpm/exec.d.ts +1 -1
  106. package/dist/eco/npm/pnpm/exec.js +5 -5
  107. package/dist/eco/npm/pnpm/flags.js +0 -3
  108. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
  109. package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
  110. package/dist/eco/npm/script.js +9 -6
  111. package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
  112. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
  113. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
  114. package/dist/effects/pulse-frames.d.ts +3 -1
  115. package/dist/effects/shimmer-keyframes.d.ts +1 -1
  116. package/dist/effects/shimmer-terminal.d.ts +1 -1
  117. package/dist/env/boolean.js +0 -1
  118. package/dist/env/ci.js +0 -1
  119. package/dist/env/debug.js +0 -1
  120. package/dist/env/github-status.d.ts +51 -0
  121. package/dist/env/github-status.js +90 -0
  122. package/dist/env/github.js +0 -8
  123. package/dist/env/home.js +0 -1
  124. package/dist/env/locale.js +0 -3
  125. package/dist/env/node-auth-token.js +0 -1
  126. package/dist/env/node-env.js +0 -1
  127. package/dist/env/node-version-managers.d.ts +53 -0
  128. package/dist/env/node-version-managers.js +90 -0
  129. package/dist/env/npm.js +0 -5
  130. package/dist/env/number.js +0 -1
  131. package/dist/env/package-manager.js +3 -6
  132. package/dist/env/path.js +0 -1
  133. package/dist/env/pre-commit.js +1 -2
  134. package/dist/env/rewire.d.ts +7 -6
  135. package/dist/env/rewire.js +15 -16
  136. package/dist/env/shell.js +0 -1
  137. package/dist/env/socket-cli.js +5 -18
  138. package/dist/env/socket-mcp.d.ts +114 -0
  139. package/dist/env/socket-mcp.js +146 -0
  140. package/dist/env/socket.d.ts +1 -109
  141. package/dist/env/socket.js +12 -167
  142. package/dist/env/string.js +0 -1
  143. package/dist/env/temp-dir.js +0 -3
  144. package/dist/env/term.js +0 -1
  145. package/dist/env/test.js +3 -6
  146. package/dist/env/windows.js +0 -4
  147. package/dist/env/xdg.js +0 -3
  148. package/dist/events/exit/_internal.d.ts +11 -9
  149. package/dist/events/exit/_internal.js +31 -35
  150. package/dist/events/exit/handler.js +3 -4
  151. package/dist/events/exit/intercept.js +4 -6
  152. package/dist/events/exit/lifecycle.js +16 -18
  153. package/dist/events/exit/signals.js +1 -2
  154. package/dist/events/exit/types.d.ts +6 -5
  155. package/dist/external/@npmcli/package-json.js +2 -2
  156. package/dist/external/npm-pack.js +2 -2
  157. package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
  158. package/dist/external-tools/bazel/types.d.ts +1 -1
  159. package/dist/external-tools/cdxgen/from-vfs.js +1 -1
  160. package/dist/external-tools/cdxgen/types.d.ts +1 -1
  161. package/dist/external-tools/from-download.d.ts +1 -1
  162. package/dist/external-tools/from-download.js +1 -1
  163. package/dist/external-tools/janus/from-vfs.js +1 -1
  164. package/dist/external-tools/janus/types.d.ts +1 -1
  165. package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
  166. package/dist/external-tools/jre/detect-platform-arch.js +29 -14
  167. package/dist/external-tools/jre/from-vfs.js +1 -1
  168. package/dist/external-tools/jre/types.d.ts +1 -1
  169. package/dist/external-tools/manifest.d.ts +7 -7
  170. package/dist/external-tools/manifest.js +12 -12
  171. package/dist/external-tools/opengrep/from-vfs.js +1 -1
  172. package/dist/external-tools/opengrep/types.d.ts +1 -1
  173. package/dist/external-tools/python/asset-names.d.ts +76 -0
  174. package/dist/external-tools/python/asset-names.js +104 -0
  175. package/dist/external-tools/python/dlx.d.ts +80 -0
  176. package/dist/external-tools/python/dlx.js +87 -0
  177. package/dist/external-tools/python/from-download.d.ts +53 -0
  178. package/dist/external-tools/python/from-download.js +68 -0
  179. package/dist/external-tools/python/from-path.d.ts +7 -0
  180. package/dist/external-tools/python/from-path.js +23 -0
  181. package/dist/external-tools/python/pin.d.ts +121 -0
  182. package/dist/external-tools/python/pin.js +173 -0
  183. package/dist/external-tools/python/pip-install.d.ts +75 -0
  184. package/dist/external-tools/python/pip-install.js +139 -0
  185. package/dist/external-tools/python/resolve.d.ts +42 -0
  186. package/dist/external-tools/python/resolve.js +58 -0
  187. package/dist/external-tools/python/types.d.ts +49 -0
  188. package/dist/external-tools/sbt/from-vfs.js +1 -1
  189. package/dist/external-tools/sbt/types.d.ts +1 -1
  190. package/dist/external-tools/skillspector/from-path.js +3 -5
  191. package/dist/external-tools/skillspector/from-vfs.js +1 -1
  192. package/dist/external-tools/synp/from-download.js +2 -2
  193. package/dist/external-tools/synp/from-vfs.js +1 -1
  194. package/dist/external-tools/trivy/from-vfs.js +1 -1
  195. package/dist/external-tools/trivy/types.d.ts +1 -1
  196. package/dist/external-tools/trufflehog/from-vfs.js +1 -1
  197. package/dist/external-tools/trufflehog/types.d.ts +1 -1
  198. package/dist/fs/_internal.d.ts +1 -1
  199. package/dist/fs/_internal.js +7 -7
  200. package/dist/fs/access.js +5 -9
  201. package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
  202. package/dist/fs/encoding.js +5 -7
  203. package/dist/fs/{find-up.js → find.js} +11 -13
  204. package/dist/fs/inspect.js +7 -13
  205. package/dist/fs/read-dir.js +7 -10
  206. package/dist/fs/read-file.js +8 -14
  207. package/dist/fs/read-json-cache.d.ts +6 -4
  208. package/dist/fs/read-json-cache.js +9 -6
  209. package/dist/fs/read-json.js +4 -6
  210. package/dist/fs/resolve-module.js +1 -1
  211. package/dist/fs/safe.d.ts +1 -1
  212. package/dist/fs/safe.js +12 -13
  213. package/dist/fs/unique.js +4 -5
  214. package/dist/fs/validate.js +1 -2
  215. package/dist/fs/write-json.js +4 -5
  216. package/dist/git/_internal.js +10 -10
  217. package/dist/git/changed.js +4 -4
  218. package/dist/git/repo.js +3 -3
  219. package/dist/git/staged.js +4 -4
  220. package/dist/git/unstaged.js +4 -4
  221. package/dist/github/ghsa.js +2 -2
  222. package/dist/github/refs-cache.d.ts +1 -1
  223. package/dist/github/refs-cache.js +5 -5
  224. package/dist/github/refs-rest.js +5 -5
  225. package/dist/github/{fetch.js → request.js} +13 -2
  226. package/dist/github/token.js +1 -1
  227. package/dist/github/types.d.ts +1 -1
  228. package/dist/globs/_internal.js +7 -9
  229. package/dist/globs/match.js +4 -6
  230. package/dist/globs/matcher.d.ts +3 -3
  231. package/dist/globs/matcher.js +12 -14
  232. package/dist/globs/stream.js +1 -2
  233. package/dist/globs/types.d.ts +24 -24
  234. package/dist/http-request/_internal.d.ts +1 -1
  235. package/dist/http-request/browser.js +4 -2
  236. package/dist/http-request/checksum-file.d.ts +55 -0
  237. package/dist/http-request/checksum-file.js +95 -0
  238. package/dist/http-request/download-types.d.ts +15 -23
  239. package/dist/http-request/download.js +3 -3
  240. package/dist/http-request/headers.js +0 -1
  241. package/dist/http-request/request-attempt.js +37 -33
  242. package/dist/http-request/request-types.d.ts +2 -2
  243. package/dist/http-request/request.js +1 -1
  244. package/dist/http-request/user-agent.js +3 -4
  245. package/dist/integrity.d.ts +86 -18
  246. package/dist/integrity.js +119 -30
  247. package/dist/ipc/directory.js +2 -2
  248. package/dist/ipc/paths.js +1 -1
  249. package/dist/ipc/write.js +1 -1
  250. package/dist/ipc-cli/get.js +12 -12
  251. package/dist/json/edit.js +13 -14
  252. package/dist/json/format.js +2 -2
  253. package/dist/json/parse.d.ts +1 -1
  254. package/dist/json/parse.js +3 -7
  255. package/dist/logger/_internal.d.ts +4 -4
  256. package/dist/logger/_internal.js +3 -3
  257. package/dist/logger/colors.js +4 -3
  258. package/dist/logger/console-methods.d.ts +132 -0
  259. package/dist/logger/console-methods.js +169 -0
  260. package/dist/logger/console.d.ts +12 -0
  261. package/dist/logger/console.js +42 -11
  262. package/dist/logger/indentation-methods.d.ts +81 -0
  263. package/dist/logger/indentation-methods.js +121 -0
  264. package/dist/logger/node.d.ts +16 -338
  265. package/dist/logger/node.js +75 -608
  266. package/dist/logger/options.d.ts +39 -0
  267. package/dist/logger/options.js +47 -0
  268. package/dist/logger/semantic-methods.d.ts +63 -0
  269. package/dist/logger/semantic-methods.js +108 -0
  270. package/dist/logger/stream-methods.d.ts +63 -0
  271. package/dist/logger/stream-methods.js +101 -0
  272. package/dist/logger/stream.d.ts +37 -0
  273. package/dist/logger/stream.js +42 -0
  274. package/dist/logger/symbols-builder.js +9 -9
  275. package/dist/logger/symbols.d.ts +2 -25
  276. package/dist/logger/symbols.js +53 -74
  277. package/dist/logger/types.d.ts +1 -1
  278. package/dist/memo/types.d.ts +6 -6
  279. package/dist/native-messaging/host.d.ts +20 -0
  280. package/dist/native-messaging/host.js +120 -0
  281. package/dist/native-messaging/index.d.ts +5 -0
  282. package/dist/native-messaging/index.js +22 -0
  283. package/dist/native-messaging/install.d.ts +60 -0
  284. package/dist/native-messaging/install.js +141 -0
  285. package/dist/native-messaging/rate-limit.d.ts +62 -0
  286. package/dist/native-messaging/rate-limit.js +115 -0
  287. package/dist/native-messaging/run.d.ts +10 -0
  288. package/dist/native-messaging/run.js +17 -0
  289. package/dist/node/async-hooks.js +4 -3
  290. package/dist/node/child-process.js +4 -3
  291. package/dist/node/crypto.js +4 -3
  292. package/dist/node/events.js +4 -3
  293. package/dist/node/fs-promises.js +4 -3
  294. package/dist/node/fs.js +4 -3
  295. package/dist/node/http.js +4 -3
  296. package/dist/node/https.js +4 -3
  297. package/dist/node/module.js +10 -6
  298. package/dist/node/os.js +4 -3
  299. package/dist/node/path.js +4 -3
  300. package/dist/node/timers-promises.js +4 -3
  301. package/dist/node/url.js +4 -3
  302. package/dist/node/util.js +4 -3
  303. package/dist/objects/getters.js +5 -7
  304. package/dist/objects/inspect.js +1 -4
  305. package/dist/objects/mutate.js +2 -3
  306. package/dist/objects/predicates.js +0 -4
  307. package/dist/objects/sort.js +3 -7
  308. package/dist/packages/edit-class.js +15 -16
  309. package/dist/packages/edit.js +12 -14
  310. package/dist/packages/exports.js +11 -17
  311. package/dist/packages/fetch.d.ts +16 -0
  312. package/dist/packages/fetch.js +81 -0
  313. package/dist/packages/find.d.ts +55 -0
  314. package/dist/packages/find.js +65 -0
  315. package/dist/packages/isolation.js +14 -14
  316. package/dist/packages/licenses.js +16 -16
  317. package/dist/packages/manifest.js +12 -15
  318. package/dist/packages/metadata-extensions.d.ts +14 -0
  319. package/dist/packages/metadata-extensions.js +43 -0
  320. package/dist/packages/normalize.js +5 -9
  321. package/dist/packages/provenance.js +16 -18
  322. package/dist/packages/read.d.ts +29 -0
  323. package/dist/packages/read.js +66 -0
  324. package/dist/packages/specs.d.ts +48 -1
  325. package/dist/packages/specs.js +74 -11
  326. package/dist/packages/tarball.d.ts +24 -0
  327. package/dist/packages/tarball.js +79 -0
  328. package/dist/packages/types.d.ts +21 -20
  329. package/dist/packages/validation.js +0 -3
  330. package/dist/paths/_internal.d.ts +2 -1
  331. package/dist/paths/_internal.js +7 -19
  332. package/dist/paths/conversion.js +5 -9
  333. package/dist/paths/filenames.d.ts +0 -1
  334. package/dist/paths/filenames.js +0 -2
  335. package/dist/paths/normalize.js +4 -5
  336. package/dist/paths/packages.js +4 -7
  337. package/dist/paths/predicates.js +9 -16
  338. package/dist/paths/resolve.js +11 -14
  339. package/dist/paths/rewire.js +3 -3
  340. package/dist/paths/socket.js +16 -16
  341. package/dist/paths/walk.d.ts +1 -1
  342. package/dist/paths/walk.js +4 -4
  343. package/dist/perf/report.js +2 -2
  344. package/dist/perf/types.d.ts +1 -1
  345. package/dist/pkg-ext/data.js +1 -1
  346. package/dist/primordials/array.js +9 -9
  347. package/dist/primordials/date.js +2 -2
  348. package/dist/primordials/error.js +3 -3
  349. package/dist/primordials/headers.d.ts +10 -0
  350. package/dist/primordials/headers.js +23 -0
  351. package/dist/primordials/intl.d.ts +13 -0
  352. package/dist/primordials/intl.js +26 -0
  353. package/dist/primordials/math.js +33 -33
  354. package/dist/primordials/number.js +9 -9
  355. package/dist/primordials/object.js +5 -5
  356. package/dist/primordials/string.d.ts +2 -2
  357. package/dist/primordials/string.js +6 -6
  358. package/dist/primordials/symbol.js +3 -3
  359. package/dist/primordials/uncurry.js +9 -9
  360. package/dist/process/abort.js +3 -3
  361. package/dist/process/lock-manager.js +8 -8
  362. package/dist/process/spawn/_internal.js +6 -8
  363. package/dist/process/spawn/child.js +14 -14
  364. package/dist/process/spawn/errors.js +2 -4
  365. package/dist/process/spawn/kill-tree.d.ts +53 -0
  366. package/dist/process/spawn/kill-tree.js +85 -0
  367. package/dist/process/spawn/stdio.js +0 -1
  368. package/dist/process/spawn/types.d.ts +5 -5
  369. package/dist/process/transient.js +2 -2
  370. package/dist/promises/_internal.d.ts +2 -1
  371. package/dist/promises/_internal.js +2 -6
  372. package/dist/promises/iterate.js +11 -15
  373. package/dist/promises/options.js +3 -6
  374. package/dist/promises/retry.js +4 -5
  375. package/dist/promises/timers.d.ts +30 -0
  376. package/dist/promises/timers.js +48 -0
  377. package/dist/releases/github-archives.d.ts +6 -6
  378. package/dist/releases/github-archives.js +2 -2
  379. package/dist/releases/github-asset-url.d.ts +1 -1
  380. package/dist/releases/github-asset-url.js +5 -5
  381. package/dist/releases/github-downloads.d.ts +1 -1
  382. package/dist/releases/github-downloads.js +3 -3
  383. package/dist/releases/github-listing.d.ts +11 -2
  384. package/dist/releases/github-listing.js +20 -7
  385. package/dist/releases/github-retry-config.js +1 -1
  386. package/dist/releases/github-types.d.ts +6 -6
  387. package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
  388. package/dist/releases/socket-btm-binary-naming.js +155 -0
  389. package/dist/releases/socket-btm.d.ts +8 -115
  390. package/dist/releases/socket-btm.js +16 -159
  391. package/dist/schema/types.d.ts +1 -1
  392. package/dist/sea/detect.js +6 -6
  393. package/dist/secrets/_internal.d.ts +2 -2
  394. package/dist/secrets/_internal.js +2 -2
  395. package/dist/secrets/compare.d.ts +45 -0
  396. package/dist/secrets/compare.js +61 -0
  397. package/dist/secrets/keychain.js +6 -4
  398. package/dist/secrets/linux.js +19 -19
  399. package/dist/secrets/macos.d.ts +1 -1
  400. package/dist/secrets/macos.js +13 -13
  401. package/dist/secrets/rc.d.ts +2 -2
  402. package/dist/secrets/rc.js +6 -4
  403. package/dist/secrets/socket-api-token.d.ts +4 -4
  404. package/dist/secrets/socket-api-token.js +18 -9
  405. package/dist/secrets/windows.js +14 -13
  406. package/dist/shadow/skip.js +2 -2
  407. package/dist/smol/detect.js +9 -10
  408. package/dist/smol/http.js +6 -7
  409. package/dist/smol/https.js +6 -7
  410. package/dist/smol/manifest.d.ts +1 -1
  411. package/dist/smol/manifest.js +6 -7
  412. package/dist/smol/path.d.ts +1 -1
  413. package/dist/smol/path.js +7 -8
  414. package/dist/smol/primordial.d.ts +4 -0
  415. package/dist/smol/primordial.js +6 -7
  416. package/dist/smol/purl.d.ts +1 -1
  417. package/dist/smol/purl.js +7 -8
  418. package/dist/smol/versions.js +6 -7
  419. package/dist/smol/vfs.js +6 -7
  420. package/dist/sorts/_internal.js +6 -8
  421. package/dist/sorts/natural.js +10 -12
  422. package/dist/sorts/semver.js +1 -2
  423. package/dist/sorts/strings.js +0 -1
  424. package/dist/sorts/types.d.ts +1 -1
  425. package/dist/spinner/create-spinner-class.d.ts +38 -0
  426. package/dist/spinner/create-spinner-class.js +302 -0
  427. package/dist/spinner/default.js +8 -9
  428. package/dist/spinner/spinner-internals.d.ts +36 -0
  429. package/dist/spinner/spinner-internals.js +101 -0
  430. package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
  431. package/dist/spinner/spinner-shimmer-methods.js +143 -0
  432. package/dist/spinner/spinner-status-methods.d.ts +40 -0
  433. package/dist/spinner/spinner-status-methods.js +133 -0
  434. package/dist/spinner/spinner.d.ts +4 -5
  435. package/dist/spinner/spinner.js +18 -705
  436. package/dist/spinner/types.d.ts +3 -1
  437. package/dist/spinner/with.d.ts +10 -0
  438. package/dist/spinner/with.js +16 -2
  439. package/dist/stdio/divider.js +1 -1
  440. package/dist/stdio/footer.js +3 -3
  441. package/dist/stdio/header.js +4 -4
  442. package/dist/stdio/progress.js +5 -5
  443. package/dist/stdio/prompts.d.ts +5 -3
  444. package/dist/stdio/prompts.js +6 -7
  445. package/dist/stdio/stdout.js +3 -3
  446. package/dist/streams/parallel.js +3 -5
  447. package/dist/streams/transform.js +2 -3
  448. package/dist/strings/format.js +2 -6
  449. package/dist/strings/predicates.js +0 -2
  450. package/dist/strings/search.js +1 -2
  451. package/dist/strings/transform.js +0 -3
  452. package/dist/strings/width.js +9 -10
  453. package/dist/tables/bordered.js +4 -3
  454. package/dist/tables/padding.js +1 -1
  455. package/dist/tables/simple.js +8 -5
  456. package/dist/temporal/instant.js +1 -1
  457. package/dist/temporal/slots.js +6 -6
  458. package/dist/temporal/system.js +9 -9
  459. package/dist/themes/context.d.ts +3 -2
  460. package/dist/themes/context.js +4 -5
  461. package/dist/themes/themes.js +15 -15
  462. package/dist/themes/types.d.ts +3 -3
  463. package/dist/url/parse.js +0 -2
  464. package/dist/url/predicates.js +1 -2
  465. package/dist/url/search-params.js +3 -9
  466. package/dist/url/types.d.ts +5 -5
  467. package/dist/versions/_internal.js +3 -3
  468. package/dist/words/article.js +0 -1
  469. package/dist/words/capitalize.js +0 -1
  470. package/dist/words/pluralize.js +15 -5
  471. package/package.json +247 -106
  472. package/dist/external-tools/uv/asset-names.d.ts +0 -36
  473. package/dist/external-tools/uv/asset-names.js +0 -70
  474. package/dist/external-tools/uv/from-download.d.ts +0 -17
  475. package/dist/external-tools/uv/from-download.js +0 -47
  476. package/dist/external-tools/uv/from-path.d.ts +0 -5
  477. package/dist/external-tools/uv/from-path.js +0 -22
  478. package/dist/external-tools/uv/from-vfs.d.ts +0 -7
  479. package/dist/external-tools/uv/from-vfs.js +0 -26
  480. package/dist/external-tools/uv/resolve.d.ts +0 -25
  481. package/dist/external-tools/uv/resolve.js +0 -53
  482. package/dist/external-tools/uv/types.d.ts +0 -24
  483. package/dist/http-request/checksums.d.ts +0 -69
  484. package/dist/http-request/checksums.js +0 -108
  485. package/dist/http-request/http-request.d.ts +0 -12
  486. package/dist/http-request/http-request.js +0 -11
  487. package/dist/packages/operations.d.ts +0 -113
  488. package/dist/packages/operations.js +0 -304
  489. package/dist/ssri/convert.d.ts +0 -48
  490. package/dist/ssri/convert.js +0 -69
  491. package/dist/ssri/parse.d.ts +0 -27
  492. package/dist/ssri/parse.js +0 -41
  493. package/dist/ssri/validate.d.ts +0 -41
  494. package/dist/ssri/validate.js +0 -56
  495. /package/dist/{bin → cli}/check.d.ts +0 -0
  496. /package/dist/external-tools/{uv → python}/types.js +0 -0
  497. /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
  498. /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
  499. /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
@@ -11,7 +11,7 @@ const require_smol_primordial = require('../smol/primordial.js');
11
11
  * static `parseFloat` / `parseInt` use the FastOneByteString-typed bindings
12
12
  * for ASCII inputs and fall back to stock `Number.parse*` otherwise.
13
13
  */
14
- const _smolPrimordial = /* @__PURE__ */ require_smol_primordial.getSmolPrimordial();
14
+ const smolPrimordial = require_smol_primordial.getSmolPrimordial();
15
15
  const NumberCtor = Number;
16
16
  const NumberEPSILON = Number.EPSILON;
17
17
  const NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;
@@ -20,14 +20,14 @@ const NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER;
20
20
  const NumberMIN_VALUE = Number.MIN_VALUE;
21
21
  const NumberNEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;
22
22
  const NumberPOSITIVE_INFINITY = Number.POSITIVE_INFINITY;
23
- const NumberIsFinite = _smolPrimordial?.numberIsFinite ?? Number.isFinite;
24
- const NumberIsInteger = _smolPrimordial?.numberIsInteger ?? Number.isInteger;
25
- const NumberIsNaN = _smolPrimordial?.numberIsNaN ?? Number.isNaN;
26
- const NumberIsSafeInteger = _smolPrimordial?.numberIsSafeInteger ?? Number.isSafeInteger;
27
- const NumberParseFloat = _smolPrimordial?.numberParseFloat ?? Number.parseFloat;
28
- const _smolParseInt10 = _smolPrimordial?.numberParseInt10;
29
- /* c8 ignore start */
30
- const NumberParseInt = _smolParseInt10 ? (s, radix) => radix === void 0 || radix === 10 ? _smolParseInt10(s) : Number.parseInt(s, radix) : Number.parseInt;
23
+ const NumberIsFinite = smolPrimordial?.numberIsFinite ?? Number.isFinite;
24
+ const NumberIsInteger = smolPrimordial?.numberIsInteger ?? Number.isInteger;
25
+ const NumberIsNaN = smolPrimordial?.numberIsNaN ?? Number.isNaN;
26
+ const NumberIsSafeInteger = smolPrimordial?.numberIsSafeInteger ?? Number.isSafeInteger;
27
+ const NumberParseFloat = smolPrimordial?.numberParseFloat ?? Number.parseFloat;
28
+ const smolParseInt10 = smolPrimordial?.numberParseInt10;
29
+ /* c8 ignore start - smol fast-path branch only reachable on socket-btm smol Node binary */
30
+ const NumberParseInt = smolParseInt10 ? (s, radix) => radix === void 0 || radix === 10 ? smolParseInt10(s) : Number.parseInt(s, radix) : Number.parseInt;
31
31
  /* c8 ignore stop */
32
32
  const NumberPrototypeToExponential = require_primordials_uncurry.uncurryThis(Number.prototype.toExponential);
33
33
  const NumberPrototypeToFixed = require_primordials_uncurry.uncurryThis(Number.prototype.toFixed);
@@ -40,11 +40,11 @@ const ObjectPrototypeIsPrototypeOf = require_primordials_uncurry.uncurryThis(Obj
40
40
  const ObjectPrototypePropertyIsEnumerable = require_primordials_uncurry.uncurryThis(Object.prototype.propertyIsEnumerable);
41
41
  const ObjectPrototypeToString = require_primordials_uncurry.uncurryThis(Object.prototype.toString);
42
42
  const ObjectPrototypeValueOf = require_primordials_uncurry.uncurryThis(Object.prototype.valueOf);
43
- const _objectProto = Object.prototype;
44
- const ObjectPrototypeDefineGetter = require_primordials_uncurry.uncurryThis(_objectProto.__defineGetter__);
45
- const ObjectPrototypeDefineSetter = require_primordials_uncurry.uncurryThis(_objectProto.__defineSetter__);
46
- const ObjectPrototypeLookupGetter = require_primordials_uncurry.uncurryThis(_objectProto.__lookupGetter__);
47
- const ObjectPrototypeLookupSetter = require_primordials_uncurry.uncurryThis(_objectProto.__lookupSetter__);
43
+ const objectProto = Object.prototype;
44
+ const ObjectPrototypeDefineGetter = require_primordials_uncurry.uncurryThis(objectProto.__defineGetter__);
45
+ const ObjectPrototypeDefineSetter = require_primordials_uncurry.uncurryThis(objectProto.__defineSetter__);
46
+ const ObjectPrototypeLookupGetter = require_primordials_uncurry.uncurryThis(objectProto.__lookupGetter__);
47
+ const ObjectPrototypeLookupSetter = require_primordials_uncurry.uncurryThis(objectProto.__lookupSetter__);
48
48
 
49
49
  //#endregion
50
50
  exports.ObjectAssign = ObjectAssign;
@@ -50,8 +50,8 @@ export declare const StringPrototypeNormalize: (self: unknown, form?: string | u
50
50
  export declare const StringPrototypePadEnd: (self: unknown, maxLength: number, fillString?: string | undefined) => string;
51
51
  export declare const StringPrototypePadStart: (self: unknown, maxLength: number, fillString?: string | undefined) => string;
52
52
  export declare const StringPrototypeRepeat: (self: unknown, count: number) => string;
53
- export declare const StringPrototypeReplace: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args: any[]) => string)) => string;
54
- export declare const StringPrototypeReplaceAll: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args: any[]) => string)) => string;
53
+ export declare const StringPrototypeReplace: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args: unknown[]) => string)) => string;
54
+ export declare const StringPrototypeReplaceAll: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args: unknown[]) => string)) => string;
55
55
  export declare const StringPrototypeSearch: (self: unknown, searcher: {
56
56
  [Symbol.search](string: string): number;
57
57
  }) => number;
@@ -34,17 +34,17 @@ const require_smol_primordial = require('../smol/primordial.js');
34
34
  * `src/socketsecurity/primordial/primordial_binding.cc:41-72` for the
35
35
  * canonical design statement.
36
36
  */
37
- const _smolPrimordial = /* @__PURE__ */ require_smol_primordial.getSmolPrimordial();
37
+ const smolPrimordial = require_smol_primordial.getSmolPrimordial();
38
38
  const StringCtor = String;
39
39
  const StringFromCharCode = String.fromCharCode;
40
40
  const StringFromCodePoint = String.fromCodePoint;
41
41
  const StringRaw = String.raw;
42
42
  const StringPrototypeAt = require_primordials_uncurry.uncurryThis(String.prototype.at);
43
43
  const StringPrototypeCharAt = require_primordials_uncurry.uncurryThis(String.prototype.charAt);
44
- const _smolCharCodeAt = _smolPrimordial?.stringCharCodeAt;
45
- /* c8 ignore start */
46
- const StringPrototypeCharCodeAt = _smolCharCodeAt ? (s, i) => {
47
- const code = _smolCharCodeAt(s, i);
44
+ const smolCharCodeAt = smolPrimordial?.stringCharCodeAt;
45
+ /* c8 ignore start - smol Node fast path unreachable on stock Node test runner */
46
+ const StringPrototypeCharCodeAt = smolCharCodeAt ? (s, i) => {
47
+ const code = smolCharCodeAt(s, i);
48
48
  return code === -1 ? NaN : code;
49
49
  } : require_primordials_uncurry.uncurryThis(String.prototype.charCodeAt);
50
50
  /* c8 ignore stop */
@@ -53,7 +53,7 @@ const StringPrototypeConcat = require_primordials_uncurry.uncurryThis(String.pro
53
53
  const StringPrototypeEndsWith = require_primordials_uncurry.uncurryThis(String.prototype.endsWith);
54
54
  const StringPrototypeIncludes = require_primordials_uncurry.uncurryThis(String.prototype.includes);
55
55
  const StringPrototypeIndexOf = require_primordials_uncurry.uncurryThis(String.prototype.indexOf);
56
- const StringPrototypeIsWellFormed = _smolPrimordial?.stringIsWellFormed ?? require_primordials_uncurry.uncurryThis(String.prototype.isWellFormed);
56
+ const StringPrototypeIsWellFormed = smolPrimordial?.stringIsWellFormed ?? require_primordials_uncurry.uncurryThis(String.prototype.isWellFormed);
57
57
  const StringPrototypeLastIndexOf = require_primordials_uncurry.uncurryThis(String.prototype.lastIndexOf);
58
58
  const StringPrototypeLocaleCompare = require_primordials_uncurry.uncurryThis(String.prototype.localeCompare);
59
59
  const StringPrototypeMatch = require_primordials_uncurry.uncurryThis(String.prototype.match);
@@ -29,10 +29,10 @@ const SymbolSplit = Symbol.split;
29
29
  const SymbolToPrimitive = Symbol.toPrimitive;
30
30
  const SymbolToStringTag = Symbol.toStringTag;
31
31
  const SymbolUnscopables = Symbol.unscopables;
32
- const _symbolDescriptionGetter = Symbol.prototype.__lookupGetter__("description");
32
+ const symbolDescriptionGetter = Symbol.prototype.__lookupGetter__("description");
33
33
  function SymbolPrototypeDescription(self) {
34
- /* c8 ignore start */
35
- return _symbolDescriptionGetter ? _symbolDescriptionGetter.call(self) : self.description;
34
+ /* c8 ignore start - description getter is always present in modern V8; the fallback branch is unreachable */
35
+ return symbolDescriptionGetter ? symbolDescriptionGetter.call(self) : self.description;
36
36
  /* c8 ignore stop */
37
37
  }
38
38
  const SymbolPrototypeToString = require_primordials_uncurry.uncurryThis(Symbol.prototype.toString);
@@ -15,13 +15,13 @@ const require_smol_detect = require('../smol/detect.js');
15
15
  * or `Reflect` here. tsgo has a bug that mis-transpiles destructured exports.
16
16
  * See: https://github.com/SocketDev/socket-packageurl-js/issues/3.
17
17
  */
18
- const _smolUtil = /* @__PURE__ */ require_smol_detect.getSmolUtil();
18
+ const smolUtil = require_smol_detect.getSmolUtil();
19
19
  const { apply, bind, call } = Function.prototype;
20
- const uncurryThis = _smolUtil?.uncurryThis ?? bind.bind(call);
21
- const applyBind = _smolUtil?.applyBind ?? bind.bind(apply);
22
- const _applyBoundForSafe = applyBind;
23
- const applySafe = _smolUtil?.applySafe ?? ((fn) => {
24
- const apply2 = _applyBoundForSafe(fn);
20
+ const uncurryThis = smolUtil?.uncurryThis ?? bind.bind(call);
21
+ const applyBind = smolUtil?.applyBind ?? bind.bind(apply);
22
+ const applyBoundForSafe = applyBind;
23
+ const applySafe = smolUtil?.applySafe ?? ((fn) => {
24
+ const apply2 = applyBoundForSafe(fn);
25
25
  return (self, args) => {
26
26
  try {
27
27
  return apply2(self, args);
@@ -30,9 +30,9 @@ const applySafe = _smolUtil?.applySafe ?? ((fn) => {
30
30
  }
31
31
  };
32
32
  });
33
- const _bindCallFallback = ((fn, thisArg, ...presetArgs) => Function.prototype.bind.apply(fn, [thisArg, ...presetArgs]));
34
- const bindCall = _smolUtil?.bindCall ?? _bindCallFallback;
35
- const weakRefSafe = _smolUtil?.weakRefSafe ?? ((target) => {
33
+ const bindCallFallback = ((fn, thisArg, ...presetArgs) => Function.prototype.bind.apply(fn, [thisArg, ...presetArgs]));
34
+ const bindCall = smolUtil?.bindCall ?? bindCallFallback;
35
+ const weakRefSafe = smolUtil?.weakRefSafe ?? ((target) => {
36
36
  try {
37
37
  return new WeakRef(target);
38
38
  } catch {
@@ -8,7 +8,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
8
8
  * `AbortController` and its `AbortSignal` so cooperating modules can
9
9
  * coordinate cancellation from a single source.
10
10
  */
11
- let _abortController;
11
+ let abortController;
12
12
  /**
13
13
  * Get the process-scoped shared `AbortController` singleton. Cooperating
14
14
  * modules use this to coordinate cancellation across the library.
@@ -16,8 +16,8 @@ let _abortController;
16
16
  * @returns The lazily-created shared `AbortController` instance.
17
17
  */
18
18
  function getAbortController() {
19
- if (_abortController === void 0) _abortController = new AbortController();
20
- return _abortController;
19
+ if (abortController === void 0) abortController = new AbortController();
20
+ return abortController;
21
21
  }
22
22
  /**
23
23
  * Get the process-scoped shared `AbortSignal` singleton. This is the `signal`
@@ -72,12 +72,12 @@ var ProcessLockManager = class {
72
72
  */
73
73
  ensureExitHandler() {
74
74
  if (this.exitHandlerRegistered) return;
75
- /* @__PURE__ */ require_events_exit_handler.onExit(() => {
75
+ require_events_exit_handler.onExit(() => {
76
76
  /* c8 ignore start - Exit-handler body only fires on real
77
77
  process exit. Subprocess test infra would be needed. */
78
78
  for (const timer of this.touchTimers.values()) clearInterval(timer);
79
79
  this.touchTimers.clear();
80
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
80
+ const fs = require_node_fs.getNodeFs();
81
81
  for (const lockPath of this.activeLocks) try {
82
82
  if (fs.existsSync(lockPath)) require_fs_safe.safeDeleteSync(lockPath, { recursive: true });
83
83
  } catch {}
@@ -93,7 +93,7 @@ var ProcessLockManager = class {
93
93
  */
94
94
  touchLock(lockPath) {
95
95
  try {
96
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
96
+ const fs = require_node_fs.getNodeFs();
97
97
  if (fs.existsSync(lockPath)) {
98
98
  const now = require_primordials_date.DateNow() / 1e3;
99
99
  fs.utimesSync(lockPath, now, now);
@@ -142,7 +142,7 @@ var ProcessLockManager = class {
142
142
  */
143
143
  isStale(lockPath, staleMs) {
144
144
  try {
145
- const stats = (/* @__PURE__ */ require_node_fs.getNodeFs()).statSync(lockPath, { throwIfNoEntry: false });
145
+ const stats = require_node_fs.getNodeFs().statSync(lockPath, { throwIfNoEntry: false });
146
146
  if (!stats) return false;
147
147
  return require_primordials_date.DateNow() - stats.mtime.getTime() > staleMs;
148
148
  } catch {
@@ -178,7 +178,7 @@ var ProcessLockManager = class {
178
178
  async acquire(lockPath, options = {}) {
179
179
  const { baseDelayMs = 100, maxDelayMs = 1e3, retries = 3, staleMs = 5e3, touchIntervalMs = 2e3 } = options;
180
180
  this.ensureExitHandler();
181
- return await /* @__PURE__ */ require_promises_retry.pRetry(async () => {
181
+ return await require_promises_retry.pRetry(async () => {
182
182
  try {
183
183
  if (this.isStale(lockPath, staleMs)) {
184
184
  logger.log(`Removing stale lock: ${lockPath}`);
@@ -186,8 +186,8 @@ var ProcessLockManager = class {
186
186
  require_fs_safe.safeDeleteSync(lockPath, { recursive: true });
187
187
  } catch {}
188
188
  }
189
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
190
- const parent = (/* @__PURE__ */ require_node_path.getNodePath()).dirname(lockPath);
189
+ const fs = require_node_fs.getNodeFs();
190
+ const parent = require_node_path.getNodePath().dirname(lockPath);
191
191
  if (parent && parent !== "." && parent !== lockPath) fs.mkdirSync(parent, { recursive: true });
192
192
  fs.mkdirSync(lockPath);
193
193
  this.activeLocks.add(lockPath);
@@ -238,7 +238,7 @@ Parent path: ${parentDir}\nTo resolve:
238
238
  release(lockPath) {
239
239
  this.stopTouchTimer(lockPath);
240
240
  try {
241
- if ((/* @__PURE__ */ require_node_fs.getNodeFs()).existsSync(lockPath)) require_fs_safe.safeDeleteSync(lockPath, { recursive: true });
241
+ if (require_node_fs.getNodeFs().existsSync(lockPath)) require_fs_safe.safeDeleteSync(lockPath, { recursive: true });
242
242
  this.activeLocks.delete(lockPath);
243
243
  } catch (e) {
244
244
  logger.warn(`Failed to release lock ${lockPath}: ${require_errors_message.errorMessage(e)}`);
@@ -13,17 +13,16 @@ const require_ansi_strip = require('../../ansi/strip.js');
13
13
  */
14
14
  const stackCache = new require_primordials_map_set.WeakMapCtor();
15
15
  const spawnBinPathCache = new require_primordials_map_set.MapCtor();
16
- const windowsScriptExtRegExp = /\.(?:cmd|bat|ps1)$/i;
17
- let _npmCliPromiseSpawn;
16
+ const windowsScriptExtRegExp = /\.(?:bat|cmd|ps1)$/i;
17
+ let npmCliPromiseSpawnCache;
18
18
  /**
19
19
  * Lazily load the `@npmcli/promise-spawn` module to avoid Webpack bundling
20
20
  * issues. Required because the upstream module uses CJS dynamic-require
21
21
  * patterns that Webpack flags.
22
22
  */
23
- /*@__NO_SIDE_EFFECTS__*/
24
23
  function getNpmCliPromiseSpawn() {
25
- if (_npmCliPromiseSpawn === void 0) _npmCliPromiseSpawn = /*@__PURE__*/ require("../../external/@npmcli/promise-spawn");
26
- return _npmCliPromiseSpawn;
24
+ if (npmCliPromiseSpawnCache === void 0) npmCliPromiseSpawnCache = /*@__PURE__*/ require("../../external/@npmcli/promise-spawn");
25
+ return npmCliPromiseSpawnCache;
27
26
  }
28
27
  /**
29
28
  * Strip ANSI escape codes from spawn result stdout and stderr. Modifies the
@@ -33,12 +32,11 @@ function getNpmCliPromiseSpawn() {
33
32
  *
34
33
  * @returns {unknown} The modified result object
35
34
  */
36
- /*@__NO_SIDE_EFFECTS__*/
37
35
  function stripAnsiFromSpawnResult(result) {
38
36
  const res = result;
39
37
  const { stderr, stdout } = res;
40
- if (typeof stdout === "string") res.stdout = /* @__PURE__ */ require_ansi_strip.stripAnsi(stdout);
41
- if (typeof stderr === "string") res.stderr = /* @__PURE__ */ require_ansi_strip.stripAnsi(stderr);
38
+ if (typeof stdout === "string") res.stdout = require_ansi_strip.stripAnsi(stdout);
39
+ if (typeof stderr === "string") res.stderr = require_ansi_strip.stripAnsi(stderr);
42
40
  return res;
43
41
  }
44
42
 
@@ -52,8 +52,8 @@ function spawn(cmd, args, options, extra) {
52
52
  const { env, shell, stdio, stdioString = true } = spawnOptions;
53
53
  const cwd = spawnOptions.cwd ? String(spawnOptions.cwd) : void 0;
54
54
  let actualCmd = cmd;
55
- if (!/* @__PURE__ */ require_paths_predicates.isPath(cmd)) {
56
- const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
55
+ if (!require_paths_predicates.isPath(cmd)) {
56
+ const fs = require_node_fs.getNodeFs();
57
57
  const cached = require_process_spawn__internal.spawnBinPathCache.get(cmd);
58
58
  /* c8 ignore start */
59
59
  if (cached) if (fs.existsSync(cached)) actualCmd = cached;
@@ -72,9 +72,9 @@ function spawn(cmd, args, options, extra) {
72
72
  /* c8 ignore start - Windows-only cmd.exe extension stripping for
73
73
  .cmd/.bat/.ps1 shell-true execution. Tested on Windows runners. */
74
74
  if (node_process.default.platform === "win32" && shell && require_primordials_regexp.RegExpPrototypeTest(require_process_spawn__internal.windowsScriptExtRegExp, actualCmd)) {
75
- if (!/* @__PURE__ */ require_paths_predicates.isPath(actualCmd)) actualCmd = (/* @__PURE__ */ require_node_path.getNodePath()).basename(actualCmd, (/* @__PURE__ */ require_node_path.getNodePath()).extname(actualCmd));
75
+ if (!require_paths_predicates.isPath(actualCmd)) actualCmd = require_node_path.getNodePath().basename(actualCmd, require_node_path.getNodePath().extname(actualCmd));
76
76
  }
77
- const shouldStopSpinner = !!spinnerInstance?.isSpinning && !/* @__PURE__ */ require_process_spawn_stdio.isStdioType(stdio, "ignore") && !/* @__PURE__ */ require_process_spawn_stdio.isStdioType(stdio, "pipe");
77
+ const shouldStopSpinner = !!spinnerInstance?.isSpinning && !require_process_spawn_stdio.isStdioType(stdio, "ignore") && !require_process_spawn_stdio.isStdioType(stdio, "pipe");
78
78
  const shouldRestartSpinner = shouldStopSpinner;
79
79
  if (shouldStopSpinner) spinnerInstance.stop();
80
80
  const envToUse = env ? {
@@ -95,18 +95,18 @@ function spawn(cmd, args, options, extra) {
95
95
  uid: spawnOptions.uid,
96
96
  gid: spawnOptions.gid
97
97
  };
98
- const spawnPromise = (/* @__PURE__ */ require_process_spawn__internal.getNpmCliPromiseSpawn())(actualCmd, args ? [...args] : [], promiseSpawnOpts, extra);
98
+ const spawnPromise = require_process_spawn__internal.getNpmCliPromiseSpawn()(actualCmd, args ? [...args] : [], promiseSpawnOpts, extra);
99
99
  /* c8 ignore stop */
100
100
  const oldSpawnPromise = spawnPromise;
101
101
  /* c8 ignore start */
102
102
  let newSpawnPromise;
103
103
  if (shouldStripAnsi && stdioString) newSpawnPromise = (async () => {
104
104
  try {
105
- const strippedResult = /* @__PURE__ */ require_process_spawn__internal.stripAnsiFromSpawnResult(await spawnPromise);
105
+ const strippedResult = require_process_spawn__internal.stripAnsiFromSpawnResult(await spawnPromise);
106
106
  if ("code" in strippedResult) strippedResult.exitCode = strippedResult.code;
107
107
  return strippedResult;
108
108
  } catch (error) {
109
- throw /* @__PURE__ */ require_process_spawn_errors.enhanceSpawnError(/* @__PURE__ */ require_process_spawn__internal.stripAnsiFromSpawnResult(error));
109
+ throw require_process_spawn_errors.enhanceSpawnError(require_process_spawn__internal.stripAnsiFromSpawnResult(error));
110
110
  }
111
111
  })();
112
112
  else newSpawnPromise = (async () => {
@@ -119,7 +119,7 @@ function spawn(cmd, args, options, extra) {
119
119
  }
120
120
  return result;
121
121
  } catch (error) {
122
- throw /* @__PURE__ */ require_process_spawn_errors.enhanceSpawnError(error);
122
+ throw require_process_spawn_errors.enhanceSpawnError(error);
123
123
  }
124
124
  })();
125
125
  /* c8 ignore stop */
@@ -139,18 +139,18 @@ function spawn(cmd, args, options, extra) {
139
139
  }
140
140
  function spawnSync(cmd, args, options) {
141
141
  let actualCmd = cmd;
142
- if (!/* @__PURE__ */ require_paths_predicates.isPath(cmd)) {
142
+ if (!require_paths_predicates.isPath(cmd)) {
143
143
  const resolved = require_bin_which.whichSync(cmd, {
144
- cwd: /* @__PURE__ */ require_objects_inspect.getOwn(options, "cwd"),
144
+ cwd: require_objects_inspect.getOwn(options, "cwd"),
145
145
  nothrow: true
146
146
  });
147
147
  if (resolved && typeof resolved === "string") actualCmd = resolved;
148
148
  }
149
- const shell = /* @__PURE__ */ require_objects_inspect.getOwn(options, "shell");
149
+ const shell = require_objects_inspect.getOwn(options, "shell");
150
150
  /* c8 ignore start - Windows-only cmd.exe extension stripping for
151
151
  .cmd/.bat/.ps1 shell-true execution. Tested on Windows runners. */
152
152
  if (node_process.default.platform === "win32" && shell && require_primordials_regexp.RegExpPrototypeTest(require_process_spawn__internal.windowsScriptExtRegExp, actualCmd)) {
153
- if (!/* @__PURE__ */ require_paths_predicates.isPath(actualCmd)) actualCmd = (/* @__PURE__ */ require_node_path.getNodePath()).basename(actualCmd, (/* @__PURE__ */ require_node_path.getNodePath()).extname(actualCmd));
153
+ if (!require_paths_predicates.isPath(actualCmd)) actualCmd = require_node_path.getNodePath().basename(actualCmd, require_node_path.getNodePath().extname(actualCmd));
154
154
  }
155
155
  /* c8 ignore stop */
156
156
  const { stripAnsi: shouldStripAnsi = true, ...rawSpawnOptions } = {
@@ -163,13 +163,13 @@ function spawnSync(cmd, args, options) {
163
163
  ...rawSpawnOptions
164
164
  };
165
165
  const stdioString = spawnOptions.encoding !== "buffer";
166
- const result = (/* @__PURE__ */ require_node_child_process.getNodeChildProcess()).spawnSync(actualCmd, args, spawnOptions);
166
+ const result = require_node_child_process.getNodeChildProcess().spawnSync(actualCmd, args, spawnOptions);
167
167
  if (stdioString) {
168
168
  const { stderr, stdout } = result;
169
169
  if (stdout) result.stdout = stdout.toString().trim();
170
170
  if (stderr) result.stderr = stderr.toString().trim();
171
171
  }
172
- return shouldStripAnsi && stdioString ? /* @__PURE__ */ require_process_spawn__internal.stripAnsiFromSpawnResult(result) : result;
172
+ return shouldStripAnsi && stdioString ? require_process_spawn__internal.stripAnsiFromSpawnResult(result) : result;
173
173
  }
174
174
 
175
175
  //#endregion
@@ -34,10 +34,9 @@ let src_external_pony_cause = require("../../external/pony-cause");
34
34
  * }
35
35
  * ```
36
36
  */
37
- /*@__NO_SIDE_EFFECTS__*/
38
37
  function enhanceSpawnError(error) {
39
38
  if (error === null || typeof error !== "object") return error;
40
- if (!/* @__PURE__ */ isSpawnError(error)) return error;
39
+ if (!isSpawnError(error)) return error;
41
40
  const err = error;
42
41
  const { args, cmd, code, signal, stderr } = err;
43
42
  const stderrText = typeof stderr === "string" ? stderr : stderr?.toString() ?? "";
@@ -109,11 +108,10 @@ function enhanceSpawnError(error) {
109
108
  *
110
109
  * @returns {boolean} `true` if the value has spawn error properties
111
110
  */
112
- /*@__NO_SIDE_EFFECTS__*/
113
111
  function isSpawnError(value) {
114
112
  if (value === null || typeof value !== "object") return false;
115
113
  const err = value;
116
- return /* @__PURE__ */ require_objects_predicates.hasOwn(err, "code") && typeof err["code"] !== "undefined" || /* @__PURE__ */ require_objects_predicates.hasOwn(err, "errno") && typeof err["errno"] !== "undefined" || /* @__PURE__ */ require_objects_predicates.hasOwn(err, "syscall") && typeof err["syscall"] === "string";
114
+ return require_objects_predicates.hasOwn(err, "code") && typeof err["code"] !== "undefined" || require_objects_predicates.hasOwn(err, "errno") && typeof err["errno"] !== "undefined" || require_objects_predicates.hasOwn(err, "syscall") && typeof err["syscall"] === "string";
117
115
  }
118
116
 
119
117
  //#endregion
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @file Cross-platform process-tree termination. A spawned package manager,
3
+ * proxy, or build tool spawns its own children; killing only the direct child
4
+ * orphans them (they reparent to init on POSIX and run forever). These
5
+ * helpers kill the whole tree:
6
+ *
7
+ * - POSIX: when the child was spawned `detached: true` it leads its own process
8
+ * group, so `process.kill(-pid, signal)` signals every member at once. Pass
9
+ * `{ detached: true }` (the default) for that behavior; pass `{ detached:
10
+ * false }` to signal only the single pid.
11
+ * - Windows: there are no POSIX process groups, so we shell out to `taskkill /T
12
+ * /F /pid <pid>`, which walks and terminates the descendant tree. The
13
+ * `signal` argument is ignored on Windows (taskkill is always a forceful
14
+ * terminate). Both helpers are best-effort and never throw: a process that
15
+ * already exited (ESRCH) or that we lack permission to signal (EPERM) is
16
+ * treated as "nothing to do", because a cleanup kill must not mask the
17
+ * caller's original control flow. `killProcessTree` returns `true` if a
18
+ * kill was attempted, `false` if the pid was invalid or already gone.
19
+ */
20
+ import type { ChildProcess } from 'node:child_process';
21
+ export interface KillProcessTreeOptions {
22
+ /**
23
+ * POSIX only. When `true` (default), signal the child's entire process group
24
+ * via the negative pid — requires the child to have been spawned `detached:
25
+ * true`. When `false`, signal only the single pid. Ignored on Windows
26
+ * (taskkill always kills the tree).
27
+ */
28
+ detached?: boolean | undefined;
29
+ /**
30
+ * POSIX signal to send (default `'SIGTERM'`). Ignored on Windows, where
31
+ * taskkill performs a forceful terminate.
32
+ */
33
+ signal?: NodeJS.Signals | number | undefined;
34
+ }
35
+ /**
36
+ * Probe whether a pid is still alive. Uses signal 0, which performs the
37
+ * permission/existence check without delivering a signal. Returns `false` for
38
+ * pid <= 1 (kernel/init) so callers don't mistake those for a live child.
39
+ */
40
+ export declare function isProcessAlive(pid: number): boolean;
41
+ /**
42
+ * Kill a process and its descendants. See the file header for the
43
+ * POSIX-process-group vs. Windows-taskkill strategy. Best-effort: never throws.
44
+ * Returns `true` if a kill was attempted, `false` if the pid was invalid or the
45
+ * process had already exited.
46
+ */
47
+ export declare function killProcessTree(target: number | ChildProcess, options?: KillProcessTreeOptions | undefined): boolean;
48
+ /**
49
+ * Resolve a pid from either a raw number or a spawned ChildProcess. Returns
50
+ * `undefined` for a missing/invalid pid or a process that already exited.
51
+ * Exported for direct testing.
52
+ */
53
+ export declare function resolvePid(target: number | ChildProcess): number | undefined;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_platform = require('../../constants/platform.js');
5
+ const require_node_child_process = require('../../node/child-process.js');
6
+
7
+ //#region src/process/spawn/kill-tree.ts
8
+ /**
9
+ * @file Cross-platform process-tree termination. A spawned package manager,
10
+ * proxy, or build tool spawns its own children; killing only the direct child
11
+ * orphans them (they reparent to init on POSIX and run forever). These
12
+ * helpers kill the whole tree:
13
+ *
14
+ * - POSIX: when the child was spawned `detached: true` it leads its own process
15
+ * group, so `process.kill(-pid, signal)` signals every member at once. Pass
16
+ * `{ detached: true }` (the default) for that behavior; pass `{ detached:
17
+ * false }` to signal only the single pid.
18
+ * - Windows: there are no POSIX process groups, so we shell out to `taskkill /T
19
+ * /F /pid <pid>`, which walks and terminates the descendant tree. The
20
+ * `signal` argument is ignored on Windows (taskkill is always a forceful
21
+ * terminate). Both helpers are best-effort and never throw: a process that
22
+ * already exited (ESRCH) or that we lack permission to signal (EPERM) is
23
+ * treated as "nothing to do", because a cleanup kill must not mask the
24
+ * caller's original control flow. `killProcessTree` returns `true` if a
25
+ * kill was attempted, `false` if the pid was invalid or already gone.
26
+ */
27
+ /**
28
+ * Probe whether a pid is still alive. Uses signal 0, which performs the
29
+ * permission/existence check without delivering a signal. Returns `false` for
30
+ * pid <= 1 (kernel/init) so callers don't mistake those for a live child.
31
+ */
32
+ function isProcessAlive(pid) {
33
+ if (!Number.isInteger(pid) || pid <= 1) return false;
34
+ try {
35
+ process.kill(pid, 0);
36
+ return true;
37
+ } catch {
38
+ return false;
39
+ }
40
+ }
41
+ /**
42
+ * Kill a process and its descendants. See the file header for the
43
+ * POSIX-process-group vs. Windows-taskkill strategy. Best-effort: never throws.
44
+ * Returns `true` if a kill was attempted, `false` if the pid was invalid or the
45
+ * process had already exited.
46
+ */
47
+ function killProcessTree(target, options) {
48
+ const pid = resolvePid(target);
49
+ if (pid === void 0) return false;
50
+ const opts = {
51
+ __proto__: null,
52
+ ...options
53
+ };
54
+ const detached = opts.detached !== false;
55
+ const signal = opts.signal ?? "SIGTERM";
56
+ try {
57
+ if (require_constants_platform.WIN32) return require_node_child_process.getNodeChildProcess().spawnSync("taskkill", [
58
+ "/T",
59
+ "/F",
60
+ "/pid",
61
+ String(pid)
62
+ ], { stdio: "ignore" }).status === 0;
63
+ if (detached) process.kill(-pid, signal);
64
+ else process.kill(pid, signal);
65
+ return true;
66
+ } catch {
67
+ return false;
68
+ }
69
+ }
70
+ /**
71
+ * Resolve a pid from either a raw number or a spawned ChildProcess. Returns
72
+ * `undefined` for a missing/invalid pid or a process that already exited.
73
+ * Exported for direct testing.
74
+ */
75
+ function resolvePid(target) {
76
+ if (typeof target === "number") return Number.isInteger(target) && target > 1 ? target : void 0;
77
+ if (target.exitCode !== null || target.signalCode !== null) return;
78
+ const { pid } = target;
79
+ return typeof pid === "number" && pid > 1 ? pid : void 0;
80
+ }
81
+
82
+ //#endregion
83
+ exports.isProcessAlive = isProcessAlive;
84
+ exports.killProcessTree = killProcessTree;
85
+ exports.resolvePid = resolvePid;
@@ -39,7 +39,6 @@ const require_arrays_predicates = require('../../arrays/predicates.js');
39
39
  *
40
40
  * @returns {boolean} `true` if stdio matches the type or is valid
41
41
  */
42
- /*@__NO_SIDE_EFFECTS__*/
43
42
  function isStdioType(stdio, type) {
44
43
  if (arguments.length === 1) return typeof stdio === "string" && [
45
44
  "pipe",
@@ -218,7 +218,7 @@ export interface ChildProcess extends EventEmitter {
218
218
  stdin: NodeJS.WritableStream | null;
219
219
  stdout: NodeJS.ReadableStream | null;
220
220
  stderr: NodeJS.ReadableStream | null;
221
- readonly channel?: unknown;
221
+ readonly channel?: unknown | undefined;
222
222
  readonly stdio: [
223
223
  NodeJS.WritableStream | null,
224
224
  NodeJS.ReadableStream | null,
@@ -285,8 +285,8 @@ export interface WritableStreamType {
285
285
  */
286
286
  export type SpawnOptions = Remap<NodeSpawnOptions & {
287
287
  spinner?: SpinnerInstance | undefined;
288
- stdioString?: boolean;
289
- stripAnsi?: boolean;
288
+ stdioString?: boolean | undefined;
289
+ stripAnsi?: boolean | undefined;
290
290
  }>;
291
291
  export type SpawnResult<T = string | Buffer> = PromiseSpawnResult<T>;
292
292
  /**
@@ -320,6 +320,6 @@ export type SpawnStdioResult = {
320
320
  * field is excluded (not applicable for synchronous execution).
321
321
  */
322
322
  export type SpawnSyncOptions = Remap<NodeSpawnSyncOptions & {
323
- stdioString?: boolean;
324
- stripAnsi?: boolean;
323
+ stdioString?: boolean | undefined;
324
+ stripAnsi?: boolean | undefined;
325
325
  }>;
@@ -32,9 +32,9 @@ node_process = require_runtime.__toESM(node_process);
32
32
  function isTransientProcess(cwd = node_process.default.cwd()) {
33
33
  const userAgent = node_process.default.env["npm_config_user_agent"];
34
34
  if (userAgent?.includes("exec") || userAgent?.includes("npx") || userAgent?.includes("dlx")) return true;
35
- const normalizedCwd = /* @__PURE__ */ require_paths_normalize.normalizePath(cwd);
35
+ const normalizedCwd = require_paths_normalize.normalizePath(cwd);
36
36
  const npmCache = node_process.default.env["npm_config_cache"];
37
- if (npmCache && normalizedCwd.includes(/* @__PURE__ */ require_paths_normalize.normalizePath(npmCache))) return true;
37
+ if (npmCache && normalizedCwd.includes(require_paths_normalize.normalizePath(npmCache))) return true;
38
38
  const tempPatterns = [
39
39
  "_npx",
40
40
  ".pnpm-store",
@@ -3,6 +3,7 @@
3
3
  * `node:timers/promises` accessor + the shared abort signal. Underscore
4
4
  * prefix excludes from public exports.
5
5
  */
6
+ import type timersPromises from 'node:timers/promises';
6
7
  export declare const abortSignal: AbortSignal;
7
8
  /**
8
9
  * Get the timers/promises module. Lazy `require` (not a top-level import) to
@@ -18,4 +19,4 @@ export declare const abortSignal: AbortSignal;
18
19
  *
19
20
  * @returns The Node.js timers/promises module
20
21
  */
21
- export declare function getTimers(): typeof import('node:timers/promises');
22
+ export declare function getTimers(): typeof timersPromises;
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  /* Socket Lib - Built with rolldown */
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_constants_runtime = require('../constants/runtime.js');
4
5
  const require_process_abort = require('../process/abort.js');
5
6
 
6
7
  //#region src/promises/_internal.ts
7
- /**
8
- * @file Private internals for `promises/*` modules — the lazy
9
- * `node:timers/promises` accessor + the shared abort signal. Underscore
10
- * prefix excludes from public exports.
11
- */
12
8
  const abortSignal = require_process_abort.getAbortSignal();
13
9
  /**
14
10
  * Get the timers/promises module. Lazy `require` (not a top-level import) to
@@ -24,8 +20,8 @@ const abortSignal = require_process_abort.getAbortSignal();
24
20
  *
25
21
  * @returns The Node.js timers/promises module
26
22
  */
27
- /*@__NO_SIDE_EFFECTS__*/
28
23
  function getTimers() {
24
+ if (!require_constants_runtime.IS_NODE) return;
29
25
  return require("node:timers/promises");
30
26
  }
31
27