@bytecodealliance/jco 1.33.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/README.md +4 -0
  2. package/dist/bundle.d.ts.map +1 -1
  3. package/dist/bundle.js +5 -0
  4. package/dist/bundle.js.map +1 -1
  5. package/dist/cmd/componentize.d.ts +12 -2
  6. package/dist/cmd/componentize.d.ts.map +1 -1
  7. package/dist/cmd/componentize.js +16 -5
  8. package/dist/cmd/componentize.js.map +1 -1
  9. package/dist/cmd/new.js +2 -1
  10. package/dist/cmd/new.js.map +1 -1
  11. package/dist/cmd/transpile.d.ts.map +1 -1
  12. package/dist/cmd/transpile.js +28 -1
  13. package/dist/cmd/transpile.js.map +1 -1
  14. package/dist/engine-compat.d.ts +11 -0
  15. package/dist/engine-compat.d.ts.map +1 -0
  16. package/dist/engine-compat.js +56 -0
  17. package/dist/engine-compat.js.map +1 -0
  18. package/dist/jco.js +7 -2
  19. package/dist/jco.js.map +1 -1
  20. package/dist/node-builtins/assert.d.ts +3 -0
  21. package/dist/node-builtins/assert.d.ts.map +1 -0
  22. package/dist/node-builtins/assert.js +65 -0
  23. package/dist/node-builtins/assert.js.map +1 -0
  24. package/dist/node-builtins/async-hooks.d.ts +3 -0
  25. package/dist/node-builtins/async-hooks.d.ts.map +1 -0
  26. package/dist/node-builtins/async-hooks.js +27 -0
  27. package/dist/node-builtins/async-hooks.js.map +1 -0
  28. package/dist/node-builtins/buffer.d.ts +4 -0
  29. package/dist/node-builtins/buffer.d.ts.map +1 -0
  30. package/dist/node-builtins/buffer.js +87 -0
  31. package/dist/node-builtins/buffer.js.map +1 -0
  32. package/dist/node-builtins/child-process.d.ts +3 -0
  33. package/dist/node-builtins/child-process.d.ts.map +1 -0
  34. package/dist/node-builtins/child-process.js +23 -0
  35. package/dist/node-builtins/child-process.js.map +1 -0
  36. package/dist/node-builtins/cluster.d.ts +3 -0
  37. package/dist/node-builtins/cluster.d.ts.map +1 -0
  38. package/dist/node-builtins/cluster.js +28 -0
  39. package/dist/node-builtins/cluster.js.map +1 -0
  40. package/dist/node-builtins/console.d.ts +3 -0
  41. package/dist/node-builtins/console.d.ts.map +1 -0
  42. package/dist/node-builtins/console.js +39 -0
  43. package/dist/node-builtins/console.js.map +1 -0
  44. package/dist/node-builtins/crypto.d.ts +3 -0
  45. package/dist/node-builtins/crypto.d.ts.map +1 -0
  46. package/dist/node-builtins/crypto.js +5 -0
  47. package/dist/node-builtins/crypto.js.map +1 -0
  48. package/dist/node-builtins/dgram.d.ts +4 -0
  49. package/dist/node-builtins/dgram.d.ts.map +1 -0
  50. package/dist/node-builtins/dgram.js +13 -0
  51. package/dist/node-builtins/dgram.js.map +1 -0
  52. package/dist/node-builtins/diagnostics-channel.d.ts +3 -0
  53. package/dist/node-builtins/diagnostics-channel.d.ts.map +1 -0
  54. package/dist/node-builtins/diagnostics-channel.js +26 -0
  55. package/dist/node-builtins/diagnostics-channel.js.map +1 -0
  56. package/dist/node-builtins/dns.d.ts +3 -0
  57. package/dist/node-builtins/dns.d.ts.map +1 -0
  58. package/dist/node-builtins/dns.js +12 -0
  59. package/dist/node-builtins/dns.js.map +1 -0
  60. package/dist/node-builtins/domain.d.ts +3 -0
  61. package/dist/node-builtins/domain.d.ts.map +1 -0
  62. package/dist/node-builtins/domain.js +19 -0
  63. package/dist/node-builtins/domain.js.map +1 -0
  64. package/dist/node-builtins/events.d.ts +3 -0
  65. package/dist/node-builtins/events.d.ts.map +1 -0
  66. package/dist/node-builtins/events.js +39 -0
  67. package/dist/node-builtins/events.js.map +1 -0
  68. package/dist/node-builtins/ffi.d.ts +3 -0
  69. package/dist/node-builtins/ffi.d.ts.map +1 -0
  70. package/dist/node-builtins/ffi.js +59 -0
  71. package/dist/node-builtins/ffi.js.map +1 -0
  72. package/dist/node-builtins/fs.d.ts +3 -0
  73. package/dist/node-builtins/fs.d.ts.map +1 -0
  74. package/dist/node-builtins/fs.js +16 -0
  75. package/dist/node-builtins/fs.js.map +1 -0
  76. package/dist/node-builtins/globals.d.ts +19 -0
  77. package/dist/node-builtins/globals.d.ts.map +1 -0
  78. package/dist/node-builtins/globals.js +56 -0
  79. package/dist/node-builtins/globals.js.map +1 -0
  80. package/dist/node-builtins/http-common.d.ts +6 -0
  81. package/dist/node-builtins/http-common.d.ts.map +1 -0
  82. package/dist/node-builtins/http-common.js +111 -0
  83. package/dist/node-builtins/http-common.js.map +1 -0
  84. package/dist/node-builtins/http.d.ts +4 -0
  85. package/dist/node-builtins/http.d.ts.map +1 -0
  86. package/dist/node-builtins/http.js +15 -0
  87. package/dist/node-builtins/http.js.map +1 -0
  88. package/dist/node-builtins/http2.d.ts +4 -0
  89. package/dist/node-builtins/http2.d.ts.map +1 -0
  90. package/dist/node-builtins/http2.js +79 -0
  91. package/dist/node-builtins/http2.js.map +1 -0
  92. package/dist/node-builtins/https.d.ts +3 -0
  93. package/dist/node-builtins/https.d.ts.map +1 -0
  94. package/dist/node-builtins/https.js +5 -0
  95. package/dist/node-builtins/https.js.map +1 -0
  96. package/dist/node-builtins/index.d.ts +10 -0
  97. package/dist/node-builtins/index.d.ts.map +1 -0
  98. package/dist/node-builtins/index.js +164 -0
  99. package/dist/node-builtins/index.js.map +1 -0
  100. package/dist/node-builtins/inspector.d.ts +12 -0
  101. package/dist/node-builtins/inspector.d.ts.map +1 -0
  102. package/dist/node-builtins/inspector.js +70 -0
  103. package/dist/node-builtins/inspector.js.map +1 -0
  104. package/dist/node-builtins/module.d.ts +3 -0
  105. package/dist/node-builtins/module.d.ts.map +1 -0
  106. package/dist/node-builtins/module.js +55 -0
  107. package/dist/node-builtins/module.js.map +1 -0
  108. package/dist/node-builtins/net.d.ts +3 -0
  109. package/dist/node-builtins/net.d.ts.map +1 -0
  110. package/dist/node-builtins/net.js +46 -0
  111. package/dist/node-builtins/net.js.map +1 -0
  112. package/dist/node-builtins/os.d.ts +3 -0
  113. package/dist/node-builtins/os.d.ts.map +1 -0
  114. package/dist/node-builtins/os.js +39 -0
  115. package/dist/node-builtins/os.js.map +1 -0
  116. package/dist/node-builtins/path.d.ts +3 -0
  117. package/dist/node-builtins/path.d.ts.map +1 -0
  118. package/dist/node-builtins/path.js +91 -0
  119. package/dist/node-builtins/path.js.map +1 -0
  120. package/dist/node-builtins/perf-hooks.d.ts +3 -0
  121. package/dist/node-builtins/perf-hooks.d.ts.map +1 -0
  122. package/dist/node-builtins/perf-hooks.js +12 -0
  123. package/dist/node-builtins/perf-hooks.js.map +1 -0
  124. package/dist/node-builtins/process.d.ts +3 -0
  125. package/dist/node-builtins/process.d.ts.map +1 -0
  126. package/dist/node-builtins/process.js +9 -0
  127. package/dist/node-builtins/process.js.map +1 -0
  128. package/dist/node-builtins/querystring.d.ts +3 -0
  129. package/dist/node-builtins/querystring.d.ts.map +1 -0
  130. package/dist/node-builtins/querystring.js +18 -0
  131. package/dist/node-builtins/querystring.js.map +1 -0
  132. package/dist/node-builtins/readline.d.ts +3 -0
  133. package/dist/node-builtins/readline.d.ts.map +1 -0
  134. package/dist/node-builtins/readline.js +11 -0
  135. package/dist/node-builtins/readline.js.map +1 -0
  136. package/dist/node-builtins/repl.d.ts +9 -0
  137. package/dist/node-builtins/repl.d.ts.map +1 -0
  138. package/dist/node-builtins/repl.js +12 -0
  139. package/dist/node-builtins/repl.js.map +1 -0
  140. package/dist/node-builtins/shared.d.ts +24 -0
  141. package/dist/node-builtins/shared.d.ts.map +1 -0
  142. package/dist/node-builtins/shared.js +68 -0
  143. package/dist/node-builtins/shared.js.map +1 -0
  144. package/dist/node-builtins/sqlite.d.ts +3 -0
  145. package/dist/node-builtins/sqlite.d.ts.map +1 -0
  146. package/dist/node-builtins/sqlite.js +9 -0
  147. package/dist/node-builtins/sqlite.js.map +1 -0
  148. package/dist/node-builtins/stream.d.ts +3 -0
  149. package/dist/node-builtins/stream.d.ts.map +1 -0
  150. package/dist/node-builtins/stream.js +64 -0
  151. package/dist/node-builtins/stream.js.map +1 -0
  152. package/dist/node-builtins/string-decoder.d.ts +3 -0
  153. package/dist/node-builtins/string-decoder.d.ts.map +1 -0
  154. package/dist/node-builtins/string-decoder.js +14 -0
  155. package/dist/node-builtins/string-decoder.js.map +1 -0
  156. package/dist/node-builtins/test.d.ts +4 -0
  157. package/dist/node-builtins/test.d.ts.map +1 -0
  158. package/dist/node-builtins/test.js +8 -0
  159. package/dist/node-builtins/test.js.map +1 -0
  160. package/dist/node-builtins/timers.d.ts +4 -0
  161. package/dist/node-builtins/timers.d.ts.map +1 -0
  162. package/dist/node-builtins/timers.js +9 -0
  163. package/dist/node-builtins/timers.js.map +1 -0
  164. package/dist/node-builtins/tls.d.ts +3 -0
  165. package/dist/node-builtins/tls.d.ts.map +1 -0
  166. package/dist/node-builtins/tls.js +10 -0
  167. package/dist/node-builtins/tls.js.map +1 -0
  168. package/dist/node-builtins/trace-events.d.ts +3 -0
  169. package/dist/node-builtins/trace-events.d.ts.map +1 -0
  170. package/dist/node-builtins/trace-events.js +9 -0
  171. package/dist/node-builtins/trace-events.js.map +1 -0
  172. package/dist/node-builtins/tty.d.ts +8 -0
  173. package/dist/node-builtins/tty.d.ts.map +1 -0
  174. package/dist/node-builtins/tty.js +12 -0
  175. package/dist/node-builtins/tty.js.map +1 -0
  176. package/dist/{node-builtins.d.ts → node-builtins/types.d.ts} +73 -41
  177. package/dist/node-builtins/types.d.ts.map +1 -0
  178. package/dist/node-builtins/types.js +2 -0
  179. package/dist/node-builtins/types.js.map +1 -0
  180. package/dist/node-builtins/unenv.d.ts +6 -0
  181. package/dist/node-builtins/unenv.d.ts.map +1 -0
  182. package/dist/node-builtins/unenv.js +27 -0
  183. package/dist/node-builtins/unenv.js.map +1 -0
  184. package/dist/node-builtins/url-pattern.d.ts +8 -0
  185. package/dist/node-builtins/url-pattern.d.ts.map +1 -0
  186. package/dist/node-builtins/url-pattern.js +19 -0
  187. package/dist/node-builtins/url-pattern.js.map +1 -0
  188. package/dist/node-builtins/url.d.ts +4 -0
  189. package/dist/node-builtins/url.d.ts.map +1 -0
  190. package/dist/node-builtins/url.js +100 -0
  191. package/dist/node-builtins/url.js.map +1 -0
  192. package/dist/node-builtins/util.d.ts +3 -0
  193. package/dist/node-builtins/util.d.ts.map +1 -0
  194. package/dist/node-builtins/util.js +7 -0
  195. package/dist/node-builtins/util.js.map +1 -0
  196. package/dist/node-builtins/v8.d.ts +3 -0
  197. package/dist/node-builtins/v8.d.ts.map +1 -0
  198. package/dist/node-builtins/v8.js +6 -0
  199. package/dist/node-builtins/v8.js.map +1 -0
  200. package/dist/node-builtins/vfs.d.ts +3 -0
  201. package/dist/node-builtins/vfs.d.ts.map +1 -0
  202. package/dist/node-builtins/vfs.js +42 -0
  203. package/dist/node-builtins/vfs.js.map +1 -0
  204. package/dist/node-builtins/vm.d.ts +4 -0
  205. package/dist/node-builtins/vm.d.ts.map +1 -0
  206. package/dist/node-builtins/vm.js +6 -0
  207. package/dist/node-builtins/vm.js.map +1 -0
  208. package/dist/node-builtins/wasi-sockets.d.ts +10 -0
  209. package/dist/node-builtins/wasi-sockets.d.ts.map +1 -0
  210. package/dist/node-builtins/wasi-sockets.js +25 -0
  211. package/dist/node-builtins/wasi-sockets.js.map +1 -0
  212. package/dist/node-builtins/wasi.d.ts +10 -0
  213. package/dist/node-builtins/wasi.d.ts.map +1 -0
  214. package/dist/node-builtins/wasi.js +14 -0
  215. package/dist/node-builtins/wasi.js.map +1 -0
  216. package/dist/node-builtins/worker-threads.d.ts +3 -0
  217. package/dist/node-builtins/worker-threads.d.ts.map +1 -0
  218. package/dist/node-builtins/worker-threads.js +16 -0
  219. package/dist/node-builtins/worker-threads.js.map +1 -0
  220. package/dist/node-builtins/zlib.d.ts +3 -0
  221. package/dist/node-builtins/zlib.d.ts.map +1 -0
  222. package/dist/node-builtins/zlib.js +6 -0
  223. package/dist/node-builtins/zlib.js.map +1 -0
  224. package/dist/node-wit.d.ts +35 -0
  225. package/dist/node-wit.d.ts.map +1 -1
  226. package/dist/node-wit.js +135 -4
  227. package/dist/node-wit.js.map +1 -1
  228. package/lib/wit/builtin/jco-node-0.1.0/cluster.wit +3 -2
  229. package/lib/wit/builtin/jco-node-0.1.0/dgram.wit +142 -0
  230. package/lib/wit/builtin/jco-node-0.1.0/http.wit +7 -0
  231. package/lib/wit/builtin/jco-node-0.1.0/http2.wit +4 -5
  232. package/lib/wit/builtin/jco-node-0.1.0/process.wit +245 -0
  233. package/lib/wit/builtin/jco-node-0.1.0/sqlite.wit +154 -0
  234. package/lib/wit/builtin/jco-node-0.1.0/tls.wit +108 -0
  235. package/lib/wit/builtin/jco-node-0.1.0/trace-events.wit +27 -0
  236. package/lib/wit/builtin/jco-node-0.1.0/tty.wit +59 -0
  237. package/lib/wit/builtin/jco-node-0.1.0/v8.wit +102 -0
  238. package/lib/wit/builtin/jco-node-0.1.0/wasi.wit +57 -0
  239. package/lib/wit/builtin/jco-node-0.1.0/worker-threads.wit +67 -0
  240. package/lib/wit/builtin/jco-node-0.1.0/zlib.wit +77 -0
  241. package/lib/wit/builtin/wasi-tls-0.2.0-draft/LICENSE.md +8 -0
  242. package/lib/wit/builtin/wasi-tls-0.2.0-draft/README.md +25 -0
  243. package/lib/wit/builtin/wasi-tls-0.2.0-draft/deps/io/package.wit +66 -0
  244. package/lib/wit/builtin/wasi-tls-0.2.0-draft/types.wit +27 -0
  245. package/lib/wit/builtin/wasi-tls-0.2.0-draft/world.wit +8 -0
  246. package/package.json +8 -6
  247. package/dist/node-builtins.d.ts.map +0 -1
  248. package/dist/node-builtins.js +0 -1085
  249. package/dist/node-builtins.js.map +0 -1
@@ -0,0 +1,70 @@
1
+ import { VIRTUAL_PREFIX, composeBuiltins, virtualBuiltin, stdModule, builtin, } from "./shared.js";
2
+ import { INSPECTOR_PROMISES_WIT_REQUIREMENT, INSPECTOR_WIT_REQUIREMENT } from "../node-wit.js";
3
+ const INSPECTOR_SPECIFIER = "node:inspector";
4
+ const INSPECTOR_PROMISES_SPECIFIER = "node:inspector/promises";
5
+ const INSPECTOR_SPECIFIERS = new Set([INSPECTOR_SPECIFIER, INSPECTOR_PROMISES_SPECIFIER]);
6
+ /**
7
+ * Virtual specifier the two-pass bundler imports to reach the guest-exported callbacks interface.
8
+ *
9
+ * `node:inspector` is host-backed, but the host also has to call *back* into the component. A
10
+ * component cannot implement a resource on an imported interface, so the callbacks live in a
11
+ * guest-exported interface, and this virtual module re-exports its implementation from the shared
12
+ * jco-std inspector module so the wrapper can add it to the component's top-level exports.
13
+ */
14
+ export const INSPECTOR_CALLBACKS_SPECIFIER = "jco:node-inspector-callbacks";
15
+ const INSPECTOR_CALLBACKS_MODULE = `${VIRTUAL_PREFIX}inspector-callbacks`;
16
+ /**
17
+ * Source of the `node:inspector` adapter.
18
+ *
19
+ * Host-backed like `node:ffi`, but with a second half: the host also calls *back* into the
20
+ * component when a protocol response or notification arrives. That channel is the guest-exported
21
+ * `inspectorCallbacks` interface, added to the component's exports by Jco's two-pass bundling; this
22
+ * adapter only re-exports the module surface.
23
+ */
24
+ function inspectorAdapter(inspectorModule) {
25
+ return `
26
+ import inspector from ${JSON.stringify(inspectorModule)};
27
+ export default inspector;
28
+ export {
29
+ close,
30
+ console,
31
+ DOMStorage,
32
+ Network,
33
+ NetworkResources,
34
+ open,
35
+ Session,
36
+ url,
37
+ waitForDebugger,
38
+ } from ${JSON.stringify(inspectorModule)};
39
+ `;
40
+ }
41
+ /**
42
+ * Source of the `node:inspector/promises` adapter, sharing one core with `node:inspector`.
43
+ *
44
+ * The promises entry point re-exports the same public surface as `node:inspector`, so the adapter
45
+ * source is identical apart from the module it points at.
46
+ */
47
+ function inspectorPromisesAdapter(inspectorPromisesModule) {
48
+ return inspectorAdapter(inspectorPromisesModule);
49
+ }
50
+ /**
51
+ * Source of the virtual module the two-pass bundler exports to satisfy the guest-exported
52
+ * `jco:node/inspector-callbacks@0.1.0` interface.
53
+ *
54
+ * Always pulls from the base `node:inspector` module (not `/promises`), which owns the one callback
55
+ * registry both entries register into.
56
+ */
57
+ function inspectorCallbacksAdapter(inspectorModule) {
58
+ return `export { inspectorCallbacks } from ${JSON.stringify(inspectorModule)};`;
59
+ }
60
+ export function createInspectorBuiltin({ options }) {
61
+ return composeBuiltins([
62
+ virtualBuiltin(INSPECTOR_CALLBACKS_SPECIFIER, INSPECTOR_CALLBACKS_MODULE, () => inspectorCallbacksAdapter(stdModule(options.inspectorModule, "inspector"))),
63
+ builtin(INSPECTOR_SPECIFIERS, (specifier) => specifier === INSPECTOR_PROMISES_SPECIFIER
64
+ ? inspectorPromisesAdapter(stdModule(options.inspectorPromisesModule, "inspector/promises"))
65
+ : inspectorAdapter(stdModule(options.inspectorModule, "inspector")), (specifier) => options.onWitRequirement?.(specifier === INSPECTOR_PROMISES_SPECIFIER
66
+ ? INSPECTOR_PROMISES_WIT_REQUIREMENT
67
+ : INSPECTOR_WIT_REQUIREMENT)),
68
+ ]);
69
+ }
70
+ //# sourceMappingURL=inspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/node-builtins/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EAGd,eAAe,EACf,cAAc,EACd,SAAS,EACT,OAAO,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kCAAkC,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAE/D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAC,CAAC;AAE1F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,8BAA8B,CAAC;AAE5E,MAAM,0BAA0B,GAAG,GAAG,cAAc,qBAAqB,CAAC;AAE1E;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,eAAuB;IAC7C,OAAO;wBACa,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;;;;;;;;;;;;SAY9C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;CACvC,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,uBAA+B;IAC7D,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,eAAuB;IACtD,OAAO,sCAAsC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAE,OAAO,EAAkB;IAC9D,OAAO,eAAe,CAAC;QACnB,cAAc,CAAC,6BAA6B,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAC3E,yBAAyB,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAC7E;QACD,OAAO,CACH,oBAAoB,EACpB,CAAC,SAAS,EAAE,EAAE,CACV,SAAS,KAAK,4BAA4B;YACtC,CAAC,CAAC,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;YAC5F,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,EAC3E,CAAC,SAAS,EAAE,EAAE,CACV,OAAO,CAAC,gBAAgB,EAAE,CACtB,SAAS,KAAK,4BAA4B;YACtC,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,yBAAyB,CAClC,CACR;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createModuleBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/node-builtins/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAsD3F,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAE/E"}
@@ -0,0 +1,55 @@
1
+ import { builtin, stdModule } from "./shared.js";
2
+ const MODULE_SPECIFIER = "node:module";
3
+ /**
4
+ * Source of the `node:module` adapter.
5
+ *
6
+ * Capability-free: what this module can do here is classification and source-map arithmetic, and
7
+ * what it cannot do -- loading -- no host could supply, because the missing piece is the guest
8
+ * engine's ability to instantiate code that was not bundled.
9
+ */
10
+ function moduleAdapter(moduleModule) {
11
+ return `
12
+ import nodeModule from ${JSON.stringify(moduleModule)};
13
+ export default nodeModule;
14
+ export {
15
+ Module,
16
+ SourceMap,
17
+ _cache,
18
+ _debug,
19
+ _extensions,
20
+ _findPath,
21
+ _initPaths,
22
+ _load,
23
+ _nodeModulePaths,
24
+ _pathCache,
25
+ _preloadModules,
26
+ _readPackage,
27
+ _resolveFilename,
28
+ _resolveLookupPaths,
29
+ _stat,
30
+ builtinModules,
31
+ constants,
32
+ createRequire,
33
+ enableCompileCache,
34
+ findPackageJSON,
35
+ findSourceMap,
36
+ flushCompileCache,
37
+ getCompileCacheDir,
38
+ getSourceMapsSupport,
39
+ globalPaths,
40
+ isBuiltin,
41
+ register,
42
+ registerHooks,
43
+ runMain,
44
+ setSourceMapsSupport,
45
+ stripTypeScriptTypes,
46
+ syncBuiltinESMExports,
47
+ wrap,
48
+ wrapper,
49
+ } from ${JSON.stringify(moduleModule)};
50
+ `;
51
+ }
52
+ export function createModuleBuiltin({ options }) {
53
+ return builtin(MODULE_SPECIFIER, () => moduleAdapter(stdModule(options.moduleModule, "module")));
54
+ }
55
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/node-builtins/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3F,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,YAAoB;IACvC,OAAO;yBACc,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAqC5C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;CACpC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAkB;IAC3D,OAAO,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createNetBuiltin({ options, worldMetadata }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=net.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../src/node-builtins/net.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAqC3F,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,cAAc,GAAG,cAAc,CAc3F"}
@@ -0,0 +1,46 @@
1
+ import { wasiSocketsProviderSource, requireWasiHttpVersion } from "./wasi-sockets.js";
2
+ import { builtin, stdModule } from "./shared.js";
3
+ import { NET_WASI_SOCKETS_WIT_REQUIREMENTS, NET_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS } from "../node-wit.js";
4
+ const NET_SPECIFIER = "node:net";
5
+ const NET_EXPORTS = [
6
+ "BlockList",
7
+ "BoundSocket",
8
+ "Server",
9
+ "Socket",
10
+ "SocketAddress",
11
+ "Stream",
12
+ "_createServerHandle",
13
+ "_normalizeArgs",
14
+ "connect",
15
+ "createConnection",
16
+ "createServer",
17
+ "getDefaultAutoSelectFamily",
18
+ "getDefaultAutoSelectFamilyAttemptTimeout",
19
+ "isIP",
20
+ "isIPv4",
21
+ "isIPv6",
22
+ "setDefaultAutoSelectFamily",
23
+ "setDefaultAutoSelectFamilyAttemptTimeout",
24
+ ];
25
+ function netAdapter(coreModule, version) {
26
+ const provider = wasiSocketsProviderSource(version);
27
+ return `
28
+ ${provider.imports}
29
+ import { createNet } from ${JSON.stringify(coreModule)};
30
+ const net = createNet(${provider.value});
31
+ export default net;
32
+ export const { ${NET_EXPORTS.join(", ")} } = net;
33
+ `;
34
+ }
35
+ export function createNetBuiltin({ options, worldMetadata }) {
36
+ const socketsVersion = options.wasiSocketsVersion ?? "0.2.12";
37
+ return builtin(NET_SPECIFIER, () => netAdapter(stdModule(options.netCoreModule, "net/core"), socketsVersion), () => {
38
+ requireWasiHttpVersion(worldMetadata, NET_SPECIFIER, "wasi-sockets", socketsVersion);
39
+ for (const requirement of socketsVersion === "0.2.12"
40
+ ? NET_WASI_SOCKETS_WIT_REQUIREMENTS
41
+ : NET_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS) {
42
+ options.onWitRequirement?.(requirement);
43
+ }
44
+ });
45
+ }
46
+ //# sourceMappingURL=net.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../src/node-builtins/net.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,iCAAiC,EAAE,wCAAwC,EAAE,MAAM,gBAAgB,CAAC;AAE7G,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC,MAAM,WAAW,GAAG;IAChB,WAAW;IACX,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,qBAAqB;IACrB,gBAAgB;IAChB,SAAS;IACT,kBAAkB;IAClB,cAAc;IACd,4BAA4B;IAC5B,0CAA0C;IAC1C,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,4BAA4B;IAC5B,0CAA0C;CACpC,CAAC;AAEX,SAAS,UAAU,CAAC,UAAkB,EAAE,OAAe;IACnD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO;EACT,QAAQ,CAAC,OAAO;4BACU,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;wBAC9B,QAAQ,CAAC,KAAK;;iBAErB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;CACtC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAkB;IACvE,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC;IAC9D,OAAO,OAAO,CACV,aAAa,EACb,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,EAC9E,GAAG,EAAE;QACD,sBAAsB,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QACrF,KAAK,MAAM,WAAW,IAAI,cAAc,KAAK,QAAQ;YACjD,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,wCAAwC,EAAE,CAAC;YAC7C,OAAO,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createOsBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=os.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os.d.ts","sourceRoot":"","sources":["../../src/node-builtins/os.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAsC3F,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAM3E"}
@@ -0,0 +1,39 @@
1
+ import { builtin, stdModule } from "./shared.js";
2
+ import { OS_WIT_REQUIREMENT } from "../node-wit.js";
3
+ const OS_SPECIFIER = "node:os";
4
+ /** Source of the host-backed `node:os` ESM facade. */
5
+ function osAdapter(osModule) {
6
+ return `
7
+ import os from ${JSON.stringify(osModule)};
8
+ export default os;
9
+ export {
10
+ EOL,
11
+ arch,
12
+ availableParallelism,
13
+ constants,
14
+ cpus,
15
+ devNull,
16
+ endianness,
17
+ freemem,
18
+ getPriority,
19
+ homedir,
20
+ hostname,
21
+ loadavg,
22
+ machine,
23
+ networkInterfaces,
24
+ platform,
25
+ release,
26
+ setPriority,
27
+ tmpdir,
28
+ totalmem,
29
+ type,
30
+ uptime,
31
+ userInfo,
32
+ version,
33
+ } from ${JSON.stringify(osModule)};
34
+ `;
35
+ }
36
+ export function createOsBuiltin({ options }) {
37
+ return builtin(OS_SPECIFIER, () => osAdapter(stdModule(options.osModule, "os")), () => options.onWitRequirement?.(OS_WIT_REQUIREMENT));
38
+ }
39
+ //# sourceMappingURL=os.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os.js","sourceRoot":"","sources":["../../src/node-builtins/os.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,sDAAsD;AACtD,SAAS,SAAS,CAAC,QAAgB;IAC/B,OAAO;iBACM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;SA0BhC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;CAChC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAkB;IACvD,OAAO,OAAO,CACV,YAAY,EACZ,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAClD,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,CAAC,CACvD,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createPathBuiltin({ options, worldMetadata }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/node-builtins/path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,aAAa,CAAC;AAuElG,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,cAAc,GAAG,cAAc,CA2B5F"}
@@ -0,0 +1,91 @@
1
+ import { PATH_WIT_REQUIREMENT } from "../node-wit.js";
2
+ import { VIRTUAL_PREFIX, stdModule } from "./shared.js";
3
+ const PATH_SPECIFIERS = new Map([
4
+ ["node:path", "default"],
5
+ ["node:path/posix", "posix"],
6
+ ["node:path/win32", "win32"],
7
+ ]);
8
+ /**
9
+ * Determine the `wasi:cli/environment` version a WIT world imports.
10
+ *
11
+ * `node:path` is backed by WASI, so the world has to import the interface it needs, at exactly
12
+ * one version.
13
+ */
14
+ function environmentVersion(worldMetadata) {
15
+ const matches = (worldMetadata?.imports ?? []).filter((iface) => iface.namespace === "wasi" &&
16
+ iface.package === "cli" &&
17
+ iface.interface === "environment" &&
18
+ iface.version?.major === 0n &&
19
+ iface.version?.minor === 2n);
20
+ if (matches.length === 0) {
21
+ return undefined;
22
+ }
23
+ if (matches.length > 1) {
24
+ throw new Error("node:path cannot select a WASI environment adapter because the selected WIT world imports multiple wasi:cli/environment@0.2.x versions");
25
+ }
26
+ const { major, minor, patch, pre } = matches[0].version;
27
+ return `${major}.${minor}.${patch}${pre ? `-${pre}` : ""}`;
28
+ }
29
+ /** Source of the shared `node:path` core, which owns the single WASI-backed path instance */
30
+ function pathCore(version, factoryPath) {
31
+ return `
32
+ import { initialCwd, getEnvironment } from "wasi:cli/environment@${version}";
33
+ import { createPath } from ${JSON.stringify(factoryPath)};
34
+ export const portablePath = createPath({ initialCwd, getEnvironment });
35
+ `;
36
+ }
37
+ /** Source of a `node:path`, `node:path/posix`, or `node:path/win32` adapter */
38
+ function pathAdapter(specifier, version) {
39
+ const namespace = PATH_SPECIFIERS.get(specifier);
40
+ return `
41
+ import { portablePath } from ${JSON.stringify(`${VIRTUAL_PREFIX}path-core@${version}`)};
42
+ const path = ${namespace === "default" ? "portablePath" : `portablePath.${namespace}`};
43
+ export default path;
44
+ export const _makeLong = path._makeLong;
45
+ export const basename = path.basename;
46
+ export const delimiter = path.delimiter;
47
+ export const dirname = path.dirname;
48
+ export const extname = path.extname;
49
+ export const format = path.format;
50
+ export const matchesGlob = path.matchesGlob;
51
+ export const isAbsolute = path.isAbsolute;
52
+ export const join = path.join;
53
+ export const normalize = path.normalize;
54
+ export const parse = path.parse;
55
+ export const posix = path.posix;
56
+ export const relative = path.relative;
57
+ export const resolve = path.resolve;
58
+ export const sep = path.sep;
59
+ export const toNamespacedPath = path.toNamespacedPath;
60
+ export const win32 = path.win32;
61
+ `;
62
+ }
63
+ export function createPathBuiltin({ options, worldMetadata }) {
64
+ return {
65
+ resolveId(id) {
66
+ if (!PATH_SPECIFIERS.has(id)) {
67
+ return null;
68
+ }
69
+ let version = environmentVersion(worldMetadata);
70
+ if (!version) {
71
+ options.onWitRequirement?.(PATH_WIT_REQUIREMENT);
72
+ version = "0.2.12";
73
+ }
74
+ return `${VIRTUAL_PREFIX}${id}@${version}`;
75
+ },
76
+ load(id) {
77
+ if (!id.startsWith(VIRTUAL_PREFIX)) {
78
+ return null;
79
+ }
80
+ const value = id.slice(VIRTUAL_PREFIX.length);
81
+ const separator = value.lastIndexOf("@");
82
+ const specifier = value.slice(0, separator);
83
+ const version = value.slice(separator + 1);
84
+ if (specifier === "path-core") {
85
+ return pathCore(version, stdModule(options.pathFactory, "path"));
86
+ }
87
+ return PATH_SPECIFIERS.has(specifier) ? pathAdapter(specifier, version) : null;
88
+ },
89
+ };
90
+ }
91
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/node-builtins/path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createPerfHooksBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=perf-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perf-hooks.d.ts","sourceRoot":"","sources":["../../src/node-builtins/perf-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAU3F,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAElF"}
@@ -0,0 +1,12 @@
1
+ import { builtin, stdModule } from "./shared.js";
2
+ /** Source of the capability-free `node:perf_hooks` ESM facade. */
3
+ function perfHooksAdapter(perfHooksModule) {
4
+ return `
5
+ export { default } from ${JSON.stringify(perfHooksModule)};
6
+ export * from ${JSON.stringify(perfHooksModule)};
7
+ `;
8
+ }
9
+ export function createPerfHooksBuiltin({ options }) {
10
+ return builtin("node:perf_hooks", () => perfHooksAdapter(stdModule(options.perfHooksModule, "perf-hooks")));
11
+ }
12
+ //# sourceMappingURL=perf-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perf-hooks.js","sourceRoot":"","sources":["../../src/node-builtins/perf-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3F,kEAAkE;AAClE,SAAS,gBAAgB,CAAC,eAAuB;IAC7C,OAAO;0BACe,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;CAC9C,CAAC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAE,OAAO,EAAkB;IAC9D,OAAO,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createProcessBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/node-builtins/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAG3F,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAShF"}
@@ -0,0 +1,9 @@
1
+ import { builtin, stdModule } from "./shared.js";
2
+ import { PROCESS_WIT_REQUIREMENT } from "../node-wit.js";
3
+ export function createProcessBuiltin({ options }) {
4
+ return builtin("node:process", () => {
5
+ const module = JSON.stringify(stdModule(options.processModule, "process"));
6
+ return `export { default } from ${module}; export * from ${module};`;
7
+ }, () => options.onWitRequirement?.(PROCESS_WIT_REQUIREMENT));
8
+ }
9
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/node-builtins/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAkB;IAC5D,OAAO,OAAO,CACV,cAAc,EACd,GAAG,EAAE;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3E,OAAO,2BAA2B,MAAM,mBAAmB,MAAM,GAAG,CAAC;IACzE,CAAC,EACD,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,uBAAuB,CAAC,CAC5D,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createQuerystringBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=querystring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"querystring.d.ts","sourceRoot":"","sources":["../../src/node-builtins/querystring.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAW,MAAM,aAAa,CAAC;AAYhF,wBAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAQpF"}
@@ -0,0 +1,18 @@
1
+ import { unenvModule } from "./unenv.js";
2
+ import { UNENV_BUFFER_CORE } from "./buffer.js";
3
+ import { builtin } from "./shared.js";
4
+ function querystringAdapter(options) {
5
+ const querystringModule = unenvModule("node:querystring", options);
6
+ return `
7
+ import ${JSON.stringify(UNENV_BUFFER_CORE)};
8
+ import querystring from ${JSON.stringify(querystringModule)};
9
+ export * from ${JSON.stringify(querystringModule)};
10
+ export default querystring;
11
+ `;
12
+ }
13
+ export function createQuerystringBuiltin({ options }) {
14
+ return builtin("node:querystring", () => querystringAdapter(options), () => {
15
+ querystringAdapter(options);
16
+ });
17
+ }
18
+ //# sourceMappingURL=querystring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"querystring.js","sourceRoot":"","sources":["../../src/node-builtins/querystring.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAA4C,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhF,SAAS,kBAAkB,CAAC,OAA2B;IACnD,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO;SACF,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;0BAChB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;;CAEhD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAE,OAAO,EAAkB;IAChE,OAAO,OAAO,CACV,kBAAkB,EAClB,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EACjC,GAAG,EAAE;QACD,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createReadlineBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=readline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readline.d.ts","sourceRoot":"","sources":["../../src/node-builtins/readline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAIhH,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAQjF"}
@@ -0,0 +1,11 @@
1
+ import { starReexportAdapter, builtin, stdModule } from "./shared.js";
2
+ const READLINE_SPECIFIERS = new Set(["node:readline", "node:readline/promises"]);
3
+ export function createReadlineBuiltin({ options }) {
4
+ return builtin(READLINE_SPECIFIERS, (specifier) => {
5
+ const module = specifier === "node:readline"
6
+ ? stdModule(options.readlineModule, "readline")
7
+ : stdModule(options.readlinePromisesModule, "readline/promises");
8
+ return starReexportAdapter(module, "readline");
9
+ });
10
+ }
11
+ //# sourceMappingURL=readline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readline.js","sourceRoot":"","sources":["../../src/node-builtins/readline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAEjF,MAAM,UAAU,qBAAqB,CAAC,EAAE,OAAO,EAAkB;IAC7D,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,MAAM,GACR,SAAS,KAAK,eAAe;YACzB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;QACzE,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ /**
3
+ * `node:repl` is entirely guest-side -- evaluation, line editing and completion over the streams
4
+ * the application supplies -- so it reports no WIT requirement. The jco-std module is the only one
5
+ * that bundles acorn; resolving it here, and nowhere else, keeps the parser out of every other
6
+ * component.
7
+ */
8
+ export declare function createReplBuiltin({ options }: BuiltinContext): BuiltinAdapter;
9
+ //# sourceMappingURL=repl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/node-builtins/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAIhH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAE7E"}
@@ -0,0 +1,12 @@
1
+ import { starReexportAdapter, builtin, stdModule } from "./shared.js";
2
+ const REPL_SPECIFIER = "node:repl";
3
+ /**
4
+ * `node:repl` is entirely guest-side -- evaluation, line editing and completion over the streams
5
+ * the application supplies -- so it reports no WIT requirement. The jco-std module is the only one
6
+ * that bundles acorn; resolving it here, and nowhere else, keeps the parser out of every other
7
+ * component.
8
+ */
9
+ export function createReplBuiltin({ options }) {
10
+ return builtin(REPL_SPECIFIER, () => starReexportAdapter(stdModule(options.replModule, "repl"), "repl"));
11
+ }
12
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/node-builtins/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhH,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAkB;IACzD,OAAO,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7G,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type WorldMetadata, type NodeBuiltinOptions } from "./types.js";
2
+ export declare const VIRTUAL_PREFIX = "\0jco-node-builtin:";
3
+ /**
4
+ * Source of an adapter that forwards a module's default export and re-exports its whole named
5
+ * surface. `localName` only names the default-import binding in the generated source.
6
+ */
7
+ export declare function starReexportAdapter(module: string, localName: string): string;
8
+ export interface BuiltinAdapter {
9
+ resolveId(id: string, importer?: string): string | null;
10
+ load(id: string): string | null;
11
+ }
12
+ export interface BuiltinContext {
13
+ worldMetadata: WorldMetadata;
14
+ options: NodeBuiltinOptions;
15
+ }
16
+ /** Keep both the WASI and Node major pinned; resolve only when an adapter is loaded. */
17
+ export declare function stdModule(override: string | undefined, subpath: string, major?: string): string;
18
+ /** Register ordinary node: specifiers without eagerly resolving their implementations. */
19
+ export declare function builtin(specifiers: string | Iterable<string>, load: (specifier: string) => string, onResolve?: (specifier: string) => void): BuiltinAdapter;
20
+ /** Register a shared virtual module, such as a guest callback interface. */
21
+ export declare function virtualBuiltin(specifier: string, virtualId: string, load: () => string): BuiltinAdapter;
22
+ /** Compose adapters in order, stopping at the first one that handles the request. */
23
+ export declare function composeBuiltins(adapters: BuiltinAdapter[]): BuiltinAdapter;
24
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/node-builtins/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGzE,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,MAAM,CAIjG;AAED,0FAA0F;AAC1F,wBAAgB,OAAO,CACnB,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EACrC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EACnC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GACxC,cAAc,CAkBhB;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,GAAG,cAAc,CAKvG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,CAqB1E"}
@@ -0,0 +1,68 @@
1
+ import { fileURLToPath } from "node:url";
2
+ export const VIRTUAL_PREFIX = "\0jco-node-builtin:";
3
+ /**
4
+ * Source of an adapter that forwards a module's default export and re-exports its whole named
5
+ * surface. `localName` only names the default-import binding in the generated source.
6
+ */
7
+ export function starReexportAdapter(module, localName) {
8
+ return `
9
+ import ${localName} from ${JSON.stringify(module)};
10
+ export default ${localName};
11
+ export * from ${JSON.stringify(module)};
12
+ `;
13
+ }
14
+ /** Keep both the WASI and Node major pinned; resolve only when an adapter is loaded. */
15
+ export function stdModule(override, subpath, major = "24.x.x") {
16
+ return (override ?? fileURLToPath(import.meta.resolve(`@bytecodealliance/jco-std/wasi/0.2.x/node/${major}/${subpath}`)));
17
+ }
18
+ /** Register ordinary node: specifiers without eagerly resolving their implementations. */
19
+ export function builtin(specifiers, load, onResolve) {
20
+ const supported = new Set(typeof specifiers === "string" ? [specifiers] : specifiers);
21
+ return {
22
+ resolveId(id) {
23
+ if (!supported.has(id)) {
24
+ return null;
25
+ }
26
+ onResolve?.(id);
27
+ return VIRTUAL_PREFIX + id;
28
+ },
29
+ load(id) {
30
+ if (!id.startsWith(VIRTUAL_PREFIX)) {
31
+ return null;
32
+ }
33
+ const specifier = id.slice(VIRTUAL_PREFIX.length);
34
+ return supported.has(specifier) ? load(specifier) : null;
35
+ },
36
+ };
37
+ }
38
+ /** Register a shared virtual module, such as a guest callback interface. */
39
+ export function virtualBuiltin(specifier, virtualId, load) {
40
+ return {
41
+ resolveId: (id) => (id === specifier ? virtualId : null),
42
+ load: (id) => (id === virtualId ? load() : null),
43
+ };
44
+ }
45
+ /** Compose adapters in order, stopping at the first one that handles the request. */
46
+ export function composeBuiltins(adapters) {
47
+ return {
48
+ resolveId(id, importer) {
49
+ for (const adapter of adapters) {
50
+ const result = adapter.resolveId(id, importer);
51
+ if (result !== null) {
52
+ return result;
53
+ }
54
+ }
55
+ return null;
56
+ },
57
+ load(id) {
58
+ for (const adapter of adapters) {
59
+ const result = adapter.load(id);
60
+ if (result !== null) {
61
+ return result;
62
+ }
63
+ }
64
+ return null;
65
+ },
66
+ };
67
+ }
68
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/node-builtins/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createSqliteBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/node-builtins/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAG3F,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAS/E"}
@@ -0,0 +1,9 @@
1
+ import { builtin, stdModule } from "./shared.js";
2
+ import { SQLITE_WIT_REQUIREMENT } from "../node-wit.js";
3
+ export function createSqliteBuiltin({ options }) {
4
+ return builtin("node:sqlite", () => {
5
+ const module = JSON.stringify(stdModule(options.sqliteModule, "sqlite"));
6
+ return `export { default } from ${module}; export * from ${module};`;
7
+ }, () => options.onWitRequirement?.(SQLITE_WIT_REQUIREMENT));
8
+ }
9
+ //# sourceMappingURL=sqlite.js.map