@bytecodealliance/jco 1.33.0 → 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 (248) hide show
  1. package/dist/bundle.d.ts.map +1 -1
  2. package/dist/bundle.js +5 -0
  3. package/dist/bundle.js.map +1 -1
  4. package/dist/cmd/componentize.d.ts +10 -1
  5. package/dist/cmd/componentize.d.ts.map +1 -1
  6. package/dist/cmd/componentize.js +14 -4
  7. package/dist/cmd/componentize.js.map +1 -1
  8. package/dist/cmd/new.js +2 -1
  9. package/dist/cmd/new.js.map +1 -1
  10. package/dist/cmd/transpile.d.ts.map +1 -1
  11. package/dist/cmd/transpile.js +28 -1
  12. package/dist/cmd/transpile.js.map +1 -1
  13. package/dist/engine-compat.d.ts +11 -0
  14. package/dist/engine-compat.d.ts.map +1 -0
  15. package/dist/engine-compat.js +56 -0
  16. package/dist/engine-compat.js.map +1 -0
  17. package/dist/jco.js +6 -2
  18. package/dist/jco.js.map +1 -1
  19. package/dist/node-builtins/assert.d.ts +3 -0
  20. package/dist/node-builtins/assert.d.ts.map +1 -0
  21. package/dist/node-builtins/assert.js +65 -0
  22. package/dist/node-builtins/assert.js.map +1 -0
  23. package/dist/node-builtins/async-hooks.d.ts +3 -0
  24. package/dist/node-builtins/async-hooks.d.ts.map +1 -0
  25. package/dist/node-builtins/async-hooks.js +27 -0
  26. package/dist/node-builtins/async-hooks.js.map +1 -0
  27. package/dist/node-builtins/buffer.d.ts +4 -0
  28. package/dist/node-builtins/buffer.d.ts.map +1 -0
  29. package/dist/node-builtins/buffer.js +87 -0
  30. package/dist/node-builtins/buffer.js.map +1 -0
  31. package/dist/node-builtins/child-process.d.ts +3 -0
  32. package/dist/node-builtins/child-process.d.ts.map +1 -0
  33. package/dist/node-builtins/child-process.js +23 -0
  34. package/dist/node-builtins/child-process.js.map +1 -0
  35. package/dist/node-builtins/cluster.d.ts +3 -0
  36. package/dist/node-builtins/cluster.d.ts.map +1 -0
  37. package/dist/node-builtins/cluster.js +28 -0
  38. package/dist/node-builtins/cluster.js.map +1 -0
  39. package/dist/node-builtins/console.d.ts +3 -0
  40. package/dist/node-builtins/console.d.ts.map +1 -0
  41. package/dist/node-builtins/console.js +39 -0
  42. package/dist/node-builtins/console.js.map +1 -0
  43. package/dist/node-builtins/crypto.d.ts +3 -0
  44. package/dist/node-builtins/crypto.d.ts.map +1 -0
  45. package/dist/node-builtins/crypto.js +5 -0
  46. package/dist/node-builtins/crypto.js.map +1 -0
  47. package/dist/node-builtins/dgram.d.ts +4 -0
  48. package/dist/node-builtins/dgram.d.ts.map +1 -0
  49. package/dist/node-builtins/dgram.js +13 -0
  50. package/dist/node-builtins/dgram.js.map +1 -0
  51. package/dist/node-builtins/diagnostics-channel.d.ts +3 -0
  52. package/dist/node-builtins/diagnostics-channel.d.ts.map +1 -0
  53. package/dist/node-builtins/diagnostics-channel.js +26 -0
  54. package/dist/node-builtins/diagnostics-channel.js.map +1 -0
  55. package/dist/node-builtins/dns.d.ts +3 -0
  56. package/dist/node-builtins/dns.d.ts.map +1 -0
  57. package/dist/node-builtins/dns.js +12 -0
  58. package/dist/node-builtins/dns.js.map +1 -0
  59. package/dist/node-builtins/domain.d.ts +3 -0
  60. package/dist/node-builtins/domain.d.ts.map +1 -0
  61. package/dist/node-builtins/domain.js +19 -0
  62. package/dist/node-builtins/domain.js.map +1 -0
  63. package/dist/node-builtins/events.d.ts +3 -0
  64. package/dist/node-builtins/events.d.ts.map +1 -0
  65. package/dist/node-builtins/events.js +39 -0
  66. package/dist/node-builtins/events.js.map +1 -0
  67. package/dist/node-builtins/ffi.d.ts +3 -0
  68. package/dist/node-builtins/ffi.d.ts.map +1 -0
  69. package/dist/node-builtins/ffi.js +59 -0
  70. package/dist/node-builtins/ffi.js.map +1 -0
  71. package/dist/node-builtins/fs.d.ts +3 -0
  72. package/dist/node-builtins/fs.d.ts.map +1 -0
  73. package/dist/node-builtins/fs.js +16 -0
  74. package/dist/node-builtins/fs.js.map +1 -0
  75. package/dist/node-builtins/globals.d.ts +19 -0
  76. package/dist/node-builtins/globals.d.ts.map +1 -0
  77. package/dist/node-builtins/globals.js +56 -0
  78. package/dist/node-builtins/globals.js.map +1 -0
  79. package/dist/node-builtins/http-common.d.ts +6 -0
  80. package/dist/node-builtins/http-common.d.ts.map +1 -0
  81. package/dist/node-builtins/http-common.js +111 -0
  82. package/dist/node-builtins/http-common.js.map +1 -0
  83. package/dist/node-builtins/http.d.ts +4 -0
  84. package/dist/node-builtins/http.d.ts.map +1 -0
  85. package/dist/node-builtins/http.js +15 -0
  86. package/dist/node-builtins/http.js.map +1 -0
  87. package/dist/node-builtins/http2.d.ts +4 -0
  88. package/dist/node-builtins/http2.d.ts.map +1 -0
  89. package/dist/node-builtins/http2.js +79 -0
  90. package/dist/node-builtins/http2.js.map +1 -0
  91. package/dist/node-builtins/https.d.ts +3 -0
  92. package/dist/node-builtins/https.d.ts.map +1 -0
  93. package/dist/node-builtins/https.js +5 -0
  94. package/dist/node-builtins/https.js.map +1 -0
  95. package/dist/node-builtins/index.d.ts +10 -0
  96. package/dist/node-builtins/index.d.ts.map +1 -0
  97. package/dist/node-builtins/index.js +164 -0
  98. package/dist/node-builtins/index.js.map +1 -0
  99. package/dist/node-builtins/inspector.d.ts +12 -0
  100. package/dist/node-builtins/inspector.d.ts.map +1 -0
  101. package/dist/node-builtins/inspector.js +70 -0
  102. package/dist/node-builtins/inspector.js.map +1 -0
  103. package/dist/node-builtins/module.d.ts +3 -0
  104. package/dist/node-builtins/module.d.ts.map +1 -0
  105. package/dist/node-builtins/module.js +55 -0
  106. package/dist/node-builtins/module.js.map +1 -0
  107. package/dist/node-builtins/net.d.ts +3 -0
  108. package/dist/node-builtins/net.d.ts.map +1 -0
  109. package/dist/node-builtins/net.js +46 -0
  110. package/dist/node-builtins/net.js.map +1 -0
  111. package/dist/node-builtins/os.d.ts +3 -0
  112. package/dist/node-builtins/os.d.ts.map +1 -0
  113. package/dist/node-builtins/os.js +39 -0
  114. package/dist/node-builtins/os.js.map +1 -0
  115. package/dist/node-builtins/path.d.ts +3 -0
  116. package/dist/node-builtins/path.d.ts.map +1 -0
  117. package/dist/node-builtins/path.js +91 -0
  118. package/dist/node-builtins/path.js.map +1 -0
  119. package/dist/node-builtins/perf-hooks.d.ts +3 -0
  120. package/dist/node-builtins/perf-hooks.d.ts.map +1 -0
  121. package/dist/node-builtins/perf-hooks.js +12 -0
  122. package/dist/node-builtins/perf-hooks.js.map +1 -0
  123. package/dist/node-builtins/process.d.ts +3 -0
  124. package/dist/node-builtins/process.d.ts.map +1 -0
  125. package/dist/node-builtins/process.js +9 -0
  126. package/dist/node-builtins/process.js.map +1 -0
  127. package/dist/node-builtins/querystring.d.ts +3 -0
  128. package/dist/node-builtins/querystring.d.ts.map +1 -0
  129. package/dist/node-builtins/querystring.js +18 -0
  130. package/dist/node-builtins/querystring.js.map +1 -0
  131. package/dist/node-builtins/readline.d.ts +3 -0
  132. package/dist/node-builtins/readline.d.ts.map +1 -0
  133. package/dist/node-builtins/readline.js +11 -0
  134. package/dist/node-builtins/readline.js.map +1 -0
  135. package/dist/node-builtins/repl.d.ts +9 -0
  136. package/dist/node-builtins/repl.d.ts.map +1 -0
  137. package/dist/node-builtins/repl.js +12 -0
  138. package/dist/node-builtins/repl.js.map +1 -0
  139. package/dist/node-builtins/shared.d.ts +24 -0
  140. package/dist/node-builtins/shared.d.ts.map +1 -0
  141. package/dist/node-builtins/shared.js +68 -0
  142. package/dist/node-builtins/shared.js.map +1 -0
  143. package/dist/node-builtins/sqlite.d.ts +3 -0
  144. package/dist/node-builtins/sqlite.d.ts.map +1 -0
  145. package/dist/node-builtins/sqlite.js +9 -0
  146. package/dist/node-builtins/sqlite.js.map +1 -0
  147. package/dist/node-builtins/stream.d.ts +3 -0
  148. package/dist/node-builtins/stream.d.ts.map +1 -0
  149. package/dist/node-builtins/stream.js +64 -0
  150. package/dist/node-builtins/stream.js.map +1 -0
  151. package/dist/node-builtins/string-decoder.d.ts +3 -0
  152. package/dist/node-builtins/string-decoder.d.ts.map +1 -0
  153. package/dist/node-builtins/string-decoder.js +14 -0
  154. package/dist/node-builtins/string-decoder.js.map +1 -0
  155. package/dist/node-builtins/test.d.ts +4 -0
  156. package/dist/node-builtins/test.d.ts.map +1 -0
  157. package/dist/node-builtins/test.js +8 -0
  158. package/dist/node-builtins/test.js.map +1 -0
  159. package/dist/node-builtins/timers.d.ts +4 -0
  160. package/dist/node-builtins/timers.d.ts.map +1 -0
  161. package/dist/node-builtins/timers.js +9 -0
  162. package/dist/node-builtins/timers.js.map +1 -0
  163. package/dist/node-builtins/tls.d.ts +3 -0
  164. package/dist/node-builtins/tls.d.ts.map +1 -0
  165. package/dist/node-builtins/tls.js +10 -0
  166. package/dist/node-builtins/tls.js.map +1 -0
  167. package/dist/node-builtins/trace-events.d.ts +3 -0
  168. package/dist/node-builtins/trace-events.d.ts.map +1 -0
  169. package/dist/node-builtins/trace-events.js +9 -0
  170. package/dist/node-builtins/trace-events.js.map +1 -0
  171. package/dist/node-builtins/tty.d.ts +8 -0
  172. package/dist/node-builtins/tty.d.ts.map +1 -0
  173. package/dist/node-builtins/tty.js +12 -0
  174. package/dist/node-builtins/tty.js.map +1 -0
  175. package/dist/{node-builtins.d.ts → node-builtins/types.d.ts} +73 -41
  176. package/dist/node-builtins/types.d.ts.map +1 -0
  177. package/dist/node-builtins/types.js +2 -0
  178. package/dist/node-builtins/types.js.map +1 -0
  179. package/dist/node-builtins/unenv.d.ts +6 -0
  180. package/dist/node-builtins/unenv.d.ts.map +1 -0
  181. package/dist/node-builtins/unenv.js +27 -0
  182. package/dist/node-builtins/unenv.js.map +1 -0
  183. package/dist/node-builtins/url-pattern.d.ts +8 -0
  184. package/dist/node-builtins/url-pattern.d.ts.map +1 -0
  185. package/dist/node-builtins/url-pattern.js +19 -0
  186. package/dist/node-builtins/url-pattern.js.map +1 -0
  187. package/dist/node-builtins/url.d.ts +4 -0
  188. package/dist/node-builtins/url.d.ts.map +1 -0
  189. package/dist/node-builtins/url.js +100 -0
  190. package/dist/node-builtins/url.js.map +1 -0
  191. package/dist/node-builtins/util.d.ts +3 -0
  192. package/dist/node-builtins/util.d.ts.map +1 -0
  193. package/dist/node-builtins/util.js +7 -0
  194. package/dist/node-builtins/util.js.map +1 -0
  195. package/dist/node-builtins/v8.d.ts +3 -0
  196. package/dist/node-builtins/v8.d.ts.map +1 -0
  197. package/dist/node-builtins/v8.js +6 -0
  198. package/dist/node-builtins/v8.js.map +1 -0
  199. package/dist/node-builtins/vfs.d.ts +3 -0
  200. package/dist/node-builtins/vfs.d.ts.map +1 -0
  201. package/dist/node-builtins/vfs.js +42 -0
  202. package/dist/node-builtins/vfs.js.map +1 -0
  203. package/dist/node-builtins/vm.d.ts +4 -0
  204. package/dist/node-builtins/vm.d.ts.map +1 -0
  205. package/dist/node-builtins/vm.js +6 -0
  206. package/dist/node-builtins/vm.js.map +1 -0
  207. package/dist/node-builtins/wasi-sockets.d.ts +10 -0
  208. package/dist/node-builtins/wasi-sockets.d.ts.map +1 -0
  209. package/dist/node-builtins/wasi-sockets.js +25 -0
  210. package/dist/node-builtins/wasi-sockets.js.map +1 -0
  211. package/dist/node-builtins/wasi.d.ts +10 -0
  212. package/dist/node-builtins/wasi.d.ts.map +1 -0
  213. package/dist/node-builtins/wasi.js +14 -0
  214. package/dist/node-builtins/wasi.js.map +1 -0
  215. package/dist/node-builtins/worker-threads.d.ts +3 -0
  216. package/dist/node-builtins/worker-threads.d.ts.map +1 -0
  217. package/dist/node-builtins/worker-threads.js +16 -0
  218. package/dist/node-builtins/worker-threads.js.map +1 -0
  219. package/dist/node-builtins/zlib.d.ts +3 -0
  220. package/dist/node-builtins/zlib.d.ts.map +1 -0
  221. package/dist/node-builtins/zlib.js +6 -0
  222. package/dist/node-builtins/zlib.js.map +1 -0
  223. package/dist/node-wit.d.ts +35 -0
  224. package/dist/node-wit.d.ts.map +1 -1
  225. package/dist/node-wit.js +135 -4
  226. package/dist/node-wit.js.map +1 -1
  227. package/lib/wit/builtin/jco-node-0.1.0/cluster.wit +3 -2
  228. package/lib/wit/builtin/jco-node-0.1.0/dgram.wit +142 -0
  229. package/lib/wit/builtin/jco-node-0.1.0/http.wit +7 -0
  230. package/lib/wit/builtin/jco-node-0.1.0/http2.wit +4 -5
  231. package/lib/wit/builtin/jco-node-0.1.0/process.wit +245 -0
  232. package/lib/wit/builtin/jco-node-0.1.0/sqlite.wit +154 -0
  233. package/lib/wit/builtin/jco-node-0.1.0/tls.wit +108 -0
  234. package/lib/wit/builtin/jco-node-0.1.0/trace-events.wit +27 -0
  235. package/lib/wit/builtin/jco-node-0.1.0/tty.wit +59 -0
  236. package/lib/wit/builtin/jco-node-0.1.0/v8.wit +102 -0
  237. package/lib/wit/builtin/jco-node-0.1.0/wasi.wit +57 -0
  238. package/lib/wit/builtin/jco-node-0.1.0/worker-threads.wit +67 -0
  239. package/lib/wit/builtin/jco-node-0.1.0/zlib.wit +77 -0
  240. package/lib/wit/builtin/wasi-tls-0.2.0-draft/LICENSE.md +8 -0
  241. package/lib/wit/builtin/wasi-tls-0.2.0-draft/README.md +25 -0
  242. package/lib/wit/builtin/wasi-tls-0.2.0-draft/deps/io/package.wit +66 -0
  243. package/lib/wit/builtin/wasi-tls-0.2.0-draft/types.wit +27 -0
  244. package/lib/wit/builtin/wasi-tls-0.2.0-draft/world.wit +8 -0
  245. package/package.json +7 -5
  246. package/dist/node-builtins.d.ts.map +0 -1
  247. package/dist/node-builtins.js +0 -1085
  248. package/dist/node-builtins.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ import { unenvModule } from "./unenv.js";
2
+ import { VIRTUAL_PREFIX, composeBuiltins, virtualBuiltin, stdModule, starReexportAdapter, } from "./shared.js";
3
+ const ABORT_GLOBALS_SPECIFIER = "jco:node-abort-globals";
4
+ const ABORT_GLOBALS_MODULE = `${VIRTUAL_PREFIX}abort-globals`;
5
+ const ERROR_GLOBALS_SPECIFIER = "jco:node-error-globals";
6
+ const ERROR_GLOBALS_MODULE = `${VIRTUAL_PREFIX}error-globals`;
7
+ const NODE_ERROR_GLOBAL_NAMES = [
8
+ "AggregateError",
9
+ "DOMException",
10
+ "Error",
11
+ "EvalError",
12
+ "RangeError",
13
+ "ReferenceError",
14
+ "SuppressedError",
15
+ "SyntaxError",
16
+ "TypeError",
17
+ "URIError",
18
+ ];
19
+ /**
20
+ * Rolldown injection map for Node's global error constructors.
21
+ *
22
+ * Injection is demand-driven: if source never references one of these globals,
23
+ * Rolldown does not include the errors module in the generated bundle.
24
+ */
25
+ export function nodeErrorGlobals(options = {}) {
26
+ const errorsModule = options.errorsModule ?? ERROR_GLOBALS_SPECIFIER;
27
+ return Object.fromEntries(NODE_ERROR_GLOBAL_NAMES.map((name) => [name, [errorsModule, name]]));
28
+ }
29
+ /**
30
+ * Rolldown injection map for Node globals backed by Jco implementations.
31
+ *
32
+ * Web globals are supplied by the engine; Abort globals have a compatibility adapter
33
+ * for engines with the legacy variadic AbortSignal.any implementation.
34
+ * Rolldown includes these adapters only when their free identifiers survive bundling.
35
+ */
36
+ export function nodeGlobals(options = {}) {
37
+ return {
38
+ ...nodeErrorGlobals(options),
39
+ AbortController: [options.abortGlobalsModule ?? ABORT_GLOBALS_SPECIFIER, "AbortController"],
40
+ AbortSignal: [options.abortGlobalsModule ?? ABORT_GLOBALS_SPECIFIER, "AbortSignal"],
41
+ Buffer: [options.bufferModule ?? "node:buffer", "Buffer"],
42
+ process: [options.processModule ?? "jco:node-process-globals", "default"],
43
+ setImmediate: [options.timersModule ?? "node:timers", "setImmediate"],
44
+ clearImmediate: [options.timersModule ?? "node:timers", "clearImmediate"],
45
+ };
46
+ }
47
+ export function createGlobalsBuiltin({ options }) {
48
+ return composeBuiltins([
49
+ // Dependency initialization cannot call host-backed node:process during Wizer.
50
+ // Keep this portable global distinct from explicit imports of that API.
51
+ virtualBuiltin("jco:node-process-globals", `${VIRTUAL_PREFIX}process-globals`, () => starReexportAdapter(unenvModule("node:process", options), "process")),
52
+ virtualBuiltin(ABORT_GLOBALS_SPECIFIER, ABORT_GLOBALS_MODULE, () => `export * from ${JSON.stringify(stdModule(options.abortGlobalsModule, "abort-globals"))};`),
53
+ virtualBuiltin(ERROR_GLOBALS_SPECIFIER, ERROR_GLOBALS_MODULE, () => `export * from ${JSON.stringify(stdModule(options.errorsModule, "errors"))};`),
54
+ ]);
55
+ }
56
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/node-builtins/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACH,cAAc,EAGd,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,GACtB,MAAM,aAAa,CAAC;AAGrB,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEzD,MAAM,oBAAoB,GAAG,GAAG,cAAc,eAAe,CAAC;AAE9D,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEzD,MAAM,oBAAoB,GAAG,GAAG,cAAc,eAAe,CAAC;AAE9D,MAAM,uBAAuB,GAAG;IAC5B,gBAAgB;IAChB,cAAc;IACd,OAAO;IACP,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,UAAU;CACJ,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC5B,OAAO,GAA4B,EAAE;IAErC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,uBAAuB,CAAC;IACrE,OAAO,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAO,GAAuB,EAAE;IACxD,OAAO;QACH,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC5B,eAAe,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,uBAAuB,EAAE,iBAAiB,CAAC;QAC3F,WAAW,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,uBAAuB,EAAE,aAAa,CAAC;QACnF,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,QAAQ,CAAC;QACzD,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,0BAA0B,EAAE,SAAS,CAAC;QACzE,YAAY,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,cAAc,CAAC;QACrE,cAAc,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,gBAAgB,CAAC;KAC5E,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAkB;IAC5D,OAAO,eAAe,CAAC;QACnB,+EAA+E;QAC/E,wEAAwE;QACxE,cAAc,CAAC,0BAA0B,EAAE,GAAG,cAAc,iBAAiB,EAAE,GAAG,EAAE,CAChF,mBAAmB,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CACvE;QACD,cAAc,CACV,uBAAuB,EACvB,oBAAoB,EACpB,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,GAAG,CACnG;QACD,cAAc,CACV,uBAAuB,EACvB,oBAAoB,EACpB,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,GAAG,CACtF;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ /** The two protocol modules share one core, one implementation set, and one host interface. */
3
+ type HttpProtocol = "http" | "https";
4
+ export declare function createProtocolBuiltin({ options, worldMetadata }: BuiltinContext, protocol: HttpProtocol): BuiltinAdapter;
5
+ export {};
6
+ //# sourceMappingURL=http-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-common.d.ts","sourceRoot":"","sources":["../../src/node-builtins/http-common.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AA6B3F,+FAA+F;AAC/F,KAAK,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AA4ErC,wBAAgB,qBAAqB,CACjC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,cAAc,EAC1C,QAAQ,EAAE,YAAY,GACvB,cAAc,CA6ChB"}
@@ -0,0 +1,111 @@
1
+ import { wasiSocketsProviderSource, requireWasiHttpVersion } from "./wasi-sockets.js";
2
+ import { HTTPS_WIT_REQUIREMENT, TLS_WIT_REQUIREMENT, HTTP_WIT_REQUIREMENT, HTTPS_WASI_SOCKETS_WIT_REQUIREMENTS, HTTP_WASI_SOCKETS_WIT_REQUIREMENTS, HTTPS_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS, HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS, HTTPS_WASI_HTTP_WIT_REQUIREMENTS, HTTP_WASI_HTTP_WIT_REQUIREMENTS, } from "../node-wit.js";
3
+ import { builtin, stdModule } from "./shared.js";
4
+ const HTTP_EXPORTS = [
5
+ "Agent",
6
+ "ClientRequest",
7
+ "CloseEvent",
8
+ "IncomingMessage",
9
+ "METHODS",
10
+ "MessageEvent",
11
+ "OutgoingMessage",
12
+ "STATUS_CODES",
13
+ "Server",
14
+ "ServerResponse",
15
+ "WebSocket",
16
+ "_connectionListener",
17
+ "createServer",
18
+ "get",
19
+ "globalAgent",
20
+ "maxHeaderSize",
21
+ "request",
22
+ "setGlobalProxyFromEnv",
23
+ "setMaxIdleHTTPParsers",
24
+ "validateHeaderName",
25
+ "validateHeaderValue",
26
+ ];
27
+ /** `node:https` at the pinned release: six exports, no deprecated members. */
28
+ const HTTPS_EXPORTS = ["Agent", "Server", "createServer", "get", "globalAgent", "request"];
29
+ const PROTOCOL_EXPORTS = {
30
+ http: HTTP_EXPORTS,
31
+ https: HTTPS_EXPORTS,
32
+ };
33
+ /** Factory exported by the protocol's core module (`createHttp` / `createHttps`). */
34
+ const PROTOCOL_FACTORY = { http: "createHttp", https: "createHttps" };
35
+ function protocolExports(protocol, moduleExpression) {
36
+ return `
37
+ const ${protocol} = ${moduleExpression};
38
+ export default ${protocol};
39
+ export const { ${PROTOCOL_EXPORTS[protocol].join(", ")} } = ${protocol};
40
+ `;
41
+ }
42
+ function protocolDirectAdapter(protocol, entryModule) {
43
+ return `
44
+ import direct from ${JSON.stringify(entryModule)};
45
+ ${protocolExports(protocol, "direct")}
46
+ `;
47
+ }
48
+ function protocolWasiSocketsAdapter(protocol, coreModule, implementationModule, version) {
49
+ const factory = PROTOCOL_FACTORY[protocol];
50
+ const provider = wasiSocketsProviderSource(version);
51
+ const tlsImports = protocol === "https" ? 'import * as tls from "jco:node/tls@0.1.0";' : "";
52
+ const providerValue = protocol === "https" ? `{ ...${provider.value}, tls }` : provider.value;
53
+ return `
54
+ ${provider.imports}
55
+ ${tlsImports}
56
+ import { ${factory} } from ${JSON.stringify(coreModule)};
57
+ import { createWasiSocketsHttpImplementation } from ${JSON.stringify(implementationModule)};
58
+ ${protocolExports(protocol, `${factory}(createWasiSocketsHttpImplementation(${providerValue}))`)}
59
+ `;
60
+ }
61
+ function protocolWasiHttpAdapter(protocol, coreModule, implementationModule) {
62
+ const factory = PROTOCOL_FACTORY[protocol];
63
+ return `
64
+ import * as outgoingHandler from "wasi:http/outgoing-handler@0.2.12";
65
+ import * as types from "wasi:http/types@0.2.12";
66
+ import { ${factory} } from ${JSON.stringify(coreModule)};
67
+ import { createWasiHttpImplementation } from ${JSON.stringify(implementationModule)};
68
+ ${protocolExports(protocol, `${factory}(createWasiHttpImplementation({ outgoingHandler, types }))`)}
69
+ `;
70
+ }
71
+ /** WIT requirements for one protocol module under one `--with-nodejs-http-via` selection. */
72
+ function protocolWitRequirements(protocol, via, wasiSocketsVersion) {
73
+ const https = protocol === "https";
74
+ if (via === "direct") {
75
+ return https
76
+ ? [HTTPS_WIT_REQUIREMENT, { ...TLS_WIT_REQUIREMENT, nodeSpecifier: "node:https", guestExports: [] }]
77
+ : [HTTP_WIT_REQUIREMENT];
78
+ }
79
+ if (via === "wasi-sockets") {
80
+ if (wasiSocketsVersion === "0.2.12") {
81
+ return https ? HTTPS_WASI_SOCKETS_WIT_REQUIREMENTS : HTTP_WASI_SOCKETS_WIT_REQUIREMENTS;
82
+ }
83
+ return https ? HTTPS_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS : HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS;
84
+ }
85
+ return https ? HTTPS_WASI_HTTP_WIT_REQUIREMENTS : HTTP_WASI_HTTP_WIT_REQUIREMENTS;
86
+ }
87
+ export function createProtocolBuiltin({ options, worldMetadata }, protocol) {
88
+ const via = options.nodejsHttpVia ?? "direct";
89
+ const socketsVersion = options.wasiSocketsVersion ?? "0.2.12";
90
+ return builtin("node:" + protocol, () => {
91
+ if (via === "direct") {
92
+ return protocolDirectAdapter(protocol, protocol === "http"
93
+ ? stdModule(options.httpModule, "http")
94
+ : stdModule(options.httpsModule, "https"));
95
+ }
96
+ const core = protocol === "http"
97
+ ? stdModule(options.httpCoreModule, "http/core")
98
+ : stdModule(options.httpsCoreModule, "https/core");
99
+ return via === "wasi-sockets"
100
+ ? protocolWasiSocketsAdapter(protocol, core, stdModule(options.httpWasiSocketsImplementationModule, "http/impl/wasi-sockets"), socketsVersion)
101
+ : protocolWasiHttpAdapter(protocol, core, stdModule(options.httpWasiHttpImplementationModule, "http/impl/wasi-http"));
102
+ }, (specifier) => {
103
+ if (via !== "direct") {
104
+ requireWasiHttpVersion(worldMetadata, specifier, via, via === "wasi-sockets" ? socketsVersion : "0.2.12");
105
+ }
106
+ for (const requirement of protocolWitRequirements(protocol, via, socketsVersion)) {
107
+ options.onWitRequirement?.(requirement);
108
+ }
109
+ });
110
+ }
111
+ //# sourceMappingURL=http-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-common.js","sourceRoot":"","sources":["../../src/node-builtins/http-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare const HTTP_CALLBACKS_SPECIFIER = "jco:node-http-callbacks";
3
+ export declare function createHttpBuiltin(context: BuiltinContext): BuiltinAdapter;
4
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/node-builtins/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,cAAc,EAItB,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AASlE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAOzE"}
@@ -0,0 +1,15 @@
1
+ import { VIRTUAL_PREFIX, composeBuiltins, virtualBuiltin, stdModule, } from "./shared.js";
2
+ import { createProtocolBuiltin } from "./http-common.js";
3
+ export const HTTP_CALLBACKS_SPECIFIER = "jco:node-http-callbacks";
4
+ const HTTP_CALLBACKS_MODULE = `${VIRTUAL_PREFIX}http-callbacks`;
5
+ /** Source for the guest-exported HTTP callback interface used by the component entry wrapper. */
6
+ function httpCallbacksAdapter(httpModule) {
7
+ return `export { httpCallbacks } from ${JSON.stringify(httpModule)};`;
8
+ }
9
+ export function createHttpBuiltin(context) {
10
+ return composeBuiltins([
11
+ virtualBuiltin(HTTP_CALLBACKS_SPECIFIER, HTTP_CALLBACKS_MODULE, () => httpCallbacksAdapter(stdModule(context.options.httpModule, "http"))),
12
+ createProtocolBuiltin(context, "http"),
13
+ ]);
14
+ }
15
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/node-builtins/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EAGd,eAAe,EACf,cAAc,EACd,SAAS,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;AAElE,MAAM,qBAAqB,GAAG,GAAG,cAAc,gBAAgB,CAAC;AAEhE,iGAAiG;AACjG,SAAS,oBAAoB,CAAC,UAAkB;IAC5C,OAAO,iCAAiC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACrD,OAAO,eAAe,CAAC;QACnB,cAAc,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,GAAG,EAAE,CACjE,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CACtE;QACD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC;KACzC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare const HTTP2_CALLBACKS_SPECIFIER = "jco:node-http2-callbacks";
3
+ export declare function createHttp2Builtin({ options, worldMetadata }: BuiltinContext): BuiltinAdapter;
4
+ //# sourceMappingURL=http2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http2.d.ts","sourceRoot":"","sources":["../../src/node-builtins/http2.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,cAAc,EAKtB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AAuDpE,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,cAAc,GAAG,cAAc,CAyC7F"}
@@ -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":"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"}
@@ -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"}