@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,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-threads.js","sourceRoot":"","sources":["../../src/node-builtins/worker-threads.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EACP,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,UAAU,0BAA0B,CAAC,EAAE,OAAO,EAAkB;IAClE,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC9F,OAAO,eAAe,CAAC;QACnB,OAAO,CACH,qBAAqB,EACrB,GAAG,EAAE,CAAC;;;;;yFAKuE,MAAM,EAAE;CAChG,EACW,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,8BAA8B,CAAC,CACnE;QACD,cAAc,CACV,mCAAmC,EACnC,GAAG,cAAc,0BAA0B,EAC3C,GAAG,EAAE,CAAC,0CAA0C,MAAM,EAAE,GAAG,CAC9D;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BuiltinContext, type BuiltinAdapter } from "./shared.js";
2
+ export declare function createZlibBuiltin({ options }: BuiltinContext): BuiltinAdapter;
3
+ //# sourceMappingURL=zlib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zlib.d.ts","sourceRoot":"","sources":["../../src/node-builtins/zlib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAsB,MAAM,aAAa,CAAC;AAGhH,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,cAAc,CAM7E"}
@@ -0,0 +1,6 @@
1
+ import { starReexportAdapter, builtin, stdModule } from "./shared.js";
2
+ import { ZLIB_WIT_REQUIREMENT } from "../node-wit.js";
3
+ export function createZlibBuiltin({ options }) {
4
+ return builtin("node:zlib", () => starReexportAdapter(stdModule(options.zlibModule, "zlib"), "zlib"), () => options.onWitRequirement?.(ZLIB_WIT_REQUIREMENT));
5
+ }
6
+ //# sourceMappingURL=zlib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zlib.js","sourceRoot":"","sources":["../../src/node-builtins/zlib.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,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAkB;IACzD,OAAO,OAAO,CACV,WAAW,EACX,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"}
@@ -34,21 +34,56 @@ export interface WitDependencyPackage {
34
34
  dependencyDirectory: string;
35
35
  dependencySources: string[];
36
36
  }
37
+ /** A shared capability must retain every user's callbacks and dependency files. */
38
+ export declare function mergeNodeWitRequirement(previous: NodeWitRequirement | undefined, current: NodeWitRequirement): NodeWitRequirement;
37
39
  export declare const CHILD_PROCESS_WIT_REQUIREMENT: NodeWitRequirement;
40
+ export declare const WORKER_THREADS_WIT_REQUIREMENT: NodeWitRequirement;
38
41
  export declare const CLUSTER_WIT_REQUIREMENT: NodeWitRequirement;
42
+ export declare const TRACE_EVENTS_WIT_REQUIREMENT: NodeWitRequirement;
39
43
  export declare const CONSOLE_WIT_REQUIREMENT: NodeWitRequirement;
44
+ export declare const DGRAM_WIT_REQUIREMENT: NodeWitRequirement;
40
45
  export declare const DNS_WIT_REQUIREMENT: NodeWitRequirement;
41
46
  export declare const DNS_PROMISES_WIT_REQUIREMENT: NodeWitRequirement;
42
47
  export declare const FS_WIT_REQUIREMENT: NodeWitRequirement;
48
+ /** VFS reuses the filesystem host protocol and its deny-by-default mapping. */
49
+ export declare const VFS_WIT_REQUIREMENT: NodeWitRequirement;
50
+ export declare const PROCESS_WIT_REQUIREMENT: NodeWitRequirement;
51
+ export declare const SQLITE_WIT_REQUIREMENT: NodeWitRequirement;
52
+ export declare const TLS_WIT_REQUIREMENT: NodeWitRequirement;
53
+ export declare const V8_WIT_REQUIREMENT: NodeWitRequirement;
43
54
  export declare const OS_WIT_REQUIREMENT: NodeWitRequirement;
55
+ export declare const ZLIB_WIT_REQUIREMENT: NodeWitRequirement;
56
+ export declare const TTY_WIT_REQUIREMENT: NodeWitRequirement;
57
+ /** The `node:wasi` builtin's host interface (initialisation only), not a `wasi:` package. */
58
+ export declare const WASI_WIT_REQUIREMENT: NodeWitRequirement;
44
59
  export declare const FFI_WIT_REQUIREMENT: NodeWitRequirement;
45
60
  export declare const INSPECTOR_WIT_REQUIREMENT: NodeWitRequirement;
46
61
  export declare const INSPECTOR_PROMISES_WIT_REQUIREMENT: NodeWitRequirement;
47
62
  export declare const HTTP_WIT_REQUIREMENT: NodeWitRequirement;
63
+ /**
64
+ * `node:https` is `node:http` with TLS terminated by the same host interface, so it shares the
65
+ * import and the callback export; only the comment naming the importing builtin differs, and
66
+ * injection dedupes by `witImport` when a guest uses both.
67
+ */
68
+ export declare const HTTPS_WIT_REQUIREMENT: NodeWitRequirement;
48
69
  export declare const HTTP2_WIT_REQUIREMENT: NodeWitRequirement;
70
+ export declare const VFS_WASI_FILESYSTEM_WIT_REQUIREMENTS: readonly NodeWitRequirement[];
49
71
  export declare const HTTP_WASI_SOCKETS_WIT_REQUIREMENTS: readonly [NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement];
50
72
  export declare const HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS: readonly [NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement, NodeWitRequirement];
73
+ /**
74
+ * The environment `node:path` reads the working directory from.
75
+ *
76
+ * Unlike the host-backed builtins this is a plain WASI interface, but it is injected the same
77
+ * way: an application that reaches `node:path` -- usually through a dependency rather than
78
+ * directly -- should not have to hand-write the import and vendor its WIT to build.
79
+ */
80
+ export declare const PATH_WIT_REQUIREMENT: NodeWitRequirement;
51
81
  export declare const HTTP_WASI_HTTP_WIT_REQUIREMENTS: readonly [NodeWitRequirement, NodeWitRequirement];
82
+ export declare const HTTPS_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS: readonly NodeWitRequirement[];
83
+ export declare const HTTPS_WASI_SOCKETS_WIT_REQUIREMENTS: NodeWitRequirement[];
84
+ export declare const HTTPS_WASI_HTTP_WIT_REQUIREMENTS: NodeWitRequirement[];
85
+ export declare const NET_WASI_SOCKETS_WIT_REQUIREMENTS: NodeWitRequirement[];
86
+ export declare const NET_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS: NodeWitRequirement[];
52
87
  export interface WitInjectionResult {
53
88
  witPath: string;
54
89
  worldFile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"node-wit.d.ts","sourceRoot":"","sources":["../src/node-wit.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC/B;AA4BD,eAAO,MAAM,6BAA6B,oBAExC,CAAC;AAEH,eAAO,MAAM,uBAAuB,oBAAoE,CAAC;AAEzG,eAAO,MAAM,uBAAuB,oBAA6C,CAAC;AAElF,eAAO,MAAM,mBAAmB,oBAAqC,CAAC;AAEtE,eAAO,MAAM,4BAA4B,EAAE,kBAG1C,CAAC;AAEF,eAAO,MAAM,kBAAkB,oBAAmC,CAAC;AAEnE,eAAO,MAAM,kBAAkB,oBAAmC,CAAC;AAEnE,eAAO,MAAM,mBAAmB,oBAAqC,CAAC;AAEtE,eAAO,MAAM,yBAAyB,oBASpC,CAAC;AAEH,eAAO,MAAM,kCAAkC,EAAE,kBAGhD,CAAC;AAEF,eAAO,MAAM,oBAAoB,oBAQ/B,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,kBAenC,CAAC;AAqCF,eAAO,MAAM,kCAAkC,uJAQrC,CAAC;AAQX,eAAO,MAAM,yCAAyC,uJAQ5C,CAAC;AAEX,eAAO,MAAM,+BAA+B,mDAGlC,CAAC;AAEX,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAgBzE;AA4JD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,kBAAkB,EAAE,GACnC,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAwEzC"}
1
+ {"version":3,"file":"node-wit.d.ts","sourceRoot":"","sources":["../src/node-wit.ts"],"names":[],"mappings":"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"}
package/dist/node-wit.js CHANGED
@@ -1,6 +1,25 @@
1
1
  import { mkdir, readFile, readdir, stat, writeFile } from "node:fs/promises";
2
2
  import { basename, dirname, join, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
+ /** A shared capability must retain every user's callbacks and dependency files. */
5
+ export function mergeNodeWitRequirement(previous, current) {
6
+ if (!previous) {
7
+ return current;
8
+ }
9
+ return {
10
+ ...previous,
11
+ ...current,
12
+ witExport: current.witExport ?? previous.witExport,
13
+ guestExports: [
14
+ ...new Map([...(previous.guestExports ?? []), ...(current.guestExports ?? [])].map((value) => [
15
+ value.jsExport,
16
+ value,
17
+ ])).values(),
18
+ ],
19
+ dependencySources: [...new Set([...previous.dependencySources, ...current.dependencySources])],
20
+ dependencyPackages: [...(previous.dependencyPackages ?? []), ...(current.dependencyPackages ?? [])],
21
+ };
22
+ }
4
23
  /** Types the Node API interfaces share; every interface file depends on it. */
5
24
  const SHARED_TYPES_SOURCE = fileURLToPath(new URL("../lib/wit/builtin/jco-node-0.1.0/types.wit", import.meta.url));
6
25
  /**
@@ -24,15 +43,66 @@ function nodeRequirement(nodeSpecifier, witInterface, extra = {}) {
24
43
  export const CHILD_PROCESS_WIT_REQUIREMENT = nodeRequirement("node:child_process", "child-process", {
25
44
  sharedTypes: true,
26
45
  });
46
+ export const WORKER_THREADS_WIT_REQUIREMENT = nodeRequirement("node:worker_threads", "worker-threads", {
47
+ guestExports: [
48
+ {
49
+ witExport: "jco:node/worker-threads-callbacks@0.1.0",
50
+ jsExport: "workerThreadsCallbacks",
51
+ moduleSpecifier: "jco:node-worker-threads-callbacks",
52
+ },
53
+ ],
54
+ });
27
55
  export const CLUSTER_WIT_REQUIREMENT = nodeRequirement("node:cluster", "cluster", { sharedTypes: true });
56
+ export const TRACE_EVENTS_WIT_REQUIREMENT = nodeRequirement("node:trace_events", "trace-events");
28
57
  export const CONSOLE_WIT_REQUIREMENT = nodeRequirement("node:console", "console");
58
+ export const DGRAM_WIT_REQUIREMENT = nodeRequirement("node:dgram", "dgram", {
59
+ guestExports: [
60
+ {
61
+ witExport: "jco:node/dgram-callbacks@0.1.0",
62
+ jsExport: "dgramCallbacks",
63
+ moduleSpecifier: "jco:node-dgram-callbacks",
64
+ },
65
+ ],
66
+ });
29
67
  export const DNS_WIT_REQUIREMENT = nodeRequirement("node:dns", "dns");
30
68
  export const DNS_PROMISES_WIT_REQUIREMENT = {
31
69
  ...DNS_WIT_REQUIREMENT,
32
70
  nodeSpecifier: "node:dns/promises",
33
71
  };
34
72
  export const FS_WIT_REQUIREMENT = nodeRequirement("node:fs", "fs");
73
+ /** VFS reuses the filesystem host protocol and its deny-by-default mapping. */
74
+ export const VFS_WIT_REQUIREMENT = { ...FS_WIT_REQUIREMENT, nodeSpecifier: "node:vfs" };
75
+ export const PROCESS_WIT_REQUIREMENT = nodeRequirement("node:process", "process");
76
+ export const SQLITE_WIT_REQUIREMENT = nodeRequirement("node:sqlite", "sqlite");
77
+ export const TLS_WIT_REQUIREMENT = {
78
+ ...nodeRequirement("node:tls", "tls", {
79
+ guestExports: [
80
+ {
81
+ witExport: "jco:node/tls-callbacks@0.1.0",
82
+ jsExport: "tlsCallbacks",
83
+ moduleSpecifier: "jco:node-tls-callbacks",
84
+ },
85
+ ],
86
+ }),
87
+ dependencyPackages: [
88
+ {
89
+ dependencyDirectory: "wasi-io-0.2.12",
90
+ dependencySources: [
91
+ fileURLToPath(new URL("../lib/wit/builtin/0.2.12/wasi-io/package.wit", import.meta.url)),
92
+ ],
93
+ },
94
+ {
95
+ dependencyDirectory: "wasi-tls-0.2.0-draft",
96
+ dependencySources: ["world.wit", "types.wit"].map((name) => fileURLToPath(new URL(`../lib/wit/builtin/wasi-tls-0.2.0-draft/${name}`, import.meta.url))),
97
+ },
98
+ ],
99
+ };
100
+ export const V8_WIT_REQUIREMENT = nodeRequirement("node:v8", "v8");
35
101
  export const OS_WIT_REQUIREMENT = nodeRequirement("node:os", "os");
102
+ export const ZLIB_WIT_REQUIREMENT = nodeRequirement("node:zlib", "zlib");
103
+ export const TTY_WIT_REQUIREMENT = nodeRequirement("node:tty", "tty", { sharedTypes: true });
104
+ /** The `node:wasi` builtin's host interface (initialisation only), not a `wasi:` package. */
105
+ export const WASI_WIT_REQUIREMENT = nodeRequirement("node:wasi", "wasi", { sharedTypes: true });
36
106
  export const FFI_WIT_REQUIREMENT = nodeRequirement("node:ffi", "ffi");
37
107
  export const INSPECTOR_WIT_REQUIREMENT = nodeRequirement("node:inspector", "inspector", {
38
108
  witExport: "jco:node/inspector-callbacks@0.1.0",
@@ -57,6 +127,15 @@ export const HTTP_WIT_REQUIREMENT = nodeRequirement("node:http", "http", {
57
127
  },
58
128
  ],
59
129
  });
130
+ /**
131
+ * `node:https` is `node:http` with TLS terminated by the same host interface, so it shares the
132
+ * import and the callback export; only the comment naming the importing builtin differs, and
133
+ * injection dedupes by `witImport` when a guest uses both.
134
+ */
135
+ export const HTTPS_WIT_REQUIREMENT = {
136
+ ...HTTP_WIT_REQUIREMENT,
137
+ nodeSpecifier: "node:https",
138
+ };
60
139
  export const HTTP2_WIT_REQUIREMENT = {
61
140
  nodeSpecifier: "node:http2",
62
141
  witImport: "jco:node/http2@0.1.0",
@@ -104,6 +183,13 @@ function wasiRequirement(witImport, dependencies) {
104
183
  dependencyPackages: additional,
105
184
  };
106
185
  }
186
+ export const VFS_WASI_FILESYSTEM_WIT_REQUIREMENTS = [
187
+ "wasi:filesystem/preopens@0.2.12",
188
+ "wasi:filesystem/types@0.2.12",
189
+ ].map((witImport) => ({
190
+ ...wasiRequirement(witImport, [wasiDependency("wasi-filesystem"), WASI_IO_DEPENDENCY, WASI_CLOCKS_DEPENDENCY]),
191
+ nodeSpecifier: "node:vfs",
192
+ }));
107
193
  export const HTTP_WASI_SOCKETS_WIT_REQUIREMENTS = [
108
194
  wasiRequirement("wasi:sockets/instance-network@0.2.12", WASI_SOCKETS_DEPENDENCIES),
109
195
  wasiRequirement("wasi:sockets/network@0.2.12", WASI_SOCKETS_DEPENDENCIES),
@@ -127,10 +213,47 @@ export const HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS = [
127
213
  wasiRequirement("wasi:io/streams@0.2.10", WASI_SOCKETS_0_2_10_DEPENDENCIES),
128
214
  wasiRequirement("wasi:io/poll@0.2.10", WASI_SOCKETS_0_2_10_DEPENDENCIES),
129
215
  ];
216
+ /**
217
+ * The environment `node:path` reads the working directory from.
218
+ *
219
+ * Unlike the host-backed builtins this is a plain WASI interface, but it is injected the same
220
+ * way: an application that reaches `node:path` -- usually through a dependency rather than
221
+ * directly -- should not have to hand-write the import and vendor its WIT to build.
222
+ */
223
+ export const PATH_WIT_REQUIREMENT = {
224
+ nodeSpecifier: "node:path",
225
+ witImport: "wasi:cli/environment@0.2.12",
226
+ dependencyDirectory: WASI_IO_DEPENDENCY.dependencyDirectory,
227
+ dependencySources: WASI_IO_DEPENDENCY.dependencySources,
228
+ dependencyPackages: [
229
+ WASI_CLOCKS_DEPENDENCY,
230
+ wasiDependency("wasi-random"),
231
+ wasiDependency("wasi-filesystem"),
232
+ wasiDependency("wasi-sockets"),
233
+ wasiDependency("wasi-cli"),
234
+ ],
235
+ };
130
236
  export const HTTP_WASI_HTTP_WIT_REQUIREMENTS = [
131
237
  wasiRequirement("wasi:http/outgoing-handler@0.2.12", WASI_HTTP_DEPENDENCIES),
132
238
  wasiRequirement("wasi:http/types@0.2.12", WASI_HTTP_DEPENDENCIES),
133
239
  ];
240
+ function forNodeSpecifier(requirements, nodeSpecifier) {
241
+ return requirements.map((requirement) => ({ ...requirement, nodeSpecifier }));
242
+ }
243
+ function tlsRequirements() {
244
+ return [{ ...TLS_WIT_REQUIREMENT, nodeSpecifier: "node:https", guestExports: [] }];
245
+ }
246
+ export const HTTPS_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS = [
247
+ ...forNodeSpecifier(HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS, "node:https"),
248
+ ...tlsRequirements(),
249
+ ];
250
+ export const HTTPS_WASI_SOCKETS_WIT_REQUIREMENTS = [
251
+ ...forNodeSpecifier(HTTP_WASI_SOCKETS_WIT_REQUIREMENTS, "node:https"),
252
+ ...tlsRequirements(),
253
+ ];
254
+ export const HTTPS_WASI_HTTP_WIT_REQUIREMENTS = forNodeSpecifier(HTTP_WASI_HTTP_WIT_REQUIREMENTS, "node:https");
255
+ export const NET_WASI_SOCKETS_WIT_REQUIREMENTS = forNodeSpecifier(HTTP_WASI_SOCKETS_WIT_REQUIREMENTS, "node:net");
256
+ export const NET_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS = forNodeSpecifier(HTTP_WASI_SOCKETS_0_2_10_WIT_REQUIREMENTS, "node:net");
134
257
  export function witInjectionWarnings(result) {
135
258
  const messages = [];
136
259
  if (result.imports.length > 0) {
@@ -279,9 +402,11 @@ export async function injectNodeWitImports(witPath, worldName, requirements) {
279
402
  return undefined;
280
403
  }
281
404
  const world = await findWorld(witPath, worldName);
282
- const uniqueRequirements = [
283
- ...new Map(requirements.map((requirement) => [requirement.witImport, requirement])).values(),
284
- ];
405
+ const merged = new Map();
406
+ for (const requirement of requirements) {
407
+ merged.set(requirement.witImport, mergeNodeWitRequirement(merged.get(requirement.witImport), requirement));
408
+ }
409
+ const uniqueRequirements = [...merged.values()];
285
410
  const missingImports = uniqueRequirements.filter(({ witImport }) => !worldHasDeclaration(world, "import", witImport));
286
411
  const missingExports = uniqueRequirements.flatMap((requirement) => requirementWitExports(requirement)
287
412
  .filter((witExport) => !worldHasDeclaration(world, "export", witExport))
@@ -304,7 +429,13 @@ export async function injectNodeWitImports(witPath, worldName, requirements) {
304
429
  ...(requirement.dependencyPackages ?? []),
305
430
  ];
306
431
  for (const dependency of packages) {
307
- dependencies.set(dependency.dependencyDirectory, dependency);
432
+ const previous = dependencies.get(dependency.dependencyDirectory);
433
+ dependencies.set(dependency.dependencyDirectory, {
434
+ ...dependency,
435
+ dependencySources: [
436
+ ...new Set([...(previous?.dependencySources ?? []), ...dependency.dependencySources]),
437
+ ],
438
+ });
308
439
  }
309
440
  }
310
441
  for (const dependency of dependencies.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"node-wit.js","sourceRoot":"","sources":["../src/node-wit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-wit.js","sourceRoot":"","sources":["../src/node-wit.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,9 @@ package jco:node@0.1.0;
7
7
  /// rebuild the observable JS surface guest-side.
8
8
  ///
9
9
  /// Cluster is push-based and WIT is pull-based, so host events are queued and the guest drains
10
- /// them with `drain-events`. See `docs/src/interop/nodejs-builtins.md` for the delivery-timing
11
- /// difference this creates.
10
+ /// them with `drain-events`. See
11
+ /// `docs/src/interop/nodejs-builtins/supported-modules/cluster.md`
12
+ /// for the delivery-timing difference this creates.
12
13
  interface cluster {
13
14
  use types.{env-vars};
14
15