@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 @@
1
+ {"version":3,"file":"tty.js","sourceRoot":"","sources":["../../src/node-builtins/tty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAkB;IACxD,OAAO,OAAO,CACV,aAAa,EACb,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EACrE,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,mBAAmB,CAAC,CACxD,CAAC;AACN,CAAC"}
@@ -0,0 +1,159 @@
1
+ import { type NodeWitRequirement } from "../node-wit.js";
2
+ /** Interface of a WIT world, as reported by `componentWitMetadataForWorld` */
3
+ interface WorldInterface {
4
+ namespace?: string;
5
+ package?: string;
6
+ interface?: string;
7
+ version?: {
8
+ major: bigint;
9
+ minor: bigint;
10
+ patch: bigint;
11
+ pre?: string;
12
+ } | null;
13
+ }
14
+ /** Metadata of the WIT world a component is being built against */
15
+ export interface WorldMetadata {
16
+ imports: WorldInterface[];
17
+ exports: WorldInterface[];
18
+ }
19
+ export interface NodeBuiltinOptions {
20
+ /** Override the portable vm module when bundling or testing. */
21
+ vmModule?: string;
22
+ /** Select the VFS host boundary. Direct retains the default-deny filesystem mapping. */
23
+ nodejsVfsVia?: NodejsVfsVia;
24
+ /** Guest module exporting a WASI VFS resolveRoot callback. */
25
+ vfsWasiConfigModule?: string;
26
+ vfsModule?: string;
27
+ /** Override the WASI factory, e.g. to configure its storage-root resolver. */
28
+ vfsWasiFilesystemImplementationModule?: string;
29
+ /** Override the worker_threads guest module for bundling/tests. */
30
+ workerThreadsModule?: string;
31
+ cryptoModule?: string;
32
+ /** Path to jco-std's `wasi/0.2.x/node/24.x.x/path` module (overridable for tests) */
33
+ pathFactory?: string;
34
+ /** Path to jco-std's `wasi/0.2.x/node/24.x.x/assert` module (overridable for tests) */
35
+ assertModule?: string;
36
+ /** Path to jco-std's versioned `node:child_process` module (overridable for tests) */
37
+ childProcessModule?: string;
38
+ /** Path to jco-std's versioned `node:cluster` module (overridable for tests) */
39
+ clusterModule?: string;
40
+ /** Path to jco-std's versioned `node:console` module (overridable for tests) */
41
+ consoleModule?: string;
42
+ /** Path to jco-std's versioned `node:fs` module (overridable for tests) */
43
+ fsModule?: string;
44
+ /** Path to jco-std's versioned `node:fs/promises` module (overridable for tests) */
45
+ fsPromisesModule?: string;
46
+ /** Path to jco-std's versioned `node:async_hooks` module (overridable for tests) */
47
+ asyncHooksModule?: string;
48
+ /** Path to jco-std's versioned `node:domain` module (overridable for tests) */
49
+ domainModule?: string;
50
+ /** Path to jco-std's versioned `node:ffi` module (overridable for tests) */
51
+ ffiModule?: string;
52
+ /** Path to jco-std's versioned `node:inspector` module (overridable for tests) */
53
+ inspectorModule?: string;
54
+ /** Path to the versioned perf_hooks implementation (overridable for tests). */
55
+ perfHooksModule?: string;
56
+ /** Path to the versioned node:trace_events module (overridable for tests). */
57
+ traceEventsModule?: string;
58
+ /** Paths to the versioned timer modules (overridable for tests). */
59
+ timersModule?: string;
60
+ timersPromisesModule?: string;
61
+ /** Path to jco-std's versioned `node:inspector/promises` module (overridable for tests) */
62
+ inspectorPromisesModule?: string;
63
+ /** Path to jco-std's versioned `node:module` module (overridable for tests) */
64
+ moduleModule?: string;
65
+ /** Path to jco-std's versioned `node:diagnostics_channel` module (overridable for tests) */
66
+ diagnosticsChannelModule?: string;
67
+ /** Path to the native Abort globals compatibility adapter (overridable for tests). */
68
+ abortGlobalsModule?: string;
69
+ /** Path to jco-std's versioned Errors globals module (overridable for tests) */
70
+ errorsModule?: string;
71
+ /** Path to jco-std's versioned `node:events` module (overridable for tests) */
72
+ eventsModule?: string;
73
+ /** Path to jco-std's versioned `node:os` module (overridable for tests) */
74
+ osModule?: string;
75
+ /** Path to the versioned node:sqlite guest module. */
76
+ sqliteModule?: string;
77
+ /** Paths to the versioned test runner and reporters (overridable for tests). */
78
+ testModule?: string;
79
+ testReportersModule?: string;
80
+ /** Paths to the versioned portable util and util/types modules. */
81
+ utilModule?: string;
82
+ utilTypesModule?: string;
83
+ /** Override the lazy node:process facade for integration tests. */
84
+ processModule?: string;
85
+ /** Path to jco-std's versioned `node:string_decoder` module (overridable for tests) */
86
+ stringDecoderModule?: string;
87
+ /** Path to jco-std's versioned `node:tty` module (overridable for tests) */
88
+ ttyModule?: string;
89
+ /** Path to jco-std's versioned `node:zlib` module (overridable for tests) */
90
+ zlibModule?: string;
91
+ /** Path to jco-std's versioned `node:wasi` module (overridable for tests) */
92
+ wasiModule?: string;
93
+ /** Path to the versioned node:v8 module (overridable for tests). */
94
+ v8Module?: string;
95
+ /** Paths to jco-std's capability-free readline modules (overridable for tests). */
96
+ readlineModule?: string;
97
+ readlinePromisesModule?: string;
98
+ /** Path to jco-std's capability-free `node:repl` module (overridable for tests). */
99
+ replModule?: string;
100
+ /** Paths to jco-std's versioned stream modules (overridable for tests) */
101
+ streamModule?: string;
102
+ streamPromisesModule?: string;
103
+ streamSchedulerModule?: string;
104
+ streamEmitterModule?: string;
105
+ streamConsumersModule?: string;
106
+ streamIterModule?: string;
107
+ /** Paths to jco-std's versioned DNS modules (overridable for tests) */
108
+ dnsModule?: string;
109
+ dnsPromisesModule?: string;
110
+ /** Path to the versioned node:dgram guest module. */
111
+ dgramModule?: string;
112
+ /** Implementation used for `node:http` host operations. */
113
+ nodejsHttpVia?: NodejsHttpVia;
114
+ /** Paths to jco-std's HTTP modules (overridable for tests). */
115
+ httpModule?: string;
116
+ httpCoreModule?: string;
117
+ httpWasiSocketsImplementationModule?: string;
118
+ httpWasiHttpImplementationModule?: string;
119
+ /** Paths to jco-std's HTTPS modules (overridable for tests). */
120
+ httpsModule?: string;
121
+ /** Path to the versioned node:tls facade (overridable for tests). */
122
+ tlsModule?: string;
123
+ httpsCoreModule?: string;
124
+ /** Path to jco-std's portable `node:net` core module (overridable for tests). */
125
+ netCoreModule?: string;
126
+ /** Implementation used for `node:http2` host operations. */
127
+ nodejsHttp2Via?: NodejsHttp2Via;
128
+ /** WASI socket module version supplied by the selected component engine. */
129
+ wasiSocketsVersion?: "0.2.10" | "0.2.12";
130
+ /** Paths to jco-std's HTTP/2 modules (overridable for tests). */
131
+ http2Module?: string;
132
+ http2CoreModule?: string;
133
+ http2WasiSocketsImplementationModule?: string;
134
+ http2WasiHttpImplementationModule?: string;
135
+ /** Reports WIT imports required by builtins found while bundling. */
136
+ onWitRequirement?: (requirement: NodeWitRequirement) => void;
137
+ /** Paths to the portable URL factory and UTF-8 adapter (overridable for tests). */
138
+ urlFactory?: string;
139
+ urlEncodingModule?: string;
140
+ /** unenv aliases to resolve audited builtins against (overridable for tests) */
141
+ unenvAliases?: Readonly<Record<string, string>>;
142
+ }
143
+ export type NodejsHttpVia = "direct" | "wasi-sockets" | "wasi-http";
144
+ export type NodejsHttp2Via = NodejsHttpVia;
145
+ export interface NodeErrorGlobalsOptions {
146
+ /** Path to jco-std's versioned Errors globals module (overridable for tests). */
147
+ errorsModule?: string;
148
+ }
149
+ export interface NodeGlobalsOptions extends NodeErrorGlobalsOptions {
150
+ timersModule?: string;
151
+ processModule?: string;
152
+ /** Path to the native Abort globals compatibility adapter (overridable for tests). */
153
+ abortGlobalsModule?: string;
154
+ /** Path to Jco's audited `node:buffer` adapter (overridable for tests). */
155
+ bufferModule?: string;
156
+ }
157
+ export type NodejsVfsVia = "direct" | "wasi-filesystem";
158
+ export {};
159
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/node-builtins/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/node-builtins/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ import { type NodeBuiltinOptions } from "./types.js";
3
+ export declare function unenvModule(specifier: string, options: NodeBuiltinOptions): string;
4
+ /** Limited dependency fallbacks; zlib operations remain unsupported. */
5
+ export declare function createPortableUnenvBuiltin({ options }: BuiltinContext): BuiltinAdapter;
6
+ //# sourceMappingURL=unenv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unenv.d.ts","sourceRoot":"","sources":["../../src/node-builtins/unenv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAgC,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkBrD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAMlF;AAED,wEAAwE;AACxE,wBAAgB,0BAA0B,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAEtF"}
@@ -0,0 +1,27 @@
1
+ import { builtin, starReexportAdapter } from "./shared.js";
2
+ import { defineEnv } from "unenv";
3
+ import { fileURLToPath } from "node:url";
4
+ let defaultUnenvAliases;
5
+ function getUnenvAliases(options) {
6
+ if (options.unenvAliases) {
7
+ return options.unenvAliases;
8
+ }
9
+ // NOTE: read back through the assignment rather than the module-level binding, which is
10
+ // only non-nullable here by narrowing
11
+ return (defaultUnenvAliases ??= {
12
+ ...defineEnv({ resolve: true }).env.alias,
13
+ "unenv:buffer-core": fileURLToPath(import.meta.resolve("unenv/node/internal/buffer/buffer")),
14
+ });
15
+ }
16
+ export function unenvModule(specifier, options) {
17
+ const resolved = getUnenvAliases(options)[specifier];
18
+ if (!resolved || resolved.startsWith("node:")) {
19
+ throw new Error(`unenv did not provide a bundleable implementation for audited builtin ${specifier}`);
20
+ }
21
+ return resolved;
22
+ }
23
+ /** Limited dependency fallbacks; zlib operations remain unsupported. */
24
+ export function createPortableUnenvBuiltin({ options }) {
25
+ return builtin("node:zlib", (specifier) => starReexportAdapter(unenvModule(specifier, options), "implementation"));
26
+ }
27
+ //# sourceMappingURL=unenv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unenv.js","sourceRoot":"","sources":["../../src/node-builtins/unenv.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErG,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,mBAAiE,CAAC;AAEtE,SAAS,eAAe,CAAC,OAA2B;IAChD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,YAAY,CAAC;IAChC,CAAC;IACD,wFAAwF;IACxF,sCAAsC;IACtC,OAAO,CAAC,mBAAmB,KAAK;QAC5B,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK;QACzC,mBAAmB,EAAE,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;KAC/F,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,OAA2B;IACtE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,yEAAyE,SAAS,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,0BAA0B,CAAC,EAAE,OAAO,EAAkB;IAClE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACvH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * urlpattern-polyfill@10.1.0 uses two Unicode property escapes to lex group
3
+ * names. StarlingMonkey's reduced ICU build cannot compile those expressions.
4
+ * regexpu-core@6.4.0 expands only these expressions into equivalent ranges at
5
+ * bundle time; the guest receives no regex transpiler or additional capability.
6
+ */
7
+ export declare function urlPatternSource(path: string): string;
8
+ //# sourceMappingURL=url-pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-pattern.d.ts","sourceRoot":"","sources":["../../src/node-builtins/url-pattern.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYrD"}
@@ -0,0 +1,19 @@
1
+ import { readFileSync } from "node:fs";
2
+ import rewritePattern from "regexpu-core";
3
+ const sources = new Map();
4
+ /**
5
+ * urlpattern-polyfill@10.1.0 uses two Unicode property escapes to lex group
6
+ * names. StarlingMonkey's reduced ICU build cannot compile those expressions.
7
+ * regexpu-core@6.4.0 expands only these expressions into equivalent ranges at
8
+ * bundle time; the guest receives no regex transpiler or additional capability.
9
+ */
10
+ export function urlPatternSource(path) {
11
+ const cached = sources.get(path);
12
+ if (cached !== undefined) {
13
+ return cached;
14
+ }
15
+ const source = readFileSync(path, "utf8").replace(/\/\[([^\]]*\\p\{ID_(?:Start|Continue)\}[^\]]*)\]\/u/g, (_match, characters) => `/${rewritePattern(`[${characters}]`, "u", { unicodePropertyEscapes: "transform" })}/u`);
16
+ sources.set(path, source);
17
+ return source;
18
+ }
19
+ //# sourceMappingURL=url-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-pattern.js","sourceRoot":"","sources":["../../src/node-builtins/url-pattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,cAAc,MAAM,cAAc,CAAC;AAE1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAC7C,sDAAsD,EACtD,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAE,CACnC,IAAI,cAAc,CAAC,IAAI,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC,IAAI,CAC9F,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type BuiltinAdapter, type BuiltinContext } from "./shared.js";
2
+ /** URL operations are pure except relative path resolution, which reads WASI cwd. */
3
+ export declare function createUrlBuiltin({ options, worldMetadata }: BuiltinContext): BuiltinAdapter;
4
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/node-builtins/url.ts"],"names":[],"mappings":"AAGA,OAAO,EAKH,KAAK,cAAc,EACnB,KAAK,cAAc,EACtB,MAAM,aAAa,CAAC;AAErB,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,cAAc,GAAG,cAAc,CAsG3F"}
@@ -0,0 +1,100 @@
1
+ import { urlPatternSource } from "./url-pattern.js";
2
+ import { createRequire } from "node:module";
3
+ import { dirname, join } from "node:path";
4
+ import { builtin, composeBuiltins, stdModule, VIRTUAL_PREFIX, } from "./shared.js";
5
+ /** URL operations are pure except relative path resolution, which reads WASI cwd. */
6
+ export function createUrlBuiltin({ options, worldMetadata }) {
7
+ let patternModule;
8
+ let idnaModule;
9
+ const idnaId = `${VIRTUAL_PREFIX}url-idna`;
10
+ const patternId = `${VIRTUAL_PREFIX}url-pattern.cjs`;
11
+ const publicAdapter = builtin("node:url", () => {
12
+ const environments = (worldMetadata?.imports ?? []).filter((iface) => iface.namespace === "wasi" &&
13
+ iface.package === "cli" &&
14
+ iface.interface === "environment" &&
15
+ iface.version?.major === 0n &&
16
+ iface.version?.minor === 2n);
17
+ let providerSource;
18
+ if (environments.length === 1) {
19
+ const { major, minor, patch, pre } = environments[0].version;
20
+ providerSource = `import { initialCwd, getEnvironment } from "wasi:cli/environment@${major}.${minor}.${patch}${pre ? `-${pre}` : ""}";`;
21
+ }
22
+ else {
23
+ const message = environments.length === 0
24
+ ? "node:url relative pathToFileURL requires wasi:cli/environment@0.2.x"
25
+ : "node:url relative pathToFileURL cannot select among multiple wasi:cli/environment@0.2.x versions";
26
+ providerSource = `function initialCwd() { throw new Error(${JSON.stringify(message)}); }\nconst getEnvironment = initialCwd;`;
27
+ }
28
+ return `
29
+ import { createUrl } from ${JSON.stringify(stdModule(options.urlFactory, "url"))};
30
+ ${providerSource}
31
+ const url = createUrl({ initialCwd, getEnvironment });
32
+ // The Node module and global web APIs must share classes and search-param state.
33
+ globalThis.URL = url.URL;
34
+ globalThis.URLSearchParams = url.URLSearchParams;
35
+ globalThis.URLPattern = url.URLPattern;
36
+ export default url;
37
+ export const { Url, parse, resolve, resolveObject, format, URL, URLPattern, URLSearchParams,
38
+ domainToASCII, domainToUnicode, pathToFileURL, fileURLToPath, fileURLToPathBuffer, urlToHttpOptions } = url;
39
+ `;
40
+ });
41
+ // Resolve only the audited dependency graph. Lexical prefilters avoid even
42
+ // resolving packages when an unrelated application import is encountered.
43
+ const factoryRequire = () => createRequire(stdModule(options.urlFactory, "url"));
44
+ const whatwgDirectory = () => dirname(factoryRequire().resolve("whatwg-url/lib/encoding.js"));
45
+ const tr46Path = () => createRequire(factoryRequire().resolve("whatwg-url")).resolve("tr46");
46
+ return composeBuiltins([
47
+ publicAdapter,
48
+ {
49
+ resolveId(id, importer) {
50
+ if (id === "urlpattern-polyfill/urlpattern" &&
51
+ importer &&
52
+ /[/\\]url[/\\]whatwg\.js$/.test(importer) &&
53
+ importer === join(dirname(stdModule(options.urlFactory, "url")), "url", "whatwg.js")) {
54
+ patternModule = createRequire(importer).resolve(id);
55
+ return patternId;
56
+ }
57
+ if (id === "tr46" &&
58
+ importer &&
59
+ /[/\\]whatwg-url[/\\]lib[/\\]url-state-machine\.js$/.test(importer) &&
60
+ dirname(importer) === whatwgDirectory()) {
61
+ idnaModule = tr46Path();
62
+ return idnaId;
63
+ }
64
+ if (importer &&
65
+ ((id === "webidl-conversions" &&
66
+ /[/\\]whatwg-url[/\\]lib[/\\][^/\\]+$/.test(importer) &&
67
+ dirname(importer) === whatwgDirectory()) ||
68
+ (id === "punycode/" && /[/\\]tr46[/\\]index\.js$/.test(importer) && importer === tr46Path()))) {
69
+ return createRequire(importer).resolve(id);
70
+ }
71
+ if (!importer || !/[/\\]whatwg-url[/\\]lib[/\\][^/\\]+$/.test(importer)) {
72
+ return null;
73
+ }
74
+ if (id !== "./encoding" && id !== "./encoding.js") {
75
+ return null;
76
+ }
77
+ if (dirname(importer) !== whatwgDirectory()) {
78
+ return null;
79
+ }
80
+ return stdModule(options.urlEncodingModule, "url/encoding");
81
+ },
82
+ load(id) {
83
+ if (id === patternId && patternModule) {
84
+ return urlPatternSource(patternModule);
85
+ }
86
+ if (id === idnaId && idnaModule) {
87
+ return `
88
+ import fallback from ${JSON.stringify(idnaModule)};
89
+ import { createIDNA } from ${JSON.stringify(stdModule(undefined, "url/idna"))};
90
+ const idna = createIDNA(fallback);
91
+ export const toASCII = idna.toASCII;
92
+ export default idna;
93
+ `;
94
+ }
95
+ return null;
96
+ },
97
+ },
98
+ ]);
99
+ }
100
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/node-builtins/url.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createUtilBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/node-builtins/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhH,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAS7E"}
@@ -0,0 +1,7 @@
1
+ import { builtin, starReexportAdapter, stdModule } from "./shared.js";
2
+ export function createUtilBuiltin({ options }) {
3
+ return builtin(["node:util", "node:util/types"], (specifier) => starReexportAdapter(specifier === "node:util"
4
+ ? stdModule(options.utilModule, "util")
5
+ : stdModule(options.utilTypesModule, "util/types"), "util"));
6
+ }
7
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/node-builtins/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAA4C,MAAM,aAAa,CAAC;AAEhH,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAkB;IACzD,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAC3D,mBAAmB,CACf,SAAS,KAAK,WAAW;QACrB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,EACtD,MAAM,CACT,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createV8Builtin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=v8.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v8.d.ts","sourceRoot":"","sources":["../../src/node-builtins/v8.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAGhH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAM3E"}
@@ -0,0 +1,6 @@
1
+ import { starReexportAdapter, builtin, stdModule } from "./shared.js";
2
+ import { V8_WIT_REQUIREMENT } from "../node-wit.js";
3
+ export function createV8Builtin({ options }) {
4
+ return builtin("node:v8", () => starReexportAdapter(stdModule(options.v8Module, "v8"), "v8"), () => options.onWitRequirement?.(V8_WIT_REQUIREMENT));
5
+ }
6
+ //# sourceMappingURL=v8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v8.js","sourceRoot":"","sources":["../../src/node-builtins/v8.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAkB;IACvD,OAAO,OAAO,CACV,SAAS,EACT,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAClE,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 createVfsBuiltin({ options, worldMetadata }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=vfs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vfs.d.ts","sourceRoot":"","sources":["../../src/node-builtins/vfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAA2C,MAAM,aAAa,CAAC;AAGhH,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,cAAc,GAAG,cAAc,CAgD3F"}
@@ -0,0 +1,42 @@
1
+ import { builtin, stdModule, starReexportAdapter } from "./shared.js";
2
+ import { VFS_WIT_REQUIREMENT, VFS_WASI_FILESYSTEM_WIT_REQUIREMENTS } from "../node-wit.js";
3
+ export function createVfsBuiltin({ options, worldMetadata }) {
4
+ const via = options.nodejsVfsVia ?? "direct";
5
+ return builtin("node:vfs", () => {
6
+ if (via === "direct") {
7
+ return starReexportAdapter(stdModule(options.vfsModule, "vfs", "26.x.x"), "vfs");
8
+ }
9
+ const implementation = stdModule(options.vfsWasiFilesystemImplementationModule, "vfs/impl/wasi-filesystem", "26.x.x");
10
+ const configImport = options.vfsWasiConfigModule
11
+ ? `import { resolveRoot } from ${JSON.stringify(options.vfsWasiConfigModule)};`
12
+ : "";
13
+ const configValue = options.vfsWasiConfigModule ? ", resolveRoot" : "";
14
+ return `
15
+ ${configImport}
16
+ import * as preopens from "wasi:filesystem/preopens@0.2.12";
17
+ import { createWasiVfs } from ${JSON.stringify(implementation)};
18
+ const vfs = createWasiVfs({ preopens${configValue} });
19
+ export default vfs;
20
+ export const { create, VirtualFileSystem, VirtualProvider, MemoryProvider, RealFSProvider } = vfs;
21
+ `;
22
+ }, () => {
23
+ if (options.vfsWasiConfigModule && via !== "wasi-filesystem") {
24
+ throw new Error("VFS storage configuration requires --with-nodejs-vfs-via wasi-filesystem");
25
+ }
26
+ if (via === "wasi-filesystem") {
27
+ for (const entry of worldMetadata.imports) {
28
+ if (entry.namespace !== "wasi" || entry.package !== "filesystem" || !entry.version) {
29
+ continue;
30
+ }
31
+ const { major, minor, patch } = entry.version;
32
+ if (major !== 0n || minor !== 2n || patch !== 12n) {
33
+ throw new Error("node:vfs via wasi-filesystem requires wasi:filesystem@0.2.12; remove conflicting imported versions");
34
+ }
35
+ }
36
+ }
37
+ for (const requirement of via === "direct" ? [VFS_WIT_REQUIREMENT] : VFS_WASI_FILESYSTEM_WIT_REQUIREMENTS) {
38
+ options.onWitRequirement?.(requirement);
39
+ }
40
+ });
41
+ }
42
+ //# sourceMappingURL=vfs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../src/node-builtins/vfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AAE3F,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAkB;IACvE,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC;IAC7C,OAAO,OAAO,CACV,UAAU,EACV,GAAG,EAAE;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnB,OAAO,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,cAAc,GAAG,SAAS,CAC5B,OAAO,CAAC,qCAAqC,EAC7C,0BAA0B,EAC1B,QAAQ,CACX,CAAC;QACF,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB;YAC5C,CAAC,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG;YAC/E,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO;EACjB,YAAY;;gCAEkB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;sCACxB,WAAW;;;CAGhD,CAAC;IACM,CAAC,EACD,GAAG,EAAE;QACD,IAAI,OAAO,CAAC,mBAAmB,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjF,SAAS;gBACb,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CACX,oGAAoG,CACvG,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,oCAAoC,EAAE,CAAC;YACxG,OAAO,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type BuiltinAdapter, type BuiltinContext } from "./shared.js";
2
+ /** Evaluation operates on actual guest values and requests no host capability. */
3
+ export declare function createVmBuiltin({ options }: BuiltinContext): BuiltinAdapter;
4
+ //# sourceMappingURL=vm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/node-builtins/vm.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhH,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAE3E"}
@@ -0,0 +1,6 @@
1
+ import { builtin, starReexportAdapter, stdModule } from "./shared.js";
2
+ /** Evaluation operates on actual guest values and requests no host capability. */
3
+ export function createVmBuiltin({ options }) {
4
+ return builtin("node:vm", () => starReexportAdapter(stdModule(options.vmModule, "vm"), "vm"));
5
+ }
6
+ //# sourceMappingURL=vm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/node-builtins/vm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAA4C,MAAM,aAAa,CAAC;AAEhH,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAkB;IACvD,OAAO,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAClG,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type WorldMetadata, type NodejsHttpVia } from "./types.js";
2
+ interface WasiSocketsProviderSource {
3
+ imports: string;
4
+ value: string;
5
+ }
6
+ /** Shared Preview 2 provider source used by net, HTTP/1, HTTP/2, and HTTPS adapters. */
7
+ export declare function wasiSocketsProviderSource(version: string): WasiSocketsProviderSource;
8
+ export declare function requireWasiHttpVersion(worldMetadata: WorldMetadata, specifier: string, via: Exclude<NodejsHttpVia, "direct">, version?: string): void;
9
+ export {};
10
+ //# sourceMappingURL=wasi-sockets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi-sockets.d.ts","sourceRoot":"","sources":["../../src/node-builtins/wasi-sockets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpE,UAAU,yBAAyB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAUpF;AAED,wBAAgB,sBAAsB,CAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,EACrC,OAAO,SAAW,GACnB,IAAI,CAgBN"}
@@ -0,0 +1,25 @@
1
+ /** Shared Preview 2 provider source used by net, HTTP/1, HTTP/2, and HTTPS adapters. */
2
+ export function wasiSocketsProviderSource(version) {
3
+ const u64 = version === "0.2.10" ? "BigInt(value)" : "value";
4
+ const schedule = version === "0.2.10" ? ", schedule: task => setTimeout(task, 0)" : "";
5
+ return {
6
+ imports: `
7
+ import * as instanceNetwork from "wasi:sockets/instance-network@${version}";
8
+ import * as ipNameLookup from "wasi:sockets/ip-name-lookup@${version}";
9
+ import * as tcpCreateSocket from "wasi:sockets/tcp-create-socket@${version}";`,
10
+ value: `{ instanceNetwork, ipNameLookup, tcpCreateSocket, u64: value => ${u64}${schedule} }`,
11
+ };
12
+ }
13
+ export function requireWasiHttpVersion(worldMetadata, specifier, via, version = "0.2.12") {
14
+ const packageName = via === "wasi-http" ? "http" : "sockets";
15
+ const incompatible = (worldMetadata.imports ?? []).find((iface) => iface.namespace === "wasi" &&
16
+ iface.package === packageName &&
17
+ iface.version !== null &&
18
+ iface.version !== undefined &&
19
+ `${iface.version.major}.${iface.version.minor}.${iface.version.patch}` !== version);
20
+ if (incompatible) {
21
+ const { major, minor, patch } = incompatible.version;
22
+ throw new Error(`${specifier} via ${via} requires wasi:${packageName}@${version}, but the selected WIT world imports wasi:${packageName}@${major}.${minor}.${patch}`);
23
+ }
24
+ }
25
+ //# sourceMappingURL=wasi-sockets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi-sockets.js","sourceRoot":"","sources":["../../src/node-builtins/wasi-sockets.ts"],"names":[],"mappings":"AAOA,wFAAwF;AACxF,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACrD,MAAM,GAAG,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,OAAO;QACH,OAAO,EAAE;kEACiD,OAAO;6DACZ,OAAO;mEACD,OAAO,IAAI;QACtE,KAAK,EAAE,mEAAmE,GAAG,GAAG,QAAQ,IAAI;KAC/F,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,aAA4B,EAC5B,SAAiB,EACjB,GAAqC,EACrC,OAAO,GAAG,QAAQ;IAElB,MAAM,WAAW,GAAG,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,KAAK,EAAE,EAAE,CACN,KAAK,CAAC,SAAS,KAAK,MAAM;QAC1B,KAAK,CAAC,OAAO,KAAK,WAAW;QAC7B,KAAK,CAAC,OAAO,KAAK,IAAI;QACtB,KAAK,CAAC,OAAO,KAAK,SAAS;QAC3B,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,OAAO,CACzF,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,OAAQ,CAAC;QACtD,MAAM,IAAI,KAAK,CACX,GAAG,SAAS,QAAQ,GAAG,kBAAkB,WAAW,IAAI,OAAO,6CAA6C,WAAW,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CACvJ,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ /**
3
+ * `node:wasi` initialises a uvwasi context in its constructor, which no WASI interface expresses,
4
+ * so the jco-std module imports `jco:node/wasi@0.1.0` and the world gains that import. The
5
+ * capability is denied until the application maps a provider at transpile time -- and even then
6
+ * only construction is honoured, since a component cannot instantiate the nested module the rest
7
+ * of the API drives; the module itself explains that when `start()` or `initialize()` is called.
8
+ */
9
+ export declare function createWasiBuiltin({ options }: BuiltinContext): BuiltinAdapter;
10
+ //# sourceMappingURL=wasi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi.d.ts","sourceRoot":"","sources":["../../src/node-builtins/wasi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAKhH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAM7E"}
@@ -0,0 +1,14 @@
1
+ import { starReexportAdapter, builtin, stdModule } from "./shared.js";
2
+ import { WASI_WIT_REQUIREMENT } from "../node-wit.js";
3
+ const WASI_SPECIFIER = "node:wasi";
4
+ /**
5
+ * `node:wasi` initialises a uvwasi context in its constructor, which no WASI interface expresses,
6
+ * so the jco-std module imports `jco:node/wasi@0.1.0` and the world gains that import. The
7
+ * capability is denied until the application maps a provider at transpile time -- and even then
8
+ * only construction is honoured, since a component cannot instantiate the nested module the rest
9
+ * of the API drives; the module itself explains that when `start()` or `initialize()` is called.
10
+ */
11
+ export function createWasiBuiltin({ options }) {
12
+ return builtin(WASI_SPECIFIER, () => starReexportAdapter(stdModule(options.wasiModule, "wasi"), "wasi"), () => options.onWitRequirement?.(WASI_WIT_REQUIREMENT));
13
+ }
14
+ //# sourceMappingURL=wasi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasi.js","sourceRoot":"","sources":["../../src/node-builtins/wasi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAkB;IACzD,OAAO,OAAO,CACV,cAAc,EACd,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EACxE,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,oBAAoB,CAAC,CACzD,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createWorkerThreadsBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=worker-threads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-threads.d.ts","sourceRoot":"","sources":["../../src/node-builtins/worker-threads.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,cAAc,EAMtB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,0BAA0B,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAoBtF"}
@@ -0,0 +1,16 @@
1
+ import { builtin, composeBuiltins, stdModule, virtualBuiltin, VIRTUAL_PREFIX, } from "./shared.js";
2
+ import { WORKER_THREADS_WIT_REQUIREMENT } from "../node-wit.js";
3
+ export function createWorkerThreadsBuiltin({ options }) {
4
+ const module = () => JSON.stringify(stdModule(options.workerThreadsModule, "worker-threads"));
5
+ return composeBuiltins([
6
+ builtin("node:worker_threads", () => `
7
+ export { default, isInternalThread, isMainThread, MessagePort, MessageChannel,
8
+ markAsUncloneable, markAsUntransferable, isMarkedAsUntransferable,
9
+ moveMessagePortToContext, receiveMessageOnPort, resourceLimits,
10
+ postMessageToThread, threadId, threadName, SHARE_ENV, Worker, parentPort,
11
+ workerData, BroadcastChannel, setEnvironmentData, getEnvironmentData, locks } from ${module()};
12
+ `, () => options.onWitRequirement?.(WORKER_THREADS_WIT_REQUIREMENT)),
13
+ virtualBuiltin("jco:node-worker-threads-callbacks", `${VIRTUAL_PREFIX}worker-threads-callbacks`, () => `export { workerThreadsCallbacks } from ${module()};`),
14
+ ]);
15
+ }
16
+ //# sourceMappingURL=worker-threads.js.map