@socketsecurity/lib 0.0.0 → 1.0.0

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 +270 -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,315 @@
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 http_request_exports = {};
20
+ __export(http_request_exports, {
21
+ httpDownload: () => httpDownload,
22
+ httpGetJson: () => httpGetJson,
23
+ httpGetText: () => httpGetText,
24
+ httpRequest: () => httpRequest
25
+ });
26
+ module.exports = __toCommonJS(http_request_exports);
27
+ var import_node_fs = require("node:fs");
28
+ let _http;
29
+ let _https;
30
+ // @__NO_SIDE_EFFECTS__
31
+ function getHttp() {
32
+ if (_http === void 0) {
33
+ _http = require("node:http");
34
+ }
35
+ return _http;
36
+ }
37
+ // @__NO_SIDE_EFFECTS__
38
+ function getHttps() {
39
+ if (_https === void 0) {
40
+ _https = require("node:https");
41
+ }
42
+ return _https;
43
+ }
44
+ async function httpRequest(url, options) {
45
+ const {
46
+ body,
47
+ followRedirects = true,
48
+ headers = {},
49
+ maxRedirects = 5,
50
+ method = "GET",
51
+ retries = 0,
52
+ retryDelay = 1e3,
53
+ timeout = 3e4
54
+ } = { __proto__: null, ...options };
55
+ let lastError;
56
+ for (let attempt = 0; attempt <= retries; attempt++) {
57
+ try {
58
+ return await httpRequestAttempt(url, {
59
+ body,
60
+ followRedirects,
61
+ headers,
62
+ maxRedirects,
63
+ method,
64
+ timeout
65
+ });
66
+ } catch (e) {
67
+ lastError = e;
68
+ if (attempt === retries) {
69
+ break;
70
+ }
71
+ const delayMs = retryDelay * 2 ** attempt;
72
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
73
+ }
74
+ }
75
+ throw lastError || new Error("Request failed after retries");
76
+ }
77
+ async function httpRequestAttempt(url, options) {
78
+ const {
79
+ body,
80
+ followRedirects = true,
81
+ headers = {},
82
+ maxRedirects = 5,
83
+ method = "GET",
84
+ timeout = 3e4
85
+ } = { __proto__: null, ...options };
86
+ return await new Promise((resolve, reject) => {
87
+ const parsedUrl = new URL(url);
88
+ const isHttps = parsedUrl.protocol === "https:";
89
+ const httpModule = isHttps ? /* @__PURE__ */ getHttps() : /* @__PURE__ */ getHttp();
90
+ const requestOptions = {
91
+ headers: {
92
+ "User-Agent": "socket-registry/1.0",
93
+ ...headers
94
+ },
95
+ hostname: parsedUrl.hostname,
96
+ method,
97
+ path: parsedUrl.pathname + parsedUrl.search,
98
+ port: parsedUrl.port,
99
+ timeout
100
+ };
101
+ const request = httpModule.request(
102
+ requestOptions,
103
+ (res) => {
104
+ if (followRedirects && res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
105
+ if (maxRedirects <= 0) {
106
+ reject(
107
+ new Error(
108
+ `Too many redirects (exceeded maximum: ${maxRedirects})`
109
+ )
110
+ );
111
+ return;
112
+ }
113
+ const redirectUrl = res.headers.location.startsWith("http") ? res.headers.location : new URL(res.headers.location, url).toString();
114
+ resolve(
115
+ httpRequestAttempt(redirectUrl, {
116
+ body,
117
+ followRedirects,
118
+ headers,
119
+ maxRedirects: maxRedirects - 1,
120
+ method,
121
+ timeout
122
+ })
123
+ );
124
+ return;
125
+ }
126
+ const chunks = [];
127
+ res.on("data", (chunk) => {
128
+ chunks.push(chunk);
129
+ });
130
+ res.on("end", () => {
131
+ const responseBody = Buffer.concat(chunks);
132
+ const ok = res.statusCode !== void 0 && res.statusCode >= 200 && res.statusCode < 300;
133
+ const response = {
134
+ arrayBuffer() {
135
+ return responseBody.buffer.slice(
136
+ responseBody.byteOffset,
137
+ responseBody.byteOffset + responseBody.byteLength
138
+ );
139
+ },
140
+ body: responseBody,
141
+ headers: res.headers,
142
+ json() {
143
+ return JSON.parse(responseBody.toString("utf8"));
144
+ },
145
+ ok,
146
+ status: res.statusCode || 0,
147
+ statusText: res.statusMessage || "",
148
+ text() {
149
+ return responseBody.toString("utf8");
150
+ }
151
+ };
152
+ resolve(response);
153
+ });
154
+ }
155
+ );
156
+ request.on("error", (error) => {
157
+ const err = new Error(`HTTP request failed: ${error.message}`, {
158
+ cause: error
159
+ });
160
+ reject(err);
161
+ });
162
+ request.on("timeout", () => {
163
+ request.destroy();
164
+ reject(new Error(`Request timed out after ${timeout}ms`));
165
+ });
166
+ if (body) {
167
+ request.write(body);
168
+ }
169
+ request.end();
170
+ });
171
+ }
172
+ async function httpDownload(url, destPath, options) {
173
+ const {
174
+ headers = {},
175
+ onProgress,
176
+ retries = 0,
177
+ retryDelay = 1e3,
178
+ timeout = 12e4
179
+ } = { __proto__: null, ...options };
180
+ let lastError;
181
+ for (let attempt = 0; attempt <= retries; attempt++) {
182
+ try {
183
+ return await httpDownloadAttempt(url, destPath, {
184
+ headers,
185
+ onProgress,
186
+ timeout
187
+ });
188
+ } catch (e) {
189
+ lastError = e;
190
+ if (attempt === retries) {
191
+ break;
192
+ }
193
+ const delayMs = retryDelay * 2 ** attempt;
194
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
195
+ }
196
+ }
197
+ throw lastError || new Error("Download failed after retries");
198
+ }
199
+ async function httpDownloadAttempt(url, destPath, options) {
200
+ const {
201
+ headers = {},
202
+ onProgress,
203
+ timeout = 12e4
204
+ } = { __proto__: null, ...options };
205
+ return await new Promise((resolve, reject) => {
206
+ const parsedUrl = new URL(url);
207
+ const isHttps = parsedUrl.protocol === "https:";
208
+ const httpModule = isHttps ? /* @__PURE__ */ getHttps() : /* @__PURE__ */ getHttp();
209
+ const requestOptions = {
210
+ headers: {
211
+ "User-Agent": "socket-registry/1.0",
212
+ ...headers
213
+ },
214
+ hostname: parsedUrl.hostname,
215
+ method: "GET",
216
+ path: parsedUrl.pathname + parsedUrl.search,
217
+ port: parsedUrl.port,
218
+ timeout
219
+ };
220
+ let fileStream;
221
+ let streamClosed = false;
222
+ const closeStream = () => {
223
+ if (!streamClosed && fileStream) {
224
+ streamClosed = true;
225
+ fileStream.close();
226
+ }
227
+ };
228
+ const request = httpModule.request(
229
+ requestOptions,
230
+ (res) => {
231
+ if (!res.statusCode || res.statusCode < 200 || res.statusCode >= 300) {
232
+ closeStream();
233
+ reject(
234
+ new Error(
235
+ `Download failed: HTTP ${res.statusCode} ${res.statusMessage}`
236
+ )
237
+ );
238
+ return;
239
+ }
240
+ const totalSize = Number.parseInt(
241
+ res.headers["content-length"] || "0",
242
+ 10
243
+ );
244
+ let downloadedSize = 0;
245
+ fileStream = (0, import_node_fs.createWriteStream)(destPath);
246
+ fileStream.on("error", (error) => {
247
+ closeStream();
248
+ const err = new Error(`Failed to write file: ${error.message}`, {
249
+ cause: error
250
+ });
251
+ reject(err);
252
+ });
253
+ res.on("data", (chunk) => {
254
+ downloadedSize += chunk.length;
255
+ if (onProgress && totalSize > 0) {
256
+ onProgress(downloadedSize, totalSize);
257
+ }
258
+ });
259
+ res.on("end", () => {
260
+ fileStream?.close(() => {
261
+ streamClosed = true;
262
+ resolve({
263
+ path: destPath,
264
+ size: downloadedSize
265
+ });
266
+ });
267
+ });
268
+ res.on("error", (error) => {
269
+ closeStream();
270
+ reject(error);
271
+ });
272
+ res.pipe(fileStream);
273
+ }
274
+ );
275
+ request.on("error", (error) => {
276
+ closeStream();
277
+ const err = new Error(`HTTP download failed: ${error.message}`, {
278
+ cause: error
279
+ });
280
+ reject(err);
281
+ });
282
+ request.on("timeout", () => {
283
+ request.destroy();
284
+ closeStream();
285
+ reject(new Error(`Download timed out after ${timeout}ms`));
286
+ });
287
+ request.end();
288
+ });
289
+ }
290
+ async function httpGetJson(url, options) {
291
+ const response = await httpRequest(url, { ...options, method: "GET" });
292
+ if (!response.ok) {
293
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
294
+ }
295
+ try {
296
+ return response.json();
297
+ } catch (e) {
298
+ throw new Error("Failed to parse JSON response", { cause: e });
299
+ }
300
+ }
301
+ async function httpGetText(url, options) {
302
+ const response = await httpRequest(url, { ...options, method: "GET" });
303
+ if (!response.ok) {
304
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
305
+ }
306
+ return response.text();
307
+ }
308
+ // Annotate the CommonJS export names for ESM import in node:
309
+ 0 && (module.exports = {
310
+ httpDownload,
311
+ httpGetJson,
312
+ httpGetText,
313
+ httpRequest
314
+ });
315
+ //# sourceMappingURL=http-request.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/http-request.ts"],
4
+ "sourcesContent": ["/** @fileoverview HTTP/HTTPS request utilities using Node.js built-in modules with retry logic, redirects, and download support. */\n\nimport { createWriteStream } from 'node:fs'\n\nimport type { IncomingMessage } from 'node:http'\n\nlet _http: typeof import('http') | undefined\nlet _https: typeof import('https') | undefined\n/**\n * Lazily load http and https modules to avoid Webpack errors.\n * @private\n */\n/*@__NO_SIDE_EFFECTS__*/\nfunction getHttp() {\n if (_http === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _http = /*@__PURE__*/ require('node:http')\n }\n return _http as typeof import('http')\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nfunction getHttps() {\n if (_https === undefined) {\n // Use non-'node:' prefixed require to avoid Webpack errors.\n\n _https = /*@__PURE__*/ require('node:https')\n }\n return _https as typeof import('https')\n}\n\nexport interface HttpRequestOptions {\n body?: Buffer | string | undefined\n followRedirects?: boolean | undefined\n headers?: Record<string, string> | undefined\n maxRedirects?: number | undefined\n method?: string | undefined\n retries?: number | undefined\n retryDelay?: number | undefined\n timeout?: number | undefined\n}\n\nexport interface HttpResponse {\n arrayBuffer(): ArrayBuffer\n body: Buffer\n headers: Record<string, string | string[] | undefined>\n json<T = unknown>(): T\n ok: boolean\n status: number\n statusText: string\n text(): string\n}\n\nexport interface HttpDownloadOptions {\n headers?: Record<string, string> | undefined\n onProgress?: ((downloaded: number, total: number) => void) | undefined\n retries?: number | undefined\n retryDelay?: number | undefined\n timeout?: number | undefined\n}\n\nexport interface HttpDownloadResult {\n path: string\n size: number\n}\n\n/**\n * Make an HTTP/HTTPS request with retry logic and redirect support.\n * Provides a fetch-like API using Node.js native http/https modules.\n * @throws {Error} When all retries are exhausted or non-retryable error occurs.\n */\nexport async function httpRequest(\n url: string,\n options?: HttpRequestOptions | undefined,\n): Promise<HttpResponse> {\n const {\n body,\n followRedirects = true,\n headers = {},\n maxRedirects = 5,\n method = 'GET',\n retries = 0,\n retryDelay = 1000,\n timeout = 30_000,\n } = { __proto__: null, ...options } as HttpRequestOptions\n\n // Retry logic with exponential backoff\n let lastError: Error | undefined\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n // eslint-disable-next-line no-await-in-loop\n return await httpRequestAttempt(url, {\n body,\n followRedirects,\n headers,\n maxRedirects,\n method,\n timeout,\n })\n } catch (e) {\n lastError = e as Error\n\n // Last attempt - throw error\n if (attempt === retries) {\n break\n }\n\n // Retry with exponential backoff\n const delayMs = retryDelay * 2 ** attempt\n // eslint-disable-next-line no-await-in-loop\n await new Promise(resolve => setTimeout(resolve, delayMs))\n }\n }\n\n throw lastError || new Error('Request failed after retries')\n}\n\n/**\n * Single HTTP request attempt (used internally by httpRequest with retry logic).\n */\nasync function httpRequestAttempt(\n url: string,\n options: HttpRequestOptions,\n): Promise<HttpResponse> {\n const {\n body,\n followRedirects = true,\n headers = {},\n maxRedirects = 5,\n method = 'GET',\n timeout = 30_000,\n } = { __proto__: null, ...options } as HttpRequestOptions\n\n return await new Promise((resolve, reject) => {\n const parsedUrl = new URL(url)\n const isHttps = parsedUrl.protocol === 'https:'\n const httpModule = isHttps ? getHttps() : getHttp()\n\n const requestOptions = {\n headers: {\n 'User-Agent': 'socket-registry/1.0',\n ...headers,\n },\n hostname: parsedUrl.hostname,\n method,\n path: parsedUrl.pathname + parsedUrl.search,\n port: parsedUrl.port,\n timeout,\n }\n\n const request = httpModule.request(\n requestOptions,\n (res: IncomingMessage) => {\n // Handle redirects\n if (\n followRedirects &&\n res.statusCode &&\n res.statusCode >= 300 &&\n res.statusCode < 400 &&\n res.headers.location\n ) {\n if (maxRedirects <= 0) {\n reject(\n new Error(\n `Too many redirects (exceeded maximum: ${maxRedirects})`,\n ),\n )\n return\n }\n\n // Follow redirect\n const redirectUrl = res.headers.location.startsWith('http')\n ? res.headers.location\n : new URL(res.headers.location, url).toString()\n\n resolve(\n httpRequestAttempt(redirectUrl, {\n body,\n followRedirects,\n headers,\n maxRedirects: maxRedirects - 1,\n method,\n timeout,\n }),\n )\n return\n }\n\n // Collect response data\n const chunks: Buffer[] = []\n res.on('data', (chunk: Buffer) => {\n chunks.push(chunk)\n })\n\n res.on('end', () => {\n const responseBody = Buffer.concat(chunks)\n const ok =\n res.statusCode !== undefined &&\n res.statusCode >= 200 &&\n res.statusCode < 300\n\n const response: HttpResponse = {\n arrayBuffer(): ArrayBuffer {\n return responseBody.buffer.slice(\n responseBody.byteOffset,\n responseBody.byteOffset + responseBody.byteLength,\n )\n },\n body: responseBody,\n headers: res.headers as Record<\n string,\n string | string[] | undefined\n >,\n json<T = unknown>(): T {\n return JSON.parse(responseBody.toString('utf8')) as T\n },\n ok,\n status: res.statusCode || 0,\n statusText: res.statusMessage || '',\n text(): string {\n return responseBody.toString('utf8')\n },\n }\n\n resolve(response)\n })\n },\n )\n\n request.on('error', (error: Error) => {\n const err = new Error(`HTTP request failed: ${error.message}`, {\n cause: error,\n })\n reject(err)\n })\n\n request.on('timeout', () => {\n request.destroy()\n reject(new Error(`Request timed out after ${timeout}ms`))\n })\n\n // Send body if present\n if (body) {\n request.write(body)\n }\n\n request.end()\n })\n}\n\n/**\n * Download a file from a URL to a local path with retry logic and progress callbacks.\n * Uses streaming to avoid loading entire file in memory.\n * @throws {Error} When all retries are exhausted or download fails.\n */\nexport async function httpDownload(\n url: string,\n destPath: string,\n options?: HttpDownloadOptions | undefined,\n): Promise<HttpDownloadResult> {\n const {\n headers = {},\n onProgress,\n retries = 0,\n retryDelay = 1000,\n timeout = 120_000,\n } = { __proto__: null, ...options } as HttpDownloadOptions\n\n // Retry logic with exponential backoff\n let lastError: Error | undefined\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n // eslint-disable-next-line no-await-in-loop\n return await httpDownloadAttempt(url, destPath, {\n headers,\n onProgress,\n timeout,\n })\n } catch (e) {\n lastError = e as Error\n\n // Last attempt - throw error\n if (attempt === retries) {\n break\n }\n\n // Retry with exponential backoff\n const delayMs = retryDelay * 2 ** attempt\n // eslint-disable-next-line no-await-in-loop\n await new Promise(resolve => setTimeout(resolve, delayMs))\n }\n }\n\n throw lastError || new Error('Download failed after retries')\n}\n\n/**\n * Single download attempt (used internally by httpDownload with retry logic).\n */\nasync function httpDownloadAttempt(\n url: string,\n destPath: string,\n options: HttpDownloadOptions,\n): Promise<HttpDownloadResult> {\n const {\n headers = {},\n onProgress,\n timeout = 120_000,\n } = { __proto__: null, ...options } as HttpDownloadOptions\n\n return await new Promise((resolve, reject) => {\n const parsedUrl = new URL(url)\n const isHttps = parsedUrl.protocol === 'https:'\n const httpModule = isHttps ? getHttps() : getHttp()\n\n const requestOptions = {\n headers: {\n 'User-Agent': 'socket-registry/1.0',\n ...headers,\n },\n hostname: parsedUrl.hostname,\n method: 'GET',\n path: parsedUrl.pathname + parsedUrl.search,\n port: parsedUrl.port,\n timeout,\n }\n\n let fileStream: ReturnType<typeof createWriteStream> | undefined\n let streamClosed = false\n\n const closeStream = () => {\n if (!streamClosed && fileStream) {\n streamClosed = true\n fileStream.close()\n }\n }\n\n const request = httpModule.request(\n requestOptions,\n (res: IncomingMessage) => {\n // Check status code\n if (!res.statusCode || res.statusCode < 200 || res.statusCode >= 300) {\n closeStream()\n reject(\n new Error(\n `Download failed: HTTP ${res.statusCode} ${res.statusMessage}`,\n ),\n )\n return\n }\n\n const totalSize = Number.parseInt(\n res.headers['content-length'] || '0',\n 10,\n )\n let downloadedSize = 0\n\n // Create write stream\n fileStream = createWriteStream(destPath)\n\n fileStream.on('error', (error: Error) => {\n closeStream()\n const err = new Error(`Failed to write file: ${error.message}`, {\n cause: error,\n })\n reject(err)\n })\n\n res.on('data', (chunk: Buffer) => {\n downloadedSize += chunk.length\n if (onProgress && totalSize > 0) {\n onProgress(downloadedSize, totalSize)\n }\n })\n\n res.on('end', () => {\n fileStream?.close(() => {\n streamClosed = true\n resolve({\n path: destPath,\n size: downloadedSize,\n })\n })\n })\n\n res.on('error', (error: Error) => {\n closeStream()\n reject(error)\n })\n\n // Pipe response to file\n res.pipe(fileStream)\n },\n )\n\n request.on('error', (error: Error) => {\n closeStream()\n const err = new Error(`HTTP download failed: ${error.message}`, {\n cause: error,\n })\n reject(err)\n })\n\n request.on('timeout', () => {\n request.destroy()\n closeStream()\n reject(new Error(`Download timed out after ${timeout}ms`))\n })\n\n request.end()\n })\n}\n\n/**\n * Perform a GET request and parse JSON response.\n * @throws {Error} When request fails or JSON parsing fails.\n */\nexport async function httpGetJson<T = unknown>(\n url: string,\n options?: HttpRequestOptions | undefined,\n): Promise<T> {\n const response = await httpRequest(url, { ...options, method: 'GET' })\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`)\n }\n\n try {\n return response.json<T>()\n } catch (e) {\n throw new Error('Failed to parse JSON response', { cause: e })\n }\n}\n\n/**\n * Perform a GET request and return text response.\n * @throws {Error} When request fails.\n */\nexport async function httpGetText(\n url: string,\n options?: HttpRequestOptions | undefined,\n): Promise<string> {\n const response = await httpRequest(url, { ...options, method: 'GET' })\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`)\n }\n\n return response.text()\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview Main entry point for Socket Registry v2.0.
3
+ * Clean, organized exports for better developer experience.
4
+ */
5
+ // Direct exports for commonly used items
6
+ // Alias for backward compatibility with GitHub version
7
+ export { SocketRegistry, SocketRegistry as SocketSecurityRegistry, } from './packages/registry';
8
+ // Export types
9
+ export * from './types';
10
+ // Manifest data helper function
11
+ export declare function getManifestData(ecosystem?: string, packageName?: string): any;
12
+ // Version export
13
+ export declare const version = "2.0.0";
package/dist/index.js ADDED
@@ -0,0 +1,64 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var index_exports = {};
21
+ __export(index_exports, {
22
+ SocketRegistry: () => import_registry.SocketRegistry,
23
+ SocketSecurityRegistry: () => import_registry.SocketRegistry,
24
+ getManifestData: () => getManifestData,
25
+ version: () => version
26
+ });
27
+ module.exports = __toCommonJS(index_exports);
28
+ var import_registry = require("./packages/registry");
29
+ __reExport(index_exports, require("./types"), module.exports);
30
+ function getManifestData(ecosystem, packageName) {
31
+ try {
32
+ const manifestData = require("../manifest.json");
33
+ if (!ecosystem) {
34
+ return manifestData;
35
+ }
36
+ const ecoData = manifestData[ecosystem];
37
+ if (!ecoData) {
38
+ return void 0;
39
+ }
40
+ if (!packageName) {
41
+ return ecoData;
42
+ }
43
+ if (Array.isArray(ecoData)) {
44
+ const entry = ecoData.find(
45
+ ([_purl, data]) => data.package === packageName
46
+ );
47
+ return entry ? entry[1] : void 0;
48
+ }
49
+ const pkgData = ecoData[packageName];
50
+ return pkgData ? [packageName, pkgData] : void 0;
51
+ } catch {
52
+ return void 0;
53
+ }
54
+ }
55
+ const version = "2.0.0";
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ SocketRegistry,
59
+ SocketSecurityRegistry,
60
+ getManifestData,
61
+ version,
62
+ ...require("./types")
63
+ });
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview Main entry point for Socket Registry v2.0.\n * Clean, organized exports for better developer experience.\n */\n\n// Direct exports for commonly used items\n// Alias for backward compatibility with GitHub version\nexport {\n SocketRegistry,\n SocketRegistry as SocketSecurityRegistry,\n} from './packages/registry'\n// Export types\nexport * from './types'\n\n// Manifest data helper function\nexport function getManifestData(ecosystem?: string, packageName?: string) {\n try {\n const manifestData = require('../manifest.json')\n\n if (!ecosystem) {\n return manifestData\n }\n\n const ecoData = manifestData[ecosystem]\n if (!ecoData) {\n return undefined\n }\n\n if (!packageName) {\n return ecoData\n }\n\n // ecoData is an array of [purl, data] entries\n if (Array.isArray(ecoData)) {\n const entry = ecoData.find(\n ([_purl, data]) => data.package === packageName,\n )\n return entry ? entry[1] : undefined\n }\n\n // Fallback for object-based structure\n const pkgData = ecoData[packageName]\n return pkgData ? [packageName, pkgData] : undefined\n } catch {\n return undefined\n }\n}\n\n// Version export\nexport const version = '2.0.0'\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAGO;AAEP,0BAAc,oBAZd;AAeO,SAAS,gBAAgB,WAAoB,aAAsB;AACxE,MAAI;AACF,UAAM,eAAe,QAAQ,kBAAkB;AAE/C,QAAI,CAAC,WAAW;AACd,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,aAAa,SAAS;AACtC,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,aAAa;AAChB,aAAO;AAAA,IACT;AAGA,QAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,YAAM,QAAQ,QAAQ;AAAA,QACpB,CAAC,CAAC,OAAO,IAAI,MAAM,KAAK,YAAY;AAAA,MACtC;AACA,aAAO,QAAQ,MAAM,CAAC,IAAI;AAAA,IAC5B;AAGA,UAAM,UAAU,QAAQ,WAAW;AACnC,WAAO,UAAU,CAAC,aAAa,OAAO,IAAI;AAAA,EAC5C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,MAAM,UAAU;",
6
+ "names": []
7
+ }