@socketsecurity/lib 5.28.0 → 6.0.1

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 (1055) hide show
  1. package/CHANGELOG.md +135 -37
  2. package/README.md +26 -17
  3. package/dist/abort/signal.d.ts +28 -0
  4. package/dist/{abort.js → abort/signal.js} +12 -10
  5. package/dist/ai/discover.d.mts +50 -0
  6. package/dist/ai/discover.js +128 -0
  7. package/dist/ai/profiles.d.mts +39 -0
  8. package/dist/ai/profiles.js +61 -0
  9. package/dist/ai/spawn.d.mts +49 -0
  10. package/dist/ai/spawn.js +207 -0
  11. package/dist/ai/types.d.mts +117 -0
  12. package/dist/ai/types.js +18 -0
  13. package/dist/ai/worktree.d.mts +104 -0
  14. package/dist/ai/worktree.js +200 -0
  15. package/dist/ansi/constants.d.ts +10 -0
  16. package/dist/ansi/constants.js +45 -0
  17. package/dist/ansi/strip.d.ts +33 -0
  18. package/dist/{ansi.js → ansi/strip.js} +7 -24
  19. package/dist/archives/_internal.d.ts +39 -0
  20. package/dist/archives/_internal.js +87 -0
  21. package/dist/archives/detect.d.ts +19 -0
  22. package/dist/archives/detect.js +46 -0
  23. package/dist/archives/extract.d.ts +22 -0
  24. package/dist/archives/extract.js +53 -0
  25. package/dist/archives/tar.d.ts +42 -0
  26. package/dist/archives/tar.js +233 -0
  27. package/dist/archives/types.d.ts +34 -0
  28. package/dist/archives/types.js +18 -0
  29. package/dist/archives/zip.d.ts +20 -0
  30. package/dist/archives/zip.js +124 -0
  31. package/dist/argv/flag-predicates.d.ts +179 -0
  32. package/dist/argv/flag-predicates.js +118 -0
  33. package/dist/argv/flag-types.d.ts +123 -0
  34. package/dist/argv/flag-types.js +116 -0
  35. package/dist/argv/parse-args-string.d.ts +30 -0
  36. package/dist/argv/parse-args-string.js +42 -0
  37. package/dist/argv/parse.d.ts +34 -33
  38. package/dist/argv/parse.js +6 -4
  39. package/dist/arrays/_internal.d.ts +43 -0
  40. package/dist/{arrays.js → arrays/_internal.js} +8 -41
  41. package/dist/arrays/chunk.d.ts +37 -0
  42. package/dist/arrays/chunk.js +43 -0
  43. package/dist/arrays/join.d.ts +76 -0
  44. package/dist/{env/helpers.js → arrays/join.js} +12 -18
  45. package/dist/arrays/predicates.d.ts +40 -0
  46. package/dist/arrays/predicates.js +30 -0
  47. package/dist/arrays/unique.d.ts +36 -0
  48. package/dist/arrays/unique.js +34 -0
  49. package/dist/bin/_internal.d.ts +22 -0
  50. package/dist/bin/_internal.js +43 -0
  51. package/dist/bin/check-primordials.d.ts +41 -15
  52. package/dist/bin/check-primordials.js +49 -28
  53. package/dist/bin/check.d.ts +7 -12
  54. package/dist/bin/check.js +6 -2
  55. package/dist/bin/exec.d.ts +37 -0
  56. package/dist/bin/exec.js +79 -0
  57. package/dist/bin/find.d.ts +58 -0
  58. package/dist/bin/find.js +143 -0
  59. package/dist/bin/resolve.d.ts +30 -0
  60. package/dist/bin/resolve.js +249 -0
  61. package/dist/bin/shadow.d.ts +16 -0
  62. package/dist/bin/shadow.js +36 -0
  63. package/dist/bin/socket-lib.d.ts +10 -14
  64. package/dist/bin/socket-lib.js +19 -4
  65. package/dist/bin/types.d.ts +34 -0
  66. package/dist/bin/types.js +18 -0
  67. package/dist/bin/which.d.ts +111 -0
  68. package/dist/bin/which.js +155 -0
  69. package/dist/cacache/_internal.d.ts +15 -0
  70. package/dist/cacache/_internal.js +43 -0
  71. package/dist/cacache/clear.d.ts +43 -0
  72. package/dist/cacache/clear.js +77 -0
  73. package/dist/cacache/read.d.ts +31 -0
  74. package/dist/cacache/read.js +51 -0
  75. package/dist/cacache/tmp.d.ts +18 -0
  76. package/dist/cacache/tmp.js +39 -0
  77. package/dist/cacache/types.d.ts +37 -0
  78. package/dist/cacache/types.js +18 -0
  79. package/dist/cacache/write.d.ts +31 -0
  80. package/dist/cacache/write.js +53 -0
  81. package/dist/cache/ttl/store.d.ts +29 -0
  82. package/dist/{cache-with-ttl.js → cache/ttl/store.js} +45 -37
  83. package/dist/cache/ttl/types.d.ts +109 -0
  84. package/dist/cache/ttl/types.js +18 -0
  85. package/dist/checks/primordials-defaults.d.ts +20 -0
  86. package/dist/checks/primordials-defaults.js +92 -0
  87. package/dist/checks/primordials.d.ts +69 -61
  88. package/dist/checks/primordials.js +141 -92
  89. package/dist/colors/convert.d.ts +35 -0
  90. package/dist/colors/convert.js +42 -0
  91. package/dist/colors/palette.d.ts +7 -0
  92. package/dist/{colors.js → colors/palette.js} +5 -17
  93. package/dist/colors/socket-palette.d.ts +69 -0
  94. package/dist/colors/socket-palette.js +91 -0
  95. package/dist/colors/types.d.ts +29 -0
  96. package/dist/colors/types.js +18 -0
  97. package/dist/compression/_internal.d.ts +33 -0
  98. package/dist/compression/_internal.js +77 -0
  99. package/dist/compression/brotli.d.ts +82 -0
  100. package/dist/{compression.js → compression/brotli.js} +17 -145
  101. package/dist/compression/gzip.d.ts +70 -0
  102. package/dist/compression/gzip.js +142 -0
  103. package/dist/compression/types.d.ts +37 -0
  104. package/dist/compression/types.js +18 -0
  105. package/dist/constants/agents.d.ts +4 -3
  106. package/dist/constants/agents.js +7 -4
  107. package/dist/constants/encoding.d.ts +3 -3
  108. package/dist/constants/github.d.ts +2 -3
  109. package/dist/constants/licenses.d.ts +5 -5
  110. package/dist/constants/licenses.js +2 -2
  111. package/dist/constants/lifecycle-script-names.d.ts +3 -4
  112. package/dist/constants/lifecycle-script-names.js +2 -2
  113. package/dist/constants/maintained-node-versions.d.ts +1 -1
  114. package/dist/constants/maintained-node-versions.js +3 -4
  115. package/dist/constants/node.d.ts +21 -20
  116. package/dist/constants/node.js +4 -4
  117. package/dist/constants/package-default-node-range.d.ts +1 -1
  118. package/dist/constants/package-default-socket-categories.d.ts +1 -1
  119. package/dist/constants/package-default-socket-categories.js +2 -2
  120. package/dist/constants/packages.d.ts +4 -4
  121. package/dist/constants/packages.js +7 -5
  122. package/dist/constants/platform.d.ts +3 -1
  123. package/dist/constants/platform.js +3 -10
  124. package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
  125. package/dist/constants/{core.js → sentinels.js} +3 -3
  126. package/dist/constants/socket.d.ts +4 -6
  127. package/dist/constants/socket.js +6 -9
  128. package/dist/constants/testing.d.ts +3 -3
  129. package/dist/constants/time.d.ts +3 -3
  130. package/dist/constants/typescript.d.ts +3 -3
  131. package/dist/cover/code.d.ts +11 -3
  132. package/dist/cover/code.js +27 -37
  133. package/dist/cover/formatters.d.ts +19 -15
  134. package/dist/cover/formatters.js +21 -18
  135. package/dist/cover/type.d.ts +4 -3
  136. package/dist/cover/type.js +10 -9
  137. package/dist/cover/types.d.ts +1 -1
  138. package/dist/crypto/hash.d.ts +36 -0
  139. package/dist/{crypto.js → crypto/hash.js} +17 -17
  140. package/dist/debug/_internal.d.ts +25 -0
  141. package/dist/debug/_internal.js +77 -0
  142. package/dist/debug/caller-info.d.ts +12 -0
  143. package/dist/debug/caller-info.js +67 -0
  144. package/dist/debug/namespace.d.ts +35 -0
  145. package/dist/debug/namespace.js +101 -0
  146. package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
  147. package/dist/debug/output.js +209 -0
  148. package/dist/debug/types.d.ts +21 -0
  149. package/dist/debug/types.js +18 -0
  150. package/dist/dlx/_internal.d.ts +10 -0
  151. package/dist/dlx/_internal.js +47 -0
  152. package/dist/dlx/arborist.d.ts +86 -61
  153. package/dist/dlx/arborist.js +30 -35
  154. package/dist/dlx/binary-cache.d.ts +108 -0
  155. package/dist/dlx/binary-cache.js +212 -0
  156. package/dist/dlx/binary-download.d.ts +67 -0
  157. package/dist/dlx/binary-download.js +216 -0
  158. package/dist/dlx/binary-resolution.d.ts +61 -0
  159. package/dist/dlx/binary-resolution.js +164 -0
  160. package/dist/dlx/binary-types.d.ts +144 -0
  161. package/dist/dlx/binary-types.js +18 -0
  162. package/dist/dlx/binary.d.ts +39 -268
  163. package/dist/dlx/binary.js +40 -321
  164. package/dist/dlx/cache.d.ts +21 -16
  165. package/dist/dlx/cache.js +2 -2
  166. package/dist/dlx/detect.d.ts +94 -68
  167. package/dist/dlx/detect.js +32 -35
  168. package/dist/dlx/dir.d.ts +20 -18
  169. package/dist/dlx/dir.js +7 -14
  170. package/dist/dlx/firewall.d.ts +27 -0
  171. package/dist/dlx/firewall.js +107 -0
  172. package/dist/dlx/lockfile.d.ts +73 -56
  173. package/dist/dlx/lockfile.js +36 -44
  174. package/dist/dlx/manifest.d.ts +50 -51
  175. package/dist/dlx/manifest.js +52 -53
  176. package/dist/dlx/package.d.ts +83 -279
  177. package/dist/dlx/package.js +45 -267
  178. package/dist/dlx/packages.d.ts +22 -20
  179. package/dist/dlx/packages.js +15 -20
  180. package/dist/dlx/paths.d.ts +26 -23
  181. package/dist/dlx/paths.js +8 -15
  182. package/dist/dlx/spec.d.ts +25 -0
  183. package/dist/dlx/spec.js +63 -0
  184. package/dist/dlx/types.d.ts +142 -0
  185. package/dist/dlx/types.js +18 -0
  186. package/dist/eco/cargo/lockfile-format.d.ts +8 -0
  187. package/dist/eco/cargo/lockfile-format.js +39 -0
  188. package/dist/eco/cargo/manifest-format.d.ts +7 -0
  189. package/dist/eco/cargo/manifest-format.js +38 -0
  190. package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
  191. package/dist/eco/cargo/parse-lockfile.js +257 -0
  192. package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
  193. package/dist/eco/manifest/analyze-lockfile.js +67 -0
  194. package/dist/eco/manifest/detect-format.d.ts +15 -0
  195. package/dist/eco/manifest/detect-format.js +98 -0
  196. package/dist/eco/manifest/find-packages.d.ts +14 -0
  197. package/dist/eco/manifest/find-packages.js +69 -0
  198. package/dist/eco/manifest/get-package-versions.d.ts +8 -0
  199. package/dist/eco/manifest/get-package-versions.js +52 -0
  200. package/dist/eco/manifest/get-package.d.ts +10 -0
  201. package/dist/eco/manifest/get-package.js +44 -0
  202. package/dist/eco/manifest/manifest-error.d.ts +18 -0
  203. package/dist/eco/manifest/manifest-error.js +37 -0
  204. package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
  205. package/dist/eco/manifest/parse-lockfile.js +91 -0
  206. package/dist/eco/manifest/parse-manifest.d.ts +12 -0
  207. package/dist/eco/manifest/parse-manifest.js +48 -0
  208. package/dist/eco/manifest/parse.d.ts +9 -0
  209. package/dist/eco/manifest/parse.js +52 -0
  210. package/dist/eco/manifest/types.d.ts +10 -0
  211. package/dist/eco/manifest/types.js +18 -0
  212. package/dist/eco/npm/bun/exec.d.ts +15 -0
  213. package/dist/eco/npm/bun/exec.js +35 -0
  214. package/dist/eco/npm/manifest-format.d.ts +11 -0
  215. package/dist/eco/npm/manifest-format.js +38 -0
  216. package/dist/eco/npm/npm/exec.d.ts +24 -0
  217. package/dist/eco/npm/npm/exec.js +64 -0
  218. package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
  219. package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
  220. package/dist/eco/npm/npm/flags.d.ts +62 -0
  221. package/dist/eco/npm/npm/flags.js +63 -0
  222. package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
  223. package/dist/eco/npm/npm/lockfile-format.js +42 -0
  224. package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
  225. package/dist/eco/npm/npm/parse-git-url.js +43 -0
  226. package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
  227. package/dist/eco/npm/npm/parse-lockfile.js +224 -0
  228. package/dist/eco/npm/parse-package-json.d.ts +16 -0
  229. package/dist/eco/npm/parse-package-json.js +115 -0
  230. package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
  231. package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
  232. package/dist/eco/npm/pnpm/exec.d.ts +26 -0
  233. package/dist/eco/npm/pnpm/exec.js +65 -0
  234. package/dist/eco/npm/pnpm/flags.d.ts +44 -0
  235. package/dist/eco/npm/pnpm/flags.js +76 -0
  236. package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
  237. package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
  238. package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
  239. package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
  240. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
  241. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
  242. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
  243. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
  244. package/dist/eco/npm/script.d.ts +35 -0
  245. package/dist/eco/npm/script.js +93 -0
  246. package/dist/eco/npm/vlt/exec.d.ts +16 -0
  247. package/dist/eco/npm/vlt/exec.js +35 -0
  248. package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
  249. package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
  250. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
  251. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
  252. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
  253. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
  254. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
  255. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
  256. package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
  257. package/dist/{types.js → eco/purl.js} +3 -3
  258. package/dist/eco/types.d.ts +51 -0
  259. package/dist/eco/types.js +18 -0
  260. package/dist/effects/pulse-frames.d.ts +16 -17
  261. package/dist/effects/pulse-frames.js +4 -4
  262. package/dist/effects/shimmer-keyframes.d.ts +39 -37
  263. package/dist/effects/shimmer-terminal.d.ts +43 -42
  264. package/dist/effects/shimmer-terminal.js +3 -3
  265. package/dist/effects/shimmer.d.ts +172 -153
  266. package/dist/effects/shimmer.js +78 -76
  267. package/dist/env/boolean.d.ts +33 -0
  268. package/dist/env/boolean.js +46 -0
  269. package/dist/env/case-insensitive.d.ts +42 -0
  270. package/dist/env/case-insensitive.js +42 -0
  271. package/dist/env/ci.d.ts +11 -12
  272. package/dist/env/debug.d.ts +10 -10
  273. package/dist/env/github.d.ts +71 -74
  274. package/dist/env/home.d.ts +15 -14
  275. package/dist/env/locale.d.ts +26 -29
  276. package/dist/env/node-auth-token.d.ts +10 -10
  277. package/dist/env/node-env.d.ts +10 -10
  278. package/dist/env/npm.d.ts +45 -47
  279. package/dist/env/number.d.ts +29 -0
  280. package/dist/env/number.js +54 -0
  281. package/dist/env/package-manager.d.ts +36 -33
  282. package/dist/env/package-manager.js +3 -3
  283. package/dist/env/path.d.ts +10 -10
  284. package/dist/env/pre-commit.d.ts +11 -11
  285. package/dist/env/pre-commit.js +2 -2
  286. package/dist/env/proxy.d.ts +44 -0
  287. package/dist/env/proxy.js +126 -0
  288. package/dist/env/rewire.d.ts +105 -99
  289. package/dist/env/rewire.js +11 -8
  290. package/dist/env/shell.d.ts +10 -10
  291. package/dist/env/socket-cli.d.ts +109 -125
  292. package/dist/env/socket-cli.js +7 -12
  293. package/dist/env/socket.d.ts +347 -130
  294. package/dist/env/socket.js +107 -8
  295. package/dist/env/string.d.ts +28 -0
  296. package/dist/env/string.js +47 -0
  297. package/dist/env/temp-dir.d.ts +26 -29
  298. package/dist/env/term.d.ts +10 -10
  299. package/dist/env/test.d.ts +29 -31
  300. package/dist/env/test.js +5 -4
  301. package/dist/env/types.d.ts +62 -0
  302. package/dist/env/types.js +18 -0
  303. package/dist/env/windows.d.ts +37 -38
  304. package/dist/env/xdg.d.ts +29 -29
  305. package/dist/errors/message.d.ts +27 -0
  306. package/dist/errors/message.js +49 -0
  307. package/dist/errors/predicates.d.ts +46 -0
  308. package/dist/{errors.js → errors/predicates.js} +13 -43
  309. package/dist/errors/stack.d.ts +16 -0
  310. package/dist/errors/stack.js +39 -0
  311. package/dist/events/exit/_internal.d.ts +68 -0
  312. package/dist/events/exit/_internal.js +127 -0
  313. package/dist/events/exit/handler.d.ts +20 -0
  314. package/dist/events/exit/handler.js +58 -0
  315. package/dist/events/exit/intercept.d.ts +8 -0
  316. package/dist/events/exit/intercept.js +75 -0
  317. package/dist/events/exit/lifecycle.d.ts +28 -0
  318. package/dist/events/exit/lifecycle.js +109 -0
  319. package/dist/events/exit/signals.d.ts +16 -0
  320. package/dist/events/exit/signals.js +34 -0
  321. package/dist/events/exit/types.d.ts +21 -0
  322. package/dist/events/exit/types.js +18 -0
  323. package/dist/events/warning/handler.d.ts +31 -0
  324. package/dist/events/warning/handler.js +43 -0
  325. package/dist/events/warning/suppress.d.ts +65 -0
  326. package/dist/{suppress-warnings.js → events/warning/suppress.js} +16 -28
  327. package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
  328. package/dist/external/@npmcli/package-json.js +300 -82
  329. package/dist/external/@npmcli/promise-spawn.js +15 -1
  330. package/dist/external/@socketregistry/packageurl-js.js +7 -1
  331. package/dist/external/@socketregistry/yocto-spinner.js +5 -1
  332. package/dist/external/@yarnpkg/extensions.js +1 -1
  333. package/dist/external/adm-zip.js +20 -4
  334. package/dist/external/debug.js +15 -1
  335. package/dist/external/external-pack.js +20 -4
  336. package/dist/external/fast-sort.js +3 -1
  337. package/dist/external/get-east-asian-width.js +3 -1
  338. package/dist/external/libnpmexec.js +5 -1
  339. package/dist/external/npm-pack.js +344 -113
  340. package/dist/external/p-map.js +7 -1
  341. package/dist/external/pico-pack.js +17 -1
  342. package/dist/external/pony-cause.js +1 -1
  343. package/dist/external/spdx-pack.js +3 -1
  344. package/dist/external/supports-color.js +1 -1
  345. package/dist/external/tar-fs.js +15 -1
  346. package/dist/external/which.js +11 -1
  347. package/dist/external/yargs-parser.js +15 -1
  348. package/dist/external-tools/bazel/asset-names.d.ts +66 -0
  349. package/dist/external-tools/bazel/asset-names.js +96 -0
  350. package/dist/external-tools/bazel/from-download.d.ts +49 -0
  351. package/dist/external-tools/bazel/from-download.js +49 -0
  352. package/dist/external-tools/bazel/from-path.d.ts +8 -0
  353. package/dist/external-tools/bazel/from-path.js +41 -0
  354. package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
  355. package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
  356. package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
  357. package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
  358. package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
  359. package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
  360. package/dist/external-tools/bazel/resolve.d.ts +35 -0
  361. package/dist/external-tools/bazel/resolve.js +68 -0
  362. package/dist/external-tools/bazel/types.d.ts +22 -0
  363. package/dist/external-tools/bazel/types.js +18 -0
  364. package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
  365. package/dist/external-tools/cdxgen/asset-names.js +79 -0
  366. package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
  367. package/dist/external-tools/cdxgen/from-download.js +83 -0
  368. package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
  369. package/dist/external-tools/cdxgen/from-path.js +40 -0
  370. package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
  371. package/dist/external-tools/cdxgen/from-vfs.js +47 -0
  372. package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
  373. package/dist/external-tools/cdxgen/resolve.js +73 -0
  374. package/dist/external-tools/cdxgen/types.d.ts +33 -0
  375. package/dist/external-tools/cdxgen/types.js +18 -0
  376. package/dist/external-tools/from-download.d.ts +162 -0
  377. package/dist/external-tools/from-download.js +72 -0
  378. package/dist/external-tools/janus/asset-names.d.ts +43 -0
  379. package/dist/external-tools/janus/asset-names.js +57 -0
  380. package/dist/external-tools/janus/from-download.d.ts +26 -0
  381. package/dist/external-tools/janus/from-download.js +73 -0
  382. package/dist/external-tools/janus/from-path.d.ts +5 -0
  383. package/dist/external-tools/janus/from-path.js +40 -0
  384. package/dist/external-tools/janus/from-vfs.d.ts +7 -0
  385. package/dist/external-tools/janus/from-vfs.js +47 -0
  386. package/dist/external-tools/janus/resolve.d.ts +28 -0
  387. package/dist/external-tools/janus/resolve.js +73 -0
  388. package/dist/external-tools/janus/types.d.ts +24 -0
  389. package/dist/external-tools/janus/types.js +18 -0
  390. package/dist/external-tools/jre/asset-names.d.ts +91 -0
  391. package/dist/external-tools/jre/asset-names.js +88 -0
  392. package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
  393. package/dist/external-tools/jre/detect-platform-arch.js +52 -0
  394. package/dist/external-tools/jre/from-download.d.ts +62 -0
  395. package/dist/external-tools/jre/from-download.js +70 -0
  396. package/dist/external-tools/jre/from-java-home.d.ts +10 -0
  397. package/dist/external-tools/jre/from-java-home.js +57 -0
  398. package/dist/external-tools/jre/from-path.d.ts +9 -0
  399. package/dist/external-tools/jre/from-path.js +52 -0
  400. package/dist/external-tools/jre/from-vfs.d.ts +17 -0
  401. package/dist/external-tools/jre/from-vfs.js +64 -0
  402. package/dist/external-tools/jre/resolve.d.ts +40 -0
  403. package/dist/external-tools/jre/resolve.js +78 -0
  404. package/dist/external-tools/jre/types.d.ts +28 -0
  405. package/dist/external-tools/jre/types.js +18 -0
  406. package/dist/external-tools/manifest.d.ts +105 -0
  407. package/dist/external-tools/manifest.js +167 -0
  408. package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
  409. package/dist/external-tools/opengrep/asset-names.js +78 -0
  410. package/dist/external-tools/opengrep/from-download.d.ts +17 -0
  411. package/dist/external-tools/opengrep/from-download.js +83 -0
  412. package/dist/external-tools/opengrep/from-path.d.ts +5 -0
  413. package/dist/external-tools/opengrep/from-path.js +40 -0
  414. package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
  415. package/dist/external-tools/opengrep/from-vfs.js +47 -0
  416. package/dist/external-tools/opengrep/resolve.d.ts +26 -0
  417. package/dist/external-tools/opengrep/resolve.js +73 -0
  418. package/dist/external-tools/opengrep/types.d.ts +24 -0
  419. package/dist/external-tools/opengrep/types.js +18 -0
  420. package/dist/external-tools/sbt/asset-names.d.ts +31 -0
  421. package/dist/external-tools/sbt/asset-names.js +33 -0
  422. package/dist/external-tools/sbt/from-download.d.ts +44 -0
  423. package/dist/external-tools/sbt/from-download.js +64 -0
  424. package/dist/external-tools/sbt/from-path.d.ts +8 -0
  425. package/dist/external-tools/sbt/from-path.js +41 -0
  426. package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
  427. package/dist/external-tools/sbt/from-vfs.js +48 -0
  428. package/dist/external-tools/sbt/resolve.d.ts +31 -0
  429. package/dist/external-tools/sbt/resolve.js +73 -0
  430. package/dist/external-tools/sbt/types.d.ts +32 -0
  431. package/dist/external-tools/sbt/types.js +18 -0
  432. package/dist/external-tools/synp/asset-names.d.ts +14 -0
  433. package/dist/external-tools/synp/asset-names.js +32 -0
  434. package/dist/external-tools/synp/from-download.d.ts +18 -0
  435. package/dist/external-tools/synp/from-download.js +44 -0
  436. package/dist/external-tools/synp/from-path.d.ts +5 -0
  437. package/dist/external-tools/synp/from-path.js +40 -0
  438. package/dist/external-tools/synp/from-vfs.d.ts +7 -0
  439. package/dist/external-tools/synp/from-vfs.js +47 -0
  440. package/dist/external-tools/synp/resolve.d.ts +21 -0
  441. package/dist/external-tools/synp/resolve.js +72 -0
  442. package/dist/external-tools/synp/types.d.ts +19 -0
  443. package/dist/external-tools/synp/types.js +18 -0
  444. package/dist/external-tools/trivy/asset-names.d.ts +34 -0
  445. package/dist/external-tools/trivy/asset-names.js +68 -0
  446. package/dist/external-tools/trivy/from-download.d.ts +17 -0
  447. package/dist/external-tools/trivy/from-download.js +67 -0
  448. package/dist/external-tools/trivy/from-path.d.ts +5 -0
  449. package/dist/external-tools/trivy/from-path.js +40 -0
  450. package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
  451. package/dist/external-tools/trivy/from-vfs.js +47 -0
  452. package/dist/external-tools/trivy/resolve.d.ts +26 -0
  453. package/dist/external-tools/trivy/resolve.js +73 -0
  454. package/dist/external-tools/trivy/types.d.ts +24 -0
  455. package/dist/external-tools/trivy/types.js +18 -0
  456. package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
  457. package/dist/external-tools/trufflehog/asset-names.js +72 -0
  458. package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
  459. package/dist/external-tools/trufflehog/from-download.js +65 -0
  460. package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
  461. package/dist/external-tools/trufflehog/from-path.js +40 -0
  462. package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
  463. package/dist/external-tools/trufflehog/from-vfs.js +47 -0
  464. package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
  465. package/dist/external-tools/trufflehog/resolve.js +73 -0
  466. package/dist/external-tools/trufflehog/types.d.ts +25 -0
  467. package/dist/external-tools/trufflehog/types.js +18 -0
  468. package/dist/external-tools/uv/asset-names.d.ts +36 -0
  469. package/dist/external-tools/uv/asset-names.js +80 -0
  470. package/dist/external-tools/uv/from-download.d.ts +17 -0
  471. package/dist/external-tools/uv/from-download.js +68 -0
  472. package/dist/external-tools/uv/from-path.d.ts +5 -0
  473. package/dist/external-tools/uv/from-path.js +40 -0
  474. package/dist/external-tools/uv/from-vfs.d.ts +7 -0
  475. package/dist/external-tools/uv/from-vfs.js +47 -0
  476. package/dist/external-tools/uv/resolve.d.ts +25 -0
  477. package/dist/external-tools/uv/resolve.js +73 -0
  478. package/dist/external-tools/uv/types.d.ts +24 -0
  479. package/dist/external-tools/uv/types.js +18 -0
  480. package/dist/fs/_internal.d.ts +22 -0
  481. package/dist/fs/_internal.js +48 -0
  482. package/dist/fs/encoding.d.ts +49 -0
  483. package/dist/fs/encoding.js +102 -0
  484. package/dist/fs/find-up.d.ts +58 -0
  485. package/dist/fs/find-up.js +152 -0
  486. package/dist/fs/inspect.d.ts +117 -0
  487. package/dist/fs/inspect.js +112 -0
  488. package/dist/fs/path-cache.d.ts +21 -0
  489. package/dist/fs/path-cache.js +35 -0
  490. package/dist/fs/read-dir.d.ts +66 -0
  491. package/dist/fs/read-dir.js +86 -0
  492. package/dist/fs/read-file.d.ts +150 -0
  493. package/dist/fs/read-file.js +131 -0
  494. package/dist/fs/read-json-cache.d.ts +83 -0
  495. package/dist/fs/read-json-cache.js +156 -0
  496. package/dist/fs/read-json.d.ts +77 -0
  497. package/dist/fs/read-json.js +192 -0
  498. package/dist/fs/safe.d.ts +153 -0
  499. package/dist/fs/safe.js +182 -0
  500. package/dist/fs/types.d.ts +291 -0
  501. package/dist/fs/types.js +18 -0
  502. package/dist/fs/unique.d.ts +29 -0
  503. package/dist/fs/unique.js +51 -0
  504. package/dist/fs/validate.d.ts +40 -0
  505. package/dist/fs/validate.js +46 -0
  506. package/dist/fs/write-json.d.ts +78 -0
  507. package/dist/fs/write-json.js +83 -0
  508. package/dist/git/_internal.d.ts +105 -0
  509. package/dist/git/_internal.js +236 -0
  510. package/dist/git/changed.d.ts +145 -0
  511. package/dist/git/changed.js +83 -0
  512. package/dist/git/repo.d.ts +62 -0
  513. package/dist/git/repo.js +111 -0
  514. package/dist/git/staged.d.ts +138 -0
  515. package/dist/git/staged.js +71 -0
  516. package/dist/git/types.d.ts +109 -0
  517. package/dist/git/types.js +18 -0
  518. package/dist/git/unstaged.d.ts +141 -0
  519. package/dist/git/unstaged.js +71 -0
  520. package/dist/github/constants.d.ts +18 -0
  521. package/dist/github/constants.js +36 -0
  522. package/dist/github/errors.d.ts +36 -0
  523. package/dist/github/errors.js +40 -0
  524. package/dist/github/fetch.d.ts +89 -0
  525. package/dist/github/fetch.js +87 -0
  526. package/dist/github/ghsa.d.ts +118 -0
  527. package/dist/github/ghsa.js +178 -0
  528. package/dist/github/refs-cache.d.ts +40 -0
  529. package/dist/github/refs-cache.js +49 -0
  530. package/dist/github/refs-graphql.d.ts +42 -0
  531. package/dist/github/refs-graphql.js +109 -0
  532. package/dist/github/refs-rest.d.ts +23 -0
  533. package/dist/github/refs-rest.js +104 -0
  534. package/dist/github/refs.d.ts +84 -0
  535. package/dist/github/refs.js +67 -0
  536. package/dist/github/token.d.ts +77 -0
  537. package/dist/github/token.js +55 -0
  538. package/dist/github/types.d.ts +277 -0
  539. package/dist/github/types.js +18 -0
  540. package/dist/globs/_internal.d.ts +46 -0
  541. package/dist/globs/_internal.js +96 -0
  542. package/dist/globs/defaults.d.ts +7 -0
  543. package/dist/globs/defaults.js +61 -0
  544. package/dist/globs/match.d.ts +59 -0
  545. package/dist/globs/match.js +84 -0
  546. package/dist/globs/matcher.d.ts +46 -0
  547. package/dist/globs/matcher.js +99 -0
  548. package/dist/globs/stream.d.ts +18 -0
  549. package/dist/globs/stream.js +58 -0
  550. package/dist/globs/types.d.ts +35 -0
  551. package/dist/globs/types.js +18 -0
  552. package/dist/http-request/_internal.d.ts +18 -0
  553. package/dist/http-request/_internal.js +39 -0
  554. package/dist/http-request/browser-fetch.d.ts +10 -0
  555. package/dist/http-request/browser-fetch.js +32 -0
  556. package/dist/http-request/browser.d.ts +190 -0
  557. package/dist/http-request/browser.js +224 -0
  558. package/dist/http-request/checksums.d.ts +69 -0
  559. package/dist/http-request/checksums.js +72 -0
  560. package/dist/http-request/convenience.d.ts +104 -0
  561. package/dist/http-request/convenience.js +96 -0
  562. package/dist/http-request/download-types.d.ts +224 -0
  563. package/dist/http-request/download-types.js +18 -0
  564. package/dist/http-request/download.d.ts +71 -0
  565. package/dist/http-request/download.js +201 -0
  566. package/dist/http-request/errors.d.ts +23 -0
  567. package/dist/http-request/errors.js +50 -0
  568. package/dist/http-request/headers.d.ts +57 -0
  569. package/dist/http-request/headers.js +86 -0
  570. package/dist/http-request/request-attempt.d.ts +21 -0
  571. package/dist/http-request/request-attempt.js +288 -0
  572. package/dist/http-request/request-types.d.ts +253 -0
  573. package/dist/http-request/request-types.js +18 -0
  574. package/dist/http-request/request.d.ts +59 -0
  575. package/dist/http-request/request.js +111 -0
  576. package/dist/http-request/response-reader.d.ts +25 -0
  577. package/dist/http-request/response-reader.js +54 -0
  578. package/dist/http-request/response-types.d.ts +123 -0
  579. package/dist/http-request/response-types.js +40 -0
  580. package/dist/http-request/user-agent.d.ts +55 -0
  581. package/dist/http-request/user-agent.js +61 -0
  582. package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
  583. package/dist/{dlx/integrity.js → integrity.js} +25 -19
  584. package/dist/ipc/_internal.d.ts +25 -0
  585. package/dist/ipc/_internal.js +50 -0
  586. package/dist/ipc/directory.d.ts +18 -0
  587. package/dist/ipc/directory.js +66 -0
  588. package/dist/ipc/paths.d.ts +37 -0
  589. package/dist/ipc/paths.js +48 -0
  590. package/dist/ipc/types.d.ts +22 -0
  591. package/dist/ipc/types.js +18 -0
  592. package/dist/ipc/write.d.ts +39 -0
  593. package/dist/ipc/write.js +77 -0
  594. package/dist/ipc-cli/get.d.ts +21 -0
  595. package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
  596. package/dist/ipc-cli/types.d.ts +14 -0
  597. package/dist/ipc-cli/types.js +18 -0
  598. package/dist/json/edit.d.ts +22 -8
  599. package/dist/json/edit.js +85 -96
  600. package/dist/json/format.d.ts +100 -86
  601. package/dist/json/format.js +4 -3
  602. package/dist/json/parse.d.ts +113 -88
  603. package/dist/json/parse.js +30 -24
  604. package/dist/json/types.d.ts +133 -117
  605. package/dist/links/create.d.ts +65 -0
  606. package/dist/{links.js → links/create.js} +10 -10
  607. package/dist/links/types.d.ts +19 -0
  608. package/dist/links/types.js +18 -0
  609. package/dist/logger/_internal.d.ts +82 -0
  610. package/dist/logger/_internal.js +80 -0
  611. package/dist/logger/browser.d.ts +16 -0
  612. package/dist/logger/browser.js +65 -0
  613. package/dist/logger/colors.d.ts +18 -0
  614. package/dist/logger/colors.js +54 -0
  615. package/dist/logger/console.d.ts +33 -0
  616. package/dist/logger/console.js +119 -0
  617. package/dist/logger/default.d.ts +405 -0
  618. package/dist/logger/default.js +854 -0
  619. package/dist/logger/symbols-builder.d.ts +29 -0
  620. package/dist/logger/symbols-builder.js +61 -0
  621. package/dist/logger/symbols.d.ts +61 -0
  622. package/dist/logger/symbols.js +129 -0
  623. package/dist/logger/types.d.ts +88 -0
  624. package/dist/logger/types.js +18 -0
  625. package/dist/memo/_internal.d.ts +16 -0
  626. package/dist/memo/_internal.js +53 -0
  627. package/dist/memo/async.d.ts +32 -0
  628. package/dist/memo/async.js +120 -0
  629. package/dist/memo/clear.d.ts +15 -0
  630. package/dist/memo/clear.js +37 -0
  631. package/dist/memo/decorator.d.ts +29 -0
  632. package/dist/memo/decorator.js +40 -0
  633. package/dist/memo/memoize.d.ts +33 -0
  634. package/dist/memo/memoize.js +91 -0
  635. package/dist/memo/once.d.ts +25 -0
  636. package/dist/memo/once.js +44 -0
  637. package/dist/memo/types.d.ts +43 -0
  638. package/dist/memo/types.js +18 -0
  639. package/dist/memo/weak.d.ts +26 -0
  640. package/dist/memo/weak.js +44 -0
  641. package/dist/node/async-hooks.d.ts +2 -2
  642. package/dist/node/child-process.d.ts +5 -7
  643. package/dist/node/crypto.d.ts +2 -2
  644. package/dist/node/events.d.ts +2 -2
  645. package/dist/node/fs-promises.d.ts +2 -2
  646. package/dist/node/fs.d.ts +6 -10
  647. package/dist/node/http.d.ts +2 -2
  648. package/dist/node/https.d.ts +2 -2
  649. package/dist/node/module.d.ts +7 -0
  650. package/dist/node/module.js +41 -0
  651. package/dist/node/os.d.ts +2 -2
  652. package/dist/node/path.d.ts +2 -2
  653. package/dist/node/timers-promises.d.ts +2 -2
  654. package/dist/node/url.d.ts +2 -2
  655. package/dist/node/util.d.ts +2 -2
  656. package/dist/objects/getters.d.ts +116 -0
  657. package/dist/objects/getters.js +137 -0
  658. package/dist/objects/inspect.d.ts +67 -0
  659. package/dist/objects/inspect.js +59 -0
  660. package/dist/objects/mutate.d.ts +72 -0
  661. package/dist/objects/mutate.js +81 -0
  662. package/dist/objects/predicates.d.ts +96 -0
  663. package/dist/objects/predicates.js +68 -0
  664. package/dist/objects/sort.d.ts +88 -0
  665. package/dist/objects/sort.js +85 -0
  666. package/dist/objects/types.d.ts +68 -0
  667. package/dist/objects/types.js +18 -0
  668. package/dist/packages/edit-class.d.ts +39 -0
  669. package/dist/packages/edit-class.js +269 -0
  670. package/dist/packages/edit.d.ts +60 -61
  671. package/dist/packages/edit.js +21 -286
  672. package/dist/packages/exports.d.ts +30 -28
  673. package/dist/packages/exports.js +38 -34
  674. package/dist/packages/isolation.d.ts +16 -7
  675. package/dist/packages/isolation.js +52 -59
  676. package/dist/packages/licenses.d.ts +49 -45
  677. package/dist/packages/licenses.js +13 -18
  678. package/dist/packages/manifest.d.ts +14 -14
  679. package/dist/packages/manifest.js +16 -15
  680. package/dist/packages/normalize.d.ts +17 -16
  681. package/dist/packages/normalize.js +20 -17
  682. package/dist/packages/operations.d.ts +49 -36
  683. package/dist/packages/operations.js +30 -15
  684. package/dist/packages/provenance.d.ts +22 -9
  685. package/dist/packages/provenance.js +76 -66
  686. package/dist/packages/specs.d.ts +21 -21
  687. package/dist/packages/specs.js +7 -7
  688. package/dist/{packages.d.ts → packages/types.d.ts} +14 -20
  689. package/dist/packages/types.js +18 -0
  690. package/dist/packages/validation.d.ts +13 -13
  691. package/dist/packages/validation.js +2 -2
  692. package/dist/paths/_internal.d.ts +51 -0
  693. package/dist/paths/_internal.js +102 -0
  694. package/dist/paths/conversion.d.ts +82 -0
  695. package/dist/paths/conversion.js +74 -0
  696. package/dist/paths/dirnames.d.ts +1 -1
  697. package/dist/paths/exts.d.ts +1 -1
  698. package/dist/paths/filenames.d.ts +1 -1
  699. package/dist/paths/globs.d.ts +1 -1
  700. package/dist/paths/normalize.d.ts +30 -440
  701. package/dist/paths/normalize.js +49 -289
  702. package/dist/paths/packages.d.ts +7 -1
  703. package/dist/paths/packages.js +7 -12
  704. package/dist/paths/predicates.d.ts +129 -0
  705. package/dist/paths/predicates.js +121 -0
  706. package/dist/paths/resolve.d.ts +71 -0
  707. package/dist/paths/resolve.js +135 -0
  708. package/dist/paths/rewire.d.ts +37 -38
  709. package/dist/paths/rewire.js +3 -3
  710. package/dist/paths/socket.d.ts +146 -47
  711. package/dist/paths/socket.js +23 -25
  712. package/dist/perf/_internal.d.ts +10 -0
  713. package/dist/perf/_internal.js +30 -0
  714. package/dist/perf/enabled.d.ts +13 -0
  715. package/dist/perf/enabled.js +33 -0
  716. package/dist/perf/metrics.d.ts +51 -0
  717. package/dist/perf/metrics.js +74 -0
  718. package/dist/perf/report.d.ts +40 -0
  719. package/dist/perf/report.js +85 -0
  720. package/dist/perf/timer.d.ts +100 -0
  721. package/dist/perf/timer.js +137 -0
  722. package/dist/perf/types.d.ts +15 -0
  723. package/dist/perf/types.js +18 -0
  724. package/dist/pkg-ext/data.d.ts +8 -0
  725. package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
  726. package/dist/pkg-ext/types.d.ts +6 -0
  727. package/dist/pkg-ext/types.js +18 -0
  728. package/dist/primordials/array.d.ts +73 -0
  729. package/dist/primordials/array.js +220 -0
  730. package/dist/primordials/buffer.d.ts +17 -0
  731. package/dist/primordials/buffer.js +61 -0
  732. package/dist/primordials/date.d.ts +16 -0
  733. package/dist/primordials/date.js +56 -0
  734. package/dist/primordials/error.d.ts +19 -0
  735. package/dist/primordials/error.js +75 -0
  736. package/dist/primordials/function.d.ts +10 -0
  737. package/dist/primordials/function.js +42 -0
  738. package/dist/primordials/globals.d.ts +20 -0
  739. package/dist/primordials/globals.js +60 -0
  740. package/dist/primordials/json.d.ts +11 -0
  741. package/dist/primordials/json.js +33 -0
  742. package/dist/primordials/map-set.d.ts +35 -0
  743. package/dist/primordials/map-set.js +115 -0
  744. package/dist/primordials/math.d.ts +51 -0
  745. package/dist/primordials/math.js +161 -0
  746. package/dist/primordials/number.d.ts +25 -0
  747. package/dist/primordials/number.js +92 -0
  748. package/dist/primordials/object.d.ts +74 -0
  749. package/dist/primordials/object.js +142 -0
  750. package/dist/primordials/promise.d.ts +34 -0
  751. package/dist/primordials/promise.js +61 -0
  752. package/dist/primordials/reflect.d.ts +18 -0
  753. package/dist/primordials/reflect.js +66 -0
  754. package/dist/primordials/regexp.d.ts +14 -0
  755. package/dist/primordials/regexp.js +50 -0
  756. package/dist/primordials/string.d.ts +71 -0
  757. package/dist/primordials/string.js +174 -0
  758. package/dist/primordials/symbol.d.ts +28 -0
  759. package/dist/primordials/symbol.js +94 -0
  760. package/dist/primordials/uncurry.d.ts +18 -0
  761. package/dist/primordials/uncurry.js +65 -0
  762. package/dist/primordials/url.d.ts +13 -0
  763. package/dist/primordials/url.js +69 -0
  764. package/dist/process/_internal.d.ts +8 -0
  765. package/dist/process/_internal.js +33 -0
  766. package/dist/process/abort.d.ts +20 -0
  767. package/dist/{constants/process.js → process/abort.js} +3 -3
  768. package/dist/process/lock-instance.d.ts +19 -0
  769. package/dist/process/lock-instance.js +31 -0
  770. package/dist/process/lock-manager.d.ts +152 -0
  771. package/dist/{process-lock.js → process/lock-manager.js} +98 -106
  772. package/dist/process/lock-types.d.ts +43 -0
  773. package/dist/process/lock-types.js +18 -0
  774. package/dist/process/spawn/_internal.d.ts +24 -0
  775. package/dist/process/spawn/_internal.js +62 -0
  776. package/dist/process/spawn/child.d.ts +134 -0
  777. package/dist/process/spawn/child.js +216 -0
  778. package/dist/process/spawn/errors.d.ts +45 -0
  779. package/dist/process/spawn/errors.js +118 -0
  780. package/dist/process/spawn/stdio.d.ts +37 -0
  781. package/dist/process/spawn/stdio.js +38 -0
  782. package/dist/process/spawn/types.d.ts +325 -0
  783. package/dist/process/spawn/types.js +18 -0
  784. package/dist/process/transient.d.ts +22 -0
  785. package/dist/{temporary-executor.js → process/transient.js} +8 -8
  786. package/dist/promises/_internal.d.ts +15 -0
  787. package/dist/promises/_internal.js +41 -0
  788. package/dist/promises/iterate.d.ts +190 -0
  789. package/dist/promises/iterate.js +111 -0
  790. package/dist/promises/options.d.ts +76 -0
  791. package/dist/promises/options.js +108 -0
  792. package/dist/promises/queue.d.ts +51 -0
  793. package/dist/{promise-queue.js → promises/queue.js} +27 -22
  794. package/dist/promises/resolvers.d.ts +55 -0
  795. package/dist/promises/resolvers.js +49 -0
  796. package/dist/promises/retry.d.ts +105 -0
  797. package/dist/promises/retry.js +104 -0
  798. package/dist/promises/types.d.ts +203 -0
  799. package/dist/promises/types.js +18 -0
  800. package/dist/regexps/escape.d.ts +6 -0
  801. package/dist/regexps/escape.js +32 -0
  802. package/dist/regexps/hex.d.ts +7 -0
  803. package/dist/regexps/hex.js +38 -0
  804. package/dist/regexps/spec.d.ts +15 -0
  805. package/dist/{regexps.js → regexps/spec.js} +32 -36
  806. package/dist/releases/github-archives.d.ts +47 -36
  807. package/dist/releases/github-archives.js +22 -36
  808. package/dist/releases/github-asset-url.d.ts +72 -0
  809. package/dist/releases/github-asset-url.js +167 -0
  810. package/dist/releases/github-assets.d.ts +13 -11
  811. package/dist/releases/github-assets.js +2 -2
  812. package/dist/releases/github-auth.d.ts +9 -9
  813. package/dist/releases/github-downloads.d.ts +31 -26
  814. package/dist/releases/github-downloads.js +24 -36
  815. package/dist/releases/github-listing.d.ts +105 -0
  816. package/dist/releases/github-listing.js +171 -0
  817. package/dist/releases/github-types.d.ts +45 -19
  818. package/dist/releases/socket-btm.d.ts +149 -99
  819. package/dist/releases/socket-btm.js +14 -20
  820. package/dist/schema/parse.d.ts +14 -15
  821. package/dist/schema/parse.js +2 -2
  822. package/dist/schema/types.d.ts +49 -37
  823. package/dist/schema/validate.d.ts +42 -19
  824. package/dist/schema/validate.js +15 -6
  825. package/dist/sea/detect.d.ts +37 -0
  826. package/dist/sea/{util.js → detect.js} +6 -6
  827. package/dist/secrets/_internal.d.ts +57 -0
  828. package/dist/secrets/_internal.js +84 -0
  829. package/dist/secrets/find.d.ts +79 -0
  830. package/dist/secrets/find.js +84 -0
  831. package/dist/secrets/keychain.d.ts +138 -0
  832. package/dist/secrets/keychain.js +328 -0
  833. package/dist/secrets/linux.d.ts +20 -0
  834. package/dist/secrets/linux.js +151 -0
  835. package/dist/secrets/macos.d.ts +36 -0
  836. package/dist/secrets/macos.js +165 -0
  837. package/dist/secrets/rc.d.ts +139 -0
  838. package/dist/secrets/rc.js +196 -0
  839. package/dist/secrets/socket-api-token.d.ts +23 -0
  840. package/dist/secrets/socket-api-token.js +50 -0
  841. package/dist/secrets/types.d.ts +69 -0
  842. package/dist/secrets/types.js +18 -0
  843. package/dist/secrets/windows.d.ts +50 -0
  844. package/dist/secrets/windows.js +318 -0
  845. package/dist/shadow/skip.d.ts +25 -0
  846. package/dist/{shadow.js → shadow/skip.js} +4 -4
  847. package/dist/shadow/types.d.ts +8 -0
  848. package/dist/shadow/types.js +18 -0
  849. package/dist/smol/detect.d.ts +80 -0
  850. package/dist/smol/{util.js → detect.js} +16 -24
  851. package/dist/smol/http.d.ts +60 -0
  852. package/dist/smol/http.js +42 -0
  853. package/dist/smol/https.d.ts +59 -0
  854. package/dist/smol/https.js +42 -0
  855. package/dist/smol/manifest.d.ts +140 -0
  856. package/dist/smol/manifest.js +42 -0
  857. package/dist/smol/primordial.d.ts +16 -21
  858. package/dist/smol/primordial.js +7 -11
  859. package/dist/smol/purl.d.ts +84 -0
  860. package/dist/smol/purl.js +42 -0
  861. package/dist/smol/versions.d.ts +11 -14
  862. package/dist/smol/versions.js +7 -11
  863. package/dist/smol/vfs.d.ts +99 -0
  864. package/dist/smol/vfs.js +43 -0
  865. package/dist/sorts/_internal.d.ts +9 -0
  866. package/dist/sorts/_internal.js +47 -0
  867. package/dist/sorts/natural.d.ts +39 -0
  868. package/dist/{sorts.js → sorts/natural.js} +5 -42
  869. package/dist/sorts/semver.d.ts +15 -0
  870. package/dist/sorts/semver.js +46 -0
  871. package/dist/sorts/strings.d.ts +16 -0
  872. package/dist/sorts/strings.js +33 -0
  873. package/dist/sorts/types.d.ts +7 -0
  874. package/dist/sorts/types.js +18 -0
  875. package/dist/spinner/default.d.ts +49 -0
  876. package/dist/spinner/default.js +70 -0
  877. package/dist/spinner/format.d.ts +64 -0
  878. package/dist/spinner/format.js +83 -0
  879. package/dist/spinner/spinner.d.ts +40 -0
  880. package/dist/spinner/spinner.js +802 -0
  881. package/dist/spinner/types.d.ts +368 -0
  882. package/dist/spinner/types.js +18 -0
  883. package/dist/spinner/with.d.ts +125 -0
  884. package/dist/spinner/with.js +144 -0
  885. package/dist/ssri/convert.d.ts +48 -0
  886. package/dist/{ssri.js → ssri/convert.js} +11 -34
  887. package/dist/ssri/parse.d.ts +27 -0
  888. package/dist/ssri/parse.js +40 -0
  889. package/dist/ssri/validate.d.ts +41 -0
  890. package/dist/ssri/validate.js +39 -0
  891. package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
  892. package/dist/stdio/{_stream.js → _internal.js} +3 -3
  893. package/dist/stdio/clear.d.ts +98 -84
  894. package/dist/stdio/divider.d.ts +100 -78
  895. package/dist/stdio/divider.js +36 -14
  896. package/dist/stdio/footer.d.ts +75 -51
  897. package/dist/stdio/footer.js +28 -18
  898. package/dist/stdio/header.d.ts +61 -50
  899. package/dist/stdio/header.js +15 -13
  900. package/dist/stdio/progress.d.ts +67 -57
  901. package/dist/stdio/progress.js +55 -51
  902. package/dist/stdio/prompts.d.ts +147 -100
  903. package/dist/stdio/prompts.js +23 -15
  904. package/dist/stdio/stderr.d.ts +86 -84
  905. package/dist/stdio/stderr.js +6 -6
  906. package/dist/stdio/stdout.d.ts +77 -78
  907. package/dist/stdio/stdout.js +6 -6
  908. package/dist/streams/parallel.d.ts +40 -0
  909. package/dist/{streams.js → streams/parallel.js} +10 -27
  910. package/dist/streams/transform.d.ts +20 -0
  911. package/dist/streams/transform.js +48 -0
  912. package/dist/strings/format.d.ts +115 -0
  913. package/dist/strings/format.js +73 -0
  914. package/dist/strings/predicates.d.ts +52 -0
  915. package/dist/strings/predicates.js +39 -0
  916. package/dist/strings/search.d.ts +34 -0
  917. package/dist/strings/search.js +45 -0
  918. package/dist/strings/transform.d.ts +80 -0
  919. package/dist/strings/transform.js +79 -0
  920. package/dist/strings/types.d.ts +38 -0
  921. package/dist/strings/types.js +18 -0
  922. package/dist/strings/width.d.ts +42 -0
  923. package/dist/strings/width.js +95 -0
  924. package/dist/tables/bordered.d.ts +44 -0
  925. package/dist/tables/bordered.js +84 -0
  926. package/dist/tables/padding.d.ts +18 -0
  927. package/dist/tables/padding.js +51 -0
  928. package/dist/tables/simple.d.ts +36 -0
  929. package/dist/tables/simple.js +73 -0
  930. package/dist/tables/types.d.ts +15 -0
  931. package/dist/tables/types.js +18 -0
  932. package/dist/temporal/instant.d.ts +39 -0
  933. package/dist/temporal/instant.js +91 -0
  934. package/dist/temporal/now.d.ts +24 -0
  935. package/dist/temporal/now.js +34 -0
  936. package/dist/temporal/slots.d.ts +32 -0
  937. package/dist/temporal/slots.js +45 -0
  938. package/dist/temporal/system.d.ts +20 -0
  939. package/dist/temporal/system.js +42 -0
  940. package/dist/temporal/temporal.d.ts +22 -0
  941. package/dist/temporal/temporal.js +43 -0
  942. package/dist/themes/context.d.ts +65 -48
  943. package/dist/themes/context.js +6 -2
  944. package/dist/themes/resolve.d.ts +90 -0
  945. package/dist/themes/{utils.js → resolve.js} +6 -6
  946. package/dist/themes/themes.d.ts +14 -16
  947. package/dist/themes/types.d.ts +93 -35
  948. package/dist/url/parse.d.ts +26 -0
  949. package/dist/url/parse.js +57 -0
  950. package/dist/url/predicates.d.ts +15 -0
  951. package/dist/url/predicates.js +34 -0
  952. package/dist/url/search-params.d.ts +71 -0
  953. package/dist/{url.js → url/search-params.js} +19 -54
  954. package/dist/url/types.d.ts +20 -0
  955. package/dist/url/types.js +18 -0
  956. package/dist/versions/_internal.d.ts +24 -0
  957. package/dist/versions/_internal.js +37 -0
  958. package/dist/versions/compare.d.ts +57 -0
  959. package/dist/versions/compare.js +65 -0
  960. package/dist/versions/modify.d.ts +28 -0
  961. package/dist/versions/modify.js +44 -0
  962. package/dist/versions/parse.d.ts +67 -0
  963. package/dist/versions/parse.js +77 -0
  964. package/dist/versions/range.d.ts +45 -0
  965. package/dist/versions/range.js +50 -0
  966. package/dist/versions/types.d.ts +13 -0
  967. package/dist/versions/types.js +18 -0
  968. package/dist/words/article.d.ts +14 -0
  969. package/dist/words/article.js +33 -0
  970. package/dist/words/capitalize.d.ts +15 -0
  971. package/dist/{words.js → words/capitalize.js} +5 -18
  972. package/dist/words/pluralize.d.ts +16 -0
  973. package/dist/words/pluralize.js +34 -0
  974. package/dist/words/types.d.ts +7 -0
  975. package/dist/words/types.js +18 -0
  976. package/package.json +2154 -252
  977. package/dist/abort.d.ts +0 -27
  978. package/dist/agent.d.ts +0 -196
  979. package/dist/agent.js +0 -287
  980. package/dist/ansi.d.ts +0 -39
  981. package/dist/archives.d.ts +0 -95
  982. package/dist/archives.js +0 -408
  983. package/dist/argv/flags.d.ts +0 -292
  984. package/dist/argv/flags.js +0 -297
  985. package/dist/arrays.d.ts +0 -168
  986. package/dist/bin.d.ts +0 -181
  987. package/dist/bin.js +0 -544
  988. package/dist/cacache.d.ts +0 -130
  989. package/dist/cacache.js +0 -156
  990. package/dist/cache-with-ttl.d.ts +0 -165
  991. package/dist/colors.d.ts +0 -49
  992. package/dist/compression.d.ts +0 -218
  993. package/dist/constants/process.d.ts +0 -20
  994. package/dist/crypto.d.ts +0 -36
  995. package/dist/debug.js +0 -337
  996. package/dist/env/helpers.d.ts +0 -66
  997. package/dist/env.d.ts +0 -182
  998. package/dist/env.js +0 -205
  999. package/dist/errors.d.ts +0 -100
  1000. package/dist/fs.d.ts +0 -916
  1001. package/dist/fs.js +0 -808
  1002. package/dist/git.d.ts +0 -546
  1003. package/dist/git.js +0 -409
  1004. package/dist/github.d.ts +0 -526
  1005. package/dist/github.js +0 -448
  1006. package/dist/globs.d.ts +0 -119
  1007. package/dist/globs.js +0 -282
  1008. package/dist/http-request.d.ts +0 -951
  1009. package/dist/http-request.js +0 -761
  1010. package/dist/ipc-cli.d.ts +0 -28
  1011. package/dist/ipc.d.ts +0 -76
  1012. package/dist/ipc.js +0 -130
  1013. package/dist/links.d.ts +0 -69
  1014. package/dist/logger.d.ts +0 -993
  1015. package/dist/logger.js +0 -1498
  1016. package/dist/memoization.d.ts +0 -131
  1017. package/dist/memoization.js +0 -243
  1018. package/dist/objects.d.ts +0 -500
  1019. package/dist/objects.js +0 -303
  1020. package/dist/package-extensions.d.ts +0 -9
  1021. package/dist/packages.js +0 -132
  1022. package/dist/performance.d.ts +0 -181
  1023. package/dist/performance.js +0 -233
  1024. package/dist/primordials.d.ts +0 -420
  1025. package/dist/primordials.js +0 -1116
  1026. package/dist/process-lock.d.ts +0 -180
  1027. package/dist/promise-queue.d.ts +0 -48
  1028. package/dist/promises.d.ts +0 -506
  1029. package/dist/promises.js +0 -292
  1030. package/dist/regexps.d.ts +0 -6
  1031. package/dist/releases/github-api.d.ts +0 -56
  1032. package/dist/releases/github-api.js +0 -275
  1033. package/dist/sea/util.d.ts +0 -43
  1034. package/dist/shadow.d.ts +0 -28
  1035. package/dist/signal-exit.d.ts +0 -50
  1036. package/dist/signal-exit.js +0 -247
  1037. package/dist/smol/util.d.ts +0 -87
  1038. package/dist/sorts.d.ts +0 -59
  1039. package/dist/spawn.d.ts +0 -454
  1040. package/dist/spawn.js +0 -334
  1041. package/dist/spinner.d.ts +0 -444
  1042. package/dist/spinner.js +0 -988
  1043. package/dist/ssri.d.ts +0 -90
  1044. package/dist/streams.d.ts +0 -45
  1045. package/dist/strings.d.ts +0 -414
  1046. package/dist/strings.js +0 -218
  1047. package/dist/suppress-warnings.d.ts +0 -81
  1048. package/dist/tables.d.ts +0 -73
  1049. package/dist/tables.js +0 -133
  1050. package/dist/temporary-executor.d.ts +0 -20
  1051. package/dist/themes/utils.d.ts +0 -86
  1052. package/dist/url.d.ts +0 -114
  1053. package/dist/versions.d.ts +0 -207
  1054. package/dist/versions.js +0 -181
  1055. package/dist/words.d.ts +0 -39
@@ -0,0 +1,150 @@
1
+ /**
2
+ * @file File-content readers — UTF-8 / binary / safe variants (sync + async).
3
+ * The `safe*` versions trap errors and return `undefined` (or a
4
+ * caller-supplied `defaultValue`) so they fit the non-throwing-fallback shape
5
+ * used elsewhere in the lib. The encoding `null` overload returns a `Buffer`;
6
+ * the default and any string encoding return a string. The runtime fast-path
7
+ * normalizes encoding once and forwards untouched options to `node:fs`.
8
+ */
9
+ import type { PathLike } from 'node:fs';
10
+ import type { ReadFileOptions, SafeReadOptions } from './types';
11
+ /**
12
+ * Read a file as binary data asynchronously. Returns a Buffer without encoding
13
+ * the contents. Useful for reading images, archives, or other binary formats.
14
+ *
15
+ * @example
16
+ * ;```ts
17
+ * // Read an image file
18
+ * const imageBuffer = await readFileBinary('./image.png')
19
+ *
20
+ * // Read with abort signal
21
+ * const buffer = await readFileBinary('./data.bin', { signal: abortSignal })
22
+ * ```
23
+ *
24
+ * @param filepath - Path to file.
25
+ * @param options - Read options (encoding is forced to null for binary)
26
+ *
27
+ * @returns Promise resolving to Buffer containing file contents
28
+ */
29
+ export declare function readFileBinary(filepath: PathLike, options?: ReadFileOptions | undefined): Promise<NonSharedBuffer>;
30
+ /**
31
+ * Read a file as binary data synchronously. Returns a Buffer without encoding
32
+ * the contents. Useful for reading images, archives, or other binary formats.
33
+ *
34
+ * @example
35
+ * ;```ts
36
+ * // Read an image file
37
+ * const imageBuffer = readFileBinarySync('./logo.png')
38
+ *
39
+ * // Read a compressed file
40
+ * const gzipData = readFileBinarySync('./archive.gz')
41
+ * ```
42
+ *
43
+ * @param filepath - Path to file.
44
+ * @param options - Read options (encoding is forced to null for binary)
45
+ *
46
+ * @returns Buffer containing file contents
47
+ */
48
+ export declare function readFileBinarySync(filepath: PathLike, options?: ReadFileOptions | undefined): string | NonSharedBuffer;
49
+ /**
50
+ * Read a file as UTF-8 text asynchronously. Returns a string with the file
51
+ * contents decoded as UTF-8. This is the most common way to read text files.
52
+ *
53
+ * @example
54
+ * ;```ts
55
+ * // Read a text file
56
+ * const content = await readFileUtf8('./README.md')
57
+ *
58
+ * // Read with custom encoding
59
+ * const content = await readFileUtf8('./data.txt', { encoding: 'utf-8' })
60
+ * ```
61
+ *
62
+ * @param filepath - Path to file.
63
+ * @param options - Read options including encoding and abort signal.
64
+ *
65
+ * @returns Promise resolving to string containing file contents
66
+ */
67
+ export declare function readFileUtf8(filepath: PathLike, options?: ReadFileOptions | undefined): Promise<string>;
68
+ /**
69
+ * Read a file as UTF-8 text synchronously. Returns a string with the file
70
+ * contents decoded as UTF-8. This is the most common way to read text files
71
+ * synchronously.
72
+ *
73
+ * @example
74
+ * ;```ts
75
+ * // Read a configuration file
76
+ * const config = readFileUtf8Sync('./config.txt')
77
+ *
78
+ * // Read with custom options
79
+ * const data = readFileUtf8Sync('./data.txt', { encoding: 'utf8' })
80
+ * ```
81
+ *
82
+ * @param filepath - Path to file.
83
+ * @param options - Read options including encoding.
84
+ *
85
+ * @returns String containing file contents
86
+ */
87
+ export declare function readFileUtf8Sync(filepath: PathLike, options?: ReadFileOptions | undefined): string | NonSharedBuffer;
88
+ /**
89
+ * Safely read a file asynchronously, returning undefined on error. Useful when
90
+ * you want to attempt reading a file without handling errors explicitly.
91
+ * Returns undefined for any error (file not found, permission denied, etc.).
92
+ * Defaults to UTF-8 encoding, returning a string unless encoding is explicitly
93
+ * set to null.
94
+ *
95
+ * @example
96
+ * ;```ts
97
+ * // Try to read a file as UTF-8 string (default), get undefined if it doesn't exist
98
+ * const content = await safeReadFile('./optional-config.txt')
99
+ * if (content) {
100
+ * console.log('Config found:', content)
101
+ * }
102
+ *
103
+ * // Read with specific encoding
104
+ * const data = await safeReadFile('./data.txt', { encoding: 'utf8' })
105
+ *
106
+ * // Read as Buffer by setting encoding to null
107
+ * const buffer = await safeReadFile('./binary.dat', { encoding: null })
108
+ * ```
109
+ *
110
+ * @param filepath - Path to file.
111
+ * @param options - Read options including encoding and default value.
112
+ *
113
+ * @returns Promise resolving to file contents (string by default), or undefined
114
+ * on error.
115
+ */
116
+ export declare function safeReadFile(filepath: PathLike, options: SafeReadOptions & {
117
+ encoding: null;
118
+ }): Promise<Buffer | undefined>;
119
+ export declare function safeReadFile(filepath: PathLike, options?: SafeReadOptions | undefined): Promise<string | undefined>;
120
+ /**
121
+ * Safely read a file synchronously, returning undefined on error. Useful when
122
+ * you want to attempt reading a file without handling errors explicitly.
123
+ * Returns undefined for any error (file not found, permission denied, etc.).
124
+ * Defaults to UTF-8 encoding, returning a string unless encoding is explicitly
125
+ * set to null.
126
+ *
127
+ * @example
128
+ * ;```ts
129
+ * // Try to read a config file as UTF-8 string (default)
130
+ * const config = safeReadFileSync('./config.txt')
131
+ * if (config) {
132
+ * console.log('Config loaded successfully')
133
+ * }
134
+ *
135
+ * // Read with explicit encoding
136
+ * const data = safeReadFileSync('./data.txt', { encoding: 'utf8' })
137
+ *
138
+ * // Read binary file by setting encoding to null
139
+ * const buffer = safeReadFileSync('./image.png', { encoding: null })
140
+ * ```
141
+ *
142
+ * @param filepath - Path to file.
143
+ * @param options - Read options including encoding and default value.
144
+ *
145
+ * @returns File contents (string by default), or undefined on error
146
+ */
147
+ export declare function safeReadFileSync(filepath: PathLike, options: SafeReadOptions & {
148
+ encoding: null;
149
+ }): Buffer | undefined;
150
+ export declare function safeReadFileSync(filepath: PathLike, options?: SafeReadOptions | undefined): string | undefined;
@@ -0,0 +1,131 @@
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 read_file_exports = {};
22
+ __export(read_file_exports, {
23
+ readFileBinary: () => readFileBinary,
24
+ readFileBinarySync: () => readFileBinarySync,
25
+ readFileUtf8: () => readFileUtf8,
26
+ readFileUtf8Sync: () => readFileUtf8Sync,
27
+ safeReadFile: () => safeReadFile,
28
+ safeReadFileSync: () => safeReadFileSync
29
+ });
30
+ module.exports = __toCommonJS(read_file_exports);
31
+ var import_abort = require("../process/abort");
32
+ var import_fs = require("../node/fs");
33
+ var import_buffer = require("../primordials/buffer");
34
+ var import_encoding = require("./encoding");
35
+ const abortSignal = (0, import_abort.getAbortSignal)();
36
+ // @__NO_SIDE_EFFECTS__
37
+ async function readFileBinary(filepath, options) {
38
+ const opts = typeof options === "string" ? { encoding: options } : options;
39
+ const fs = (0, import_fs.getNodeFs)();
40
+ return await fs.promises.readFile(filepath, {
41
+ signal: abortSignal,
42
+ ...opts,
43
+ encoding: void 0
44
+ });
45
+ }
46
+ // @__NO_SIDE_EFFECTS__
47
+ function readFileBinarySync(filepath, options) {
48
+ const opts = typeof options === "string" ? { encoding: options } : options;
49
+ const fs = (0, import_fs.getNodeFs)();
50
+ return fs.readFileSync(filepath, {
51
+ ...opts,
52
+ encoding: void 0
53
+ });
54
+ }
55
+ // @__NO_SIDE_EFFECTS__
56
+ async function readFileUtf8(filepath, options) {
57
+ const opts = typeof options === "string" ? { encoding: options } : options;
58
+ const fs = (0, import_fs.getNodeFs)();
59
+ return await fs.promises.readFile(filepath, {
60
+ signal: abortSignal,
61
+ ...opts,
62
+ encoding: "utf8"
63
+ });
64
+ }
65
+ // @__NO_SIDE_EFFECTS__
66
+ function readFileUtf8Sync(filepath, options) {
67
+ const opts = typeof options === "string" ? { encoding: options } : options;
68
+ const fs = (0, import_fs.getNodeFs)();
69
+ return fs.readFileSync(filepath, {
70
+ ...opts,
71
+ encoding: "utf8"
72
+ });
73
+ }
74
+ // @__NO_SIDE_EFFECTS__
75
+ async function safeReadFile(filepath, options) {
76
+ const opts = typeof options === "string" ? { __proto__: null, encoding: options } : { __proto__: null, ...options };
77
+ const { defaultValue, ...rawReadOpts } = opts;
78
+ const readOpts = { __proto__: null, ...rawReadOpts };
79
+ const shouldReturnBuffer = readOpts.encoding === null;
80
+ const encoding = shouldReturnBuffer ? void 0 : (0, import_encoding.normalizeEncoding)(readOpts.encoding);
81
+ const fs = (0, import_fs.getNodeFs)();
82
+ try {
83
+ return await fs.promises.readFile(filepath, {
84
+ __proto__: null,
85
+ signal: abortSignal,
86
+ ...readOpts,
87
+ encoding
88
+ });
89
+ } catch {
90
+ }
91
+ if (defaultValue === void 0) {
92
+ return void 0;
93
+ }
94
+ if (shouldReturnBuffer) {
95
+ return (0, import_buffer.BufferIsBuffer)(defaultValue) ? defaultValue : void 0;
96
+ }
97
+ return typeof defaultValue === "string" ? defaultValue : String(defaultValue);
98
+ }
99
+ // @__NO_SIDE_EFFECTS__
100
+ function safeReadFileSync(filepath, options) {
101
+ const opts = typeof options === "string" ? { __proto__: null, encoding: options } : { __proto__: null, ...options };
102
+ const { defaultValue, ...rawReadOpts } = opts;
103
+ const readOpts = { __proto__: null, ...rawReadOpts };
104
+ const shouldReturnBuffer = readOpts.encoding === null;
105
+ const encoding = shouldReturnBuffer ? void 0 : (0, import_encoding.normalizeEncoding)(readOpts.encoding);
106
+ const fs = (0, import_fs.getNodeFs)();
107
+ try {
108
+ return fs.readFileSync(filepath, {
109
+ __proto__: null,
110
+ ...readOpts,
111
+ encoding
112
+ });
113
+ } catch {
114
+ }
115
+ if (defaultValue === void 0) {
116
+ return void 0;
117
+ }
118
+ if (shouldReturnBuffer) {
119
+ return (0, import_buffer.BufferIsBuffer)(defaultValue) ? defaultValue : void 0;
120
+ }
121
+ return typeof defaultValue === "string" ? defaultValue : String(defaultValue);
122
+ }
123
+ // Annotate the CommonJS export names for ESM import in node:
124
+ 0 && (module.exports = {
125
+ readFileBinary,
126
+ readFileBinarySync,
127
+ readFileUtf8,
128
+ readFileUtf8Sync,
129
+ safeReadFile,
130
+ safeReadFileSync
131
+ });
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @file Process-scoped LRU cache for `readJson` / `readJsonSync` results, keyed
3
+ * by absolute path + stat (`ino + size + mtimeMs`). Why default-on caching is
4
+ * safe:
5
+ *
6
+ * - Stat-validated keys: a `stat()` call before serving a cache hit ensures the
7
+ * file hasn't changed (mtime + size mismatch ⇒ cache miss, re-read).
8
+ * - Defensive clone on hit: every hit returns `structuredClone(parsed)` so
9
+ * callers can mutate the returned object without poisoning the cache for
10
+ * the next reader. The clone cost is far less than re-read + re-parse for
11
+ * anything bigger than a trivial JSON document.
12
+ * - Reviver opt-out: when the caller passes a `reviver` function, we skip the
13
+ * cache. Function identity isn't safely hashable across boundaries, and the
14
+ * reviver can produce a different shape from the same bytes.
15
+ * - Per-call escape hatch: `cache: false` in the options bypasses the cache for
16
+ * cases where staleness must be observed (file-watcher tooling, etc.).
17
+ * - Bounded growth: an LRU cap (default 256 entries) protects long-running
18
+ * daemons. Tunable via `SOCKET_LIB_READ_JSON_CACHE_MAX` env or
19
+ * `setReadJsonCacheMax()`.
20
+ * - Test escape hatch: `clearReadJsonCache()` resets the whole cache between
21
+ * test cases that rely on fresh reads. Not cached:
22
+ * - Read failures (ENOENT under `throws: false` returns `undefined`). Caching
23
+ * undefined would silently miss a file that gets created later.
24
+ * - Reads with a `reviver` (see above).
25
+ * - Reads with explicit `cache: false`.
26
+ * - Relative paths whose `resolvePath` would change CWD-sensitively. We key on
27
+ * the literal input path, so callers passing relative paths from different
28
+ * CWDs would get separate cache entries — correct but pessimistic.
29
+ */
30
+ import type { JsonValue } from '../json/types';
31
+ /**
32
+ * Drop all cached entries. Tests call this between cases that depend on a fresh
33
+ * read; long-running daemons can call it on file-watcher invalidation events
34
+ * for paths the daemon knows are about to change in bulk.
35
+ */
36
+ export declare function clearReadJsonCache(): void;
37
+ /**
38
+ * Look up a cached parse result. Returns a fresh structured clone on hit (so
39
+ * callers can mutate freely), or `undefined` on miss.
40
+ *
41
+ * @param key Cache key — absolute file path. Caller resolves any relative
42
+ * inputs to absolute so two different CWDs don't share an entry.
43
+ * @param ino Inode (or `0` on platforms without one — Windows reports 0 from
44
+ * the Node `fs.Stats` shim, in which case size + mtimeMs carry the
45
+ * invalidation signal).
46
+ * @param size File size in bytes.
47
+ * @param mtimeMs Modification time in milliseconds.
48
+ */
49
+ export declare function getCachedJson(key: string, ino: number, size: number, mtimeMs: number): JsonValue | undefined;
50
+ /**
51
+ * Snapshot diagnostics. Useful for tests and for tooling that wants to log
52
+ * cache effectiveness at end of run.
53
+ */
54
+ export declare function getReadJsonCacheStats(): {
55
+ size: number;
56
+ max: number;
57
+ ttlMs: number;
58
+ hits: number;
59
+ misses: number;
60
+ };
61
+ export declare function readMaxFromEnv(): number;
62
+ export declare function readTtlFromEnv(): number;
63
+ /**
64
+ * Store a parsed value. Evicts the oldest entry when the cache is full.
65
+ *
66
+ * Never stores `undefined` — callers must guard for the "file not found,
67
+ * throws: false" case before invoking this.
68
+ */
69
+ export declare function setCachedJson(key: string, ino: number, size: number, mtimeMs: number, parsed: JsonValue): void;
70
+ /**
71
+ * Adjust the cache size cap at runtime. Useful for tooling that knows it'll
72
+ * walk many manifests in one pass and wants a larger cap, or for tests that
73
+ * want to bound the cap small so eviction is observable.
74
+ *
75
+ * Trims excess entries on shrink.
76
+ */
77
+ export declare function setReadJsonCacheMax(max: number): void;
78
+ /**
79
+ * Adjust the time-based ejection window at runtime. Default is 5 minutes; pass
80
+ * `0` to disable time-based ejection entirely (entries then live until LRU
81
+ * eviction or `clearReadJsonCache`).
82
+ */
83
+ export declare function setReadJsonCacheTtlMs(ttlMs: number): void;
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ /* Socket Lib - Built with esbuild */
3
+ "use strict";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+ var read_json_cache_exports = {};
32
+ __export(read_json_cache_exports, {
33
+ clearReadJsonCache: () => clearReadJsonCache,
34
+ getCachedJson: () => getCachedJson,
35
+ getReadJsonCacheStats: () => getReadJsonCacheStats,
36
+ readMaxFromEnv: () => readMaxFromEnv,
37
+ readTtlFromEnv: () => readTtlFromEnv,
38
+ setCachedJson: () => setCachedJson,
39
+ setReadJsonCacheMax: () => setReadJsonCacheMax,
40
+ setReadJsonCacheTtlMs: () => setReadJsonCacheTtlMs
41
+ });
42
+ module.exports = __toCommonJS(read_json_cache_exports);
43
+ var import_node_process = __toESM(require("node:process"));
44
+ var import_date = require("../primordials/date");
45
+ var import_error = require("../primordials/error");
46
+ var import_map_set = require("../primordials/map-set");
47
+ var import_number = require("../primordials/number");
48
+ const DEFAULT_MAX_ENTRIES = 256;
49
+ const DEFAULT_TTL_MS = 5 * 60 * 1e3;
50
+ const cache = new import_map_set.MapCtor();
51
+ let cacheMax = readMaxFromEnv();
52
+ let cacheTtlMs = readTtlFromEnv();
53
+ let hits = 0;
54
+ let misses = 0;
55
+ function clearReadJsonCache() {
56
+ cache.clear();
57
+ hits = 0;
58
+ misses = 0;
59
+ }
60
+ function getCachedJson(key, ino, size, mtimeMs) {
61
+ const entry = cache.get(key);
62
+ if (!entry) {
63
+ misses += 1;
64
+ return void 0;
65
+ }
66
+ if (cacheTtlMs > 0 && (0, import_date.DateNow)() - entry.insertedAt > cacheTtlMs) {
67
+ cache.delete(key);
68
+ misses += 1;
69
+ return void 0;
70
+ }
71
+ if (entry.ino !== ino || entry.size !== size || entry.mtimeMs !== mtimeMs) {
72
+ cache.delete(key);
73
+ misses += 1;
74
+ return void 0;
75
+ }
76
+ hits += 1;
77
+ return structuredClone(entry.parsed);
78
+ }
79
+ function getReadJsonCacheStats() {
80
+ return {
81
+ size: cache.size,
82
+ max: cacheMax,
83
+ ttlMs: cacheTtlMs,
84
+ hits,
85
+ misses
86
+ };
87
+ }
88
+ function readMaxFromEnv() {
89
+ const env = import_node_process.default.env["SOCKET_LIB_READ_JSON_CACHE_MAX"];
90
+ if (env) {
91
+ const n = (0, import_number.NumberParseInt)(env, 10);
92
+ if (n > 0 && (0, import_number.NumberIsFinite)(n)) {
93
+ return n;
94
+ }
95
+ }
96
+ return DEFAULT_MAX_ENTRIES;
97
+ }
98
+ function readTtlFromEnv() {
99
+ const env = import_node_process.default.env["SOCKET_LIB_READ_JSON_CACHE_TTL_MS"];
100
+ if (env) {
101
+ const n = (0, import_number.NumberParseInt)(env, 10);
102
+ if (n >= 0 && (0, import_number.NumberIsFinite)(n)) {
103
+ return n;
104
+ }
105
+ }
106
+ return DEFAULT_TTL_MS;
107
+ }
108
+ function setCachedJson(key, ino, size, mtimeMs, parsed) {
109
+ if (cache.size >= cacheMax) {
110
+ const oldest = cache.keys().next().value;
111
+ if (oldest !== void 0) {
112
+ cache.delete(oldest);
113
+ }
114
+ }
115
+ cache.set(key, {
116
+ ino,
117
+ size,
118
+ mtimeMs,
119
+ parsed: structuredClone(parsed),
120
+ insertedAt: (0, import_date.DateNow)()
121
+ });
122
+ }
123
+ function setReadJsonCacheMax(max) {
124
+ if (max <= 0 || !(0, import_number.NumberIsFinite)(max)) {
125
+ throw new import_error.ErrorCtor(
126
+ `setReadJsonCacheMax: max must be a positive finite number, got ${max}`
127
+ );
128
+ }
129
+ cacheMax = max;
130
+ while (cache.size > cacheMax) {
131
+ const oldest = cache.keys().next().value;
132
+ if (oldest === void 0) {
133
+ break;
134
+ }
135
+ cache.delete(oldest);
136
+ }
137
+ }
138
+ function setReadJsonCacheTtlMs(ttlMs) {
139
+ if (ttlMs < 0 || !(0, import_number.NumberIsFinite)(ttlMs)) {
140
+ throw new import_error.ErrorCtor(
141
+ `setReadJsonCacheTtlMs: ttlMs must be a non-negative finite number, got ${ttlMs}`
142
+ );
143
+ }
144
+ cacheTtlMs = ttlMs;
145
+ }
146
+ // Annotate the CommonJS export names for ESM import in node:
147
+ 0 && (module.exports = {
148
+ clearReadJsonCache,
149
+ getCachedJson,
150
+ getReadJsonCacheStats,
151
+ readMaxFromEnv,
152
+ readTtlFromEnv,
153
+ setCachedJson,
154
+ setReadJsonCacheMax,
155
+ setReadJsonCacheTtlMs
156
+ });
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @file Read-and-parse helpers for JSON files. Wraps fs reads in actionable
3
+ * error messages keyed off `ENOENT` / `EACCES` / `EPERM` so callers see "JSON
4
+ * file not found" / "Permission denied" rather than the bare errno. Both
5
+ * variants honor `throws: false` to fall back to `undefined` on parse or read
6
+ * failure. Both variants cache parse results by default — keyed on `path +
7
+ * ino + size \+ mtimeMs`, with a defensive `structuredClone` on every hit so
8
+ * callers can mutate the returned object freely. See `_read-json-cache.ts`
9
+ * for the safety rationale + opt-out controls.
10
+ */
11
+ import { clearReadJsonCache, getReadJsonCacheStats, setReadJsonCacheMax, setReadJsonCacheTtlMs } from './read-json-cache';
12
+ export { clearReadJsonCache, getReadJsonCacheStats, setReadJsonCacheMax, setReadJsonCacheTtlMs, };
13
+ import type { PathLike } from 'node:fs';
14
+ import type { ReadJsonOptions } from './types';
15
+ /**
16
+ * Read and parse a JSON file asynchronously. Reads the file as UTF-8 text and
17
+ * parses it as JSON. Optionally accepts a reviver function to transform parsed
18
+ * values.
19
+ *
20
+ * @example
21
+ * ;```ts
22
+ * // Read and parse package.json
23
+ * const pkg = await readJson('./package.json')
24
+ *
25
+ * // Read JSON with custom reviver
26
+ * const data = await readJson('./data.json', {
27
+ * reviver: (key, value) => {
28
+ * if (key === 'date') return new Date(value)
29
+ * return value
30
+ * },
31
+ * })
32
+ *
33
+ * // Don't throw on parse errors
34
+ * const config = await readJson('./config.json', { throws: false })
35
+ * if (config === undefined) {
36
+ * console.log('Failed to parse config')
37
+ * }
38
+ * ```
39
+ *
40
+ * @param filepath - Path to JSON file.
41
+ * @param options - Read and parse options.
42
+ *
43
+ * @returns Promise resolving to parsed JSON value, or undefined if throws is
44
+ * false and an error occurs.
45
+ */
46
+ export declare function readJson(filepath: PathLike, options?: ReadJsonOptions | string | undefined): Promise<import("../json/types").JsonValue | undefined>;
47
+ /**
48
+ * Read and parse a JSON file synchronously. Reads the file as UTF-8 text and
49
+ * parses it as JSON. Optionally accepts a reviver function to transform parsed
50
+ * values.
51
+ *
52
+ * @example
53
+ * ;```ts
54
+ * // Read and parse tsconfig.json
55
+ * const tsconfig = readJsonSync('./tsconfig.json')
56
+ *
57
+ * // Read JSON with custom reviver
58
+ * const data = readJsonSync('./data.json', {
59
+ * reviver: (key, value) => {
60
+ * if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}/.test(value)) {
61
+ * return new Date(value)
62
+ * }
63
+ * return value
64
+ * },
65
+ * })
66
+ *
67
+ * // Don't throw on parse errors
68
+ * const config = readJsonSync('./config.json', { throws: false })
69
+ * ```
70
+ *
71
+ * @param filepath - Path to JSON file.
72
+ * @param options - Read and parse options.
73
+ *
74
+ * @returns Parsed JSON value, or undefined if throws is false and an error
75
+ * occurs.
76
+ */
77
+ export declare function readJsonSync(filepath: PathLike, options?: ReadJsonOptions | string | undefined): import("../json/types").JsonValue | undefined;