@socketsecurity/lib 0.0.0 → 1.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 (555) hide show
  1. package/CHANGELOG.md +276 -0
  2. package/LICENSE +21 -0
  3. package/README.md +80 -2
  4. package/data/extensions.json +28 -0
  5. package/dist/abort.d.ts +11 -0
  6. package/dist/abort.js +62 -0
  7. package/dist/abort.js.map +7 -0
  8. package/dist/agent.d.ts +102 -0
  9. package/dist/agent.js +288 -0
  10. package/dist/agent.js.map +7 -0
  11. package/dist/ansi.d.ts +29 -0
  12. package/dist/ansi.js +62 -0
  13. package/dist/ansi.js.map +7 -0
  14. package/dist/argv/flags.d.ts +199 -0
  15. package/dist/argv/flags.js +284 -0
  16. package/dist/argv/flags.js.map +7 -0
  17. package/dist/argv/parse.d.ts +76 -0
  18. package/dist/argv/parse.js +173 -0
  19. package/dist/argv/parse.js.map +7 -0
  20. package/dist/arrays.d.ts +29 -0
  21. package/dist/arrays.js +87 -0
  22. package/dist/arrays.js.map +7 -0
  23. package/dist/bin.d.ts +50 -0
  24. package/dist/bin.js +405 -0
  25. package/dist/bin.js.map +7 -0
  26. package/dist/cacache.d.ts +86 -0
  27. package/dist/cacache.js +140 -0
  28. package/dist/cacache.js.map +7 -0
  29. package/dist/cache-with-ttl.d.ts +133 -0
  30. package/dist/cache-with-ttl.js +225 -0
  31. package/dist/cache-with-ttl.js.map +7 -0
  32. package/dist/constants/agents.d.ts +37 -0
  33. package/dist/constants/agents.js +128 -0
  34. package/dist/constants/agents.js.map +7 -0
  35. package/dist/constants/core.d.ts +22 -0
  36. package/dist/constants/core.js +59 -0
  37. package/dist/constants/core.js.map +7 -0
  38. package/dist/constants/encoding.d.ts +13 -0
  39. package/dist/constants/encoding.js +50 -0
  40. package/dist/constants/encoding.js.map +7 -0
  41. package/dist/constants/github.d.ts +7 -0
  42. package/dist/constants/github.js +32 -0
  43. package/dist/constants/github.js.map +7 -0
  44. package/dist/constants/licenses.d.ts +8 -0
  45. package/dist/constants/licenses.js +68 -0
  46. package/dist/constants/licenses.js.map +7 -0
  47. package/dist/constants/node.d.ts +29 -0
  48. package/dist/constants/node.js +173 -0
  49. package/dist/constants/node.js.map +7 -0
  50. package/dist/constants/packages.d.ts +19 -0
  51. package/dist/constants/packages.js +130 -0
  52. package/dist/constants/packages.js.map +7 -0
  53. package/dist/constants/paths.d.ts +51 -0
  54. package/dist/constants/paths.js +152 -0
  55. package/dist/constants/paths.js.map +7 -0
  56. package/dist/constants/platform.d.ts +6 -0
  57. package/dist/constants/platform.js +43 -0
  58. package/dist/constants/platform.js.map +7 -0
  59. package/dist/constants/process.d.ts +7 -0
  60. package/dist/constants/process.js +54 -0
  61. package/dist/constants/process.js.map +7 -0
  62. package/dist/constants/socket.d.ts +29 -0
  63. package/dist/constants/socket.js +83 -0
  64. package/dist/constants/socket.js.map +7 -0
  65. package/dist/constants/testing.d.ts +9 -0
  66. package/dist/constants/testing.js +38 -0
  67. package/dist/constants/testing.js.map +7 -0
  68. package/dist/constants/time.d.ts +11 -0
  69. package/dist/constants/time.js +41 -0
  70. package/dist/constants/time.js.map +7 -0
  71. package/dist/constants/typescript.d.ts +6 -0
  72. package/dist/constants/typescript.js +56 -0
  73. package/dist/constants/typescript.js.map +7 -0
  74. package/dist/cover/code.d.ts +8 -0
  75. package/dist/cover/code.js +137 -0
  76. package/dist/cover/code.js.map +7 -0
  77. package/dist/cover/formatters.d.ts +9 -0
  78. package/dist/cover/formatters.js +103 -0
  79. package/dist/cover/formatters.js.map +7 -0
  80. package/dist/cover/type.d.ts +7 -0
  81. package/dist/cover/type.js +65 -0
  82. package/dist/cover/type.js.map +7 -0
  83. package/dist/cover/types.d.ts +70 -0
  84. package/dist/cover/types.js +17 -0
  85. package/dist/cover/types.js.map +7 -0
  86. package/dist/debug.d.ts +99 -0
  87. package/dist/debug.js +345 -0
  88. package/dist/debug.js.map +7 -0
  89. package/dist/dlx-binary.d.ts +49 -0
  90. package/dist/dlx-binary.js +261 -0
  91. package/dist/dlx-binary.js.map +7 -0
  92. package/dist/dlx.d.ts +64 -0
  93. package/dist/dlx.js +168 -0
  94. package/dist/dlx.js.map +7 -0
  95. package/dist/download-lock.d.ts +48 -0
  96. package/dist/download-lock.js +139 -0
  97. package/dist/download-lock.js.map +7 -0
  98. package/dist/effects/pulse-frames.d.ts +23 -0
  99. package/dist/effects/pulse-frames.js +66 -0
  100. package/dist/effects/pulse-frames.js.map +7 -0
  101. package/dist/effects/text-shimmer.d.ts +37 -0
  102. package/dist/effects/text-shimmer.js +175 -0
  103. package/dist/effects/text-shimmer.js.map +7 -0
  104. package/dist/effects/types.d.ts +41 -0
  105. package/dist/effects/types.js +17 -0
  106. package/dist/effects/types.js.map +7 -0
  107. package/dist/effects/ultra.d.ts +16 -0
  108. package/dist/effects/ultra.js +63 -0
  109. package/dist/effects/ultra.js.map +7 -0
  110. package/dist/env/appdata.d.ts +1 -0
  111. package/dist/env/appdata.js +30 -0
  112. package/dist/env/appdata.js.map +7 -0
  113. package/dist/env/ci.d.ts +1 -0
  114. package/dist/env/ci.js +31 -0
  115. package/dist/env/ci.js.map +7 -0
  116. package/dist/env/comspec.d.ts +1 -0
  117. package/dist/env/comspec.js +30 -0
  118. package/dist/env/comspec.js.map +7 -0
  119. package/dist/env/debug.d.ts +1 -0
  120. package/dist/env/debug.js +30 -0
  121. package/dist/env/debug.js.map +7 -0
  122. package/dist/env/getters.d.ts +40 -0
  123. package/dist/env/getters.js +283 -0
  124. package/dist/env/getters.js.map +7 -0
  125. package/dist/env/github-api-url.d.ts +1 -0
  126. package/dist/env/github-api-url.js +30 -0
  127. package/dist/env/github-api-url.js.map +7 -0
  128. package/dist/env/github-base-ref.d.ts +1 -0
  129. package/dist/env/github-base-ref.js +30 -0
  130. package/dist/env/github-base-ref.js.map +7 -0
  131. package/dist/env/github-ref-name.d.ts +1 -0
  132. package/dist/env/github-ref-name.js +30 -0
  133. package/dist/env/github-ref-name.js.map +7 -0
  134. package/dist/env/github-ref-type.d.ts +1 -0
  135. package/dist/env/github-ref-type.js +30 -0
  136. package/dist/env/github-ref-type.js.map +7 -0
  137. package/dist/env/github-repository.d.ts +1 -0
  138. package/dist/env/github-repository.js +30 -0
  139. package/dist/env/github-repository.js.map +7 -0
  140. package/dist/env/github-server-url.d.ts +1 -0
  141. package/dist/env/github-server-url.js +30 -0
  142. package/dist/env/github-server-url.js.map +7 -0
  143. package/dist/env/github-token.d.ts +1 -0
  144. package/dist/env/github-token.js +30 -0
  145. package/dist/env/github-token.js.map +7 -0
  146. package/dist/env/helpers.d.ts +6 -0
  147. package/dist/env/helpers.js +49 -0
  148. package/dist/env/helpers.js.map +7 -0
  149. package/dist/env/home.d.ts +1 -0
  150. package/dist/env/home.js +30 -0
  151. package/dist/env/home.js.map +7 -0
  152. package/dist/env/jest-worker-id.d.ts +1 -0
  153. package/dist/env/jest-worker-id.js +30 -0
  154. package/dist/env/jest-worker-id.js.map +7 -0
  155. package/dist/env/lang.d.ts +1 -0
  156. package/dist/env/lang.js +30 -0
  157. package/dist/env/lang.js.map +7 -0
  158. package/dist/env/lc-all.d.ts +1 -0
  159. package/dist/env/lc-all.js +30 -0
  160. package/dist/env/lc-all.js.map +7 -0
  161. package/dist/env/lc-messages.d.ts +1 -0
  162. package/dist/env/lc-messages.js +30 -0
  163. package/dist/env/lc-messages.js.map +7 -0
  164. package/dist/env/localappdata.d.ts +1 -0
  165. package/dist/env/localappdata.js +30 -0
  166. package/dist/env/localappdata.js.map +7 -0
  167. package/dist/env/node-auth-token.d.ts +1 -0
  168. package/dist/env/node-auth-token.js +30 -0
  169. package/dist/env/node-auth-token.js.map +7 -0
  170. package/dist/env/node-env.d.ts +1 -0
  171. package/dist/env/node-env.js +30 -0
  172. package/dist/env/node-env.js.map +7 -0
  173. package/dist/env/npm-config-registry.d.ts +1 -0
  174. package/dist/env/npm-config-registry.js +30 -0
  175. package/dist/env/npm-config-registry.js.map +7 -0
  176. package/dist/env/npm-config-user-agent.d.ts +1 -0
  177. package/dist/env/npm-config-user-agent.js +30 -0
  178. package/dist/env/npm-config-user-agent.js.map +7 -0
  179. package/dist/env/npm-lifecycle-event.d.ts +1 -0
  180. package/dist/env/npm-lifecycle-event.js +30 -0
  181. package/dist/env/npm-lifecycle-event.js.map +7 -0
  182. package/dist/env/npm-registry.d.ts +1 -0
  183. package/dist/env/npm-registry.js +30 -0
  184. package/dist/env/npm-registry.js.map +7 -0
  185. package/dist/env/npm-token.d.ts +1 -0
  186. package/dist/env/npm-token.js +30 -0
  187. package/dist/env/npm-token.js.map +7 -0
  188. package/dist/env/path.d.ts +1 -0
  189. package/dist/env/path.js +30 -0
  190. package/dist/env/path.js.map +7 -0
  191. package/dist/env/pre-commit.d.ts +1 -0
  192. package/dist/env/pre-commit.js +31 -0
  193. package/dist/env/pre-commit.js.map +7 -0
  194. package/dist/env/shell.d.ts +1 -0
  195. package/dist/env/shell.js +30 -0
  196. package/dist/env/shell.js.map +7 -0
  197. package/dist/env/socket-accept-risks.d.ts +1 -0
  198. package/dist/env/socket-accept-risks.js +31 -0
  199. package/dist/env/socket-accept-risks.js.map +7 -0
  200. package/dist/env/socket-api-base-url.d.ts +1 -0
  201. package/dist/env/socket-api-base-url.js +30 -0
  202. package/dist/env/socket-api-base-url.js.map +7 -0
  203. package/dist/env/socket-api-proxy.d.ts +1 -0
  204. package/dist/env/socket-api-proxy.js +30 -0
  205. package/dist/env/socket-api-proxy.js.map +7 -0
  206. package/dist/env/socket-api-timeout.d.ts +1 -0
  207. package/dist/env/socket-api-timeout.js +31 -0
  208. package/dist/env/socket-api-timeout.js.map +7 -0
  209. package/dist/env/socket-api-token.d.ts +1 -0
  210. package/dist/env/socket-api-token.js +30 -0
  211. package/dist/env/socket-api-token.js.map +7 -0
  212. package/dist/env/socket-cacache-dir.d.ts +1 -0
  213. package/dist/env/socket-cacache-dir.js +30 -0
  214. package/dist/env/socket-cacache-dir.js.map +7 -0
  215. package/dist/env/socket-cli-accept-risks.d.ts +1 -0
  216. package/dist/env/socket-cli-accept-risks.js +33 -0
  217. package/dist/env/socket-cli-accept-risks.js.map +7 -0
  218. package/dist/env/socket-cli-api-base-url.d.ts +1 -0
  219. package/dist/env/socket-cli-api-base-url.js +30 -0
  220. package/dist/env/socket-cli-api-base-url.js.map +7 -0
  221. package/dist/env/socket-cli-api-proxy.d.ts +1 -0
  222. package/dist/env/socket-cli-api-proxy.js +30 -0
  223. package/dist/env/socket-cli-api-proxy.js.map +7 -0
  224. package/dist/env/socket-cli-api-timeout.d.ts +1 -0
  225. package/dist/env/socket-cli-api-timeout.js +31 -0
  226. package/dist/env/socket-cli-api-timeout.js.map +7 -0
  227. package/dist/env/socket-cli-api-token.d.ts +1 -0
  228. package/dist/env/socket-cli-api-token.js +30 -0
  229. package/dist/env/socket-cli-api-token.js.map +7 -0
  230. package/dist/env/socket-cli-config.d.ts +1 -0
  231. package/dist/env/socket-cli-config.js +30 -0
  232. package/dist/env/socket-cli-config.js.map +7 -0
  233. package/dist/env/socket-cli-fix.d.ts +1 -0
  234. package/dist/env/socket-cli-fix.js +30 -0
  235. package/dist/env/socket-cli-fix.js.map +7 -0
  236. package/dist/env/socket-cli-no-api-token.d.ts +1 -0
  237. package/dist/env/socket-cli-no-api-token.js +33 -0
  238. package/dist/env/socket-cli-no-api-token.js.map +7 -0
  239. package/dist/env/socket-cli-optimize.d.ts +1 -0
  240. package/dist/env/socket-cli-optimize.js +31 -0
  241. package/dist/env/socket-cli-optimize.js.map +7 -0
  242. package/dist/env/socket-cli-org-slug.d.ts +1 -0
  243. package/dist/env/socket-cli-org-slug.js +30 -0
  244. package/dist/env/socket-cli-org-slug.js.map +7 -0
  245. package/dist/env/socket-cli-shadow-accept-risks.d.ts +1 -0
  246. package/dist/env/socket-cli-shadow-accept-risks.js +33 -0
  247. package/dist/env/socket-cli-shadow-accept-risks.js.map +7 -0
  248. package/dist/env/socket-cli-shadow-api-token.d.ts +1 -0
  249. package/dist/env/socket-cli-shadow-api-token.js +30 -0
  250. package/dist/env/socket-cli-shadow-api-token.js.map +7 -0
  251. package/dist/env/socket-cli-shadow-bin.d.ts +1 -0
  252. package/dist/env/socket-cli-shadow-bin.js +30 -0
  253. package/dist/env/socket-cli-shadow-bin.js.map +7 -0
  254. package/dist/env/socket-cli-shadow-progress.d.ts +1 -0
  255. package/dist/env/socket-cli-shadow-progress.js +33 -0
  256. package/dist/env/socket-cli-shadow-progress.js.map +7 -0
  257. package/dist/env/socket-cli-shadow-silent.d.ts +1 -0
  258. package/dist/env/socket-cli-shadow-silent.js +33 -0
  259. package/dist/env/socket-cli-shadow-silent.js.map +7 -0
  260. package/dist/env/socket-cli-view-all-risks.d.ts +1 -0
  261. package/dist/env/socket-cli-view-all-risks.js +33 -0
  262. package/dist/env/socket-cli-view-all-risks.js.map +7 -0
  263. package/dist/env/socket-config.d.ts +1 -0
  264. package/dist/env/socket-config.js +30 -0
  265. package/dist/env/socket-config.js.map +7 -0
  266. package/dist/env/socket-debug.d.ts +1 -0
  267. package/dist/env/socket-debug.js +30 -0
  268. package/dist/env/socket-debug.js.map +7 -0
  269. package/dist/env/socket-home.d.ts +1 -0
  270. package/dist/env/socket-home.js +30 -0
  271. package/dist/env/socket-home.js.map +7 -0
  272. package/dist/env/socket-no-api-token.d.ts +1 -0
  273. package/dist/env/socket-no-api-token.js +31 -0
  274. package/dist/env/socket-no-api-token.js.map +7 -0
  275. package/dist/env/socket-npm-registry.d.ts +1 -0
  276. package/dist/env/socket-npm-registry.js +30 -0
  277. package/dist/env/socket-npm-registry.js.map +7 -0
  278. package/dist/env/socket-org-slug.d.ts +1 -0
  279. package/dist/env/socket-org-slug.js +30 -0
  280. package/dist/env/socket-org-slug.js.map +7 -0
  281. package/dist/env/socket-registry-url.d.ts +1 -0
  282. package/dist/env/socket-registry-url.js +30 -0
  283. package/dist/env/socket-registry-url.js.map +7 -0
  284. package/dist/env/socket-view-all-risks.d.ts +1 -0
  285. package/dist/env/socket-view-all-risks.js +31 -0
  286. package/dist/env/socket-view-all-risks.js.map +7 -0
  287. package/dist/env/temp.d.ts +1 -0
  288. package/dist/env/temp.js +30 -0
  289. package/dist/env/temp.js.map +7 -0
  290. package/dist/env/term.d.ts +1 -0
  291. package/dist/env/term.js +30 -0
  292. package/dist/env/term.js.map +7 -0
  293. package/dist/env/tmp.d.ts +1 -0
  294. package/dist/env/tmp.js +30 -0
  295. package/dist/env/tmp.js.map +7 -0
  296. package/dist/env/tmpdir.d.ts +1 -0
  297. package/dist/env/tmpdir.js +30 -0
  298. package/dist/env/tmpdir.js.map +7 -0
  299. package/dist/env/userprofile.d.ts +1 -0
  300. package/dist/env/userprofile.js +30 -0
  301. package/dist/env/userprofile.js.map +7 -0
  302. package/dist/env/vitest.d.ts +1 -0
  303. package/dist/env/vitest.js +31 -0
  304. package/dist/env/vitest.js.map +7 -0
  305. package/dist/env/xdg-cache-home.d.ts +1 -0
  306. package/dist/env/xdg-cache-home.js +30 -0
  307. package/dist/env/xdg-cache-home.js.map +7 -0
  308. package/dist/env/xdg-config-home.d.ts +1 -0
  309. package/dist/env/xdg-config-home.js +30 -0
  310. package/dist/env/xdg-config-home.js.map +7 -0
  311. package/dist/env/xdg-data-home.d.ts +1 -0
  312. package/dist/env/xdg-data-home.js +30 -0
  313. package/dist/env/xdg-data-home.js.map +7 -0
  314. package/dist/env.d.ts +15 -0
  315. package/dist/env.js +63 -0
  316. package/dist/env.js.map +7 -0
  317. package/dist/external/@inquirer/checkbox.js +4 -0
  318. package/dist/external/@inquirer/confirm.js +22 -0
  319. package/dist/external/@inquirer/core.js +4 -0
  320. package/dist/external/@inquirer/input.js +1 -0
  321. package/dist/external/@inquirer/password.js +1 -0
  322. package/dist/external/@inquirer/prompts.js +4 -0
  323. package/dist/external/@inquirer/search.js +1 -0
  324. package/dist/external/@inquirer/select.js +25 -0
  325. package/dist/external/@npmcli/package-json/index.js +1 -0
  326. package/dist/external/@npmcli/package-json/lib/read-package.js +1 -0
  327. package/dist/external/@npmcli/package-json/lib/sort.js +1 -0
  328. package/dist/external/@npmcli/promise-spawn.js +5 -0
  329. package/dist/external/@socketregistry/is-unicode-supported.d.ts +2 -0
  330. package/dist/external/@socketregistry/is-unicode-supported.js +5 -0
  331. package/dist/external/@socketregistry/packageurl-js.js +34 -0
  332. package/dist/external/@socketregistry/yocto-spinner.d.ts +12 -0
  333. package/dist/external/@socketregistry/yocto-spinner.js +8 -0
  334. package/dist/external/@yarnpkg/extensions.d.ts +5 -0
  335. package/dist/external/@yarnpkg/extensions.js +5 -0
  336. package/dist/external/cacache.d.ts +93 -0
  337. package/dist/external/cacache.js +32 -0
  338. package/dist/external/debug.d.ts +25 -0
  339. package/dist/external/debug.js +9 -0
  340. package/dist/external/del.d.ts +1 -0
  341. package/dist/external/del.js +54 -0
  342. package/dist/external/fast-glob.js +54 -0
  343. package/dist/external/fast-sort.d.ts +4 -0
  344. package/dist/external/fast-sort.js +5 -0
  345. package/dist/external/get-east-asian-width.d.ts +5 -0
  346. package/dist/external/get-east-asian-width.js +5 -0
  347. package/dist/external/libnpmpack.d.ts +3 -0
  348. package/dist/external/libnpmpack.js +225 -0
  349. package/dist/external/make-fetch-happen.d.ts +16 -0
  350. package/dist/external/make-fetch-happen.js +69 -0
  351. package/dist/external/normalize-package-data.js +6 -0
  352. package/dist/external/npm-package-arg.js +6 -0
  353. package/dist/external/pacote.d.ts +19 -0
  354. package/dist/external/pacote.js +105 -0
  355. package/dist/external/picomatch.js +5 -0
  356. package/dist/external/semver.d.ts +3 -0
  357. package/dist/external/semver.js +5 -0
  358. package/dist/external/spdx-correct.js +5 -0
  359. package/dist/external/spdx-expression-parse.js +5 -0
  360. package/dist/external/streaming-iterables.js +5 -0
  361. package/dist/external/validate-npm-package-name.js +5 -0
  362. package/dist/external/which.js +5 -0
  363. package/dist/external/yargs-parser.d.ts +3 -0
  364. package/dist/external/yargs-parser.js +26 -0
  365. package/dist/external/yoctocolors-cjs.d.ts +38 -0
  366. package/dist/external/yoctocolors-cjs.js +5 -0
  367. package/dist/external/zod.d.ts +1 -0
  368. package/dist/external/zod.js +27 -0
  369. package/dist/fs.d.ts +184 -0
  370. package/dist/fs.js +610 -0
  371. package/dist/fs.js.map +7 -0
  372. package/dist/functions.d.ts +27 -0
  373. package/dist/functions.js +70 -0
  374. package/dist/functions.js.map +7 -0
  375. package/dist/git.d.ts +93 -0
  376. package/dist/git.js +321 -0
  377. package/dist/git.js.map +7 -0
  378. package/dist/github.d.ts +121 -0
  379. package/dist/github.js +203 -0
  380. package/dist/github.js.map +7 -0
  381. package/dist/globs.d.ts +46 -0
  382. package/dist/globs.js +154 -0
  383. package/dist/globs.js.map +7 -0
  384. package/dist/http-request.d.ts +53 -0
  385. package/dist/http-request.js +315 -0
  386. package/dist/http-request.js.map +7 -0
  387. package/dist/index.d.ts +13 -0
  388. package/dist/index.js +64 -0
  389. package/dist/index.js.map +7 -0
  390. package/dist/ipc.d.ts +366 -0
  391. package/dist/ipc.js +234 -0
  392. package/dist/ipc.js.map +7 -0
  393. package/dist/json.d.ts +23 -0
  394. package/dist/json.js +75 -0
  395. package/dist/json.js.map +7 -0
  396. package/dist/logger.d.ts +183 -0
  397. package/dist/logger.js +653 -0
  398. package/dist/logger.js.map +7 -0
  399. package/dist/maintained-node-versions.d.ts +7 -0
  400. package/dist/maintained-node-versions.js +37 -0
  401. package/dist/maintained-node-versions.js.map +7 -0
  402. package/dist/memoization.d.ts +142 -0
  403. package/dist/memoization.js +212 -0
  404. package/dist/memoization.js.map +7 -0
  405. package/dist/objects.d.ts +146 -0
  406. package/dist/objects.js +321 -0
  407. package/dist/objects.js.map +7 -0
  408. package/dist/packages/editable.d.ts +107 -0
  409. package/dist/packages/editable.js +358 -0
  410. package/dist/packages/editable.js.map +7 -0
  411. package/dist/packages/exports.d.ts +30 -0
  412. package/dist/packages/exports.js +164 -0
  413. package/dist/packages/exports.js.map +7 -0
  414. package/dist/packages/isolation.d.ts +22 -0
  415. package/dist/packages/isolation.js +197 -0
  416. package/dist/packages/isolation.js.map +7 -0
  417. package/dist/packages/licenses.d.ts +68 -0
  418. package/dist/packages/licenses.js +216 -0
  419. package/dist/packages/licenses.js.map +7 -0
  420. package/dist/packages/manifest.d.ts +16 -0
  421. package/dist/packages/manifest.js +192 -0
  422. package/dist/packages/manifest.js.map +7 -0
  423. package/dist/packages/normalize.d.ts +21 -0
  424. package/dist/packages/normalize.js +122 -0
  425. package/dist/packages/normalize.js.map +7 -0
  426. package/dist/packages/operations.d.ts +54 -0
  427. package/dist/packages/operations.js +306 -0
  428. package/dist/packages/operations.js.map +7 -0
  429. package/dist/packages/paths.d.ts +10 -0
  430. package/dist/packages/paths.js +55 -0
  431. package/dist/packages/paths.js.map +7 -0
  432. package/dist/packages/provenance.d.ts +10 -0
  433. package/dist/packages/provenance.js +180 -0
  434. package/dist/packages/provenance.js.map +7 -0
  435. package/dist/packages/registry.d.ts +8 -0
  436. package/dist/packages/registry.js +30 -0
  437. package/dist/packages/registry.js.map +7 -0
  438. package/dist/packages/specs.d.ts +28 -0
  439. package/dist/packages/specs.js +85 -0
  440. package/dist/packages/specs.js.map +7 -0
  441. package/dist/packages/validation.d.ts +15 -0
  442. package/dist/packages/validation.js +53 -0
  443. package/dist/packages/validation.js.map +7 -0
  444. package/dist/packages.d.ts +154 -0
  445. package/dist/packages.js +131 -0
  446. package/dist/packages.js.map +7 -0
  447. package/dist/path.d.ts +74 -0
  448. package/dist/path.js +442 -0
  449. package/dist/path.js.map +7 -0
  450. package/dist/paths.d.ts +42 -0
  451. package/dist/paths.js +145 -0
  452. package/dist/paths.js.map +7 -0
  453. package/dist/performance.d.ts +178 -0
  454. package/dist/performance.js +219 -0
  455. package/dist/performance.js.map +7 -0
  456. package/dist/promise-queue.d.ts +35 -0
  457. package/dist/promise-queue.js +111 -0
  458. package/dist/promise-queue.js.map +7 -0
  459. package/dist/promises.d.ts +67 -0
  460. package/dist/promises.js +268 -0
  461. package/dist/promises.js.map +7 -0
  462. package/dist/prompts.d.ts +27 -0
  463. package/dist/prompts.js +60 -0
  464. package/dist/prompts.js.map +7 -0
  465. package/dist/regexps.d.ts +13 -0
  466. package/dist/regexps.js +32 -0
  467. package/dist/regexps.js.map +7 -0
  468. package/dist/sea.d.ts +10 -0
  469. package/dist/sea.js +46 -0
  470. package/dist/sea.js.map +7 -0
  471. package/dist/shadow.d.ts +17 -0
  472. package/dist/shadow.js +60 -0
  473. package/dist/shadow.js.map +7 -0
  474. package/dist/signal-exit.d.ts +23 -0
  475. package/dist/signal-exit.js +250 -0
  476. package/dist/signal-exit.js.map +7 -0
  477. package/dist/sorts.d.ts +28 -0
  478. package/dist/sorts.js +96 -0
  479. package/dist/sorts.js.map +7 -0
  480. package/dist/spawn.d.ts +207 -0
  481. package/dist/spawn.js +201 -0
  482. package/dist/spawn.js.map +7 -0
  483. package/dist/spinner.d.ts +208 -0
  484. package/dist/spinner.js +729 -0
  485. package/dist/spinner.js.map +7 -0
  486. package/dist/ssri.d.ts +95 -0
  487. package/dist/ssri.js +73 -0
  488. package/dist/ssri.js.map +7 -0
  489. package/dist/stdio/clear.d.ts +40 -0
  490. package/dist/stdio/clear.js +84 -0
  491. package/dist/stdio/clear.js.map +7 -0
  492. package/dist/stdio/divider.d.ts +48 -0
  493. package/dist/stdio/divider.js +81 -0
  494. package/dist/stdio/divider.js.map +7 -0
  495. package/dist/stdio/footer.d.ts +25 -0
  496. package/dist/stdio/footer.js +96 -0
  497. package/dist/stdio/footer.js.map +7 -0
  498. package/dist/stdio/header.d.ts +25 -0
  499. package/dist/stdio/header.js +102 -0
  500. package/dist/stdio/header.js.map +7 -0
  501. package/dist/stdio/mask.d.ts +72 -0
  502. package/dist/stdio/mask.js +187 -0
  503. package/dist/stdio/mask.js.map +7 -0
  504. package/dist/stdio/progress.d.ts +51 -0
  505. package/dist/stdio/progress.js +171 -0
  506. package/dist/stdio/progress.js.map +7 -0
  507. package/dist/stdio/prompts.d.ts +46 -0
  508. package/dist/stdio/prompts.js +90 -0
  509. package/dist/stdio/prompts.js.map +7 -0
  510. package/dist/stdio/stderr.d.ts +48 -0
  511. package/dist/stdio/stderr.js +91 -0
  512. package/dist/stdio/stderr.js.map +7 -0
  513. package/dist/stdio/stdout.d.ts +48 -0
  514. package/dist/stdio/stdout.js +105 -0
  515. package/dist/stdio/stdout.js.map +7 -0
  516. package/dist/streams.d.ts +20 -0
  517. package/dist/streams.js +80 -0
  518. package/dist/streams.js.map +7 -0
  519. package/dist/strings.d.ts +139 -0
  520. package/dist/strings.js +253 -0
  521. package/dist/strings.js.map +7 -0
  522. package/dist/suppress-warnings.d.ts +66 -0
  523. package/dist/suppress-warnings.js +100 -0
  524. package/dist/suppress-warnings.js.map +7 -0
  525. package/dist/tables.d.ts +69 -0
  526. package/dist/tables.js +130 -0
  527. package/dist/tables.js.map +7 -0
  528. package/dist/temporary-executor.d.ts +9 -0
  529. package/dist/temporary-executor.js +54 -0
  530. package/dist/temporary-executor.js.map +7 -0
  531. package/dist/types.d.ts +65 -0
  532. package/dist/types.js +74 -0
  533. package/dist/types.js.map +7 -0
  534. package/dist/url.d.ts +60 -0
  535. package/dist/url.js +144 -0
  536. package/dist/url.js.map +7 -0
  537. package/dist/utils/get-ipc.d.ts +16 -0
  538. package/dist/utils/get-ipc.js +60 -0
  539. package/dist/utils/get-ipc.js.map +7 -0
  540. package/dist/validation/json-parser.d.ts +10 -0
  541. package/dist/validation/json-parser.js +129 -0
  542. package/dist/validation/json-parser.js.map +7 -0
  543. package/dist/validation/types.d.ts +40 -0
  544. package/dist/validation/types.js +17 -0
  545. package/dist/validation/types.js.map +7 -0
  546. package/dist/versions.d.ts +87 -0
  547. package/dist/versions.js +155 -0
  548. package/dist/versions.js.map +7 -0
  549. package/dist/words.d.ts +22 -0
  550. package/dist/words.js +52 -0
  551. package/dist/words.js.map +7 -0
  552. package/dist/zod.d.ts +5 -0
  553. package/dist/zod.js +29 -0
  554. package/dist/zod.js.map +7 -0
  555. package/package.json +856 -7
@@ -0,0 +1,171 @@
1
+ /* Socket Lib - Built with esbuild */
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var progress_exports = {};
30
+ __export(progress_exports, {
31
+ ProgressBar: () => ProgressBar,
32
+ createProgressIndicator: () => createProgressIndicator
33
+ });
34
+ module.exports = __toCommonJS(progress_exports);
35
+ var import_yoctocolors_cjs = __toESM(require("../external/yoctocolors-cjs"));
36
+ var import_strings = require("../strings");
37
+ class ProgressBar {
38
+ current = 0;
39
+ total;
40
+ startTime;
41
+ lastRender = 0;
42
+ stream;
43
+ options;
44
+ terminated = false;
45
+ lastDrawnWidth = 0;
46
+ constructor(total, options) {
47
+ this.total = total;
48
+ this.startTime = Date.now();
49
+ this.stream = options?.stream || process.stderr;
50
+ this.options = {
51
+ width: 40,
52
+ format: ":bar :percent :current/:total",
53
+ complete: "\u2588",
54
+ incomplete: "\u2591",
55
+ head: "",
56
+ clear: false,
57
+ // ~60fps.
58
+ renderThrottle: 16,
59
+ stream: this.stream,
60
+ color: "cyan",
61
+ ...options
62
+ };
63
+ }
64
+ /**
65
+ * Update progress and redraw bar.
66
+ */
67
+ update(current, tokens) {
68
+ if (this.terminated) {
69
+ return;
70
+ }
71
+ this.current = Math.min(current, this.total);
72
+ const now = Date.now();
73
+ if (now - this.lastRender < this.options.renderThrottle && this.current < this.total) {
74
+ return;
75
+ }
76
+ this.lastRender = now;
77
+ this.render(tokens);
78
+ if (this.current >= this.total) {
79
+ this.terminate();
80
+ }
81
+ }
82
+ /**
83
+ * Increment progress by amount.
84
+ */
85
+ tick(amount = 1, tokens) {
86
+ this.update(this.current + amount, tokens);
87
+ }
88
+ /**
89
+ * Render the progress bar.
90
+ */
91
+ render(tokens) {
92
+ const colorFn = import_yoctocolors_cjs.default[this.options.color] || ((s) => s);
93
+ const percent = Math.floor(this.current / this.total * 100);
94
+ const elapsed = Date.now() - this.startTime;
95
+ const eta = this.current === 0 ? 0 : elapsed / this.current * (this.total - this.current);
96
+ const availableWidth = this.options.width;
97
+ const filledWidth = Math.floor(this.current / this.total * availableWidth);
98
+ const emptyWidth = availableWidth - filledWidth;
99
+ const filled = (0, import_strings.repeatString)(this.options.complete, filledWidth);
100
+ const empty = (0, import_strings.repeatString)(this.options.incomplete, emptyWidth);
101
+ const bar = colorFn(filled) + empty;
102
+ let output = this.options.format;
103
+ output = output.replace(":bar", bar);
104
+ output = output.replace(":percent", `${percent}%`);
105
+ output = output.replace(":current", String(this.current));
106
+ output = output.replace(":total", String(this.total));
107
+ output = output.replace(":elapsed", this.formatTime(elapsed));
108
+ output = output.replace(":eta", this.formatTime(eta));
109
+ if (tokens) {
110
+ for (const [key, value] of Object.entries(tokens)) {
111
+ output = output.replace(`:${key}`, String(value));
112
+ }
113
+ }
114
+ this.clearLine();
115
+ this.stream.write(output);
116
+ this.lastDrawnWidth = (0, import_strings.stripAnsi)(output).length;
117
+ }
118
+ /**
119
+ * Clear the current line.
120
+ */
121
+ clearLine() {
122
+ if (this.stream.isTTY) {
123
+ this.stream.cursorTo(0);
124
+ this.stream.clearLine(0);
125
+ } else if (this.lastDrawnWidth > 0) {
126
+ this.stream.write(`\r${(0, import_strings.repeatString)(" ", this.lastDrawnWidth)}\r`);
127
+ }
128
+ }
129
+ /**
130
+ * Format time in seconds to human readable.
131
+ */
132
+ formatTime(ms) {
133
+ const seconds = Math.round(ms / 1e3);
134
+ if (seconds < 60) {
135
+ return `${seconds}s`;
136
+ }
137
+ const minutes = Math.floor(seconds / 60);
138
+ const remainingSeconds = seconds % 60;
139
+ return `${minutes}m${remainingSeconds}s`;
140
+ }
141
+ /**
142
+ * Terminate the progress bar.
143
+ */
144
+ terminate() {
145
+ if (this.terminated) {
146
+ return;
147
+ }
148
+ this.terminated = true;
149
+ if (this.options.clear) {
150
+ this.clearLine();
151
+ } else {
152
+ this.stream.write("\n");
153
+ }
154
+ }
155
+ }
156
+ function createProgressIndicator(current, total, label) {
157
+ const percent = Math.floor(current / total * 100);
158
+ const progress = `${current}/${total}`;
159
+ let output = "";
160
+ if (label) {
161
+ output += `${label}: `;
162
+ }
163
+ output += `${import_yoctocolors_cjs.default.cyan(`[${percent}%]`)} ${progress}`;
164
+ return output;
165
+ }
166
+ // Annotate the CommonJS export names for ESM import in node:
167
+ 0 && (module.exports = {
168
+ ProgressBar,
169
+ createProgressIndicator
170
+ });
171
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stdio/progress.ts"],
4
+ "sourcesContent": ["/**\n * Progress bar utilities for CLI applications.\n * Provides various progress indicators including bars, percentages, and spinners.\n */\n\nimport colors from '../external/yoctocolors-cjs'\nimport { repeatString, stripAnsi } from '../strings'\n\nexport interface ProgressBarOptions {\n width?: number\n // Template: ':bar :percent :current/:total :eta'.\n format?: string\n complete?: string\n incomplete?: string\n head?: string\n clear?: boolean\n renderThrottle?: number\n stream?: NodeJS.WriteStream\n color?: 'cyan' | 'green' | 'yellow' | 'blue' | 'magenta'\n}\n\nexport class ProgressBar {\n private current: number = 0\n private total: number\n private startTime: number\n private lastRender: number = 0\n private stream: NodeJS.WriteStream\n private options: Required<ProgressBarOptions>\n private terminated: boolean = false\n private lastDrawnWidth: number = 0\n\n constructor(total: number, options?: ProgressBarOptions) {\n this.total = total\n this.startTime = Date.now()\n this.stream = options?.stream || process.stderr\n this.options = {\n width: 40,\n format: ':bar :percent :current/:total',\n complete: '\u2588',\n incomplete: '\u2591',\n head: '',\n clear: false,\n // ~60fps.\n renderThrottle: 16,\n stream: this.stream,\n color: 'cyan',\n ...options,\n }\n }\n\n /**\n * Update progress and redraw bar.\n */\n update(current: number, tokens?: Record<string, unknown>): void {\n if (this.terminated) {\n return\n }\n\n this.current = Math.min(current, this.total)\n\n // Throttle rendering\n const now = Date.now()\n if (\n now - this.lastRender < this.options.renderThrottle &&\n this.current < this.total\n ) {\n return\n }\n this.lastRender = now\n\n this.render(tokens)\n\n if (this.current >= this.total) {\n this.terminate()\n }\n }\n\n /**\n * Increment progress by amount.\n */\n tick(amount: number = 1, tokens?: Record<string, unknown>): void {\n this.update(this.current + amount, tokens)\n }\n\n /**\n * Render the progress bar.\n */\n private render(tokens?: Record<string, unknown>): void {\n const colorFn = colors[this.options.color] || ((s: string) => s)\n\n // Calculate values\n const percent = Math.floor((this.current / this.total) * 100)\n const elapsed = Date.now() - this.startTime\n const eta =\n this.current === 0\n ? 0\n : (elapsed / this.current) * (this.total - this.current)\n\n // Build bar\n const availableWidth = this.options.width\n const filledWidth = Math.floor((this.current / this.total) * availableWidth)\n const emptyWidth = availableWidth - filledWidth\n\n const filled = repeatString(this.options.complete, filledWidth)\n const empty = repeatString(this.options.incomplete, emptyWidth)\n const bar = colorFn(filled) + empty\n\n // Format output\n let output = this.options.format\n output = output.replace(':bar', bar)\n output = output.replace(':percent', `${percent}%`)\n output = output.replace(':current', String(this.current))\n output = output.replace(':total', String(this.total))\n output = output.replace(':elapsed', this.formatTime(elapsed))\n output = output.replace(':eta', this.formatTime(eta))\n\n // Replace custom tokens\n if (tokens) {\n for (const [key, value] of Object.entries(tokens)) {\n output = output.replace(`:${key}`, String(value))\n }\n }\n\n // Clear line and write\n this.clearLine()\n this.stream.write(output)\n this.lastDrawnWidth = stripAnsi(output).length\n }\n\n /**\n * Clear the current line.\n */\n private clearLine(): void {\n if (this.stream.isTTY) {\n this.stream.cursorTo(0)\n this.stream.clearLine(0)\n } else if (this.lastDrawnWidth > 0) {\n this.stream.write(`\\r${repeatString(' ', this.lastDrawnWidth)}\\r`)\n }\n }\n\n /**\n * Format time in seconds to human readable.\n */\n private formatTime(ms: number): string {\n const seconds = Math.round(ms / 1000)\n if (seconds < 60) {\n return `${seconds}s`\n }\n const minutes = Math.floor(seconds / 60)\n const remainingSeconds = seconds % 60\n return `${minutes}m${remainingSeconds}s`\n }\n\n /**\n * Terminate the progress bar.\n */\n terminate(): void {\n if (this.terminated) {\n return\n }\n this.terminated = true\n\n if (this.options.clear) {\n this.clearLine()\n } else {\n this.stream.write('\\n')\n }\n }\n}\n\n/**\n * Create a simple progress indicator without a bar.\n */\nexport function createProgressIndicator(\n current: number,\n total: number,\n label?: string,\n): string {\n const percent = Math.floor((current / total) * 100)\n const progress = `${current}/${total}`\n\n let output = ''\n if (label) {\n output += `${label}: `\n }\n\n output += `${colors.cyan(`[${percent}%]`)} ${progress}`\n\n return output\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["colors"]
7
+ }
@@ -0,0 +1,46 @@
1
+ // Type definitions
2
+ export interface Choice<Value = unknown> {
3
+ value: Value;
4
+ disabled?: boolean | string | undefined;
5
+ description?: string | undefined;
6
+ name?: string | undefined;
7
+ short?: string | undefined;
8
+ }
9
+ // Duplicated from @inquirer/type - InquirerContext
10
+ // This is the minimal context interface used by Inquirer prompts
11
+ interface InquirerContext {
12
+ signal?: AbortSignal | undefined;
13
+ input?: NodeJS.ReadableStream | undefined;
14
+ output?: NodeJS.WritableStream | undefined;
15
+ clearPromptOnDone?: boolean | undefined;
16
+ }
17
+ export type Context = import('../objects').Remap<InquirerContext & {
18
+ spinner?: import('../spinner').Spinner | undefined;
19
+ }>;
20
+ // Duplicated from @inquirer/select - Separator
21
+ // A separator object used in select/checkbox prompts to create visual separators
22
+ // This type definition ensures the Separator type is available in published packages
23
+ declare class SeparatorType {
24
+ readonly separator: string;
25
+ readonly type: 'separator';
26
+ constructor(separator?: string);
27
+ }
28
+ export type Separator = SeparatorType;
29
+ /**
30
+ * Wrap an inquirer prompt with spinner handling and signal injection.
31
+ */
32
+ /*@__NO_SIDE_EFFECTS__*/
33
+ export declare function wrapPrompt<T = unknown>(inquirerPrompt: (...args: unknown[]) => Promise<T>): (...args: unknown[]) => Promise<T | undefined>;
34
+ declare const confirmRaw: any;
35
+ declare const inputRaw: any;
36
+ declare const passwordRaw: any;
37
+ declare const searchRaw: any;
38
+ declare const selectRaw: any;
39
+ declare const ActualSeparator: any;
40
+ // c8 ignore stop
41
+ export declare const confirm: typeof confirmRaw;
42
+ export declare const input: typeof inputRaw;
43
+ export declare const password: typeof passwordRaw;
44
+ export declare const search: typeof searchRaw;
45
+ export declare const select: typeof selectRaw;
46
+ export { ActualSeparator as Separator };
@@ -0,0 +1,90 @@
1
+ /* Socket Lib - Built with esbuild */
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var prompts_exports = {};
20
+ __export(prompts_exports, {
21
+ Separator: () => ActualSeparator,
22
+ confirm: () => confirm,
23
+ input: () => input,
24
+ password: () => password,
25
+ search: () => search,
26
+ select: () => select,
27
+ wrapPrompt: () => wrapPrompt
28
+ });
29
+ module.exports = __toCommonJS(prompts_exports);
30
+ var import_process = require("#constants/process");
31
+ const abortSignal = (0, import_process.getAbortSignal)();
32
+ const spinner = (0, import_process.getSpinner)();
33
+ // @__NO_SIDE_EFFECTS__
34
+ function wrapPrompt(inquirerPrompt) {
35
+ return async (...args) => {
36
+ const origContext = args.length > 1 ? args[1] : void 0;
37
+ const { spinner: contextSpinner, ...contextWithoutSpinner } = origContext ?? {};
38
+ const spinnerInstance = contextSpinner !== void 0 ? contextSpinner : spinner;
39
+ const signal = abortSignal;
40
+ if (origContext) {
41
+ args[1] = {
42
+ signal,
43
+ ...contextWithoutSpinner
44
+ };
45
+ } else {
46
+ args[1] = { signal };
47
+ }
48
+ const wasSpinning = !!spinnerInstance?.isSpinning;
49
+ spinnerInstance?.stop();
50
+ let result;
51
+ try {
52
+ result = await inquirerPrompt(...args);
53
+ } catch (e) {
54
+ if (e instanceof TypeError) {
55
+ throw e;
56
+ }
57
+ }
58
+ if (wasSpinning) {
59
+ spinnerInstance.start();
60
+ }
61
+ return typeof result === "string" ? result.trim() : result;
62
+ };
63
+ }
64
+ const confirmExport = require("../../external/@inquirer/confirm");
65
+ const inputExport = require("../../external/@inquirer/input");
66
+ const passwordExport = require("../../external/@inquirer/password");
67
+ const searchExport = require("../../external/@inquirer/search");
68
+ const selectExport = require("../../external/@inquirer/select");
69
+ const confirmRaw = confirmExport.default ?? confirmExport;
70
+ const inputRaw = inputExport.default ?? inputExport;
71
+ const passwordRaw = passwordExport.default ?? passwordExport;
72
+ const searchRaw = searchExport.default ?? searchExport;
73
+ const selectRaw = selectExport.default ?? selectExport;
74
+ const ActualSeparator = selectExport.Separator;
75
+ const confirm = /* @__PURE__ */ wrapPrompt(confirmRaw);
76
+ const input = /* @__PURE__ */ wrapPrompt(inputRaw);
77
+ const password = /* @__PURE__ */ wrapPrompt(passwordRaw);
78
+ const search = /* @__PURE__ */ wrapPrompt(searchRaw);
79
+ const select = /* @__PURE__ */ wrapPrompt(selectRaw);
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
82
+ Separator,
83
+ confirm,
84
+ input,
85
+ password,
86
+ search,
87
+ select,
88
+ wrapPrompt
89
+ });
90
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stdio/prompts.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview User prompt utilities for interactive scripts.\n * Provides inquirer.js integration with spinner support and context handling.\n */\n\nimport { getAbortSignal, getSpinner } from '#constants/process'\n\nconst abortSignal = getAbortSignal()\nconst spinner = getSpinner()\n\n// Type definitions\n\nexport interface Choice<Value = unknown> {\n value: Value\n disabled?: boolean | string | undefined\n description?: string | undefined\n name?: string | undefined\n short?: string | undefined\n}\n\n// Duplicated from @inquirer/type - InquirerContext\n// This is the minimal context interface used by Inquirer prompts\ninterface InquirerContext {\n signal?: AbortSignal | undefined\n input?: NodeJS.ReadableStream | undefined\n output?: NodeJS.WritableStream | undefined\n clearPromptOnDone?: boolean | undefined\n}\n\nexport type Context = import('../objects').Remap<\n InquirerContext & {\n spinner?: import('../spinner').Spinner | undefined\n }\n>\n\n// Duplicated from @inquirer/select - Separator\n// A separator object used in select/checkbox prompts to create visual separators\n// This type definition ensures the Separator type is available in published packages\ndeclare class SeparatorType {\n readonly separator: string\n readonly type: 'separator'\n constructor(separator?: string)\n}\n\nexport type Separator = SeparatorType\n\n/**\n * Wrap an inquirer prompt with spinner handling and signal injection.\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function wrapPrompt<T = unknown>(\n inquirerPrompt: (...args: unknown[]) => Promise<T>,\n): (...args: unknown[]) => Promise<T | undefined> {\n return async (...args) => {\n const origContext = (args.length > 1 ? args[1] : undefined) as\n | Context\n | undefined\n const { spinner: contextSpinner, ...contextWithoutSpinner } =\n origContext ?? ({} as Context)\n const spinnerInstance =\n contextSpinner !== undefined ? contextSpinner : spinner\n const signal = abortSignal\n if (origContext) {\n args[1] = {\n signal,\n ...contextWithoutSpinner,\n }\n } else {\n args[1] = { signal }\n }\n const wasSpinning = !!spinnerInstance?.isSpinning\n spinnerInstance?.stop()\n let result: unknown\n try {\n result = await inquirerPrompt(...args)\n } catch (e) {\n if (e instanceof TypeError) {\n throw e\n }\n }\n if (wasSpinning) {\n spinnerInstance.start()\n }\n return (typeof result === 'string' ? result.trim() : result) as\n | T\n | undefined\n }\n}\n\n// c8 ignore start - Third-party inquirer library requires and exports not testable in isolation.\nconst confirmExport = /*@__PURE__*/ require('../../external/@inquirer/confirm')\nconst inputExport = /*@__PURE__*/ require('../../external/@inquirer/input')\nconst passwordExport = /*@__PURE__*/ require('../../external/@inquirer/password')\nconst searchExport = /*@__PURE__*/ require('../../external/@inquirer/search')\nconst selectExport = /*@__PURE__*/ require('../../external/@inquirer/select')\nconst confirmRaw = confirmExport.default ?? confirmExport\nconst inputRaw = inputExport.default ?? inputExport\nconst passwordRaw = passwordExport.default ?? passwordExport\nconst searchRaw = searchExport.default ?? searchExport\nconst selectRaw = selectExport.default ?? selectExport\nconst ActualSeparator = selectExport.Separator\n// c8 ignore stop\n\nexport const confirm: typeof confirmRaw = wrapPrompt(confirmRaw)\nexport const input: typeof inputRaw = wrapPrompt(inputRaw)\nexport const password: typeof passwordRaw = wrapPrompt(passwordRaw)\nexport const search: typeof searchRaw = wrapPrompt(searchRaw)\nexport const select: typeof selectRaw = wrapPrompt(selectRaw)\nexport { ActualSeparator as Separator }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAA2C;AAE3C,MAAM,kBAAc,+BAAe;AACnC,MAAM,cAAU,2BAAW;AAAA;AA0CpB,SAAS,WACd,gBACgD;AAChD,SAAO,UAAU,SAAS;AACxB,UAAM,cAAe,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI;AAGjD,UAAM,EAAE,SAAS,gBAAgB,GAAG,sBAAsB,IACxD,eAAgB,CAAC;AACnB,UAAM,kBACJ,mBAAmB,SAAY,iBAAiB;AAClD,UAAM,SAAS;AACf,QAAI,aAAa;AACf,WAAK,CAAC,IAAI;AAAA,QACR;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF,OAAO;AACL,WAAK,CAAC,IAAI,EAAE,OAAO;AAAA,IACrB;AACA,UAAM,cAAc,CAAC,CAAC,iBAAiB;AACvC,qBAAiB,KAAK;AACtB,QAAI;AACJ,QAAI;AACF,eAAS,MAAM,eAAe,GAAG,IAAI;AAAA,IACvC,SAAS,GAAG;AACV,UAAI,aAAa,WAAW;AAC1B,cAAM;AAAA,MACR;AAAA,IACF;AACA,QAAI,aAAa;AACf,sBAAgB,MAAM;AAAA,IACxB;AACA,WAAQ,OAAO,WAAW,WAAW,OAAO,KAAK,IAAI;AAAA,EAGvD;AACF;AAGA,MAAM,gBAA8B,QAAQ,kCAAkC;AAC9E,MAAM,cAA4B,QAAQ,gCAAgC;AAC1E,MAAM,iBAA+B,QAAQ,mCAAmC;AAChF,MAAM,eAA6B,QAAQ,iCAAiC;AAC5E,MAAM,eAA6B,QAAQ,iCAAiC;AAC5E,MAAM,aAAa,cAAc,WAAW;AAC5C,MAAM,WAAW,YAAY,WAAW;AACxC,MAAM,cAAc,eAAe,WAAW;AAC9C,MAAM,YAAY,aAAa,WAAW;AAC1C,MAAM,YAAY,aAAa,WAAW;AAC1C,MAAM,kBAAkB,aAAa;AAG9B,MAAM,UAA6B,2BAAW,UAAU;AACxD,MAAM,QAAyB,2BAAW,QAAQ;AAClD,MAAM,WAA+B,2BAAW,WAAW;AAC3D,MAAM,SAA2B,2BAAW,SAAS;AACrD,MAAM,SAA2B,2BAAW,SAAS;",
6
+ "names": []
7
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Standard error stream utilities.
3
+ * Provides utilities for writing to stderr with formatting and control.
4
+ */
5
+ // Get the actual stderr stream
6
+ declare const stderr: NodeJS.WriteStream;
7
+ /**
8
+ * Write an error line to stderr.
9
+ */
10
+ export declare function writeErrorLine(text?: string): void;
11
+ /**
12
+ * Write error text to stderr without newline.
13
+ */
14
+ export declare function writeError(text: string): void;
15
+ /**
16
+ * Clear the current line on stderr.
17
+ */
18
+ export declare function clearLine(): void;
19
+ /**
20
+ * Move cursor to position on stderr.
21
+ */
22
+ export declare function cursorTo(x: number, y?: number): void;
23
+ /**
24
+ * Check if stderr is a TTY.
25
+ */
26
+ export declare function isTTY(): boolean;
27
+ /**
28
+ * Get terminal columns for stderr.
29
+ */
30
+ export declare function getColumns(): number;
31
+ /**
32
+ * Get terminal rows for stderr.
33
+ */
34
+ export declare function getRows(): number;
35
+ /**
36
+ * Write a warning to stderr with formatting.
37
+ */
38
+ export declare function writeWarning(message: string, prefix?: string): void;
39
+ /**
40
+ * Write an error to stderr with formatting.
41
+ */
42
+ export declare function writeErrorFormatted(message: string, prefix?: string): void;
43
+ /**
44
+ * Write stack trace to stderr.
45
+ */
46
+ export declare function writeStackTrace(error: Error): void;
47
+ // Export the raw stream for advanced usage
48
+ export { stderr };
@@ -0,0 +1,91 @@
1
+ /* Socket Lib - Built with esbuild */
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var stderr_exports = {};
20
+ __export(stderr_exports, {
21
+ clearLine: () => clearLine,
22
+ cursorTo: () => cursorTo,
23
+ getColumns: () => getColumns,
24
+ getRows: () => getRows,
25
+ isTTY: () => isTTY,
26
+ stderr: () => stderr,
27
+ writeError: () => writeError,
28
+ writeErrorFormatted: () => writeErrorFormatted,
29
+ writeErrorLine: () => writeErrorLine,
30
+ writeStackTrace: () => writeStackTrace,
31
+ writeWarning: () => writeWarning
32
+ });
33
+ module.exports = __toCommonJS(stderr_exports);
34
+ const stderr = process.stderr;
35
+ function writeErrorLine(text = "") {
36
+ stderr.write(`${text}
37
+ `);
38
+ }
39
+ function writeError(text) {
40
+ stderr.write(text);
41
+ }
42
+ function clearLine() {
43
+ if (stderr.isTTY) {
44
+ stderr.cursorTo(0);
45
+ stderr.clearLine(0);
46
+ }
47
+ }
48
+ function cursorTo(x, y) {
49
+ if (stderr.isTTY) {
50
+ stderr.cursorTo(x, y);
51
+ }
52
+ }
53
+ function isTTY() {
54
+ return stderr.isTTY || false;
55
+ }
56
+ function getColumns() {
57
+ return stderr.columns || 80;
58
+ }
59
+ function getRows() {
60
+ return stderr.rows || 24;
61
+ }
62
+ function writeWarning(message, prefix = "Warning") {
63
+ const formatted = `${prefix}: ${message}`;
64
+ writeErrorLine(formatted);
65
+ }
66
+ function writeErrorFormatted(message, prefix = "Error") {
67
+ const formatted = `${prefix}: ${message}`;
68
+ writeErrorLine(formatted);
69
+ }
70
+ function writeStackTrace(error) {
71
+ if (error.stack) {
72
+ writeErrorLine(error.stack);
73
+ } else {
74
+ writeErrorFormatted(error.message);
75
+ }
76
+ }
77
+ // Annotate the CommonJS export names for ESM import in node:
78
+ 0 && (module.exports = {
79
+ clearLine,
80
+ cursorTo,
81
+ getColumns,
82
+ getRows,
83
+ isTTY,
84
+ stderr,
85
+ writeError,
86
+ writeErrorFormatted,
87
+ writeErrorLine,
88
+ writeStackTrace,
89
+ writeWarning
90
+ });
91
+ //# sourceMappingURL=stderr.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stdio/stderr.ts"],
4
+ "sourcesContent": ["/**\n * Standard error stream utilities.\n * Provides utilities for writing to stderr with formatting and control.\n */\n\n// Get the actual stderr stream\nconst stderr: NodeJS.WriteStream = process.stderr\n\n/**\n * Write an error line to stderr.\n */\nexport function writeErrorLine(text: string = ''): void {\n stderr.write(`${text}\\n`)\n}\n\n/**\n * Write error text to stderr without newline.\n */\nexport function writeError(text: string): void {\n stderr.write(text)\n}\n\n/**\n * Clear the current line on stderr.\n */\nexport function clearLine(): void {\n if (stderr.isTTY) {\n stderr.cursorTo(0)\n stderr.clearLine(0)\n }\n}\n\n/**\n * Move cursor to position on stderr.\n */\nexport function cursorTo(x: number, y?: number): void {\n if (stderr.isTTY) {\n stderr.cursorTo(x, y)\n }\n}\n\n/**\n * Check if stderr is a TTY.\n */\nexport function isTTY(): boolean {\n return stderr.isTTY || false\n}\n\n/**\n * Get terminal columns for stderr.\n */\nexport function getColumns(): number {\n return stderr.columns || 80\n}\n\n/**\n * Get terminal rows for stderr.\n */\nexport function getRows(): number {\n return stderr.rows || 24\n}\n\n/**\n * Write a warning to stderr with formatting.\n */\nexport function writeWarning(\n message: string,\n prefix: string = 'Warning',\n): void {\n const formatted = `${prefix}: ${message}`\n writeErrorLine(formatted)\n}\n\n/**\n * Write an error to stderr with formatting.\n */\nexport function writeErrorFormatted(\n message: string,\n prefix: string = 'Error',\n): void {\n const formatted = `${prefix}: ${message}`\n writeErrorLine(formatted)\n}\n\n/**\n * Write stack trace to stderr.\n */\nexport function writeStackTrace(error: Error): void {\n if (error.stack) {\n writeErrorLine(error.stack)\n } else {\n writeErrorFormatted(error.message)\n }\n}\n\n// Export the raw stream for advanced usage\nexport { stderr }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,SAA6B,QAAQ;AAKpC,SAAS,eAAe,OAAe,IAAU;AACtD,SAAO,MAAM,GAAG,IAAI;AAAA,CAAI;AAC1B;AAKO,SAAS,WAAW,MAAoB;AAC7C,SAAO,MAAM,IAAI;AACnB;AAKO,SAAS,YAAkB;AAChC,MAAI,OAAO,OAAO;AAChB,WAAO,SAAS,CAAC;AACjB,WAAO,UAAU,CAAC;AAAA,EACpB;AACF;AAKO,SAAS,SAAS,GAAW,GAAkB;AACpD,MAAI,OAAO,OAAO;AAChB,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB;AACF;AAKO,SAAS,QAAiB;AAC/B,SAAO,OAAO,SAAS;AACzB;AAKO,SAAS,aAAqB;AACnC,SAAO,OAAO,WAAW;AAC3B;AAKO,SAAS,UAAkB;AAChC,SAAO,OAAO,QAAQ;AACxB;AAKO,SAAS,aACd,SACA,SAAiB,WACX;AACN,QAAM,YAAY,GAAG,MAAM,KAAK,OAAO;AACvC,iBAAe,SAAS;AAC1B;AAKO,SAAS,oBACd,SACA,SAAiB,SACX;AACN,QAAM,YAAY,GAAG,MAAM,KAAK,OAAO;AACvC,iBAAe,SAAS;AAC1B;AAKO,SAAS,gBAAgB,OAAoB;AAClD,MAAI,MAAM,OAAO;AACf,mBAAe,MAAM,KAAK;AAAA,EAC5B,OAAO;AACL,wBAAoB,MAAM,OAAO;AAAA,EACnC;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,48 @@
1
+ // Get the actual stdout stream
2
+ declare const stdout: NodeJS.WriteStream;
3
+ /**
4
+ * Write a line to stdout.
5
+ */
6
+ export declare function writeLine(text?: string): void;
7
+ /**
8
+ * Write text to stdout without newline.
9
+ */
10
+ export declare function write(text: string): void;
11
+ /**
12
+ * Clear the current line on stdout.
13
+ */
14
+ export declare function clearLine(): void;
15
+ /**
16
+ * Move cursor to position on stdout.
17
+ */
18
+ export declare function cursorTo(x: number, y?: number): void;
19
+ /**
20
+ * Clear screen from cursor down.
21
+ */
22
+ export declare function clearScreenDown(): void;
23
+ /**
24
+ * Check if stdout is a TTY.
25
+ */
26
+ export declare function isTTY(): boolean;
27
+ /**
28
+ * Get terminal columns for stdout.
29
+ */
30
+ export declare function getColumns(): number;
31
+ /**
32
+ * Get terminal rows for stdout.
33
+ */
34
+ export declare function getRows(): number;
35
+ /**
36
+ * Hide cursor on stdout.
37
+ */
38
+ export declare function hideCursor(): void;
39
+ /**
40
+ * Show cursor on stdout.
41
+ */
42
+ export declare function showCursor(): void;
43
+ /**
44
+ * Ensure cursor is shown on exit.
45
+ */
46
+ export declare function ensureCursorOnExit(): void;
47
+ // Export the raw stream for advanced usage
48
+ export { stdout };
@@ -0,0 +1,105 @@
1
+ /* Socket Lib - Built with esbuild */
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var stdout_exports = {};
20
+ __export(stdout_exports, {
21
+ clearLine: () => clearLine,
22
+ clearScreenDown: () => clearScreenDown,
23
+ cursorTo: () => cursorTo,
24
+ ensureCursorOnExit: () => ensureCursorOnExit,
25
+ getColumns: () => getColumns,
26
+ getRows: () => getRows,
27
+ hideCursor: () => hideCursor,
28
+ isTTY: () => isTTY,
29
+ showCursor: () => showCursor,
30
+ stdout: () => stdout,
31
+ write: () => write,
32
+ writeLine: () => writeLine
33
+ });
34
+ module.exports = __toCommonJS(stdout_exports);
35
+ var import_node_tty = require("node:tty");
36
+ const stdout = process.stdout;
37
+ function writeLine(text = "") {
38
+ stdout.write(`${text}
39
+ `);
40
+ }
41
+ function write(text) {
42
+ stdout.write(text);
43
+ }
44
+ function clearLine() {
45
+ if (stdout.isTTY) {
46
+ stdout.cursorTo(0);
47
+ stdout.clearLine(0);
48
+ }
49
+ }
50
+ function cursorTo(x, y) {
51
+ if (stdout.isTTY) {
52
+ stdout.cursorTo(x, y);
53
+ }
54
+ }
55
+ function clearScreenDown() {
56
+ if (stdout.isTTY) {
57
+ stdout.clearScreenDown();
58
+ }
59
+ }
60
+ function isTTY() {
61
+ return stdout.isTTY || false;
62
+ }
63
+ function getColumns() {
64
+ return stdout.columns || 80;
65
+ }
66
+ function getRows() {
67
+ return stdout.rows || 24;
68
+ }
69
+ function hideCursor() {
70
+ if (stdout.isTTY && stdout instanceof import_node_tty.WriteStream) {
71
+ stdout.write("\x1B[?25l");
72
+ }
73
+ }
74
+ function showCursor() {
75
+ if (stdout.isTTY && stdout instanceof import_node_tty.WriteStream) {
76
+ stdout.write("\x1B[?25h");
77
+ }
78
+ }
79
+ function ensureCursorOnExit() {
80
+ process.on("exit", showCursor);
81
+ process.on("SIGINT", () => {
82
+ showCursor();
83
+ process.exit(130);
84
+ });
85
+ process.on("SIGTERM", () => {
86
+ showCursor();
87
+ process.exit(143);
88
+ });
89
+ }
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ clearLine,
93
+ clearScreenDown,
94
+ cursorTo,
95
+ ensureCursorOnExit,
96
+ getColumns,
97
+ getRows,
98
+ hideCursor,
99
+ isTTY,
100
+ showCursor,
101
+ stdout,
102
+ write,
103
+ writeLine
104
+ });
105
+ //# sourceMappingURL=stdout.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stdio/stdout.ts"],
4
+ "sourcesContent": ["/**\n * Standard output stream utilities.\n * Provides utilities for writing to stdout with formatting and control.\n */\n\nimport { WriteStream } from 'node:tty'\n\n// Get the actual stdout stream\nconst stdout: NodeJS.WriteStream = process.stdout\n\n/**\n * Write a line to stdout.\n */\nexport function writeLine(text: string = ''): void {\n stdout.write(`${text}\\n`)\n}\n\n/**\n * Write text to stdout without newline.\n */\nexport function write(text: string): void {\n stdout.write(text)\n}\n\n/**\n * Clear the current line on stdout.\n */\nexport function clearLine(): void {\n if (stdout.isTTY) {\n stdout.cursorTo(0)\n stdout.clearLine(0)\n }\n}\n\n/**\n * Move cursor to position on stdout.\n */\nexport function cursorTo(x: number, y?: number): void {\n if (stdout.isTTY) {\n stdout.cursorTo(x, y)\n }\n}\n\n/**\n * Clear screen from cursor down.\n */\nexport function clearScreenDown(): void {\n if (stdout.isTTY) {\n stdout.clearScreenDown()\n }\n}\n\n/**\n * Check if stdout is a TTY.\n */\nexport function isTTY(): boolean {\n return stdout.isTTY || false\n}\n\n/**\n * Get terminal columns for stdout.\n */\nexport function getColumns(): number {\n return stdout.columns || 80\n}\n\n/**\n * Get terminal rows for stdout.\n */\nexport function getRows(): number {\n return stdout.rows || 24\n}\n\n/**\n * Hide cursor on stdout.\n */\nexport function hideCursor(): void {\n if (stdout.isTTY && stdout instanceof WriteStream) {\n stdout.write('\\u001B[?25l')\n }\n}\n\n/**\n * Show cursor on stdout.\n */\nexport function showCursor(): void {\n if (stdout.isTTY && stdout instanceof WriteStream) {\n stdout.write('\\u001B[?25h')\n }\n}\n\n/**\n * Ensure cursor is shown on exit.\n */\nexport function ensureCursorOnExit(): void {\n process.on('exit', showCursor)\n process.on('SIGINT', () => {\n showCursor()\n // eslint-disable-next-line n/no-process-exit\n process.exit(130)\n })\n process.on('SIGTERM', () => {\n showCursor()\n // eslint-disable-next-line n/no-process-exit\n process.exit(143)\n })\n}\n\n// Export the raw stream for advanced usage\nexport { stdout }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,sBAA4B;AAG5B,MAAM,SAA6B,QAAQ;AAKpC,SAAS,UAAU,OAAe,IAAU;AACjD,SAAO,MAAM,GAAG,IAAI;AAAA,CAAI;AAC1B;AAKO,SAAS,MAAM,MAAoB;AACxC,SAAO,MAAM,IAAI;AACnB;AAKO,SAAS,YAAkB;AAChC,MAAI,OAAO,OAAO;AAChB,WAAO,SAAS,CAAC;AACjB,WAAO,UAAU,CAAC;AAAA,EACpB;AACF;AAKO,SAAS,SAAS,GAAW,GAAkB;AACpD,MAAI,OAAO,OAAO;AAChB,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB;AACF;AAKO,SAAS,kBAAwB;AACtC,MAAI,OAAO,OAAO;AAChB,WAAO,gBAAgB;AAAA,EACzB;AACF;AAKO,SAAS,QAAiB;AAC/B,SAAO,OAAO,SAAS;AACzB;AAKO,SAAS,aAAqB;AACnC,SAAO,OAAO,WAAW;AAC3B;AAKO,SAAS,UAAkB;AAChC,SAAO,OAAO,QAAQ;AACxB;AAKO,SAAS,aAAmB;AACjC,MAAI,OAAO,SAAS,kBAAkB,6BAAa;AACjD,WAAO,MAAM,WAAa;AAAA,EAC5B;AACF;AAKO,SAAS,aAAmB;AACjC,MAAI,OAAO,SAAS,kBAAkB,6BAAa;AACjD,WAAO,MAAM,WAAa;AAAA,EAC5B;AACF;AAKO,SAAS,qBAA2B;AACzC,UAAQ,GAAG,QAAQ,UAAU;AAC7B,UAAQ,GAAG,UAAU,MAAM;AACzB,eAAW;AAEX,YAAQ,KAAK,GAAG;AAAA,EAClB,CAAC;AACD,UAAQ,GAAG,WAAW,MAAM;AAC1B,eAAW;AAEX,YAAQ,KAAK,GAAG;AAAA,EAClB,CAAC;AACH;",
6
+ "names": []
7
+ }