@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,259 @@
1
+ /**
2
+ * `internalBinding('zlib')`: Node's own `zlib.js` over zlib's own algorithm.
3
+ *
4
+ * WHICH IMPLEMENTATION, AND WHY IT IS NOT A WASM BUILD. The engine's `zlib`
5
+ * was a hand-written wrapper; Node's `zlib.js` wants a handle with an
6
+ * `init`/`write`/`writeSync`/`params`/`reset` shape whose every call writes
7
+ * into a buffer the CALLER owns, at the caller's offset, and reports back
8
+ * how much input was left and how much of that buffer is still free. That is
9
+ * zlib's `z_stream`, which is what Node's C++ binding drives.
10
+ *
11
+ * pako's public `Inflate`/`Deflate` cannot answer it, and this was measured
12
+ * rather than assumed: given a caller's output buffer they write into it and
13
+ * then, the instant it fills, REPLACE it with one of their own and carry on
14
+ * consuming -- the whole input disappears into buffers the caller never sees,
15
+ * and there is no per-call `avail_in` to re-enter with. That loop is the very
16
+ * thing `zlib.js` exists to drive.
17
+ *
18
+ * pako's `lib/zlib/*` is the layer below that loop: zlib's own inflate and
19
+ * deflate, ported line for line, taking a `z_stream` and honouring
20
+ * `next_out`, `avail_out`, `next_in` and `avail_in` exactly as the C does. It
21
+ * is the same interface Node's own binding sits on, so that is where this
22
+ * binding sits.
23
+ *
24
+ * A wasm build of zlib would have been the closer mirror, as llhttp's was for
25
+ * `http`, and there is none to vendor: no zlib wasm exists anywhere on this
26
+ * box, npm's `zlib-wasm` is one maintainer, two versions, and depends on pako
27
+ * itself, and compiling `deps/zlib` here would mean running a C toolchain,
28
+ * which this product does not do. The row in FORK.md says the same.
29
+ */
30
+ import { zstream, inflateModule, deflateModule, zlibConstants } from './zlib-pako';
31
+
32
+ /** Node's `zlib` modes, by the numbers `zlib.js` passes. */
33
+ const DEFLATE = 1;
34
+ const INFLATE = 2;
35
+ const GZIP = 3;
36
+ const GUNZIP = 4;
37
+ const DEFLATERAW = 5;
38
+ const INFLATERAW = 6;
39
+ const UNZIP = 7;
40
+
41
+ type ProcessCallback = () => void;
42
+
43
+ /**
44
+ * One compression or decompression stream. Node makes one per `Gzip`,
45
+ * `Inflate` and the rest, initializes it once, and then drives it a buffer at
46
+ * a time until its input is gone.
47
+ */
48
+ export class Zlib {
49
+ #strm: Record<string, unknown> | null = null;
50
+ #writeState: Uint32Array | null = null;
51
+ #callback: ProcessCallback | null = null;
52
+ #level = zlibConstants.Z_DEFAULT_COMPRESSION;
53
+ #strategy = zlibConstants.Z_DEFAULT_STRATEGY;
54
+ #windowBits = 15;
55
+ #memLevel = 8;
56
+ #dictionary: Uint8Array | undefined;
57
+ #ended = false;
58
+ /** `zlib.js` hangs its own error reporter here. */
59
+ onerror: ((message: string, errno: number, code?: string) => void) | null = null;
60
+
61
+ constructor(public readonly mode: number) {}
62
+
63
+ get #inflating(): boolean {
64
+ return this.mode === INFLATE || this.mode === GUNZIP || this.mode === INFLATERAW || this.mode === UNZIP;
65
+ }
66
+
67
+ /**
68
+ * The window a mode asks for, in zlib's own encoding: a raw stream is a
69
+ * negative window, gzip adds sixteen, and `unzip` -- which decides between
70
+ * zlib and gzip by reading the header -- adds thirty-two.
71
+ */
72
+ #windowFor(windowBits: number): number {
73
+ if (this.mode === DEFLATERAW || this.mode === INFLATERAW) return -windowBits;
74
+ if (this.mode === GZIP || this.mode === GUNZIP) return windowBits + 16;
75
+ if (this.mode === UNZIP) return windowBits + 32;
76
+ return windowBits;
77
+ }
78
+
79
+ init(
80
+ windowBits: number, level: number, memLevel: number, strategy: number,
81
+ writeState: Uint32Array, processCallback: ProcessCallback, dictionary?: Uint8Array,
82
+ ): void {
83
+ this.#windowBits = windowBits;
84
+ this.#level = level;
85
+ this.#memLevel = memLevel;
86
+ this.#strategy = strategy;
87
+ this.#writeState = writeState;
88
+ this.#callback = processCallback;
89
+ this.#dictionary = dictionary;
90
+ this.#start();
91
+ }
92
+
93
+ #start(): void {
94
+ const strm = zstream();
95
+ const window = this.#windowFor(this.#windowBits);
96
+ const status = this.#inflating
97
+ ? inflateModule.inflateInit2(strm, window)
98
+ : deflateModule.deflateInit2(strm, this.#level, zlibConstants.Z_DEFLATED, window, this.#memLevel, this.#strategy);
99
+ if (status !== zlibConstants.Z_OK) { this.#fail(status, strm); return; }
100
+ if (this.#dictionary && this.#dictionary.length > 0 && !this.#inflating) {
101
+ deflateModule.deflateSetDictionary(strm, this.#dictionary);
102
+ }
103
+ this.#strm = strm;
104
+ this.#ended = false;
105
+ }
106
+
107
+ /** What zlib said went wrong, reported the way `zlib.js` reports it. */
108
+ #fail(status: number, strm?: Record<string, unknown>): void {
109
+ const message = (strm?.msg as string | undefined) ?? zlibConstants.messages[status] ?? 'zlib error';
110
+ this.onerror?.(message, status, `Z_${status}`);
111
+ }
112
+
113
+ /** The shared pair `zlib.js` reads after every call: output free, input left. */
114
+ #report(strm: Record<string, unknown>): void {
115
+ const state = this.#writeState;
116
+ if (!state) return;
117
+ state[0] = strm.avail_out as number;
118
+ state[1] = strm.avail_in as number;
119
+ }
120
+
121
+ #run(
122
+ flush: number, inBuf: Uint8Array | null, inOff: number, inLen: number,
123
+ outBuf: Uint8Array, outOff: number, outLen: number,
124
+ ): void {
125
+ const strm = this.#strm;
126
+ if (!strm) { this.onerror?.('zlib: write after close', zlibConstants.Z_STREAM_ERROR); return; }
127
+ strm.input = inBuf ?? new Uint8Array(0);
128
+ strm.next_in = inOff;
129
+ strm.avail_in = inLen;
130
+ strm.output = outBuf;
131
+ strm.next_out = outOff;
132
+ strm.avail_out = outLen;
133
+ const status = this.#inflating
134
+ ? inflateModule.inflate(strm, flush)
135
+ : deflateModule.deflate(strm, flush);
136
+ if (status === zlibConstants.Z_NEED_DICT && this.#dictionary) {
137
+ const dictStatus = inflateModule.inflateSetDictionary(strm, this.#dictionary);
138
+ if (dictStatus === zlibConstants.Z_OK) {
139
+ const again = inflateModule.inflate(strm, flush);
140
+ if (again !== zlibConstants.Z_OK && again !== zlibConstants.Z_STREAM_END && again !== zlibConstants.Z_BUF_ERROR) {
141
+ this.#fail(again, strm); return;
142
+ }
143
+ this.#report(strm);
144
+ return;
145
+ }
146
+ this.#fail(dictStatus, strm);
147
+ return;
148
+ }
149
+ // `Z_BUF_ERROR` is zlib saying it made no progress, which is an ordinary
150
+ // answer when the caller's buffer is full or its input is spent; Node's
151
+ // own binding treats it as one and asks again.
152
+ if (status !== zlibConstants.Z_OK && status !== zlibConstants.Z_STREAM_END && status !== zlibConstants.Z_BUF_ERROR) {
153
+ this.#fail(status, strm);
154
+ return;
155
+ }
156
+ if (status === zlibConstants.Z_STREAM_END) this.#ended = true;
157
+ this.#report(strm);
158
+ }
159
+
160
+ write(
161
+ flush: number, inBuf: Uint8Array | null, inOff: number, inLen: number,
162
+ outBuf: Uint8Array, outOff: number, outLen: number,
163
+ ): this {
164
+ // Node's own binding does this work on the thread pool and calls back;
165
+ // a tab has one thread, so the work is done here and the callback is the
166
+ // next tick, which is the difference a program can observe.
167
+ const tick = (globalThis as { process?: { nextTick?: (fn: () => void) => void } }).process?.nextTick
168
+ ?? ((fn: () => void) => { queueMicrotask(fn); });
169
+ tick(() => {
170
+ this.#run(flush, inBuf, inOff, inLen, outBuf, outOff, outLen);
171
+ this.#callback?.();
172
+ });
173
+ return this;
174
+ }
175
+
176
+ writeSync(
177
+ flush: number, inBuf: Uint8Array | null, inOff: number, inLen: number,
178
+ outBuf: Uint8Array, outOff: number, outLen: number,
179
+ ): this {
180
+ this.#run(flush, inBuf, inOff, inLen, outBuf, outOff, outLen);
181
+ return this;
182
+ }
183
+
184
+ /**
185
+ * `deflateParams` mid-stream. pako's deflate does not carry it, so the
186
+ * level and strategy are taken by starting the stream again -- which is
187
+ * what zlib does when the two cannot be changed in place, and is only
188
+ * reachable before any output has been produced.
189
+ */
190
+ params(level: number, strategy: number): void {
191
+ this.#level = level;
192
+ this.#strategy = strategy;
193
+ if (!this.#inflating) { this.#end(); this.#start(); }
194
+ }
195
+
196
+ reset(): void {
197
+ const strm = this.#strm;
198
+ if (!strm) { this.#start(); return; }
199
+ const status = this.#inflating ? inflateModule.inflateReset(strm) : deflateModule.deflateReset(strm);
200
+ if (status !== zlibConstants.Z_OK) this.#fail(status, strm);
201
+ this.#ended = false;
202
+ }
203
+
204
+ #end(): void {
205
+ const strm = this.#strm;
206
+ if (!strm) return;
207
+ try { if (this.#inflating) inflateModule.inflateEnd(strm); else deflateModule.deflateEnd(strm); }
208
+ catch { /* a stream already ended is ended */ }
209
+ this.#strm = null;
210
+ }
211
+
212
+ close(): void { this.#end(); this.#callback = null; this.#writeState = null; }
213
+
214
+ /** Node asks a handle for these two after a `Z_STREAM_END`. */
215
+ get ended(): boolean { return this.#ended; }
216
+ }
217
+
218
+ /**
219
+ * The codecs this engine does not carry, refused by name.
220
+ *
221
+ * Node's own `zlib.js` exports `BrotliCompress`, `ZstdCompress` and their
222
+ * families whatever the build has, and each one reaches for a constructor on
223
+ * this binding. Without these a program got `binding.ZstdCompress is not a
224
+ * constructor`, which says nothing about why; with them it is told what is
225
+ * missing and what the engine does carry. This is the same refusal the
226
+ * engine gives for `dgram` or `http2`: a door that states its own absence.
227
+ */
228
+ function absentCodec(name: string, reason: string): new (...args: unknown[]) => never {
229
+ return class AbsentCodec {
230
+ constructor() {
231
+ throw Object.assign(
232
+ new Error(`zlib: ${name} is not in this engine. ${reason}`),
233
+ { code: 'ERR_NOT_IMPLEMENTED' },
234
+ );
235
+ }
236
+ } as unknown as new (...args: unknown[]) => never;
237
+ }
238
+
239
+ const BROTLI_REASON =
240
+ 'Brotli is a codec of its own, not zlib; the engine has a wasm build of it as a dependency ' +
241
+ 'but no binding for Node\'s Brotli handle yet. `zlib.gzip`, `deflate` and `inflate` are Node\'s own here.';
242
+ const ZSTD_REASON =
243
+ 'Zstandard is a codec of its own and this engine has no implementation of it at all. ' +
244
+ '`zlib.gzip`, `deflate` and `inflate` are Node\'s own here.';
245
+
246
+ export const zlibBinding = {
247
+ Zlib,
248
+ BrotliEncoder: absentCodec('Brotli compression', BROTLI_REASON),
249
+ BrotliDecoder: absentCodec('Brotli decompression', BROTLI_REASON),
250
+ ZstdCompress: absentCodec('Zstandard compression', ZSTD_REASON),
251
+ ZstdDecompress: absentCodec('Zstandard decompression', ZSTD_REASON),
252
+ /** `zlib.crc32`, which is zlib's own table-driven one. */
253
+ crc32: (data: Uint8Array | string, value = 0): number => {
254
+ const bytes = typeof data === 'string' ? new TextEncoder().encode(data) : data;
255
+ return zlibConstants.crc32(value, bytes, bytes.length, 0) >>> 0;
256
+ },
257
+ };
258
+
259
+ export default zlibBinding;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * `buffer`, as Node's own `lib/buffer.js`.
3
+ *
4
+ * What died: the engine's `Buffer` was hand-written inside `shims/stream.ts`,
5
+ * a `Uint8Array` subclass with the methods one program after another turned
6
+ * out to need. Node's own `test-buffer-*`: 15 of 64 passed.
7
+ *
8
+ * What this is: Node's `lib/buffer.js` and `lib/internal/buffer.js`
9
+ * v22.18.0, vendored unmodified, on the binding in `./binding/buffer.ts` --
10
+ * encode, decode, compare, search, fill, copy, swap, over `TextEncoder`,
11
+ * `TextDecoder` and the realm's own base64, and nothing above it. `alloc`,
12
+ * `concat`, `toString`, `write`, `readInt32BE` and the rest are Node's own
13
+ * code.
14
+ *
15
+ * The rule for this file: it binds, it does not implement.
16
+ */
17
+ import { lazyModule, lazyExport } from './lazy';
18
+
19
+ /** Node's `Buffer`, as the engine's own parts use it. */
20
+ export interface BufferConstructor {
21
+ new (size: number): NodeBuffer;
22
+ from(value: unknown, encodingOrOffset?: unknown, length?: number): NodeBuffer;
23
+ alloc(size: number, fill?: unknown, encoding?: string): NodeBuffer;
24
+ allocUnsafe(size: number): NodeBuffer;
25
+ allocUnsafeSlow(size: number): NodeBuffer;
26
+ concat(list: readonly Uint8Array[], totalLength?: number): NodeBuffer;
27
+ isBuffer(value: unknown): boolean;
28
+ isEncoding(encoding: string): boolean;
29
+ byteLength(value: unknown, encoding?: string): number;
30
+ compare(a: Uint8Array, b: Uint8Array): number;
31
+ poolSize: number;
32
+ prototype: NodeBuffer;
33
+ }
34
+
35
+ /** The whole of Node's `buffer` module object. */
36
+ export interface BufferModule {
37
+ Buffer: BufferConstructor;
38
+ SlowBuffer: (size: number) => Uint8Array;
39
+ kMaxLength: number;
40
+ kStringMaxLength: number;
41
+ INSPECT_MAX_BYTES: number;
42
+ constants: { MAX_LENGTH: number; MAX_STRING_LENGTH: number };
43
+ atob(input: string): string;
44
+ btoa(input: string): string;
45
+ isUtf8(value: Uint8Array): boolean;
46
+ isAscii(value: Uint8Array): boolean;
47
+ transcode?: (source: Uint8Array, from: string, to: string) => Uint8Array;
48
+ Blob: unknown;
49
+ File: unknown;
50
+ resolveObjectURL: unknown;
51
+ }
52
+
53
+ /** Node's own `buffer.js`, built by the loader on the first property read. */
54
+ export const bufferModule = lazyModule<BufferModule>('buffer');
55
+
56
+ /**
57
+ * Node's `Buffer`, which is the one every part of the engine uses. The type
58
+ * is `Uint8Array` with Node's own methods on it: TypeScript's `Buffer` comes
59
+ * from `@types/node` and describes the host's, not this one.
60
+ */
61
+ /**
62
+ * The type of one of these buffers. At runtime it is Node's own `Buffer`, so
63
+ * the type is the one `@types/node` describes: every part of the engine was
64
+ * written against that name and means this object by it.
65
+ */
66
+ export type NodeBuffer = Buffer;
67
+
68
+ export const Buffer = lazyExport<BufferConstructor>('buffer', 'Buffer');
69
+
70
+ export default bufferModule;