@bytecodealliance/jco 1.32.1 → 1.34.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 (264) hide show
  1. package/README.md +12 -1
  2. package/dist/bundle.d.ts +2 -0
  3. package/dist/bundle.d.ts.map +1 -1
  4. package/dist/bundle.js +12 -0
  5. package/dist/bundle.js.map +1 -1
  6. package/dist/cmd/componentize.d.ts +33 -0
  7. package/dist/cmd/componentize.d.ts.map +1 -1
  8. package/dist/cmd/componentize.js +92 -8
  9. package/dist/cmd/componentize.js.map +1 -1
  10. package/dist/cmd/new.js +2 -1
  11. package/dist/cmd/new.js.map +1 -1
  12. package/dist/cmd/run.d.ts.map +1 -1
  13. package/dist/cmd/run.js +58 -1
  14. package/dist/cmd/run.js.map +1 -1
  15. package/dist/cmd/transpile.d.ts +5 -1
  16. package/dist/cmd/transpile.d.ts.map +1 -1
  17. package/dist/cmd/transpile.js +124 -0
  18. package/dist/cmd/transpile.js.map +1 -1
  19. package/dist/engine-compat.d.ts +11 -0
  20. package/dist/engine-compat.d.ts.map +1 -0
  21. package/dist/engine-compat.js +56 -0
  22. package/dist/engine-compat.js.map +1 -0
  23. package/dist/jco.js +12 -1
  24. package/dist/jco.js.map +1 -1
  25. package/dist/node-builtins/assert.d.ts +3 -0
  26. package/dist/node-builtins/assert.d.ts.map +1 -0
  27. package/dist/node-builtins/assert.js +65 -0
  28. package/dist/node-builtins/assert.js.map +1 -0
  29. package/dist/node-builtins/async-hooks.d.ts +3 -0
  30. package/dist/node-builtins/async-hooks.d.ts.map +1 -0
  31. package/dist/node-builtins/async-hooks.js +27 -0
  32. package/dist/node-builtins/async-hooks.js.map +1 -0
  33. package/dist/node-builtins/buffer.d.ts +4 -0
  34. package/dist/node-builtins/buffer.d.ts.map +1 -0
  35. package/dist/node-builtins/buffer.js +87 -0
  36. package/dist/node-builtins/buffer.js.map +1 -0
  37. package/dist/node-builtins/child-process.d.ts +3 -0
  38. package/dist/node-builtins/child-process.d.ts.map +1 -0
  39. package/dist/node-builtins/child-process.js +23 -0
  40. package/dist/node-builtins/child-process.js.map +1 -0
  41. package/dist/node-builtins/cluster.d.ts +3 -0
  42. package/dist/node-builtins/cluster.d.ts.map +1 -0
  43. package/dist/node-builtins/cluster.js +28 -0
  44. package/dist/node-builtins/cluster.js.map +1 -0
  45. package/dist/node-builtins/console.d.ts +3 -0
  46. package/dist/node-builtins/console.d.ts.map +1 -0
  47. package/dist/node-builtins/console.js +39 -0
  48. package/dist/node-builtins/console.js.map +1 -0
  49. package/dist/node-builtins/crypto.d.ts +3 -0
  50. package/dist/node-builtins/crypto.d.ts.map +1 -0
  51. package/dist/node-builtins/crypto.js +5 -0
  52. package/dist/node-builtins/crypto.js.map +1 -0
  53. package/dist/node-builtins/dgram.d.ts +4 -0
  54. package/dist/node-builtins/dgram.d.ts.map +1 -0
  55. package/dist/node-builtins/dgram.js +13 -0
  56. package/dist/node-builtins/dgram.js.map +1 -0
  57. package/dist/node-builtins/diagnostics-channel.d.ts +3 -0
  58. package/dist/node-builtins/diagnostics-channel.d.ts.map +1 -0
  59. package/dist/node-builtins/diagnostics-channel.js +26 -0
  60. package/dist/node-builtins/diagnostics-channel.js.map +1 -0
  61. package/dist/node-builtins/dns.d.ts +3 -0
  62. package/dist/node-builtins/dns.d.ts.map +1 -0
  63. package/dist/node-builtins/dns.js +12 -0
  64. package/dist/node-builtins/dns.js.map +1 -0
  65. package/dist/node-builtins/domain.d.ts +3 -0
  66. package/dist/node-builtins/domain.d.ts.map +1 -0
  67. package/dist/node-builtins/domain.js +19 -0
  68. package/dist/node-builtins/domain.js.map +1 -0
  69. package/dist/node-builtins/events.d.ts +3 -0
  70. package/dist/node-builtins/events.d.ts.map +1 -0
  71. package/dist/node-builtins/events.js +39 -0
  72. package/dist/node-builtins/events.js.map +1 -0
  73. package/dist/node-builtins/ffi.d.ts +3 -0
  74. package/dist/node-builtins/ffi.d.ts.map +1 -0
  75. package/dist/node-builtins/ffi.js +59 -0
  76. package/dist/node-builtins/ffi.js.map +1 -0
  77. package/dist/node-builtins/fs.d.ts +3 -0
  78. package/dist/node-builtins/fs.d.ts.map +1 -0
  79. package/dist/node-builtins/fs.js +16 -0
  80. package/dist/node-builtins/fs.js.map +1 -0
  81. package/dist/node-builtins/globals.d.ts +19 -0
  82. package/dist/node-builtins/globals.d.ts.map +1 -0
  83. package/dist/node-builtins/globals.js +56 -0
  84. package/dist/node-builtins/globals.js.map +1 -0
  85. package/dist/node-builtins/http-common.d.ts +6 -0
  86. package/dist/node-builtins/http-common.d.ts.map +1 -0
  87. package/dist/node-builtins/http-common.js +111 -0
  88. package/dist/node-builtins/http-common.js.map +1 -0
  89. package/dist/node-builtins/http.d.ts +4 -0
  90. package/dist/node-builtins/http.d.ts.map +1 -0
  91. package/dist/node-builtins/http.js +15 -0
  92. package/dist/node-builtins/http.js.map +1 -0
  93. package/dist/node-builtins/http2.d.ts +4 -0
  94. package/dist/node-builtins/http2.d.ts.map +1 -0
  95. package/dist/node-builtins/http2.js +79 -0
  96. package/dist/node-builtins/http2.js.map +1 -0
  97. package/dist/node-builtins/https.d.ts +3 -0
  98. package/dist/node-builtins/https.d.ts.map +1 -0
  99. package/dist/node-builtins/https.js +5 -0
  100. package/dist/node-builtins/https.js.map +1 -0
  101. package/dist/node-builtins/index.d.ts +10 -0
  102. package/dist/node-builtins/index.d.ts.map +1 -0
  103. package/dist/node-builtins/index.js +164 -0
  104. package/dist/node-builtins/index.js.map +1 -0
  105. package/dist/node-builtins/inspector.d.ts +12 -0
  106. package/dist/node-builtins/inspector.d.ts.map +1 -0
  107. package/dist/node-builtins/inspector.js +70 -0
  108. package/dist/node-builtins/inspector.js.map +1 -0
  109. package/dist/node-builtins/module.d.ts +3 -0
  110. package/dist/node-builtins/module.d.ts.map +1 -0
  111. package/dist/node-builtins/module.js +55 -0
  112. package/dist/node-builtins/module.js.map +1 -0
  113. package/dist/node-builtins/net.d.ts +3 -0
  114. package/dist/node-builtins/net.d.ts.map +1 -0
  115. package/dist/node-builtins/net.js +46 -0
  116. package/dist/node-builtins/net.js.map +1 -0
  117. package/dist/node-builtins/os.d.ts +3 -0
  118. package/dist/node-builtins/os.d.ts.map +1 -0
  119. package/dist/node-builtins/os.js +39 -0
  120. package/dist/node-builtins/os.js.map +1 -0
  121. package/dist/node-builtins/path.d.ts +3 -0
  122. package/dist/node-builtins/path.d.ts.map +1 -0
  123. package/dist/node-builtins/path.js +91 -0
  124. package/dist/node-builtins/path.js.map +1 -0
  125. package/dist/node-builtins/perf-hooks.d.ts +3 -0
  126. package/dist/node-builtins/perf-hooks.d.ts.map +1 -0
  127. package/dist/node-builtins/perf-hooks.js +12 -0
  128. package/dist/node-builtins/perf-hooks.js.map +1 -0
  129. package/dist/node-builtins/process.d.ts +3 -0
  130. package/dist/node-builtins/process.d.ts.map +1 -0
  131. package/dist/node-builtins/process.js +9 -0
  132. package/dist/node-builtins/process.js.map +1 -0
  133. package/dist/node-builtins/querystring.d.ts +3 -0
  134. package/dist/node-builtins/querystring.d.ts.map +1 -0
  135. package/dist/node-builtins/querystring.js +18 -0
  136. package/dist/node-builtins/querystring.js.map +1 -0
  137. package/dist/node-builtins/readline.d.ts +3 -0
  138. package/dist/node-builtins/readline.d.ts.map +1 -0
  139. package/dist/node-builtins/readline.js +11 -0
  140. package/dist/node-builtins/readline.js.map +1 -0
  141. package/dist/node-builtins/repl.d.ts +9 -0
  142. package/dist/node-builtins/repl.d.ts.map +1 -0
  143. package/dist/node-builtins/repl.js +12 -0
  144. package/dist/node-builtins/repl.js.map +1 -0
  145. package/dist/node-builtins/shared.d.ts +24 -0
  146. package/dist/node-builtins/shared.d.ts.map +1 -0
  147. package/dist/node-builtins/shared.js +68 -0
  148. package/dist/node-builtins/shared.js.map +1 -0
  149. package/dist/node-builtins/sqlite.d.ts +3 -0
  150. package/dist/node-builtins/sqlite.d.ts.map +1 -0
  151. package/dist/node-builtins/sqlite.js +9 -0
  152. package/dist/node-builtins/sqlite.js.map +1 -0
  153. package/dist/node-builtins/stream.d.ts +3 -0
  154. package/dist/node-builtins/stream.d.ts.map +1 -0
  155. package/dist/node-builtins/stream.js +64 -0
  156. package/dist/node-builtins/stream.js.map +1 -0
  157. package/dist/node-builtins/string-decoder.d.ts +3 -0
  158. package/dist/node-builtins/string-decoder.d.ts.map +1 -0
  159. package/dist/node-builtins/string-decoder.js +14 -0
  160. package/dist/node-builtins/string-decoder.js.map +1 -0
  161. package/dist/node-builtins/test.d.ts +4 -0
  162. package/dist/node-builtins/test.d.ts.map +1 -0
  163. package/dist/node-builtins/test.js +8 -0
  164. package/dist/node-builtins/test.js.map +1 -0
  165. package/dist/node-builtins/timers.d.ts +4 -0
  166. package/dist/node-builtins/timers.d.ts.map +1 -0
  167. package/dist/node-builtins/timers.js +9 -0
  168. package/dist/node-builtins/timers.js.map +1 -0
  169. package/dist/node-builtins/tls.d.ts +3 -0
  170. package/dist/node-builtins/tls.d.ts.map +1 -0
  171. package/dist/node-builtins/tls.js +10 -0
  172. package/dist/node-builtins/tls.js.map +1 -0
  173. package/dist/node-builtins/trace-events.d.ts +3 -0
  174. package/dist/node-builtins/trace-events.d.ts.map +1 -0
  175. package/dist/node-builtins/trace-events.js +9 -0
  176. package/dist/node-builtins/trace-events.js.map +1 -0
  177. package/dist/node-builtins/tty.d.ts +8 -0
  178. package/dist/node-builtins/tty.d.ts.map +1 -0
  179. package/dist/node-builtins/tty.js +12 -0
  180. package/dist/node-builtins/tty.js.map +1 -0
  181. package/dist/node-builtins/types.d.ts +159 -0
  182. package/dist/node-builtins/types.d.ts.map +1 -0
  183. package/dist/node-builtins/types.js +2 -0
  184. package/dist/node-builtins/types.js.map +1 -0
  185. package/dist/node-builtins/unenv.d.ts +6 -0
  186. package/dist/node-builtins/unenv.d.ts.map +1 -0
  187. package/dist/node-builtins/unenv.js +27 -0
  188. package/dist/node-builtins/unenv.js.map +1 -0
  189. package/dist/node-builtins/url-pattern.d.ts +8 -0
  190. package/dist/node-builtins/url-pattern.d.ts.map +1 -0
  191. package/dist/node-builtins/url-pattern.js +19 -0
  192. package/dist/node-builtins/url-pattern.js.map +1 -0
  193. package/dist/node-builtins/url.d.ts +4 -0
  194. package/dist/node-builtins/url.d.ts.map +1 -0
  195. package/dist/node-builtins/url.js +100 -0
  196. package/dist/node-builtins/url.js.map +1 -0
  197. package/dist/node-builtins/util.d.ts +3 -0
  198. package/dist/node-builtins/util.d.ts.map +1 -0
  199. package/dist/node-builtins/util.js +7 -0
  200. package/dist/node-builtins/util.js.map +1 -0
  201. package/dist/node-builtins/v8.d.ts +3 -0
  202. package/dist/node-builtins/v8.d.ts.map +1 -0
  203. package/dist/node-builtins/v8.js +6 -0
  204. package/dist/node-builtins/v8.js.map +1 -0
  205. package/dist/node-builtins/vfs.d.ts +3 -0
  206. package/dist/node-builtins/vfs.d.ts.map +1 -0
  207. package/dist/node-builtins/vfs.js +42 -0
  208. package/dist/node-builtins/vfs.js.map +1 -0
  209. package/dist/node-builtins/vm.d.ts +4 -0
  210. package/dist/node-builtins/vm.d.ts.map +1 -0
  211. package/dist/node-builtins/vm.js +6 -0
  212. package/dist/node-builtins/vm.js.map +1 -0
  213. package/dist/node-builtins/wasi-sockets.d.ts +10 -0
  214. package/dist/node-builtins/wasi-sockets.d.ts.map +1 -0
  215. package/dist/node-builtins/wasi-sockets.js +25 -0
  216. package/dist/node-builtins/wasi-sockets.js.map +1 -0
  217. package/dist/node-builtins/wasi.d.ts +10 -0
  218. package/dist/node-builtins/wasi.d.ts.map +1 -0
  219. package/dist/node-builtins/wasi.js +14 -0
  220. package/dist/node-builtins/wasi.js.map +1 -0
  221. package/dist/node-builtins/worker-threads.d.ts +3 -0
  222. package/dist/node-builtins/worker-threads.d.ts.map +1 -0
  223. package/dist/node-builtins/worker-threads.js +16 -0
  224. package/dist/node-builtins/worker-threads.js.map +1 -0
  225. package/dist/node-builtins/zlib.d.ts +3 -0
  226. package/dist/node-builtins/zlib.d.ts.map +1 -0
  227. package/dist/node-builtins/zlib.js +6 -0
  228. package/dist/node-builtins/zlib.js.map +1 -0
  229. package/dist/node-wit.d.ts +102 -0
  230. package/dist/node-wit.d.ts.map +1 -0
  231. package/dist/node-wit.js +469 -0
  232. package/dist/node-wit.js.map +1 -0
  233. package/lib/wasi_snapshot_preview1.command.wasm +0 -0
  234. package/lib/wasi_snapshot_preview1.reactor.wasm +0 -0
  235. package/lib/wit/builtin/0.2.10/wasi-clocks/package.wit +35 -0
  236. package/lib/wit/builtin/0.2.10/wasi-io/package.wit +47 -0
  237. package/lib/wit/builtin/0.2.10/wasi-sockets/package.wit +168 -0
  238. package/lib/wit/builtin/jco-node-0.1.0/child-process.wit +42 -0
  239. package/lib/wit/builtin/jco-node-0.1.0/cluster.wit +112 -0
  240. package/lib/wit/builtin/jco-node-0.1.0/console.wit +12 -0
  241. package/lib/wit/builtin/jco-node-0.1.0/dgram.wit +142 -0
  242. package/lib/wit/builtin/jco-node-0.1.0/dns.wit +145 -0
  243. package/lib/wit/builtin/jco-node-0.1.0/ffi.wit +116 -0
  244. package/lib/wit/builtin/jco-node-0.1.0/fs.wit +208 -0
  245. package/lib/wit/builtin/jco-node-0.1.0/http.wit +151 -0
  246. package/lib/wit/builtin/jco-node-0.1.0/http2.wit +190 -0
  247. package/lib/wit/builtin/jco-node-0.1.0/inspector.wit +142 -0
  248. package/lib/wit/builtin/jco-node-0.1.0/os.wit +120 -0
  249. package/lib/wit/builtin/jco-node-0.1.0/process.wit +245 -0
  250. package/lib/wit/builtin/jco-node-0.1.0/sqlite.wit +154 -0
  251. package/lib/wit/builtin/jco-node-0.1.0/tls.wit +108 -0
  252. package/lib/wit/builtin/jco-node-0.1.0/trace-events.wit +27 -0
  253. package/lib/wit/builtin/jco-node-0.1.0/tty.wit +59 -0
  254. package/lib/wit/builtin/jco-node-0.1.0/types.wit +12 -0
  255. package/lib/wit/builtin/jco-node-0.1.0/v8.wit +102 -0
  256. package/lib/wit/builtin/jco-node-0.1.0/wasi.wit +57 -0
  257. package/lib/wit/builtin/jco-node-0.1.0/worker-threads.wit +67 -0
  258. package/lib/wit/builtin/jco-node-0.1.0/zlib.wit +77 -0
  259. package/lib/wit/builtin/wasi-tls-0.2.0-draft/LICENSE.md +8 -0
  260. package/lib/wit/builtin/wasi-tls-0.2.0-draft/README.md +25 -0
  261. package/lib/wit/builtin/wasi-tls-0.2.0-draft/deps/io/package.wit +66 -0
  262. package/lib/wit/builtin/wasi-tls-0.2.0-draft/types.wit +27 -0
  263. package/lib/wit/builtin/wasi-tls-0.2.0-draft/world.wit +8 -0
  264. package/package.json +9 -5
@@ -0,0 +1,79 @@
1
+ import { VIRTUAL_PREFIX, composeBuiltins, virtualBuiltin, stdModule, builtin, } from "./shared.js";
2
+ import { wasiSocketsProviderSource, requireWasiHttpVersion } from "./wasi-sockets.js";
3
+ import { HTTP2_WIT_REQUIREMENT, TLS_WIT_REQUIREMENT, HTTP_WASI_SOCKETS_WIT_REQUIREMENTS, HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS, } from "../node-wit.js";
4
+ const HTTP2_SPECIFIER = "node:http2";
5
+ export const HTTP2_CALLBACKS_SPECIFIER = "jco:node-http2-callbacks";
6
+ const HTTP2_CALLBACKS_MODULE = `${VIRTUAL_PREFIX}http2-callbacks`;
7
+ const HTTP2_EXPORTS = [
8
+ "Http2ServerRequest",
9
+ "Http2ServerResponse",
10
+ "connect",
11
+ "constants",
12
+ "createSecureServer",
13
+ "createServer",
14
+ "getDefaultSettings",
15
+ "getPackedSettings",
16
+ "getUnpackedSettings",
17
+ "performServerHandshake",
18
+ "sensitiveHeaders",
19
+ ];
20
+ function http2Exports(moduleExpression) {
21
+ return `
22
+ const http2 = ${moduleExpression};
23
+ export default http2;
24
+ export const { ${HTTP2_EXPORTS.join(", ")} } = http2;
25
+ `;
26
+ }
27
+ function http2DirectAdapter(http2Module) {
28
+ return `
29
+ import directHttp2 from ${JSON.stringify(http2Module)};
30
+ ${http2Exports("directHttp2")}
31
+ `;
32
+ }
33
+ /** Source for the guest-exported HTTP/2 callback interface used by the component entry wrapper. */
34
+ function http2CallbacksAdapter(http2Module) {
35
+ return `export { http2Callbacks } from ${JSON.stringify(http2Module)};`;
36
+ }
37
+ function http2PortableAdapter(coreModule, implementationModule, via, version) {
38
+ const factory = via === "wasi-sockets" ? "createWasiSocketsHttp2Implementation" : "createWasiHttpHttp2Implementation";
39
+ const provider = via === "wasi-sockets" ? wasiSocketsProviderSource(version) : undefined;
40
+ return `
41
+ ${provider?.imports ?? ""}
42
+ import { createHttp2 } from ${JSON.stringify(coreModule)};
43
+ import { ${factory} } from ${JSON.stringify(implementationModule)};
44
+ ${http2Exports(`createHttp2(${factory}(${provider?.value ?? ""}))`)}
45
+ `;
46
+ }
47
+ export function createHttp2Builtin({ options, worldMetadata }) {
48
+ const via = options.nodejsHttp2Via ?? "direct";
49
+ const socketsVersion = options.wasiSocketsVersion ?? "0.2.12";
50
+ return composeBuiltins([
51
+ virtualBuiltin(HTTP2_CALLBACKS_SPECIFIER, HTTP2_CALLBACKS_MODULE, () => http2CallbacksAdapter(stdModule(options.http2Module, "http2"))),
52
+ builtin(HTTP2_SPECIFIER, () => {
53
+ if (via === "direct") {
54
+ return http2DirectAdapter(stdModule(options.http2Module, "http2"));
55
+ }
56
+ return http2PortableAdapter(stdModule(options.http2CoreModule, "http2/core"), via === "wasi-sockets"
57
+ ? stdModule(options.http2WasiSocketsImplementationModule, "http2/impl/wasi-sockets")
58
+ : stdModule(options.http2WasiHttpImplementationModule, "http2/impl/wasi-http"), via, socketsVersion);
59
+ }, () => {
60
+ if (via === "direct") {
61
+ options.onWitRequirement?.(HTTP2_WIT_REQUIREMENT);
62
+ options.onWitRequirement?.({
63
+ ...TLS_WIT_REQUIREMENT,
64
+ nodeSpecifier: "node:http2",
65
+ guestExports: [],
66
+ });
67
+ }
68
+ else if (via === "wasi-sockets") {
69
+ requireWasiHttpVersion(worldMetadata, HTTP2_SPECIFIER, via, socketsVersion);
70
+ for (const requirement of socketsVersion === "0.2.12"
71
+ ? HTTP_WASI_SOCKETS_WIT_REQUIREMENTS
72
+ : HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS) {
73
+ options.onWitRequirement?.(requirement);
74
+ }
75
+ }
76
+ }),
77
+ ]);
78
+ }
79
+ //# sourceMappingURL=http2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http2.js","sourceRoot":"","sources":["../../src/node-builtins/http2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createHttpsBuiltin(context: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=https.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https.d.ts","sourceRoot":"","sources":["../../src/node-builtins/https.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGvE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAE1E"}
@@ -0,0 +1,5 @@
1
+ import { createProtocolBuiltin } from "./http-common.js";
2
+ export function createHttpsBuiltin(context) {
3
+ return createProtocolBuiltin(context, "https");
4
+ }
5
+ //# sourceMappingURL=https.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https.js","sourceRoot":"","sources":["../../src/node-builtins/https.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACtD,OAAO,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type WorldMetadata, type NodeBuiltinOptions } from "./types.js";
2
+ import { type Plugin } from "rolldown";
3
+ export type { NodeBuiltinOptions, NodejsHttpVia, NodejsVfsVia, NodejsHttp2Via, WorldMetadata, NodeErrorGlobalsOptions, NodeGlobalsOptions, } from "./types.js";
4
+ export { nodeErrorGlobals, nodeGlobals } from "./globals.js";
5
+ export { INSPECTOR_CALLBACKS_SPECIFIER } from "./inspector.js";
6
+ export { HTTP_CALLBACKS_SPECIFIER } from "./http.js";
7
+ export { HTTP2_CALLBACKS_SPECIFIER } from "./http2.js";
8
+ /** Create Jco's virtual adapters for supported Node builtins. */
9
+ export declare function nodeBuiltinPlugin(worldMetadata: WorldMetadata, options?: NodeBuiltinOptions): Plugin;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node-builtins/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AA8CvC,YAAY,EACR,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,kBAAkB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CA+ExG"}
@@ -0,0 +1,164 @@
1
+ import { createCryptoBuiltin } from "./crypto.js";
2
+ import { createPortableUnenvBuiltin } from "./unenv.js";
3
+ import { createGlobalsBuiltin } from "./globals.js";
4
+ import { createAssertBuiltin } from "./assert.js";
5
+ import { createModuleBuiltin } from "./module.js";
6
+ import { createFfiBuiltin } from "./ffi.js";
7
+ import { createInspectorBuiltin } from "./inspector.js";
8
+ import { createDomainBuiltin } from "./domain.js";
9
+ import { createTimersBuiltin } from "./timers.js";
10
+ import { createTraceEventsBuiltin } from "./trace-events.js";
11
+ import { createPerfHooksBuiltin } from "./perf-hooks.js";
12
+ import { createDiagnosticsChannelBuiltin } from "./diagnostics-channel.js";
13
+ import { createAsyncHooksBuiltin } from "./async-hooks.js";
14
+ import { createEventsBuiltin } from "./events.js";
15
+ import { createProcessBuiltin } from "./process.js";
16
+ import { createOsBuiltin } from "./os.js";
17
+ import { createTestBuiltin } from "./test.js";
18
+ import { createUtilBuiltin } from "./util.js";
19
+ import { createSqliteBuiltin } from "./sqlite.js";
20
+ import { createReadlineBuiltin } from "./readline.js";
21
+ import { createReplBuiltin } from "./repl.js";
22
+ import { createStringDecoderBuiltin } from "./string-decoder.js";
23
+ import { createZlibBuiltin } from "./zlib.js";
24
+ import { createTtyBuiltin } from "./tty.js";
25
+ import { createWasiBuiltin } from "./wasi.js";
26
+ import { createV8Builtin } from "./v8.js";
27
+ import { createStreamBuiltin } from "./stream.js";
28
+ import { createClusterBuiltin } from "./cluster.js";
29
+ import { createWorkerThreadsBuiltin } from "./worker-threads.js";
30
+ import { createVmBuiltin } from "./vm.js";
31
+ import { createChildProcessBuiltin } from "./child-process.js";
32
+ import { createConsoleBuiltin } from "./console.js";
33
+ import { createDgramBuiltin } from "./dgram.js";
34
+ import { createDnsBuiltin } from "./dns.js";
35
+ import { createVfsBuiltin } from "./vfs.js";
36
+ import { createFsBuiltin } from "./fs.js";
37
+ import { createNetBuiltin } from "./net.js";
38
+ import { createHttpBuiltin } from "./http.js";
39
+ import { createHttpsBuiltin } from "./https.js";
40
+ import { createTlsBuiltin } from "./tls.js";
41
+ import { createHttp2Builtin } from "./http2.js";
42
+ import { createBufferBuiltin } from "./buffer.js";
43
+ import { createQuerystringBuiltin } from "./querystring.js";
44
+ import { createUrlBuiltin } from "./url.js";
45
+ import { createPathBuiltin } from "./path.js";
46
+ import { composeBuiltins, VIRTUAL_PREFIX } from "./shared.js";
47
+ export { nodeErrorGlobals, nodeGlobals } from "./globals.js";
48
+ export { INSPECTOR_CALLBACKS_SPECIFIER } from "./inspector.js";
49
+ export { HTTP_CALLBACKS_SPECIFIER } from "./http.js";
50
+ export { HTTP2_CALLBACKS_SPECIFIER } from "./http2.js";
51
+ /** Create Jco's virtual adapters for supported Node builtins. */
52
+ export function nodeBuiltinPlugin(worldMetadata, options = {}) {
53
+ const context = { worldMetadata, options };
54
+ const adapters = [
55
+ createGlobalsBuiltin,
56
+ createAssertBuiltin,
57
+ createModuleBuiltin,
58
+ createFfiBuiltin,
59
+ createInspectorBuiltin,
60
+ createDomainBuiltin,
61
+ createPerfHooksBuiltin,
62
+ createTraceEventsBuiltin,
63
+ createTimersBuiltin,
64
+ createDiagnosticsChannelBuiltin,
65
+ createAsyncHooksBuiltin,
66
+ createEventsBuiltin,
67
+ createProcessBuiltin,
68
+ createOsBuiltin,
69
+ createSqliteBuiltin,
70
+ createReadlineBuiltin,
71
+ createReplBuiltin,
72
+ createTestBuiltin,
73
+ createUtilBuiltin,
74
+ createStringDecoderBuiltin,
75
+ createTtyBuiltin,
76
+ createZlibBuiltin,
77
+ createWasiBuiltin,
78
+ createV8Builtin,
79
+ createStreamBuiltin,
80
+ createClusterBuiltin,
81
+ createWorkerThreadsBuiltin,
82
+ createVmBuiltin,
83
+ createChildProcessBuiltin,
84
+ createConsoleBuiltin,
85
+ createDgramBuiltin,
86
+ createDnsBuiltin,
87
+ createFsBuiltin,
88
+ createVfsBuiltin,
89
+ createNetBuiltin,
90
+ createHttpBuiltin,
91
+ createHttpsBuiltin,
92
+ createTlsBuiltin,
93
+ createHttp2Builtin,
94
+ createBufferBuiltin,
95
+ createQuerystringBuiltin,
96
+ createPathBuiltin,
97
+ createUrlBuiltin,
98
+ createCryptoBuiltin,
99
+ createPortableUnenvBuiltin,
100
+ ];
101
+ const composed = composeBuiltins(adapters.map((create) => create(context)));
102
+ return {
103
+ name: "jco-node-builtins",
104
+ resolveId(id, importer, extraOptions) {
105
+ if (id === "node:stream" && extraOptions?.kind === "require-call") {
106
+ return `${VIRTUAL_PREFIX}commonjs-stream`;
107
+ }
108
+ if (id.startsWith(VIRTUAL_PREFIX)) {
109
+ return id;
110
+ }
111
+ const resolved = composed.resolveId(id, importer);
112
+ if (resolved !== null) {
113
+ return resolved;
114
+ }
115
+ if (BARE_SPECIFIER_BUILTINS.has(id)) {
116
+ return Promise.resolve(this.resolve(id, importer, { skipSelf: true })).then((installed) => installed
117
+ ? null
118
+ : id === "stream"
119
+ ? `${VIRTUAL_PREFIX}commonjs-stream`
120
+ : composed.resolveId(`node:${id}`, importer));
121
+ }
122
+ return null;
123
+ },
124
+ load(id) {
125
+ return id.startsWith(VIRTUAL_PREFIX) ? composed.load(id) : null;
126
+ },
127
+ };
128
+ }
129
+ // Preserve normal package resolution before falling back to an audited bare builtin.
130
+ const BARE_SPECIFIER_BUILTINS = new Set([
131
+ "path",
132
+ "path/posix",
133
+ "path/win32",
134
+ "assert",
135
+ "assert/strict",
136
+ "fs",
137
+ "fs/promises",
138
+ "dns",
139
+ "dns/promises",
140
+ "buffer",
141
+ "querystring",
142
+ "process",
143
+ "tty",
144
+ "url",
145
+ "util",
146
+ "util/types",
147
+ "zlib",
148
+ "async_hooks",
149
+ "child_process",
150
+ "cluster",
151
+ "console",
152
+ "crypto",
153
+ "diagnostics_channel",
154
+ "domain",
155
+ "events",
156
+ "http",
157
+ "https",
158
+ "net",
159
+ "stream",
160
+ "stream/promises",
161
+ "string_decoder",
162
+ "timers",
163
+ ]);
164
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node-builtins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAY9D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,iEAAiE;AACjE,MAAM,UAAU,iBAAiB,CAAC,aAA4B,EAAE,OAAO,GAAuB,EAAE;IAC5F,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG;QACb,oBAAoB;QACpB,mBAAmB;QACnB,mBAAmB;QACnB,gBAAgB;QAChB,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,wBAAwB;QACxB,mBAAmB;QACnB,+BAA+B;QAC/B,uBAAuB;QACvB,mBAAmB;QACnB,oBAAoB;QACpB,eAAe;QACf,mBAAmB;QACnB,qBAAqB;QACrB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,0BAA0B;QAC1B,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;QACf,mBAAmB;QACnB,oBAAoB;QACpB,0BAA0B;QAC1B,eAAe;QACf,yBAAyB;QACzB,oBAAoB;QACpB,kBAAkB;QAClB,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;QACnB,wBAAwB;QACxB,iBAAiB;QACjB,gBAAgB;QAChB,mBAAmB;QACnB,0BAA0B;KAC7B,CAAC;IACF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO;QACH,IAAI,EAAE,mBAAmB;QACzB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY;YAChC,IAAI,EAAE,KAAK,aAAa,IAAI,YAAY,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;gBAChE,OAAO,GAAG,cAAc,iBAAiB,CAAC;YAC9C,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACtF,SAAS;oBACL,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,KAAK,QAAQ;wBACf,CAAC,CAAC,GAAG,cAAc,iBAAiB;wBACpC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CACrD,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,EAAE;YACH,OAAO,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;KACJ,CAAC;AACN,CAAC;AAED,qFAAqF;AACrF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACpC,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,aAAa;IACb,KAAK;IACL,cAAc;IACd,QAAQ;IACR,aAAa;IACb,SAAS;IACT,KAAK;IACL,KAAK;IACL,MAAM;IACN,YAAY;IACZ,MAAM;IACN,aAAa;IACb,eAAe;IACf,SAAS;IACT,SAAS;IACT,QAAQ;IACR,qBAAqB;IACrB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,iBAAiB;IACjB,gBAAgB;IAChB,QAAQ;CACX,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ /**
3
+ * Virtual specifier the two-pass bundler imports to reach the guest-exported callbacks interface.
4
+ *
5
+ * `node:inspector` is host-backed, but the host also has to call *back* into the component. A
6
+ * component cannot implement a resource on an imported interface, so the callbacks live in a
7
+ * guest-exported interface, and this virtual module re-exports its implementation from the shared
8
+ * jco-std inspector module so the wrapper can add it to the component's top-level exports.
9
+ */
10
+ export declare const INSPECTOR_CALLBACKS_SPECIFIER = "jco:node-inspector-callbacks";
11
+ export declare function createInspectorBuiltin({ options }: BuiltinContext): BuiltinAdapter;
12
+ //# sourceMappingURL=inspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/node-builtins/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,cAAc,EAKtB,MAAM,aAAa,CAAC;AASrB;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAmD5E,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAmBlF"}
@@ -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"}