@volter/tabnode 0.2.14-volter.88

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 (429) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +78 -0
  3. package/THIRD-PARTY-NOTICES.md +12 -0
  4. package/dist/__sw__.js +526 -0
  5. package/dist/assets/runtime-worker-4MKaHFVb.js +75221 -0
  6. package/dist/assets/runtime-worker-4MKaHFVb.js.map +1 -0
  7. package/dist/code-transforms.d.ts +21 -0
  8. package/dist/code-transforms.d.ts.map +1 -0
  9. package/dist/config/cdn.d.ts +12 -0
  10. package/dist/config/cdn.d.ts.map +1 -0
  11. package/dist/create-runtime.d.ts +22 -0
  12. package/dist/create-runtime.d.ts.map +1 -0
  13. package/dist/host-globals.d.ts +62 -0
  14. package/dist/host-globals.d.ts.map +1 -0
  15. package/dist/index.cjs +36021 -0
  16. package/dist/index.cjs.map +1 -0
  17. package/dist/index.d.ts +127 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.mjs +36020 -0
  20. package/dist/index.mjs.map +1 -0
  21. package/dist/node-internals.d.ts +68 -0
  22. package/dist/node-internals.d.ts.map +1 -0
  23. package/dist/node-lib/binding/blob.d.ts +12 -0
  24. package/dist/node-lib/binding/blob.d.ts.map +1 -0
  25. package/dist/node-lib/binding/buffer.d.ts +144 -0
  26. package/dist/node-lib/binding/buffer.d.ts.map +1 -0
  27. package/dist/node-lib/binding/cares_wrap.d.ts +14 -0
  28. package/dist/node-lib/binding/cares_wrap.d.ts.map +1 -0
  29. package/dist/node-lib/binding/fds.d.ts +30 -0
  30. package/dist/node-lib/binding/fds.d.ts.map +1 -0
  31. package/dist/node-lib/binding/fs.d.ts +157 -0
  32. package/dist/node-lib/binding/fs.d.ts.map +1 -0
  33. package/dist/node-lib/binding/handles.d.ts +81 -0
  34. package/dist/node-lib/binding/handles.d.ts.map +1 -0
  35. package/dist/node-lib/binding/http_parser.d.ts +122 -0
  36. package/dist/node-lib/binding/http_parser.d.ts.map +1 -0
  37. package/dist/node-lib/binding/index.d.ts +3 -0
  38. package/dist/node-lib/binding/index.d.ts.map +1 -0
  39. package/dist/node-lib/binding/llhttp-wasm.d.ts +22 -0
  40. package/dist/node-lib/binding/llhttp-wasm.d.ts.map +1 -0
  41. package/dist/node-lib/binding/misc.d.ts +123 -0
  42. package/dist/node-lib/binding/misc.d.ts.map +1 -0
  43. package/dist/node-lib/binding/pipe_wrap.d.ts +84 -0
  44. package/dist/node-lib/binding/pipe_wrap.d.ts.map +1 -0
  45. package/dist/node-lib/binding/process_wrap.d.ts +173 -0
  46. package/dist/node-lib/binding/process_wrap.d.ts.map +1 -0
  47. package/dist/node-lib/binding/spawn_sync.d.ts +30 -0
  48. package/dist/node-lib/binding/spawn_sync.d.ts.map +1 -0
  49. package/dist/node-lib/binding/stream_wrap.d.ts +191 -0
  50. package/dist/node-lib/binding/stream_wrap.d.ts.map +1 -0
  51. package/dist/node-lib/binding/stubs.d.ts +23 -0
  52. package/dist/node-lib/binding/stubs.d.ts.map +1 -0
  53. package/dist/node-lib/binding/tcp_wrap.d.ts +98 -0
  54. package/dist/node-lib/binding/tcp_wrap.d.ts.map +1 -0
  55. package/dist/node-lib/binding/tty_wrap.d.ts +36 -0
  56. package/dist/node-lib/binding/tty_wrap.d.ts.map +1 -0
  57. package/dist/node-lib/binding/util.d.ts +126 -0
  58. package/dist/node-lib/binding/util.d.ts.map +1 -0
  59. package/dist/node-lib/binding/uv.d.ts +32 -0
  60. package/dist/node-lib/binding/uv.d.ts.map +1 -0
  61. package/dist/node-lib/binding/zlib-pako.d.ts +22 -0
  62. package/dist/node-lib/binding/zlib-pako.d.ts.map +1 -0
  63. package/dist/node-lib/binding/zlib.d.ts +38 -0
  64. package/dist/node-lib/binding/zlib.d.ts.map +1 -0
  65. package/dist/node-lib/buffer-module.d.ts +51 -0
  66. package/dist/node-lib/buffer-module.d.ts.map +1 -0
  67. package/dist/node-lib/child-process-module.d.ts +26 -0
  68. package/dist/node-lib/child-process-module.d.ts.map +1 -0
  69. package/dist/node-lib/events-module.d.ts +58 -0
  70. package/dist/node-lib/events-module.d.ts.map +1 -0
  71. package/dist/node-lib/fs-module.d.ts +5 -0
  72. package/dist/node-lib/fs-module.d.ts.map +1 -0
  73. package/dist/node-lib/http-bridge.d.ts +43 -0
  74. package/dist/node-lib/http-bridge.d.ts.map +1 -0
  75. package/dist/node-lib/http-module.d.ts +35 -0
  76. package/dist/node-lib/http-module.d.ts.map +1 -0
  77. package/dist/node-lib/internals/addresses.d.ts +40 -0
  78. package/dist/node-lib/internals/addresses.d.ts.map +1 -0
  79. package/dist/node-lib/internals/buffer-and-streams.d.ts +96 -0
  80. package/dist/node-lib/internals/buffer-and-streams.d.ts.map +1 -0
  81. package/dist/node-lib/internals/child-process.d.ts +27 -0
  82. package/dist/node-lib/internals/child-process.d.ts.map +1 -0
  83. package/dist/node-lib/internals/events-util.d.ts +83 -0
  84. package/dist/node-lib/internals/events-util.d.ts.map +1 -0
  85. package/dist/node-lib/internals/index.d.ts +2 -0
  86. package/dist/node-lib/internals/index.d.ts.map +1 -0
  87. package/dist/node-lib/internals/modules.d.ts +67 -0
  88. package/dist/node-lib/internals/modules.d.ts.map +1 -0
  89. package/dist/node-lib/internals/readline-access.d.ts +2 -0
  90. package/dist/node-lib/internals/readline-access.d.ts.map +1 -0
  91. package/dist/node-lib/internals/runtime.d.ts +150 -0
  92. package/dist/node-lib/internals/runtime.d.ts.map +1 -0
  93. package/dist/node-lib/internals/util.d.ts +33 -0
  94. package/dist/node-lib/internals/util.d.ts.map +1 -0
  95. package/dist/node-lib/lazy.d.ts +31 -0
  96. package/dist/node-lib/lazy.d.ts.map +1 -0
  97. package/dist/node-lib/load.d.ts +27 -0
  98. package/dist/node-lib/load.d.ts.map +1 -0
  99. package/dist/node-lib/module-hooks.d.ts +89 -0
  100. package/dist/node-lib/module-hooks.d.ts.map +1 -0
  101. package/dist/node-lib/net-module.d.ts +181 -0
  102. package/dist/node-lib/net-module.d.ts.map +1 -0
  103. package/dist/node-lib/node-versions.d.ts +27 -0
  104. package/dist/node-lib/node-versions.d.ts.map +1 -0
  105. package/dist/node-lib/public-modules.d.ts +2 -0
  106. package/dist/node-lib/public-modules.d.ts.map +1 -0
  107. package/dist/node-lib/require-hook.d.ts +15 -0
  108. package/dist/node-lib/require-hook.d.ts.map +1 -0
  109. package/dist/node-lib/small-modules.d.ts +16 -0
  110. package/dist/node-lib/small-modules.d.ts.map +1 -0
  111. package/dist/node-lib/sources.d.ts +4 -0
  112. package/dist/node-lib/sources.d.ts.map +1 -0
  113. package/dist/node-lib/stream-module.d.ts +77 -0
  114. package/dist/node-lib/stream-module.d.ts.map +1 -0
  115. package/dist/node-lib/timers.d.ts +19 -0
  116. package/dist/node-lib/timers.d.ts.map +1 -0
  117. package/dist/node-lib/util-module.d.ts +76 -0
  118. package/dist/node-lib/util-module.d.ts.map +1 -0
  119. package/dist/node-resolution.d.ts +50 -0
  120. package/dist/node-resolution.d.ts.map +1 -0
  121. package/dist/node-resolver.d.ts +7 -0
  122. package/dist/node-resolver.d.ts.map +1 -0
  123. package/dist/npm/index.d.ts +73 -0
  124. package/dist/npm/index.d.ts.map +1 -0
  125. package/dist/npm/registry.d.ts +111 -0
  126. package/dist/npm/registry.d.ts.map +1 -0
  127. package/dist/npm/resolver.d.ts +79 -0
  128. package/dist/npm/resolver.d.ts.map +1 -0
  129. package/dist/npm/tarball.d.ts +28 -0
  130. package/dist/npm/tarball.d.ts.map +1 -0
  131. package/dist/process-tokens.d.ts +77 -0
  132. package/dist/process-tokens.d.ts.map +1 -0
  133. package/dist/punycode-source.d.ts +3 -0
  134. package/dist/punycode-source.d.ts.map +1 -0
  135. package/dist/runtime-interface.d.ts +74 -0
  136. package/dist/runtime-interface.d.ts.map +1 -0
  137. package/dist/runtime.d.ts +144 -0
  138. package/dist/runtime.d.ts.map +1 -0
  139. package/dist/server-bridge.d.ts +147 -0
  140. package/dist/server-bridge.d.ts.map +1 -0
  141. package/dist/shims/async_hooks.d.ts +50 -0
  142. package/dist/shims/async_hooks.d.ts.map +1 -0
  143. package/dist/shims/child_process.d.ts +104 -0
  144. package/dist/shims/child_process.d.ts.map +1 -0
  145. package/dist/shims/cluster.d.ts +52 -0
  146. package/dist/shims/cluster.d.ts.map +1 -0
  147. package/dist/shims/command-line.d.ts +43 -0
  148. package/dist/shims/command-line.d.ts.map +1 -0
  149. package/dist/shims/constants.d.ts +222 -0
  150. package/dist/shims/constants.d.ts.map +1 -0
  151. package/dist/shims/crypto-constants.d.ts +12 -0
  152. package/dist/shims/crypto-constants.d.ts.map +1 -0
  153. package/dist/shims/crypto.d.ts +144 -0
  154. package/dist/shims/crypto.d.ts.map +1 -0
  155. package/dist/shims/dgram.d.ts +34 -0
  156. package/dist/shims/dgram.d.ts.map +1 -0
  157. package/dist/shims/dns.d.ts +91 -0
  158. package/dist/shims/dns.d.ts.map +1 -0
  159. package/dist/shims/domain.d.ts +25 -0
  160. package/dist/shims/domain.d.ts.map +1 -0
  161. package/dist/shims/esbuild.d.ts +205 -0
  162. package/dist/shims/esbuild.d.ts.map +1 -0
  163. package/dist/shims/fs.d.ts +25 -0
  164. package/dist/shims/fs.d.ts.map +1 -0
  165. package/dist/shims/http2.d.ts +81 -0
  166. package/dist/shims/http2.d.ts.map +1 -0
  167. package/dist/shims/inspector.d.ts +25 -0
  168. package/dist/shims/inspector.d.ts.map +1 -0
  169. package/dist/shims/module.d.ts +22 -0
  170. package/dist/shims/module.d.ts.map +1 -0
  171. package/dist/shims/os.d.ts +159 -0
  172. package/dist/shims/os.d.ts.map +1 -0
  173. package/dist/shims/path.d.ts +52 -0
  174. package/dist/shims/path.d.ts.map +1 -0
  175. package/dist/shims/perf_hooks.d.ts +50 -0
  176. package/dist/shims/perf_hooks.d.ts.map +1 -0
  177. package/dist/shims/process.d.ts +226 -0
  178. package/dist/shims/process.d.ts.map +1 -0
  179. package/dist/shims/rollup.d.ts +71 -0
  180. package/dist/shims/rollup.d.ts.map +1 -0
  181. package/dist/shims/string_decoder.d.ts +41 -0
  182. package/dist/shims/string_decoder.d.ts.map +1 -0
  183. package/dist/shims/sync-child.d.ts +64 -0
  184. package/dist/shims/sync-child.d.ts.map +1 -0
  185. package/dist/shims/tls.d.ts +53 -0
  186. package/dist/shims/tls.d.ts.map +1 -0
  187. package/dist/shims/url.d.ts +84 -0
  188. package/dist/shims/url.d.ts.map +1 -0
  189. package/dist/shims/v8.d.ts +73 -0
  190. package/dist/shims/v8.d.ts.map +1 -0
  191. package/dist/shims/vfs-adapter.d.ts +126 -0
  192. package/dist/shims/vfs-adapter.d.ts.map +1 -0
  193. package/dist/shims/vm.d.ts +52 -0
  194. package/dist/shims/vm.d.ts.map +1 -0
  195. package/dist/shims/wasi.d.ts +78 -0
  196. package/dist/shims/wasi.d.ts.map +1 -0
  197. package/dist/shims/worker_threads.d.ts +66 -0
  198. package/dist/shims/worker_threads.d.ts.map +1 -0
  199. package/dist/shims/zlib-constants.d.ts +66 -0
  200. package/dist/shims/zlib-constants.d.ts.map +1 -0
  201. package/dist/shims/zlib.d.ts +102 -0
  202. package/dist/shims/zlib.d.ts.map +1 -0
  203. package/dist/transform.d.ts +24 -0
  204. package/dist/transform.d.ts.map +1 -0
  205. package/dist/types/package-json.d.ts +18 -0
  206. package/dist/types/package-json.d.ts.map +1 -0
  207. package/dist/utils/binary-encoding.d.ts +13 -0
  208. package/dist/utils/binary-encoding.d.ts.map +1 -0
  209. package/dist/utils/glob.d.ts +19 -0
  210. package/dist/utils/glob.d.ts.map +1 -0
  211. package/dist/utils/hash.d.ts +6 -0
  212. package/dist/utils/hash.d.ts.map +1 -0
  213. package/dist/virtual-fs.d.ts +259 -0
  214. package/dist/virtual-fs.d.ts.map +1 -0
  215. package/dist/vite-plugin.cjs +50 -0
  216. package/dist/vite-plugin.cjs.map +1 -0
  217. package/dist/vite-plugin.d.ts +36 -0
  218. package/dist/vite-plugin.d.ts.map +1 -0
  219. package/dist/vite-plugin.mjs +31 -0
  220. package/dist/vite-plugin.mjs.map +1 -0
  221. package/dist/worker/runtime-worker.d.ts +8 -0
  222. package/dist/worker/runtime-worker.d.ts.map +1 -0
  223. package/dist/worker-runtime.d.ts +50 -0
  224. package/dist/worker-runtime.d.ts.map +1 -0
  225. package/package.json +88 -0
  226. package/src/code-transforms.ts +560 -0
  227. package/src/config/cdn.ts +13 -0
  228. package/src/create-runtime.ts +89 -0
  229. package/src/host-globals.ts +121 -0
  230. package/src/index.ts +235 -0
  231. package/src/node-internals.ts +283 -0
  232. package/src/node-lib/LICENSE +47 -0
  233. package/src/node-lib/_http_agent.js +547 -0
  234. package/src/node-lib/_http_client.js +996 -0
  235. package/src/node-lib/_http_common.js +269 -0
  236. package/src/node-lib/_http_incoming.js +453 -0
  237. package/src/node-lib/_http_outgoing.js +1262 -0
  238. package/src/node-lib/_http_server.js +1230 -0
  239. package/src/node-lib/assert/strict.js +3 -0
  240. package/src/node-lib/assert.js +844 -0
  241. package/src/node-lib/binding/blob.ts +35 -0
  242. package/src/node-lib/binding/buffer.ts +465 -0
  243. package/src/node-lib/binding/cares_wrap.ts +57 -0
  244. package/src/node-lib/binding/fds.ts +80 -0
  245. package/src/node-lib/binding/fs.ts +857 -0
  246. package/src/node-lib/binding/handles.ts +187 -0
  247. package/src/node-lib/binding/http_parser.ts +536 -0
  248. package/src/node-lib/binding/index.ts +77 -0
  249. package/src/node-lib/binding/llhttp-wasm.ts +670 -0
  250. package/src/node-lib/binding/misc.ts +252 -0
  251. package/src/node-lib/binding/pipe_wrap.ts +166 -0
  252. package/src/node-lib/binding/process_wrap.ts +371 -0
  253. package/src/node-lib/binding/spawn_sync.ts +141 -0
  254. package/src/node-lib/binding/stream_wrap.ts +413 -0
  255. package/src/node-lib/binding/stubs.ts +19 -0
  256. package/src/node-lib/binding/tcp_wrap.ts +254 -0
  257. package/src/node-lib/binding/tty_wrap.ts +56 -0
  258. package/src/node-lib/binding/util.ts +274 -0
  259. package/src/node-lib/binding/uv.ts +102 -0
  260. package/src/node-lib/binding/zlib-pako.ts +50 -0
  261. package/src/node-lib/binding/zlib.ts +259 -0
  262. package/src/node-lib/buffer-module.ts +70 -0
  263. package/src/node-lib/buffer.js +1373 -0
  264. package/src/node-lib/child-process-module.ts +58 -0
  265. package/src/node-lib/child_process.js +1046 -0
  266. package/src/node-lib/constants.js +41 -0
  267. package/src/node-lib/diagnostics_channel.js +438 -0
  268. package/src/node-lib/events-module.ts +80 -0
  269. package/src/node-lib/events.js +1223 -0
  270. package/src/node-lib/fs-module.ts +43 -0
  271. package/src/node-lib/fs.js +3377 -0
  272. package/src/node-lib/http-bridge.ts +299 -0
  273. package/src/node-lib/http-module.ts +53 -0
  274. package/src/node-lib/http.js +198 -0
  275. package/src/node-lib/https.js +429 -0
  276. package/src/node-lib/internal/assert/assertion_error.js +417 -0
  277. package/src/node-lib/internal/assert/calltracker.js +153 -0
  278. package/src/node-lib/internal/assert/myers_diff.js +177 -0
  279. package/src/node-lib/internal/assert/utils.js +278 -0
  280. package/src/node-lib/internal/buffer.js +1120 -0
  281. package/src/node-lib/internal/child_process/serialization.js +169 -0
  282. package/src/node-lib/internal/child_process.js +1135 -0
  283. package/src/node-lib/internal/constants.js +56 -0
  284. package/src/node-lib/internal/deps/minimatch/index.js +1628 -0
  285. package/src/node-lib/internal/errors.js +1912 -0
  286. package/src/node-lib/internal/events/abort_listener.js +54 -0
  287. package/src/node-lib/internal/events/symbols.js +11 -0
  288. package/src/node-lib/internal/fixed_queue.js +119 -0
  289. package/src/node-lib/internal/freelist.js +30 -0
  290. package/src/node-lib/internal/fs/cp/cp-sync.js +242 -0
  291. package/src/node-lib/internal/fs/cp/cp.js +382 -0
  292. package/src/node-lib/internal/fs/dir.js +369 -0
  293. package/src/node-lib/internal/fs/glob.js +763 -0
  294. package/src/node-lib/internal/fs/promises.js +1312 -0
  295. package/src/node-lib/internal/fs/read/context.js +129 -0
  296. package/src/node-lib/internal/fs/recursive_watch.js +275 -0
  297. package/src/node-lib/internal/fs/rimraf.js +311 -0
  298. package/src/node-lib/internal/fs/streams.js +571 -0
  299. package/src/node-lib/internal/fs/sync_write_stream.js +49 -0
  300. package/src/node-lib/internal/fs/utils.js +987 -0
  301. package/src/node-lib/internal/fs/watchers.js +418 -0
  302. package/src/node-lib/internal/http.js +62 -0
  303. package/src/node-lib/internal/mime.js +389 -0
  304. package/src/node-lib/internal/modules/customization_hooks.js +406 -0
  305. package/src/node-lib/internal/net.js +95 -0
  306. package/src/node-lib/internal/querystring.js +119 -0
  307. package/src/node-lib/internal/readline/callbacks.js +132 -0
  308. package/src/node-lib/internal/readline/emitKeypressEvents.js +99 -0
  309. package/src/node-lib/internal/readline/interface.js +1418 -0
  310. package/src/node-lib/internal/readline/promises.js +144 -0
  311. package/src/node-lib/internal/readline/utils.js +405 -0
  312. package/src/node-lib/internal/socket_list.js +108 -0
  313. package/src/node-lib/internal/stream_base_commons.js +280 -0
  314. package/src/node-lib/internal/streams/add-abort-signal.js +60 -0
  315. package/src/node-lib/internal/streams/compose.js +257 -0
  316. package/src/node-lib/internal/streams/destroy.js +361 -0
  317. package/src/node-lib/internal/streams/duplex.js +203 -0
  318. package/src/node-lib/internal/streams/duplexify.js +379 -0
  319. package/src/node-lib/internal/streams/duplexpair.js +62 -0
  320. package/src/node-lib/internal/streams/end-of-stream.js +331 -0
  321. package/src/node-lib/internal/streams/from.js +208 -0
  322. package/src/node-lib/internal/streams/lazy_transform.js +57 -0
  323. package/src/node-lib/internal/streams/legacy.js +125 -0
  324. package/src/node-lib/internal/streams/operators.js +436 -0
  325. package/src/node-lib/internal/streams/passthrough.js +47 -0
  326. package/src/node-lib/internal/streams/pipeline.js +465 -0
  327. package/src/node-lib/internal/streams/readable.js +1762 -0
  328. package/src/node-lib/internal/streams/state.js +51 -0
  329. package/src/node-lib/internal/streams/transform.js +204 -0
  330. package/src/node-lib/internal/streams/utils.js +363 -0
  331. package/src/node-lib/internal/streams/writable.js +1163 -0
  332. package/src/node-lib/internal/tty.js +260 -0
  333. package/src/node-lib/internal/util/colors.js +40 -0
  334. package/src/node-lib/internal/util/comparisons.js +1028 -0
  335. package/src/node-lib/internal/util/debuglog.js +524 -0
  336. package/src/node-lib/internal/util/inspect.js +2535 -0
  337. package/src/node-lib/internal/util/parse_args/parse_args.js +412 -0
  338. package/src/node-lib/internal/util/parse_args/utils.js +197 -0
  339. package/src/node-lib/internal/util.js +1003 -0
  340. package/src/node-lib/internal/validators.js +654 -0
  341. package/src/node-lib/internals/addresses.ts +159 -0
  342. package/src/node-lib/internals/buffer-and-streams.ts +224 -0
  343. package/src/node-lib/internals/child-process.ts +64 -0
  344. package/src/node-lib/internals/events-util.ts +105 -0
  345. package/src/node-lib/internals/index.ts +66 -0
  346. package/src/node-lib/internals/modules.ts +117 -0
  347. package/src/node-lib/internals/readline-access.ts +16 -0
  348. package/src/node-lib/internals/runtime.ts +277 -0
  349. package/src/node-lib/internals/util.ts +98 -0
  350. package/src/node-lib/lazy.ts +158 -0
  351. package/src/node-lib/load.ts +390 -0
  352. package/src/node-lib/module-hooks.ts +281 -0
  353. package/src/node-lib/net-module.ts +248 -0
  354. package/src/node-lib/net.js +2540 -0
  355. package/src/node-lib/node-versions.ts +34 -0
  356. package/src/node-lib/os.js +356 -0
  357. package/src/node-lib/path.js +1694 -0
  358. package/src/node-lib/primordials.js +743 -0
  359. package/src/node-lib/public-modules.ts +109 -0
  360. package/src/node-lib/punycode.js +455 -0
  361. package/src/node-lib/querystring.js +484 -0
  362. package/src/node-lib/readline/promises.js +73 -0
  363. package/src/node-lib/readline.js +523 -0
  364. package/src/node-lib/require-hook.ts +27 -0
  365. package/src/node-lib/small-modules.ts +35 -0
  366. package/src/node-lib/sources.ts +200 -0
  367. package/src/node-lib/stream/promises.js +44 -0
  368. package/src/node-lib/stream-module.ts +101 -0
  369. package/src/node-lib/stream.js +152 -0
  370. package/src/node-lib/timers.ts +33 -0
  371. package/src/node-lib/tty.js +168 -0
  372. package/src/node-lib/util-module.ts +104 -0
  373. package/src/node-lib/util.js +689 -0
  374. package/src/node-lib/wasi.js +179 -0
  375. package/src/node-lib/zlib.js +1036 -0
  376. package/src/node-resolution.ts +241 -0
  377. package/src/node-resolver.ts +33 -0
  378. package/src/npm/index.ts +425 -0
  379. package/src/npm/registry.ts +235 -0
  380. package/src/npm/resolver.ts +589 -0
  381. package/src/npm/tarball.ts +246 -0
  382. package/src/process-tokens.ts +156 -0
  383. package/src/punycode-source.ts +6 -0
  384. package/src/runtime-interface.ts +85 -0
  385. package/src/runtime.ts +3073 -0
  386. package/src/server-bridge.ts +971 -0
  387. package/src/shims/async_hooks.ts +181 -0
  388. package/src/shims/child_process.ts +1591 -0
  389. package/src/shims/cluster.ts +79 -0
  390. package/src/shims/command-line.ts +79 -0
  391. package/src/shims/constants.ts +68 -0
  392. package/src/shims/crypto-constants.ts +11 -0
  393. package/src/shims/crypto.ts +1061 -0
  394. package/src/shims/dgram.ts +47 -0
  395. package/src/shims/dns.ts +185 -0
  396. package/src/shims/domain.ts +58 -0
  397. package/src/shims/esbuild.ts +1638 -0
  398. package/src/shims/fs.ts +82 -0
  399. package/src/shims/http2.ts +96 -0
  400. package/src/shims/inspector.ts +30 -0
  401. package/src/shims/module.ts +86 -0
  402. package/src/shims/os.ts +195 -0
  403. package/src/shims/path.ts +246 -0
  404. package/src/shims/perf_hooks.ts +92 -0
  405. package/src/shims/process.ts +804 -0
  406. package/src/shims/rollup.ts +149 -0
  407. package/src/shims/string_decoder.ts +396 -0
  408. package/src/shims/sync-child.ts +469 -0
  409. package/src/shims/tls.ts +94 -0
  410. package/src/shims/url.ts +217 -0
  411. package/src/shims/v8.ts +113 -0
  412. package/src/shims/vfs-adapter.ts +408 -0
  413. package/src/shims/vm.ts +132 -0
  414. package/src/shims/wasi.ts +1440 -0
  415. package/src/shims/worker_threads.ts +114 -0
  416. package/src/shims/zlib-constants.ts +65 -0
  417. package/src/shims/zlib.ts +228 -0
  418. package/src/transform.ts +324 -0
  419. package/src/types/external.d.ts +55 -0
  420. package/src/types/package-json.ts +17 -0
  421. package/src/types/pako-zlib.d.ts +30 -0
  422. package/src/types/sha.js.d.ts +14 -0
  423. package/src/utils/binary-encoding.ts +43 -0
  424. package/src/utils/glob.ts +54 -0
  425. package/src/utils/hash.ts +12 -0
  426. package/src/virtual-fs.ts +1048 -0
  427. package/src/vite-plugin.ts +76 -0
  428. package/src/worker/runtime-worker.ts +128 -0
  429. package/src/worker-runtime.ts +145 -0
@@ -0,0 +1,77 @@
1
+ /** Node's `stream` module object, as the engine's own parts read it. */
2
+ export interface StreamModule {
3
+ Stream: new (options?: unknown) => unknown;
4
+ Readable: new (options?: unknown) => ReadableLike;
5
+ Writable: new (options?: unknown) => WritableLike;
6
+ Duplex: new (options?: unknown) => DuplexLike;
7
+ Transform: new (options?: unknown) => DuplexLike;
8
+ PassThrough: new (options?: unknown) => DuplexLike;
9
+ pipeline: (...args: unknown[]) => unknown;
10
+ finished: (...args: unknown[]) => unknown;
11
+ compose: (...args: unknown[]) => unknown;
12
+ addAbortSignal: (...args: unknown[]) => unknown;
13
+ duplexPair: (...args: unknown[]) => unknown;
14
+ promises: Record<string, unknown>;
15
+ isDisturbed: (stream: unknown) => boolean;
16
+ isErrored: (stream: unknown) => boolean;
17
+ isReadable: (stream: unknown) => boolean;
18
+ _isUint8Array: (value: unknown) => boolean;
19
+ _uint8ArrayToBuffer: (value: Uint8Array) => Uint8Array;
20
+ }
21
+ /** The shape the engine's own parts use a readable through. */
22
+ export interface ReadableLike {
23
+ push(chunk: unknown, encoding?: string): boolean;
24
+ read(size?: number): string | Uint8Array | null;
25
+ pause(): this;
26
+ resume(): this;
27
+ destroy(error?: Error): this;
28
+ setEncoding(encoding: string): this;
29
+ pipe(destination: unknown, options?: unknown): unknown;
30
+ on(event: string, listener: (...args: never[]) => void): this;
31
+ once(event: string, listener: (...args: never[]) => void): this;
32
+ emit(event: string, ...args: unknown[]): boolean;
33
+ readable: boolean;
34
+ readableEnded: boolean;
35
+ destroyed: boolean;
36
+ isTTY?: boolean;
37
+ [key: string]: unknown;
38
+ }
39
+ /** The shape the engine's own parts use a writable through. */
40
+ export interface WritableLike {
41
+ write(chunk: unknown, encoding?: unknown, callback?: unknown): boolean;
42
+ end(chunk?: unknown, encoding?: unknown, callback?: unknown): this;
43
+ destroy(error?: Error): this;
44
+ on(event: string, listener: (...args: never[]) => void): this;
45
+ once(event: string, listener: (...args: never[]) => void): this;
46
+ emit(event: string, ...args: unknown[]): boolean;
47
+ writable: boolean;
48
+ destroyed: boolean;
49
+ [key: string]: unknown;
50
+ }
51
+ export interface DuplexLike extends ReadableLike, WritableLike {
52
+ }
53
+ /** Node's own `stream.js`, built by the loader on the first property read. */
54
+ export declare const streamModule: StreamModule;
55
+ /**
56
+ * The classes, and the names the engine's own code uses as TYPES for them:
57
+ * a stream a shim holds is "a Readable", whatever Node's own class is.
58
+ */
59
+ export type Readable = ReadableLike;
60
+ export type Writable = WritableLike;
61
+ export type Duplex = DuplexLike;
62
+ export type Transform = DuplexLike;
63
+ export type PassThrough = DuplexLike;
64
+ export declare const Stream: new (options?: unknown) => unknown;
65
+ export declare const Readable: new (options?: unknown) => ReadableLike;
66
+ export declare const Writable: new (options?: unknown) => WritableLike;
67
+ export declare const Duplex: new (options?: unknown) => DuplexLike;
68
+ export declare const Transform: new (options?: unknown) => DuplexLike;
69
+ export declare const PassThrough: new (options?: unknown) => DuplexLike;
70
+ export declare const pipeline: (...args: unknown[]) => unknown;
71
+ export declare const finished: (...args: unknown[]) => unknown;
72
+ export declare const promises: Record<string, unknown>;
73
+ /** The promise form of `pipeline` and `finished`, as `stream/promises`. */
74
+ export declare const streamPromisesModule: Record<string, unknown>;
75
+ /** Node's `stream` module object IS the `Stream` class, as `stream.js` exports it. */
76
+ export default streamModule;
77
+ //# sourceMappingURL=stream-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-module.d.ts","sourceRoot":"","sources":["../../src/node-lib/stream-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Node's `Timeout`, over whatever the realm's timers answer.
3
+ *
4
+ * Node's timers answer an object -- `ref`, `unref`, `hasRef`, `refresh`, and a
5
+ * primitive conversion to the id -- and Node's own files rely on it:
6
+ * `lib/_http_server.js` writes `setInterval(...).unref()` the moment a server
7
+ * listens. A browser realm answers a number, so the object has to be built
8
+ * here. Two readers need the same one: a guest's global timers, counted
9
+ * against the run's loop in `src/runtime.ts`, and the `timers` module a
10
+ * vendored file requires, in `src/node-lib/public-modules.ts`. They must agree
11
+ * on the shape, because a timer made through one is cleared through the other.
12
+ *
13
+ * This file imports nothing, so both can read it.
14
+ */
15
+ /** Node's `Timeout` over a browser's numeric id; anything else is already a handle. */
16
+ export declare function nodeTimeout(id: unknown): unknown;
17
+ /** The realm's own id inside a {@link nodeTimeout}, for the clear that takes one. */
18
+ export declare function timerHandleOf(id: unknown): unknown;
19
+ //# sourceMappingURL=timers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../src/node-lib/timers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAWhD;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAElD"}
@@ -0,0 +1,76 @@
1
+ /** What `util.inspect` takes. */
2
+ export interface InspectOptions {
3
+ depth?: number | null;
4
+ colors?: boolean;
5
+ showHidden?: boolean;
6
+ customInspect?: boolean;
7
+ showProxy?: boolean;
8
+ maxArrayLength?: number | null;
9
+ maxStringLength?: number | null;
10
+ breakLength?: number;
11
+ compact?: boolean | number;
12
+ sorted?: boolean | ((a: string, b: string) => number);
13
+ getters?: boolean | 'get' | 'set';
14
+ numericSeparator?: boolean;
15
+ }
16
+ /** The whole of Node's `util` module object. */
17
+ export interface UtilModule {
18
+ format(...args: unknown[]): string;
19
+ formatWithOptions(options: InspectOptions, ...args: unknown[]): string;
20
+ inspect: ((value: unknown, options?: InspectOptions) => string) & {
21
+ custom: symbol;
22
+ colors: Record<string, [number, number]>;
23
+ styles: Record<string, string>;
24
+ defaultOptions: InspectOptions;
25
+ };
26
+ promisify: ((fn: (...args: never[]) => void) => (...args: never[]) => Promise<unknown>) & {
27
+ custom: symbol;
28
+ };
29
+ callbackify(fn: (...args: never[]) => Promise<unknown>): (...args: never[]) => void;
30
+ deprecate<T>(fn: T, message: string, code?: string): T;
31
+ debuglog(section: string, callback?: (fn: (...args: unknown[]) => void) => void): (...args: unknown[]) => void;
32
+ debug: UtilModule['debuglog'];
33
+ isDeepStrictEqual(a: unknown, b: unknown): boolean;
34
+ parseArgs(config?: unknown): unknown;
35
+ parseEnv(content: string): Record<string, string>;
36
+ stripVTControlCharacters(value: string): string;
37
+ styleText(format: string | string[], text: string, options?: unknown): string;
38
+ toUSVString(value: string): string;
39
+ transferableAbortController(): AbortController;
40
+ transferableAbortSignal(signal: AbortSignal): AbortSignal;
41
+ aborted(signal: AbortSignal, resource: object): Promise<void>;
42
+ getSystemErrorName(errno: number): string;
43
+ getSystemErrorMap(): Map<number, [string, string]>;
44
+ getCallSites?: (frames?: number) => unknown[];
45
+ types: Record<string, (value: unknown) => boolean>;
46
+ TextEncoder: typeof TextEncoder;
47
+ TextDecoder: typeof TextDecoder;
48
+ MIMEType: unknown;
49
+ MIMEParams: unknown;
50
+ /** Node's deprecated type tests, still exported and still read by old packages. */
51
+ isArray(value: unknown): boolean;
52
+ isDate(value: unknown): boolean;
53
+ isError(value: unknown): boolean;
54
+ isFunction(value: unknown): boolean;
55
+ isNullOrUndefined(value: unknown): boolean;
56
+ isNumber(value: unknown): boolean;
57
+ isObject(value: unknown): boolean;
58
+ isPrimitive(value: unknown): boolean;
59
+ isRegExp(value: unknown): boolean;
60
+ isString(value: unknown): boolean;
61
+ isUndefined(value: unknown): boolean;
62
+ _extend(target: object, source: object): object;
63
+ inherits(constructor: unknown, superConstructor: unknown): void;
64
+ }
65
+ /** Node's own `util.js`, built by the loader on the first property read. */
66
+ export declare const utilModule: UtilModule;
67
+ /** The two names the engine's own parts reach for directly. */
68
+ export declare const inspect: ((value: unknown, options?: InspectOptions) => string) & {
69
+ custom: symbol;
70
+ colors: Record<string, [number, number]>;
71
+ styles: Record<string, string>;
72
+ defaultOptions: InspectOptions;
73
+ };
74
+ export declare const format: (...args: unknown[]) => string;
75
+ export default utilModule;
76
+ //# sourceMappingURL=util-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-module.d.ts","sourceRoot":"","sources":["../../src/node-lib/util-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ export interface ResolutionFs {
2
+ existsSync(path: string): boolean;
3
+ statSync(path: string): {
4
+ isFile(): boolean;
5
+ isDirectory(): boolean;
6
+ };
7
+ readFileSync(path: string, encoding: "utf8"): string | Uint8Array;
8
+ realpathSync?(path: string): string;
9
+ }
10
+ export interface ExportsResolver {
11
+ /** `resolve.exports`'s `resolve(pkg, entry, options)`: package exports or imports, by conditions. */
12
+ resolve(pkg: unknown, entry: string, options?: {
13
+ conditions?: readonly string[];
14
+ unsafe?: boolean;
15
+ require?: boolean;
16
+ browser?: boolean;
17
+ }): string[] | string | void;
18
+ imports(pkg: unknown, entry: string, options?: {
19
+ conditions?: readonly string[];
20
+ unsafe?: boolean;
21
+ require?: boolean;
22
+ browser?: boolean;
23
+ }): string[] | string | void;
24
+ }
25
+ export interface NodeResolverOptions {
26
+ fs: ResolutionFs;
27
+ exports: ExportsResolver;
28
+ /** Condition sets tried in order for a package `exports`/`imports` map; the first that names an existing file wins. */
29
+ conditionSets: readonly (readonly string[])[];
30
+ /** Condition sets for one package by name, where a package is resolved for a side its default sets do not name. */
31
+ conditionSetsFor?: (packageName: string) => readonly (readonly string[])[] | undefined;
32
+ /** File extensions tried after the exact path, in order. Node's are `.js`, `.json`, `.node`. */
33
+ extensions: readonly string[];
34
+ /** Package fields naming the entry of a package without `exports`, in order. Node's is `main` alone. */
35
+ mainFields: readonly string[];
36
+ /** Directories searched after the walk-up, Node's global folders; the engine's `/node_modules`. */
37
+ globalRoots?: readonly string[];
38
+ /** Directories that are workspace members: an entry their build would write is answered by its source. */
39
+ workspaceMembers?: () => ReadonlySet<string> | undefined;
40
+ /** Extensions a member's source may have, when the lane can run them. */
41
+ sourceExtensions?: readonly string[];
42
+ /** A `.cjs` entry whose whole content is a `throw` is a stub for consumers that should import; skip it for the next condition set. */
43
+ skipThrowingCjs?: boolean;
44
+ }
45
+ export interface NodeResolver {
46
+ /** The file a specifier names from a directory, or null when the tree does not answer it. Builtins are the caller's. */
47
+ resolve(specifier: string, fromDir: string): string | null;
48
+ }
49
+ export declare function createNodeResolver(options: NodeResolverOptions): NodeResolver;
50
+ //# sourceMappingURL=node-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-resolution.d.ts","sourceRoot":"","sources":["../src/node-resolution.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,MAAM,IAAI,OAAO,CAAC;QAAC,WAAW,IAAI,OAAO,CAAA;KAAE,CAAC;IACtE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAClE,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,qGAAqG;IACrG,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;IACrK,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;CACtK;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,YAAY,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;IACzB,uHAAuH;IACvH,aAAa,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9C,mHAAmH;IACnH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IACvF,gGAAgG;IAChG,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,wGAAwG;IACxG,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,mGAAmG;IACnG,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,0GAA0G;IAC1G,gBAAgB,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,sIAAsI;IACtI,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,wHAAwH;IACxH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA4L7E"}
@@ -0,0 +1,7 @@
1
+ import { type NodeResolver, type ResolutionFs } from './node-resolution';
2
+ /**
3
+ * The runtime resolves as Node's require does; the bundler as a browser bundler
4
+ * does, module and import entries first and TypeScript sources.
5
+ */
6
+ export declare function __nodeResolverFor(fs: ResolutionFs, profile: 'runtime' | 'bundler', extensions?: readonly string[]): NodeResolver;
7
+ //# sourceMappingURL=node-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-resolver.d.ts","sourceRoot":"","sources":["../src/node-resolver.ts"],"names":[],"mappings":"AASA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI7F;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,CAehI"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * npm Package Manager
3
+ * Orchestrates package installation into the virtual file system
4
+ */
5
+ import { VirtualFS } from '../virtual-fs';
6
+ import { RegistryOptions } from './registry';
7
+ import { ResolvedPackage } from './resolver';
8
+ /** Turn the install's rewrite pass back on. Nothing in the engine does. */
9
+ export declare function setInstallTransformEnabled(enabled: boolean): void;
10
+ export interface InstallOptions {
11
+ registry?: string;
12
+ save?: boolean;
13
+ saveDev?: boolean;
14
+ includeDev?: boolean;
15
+ includeOptional?: boolean;
16
+ onProgress?: (message: string) => void;
17
+ /** Transform ESM packages to CJS after install (default: true) */
18
+ transform?: boolean;
19
+ }
20
+ export interface InstallResult {
21
+ installed: Map<string, ResolvedPackage>;
22
+ added: string[];
23
+ }
24
+ /**
25
+ * npm Package Manager for VirtualFS
26
+ */
27
+ export declare class PackageManager {
28
+ private vfs;
29
+ private registry;
30
+ private cwd;
31
+ constructor(vfs: VirtualFS, options?: {
32
+ cwd?: string;
33
+ } & RegistryOptions);
34
+ /**
35
+ * Install a package and its dependencies
36
+ */
37
+ install(packageSpec: string, options?: InstallOptions): Promise<InstallResult>;
38
+ /**
39
+ * Install all dependencies from package.json
40
+ */
41
+ installFromPackageJson(options?: InstallOptions): Promise<InstallResult>;
42
+ /**
43
+ * Install resolved packages to node_modules
44
+ */
45
+ private installResolved;
46
+ /**
47
+ * Write lockfile with resolved versions
48
+ */
49
+ private writeLockfile;
50
+ /**
51
+ * Update package.json with new dependency
52
+ */
53
+ private updatePackageJson;
54
+ /**
55
+ * List installed packages
56
+ */
57
+ list(): Record<string, string>;
58
+ }
59
+ /**
60
+ * Parse a package specifier into name and version
61
+ * Examples: "express", "express@4.18.2", "@types/node@18"
62
+ */
63
+ declare function parsePackageSpec(spec: string): {
64
+ name: string;
65
+ version?: string;
66
+ };
67
+ export declare function install(packageSpec: string, vfs: VirtualFS, options?: InstallOptions): Promise<InstallResult>;
68
+ export { Registry } from './registry';
69
+ export type { RegistryOptions, PackageVersion, PackageManifest } from './registry';
70
+ export type { ResolvedPackage, ResolveOptions } from './resolver';
71
+ export type { ExtractOptions } from './tarball';
72
+ export { parsePackageSpec };
73
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/npm/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAY,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAGL,eAAe,EAGhB,MAAM,YAAY,CAAC;AAqBpB,2EAA2E;AAC3E,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEjE;AAgBD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,SAAS,EAAE,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAoB;IAM5E;;OAEG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IAoCzB;;OAEG;IACG,sBAAsB,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmClF;;OAEG;YACW,eAAe;IAsH7B;;OAEG;YACW,aAAa;IAgB3B;;OAEG;YACW,iBAAiB;IAwB/B;;OAEG;IACH,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAqC/B;AAED;;;GAGG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA+B1E;AAGD,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,CAGxB;AAGD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * npm Registry Client
3
+ * Fetches package metadata from npm registry
4
+ */
5
+ export interface PackageVersion {
6
+ name: string;
7
+ version: string;
8
+ dependencies?: Record<string, string>;
9
+ devDependencies?: Record<string, string>;
10
+ peerDependencies?: Record<string, string>;
11
+ peerDependenciesMeta?: Record<string, {
12
+ optional?: boolean;
13
+ }>;
14
+ optionalDependencies?: Record<string, string>;
15
+ dist: {
16
+ tarball: string;
17
+ shasum: string;
18
+ integrity?: string;
19
+ };
20
+ main?: string;
21
+ module?: string;
22
+ exports?: Record<string, unknown>;
23
+ bin?: Record<string, string> | string;
24
+ }
25
+ export interface PackageManifest {
26
+ name: string;
27
+ 'dist-tags': {
28
+ latest: string;
29
+ [tag: string]: string;
30
+ };
31
+ versions: Record<string, PackageVersion>;
32
+ time?: Record<string, string>;
33
+ }
34
+ export interface RegistryOptions {
35
+ registry?: string;
36
+ /** An `@scope`, or a whole unscoped name, to the registry that answers for it. */
37
+ registryScopes?: Record<string, string>;
38
+ cache?: Map<string, PackageManifest>;
39
+ }
40
+ declare global {
41
+ /**
42
+ * The version a lockfile recorded for a name, as the page read it: enough
43
+ * to stand in for the registry's document without fetching the packument.
44
+ */
45
+ var __browserRuntimeLockfileManifests: Map<string, LockfileVersionDoc> | undefined;
46
+ /**
47
+ * An `@scope`, or a whole unscoped name, to the registry that answers for
48
+ * it. The engine builds its package manager itself, with no options of
49
+ * ours, so a page's scopes arrive the way the lockfile's records do.
50
+ */
51
+ var __browserRuntimeRegistryScopes: Record<string, string> | undefined;
52
+ }
53
+ /** One version's record in a lockfile, as the page hands it over. */
54
+ export interface LockfileVersionDoc {
55
+ version: string;
56
+ dependencies?: Record<string, string>;
57
+ peerDependencies?: Record<string, string>;
58
+ peerDependenciesMeta?: Record<string, {
59
+ optional?: boolean;
60
+ }>;
61
+ optionalDependencies?: Record<string, string>;
62
+ }
63
+ export declare class Registry {
64
+ registryUrl: string;
65
+ registryScopes?: Record<string, string>;
66
+ private cache;
67
+ constructor(options?: RegistryOptions);
68
+ /**
69
+ * Which registry answers for a name: the one its scope is served from,
70
+ * or the one its whole name is, and otherwise the default.
71
+ *
72
+ * A project may carry packages of its own that no public registry has: a
73
+ * private SDK, a twin, a package built in the same workspace but never
74
+ * published. Asking one registry for every name meant npm answered 404 for
75
+ * the scope and the install failed with nothing the project could do short
76
+ * of publishing.
77
+ */
78
+ registryFor(packageName: string): string;
79
+ /**
80
+ * Fetch package manifest (all versions metadata)
81
+ */
82
+ getPackageManifest(packageName: string): Promise<PackageManifest>;
83
+ /**
84
+ * Get specific version metadata
85
+ */
86
+ getPackageVersion(packageName: string, version: string): Promise<PackageVersion>;
87
+ /**
88
+ * Get latest version number
89
+ */
90
+ getLatestVersion(packageName: string): Promise<string>;
91
+ /**
92
+ * Get all available versions
93
+ */
94
+ getVersions(packageName: string): Promise<string[]>;
95
+ /**
96
+ * Download tarball as ArrayBuffer
97
+ */
98
+ downloadTarball(tarballUrl: string): Promise<ArrayBuffer>;
99
+ /**
100
+ * Clear the cache
101
+ */
102
+ clearCache(): void;
103
+ }
104
+ /**
105
+ * Encode scoped package names for URL
106
+ * @scoped/package -> @scoped%2fpackage
107
+ */
108
+ export declare function encodePackageName(name: string): string;
109
+ export declare const registry: Registry;
110
+ export default Registry;
111
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/npm/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Dependency Resolver
3
+ * Resolves full dependency tree with semver version constraints
4
+ */
5
+ import { Registry } from './registry';
6
+ declare global {
7
+ /**
8
+ * The lockfile the page read for the project being installed, name to the
9
+ * version it pinned. The engine builds its package manager itself, with no
10
+ * options of ours, so the page hands the records over through globals.
11
+ */
12
+ var __browserRuntimeLockfilePins: Map<string, string> | undefined;
13
+ /** Every version the lockfile recorded, by package name and then version. */
14
+ var __browserRuntimeLockfileRecords: Map<string, Map<string, LockfileRecord>> | undefined;
15
+ }
16
+ /** One version as a lockfile wrote it down. */
17
+ export interface LockfileRecord {
18
+ resolved?: string;
19
+ dependencies?: Record<string, string>;
20
+ peerDependencies?: Record<string, string>;
21
+ peerDependenciesMeta?: Record<string, {
22
+ optional?: boolean;
23
+ }>;
24
+ optionalDependencies?: Record<string, string>;
25
+ }
26
+ export interface ResolvedPackage {
27
+ name: string;
28
+ version: string;
29
+ tarballUrl: string;
30
+ dependencies: Record<string, string>;
31
+ }
32
+ /**
33
+ * Every package at the top of the tree, plus, under `__nested`, the ones a
34
+ * dependent gets under its own `node_modules`, keyed by their placement.
35
+ */
36
+ export interface ResolvedTree extends Map<string, ResolvedPackage> {
37
+ __nested?: Map<string, ResolvedPackage>;
38
+ }
39
+ export interface ResolveOptions {
40
+ registry?: Registry;
41
+ includeDev?: boolean;
42
+ includeOptional?: boolean;
43
+ onProgress?: (message: string) => void;
44
+ }
45
+ /**
46
+ * Parse a semver version string into components
47
+ */
48
+ declare function parseVersion(version: string): {
49
+ major: number;
50
+ minor: number;
51
+ patch: number;
52
+ prerelease?: string;
53
+ } | null;
54
+ /**
55
+ * Compare two semver versions
56
+ * Returns: -1 if a < b, 0 if a == b, 1 if a > b
57
+ */
58
+ declare function compareVersions(a: string, b: string): number;
59
+ /**
60
+ * Check if a version satisfies a semver range
61
+ */
62
+ declare function satisfies(version: string, range: string): boolean;
63
+ /**
64
+ * Find the best matching version from available versions
65
+ */
66
+ declare function findBestVersion(versions: string[], range: string): string | null;
67
+ /**
68
+ * Resolve all dependencies for a package
69
+ */
70
+ export declare function resolveDependencies(packageName: string, versionRange?: string, options?: ResolveOptions): Promise<Map<string, ResolvedPackage>>;
71
+ /**
72
+ * Resolve dependencies from a package.json
73
+ */
74
+ export declare function resolveFromPackageJson(packageJson: {
75
+ dependencies?: Record<string, string>;
76
+ devDependencies?: Record<string, string>;
77
+ }, options?: ResolveOptions): Promise<Map<string, ResolvedPackage>>;
78
+ export { parseVersion, compareVersions, satisfies, findBestVersion };
79
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/npm/resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAqC,MAAM,YAAY,CAAC;AAEzE,OAAO,CAAC,MAAM,CAAC;IACb;;;;OAIG;IAEH,IAAI,4BAA4B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAClE,6EAA6E;IAE7E,IAAI,+BAA+B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3F;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAChE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAaD;;GAEG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAUP;AAED;;;GAGG;AACH,iBAAS,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BrD;AAED;;GAEG;AACH,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAqK1D;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYzE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,MAAiB,EAC/B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAavC;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE;IACX,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,EACD,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CA8CvC;AAkND,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Tarball Extractor
3
+ * Downloads and extracts npm package tarballs into the virtual file system
4
+ */
5
+ import { VirtualFS } from '../virtual-fs';
6
+ export interface ExtractOptions {
7
+ stripComponents?: number;
8
+ filter?: (path: string) => boolean;
9
+ onProgress?: (message: string) => void;
10
+ }
11
+ /**
12
+ * Decompress gzipped data
13
+ */
14
+ export declare function decompress(data: ArrayBuffer | Uint8Array): Uint8Array;
15
+ /**
16
+ * Extract a tarball to the virtual file system
17
+ */
18
+ export declare function extractTarball(tarballData: ArrayBuffer | Uint8Array, vfs: VirtualFS, destPath: string, options?: ExtractOptions): string[];
19
+ /** Run `work` over `items` with `size` of them in flight, each lane taking the next. */
20
+ export declare function __browserRuntimeInstallPool<T>(items: T[], size: number, work: (item: T) => Promise<void>): Promise<void>;
21
+ export declare function downloadAndExtract(url: string, vfs: VirtualFS, destPath: string, options?: ExtractOptions): Promise<string[]>;
22
+ declare const _default: {
23
+ decompress: typeof decompress;
24
+ extractTarball: typeof extractTarball;
25
+ downloadAndExtract: typeof downloadAndExtract;
26
+ };
27
+ export default _default;
28
+ //# sourceMappingURL=tarball.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tarball.d.ts","sourceRoot":"","sources":["../../src/npm/tarball.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AA0HD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,CAGrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,GAAG,UAAU,EACrC,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,MAAM,EAAE,CAkDV;AAQD,wFAAwF;AACxF,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9H;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;;;;;;AAED,wBAIE"}