@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,82 @@
1
+ /**
2
+ * `createFsShim`: Node's own `fs`, over a tree a caller names.
3
+ *
4
+ * This file was 1,764 lines: a hand-written imitation of Node's whole `fs`
5
+ * layer -- every validation, every encoding, `Stats`, `Dirent`, the streams,
6
+ * the promises and the error messages -- over the engine's virtual
7
+ * filesystem. v0.2.14-volter.56 made a guest's `require('fs')` Node's own
8
+ * file on a binding, and the imitation stayed only because the engine's own
9
+ * parts still called it. This is what they call, and nothing more.
10
+ *
11
+ * WHO CALLS IT, and why it cannot simply be the module: Node's `fs` is one
12
+ * module for the whole engine and reads its tree off the process of the run
13
+ * whose code is executing. Three callers have a tree but are not a run --
14
+ * the engine hands WASI one, the substrate builds with rolldown over a
15
+ * project's, and the Next dev server reads one -- so each call made through
16
+ * here names its tree for the length of that call, and inside it Node's own
17
+ * `fs` runs unchanged.
18
+ */
19
+ import { fsModule } from '../node-lib/fs-module';
20
+ import { withFilesystem } from '../node-lib/binding/fs';
21
+ import type { VirtualFS } from '../virtual-fs';
22
+
23
+ /** Node's `fs`, as a caller of `createFsShim` reads it: the module is Node's own file, so its shape is Node's. */
24
+ export type FsShim = typeof import('node:fs');
25
+
26
+ /** One function, or one nested object of them, bound to a tree. */
27
+ function boundTo(tree: VirtualFS, value: unknown): unknown {
28
+ if (typeof value === 'function') {
29
+ return (...args: unknown[]): unknown => withFilesystem(tree, () => (value as (...a: unknown[]) => unknown)(...args));
30
+ }
31
+ // `fs.promises` and `fs.constants` are objects of their own; the first
32
+ // needs the same binding, the second is numbers.
33
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
34
+ return new Proxy(value as object, {
35
+ get: (target, key) => boundTo(tree, Reflect.get(target, key)),
36
+ });
37
+ }
38
+ return value;
39
+ }
40
+
41
+ /**
42
+ * Node's `fs` is an ordinary module object, and a program may define on it:
43
+ * `graceful-fs` -- which half of npm loads, openvscode-server through
44
+ * `fs-extra` and `@vscode/deviceid` -- writes its queue onto the module with
45
+ * `Object.defineProperty(fs, Symbol.for('graceful-fs.queue'), { get() {…} })`
46
+ * and then clones the module, which walks its keys. Every trap below read the
47
+ * module and none read the proxy's own target, so a guest's define landed
48
+ * where nothing looked: the read came back `undefined`, `key in fs` answered
49
+ * false for a key the target held non-configurable, and `Reflect.ownKeys(fs)`
50
+ * threw `'ownKeys' on proxy: trap result did not include
51
+ * 'Symbol(graceful-fs.queue)'` -- a proxy may not hide a non-configurable own
52
+ * key of its target. graceful-fs threw out of its own module load, and every
53
+ * program that loads it died there: in the substrate's tab that was
54
+ * openvscode-server's server at boot and its extension host, which exited 1
55
+ * without a word because a forked host's console goes to its parent over IPC.
56
+ *
57
+ * What a guest writes is the guest's, and what it did not write is the
58
+ * module's; the guest global's proxy in `src/runtime.ts` answers the same way.
59
+ */
60
+ export function createFsShim(tree: VirtualFS, _getCwd?: () => string): FsShim {
61
+ const own = (target: object, key: PropertyKey): boolean =>
62
+ Reflect.getOwnPropertyDescriptor(target, key) !== undefined;
63
+ return new Proxy({} as FsShim, {
64
+ get: (target, key, receiver) => (own(target, key)
65
+ ? Reflect.get(target, key, receiver)
66
+ : boundTo(tree, Reflect.get(fsModule as object, key))),
67
+ has: (target, key) => own(target, key) || Reflect.has(fsModule as object, key),
68
+ ownKeys: (target) => {
69
+ const keys = Reflect.ownKeys(target);
70
+ for (const key of Reflect.ownKeys(fsModule as object)) if (!keys.includes(key)) keys.push(key);
71
+ return keys;
72
+ },
73
+ getOwnPropertyDescriptor: (target, key) => {
74
+ const mine = Reflect.getOwnPropertyDescriptor(target, key);
75
+ if (mine !== undefined) return mine;
76
+ const descriptor = Reflect.getOwnPropertyDescriptor(fsModule as object, key);
77
+ return descriptor === undefined ? undefined : { ...descriptor, configurable: true };
78
+ },
79
+ });
80
+ }
81
+
82
+ export default createFsShim;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * http2 shim - HTTP/2 is not available in browser
3
+ */
4
+
5
+ import { EventEmitter } from '../node-lib/events-module';
6
+
7
+ export class Http2Session extends EventEmitter {
8
+ close(_callback?: () => void): void {
9
+ if (_callback) setTimeout(_callback, 0);
10
+ }
11
+ destroy(_error?: Error, _code?: number): void {}
12
+ get destroyed(): boolean { return false; }
13
+ get encrypted(): boolean { return false; }
14
+ get closed(): boolean { return false; }
15
+ ping(_callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean {
16
+ return false;
17
+ }
18
+ ref(): void {}
19
+ unref(): void {}
20
+ setTimeout(_msecs: number, _callback?: () => void): void {}
21
+ }
22
+
23
+ export class ClientHttp2Session extends Http2Session {}
24
+ export class ServerHttp2Session extends Http2Session {}
25
+
26
+ export class Http2Stream extends EventEmitter {
27
+ close(_code?: number, _callback?: () => void): void {}
28
+ get id(): number { return 0; }
29
+ get pending(): boolean { return false; }
30
+ get destroyed(): boolean { return false; }
31
+ get closed(): boolean { return false; }
32
+ priority(_options: unknown): void {}
33
+ setTimeout(_msecs: number, _callback?: () => void): void {}
34
+ end(_data?: unknown, _encoding?: string, _callback?: () => void): void {}
35
+ }
36
+
37
+ export class Http2ServerRequest extends EventEmitter {}
38
+ export class Http2ServerResponse extends EventEmitter {
39
+ writeHead(_statusCode: number, _headers?: object): this { return this; }
40
+ end(_data?: unknown): void {}
41
+ }
42
+
43
+ export function createServer(_options?: unknown, _onRequestHandler?: unknown): EventEmitter {
44
+ return new EventEmitter();
45
+ }
46
+
47
+ export function createSecureServer(_options?: unknown, _onRequestHandler?: unknown): EventEmitter {
48
+ return new EventEmitter();
49
+ }
50
+
51
+ export function connect(_authority: string, _options?: unknown, _listener?: () => void): ClientHttp2Session {
52
+ return new ClientHttp2Session();
53
+ }
54
+
55
+ export const constants = {
56
+ NGHTTP2_SESSION_SERVER: 0,
57
+ NGHTTP2_SESSION_CLIENT: 1,
58
+ HTTP2_HEADER_STATUS: ':status',
59
+ HTTP2_HEADER_METHOD: ':method',
60
+ HTTP2_HEADER_AUTHORITY: ':authority',
61
+ HTTP2_HEADER_SCHEME: ':scheme',
62
+ HTTP2_HEADER_PATH: ':path',
63
+ HTTP_STATUS_OK: 200,
64
+ HTTP_STATUS_NOT_FOUND: 404,
65
+ };
66
+
67
+ export function getDefaultSettings(): object {
68
+ return {};
69
+ }
70
+
71
+ export function getPackedSettings(_settings?: object): Buffer {
72
+ return Buffer.from('');
73
+ }
74
+
75
+ export function getUnpackedSettings(_buf: Buffer): object {
76
+ return {};
77
+ }
78
+
79
+ export const sensitiveHeaders = Symbol('sensitiveHeaders');
80
+
81
+ export default {
82
+ Http2Session,
83
+ ClientHttp2Session,
84
+ ServerHttp2Session,
85
+ Http2Stream,
86
+ Http2ServerRequest,
87
+ Http2ServerResponse,
88
+ createServer,
89
+ createSecureServer,
90
+ connect,
91
+ constants,
92
+ getDefaultSettings,
93
+ getPackedSettings,
94
+ getUnpackedSettings,
95
+ sensitiveHeaders,
96
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * inspector shim - V8 inspector is not available in browser
3
+ */
4
+
5
+ import { EventEmitter } from '../node-lib/events-module';
6
+
7
+ export class Session extends EventEmitter {
8
+ connect(): void {}
9
+ connectToMainThread(): void {}
10
+ disconnect(): void {}
11
+ post(_method: string, _params?: object, _callback?: (err: Error | null, result?: object) => void): void {
12
+ if (_callback) setTimeout(() => _callback(null, {}), 0);
13
+ }
14
+ }
15
+
16
+ export function open(_port?: number, _host?: string, _wait?: boolean): void {}
17
+ export function close(): void {}
18
+ export function url(): string | undefined { return undefined; }
19
+ export function waitForDebugger(): void {}
20
+
21
+ export const console = globalThis.console;
22
+
23
+ export default {
24
+ Session,
25
+ open,
26
+ close,
27
+ url,
28
+ waitForDebugger,
29
+ console,
30
+ };
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Node.js module shim
3
+ * Provides basic module system functionality
4
+ */
5
+
6
+ import * as pathShim from './path';
7
+
8
+ export function createRequire(filename: string): (id: string) => unknown {
9
+ // Return a require function that can be used by modules
10
+ return function require(id: string): unknown {
11
+ throw new Error(`Cannot find module '${id}' from '${filename}'`);
12
+ };
13
+ }
14
+
15
+ export const builtinModules = [
16
+ 'assert',
17
+ 'buffer',
18
+ 'child_process',
19
+ 'cluster',
20
+ 'console',
21
+ 'constants',
22
+ 'crypto',
23
+ 'dgram',
24
+ 'dns',
25
+ 'domain',
26
+ 'events',
27
+ 'fs',
28
+ 'http',
29
+ 'https',
30
+ 'module',
31
+ 'net',
32
+ 'os',
33
+ 'path',
34
+ 'perf_hooks',
35
+ 'process',
36
+ 'punycode',
37
+ 'querystring',
38
+ 'readline',
39
+ 'repl',
40
+ 'stream',
41
+ 'stream/web',
42
+ 'string_decoder',
43
+ 'sys',
44
+ 'timers',
45
+ 'tls',
46
+ 'tty',
47
+ 'url',
48
+ 'util',
49
+ 'v8',
50
+ 'vm',
51
+ 'wasi',
52
+ 'worker_threads',
53
+ 'zlib',
54
+ ];
55
+
56
+ export function isBuiltin(moduleName: string): boolean {
57
+ // Strip node: prefix if present
58
+ const name = moduleName.startsWith('node:') ? moduleName.slice(5) : moduleName;
59
+ return builtinModules.includes(name);
60
+ }
61
+
62
+ export const _cache: Record<string, unknown> = {};
63
+ export const _extensions: Record<string, unknown> = {
64
+ '.js': () => {},
65
+ '.json': () => {},
66
+ '.node': (_module: unknown, filename?: string) => {
67
+ throw Object.assign(new Error('Cannot load native addon ' + (filename || '') + ': a tab runs no native code.'), { code: 'ERR_DLOPEN_FAILED' });
68
+ },
69
+ };
70
+ export const _pathCache: Record<string, string> = {};
71
+
72
+ export function syncBuiltinESMExports(): void {
73
+ // No-op in browser
74
+ }
75
+
76
+ export const Module = {
77
+ createRequire,
78
+ builtinModules,
79
+ isBuiltin,
80
+ _cache,
81
+ _extensions,
82
+ _pathCache,
83
+ syncBuiltinESMExports,
84
+ };
85
+
86
+ export default Module;
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Node.js os module shim
3
+ * Provides operating system utilities
4
+ */
5
+
6
+ export function hostname(): string {
7
+ return 'localhost';
8
+ }
9
+
10
+ export function platform(): string {
11
+ return 'linux';
12
+ }
13
+
14
+ export function arch(): string {
15
+ return 'x64';
16
+ }
17
+
18
+ export function type(): string {
19
+ return 'Linux';
20
+ }
21
+
22
+ export function release(): string {
23
+ return '5.10.0';
24
+ }
25
+
26
+ export function version(): string {
27
+ return '#1 SMP';
28
+ }
29
+
30
+ export function machine(): string {
31
+ return 'x86_64';
32
+ }
33
+
34
+ export function tmpdir(): string {
35
+ return '/tmp';
36
+ }
37
+
38
+ export function homedir(): string {
39
+ return '/home/user';
40
+ }
41
+
42
+ export function cpus(): Array<{
43
+ model: string;
44
+ speed: number;
45
+ times: { user: number; nice: number; sys: number; idle: number; irq: number };
46
+ }> {
47
+ const cpu = {
48
+ model: 'Virtual CPU',
49
+ speed: 2400,
50
+ times: { user: 0, nice: 0, sys: 0, idle: 0, irq: 0 },
51
+ };
52
+ return [cpu, cpu]; // Simulate 2 CPUs
53
+ }
54
+
55
+ export function totalmem(): number {
56
+ return 4 * 1024 * 1024 * 1024; // 4GB
57
+ }
58
+
59
+ export function freemem(): number {
60
+ return 2 * 1024 * 1024 * 1024; // 2GB
61
+ }
62
+
63
+ export function uptime(): number {
64
+ return Math.floor(performance.now() / 1000);
65
+ }
66
+
67
+ export function loadavg(): [number, number, number] {
68
+ return [0.5, 0.5, 0.5];
69
+ }
70
+
71
+ export function networkInterfaces(): Record<
72
+ string,
73
+ Array<{
74
+ address: string;
75
+ netmask: string;
76
+ family: string;
77
+ mac: string;
78
+ internal: boolean;
79
+ cidr: string;
80
+ }>
81
+ > {
82
+ return {
83
+ lo: [
84
+ {
85
+ address: '127.0.0.1',
86
+ netmask: '255.0.0.0',
87
+ family: 'IPv4',
88
+ mac: '00:00:00:00:00:00',
89
+ internal: true,
90
+ cidr: '127.0.0.1/8',
91
+ },
92
+ ],
93
+ };
94
+ }
95
+
96
+ export function userInfo(): {
97
+ username: string;
98
+ uid: number;
99
+ gid: number;
100
+ shell: string;
101
+ homedir: string;
102
+ } {
103
+ return {
104
+ username: 'user',
105
+ uid: 1000,
106
+ gid: 1000,
107
+ shell: '/bin/bash',
108
+ homedir: '/home/user',
109
+ };
110
+ }
111
+
112
+ export function endianness(): 'BE' | 'LE' {
113
+ return 'LE';
114
+ }
115
+
116
+ export function getPriority(pid?: number): number {
117
+ return 0;
118
+ }
119
+
120
+ export function setPriority(pid: number | number, priority?: number): void {
121
+ // No-op
122
+ }
123
+
124
+ export const EOL = '\n';
125
+
126
+ export const constants = {
127
+ signals: {
128
+ SIGHUP: 1,
129
+ SIGINT: 2,
130
+ SIGQUIT: 3,
131
+ SIGILL: 4,
132
+ SIGTRAP: 5,
133
+ SIGABRT: 6,
134
+ SIGBUS: 7,
135
+ SIGFPE: 8,
136
+ SIGKILL: 9,
137
+ SIGUSR1: 10,
138
+ SIGSEGV: 11,
139
+ SIGUSR2: 12,
140
+ SIGPIPE: 13,
141
+ SIGALRM: 14,
142
+ SIGTERM: 15,
143
+ SIGCHLD: 17,
144
+ SIGCONT: 18,
145
+ SIGSTOP: 19,
146
+ SIGTSTP: 20,
147
+ SIGTTIN: 21,
148
+ SIGTTOU: 22,
149
+ SIGURG: 23,
150
+ SIGXCPU: 24,
151
+ SIGXFSZ: 25,
152
+ SIGVTALRM: 26,
153
+ SIGPROF: 27,
154
+ SIGWINCH: 28,
155
+ SIGIO: 29,
156
+ SIGPWR: 30,
157
+ SIGSYS: 31,
158
+ },
159
+ errno: {},
160
+ priority: {
161
+ PRIORITY_LOW: 19,
162
+ PRIORITY_BELOW_NORMAL: 10,
163
+ PRIORITY_NORMAL: 0,
164
+ PRIORITY_ABOVE_NORMAL: -7,
165
+ PRIORITY_HIGH: -14,
166
+ PRIORITY_HIGHEST: -20,
167
+ },
168
+ };
169
+
170
+ export const devNull = '/dev/null';
171
+
172
+ export default {
173
+ hostname,
174
+ platform,
175
+ arch,
176
+ type,
177
+ release,
178
+ version,
179
+ machine,
180
+ tmpdir,
181
+ homedir,
182
+ cpus,
183
+ totalmem,
184
+ freemem,
185
+ uptime,
186
+ loadavg,
187
+ networkInterfaces,
188
+ userInfo,
189
+ endianness,
190
+ getPriority,
191
+ setPriority,
192
+ EOL,
193
+ constants,
194
+ devNull,
195
+ };