@socketsecurity/lib 6.0.2 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/_virtual/_rolldown/runtime.js +45 -0
  3. package/dist/abort/signal.js +53 -59
  4. package/dist/ai/discover.js +110 -110
  5. package/dist/ai/profiles.d.mts +48 -25
  6. package/dist/ai/profiles.js +95 -59
  7. package/dist/ai/spawn.d.mts +2 -2
  8. package/dist/ai/spawn.js +172 -194
  9. package/dist/ai/types.d.mts +3 -3
  10. package/dist/ai/types.js +1 -17
  11. package/dist/ai/worktree.d.mts +2 -2
  12. package/dist/ai/worktree.js +160 -183
  13. package/dist/ansi/constants.js +16 -38
  14. package/dist/ansi/strip.js +44 -41
  15. package/dist/archives/_internal.js +64 -73
  16. package/dist/archives/detect.js +30 -43
  17. package/dist/archives/extract.js +43 -50
  18. package/dist/archives/tar.js +197 -228
  19. package/dist/archives/types.js +1 -17
  20. package/dist/archives/zip.js +85 -121
  21. package/dist/argv/flag-predicates.js +203 -101
  22. package/dist/argv/flag-types.js +96 -113
  23. package/dist/argv/parse-args-string.d.ts +16 -14
  24. package/dist/argv/parse-args-string.js +42 -39
  25. package/dist/argv/parse.js +145 -163
  26. package/dist/arrays/_internal.js +65 -48
  27. package/dist/arrays/chunk.js +51 -40
  28. package/dist/arrays/join.js +87 -35
  29. package/dist/arrays/predicates.js +46 -28
  30. package/dist/arrays/unique.js +45 -31
  31. package/dist/bin/_internal.js +34 -42
  32. package/dist/bin/check-primordials.js +175 -233
  33. package/dist/bin/check.js +51 -72
  34. package/dist/bin/exec.js +70 -74
  35. package/dist/bin/find.js +151 -134
  36. package/dist/bin/resolve.js +180 -246
  37. package/dist/bin/shadow.js +24 -33
  38. package/dist/bin/socket-lib.js +51 -73
  39. package/dist/bin/types.js +1 -17
  40. package/dist/bin/which.js +211 -146
  41. package/dist/cacache/_internal.js +25 -40
  42. package/dist/cacache/clear.js +79 -72
  43. package/dist/cacache/read.js +48 -46
  44. package/dist/cacache/tmp.js +29 -36
  45. package/dist/cacache/types.js +1 -17
  46. package/dist/cacache/write.js +43 -48
  47. package/dist/cache/ttl/store.js +232 -288
  48. package/dist/cache/ttl/types.js +1 -17
  49. package/dist/checks/primordials-defaults.js +83 -89
  50. package/dist/checks/primordials.js +225 -277
  51. package/dist/colors/convert.js +45 -37
  52. package/dist/colors/palette.js +88 -45
  53. package/dist/colors/socket-palette.js +74 -84
  54. package/dist/colors/types.js +1 -17
  55. package/dist/compression/_internal.js +57 -72
  56. package/dist/compression/brotli.js +94 -127
  57. package/dist/compression/gzip.js +95 -121
  58. package/dist/compression/types.js +1 -17
  59. package/dist/constants/agents.js +61 -113
  60. package/dist/constants/encoding.js +19 -42
  61. package/dist/constants/github.js +12 -30
  62. package/dist/constants/licenses.js +48 -63
  63. package/dist/constants/lifecycle-script-names.js +31 -45
  64. package/dist/constants/maintained-node-versions.js +22 -37
  65. package/dist/constants/node.js +226 -167
  66. package/dist/constants/package-default-node-range.js +16 -41
  67. package/dist/constants/package-default-socket-categories.js +12 -30
  68. package/dist/constants/packages.js +77 -126
  69. package/dist/constants/platform.js +27 -49
  70. package/dist/constants/sentinels.js +23 -48
  71. package/dist/constants/socket.js +42 -87
  72. package/dist/constants/testing.js +15 -34
  73. package/dist/constants/time.js +16 -36
  74. package/dist/constants/typescript.js +32 -52
  75. package/dist/cover/code.js +111 -142
  76. package/dist/cover/formatters.js +118 -101
  77. package/dist/cover/type.js +50 -76
  78. package/dist/cover/types.js +1 -17
  79. package/dist/crypto/hash.js +54 -46
  80. package/dist/debug/_internal.js +62 -71
  81. package/dist/debug/caller-info.js +53 -64
  82. package/dist/debug/namespace.js +80 -90
  83. package/dist/debug/output.js +172 -188
  84. package/dist/debug/types.js +1 -17
  85. package/dist/dlx/_internal.js +24 -43
  86. package/dist/dlx/arborist.js +162 -160
  87. package/dist/dlx/binary-cache.js +228 -200
  88. package/dist/dlx/binary-download.js +172 -211
  89. package/dist/dlx/binary-resolution.js +165 -157
  90. package/dist/dlx/binary-types.js +1 -17
  91. package/dist/dlx/binary.js +149 -189
  92. package/dist/dlx/cache.js +45 -30
  93. package/dist/dlx/detect.js +245 -167
  94. package/dist/dlx/dir.js +67 -51
  95. package/dist/dlx/firewall.js +62 -100
  96. package/dist/dlx/lockfile.js +122 -127
  97. package/dist/dlx/manifest.js +264 -274
  98. package/dist/dlx/package.js +241 -244
  99. package/dist/dlx/packages.js +99 -96
  100. package/dist/dlx/paths.js +73 -59
  101. package/dist/dlx/spec.js +52 -60
  102. package/dist/dlx/types.js +1 -17
  103. package/dist/eco/cargo/lockfile-format.js +19 -36
  104. package/dist/eco/cargo/manifest-format.js +17 -35
  105. package/dist/eco/cargo/parse-lockfile.js +210 -237
  106. package/dist/eco/manifest/analyze-lockfile.js +46 -63
  107. package/dist/eco/manifest/detect-format.js +66 -90
  108. package/dist/eco/manifest/find-packages.js +39 -64
  109. package/dist/eco/manifest/get-package-versions.js +27 -48
  110. package/dist/eco/manifest/get-package.js +21 -40
  111. package/dist/eco/manifest/manifest-error.js +14 -35
  112. package/dist/eco/manifest/parse-lockfile.js +40 -86
  113. package/dist/eco/manifest/parse-manifest.js +26 -43
  114. package/dist/eco/manifest/parse.js +26 -47
  115. package/dist/eco/manifest/types.js +1 -17
  116. package/dist/eco/npm/bun/exec.js +23 -32
  117. package/dist/eco/npm/manifest-format.js +21 -35
  118. package/dist/eco/npm/npm/exec.js +51 -61
  119. package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
  120. package/dist/eco/npm/npm/flags.js +80 -52
  121. package/dist/eco/npm/npm/lockfile-format.js +21 -40
  122. package/dist/eco/npm/npm/parse-git-url.js +26 -40
  123. package/dist/eco/npm/npm/parse-lockfile.js +184 -210
  124. package/dist/eco/npm/parse-package-json.js +71 -102
  125. package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
  126. package/dist/eco/npm/pnpm/exec.js +51 -62
  127. package/dist/eco/npm/pnpm/flags.js +75 -68
  128. package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
  129. package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
  130. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
  131. package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
  132. package/dist/eco/npm/script.js +82 -90
  133. package/dist/eco/npm/vlt/exec.js +24 -32
  134. package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
  135. package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
  136. package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
  137. package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
  138. package/dist/eco/purl.js +50 -60
  139. package/dist/eco/types.js +1 -17
  140. package/dist/effects/pulse-frames.js +64 -65
  141. package/dist/effects/shimmer-keyframes.js +71 -52
  142. package/dist/effects/shimmer-terminal.js +81 -50
  143. package/dist/effects/shimmer.js +290 -153
  144. package/dist/env/boolean.js +42 -43
  145. package/dist/env/case-insensitive.js +54 -39
  146. package/dist/env/ci.js +29 -31
  147. package/dist/env/debug.js +28 -31
  148. package/dist/env/github.js +144 -59
  149. package/dist/env/home.js +38 -31
  150. package/dist/env/locale.js +59 -39
  151. package/dist/env/node-auth-token.js +28 -31
  152. package/dist/env/node-env.js +28 -31
  153. package/dist/env/npm.js +94 -47
  154. package/dist/env/number.js +50 -51
  155. package/dist/env/package-manager.js +95 -83
  156. package/dist/env/path.js +28 -31
  157. package/dist/env/pre-commit.js +30 -32
  158. package/dist/env/proxy.js +121 -122
  159. package/dist/env/rewire.js +204 -96
  160. package/dist/env/shell.js +28 -31
  161. package/dist/env/socket-cli.js +233 -81
  162. package/dist/env/socket.js +521 -156
  163. package/dist/env/string.js +43 -44
  164. package/dist/env/temp-dir.js +59 -39
  165. package/dist/env/term.js +28 -31
  166. package/dist/env/test.js +65 -43
  167. package/dist/env/types.js +1 -17
  168. package/dist/env/windows.js +78 -43
  169. package/dist/env/xdg.js +62 -39
  170. package/dist/errors/message.js +40 -46
  171. package/dist/errors/predicates.js +61 -49
  172. package/dist/errors/stack.js +24 -36
  173. package/dist/events/exit/_internal.js +86 -103
  174. package/dist/events/exit/handler.js +48 -55
  175. package/dist/events/exit/intercept.js +49 -70
  176. package/dist/events/exit/lifecycle.js +92 -101
  177. package/dist/events/exit/signals.js +25 -31
  178. package/dist/events/exit/types.js +1 -17
  179. package/dist/events/warning/handler.js +43 -40
  180. package/dist/events/warning/suppress.js +111 -90
  181. package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
  182. package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
  183. package/dist/external/@npmcli/package-json.js +12705 -15140
  184. package/dist/external/@npmcli/promise-spawn.js +451 -472
  185. package/dist/external/@sinclair/typebox/value.js +7443 -9002
  186. package/dist/external/@sinclair/typebox.js +7516 -7885
  187. package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
  188. package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
  189. package/dist/external/@socketregistry/yocto-spinner.js +394 -455
  190. package/dist/external/@yarnpkg/extensions.js +435 -1022
  191. package/dist/external/adm-zip.js +2313 -2673
  192. package/dist/external/debug.js +700 -687
  193. package/dist/external/external-pack.js +2658 -3171
  194. package/dist/external/fast-sort.js +124 -138
  195. package/dist/external/get-east-asian-width.js +70 -64
  196. package/dist/external/libnpmexec.js +28 -31
  197. package/dist/external/npm-pack.js +43617 -50137
  198. package/dist/external/p-map.js +198 -222
  199. package/dist/external/pico-pack.js +6735 -7304
  200. package/dist/external/pony-cause.js +143 -139
  201. package/dist/external/shell-quote.js +226 -0
  202. package/dist/external/spdx-pack.js +1283 -1403
  203. package/dist/external/streaming-iterables.js +835 -1052
  204. package/dist/external/tar-fs.js +2769 -3048
  205. package/dist/external/which.js +267 -251
  206. package/dist/external/yargs-parser.js +851 -1074
  207. package/dist/external-tools/bazel/asset-names.js +98 -90
  208. package/dist/external-tools/bazel/from-download.js +52 -46
  209. package/dist/external-tools/bazel/from-path.js +27 -38
  210. package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
  211. package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
  212. package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
  213. package/dist/external-tools/bazel/resolve.js +44 -58
  214. package/dist/external-tools/bazel/types.js +1 -17
  215. package/dist/external-tools/cdxgen/asset-names.js +59 -66
  216. package/dist/external-tools/cdxgen/from-download.js +52 -80
  217. package/dist/external-tools/cdxgen/from-path.js +19 -37
  218. package/dist/external-tools/cdxgen/from-vfs.js +22 -43
  219. package/dist/external-tools/cdxgen/resolve.js +48 -63
  220. package/dist/external-tools/cdxgen/types.js +1 -17
  221. package/dist/external-tools/from-download.js +107 -67
  222. package/dist/external-tools/janus/asset-names.js +44 -51
  223. package/dist/external-tools/janus/from-download.js +45 -70
  224. package/dist/external-tools/janus/from-path.js +19 -37
  225. package/dist/external-tools/janus/from-vfs.js +22 -43
  226. package/dist/external-tools/janus/resolve.js +45 -63
  227. package/dist/external-tools/janus/types.js +1 -17
  228. package/dist/external-tools/jre/asset-names.js +109 -82
  229. package/dist/external-tools/jre/detect-platform-arch.js +25 -49
  230. package/dist/external-tools/jre/from-download.js +71 -67
  231. package/dist/external-tools/jre/from-java-home.js +27 -54
  232. package/dist/external-tools/jre/from-path.js +27 -49
  233. package/dist/external-tools/jre/from-vfs.js +39 -60
  234. package/dist/external-tools/jre/resolve.js +55 -68
  235. package/dist/external-tools/jre/types.js +1 -17
  236. package/dist/external-tools/manifest.js +130 -150
  237. package/dist/external-tools/opengrep/asset-names.js +60 -72
  238. package/dist/external-tools/opengrep/from-download.js +58 -80
  239. package/dist/external-tools/opengrep/from-path.js +19 -37
  240. package/dist/external-tools/opengrep/from-vfs.js +23 -43
  241. package/dist/external-tools/opengrep/resolve.js +43 -63
  242. package/dist/external-tools/opengrep/types.js +1 -17
  243. package/dist/external-tools/sbt/asset-names.js +21 -30
  244. package/dist/external-tools/sbt/from-download.js +50 -61
  245. package/dist/external-tools/sbt/from-path.js +23 -38
  246. package/dist/external-tools/sbt/from-vfs.js +30 -44
  247. package/dist/external-tools/sbt/resolve.js +45 -63
  248. package/dist/external-tools/sbt/types.js +1 -17
  249. package/dist/external-tools/synp/asset-names.js +11 -29
  250. package/dist/external-tools/synp/from-download.js +24 -41
  251. package/dist/external-tools/synp/from-path.js +19 -37
  252. package/dist/external-tools/synp/from-vfs.js +22 -43
  253. package/dist/external-tools/synp/resolve.js +43 -62
  254. package/dist/external-tools/synp/types.js +1 -17
  255. package/dist/external-tools/trivy/asset-names.js +51 -62
  256. package/dist/external-tools/trivy/from-download.js +42 -64
  257. package/dist/external-tools/trivy/from-path.js +19 -37
  258. package/dist/external-tools/trivy/from-vfs.js +22 -43
  259. package/dist/external-tools/trivy/resolve.js +43 -63
  260. package/dist/external-tools/trivy/types.js +1 -17
  261. package/dist/external-tools/trufflehog/asset-names.js +54 -66
  262. package/dist/external-tools/trufflehog/from-download.js +44 -62
  263. package/dist/external-tools/trufflehog/from-path.js +21 -37
  264. package/dist/external-tools/trufflehog/from-vfs.js +26 -43
  265. package/dist/external-tools/trufflehog/resolve.js +43 -63
  266. package/dist/external-tools/trufflehog/types.js +1 -17
  267. package/dist/external-tools/uv/asset-names.js +64 -74
  268. package/dist/external-tools/uv/from-download.js +44 -65
  269. package/dist/external-tools/uv/from-path.js +19 -37
  270. package/dist/external-tools/uv/from-vfs.js +22 -43
  271. package/dist/external-tools/uv/resolve.js +42 -63
  272. package/dist/external-tools/uv/types.js +1 -17
  273. package/dist/fs/_internal.js +40 -42
  274. package/dist/fs/access.d.ts +32 -0
  275. package/dist/fs/access.js +66 -0
  276. package/dist/fs/encoding.js +80 -97
  277. package/dist/fs/find-up.js +126 -147
  278. package/dist/fs/inspect.js +168 -99
  279. package/dist/fs/path-cache.js +31 -32
  280. package/dist/fs/read-dir.js +102 -79
  281. package/dist/fs/read-file.js +177 -118
  282. package/dist/fs/read-json-cache.js +150 -134
  283. package/dist/fs/read-json.js +172 -187
  284. package/dist/fs/resolve-module.d.ts +57 -0
  285. package/dist/fs/resolve-module.js +40 -0
  286. package/dist/fs/safe.js +278 -169
  287. package/dist/fs/types.js +1 -17
  288. package/dist/fs/unique.js +52 -48
  289. package/dist/fs/validate.js +56 -43
  290. package/dist/fs/write-json.js +109 -75
  291. package/dist/git/_internal.js +251 -216
  292. package/dist/git/changed.js +191 -74
  293. package/dist/git/repo.js +118 -104
  294. package/dist/git/staged.js +172 -62
  295. package/dist/git/types.js +1 -17
  296. package/dist/git/unstaged.js +175 -62
  297. package/dist/github/constants.js +25 -33
  298. package/dist/github/errors.js +46 -38
  299. package/dist/github/fetch.js +137 -82
  300. package/dist/github/ghsa.js +217 -151
  301. package/dist/github/refs-cache.js +54 -43
  302. package/dist/github/refs-graphql.js +97 -89
  303. package/dist/github/refs-rest.js +70 -101
  304. package/dist/github/refs.js +105 -64
  305. package/dist/github/token.js +96 -48
  306. package/dist/github/types.js +1 -17
  307. package/dist/globs/_internal.js +73 -82
  308. package/dist/globs/defaults.js +40 -59
  309. package/dist/globs/match.js +93 -77
  310. package/dist/globs/matcher.js +104 -92
  311. package/dist/globs/stream.js +43 -55
  312. package/dist/globs/types.js +1 -17
  313. package/dist/http-request/_internal.js +11 -38
  314. package/dist/http-request/browser-fetch.js +19 -29
  315. package/dist/http-request/browser.js +188 -206
  316. package/dist/http-request/checksums.js +101 -65
  317. package/dist/http-request/download-types.js +1 -17
  318. package/dist/http-request/download.js +195 -196
  319. package/dist/http-request/errors.js +39 -47
  320. package/dist/http-request/headers.js +95 -80
  321. package/dist/http-request/http-request.js +10 -35
  322. package/dist/http-request/node.js +71 -97
  323. package/dist/http-request/request-attempt.js +232 -285
  324. package/dist/http-request/request-types.js +1 -17
  325. package/dist/http-request/request.js +106 -108
  326. package/dist/http-request/response-reader.js +47 -51
  327. package/dist/http-request/response-types.js +22 -38
  328. package/dist/http-request/user-agent.js +73 -55
  329. package/dist/integrity.js +105 -106
  330. package/dist/ipc/_internal.js +34 -48
  331. package/dist/ipc/directory.js +55 -63
  332. package/dist/ipc/paths.js +52 -45
  333. package/dist/ipc/types.js +1 -17
  334. package/dist/ipc/write.js +81 -74
  335. package/dist/ipc-cli/get.js +29 -56
  336. package/dist/ipc-cli/types.js +1 -17
  337. package/dist/json/edit.js +182 -242
  338. package/dist/json/format.js +202 -103
  339. package/dist/json/parse.js +206 -109
  340. package/dist/json/types.js +1 -17
  341. package/dist/links/create.js +93 -60
  342. package/dist/links/types.js +1 -17
  343. package/dist/logger/_internal.js +109 -73
  344. package/dist/logger/browser.js +45 -56
  345. package/dist/logger/colors.js +31 -49
  346. package/dist/logger/console.js +89 -112
  347. package/dist/logger/default.js +19 -33
  348. package/dist/logger/logger.js +5 -29
  349. package/dist/logger/node.js +794 -854
  350. package/dist/logger/symbols-builder.js +54 -56
  351. package/dist/logger/symbols.js +135 -118
  352. package/dist/logger/types.js +1 -17
  353. package/dist/memo/_internal.js +39 -49
  354. package/dist/memo/async.js +133 -117
  355. package/dist/memo/clear.js +25 -34
  356. package/dist/memo/decorator.js +43 -37
  357. package/dist/memo/memoize.js +97 -88
  358. package/dist/memo/once.js +42 -41
  359. package/dist/memo/types.js +1 -17
  360. package/dist/memo/weak.js +45 -41
  361. package/dist/node/async-hooks.js +9 -30
  362. package/dist/node/child-process.js +9 -30
  363. package/dist/node/crypto.js +9 -30
  364. package/dist/node/events.js +9 -30
  365. package/dist/node/fs-promises.js +9 -30
  366. package/dist/node/fs.js +9 -30
  367. package/dist/node/http.js +9 -30
  368. package/dist/node/https.js +9 -30
  369. package/dist/node/module.js +20 -34
  370. package/dist/node/os.js +9 -30
  371. package/dist/node/path.js +9 -30
  372. package/dist/node/timers-promises.js +9 -30
  373. package/dist/node/url.js +9 -30
  374. package/dist/node/util.js +9 -30
  375. package/dist/objects/getters.js +185 -126
  376. package/dist/objects/inspect.js +85 -52
  377. package/dist/objects/mutate.js +96 -76
  378. package/dist/objects/predicates.js +112 -59
  379. package/dist/objects/sort.js +120 -76
  380. package/dist/objects/types.js +1 -17
  381. package/dist/packages/edit-class.js +198 -265
  382. package/dist/packages/edit.js +79 -86
  383. package/dist/packages/exports.js +146 -157
  384. package/dist/packages/isolation.js +159 -209
  385. package/dist/packages/licenses.js +207 -189
  386. package/dist/packages/manifest.js +134 -172
  387. package/dist/packages/normalize.js +91 -102
  388. package/dist/packages/operations.d.ts +2 -0
  389. package/dist/packages/operations.js +283 -254
  390. package/dist/packages/provenance.js +195 -245
  391. package/dist/packages/specs.js +94 -84
  392. package/dist/packages/types.js +1 -17
  393. package/dist/packages/validation.js +49 -50
  394. package/dist/paths/_internal.js +82 -86
  395. package/dist/paths/conversion.js +112 -65
  396. package/dist/paths/dirnames.js +17 -42
  397. package/dist/paths/exts.js +23 -54
  398. package/dist/paths/filenames.js +21 -50
  399. package/dist/paths/globs.js +15 -38
  400. package/dist/paths/normalize.js +215 -236
  401. package/dist/paths/packages.js +34 -49
  402. package/dist/paths/predicates.js +184 -106
  403. package/dist/paths/resolve.js +146 -128
  404. package/dist/paths/rewire.js +108 -72
  405. package/dist/paths/socket.js +252 -132
  406. package/dist/paths/walk.d.ts +40 -0
  407. package/dist/paths/walk.js +58 -0
  408. package/dist/perf/_internal.js +10 -28
  409. package/dist/perf/enabled.js +21 -30
  410. package/dist/perf/metrics.js +81 -67
  411. package/dist/perf/report.js +79 -80
  412. package/dist/perf/timer.js +180 -126
  413. package/dist/perf/types.js +1 -17
  414. package/dist/pkg-ext/data.js +29 -82
  415. package/dist/pkg-ext/types.js +1 -17
  416. package/dist/primordials/array.js +120 -198
  417. package/dist/primordials/buffer.js +28 -51
  418. package/dist/primordials/date.js +26 -51
  419. package/dist/primordials/error.js +33 -59
  420. package/dist/primordials/function.js +21 -41
  421. package/dist/primordials/globals.js +25 -48
  422. package/dist/primordials/json.js +14 -30
  423. package/dist/primordials/map-set.js +88 -152
  424. package/dist/primordials/math.js +59 -116
  425. package/dist/primordials/number.js +41 -76
  426. package/dist/primordials/object.js +56 -116
  427. package/dist/primordials/promise.js +28 -52
  428. package/dist/primordials/reflect.js +24 -52
  429. package/dist/primordials/regexp.js +25 -47
  430. package/dist/primordials/string.js +114 -167
  431. package/dist/primordials/symbol.js +40 -72
  432. package/dist/primordials/uncurry.js +38 -55
  433. package/dist/primordials/url.js +27 -66
  434. package/dist/process/_internal.js +7 -32
  435. package/dist/process/abort.js +29 -35
  436. package/dist/process/lock-instance.js +26 -30
  437. package/dist/process/lock-manager.js +279 -307
  438. package/dist/process/lock-types.js +1 -17
  439. package/dist/process/spawn/_internal.js +43 -55
  440. package/dist/process/spawn/child.js +172 -211
  441. package/dist/process/spawn/errors.js +116 -113
  442. package/dist/process/spawn/stdio.js +51 -35
  443. package/dist/process/spawn/types.js +1 -17
  444. package/dist/process/transient.js +49 -66
  445. package/dist/promises/_internal.d.ts +8 -2
  446. package/dist/promises/_internal.js +31 -38
  447. package/dist/promises/iterate.js +238 -102
  448. package/dist/promises/options.js +123 -101
  449. package/dist/promises/queue.js +115 -136
  450. package/dist/promises/resolvers.js +77 -46
  451. package/dist/promises/retry.js +156 -101
  452. package/dist/promises/types.js +1 -17
  453. package/dist/regexps/escape.js +32 -30
  454. package/dist/regexps/hex.js +16 -33
  455. package/dist/regexps/spec.js +53 -81
  456. package/dist/releases/github-archives.js +127 -118
  457. package/dist/releases/github-asset-url.js +162 -155
  458. package/dist/releases/github-assets.js +37 -49
  459. package/dist/releases/github-auth.js +32 -48
  460. package/dist/releases/github-downloads.js +118 -138
  461. package/dist/releases/github-listing.js +175 -154
  462. package/dist/releases/github-retry-config.d.ts +31 -0
  463. package/dist/releases/github-retry-config.js +46 -0
  464. package/dist/releases/github-types.js +1 -17
  465. package/dist/releases/socket-btm.js +273 -192
  466. package/dist/schema/parse.js +35 -36
  467. package/dist/schema/types.js +1 -17
  468. package/dist/schema/validate.js +118 -99
  469. package/dist/sea/detect.js +57 -52
  470. package/dist/secrets/_internal.js +86 -67
  471. package/dist/secrets/find.js +96 -77
  472. package/dist/secrets/keychain.js +315 -309
  473. package/dist/secrets/linux.js +133 -135
  474. package/dist/secrets/macos.js +151 -147
  475. package/dist/secrets/rc.js +182 -181
  476. package/dist/secrets/socket-api-token.js +28 -43
  477. package/dist/secrets/types.js +1 -17
  478. package/dist/secrets/windows.js +184 -242
  479. package/dist/shadow/skip.js +51 -70
  480. package/dist/shadow/types.js +1 -17
  481. package/dist/shell/parse.d.ts +26 -0
  482. package/dist/shell/parse.js +35 -0
  483. package/dist/shell/quote.d.ts +19 -0
  484. package/dist/shell/quote.js +30 -0
  485. package/dist/smol/detect.js +67 -43
  486. package/dist/smol/http.js +33 -37
  487. package/dist/smol/https.js +31 -37
  488. package/dist/smol/manifest.js +33 -37
  489. package/dist/smol/path.d.ts +51 -0
  490. package/dist/smol/path.js +38 -0
  491. package/dist/smol/primordial.js +35 -37
  492. package/dist/smol/purl.js +34 -37
  493. package/dist/smol/versions.js +31 -37
  494. package/dist/smol/vfs.js +46 -38
  495. package/dist/sorts/_internal.js +14 -40
  496. package/dist/sorts/natural.js +57 -64
  497. package/dist/sorts/semver.js +33 -43
  498. package/dist/sorts/strings.js +24 -30
  499. package/dist/sorts/types.js +1 -17
  500. package/dist/spinner/default.js +72 -63
  501. package/dist/spinner/format.js +86 -71
  502. package/dist/spinner/spinner.js +749 -797
  503. package/dist/spinner/types.js +1 -17
  504. package/dist/spinner/with.js +193 -137
  505. package/dist/ssri/convert.js +64 -47
  506. package/dist/ssri/parse.js +38 -37
  507. package/dist/ssri/validate.js +51 -34
  508. package/dist/stdio/_internal.js +50 -46
  509. package/dist/stdio/clear.js +208 -86
  510. package/dist/stdio/divider.js +170 -97
  511. package/dist/stdio/footer.js +116 -110
  512. package/dist/stdio/header.js +117 -90
  513. package/dist/stdio/progress.js +189 -218
  514. package/dist/stdio/prompts.js +244 -168
  515. package/dist/stdio/stderr.js +173 -78
  516. package/dist/stdio/stdout.js +177 -94
  517. package/dist/streams/parallel.js +58 -50
  518. package/dist/streams/transform.js +36 -45
  519. package/dist/strings/format.js +145 -63
  520. package/dist/strings/predicates.js +56 -34
  521. package/dist/strings/search.js +52 -42
  522. package/dist/strings/transform.js +113 -72
  523. package/dist/strings/types.js +1 -17
  524. package/dist/strings/width.js +89 -82
  525. package/dist/tables/bordered.js +81 -81
  526. package/dist/tables/padding.js +36 -46
  527. package/dist/tables/simple.js +62 -70
  528. package/dist/tables/types.js +1 -17
  529. package/dist/temporal/instant.js +72 -81
  530. package/dist/temporal/now.js +40 -31
  531. package/dist/temporal/slots.js +42 -36
  532. package/dist/temporal/system.js +36 -36
  533. package/dist/temporal/temporal.js +11 -41
  534. package/dist/themes/context.js +131 -69
  535. package/dist/themes/resolve.js +207 -132
  536. package/dist/themes/themes.js +225 -194
  537. package/dist/themes/types.js +1 -17
  538. package/dist/url/parse.js +48 -51
  539. package/dist/url/predicates.js +24 -31
  540. package/dist/url/search-params.js +133 -101
  541. package/dist/url/types.js +1 -17
  542. package/dist/versions/_internal.js +31 -33
  543. package/dist/versions/compare.js +80 -58
  544. package/dist/versions/modify.js +41 -39
  545. package/dist/versions/parse.js +88 -64
  546. package/dist/versions/range.js +58 -41
  547. package/dist/versions/types.js +1 -17
  548. package/dist/words/article.js +22 -30
  549. package/dist/words/capitalize.js +25 -34
  550. package/dist/words/pluralize.js +23 -31
  551. package/dist/words/types.js +1 -17
  552. package/package.json +42 -5
@@ -1,114 +1,187 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
- var divider_exports = {};
22
- __export(divider_exports, {
23
- divider: () => divider,
24
- dividers: () => dividers,
25
- printDivider: () => printDivider,
26
- printDottedDivider: () => printDottedDivider,
27
- printSectionBreak: () => printSectionBreak,
28
- printThickDivider: () => printThickDivider,
29
- printThinDivider: () => printThinDivider,
30
- sectionBreak: () => sectionBreak
31
- });
32
- module.exports = __toCommonJS(divider_exports);
33
- var import_default = require("../logger/default");
34
- var import_format = require("../strings/format");
35
- const logger = (0, import_default.getDefaultLogger)();
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_strings_format = require('../strings/format.js');
5
+ const require_logger_default = require('../logger/default.js');
6
+
7
+ //#region src/stdio/divider.ts
8
+ /**
9
+ * @file Console divider and separator utilities. Provides various line styles
10
+ * for visual separation in CLI output.
11
+ */
12
+ const logger = require_logger_default.getDefaultLogger();
13
+ /**
14
+ * Create a divider line with custom character and width. Returns a string of
15
+ * repeated characters for visual separation.
16
+ *
17
+ * @example
18
+ * ;```ts
19
+ * console.log(divider()) // Default: 55 '═' characters
20
+ * console.log(divider({ char: '-', width: 40 }))
21
+ * console.log(divider({ char: '·', width: 30 }))
22
+ * ```
23
+ *
24
+ * @param options - Divider formatting options.
25
+ *
26
+ * @returns Divider string
27
+ */
36
28
  function divider(options) {
37
- const opts = { __proto__: null, ...options };
38
- const { char = "\u2550", width = 55 } = opts;
39
- return (0, import_format.repeatString)(char, width);
29
+ const { char = "═", width = 55 } = {
30
+ __proto__: null,
31
+ ...options
32
+ };
33
+ return /* @__PURE__ */ require_strings_format.repeatString(char, width);
40
34
  }
35
+ /**
36
+ * Common divider style presets. Provides quick access to popular divider
37
+ * styles.
38
+ *
39
+ * @example
40
+ * ;```ts
41
+ * console.log(dividers.thick()) // ═══════...
42
+ * console.log(dividers.thin()) // ───────...
43
+ * console.log(dividers.dotted()) // ·······...
44
+ * ```
45
+ */
41
46
  const dividers = {
42
- /**
43
- * Thick double-line divider using `═`
44
- */
45
- thick: () => divider({ char: "\u2550" }),
46
- /**
47
- * Thin single-line divider using `─`
48
- */
49
- thin: () => divider({ char: "\u2500" }),
50
- /**
51
- * Double-line divider (alias for thick)
52
- */
53
- double: () => divider({ char: "\u2550" }),
54
- /**
55
- * Simple single dash divider using `-`
56
- */
57
- single: () => divider({ char: "-" }),
58
- /**
59
- * Dotted divider using `·`
60
- */
61
- dotted: () => divider({ char: "\xB7" }),
62
- /**
63
- * Dashed divider using `╌`
64
- */
65
- dashed: () => divider({ char: "\u254C" }),
66
- /**
67
- * Wave divider using `~`
68
- */
69
- wave: () => divider({ char: "~" }),
70
- /**
71
- * Star divider using `*`
72
- */
73
- star: () => divider({ char: "*" }),
74
- /**
75
- * Diamond divider using `◆`
76
- */
77
- diamond: () => divider({ char: "\u25C6" }),
78
- /**
79
- * Arrow divider using `→`
80
- */
81
- arrow: () => divider({ char: "\u2192" })
47
+ /**
48
+ * Thick double-line divider using `═`
49
+ */
50
+ thick: () => divider({ char: "" }),
51
+ /**
52
+ * Thin single-line divider using `─`
53
+ */
54
+ thin: () => divider({ char: "" }),
55
+ /**
56
+ * Double-line divider (alias for thick)
57
+ */
58
+ double: () => divider({ char: "" }),
59
+ /**
60
+ * Simple single dash divider using `-`
61
+ */
62
+ single: () => divider({ char: "-" }),
63
+ /**
64
+ * Dotted divider using `·`
65
+ */
66
+ dotted: () => divider({ char: "·" }),
67
+ /**
68
+ * Dashed divider using `╌`
69
+ */
70
+ dashed: () => divider({ char: "" }),
71
+ /**
72
+ * Wave divider using `~`
73
+ */
74
+ wave: () => divider({ char: "~" }),
75
+ /**
76
+ * Star divider using `*`
77
+ */
78
+ star: () => divider({ char: "*" }),
79
+ /**
80
+ * Diamond divider using `◆`
81
+ */
82
+ diamond: () => divider({ char: "" }),
83
+ /**
84
+ * Arrow divider using `→`
85
+ */
86
+ arrow: () => divider({ char: "" })
82
87
  };
88
+ /**
89
+ * Print a divider line directly to console.
90
+ *
91
+ * @example
92
+ * ;```ts
93
+ * printDivider() // Prints default divider
94
+ * printDivider({ char: '─', width: 60 })
95
+ * ```
96
+ *
97
+ * @param options - Divider formatting options.
98
+ */
83
99
  function printDivider(options) {
84
- logger.log(divider(options));
100
+ logger.log(divider(options));
85
101
  }
102
+ /**
103
+ * Print a dotted divider line. Convenience function using `·` character.
104
+ *
105
+ * @example
106
+ * ;```ts
107
+ * printDottedDivider()
108
+ * // ·······················································
109
+ * ```
110
+ */
86
111
  function printDottedDivider() {
87
- printDivider({ char: "\xB7" });
112
+ printDivider({ char: "·" });
88
113
  }
114
+ /**
115
+ * Print a section break with spacing directly to console.
116
+ *
117
+ * @example
118
+ * ;```ts
119
+ * console.log('Previous section')
120
+ * printSectionBreak()
121
+ * console.log('Next section')
122
+ * ```
123
+ *
124
+ * @param options - Divider formatting options.
125
+ */
89
126
  function printSectionBreak(options) {
90
- logger.log(sectionBreak(options));
127
+ logger.log(sectionBreak(options));
91
128
  }
129
+ /**
130
+ * Print a thick divider line (default style). Convenience function using `═`
131
+ * character.
132
+ *
133
+ * @example
134
+ * ;```ts
135
+ * printThickDivider()
136
+ * // ═══════════════════════════════════════════════════
137
+ * ```
138
+ */
92
139
  function printThickDivider() {
93
- printDivider({ char: "\u2550" });
140
+ printDivider({ char: "" });
94
141
  }
142
+ /**
143
+ * Print a thin divider line. Convenience function using `─` character.
144
+ *
145
+ * @example
146
+ * ;```ts
147
+ * printThinDivider()
148
+ * // ───────────────────────────────────────────────────
149
+ * ```
150
+ */
95
151
  function printThinDivider() {
96
- printDivider({ char: "\u2500" });
152
+ printDivider({ char: "" });
97
153
  }
154
+ /**
155
+ * Create a section break with blank lines before and after the divider. Useful
156
+ * for creating visual separation between major sections.
157
+ *
158
+ * @example
159
+ * ;```ts
160
+ * console.log('Previous section')
161
+ * console.log(sectionBreak())
162
+ * console.log('Next section')
163
+ * // Output:
164
+ * // Previous section
165
+ * //
166
+ * // ═══════════════════════════════════════════════════
167
+ * //
168
+ * // Next section
169
+ * ```
170
+ *
171
+ * @param options - Divider formatting options.
172
+ *
173
+ * @returns Section break string with newlines
174
+ */
98
175
  function sectionBreak(options) {
99
- const div = divider(options);
100
- return `
101
- ${div}
102
- `;
176
+ return `\n${divider(options)}\n`;
103
177
  }
104
- // Annotate the CommonJS export names for ESM import in node:
105
- 0 && (module.exports = {
106
- divider,
107
- dividers,
108
- printDivider,
109
- printDottedDivider,
110
- printSectionBreak,
111
- printThickDivider,
112
- printThinDivider,
113
- sectionBreak
114
- });
178
+
179
+ //#endregion
180
+ exports.divider = divider;
181
+ exports.dividers = dividers;
182
+ exports.printDivider = printDivider;
183
+ exports.printDottedDivider = printDottedDivider;
184
+ exports.printSectionBreak = printSectionBreak;
185
+ exports.printThickDivider = printThickDivider;
186
+ exports.printThinDivider = printThinDivider;
187
+ exports.sectionBreak = sectionBreak;
@@ -1,117 +1,123 @@
1
1
  "use strict";
2
- /* Socket Lib - Built with esbuild */
3
- "use strict";
4
- var __create = Object.create;
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __export = (target, all) => {
11
- for (var name in all)
12
- __defProp(target, name, { get: all[name], enumerable: true });
13
- };
14
- var __copyProps = (to, from, except, desc) => {
15
- if (from && typeof from === "object" || typeof from === "function") {
16
- for (let key of __getOwnPropNames(from))
17
- if (!__hasOwnProp.call(to, key) && key !== except)
18
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
- mod
29
- ));
30
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
- var footer_exports = {};
32
- __export(footer_exports, {
33
- createFooter: () => createFooter,
34
- createSummaryFooter: () => createSummaryFooter,
35
- printFooter: () => printFooter
36
- });
37
- module.exports = __toCommonJS(footer_exports);
38
- var import_yoctocolors_cjs = __toESM(require("../external/yoctocolors-cjs"));
39
- var import_format = require("../strings/format");
40
- var import_array = require("../primordials/array");
41
- var import_default = require("../logger/default");
42
- var import_symbols = require("../logger/symbols");
43
- var import_date = require("../primordials/date");
44
- const logger = (0, import_default.getDefaultLogger)();
2
+ /* Socket Lib - Built with rolldown */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../_virtual/_rolldown/runtime.js');
5
+ const require_primordials_array = require('../primordials/array.js');
6
+ const require_primordials_date = require('../primordials/date.js');
7
+ const require_strings_format = require('../strings/format.js');
8
+ const require_logger_symbols = require('../logger/symbols.js');
9
+ const require_logger_default = require('../logger/default.js');
10
+ let src_external_yoctocolors_cjs = require("../external/yoctocolors-cjs");
11
+ src_external_yoctocolors_cjs = require_runtime.__toESM(src_external_yoctocolors_cjs);
12
+
13
+ //#region src/stdio/footer.ts
14
+ /**
15
+ * @file Console footer/summary formatting utilities. Provides consistent footer
16
+ * and summary formatting for CLI applications.
17
+ */
18
+ const logger = require_logger_default.getDefaultLogger();
19
+ /**
20
+ * Create a formatted footer with optional message, timestamp, and duration.
21
+ * Useful for marking the end of CLI output or showing completion status.
22
+ *
23
+ * @example
24
+ * ;```ts
25
+ * const startTime = Date.now()
26
+ * // ... do work
27
+ * console.log(
28
+ * createFooter('Build complete', {
29
+ * width: 60,
30
+ * color: 'green',
31
+ * showDuration: true,
32
+ * startTime,
33
+ * }),
34
+ * )
35
+ * ```
36
+ *
37
+ * @param message - Optional message to display in footer.
38
+ * @param options - Footer formatting options.
39
+ *
40
+ * @returns Formatted footer string with border and optional info
41
+ */
45
42
  function createFooter(message, options) {
46
- const {
47
- borderChar = "=",
48
- color = "gray",
49
- showDuration = false,
50
- showTimestamp = false,
51
- startTime,
52
- width = 80
53
- } = { __proto__: null, ...options };
54
- const border = (0, import_format.repeatString)(borderChar, width);
55
- const lines = [];
56
- if (message) {
57
- const colorFn = color && import_yoctocolors_cjs.default[color] ? import_yoctocolors_cjs.default[color] : (s) => s;
58
- (0, import_array.ArrayPrototypePush)(lines, colorFn(message));
59
- }
60
- if (showTimestamp) {
61
- const timestamp = new import_date.DateCtor().toISOString();
62
- (0, import_array.ArrayPrototypePush)(lines, import_yoctocolors_cjs.default.gray(`Completed at: ${timestamp}`));
63
- }
64
- if (showDuration && startTime) {
65
- const duration = (0, import_date.DateNow)() - startTime;
66
- const seconds = (duration / 1e3).toFixed(2);
67
- (0, import_array.ArrayPrototypePush)(lines, import_yoctocolors_cjs.default.gray(`Duration: ${seconds}s`));
68
- }
69
- (0, import_array.ArrayPrototypePush)(lines, border);
70
- return lines.join("\n");
43
+ const { borderChar = "=", color = "gray", showDuration = false, showTimestamp = false, startTime, width = 80 } = {
44
+ __proto__: null,
45
+ ...options
46
+ };
47
+ const border = /* @__PURE__ */ require_strings_format.repeatString(borderChar, width);
48
+ const lines = [];
49
+ if (message) require_primordials_array.ArrayPrototypePush(lines, (color && src_external_yoctocolors_cjs.default[color] ? src_external_yoctocolors_cjs.default[color] : (s) => s)(message));
50
+ if (showTimestamp) {
51
+ const timestamp = new require_primordials_date.DateCtor().toISOString();
52
+ require_primordials_array.ArrayPrototypePush(lines, src_external_yoctocolors_cjs.default.gray(`Completed at: ${timestamp}`));
53
+ }
54
+ if (showDuration && startTime) {
55
+ const seconds = ((require_primordials_date.DateNow() - startTime) / 1e3).toFixed(2);
56
+ require_primordials_array.ArrayPrototypePush(lines, src_external_yoctocolors_cjs.default.gray(`Duration: ${seconds}s`));
57
+ }
58
+ require_primordials_array.ArrayPrototypePush(lines, border);
59
+ return lines.join("\n");
71
60
  }
61
+ /**
62
+ * Create a summary footer with statistics and colored status indicators.
63
+ * Automatically formats success/failure/warning counts with appropriate colors.
64
+ * Useful for test results, build summaries, or batch operation reports.
65
+ *
66
+ * @example
67
+ * ;```ts
68
+ * console.log(
69
+ * createSummaryFooter({
70
+ * total: 150,
71
+ * success: 145,
72
+ * failed: 3,
73
+ * skipped: 2,
74
+ * warnings: 5,
75
+ * }),
76
+ * )
77
+ * // Output: Total: 150 | ✓ 145 passed | ✗ 3 failed | ○ 2 skipped | ⚠ 5 warnings
78
+ * // ========================================
79
+ * ```
80
+ *
81
+ * @param stats - Statistics to display in the summary.
82
+ * @param options - Footer formatting options.
83
+ *
84
+ * @returns Formatted summary footer string with colored indicators
85
+ */
72
86
  function createSummaryFooter(stats, options) {
73
- const parts = [];
74
- if (stats.total !== void 0) {
75
- (0, import_array.ArrayPrototypePush)(parts, `Total: ${stats.total}`);
76
- }
77
- if (stats.success !== void 0) {
78
- (0, import_array.ArrayPrototypePush)(
79
- parts,
80
- `${import_symbols.LOG_SYMBOLS["success"]} ${stats.success} passed`
81
- );
82
- }
83
- if (stats.failed !== void 0 && stats.failed > 0) {
84
- (0, import_array.ArrayPrototypePush)(parts, `${import_symbols.LOG_SYMBOLS["fail"]} ${stats.failed} failed`);
85
- }
86
- if (stats.skipped !== void 0 && stats.skipped > 0) {
87
- (0, import_array.ArrayPrototypePush)(parts, `${import_symbols.LOG_SYMBOLS["skip"]} ${stats.skipped} skipped`);
88
- }
89
- if (stats.warnings !== void 0 && stats.warnings > 0) {
90
- (0, import_array.ArrayPrototypePush)(
91
- parts,
92
- `${import_symbols.LOG_SYMBOLS["warn"]} ${stats.warnings} warnings`
93
- );
94
- }
95
- if (stats.errors !== void 0 && stats.errors > 0) {
96
- (0, import_array.ArrayPrototypePush)(parts, `${import_symbols.LOG_SYMBOLS["fail"]} ${stats.errors} errors`);
97
- }
98
- const message = parts.join(" | ");
99
- return createFooter(message, {
100
- ...options,
101
- showDuration: stats.duration !== void 0,
102
- ...stats.duration !== void 0 && { startTime: stats.duration }
103
- });
87
+ const parts = [];
88
+ if (stats.total !== void 0) require_primordials_array.ArrayPrototypePush(parts, `Total: ${stats.total}`);
89
+ if (stats.success !== void 0) require_primordials_array.ArrayPrototypePush(parts, `${require_logger_symbols.LOG_SYMBOLS["success"]} ${stats.success} passed`);
90
+ if (stats.failed !== void 0 && stats.failed > 0) require_primordials_array.ArrayPrototypePush(parts, `${require_logger_symbols.LOG_SYMBOLS["fail"]} ${stats.failed} failed`);
91
+ if (stats.skipped !== void 0 && stats.skipped > 0) require_primordials_array.ArrayPrototypePush(parts, `${require_logger_symbols.LOG_SYMBOLS["skip"]} ${stats.skipped} skipped`);
92
+ if (stats.warnings !== void 0 && stats.warnings > 0) require_primordials_array.ArrayPrototypePush(parts, `${require_logger_symbols.LOG_SYMBOLS["warn"]} ${stats.warnings} warnings`);
93
+ if (stats.errors !== void 0 && stats.errors > 0) require_primordials_array.ArrayPrototypePush(parts, `${require_logger_symbols.LOG_SYMBOLS["fail"]} ${stats.errors} errors`);
94
+ return createFooter(parts.join(" | "), {
95
+ ...options,
96
+ showDuration: stats.duration !== void 0,
97
+ ...stats.duration !== void 0 && { startTime: stats.duration }
98
+ });
104
99
  }
100
+ /**
101
+ * Print a footer with optional success message. Uses `─` border character for a
102
+ * lighter appearance. Fixed width of 55 characters to match `printHeader()`.
103
+ *
104
+ * @example
105
+ * ;```ts
106
+ * printFooter('Analysis complete')
107
+ * // Output:
108
+ * // ───────────────────────────────────────────────────
109
+ * // Analysis complete (in green)
110
+ * ```
111
+ *
112
+ * @param message - Optional message to display (shown in green)
113
+ */
105
114
  function printFooter(message) {
106
- const border = (0, import_format.repeatString)("\u2500", 55);
107
- logger.log(border);
108
- if (message) {
109
- logger.log(import_yoctocolors_cjs.default.green(message));
110
- }
115
+ const border = /* @__PURE__ */ require_strings_format.repeatString("", 55);
116
+ logger.log(border);
117
+ if (message) logger.log(src_external_yoctocolors_cjs.default.green(message));
111
118
  }
112
- // Annotate the CommonJS export names for ESM import in node:
113
- 0 && (module.exports = {
114
- createFooter,
115
- createSummaryFooter,
116
- printFooter
117
- });
119
+
120
+ //#endregion
121
+ exports.createFooter = createFooter;
122
+ exports.createSummaryFooter = createSummaryFooter;
123
+ exports.printFooter = printFooter;