@bytecodealliance/jco 1.32.1 → 1.33.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 (43) 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 +7 -0
  5. package/dist/bundle.js.map +1 -1
  6. package/dist/cmd/componentize.d.ts +24 -0
  7. package/dist/cmd/componentize.d.ts.map +1 -1
  8. package/dist/cmd/componentize.js +82 -8
  9. package/dist/cmd/componentize.js.map +1 -1
  10. package/dist/cmd/run.d.ts.map +1 -1
  11. package/dist/cmd/run.js +58 -1
  12. package/dist/cmd/run.js.map +1 -1
  13. package/dist/cmd/transpile.d.ts +5 -1
  14. package/dist/cmd/transpile.d.ts.map +1 -1
  15. package/dist/cmd/transpile.js +97 -0
  16. package/dist/cmd/transpile.js.map +1 -1
  17. package/dist/jco.js +8 -1
  18. package/dist/jco.js.map +1 -1
  19. package/dist/node-builtins.d.ts +127 -0
  20. package/dist/node-builtins.d.ts.map +1 -0
  21. package/dist/node-builtins.js +1085 -0
  22. package/dist/node-builtins.js.map +1 -0
  23. package/dist/node-wit.d.ts +67 -0
  24. package/dist/node-wit.d.ts.map +1 -0
  25. package/dist/node-wit.js +338 -0
  26. package/dist/node-wit.js.map +1 -0
  27. package/lib/wasi_snapshot_preview1.command.wasm +0 -0
  28. package/lib/wasi_snapshot_preview1.reactor.wasm +0 -0
  29. package/lib/wit/builtin/0.2.10/wasi-clocks/package.wit +35 -0
  30. package/lib/wit/builtin/0.2.10/wasi-io/package.wit +47 -0
  31. package/lib/wit/builtin/0.2.10/wasi-sockets/package.wit +168 -0
  32. package/lib/wit/builtin/jco-node-0.1.0/child-process.wit +42 -0
  33. package/lib/wit/builtin/jco-node-0.1.0/cluster.wit +111 -0
  34. package/lib/wit/builtin/jco-node-0.1.0/console.wit +12 -0
  35. package/lib/wit/builtin/jco-node-0.1.0/dns.wit +145 -0
  36. package/lib/wit/builtin/jco-node-0.1.0/ffi.wit +116 -0
  37. package/lib/wit/builtin/jco-node-0.1.0/fs.wit +208 -0
  38. package/lib/wit/builtin/jco-node-0.1.0/http.wit +144 -0
  39. package/lib/wit/builtin/jco-node-0.1.0/http2.wit +191 -0
  40. package/lib/wit/builtin/jco-node-0.1.0/inspector.wit +142 -0
  41. package/lib/wit/builtin/jco-node-0.1.0/os.wit +120 -0
  42. package/lib/wit/builtin/jco-node-0.1.0/types.wit +12 -0
  43. package/package.json +6 -4
package/README.md CHANGED
@@ -25,7 +25,7 @@ Jco provides a fully native JS toolchain for working with [WebAssembly Component
25
25
  Features include:
26
26
 
27
27
  - "Transpiling" Wasm Component binaries into ES modules that can run in any JS environment.
28
- - WASI Preview2 support in Node.js & browsers (experimental).
28
+ - WASI Preview2 support in Node.js & browsers.
29
29
  - Component builds of [Wasm Tools](https://github.com/bytecodealliance/wasm-tools) helpers, available for use as a library or CLI commands for use in native JS environments, as well as optimization helper for Components via Binaryen.
30
30
  - Run and serve commands like Wasmtime, as JS implementations of the Command and HTTP Proxy worlds.
31
31
  - "Componentize" command to easily create components written in JavaScript (wrapper of [ComponentizeJS](https://github.com/bytecodealliance/ComponentizeJS)).
@@ -227,6 +227,17 @@ jco componentize app.ts --wit wit -n world-name -o component.wasm
227
227
  The TypeScript transform erases types but does not perform semantic type checking. Run `tsc --noEmit`
228
228
  separately when required.
229
229
 
230
+ #### Experimental Node.js built-in compatibility
231
+
232
+ > **Warning:** Node.js builtin compatibility in components is experimental. Its
233
+ > APIs and generated component requirements may change incompatibly before the
234
+ > feature is stabilized.
235
+
236
+ Bundled source can keep ordinary supported `node:` imports. See the Jco book's
237
+ [Node.js built-in compatibility guide](https://bytecodealliance.github.io/jco/interop/nodejs-builtins.html)
238
+ for the current API inventory, implementation choices, WIT requirements, host
239
+ adapter policy, limitations, and examples.
240
+
230
241
  See [ComponentizeJS][cjs] and [componentize-qjs][cqjs] for backend-specific details.
231
242
 
232
243
  [sm]: https://github.com/bytecodealliance/StarlingMonkey
package/dist/bundle.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { ExternalOption, RolldownOptions, RolldownPluginOption } from "roll
2
2
  export interface BundleComponentSourceOptions {
3
3
  aliases?: Record<string, string | false | string[]>;
4
4
  external?: ExternalOption[];
5
+ inject?: Record<string, string | [string, string]>;
5
6
  plugins?: RolldownPluginOption[];
6
7
  config?: RolldownOptions;
7
8
  typescript?: boolean;
@@ -32,6 +33,7 @@ export declare function loadBundleConfig(configPath: string): Promise<RolldownOp
32
33
  * @param {{
33
34
  * aliases?: Record<string, string | false | string[]>,
34
35
  * external?: Array<string | RegExp>,
36
+ * inject?: Record<string, string | [string, string]>,
35
37
  * plugins?: Array<import("rolldown").RolldownPluginOption>,
36
38
  * config?: import("rolldown").RolldownOptions,
37
39
  * typescript?: boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEtF,MAAM,WAAW,4BAA4B;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAOD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,wBAAwB,CAQlH;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAanF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,MAAM,CAAC,CA2DjB"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEtF,MAAM,WAAW,4BAA4B;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAOD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,wBAAwB,CAQlH;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAanF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAiEjB"}
package/dist/bundle.js CHANGED
@@ -50,6 +50,7 @@ export async function loadBundleConfig(configPath) {
50
50
  * @param {{
51
51
  * aliases?: Record<string, string | false | string[]>,
52
52
  * external?: Array<string | RegExp>,
53
+ * inject?: Record<string, string | [string, string]>,
53
54
  * plugins?: Array<import("rolldown").RolldownPluginOption>,
54
55
  * config?: import("rolldown").RolldownOptions,
55
56
  * typescript?: boolean,
@@ -83,6 +84,12 @@ export async function bundleComponentSource(entryPath, options = {}) {
83
84
  ...config.resolve,
84
85
  alias: aliases,
85
86
  },
87
+ transform: {
88
+ ...config.transform,
89
+ // Jco supplies defaults, while an explicit bundle configuration
90
+ // remains able to replace any individual injected global.
91
+ inject: { ...options.inject, ...config.transform?.inject },
92
+ },
86
93
  });
87
94
  try {
88
95
  const { output } = await build.generate({
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,24 @@
1
+ import { bundleComponentSource } from "../bundle.js";
2
+ import { type NodejsHttp2Via, type NodejsHttpVia, type WorldMetadata } from "../node-builtins.js";
3
+ import { type NodeGuestExport } from "../node-wit.js";
1
4
  type ComponentizeJSBackend = "qjs" | "quickjs" | "starlingmonkey" | "sm";
2
5
  export interface ComponentizeOptions {
3
6
  wit: string;
4
7
  out: string;
8
+ /**
9
+ * Directory componentization runs from.
10
+ *
11
+ * We default to the entry module's directory here rather than a simple
12
+ * cwd() so a build does not depend on where the command was invoked from.
13
+ */
14
+ cwd?: string;
5
15
  worldName?: string;
6
16
  bundle?: boolean;
7
17
  bundleConfig?: string;
18
+ nodejsHttpVia?: NodejsHttpVia;
19
+ nodejsHttp2Via?: NodejsHttp2Via;
20
+ withNodejsHttpVia?: NodejsHttpVia;
21
+ withNodejsHttp2Via?: NodejsHttp2Via;
8
22
  backend?: ComponentizeJSBackend;
9
23
  backendQjsDisableAysnc: boolean;
10
24
  aot?: boolean;
@@ -23,6 +37,16 @@ export interface ComponentizeOptions {
23
37
  debugBinaryPath?: string;
24
38
  debugEnableWizerLogging?: boolean;
25
39
  }
40
+ /**
41
+ * Detect whether the WIT of a given component contains an older version of
42
+ * `wasi:http` which necessitates an older version of `componentize-js`
43
+ *
44
+ * @param {string} witPath
45
+ * @returns bool
46
+ */
47
+ export declare function worldMetadataFor(witPath: string, worldName?: string): Promise<WorldMetadata>;
48
+ /** Re-bundle an entry wrapper that explicitly implements guest callback interface exports. */
49
+ export declare function bundleNodeGuestExportsWrapper(jsSource: string, guestExports: readonly NodeGuestExport[], bundleOptions: Parameters<typeof bundleComponentSource>[1]): Promise<string>;
26
50
  /**
27
51
  * Componentize a JavaScript or TypeScript entry module against a WIT world.
28
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"componentize.d.ts","sourceRoot":"","sources":["../../src/cmd/componentize.ts"],"names":[],"mappings":"AAcA,KAAK,qBAAqB,GAAG,KAAK,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,sBAAsB,EAAE,OAAO,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAsED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D7F"}
1
+ {"version":3,"file":"componentize.d.ts","sourceRoot":"","sources":["../../src/cmd/componentize.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAA6C,MAAM,cAAc,CAAC;AAEhG,OAAO,EAGH,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGH,KAAK,eAAe,EAEvB,MAAM,gBAAgB,CAAC;AAQxB,KAAK,qBAAqB,GAAG,KAAK,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,sBAAsB,EAAE,OAAO,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAmCD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAGlG;AAED,8FAA8F;AAC9F,wBAAsB,6BAA6B,CAC/C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,SAAS,eAAe,EAAE,EACxC,aAAa,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAC3D,OAAO,CAAC,MAAM,CAAC,CAgBjB;AA6BD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6G7F"}
@@ -1,8 +1,11 @@
1
- import { stat, readFile, writeFile } from "node:fs/promises";
2
- import { resolve, basename, extname } from "node:path";
1
+ import { mkdtemp, rm, stat, readFile, writeFile } from "node:fs/promises";
2
+ import { tmpdir } from "node:os";
3
+ import { resolve, basename, dirname, extname, join } from "node:path";
3
4
  import { componentWitMetadataForWorld } from "@bytecodealliance/jco-transpile";
4
5
  import { bundleComponentSource, classifyComponentSource, loadBundleConfig } from "../bundle.js";
5
6
  import { styleText, isWindows } from "../common.js";
7
+ import { nodeBuiltinPlugin, nodeGlobals, } from "../node-builtins.js";
8
+ import { injectNodeWitImports, witInjectionWarnings, } from "../node-wit.js";
6
9
  /** All features that can be enabled/disabled */
7
10
  const ALL_FEATURES = ["clocks", "http", "random", "stdio", "fetch-event"];
8
11
  /** Features that should be used for --debug mode */
@@ -36,9 +39,29 @@ const STARLINGMONKEY_OPTIONS = [
36
39
  * @param {string} witPath
37
40
  * @returns bool
38
41
  */
42
+ export async function worldMetadataFor(witPath, worldName) {
43
+ const path = (isWindows ? "//?/" : "") + resolve(witPath);
44
+ return (await componentWitMetadataForWorld({ tag: "path", val: path }, worldName));
45
+ }
46
+ /** Re-bundle an entry wrapper that explicitly implements guest callback interface exports. */
47
+ export async function bundleNodeGuestExportsWrapper(jsSource, guestExports, bundleOptions) {
48
+ const wrapperDir = await mkdtemp(join(tmpdir(), "jco-node-exports-"));
49
+ const wrapperPath = join(wrapperDir, "wrapper.mjs");
50
+ const entry = resolve(jsSource);
51
+ const exports = [
52
+ `export * from ${JSON.stringify(entry)};`,
53
+ ...guestExports.map(({ jsExport, moduleSpecifier }) => `export { ${jsExport} } from ${JSON.stringify(moduleSpecifier)};`),
54
+ ];
55
+ try {
56
+ await writeFile(wrapperPath, `${exports.join("\n")}\n`);
57
+ return await bundleComponentSource(wrapperPath, bundleOptions);
58
+ }
59
+ finally {
60
+ await rm(wrapperDir, { recursive: true, force: true });
61
+ }
62
+ }
39
63
  async function usesOlderWasiHTTP(witPath, worldName) {
40
- witPath = (isWindows ? "//?/" : "") + resolve(witPath);
41
- const worldMetadata = await componentWitMetadataForWorld({ tag: "path", val: witPath }, worldName);
64
+ const worldMetadata = await worldMetadataFor(witPath, worldName);
42
65
  // Check if the an old `wasi:http/incoming-handler` version is exported
43
66
  const exportsOldIncomingHandler = worldMetadata.exports.some((iface) => {
44
67
  return (iface.namespace === "wasi" &&
@@ -78,15 +101,63 @@ export async function componentize(jsSource, opts) {
78
101
  throw new Error("--bundle-config requires --bundle");
79
102
  }
80
103
  const bundleConfig = opts.bundleConfig ? await loadBundleConfig(opts.bundleConfig) : undefined;
81
- const source = shouldBundle
82
- ? await bundleComponentSource(jsSource, { config: bundleConfig, typescript: isTypeScript })
83
- : await readFile(jsSource, "utf8");
84
- const witPath = resolve(opts.wit);
104
+ let witPath = resolve(opts.wit);
105
+ const witRequirements = new Map();
106
+ let source;
107
+ if (shouldBundle) {
108
+ const bundleOptions = {
109
+ config: bundleConfig,
110
+ typescript: isTypeScript,
111
+ // The component engine supplies Web globals. Rolldown injects only Jco-backed Node
112
+ // globals when referenced, so unused adapters add no bundle cost.
113
+ inject: nodeGlobals(),
114
+ // Node builtin adapters are supplied while the source graph is bundled, which is
115
+ // why `node:path` only works together with `--bundle`.
116
+ plugins: [
117
+ nodeBuiltinPlugin(await worldMetadataFor(witPath, opts.worldName), {
118
+ nodejsHttpVia: opts.nodejsHttpVia ?? opts.withNodejsHttpVia,
119
+ nodejsHttp2Via: opts.nodejsHttp2Via ?? opts.withNodejsHttp2Via,
120
+ // StarlingMonkey's built-in socket modules are currently WASI 0.2.10.
121
+ // Using that exact version preserves its cross-interface resource identities.
122
+ wasiSocketsVersion: backend === "starlingmonkey" ? "0.2.10" : "0.2.12",
123
+ onWitRequirement(requirement) {
124
+ witRequirements.set(requirement.witImport, requirement);
125
+ },
126
+ }),
127
+ ],
128
+ };
129
+ source = await bundleComponentSource(jsSource, bundleOptions);
130
+ const guestExports = [
131
+ ...new Map([...witRequirements.values()]
132
+ .flatMap((requirement) => requirement.guestExports ?? [])
133
+ .map((guestExport) => [guestExport.jsExport, guestExport])).values(),
134
+ ];
135
+ if (guestExports.length > 0) {
136
+ source = await bundleNodeGuestExportsWrapper(jsSource, guestExports, bundleOptions);
137
+ }
138
+ }
139
+ else {
140
+ source = await readFile(jsSource, "utf8");
141
+ }
142
+ const injection = await injectNodeWitImports(witPath, opts.worldName, [...witRequirements.values()]);
143
+ if (injection) {
144
+ witPath = injection.witPath;
145
+ const warning = styleText(["yellow", "bold"], "warning");
146
+ for (const message of witInjectionWarnings(injection)) {
147
+ console.error(`${warning} ${message}`);
148
+ }
149
+ }
85
150
  const sourceName = isTypeScript ? `${basename(jsSource, extname(jsSource))}.js` : basename(jsSource);
86
151
  // Build the component
87
152
  let component;
88
153
  const backendArgs = { source, sourceName, jsSource, witPath, opts };
154
+ // componentize-js reads the process working directory to decide the path prefix baked into
155
+ // the component and the directory it preopens. Pin it so the build does not depend on where
156
+ // the command ran, restoring the caller's directory afterwards.
157
+ const componentizeCwd = resolve(opts.cwd ?? dirname(resolve(jsSource)));
158
+ const callerCwd = process.cwd();
89
159
  try {
160
+ process.chdir(componentizeCwd);
90
161
  switch (backend) {
91
162
  case "quickjs":
92
163
  component = await componentizeQJS(backendArgs);
@@ -111,6 +182,9 @@ export async function componentize(jsSource, opts) {
111
182
  }
112
183
  throw err;
113
184
  }
185
+ finally {
186
+ process.chdir(callerCwd);
187
+ }
114
188
  // Write out the component
115
189
  await writeFile(opts.out, component);
116
190
  console.log(`${styleText("green", "OK")} Successfully written ${styleText("bold", opts.out)}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"componentize.js","sourceRoot":"","sources":["../../src/cmd/componentize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"componentize.js","sourceRoot":"","sources":["../../src/cmd/componentize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cmd/run.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,UAAU,mBAAoB,SAAQ,mBAAmB;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IACvE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAE7C,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACrB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;CAChE;AAED,wBAAgB,4BAA4B,CACxC,WAAW,EAAE,CACT,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,MAAM,EACnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B;IAAE,eAAe,CAAC,EAAE,eAAe,CAAA;CAAE,EAC1C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,MAAM,EACnD,eAAe,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,eAAe,CAUjB;AAED,wBAAsB,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,iBAwBhF;AAED,wBAAsB,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,iBAmMpF;AAoID,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAuDjE"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cmd/run.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,UAAU,mBAAoB,SAAQ,mBAAmB;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IACvE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAE7C,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,eAAe;IACrB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;CAChE;AAED,wBAAgB,4BAA4B,CACxC,WAAW,EAAE,CACT,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,MAAM,EACnD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B;IAAE,eAAe,CAAC,EAAE,eAAe,CAAA;CAAE,EAC1C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,MAAM,EACnD,eAAe,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,eAAe,CAUjB;AAED,wBAAsB,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,iBAwBhF;AAED,wBAAsB,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,iBAmMpF;AAoMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAuDjE"}
package/dist/cmd/run.js CHANGED
@@ -26,7 +26,7 @@ export async function run(componentPath, args, opts) {
26
26
  process.exit(1);
27
27
  }
28
28
  try {
29
- mod.run.run();
29
+ await mod.run.run();
30
30
  // for stdout flushing
31
31
  await new Promise(resolve => setTimeout(resolve));
32
32
  process.exit(0);
@@ -270,6 +270,63 @@ async function runComponent(componentPath, args, opts, executor) {
270
270
  throw e;
271
271
  }
272
272
  }
273
+ // Expose jco-std's default-deny process, cluster, and filesystem host shims to the component.
274
+ try {
275
+ const jcoStdPath = resolve(fileURLToPath(import.meta.resolve("@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/child-process/host")), "../../../../../../");
276
+ try {
277
+ await symlink(jcoStdPath, resolve(modulesDir, "jco-std"), "dir");
278
+ }
279
+ catch (e) {
280
+ if (e.code !== "EEXIST") {
281
+ throw e;
282
+ }
283
+ }
284
+ }
285
+ catch (e) {
286
+ // Older jco-std releases do not contain this optional capability.
287
+ // A component that imports it will surface the missing provider at runtime.
288
+ if (e.code !== "ERR_PACKAGE_PATH_NOT_EXPORTED") {
289
+ throw e;
290
+ }
291
+ }
292
+ // Make the deny-by-default node:console host available to generated code.
293
+ // Selecting an output-capable provider still requires an explicit --map.
294
+ try {
295
+ const jcoStdPath = resolve(fileURLToPath(import.meta.resolve("@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/console/host")), "../../../../../../");
296
+ try {
297
+ await symlink(jcoStdPath, resolve(modulesDir, "jco-std"), "dir");
298
+ }
299
+ catch (e) {
300
+ if (e.code !== "EEXIST") {
301
+ throw e;
302
+ }
303
+ }
304
+ }
305
+ catch (e) {
306
+ // Older jco-std releases do not contain this optional capability.
307
+ if (e.code !== "ERR_PACKAGE_PATH_NOT_EXPORTED") {
308
+ throw e;
309
+ }
310
+ }
311
+ // Make the deny-by-default node:dns host available to generated code.
312
+ // Network access still requires an explicit provider mapping.
313
+ try {
314
+ const jcoStdPath = resolve(fileURLToPath(import.meta.resolve("@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/dns/host")), "../../../../../../");
315
+ try {
316
+ await symlink(jcoStdPath, resolve(modulesDir, "jco-std"), "dir");
317
+ }
318
+ catch (e) {
319
+ if (e.code !== "EEXIST") {
320
+ throw e;
321
+ }
322
+ }
323
+ }
324
+ catch (e) {
325
+ // Older jco-std releases do not contain this optional capability.
326
+ if (e.code !== "ERR_PACKAGE_PATH_NOT_EXPORTED") {
327
+ throw e;
328
+ }
329
+ }
273
330
  const runPath = resolve(outDir, "_run.js");
274
331
  const sandboxSetup = getSandboxSetup(opts);
275
332
  if (opts.isolateRequests === "worker") {
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cmd/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cmd/run.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
+ /** Apply deny-by-default host mappings while preserving explicit application choices. */
2
+ export declare function withDefaultNodeCapabilityMap(map?: Record<string, string>): Record<string, string>;
3
+ /** Configure host-backed Node capabilities and their required binding mode. */
4
+ export declare function withDefaultNodeCapabilities(opts: TranspileOpts): TranspileOpts;
1
5
  export interface TranspileOpts {
2
6
  name?: string;
3
7
  instantiation?: "async" | "sync";
4
8
  importBindings?: "js" | "optimized" | "hybrid" | "direct-optimized";
5
9
  map?: Record<string, string>;
6
- asyncMode?: string;
10
+ asyncMode?: "sync" | "jspi";
7
11
  asyncImports?: string[];
8
12
  asyncExports?: string[];
9
13
  validLiftingOptimization?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../../src/cmd/transpile.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAGD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3G;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,GAAE,aAAkB;WAEzE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;aACxB,MAAM,EAAE;aACR,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,EAAE;GAEnD"}
1
+ {"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../../src/cmd/transpile.ts"],"names":[],"mappings":"AA2DA,yFAAyF;AACzF,wBAAgB,4BAA4B,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjG;AAMD,+EAA+E;AAC/E,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAuC9E;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAGD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3G;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,GAAE,aAAkB;WAEzE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;aACxB,MAAM,EAAE;aACR,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,EAAE;GAEnD"}
@@ -1,6 +1,100 @@
1
1
  /* global Buffer */
2
2
  import { transpile, transpileBytes } from "@bytecodealliance/jco-transpile";
3
3
  import { writeFiles } from "../common.js";
4
+ const DNS_CAPABILITY = "jco:node/dns@0.1.0";
5
+ // Async selectors support exact function names, not interface-scoped wildcards.
6
+ const DNS_ASYNC_IMPORTS = [
7
+ "lookup",
8
+ "lookup-service",
9
+ "resolve4",
10
+ "resolve6",
11
+ "resolve-any",
12
+ "resolve-caa",
13
+ "resolve-cname",
14
+ "resolve-mx",
15
+ "resolve-naptr",
16
+ "resolve-ns",
17
+ "resolve-ptr",
18
+ "resolve-soa",
19
+ "resolve-srv",
20
+ "resolve-tlsa",
21
+ "resolve-txt",
22
+ "reverse",
23
+ ].map((name) => `${DNS_CAPABILITY}#${name}`);
24
+ const HTTP_CAPABILITY = "jco:node/http@0.1.0";
25
+ const HTTP_ASYNC_IMPORTS = [
26
+ `${HTTP_CAPABILITY}#request`,
27
+ `${HTTP_CAPABILITY}#[method]server.listen`,
28
+ `${HTTP_CAPABILITY}#[method]server.close`,
29
+ `${HTTP_CAPABILITY}#[method]server.get-connections`,
30
+ ];
31
+ const HTTP2_CAPABILITY = "jco:node/http2@0.1.0";
32
+ const HTTP2_ASYNC_IMPORTS = [
33
+ `${HTTP2_CAPABILITY}#[method]client-session.ready`,
34
+ `${HTTP2_CAPABILITY}#[method]client-stream.finish`,
35
+ `${HTTP2_CAPABILITY}#[method]client-session.close`,
36
+ `${HTTP2_CAPABILITY}#[method]client-session.settings`,
37
+ `${HTTP2_CAPABILITY}#[method]client-session.ping`,
38
+ `${HTTP2_CAPABILITY}#[method]server.listen`,
39
+ `${HTTP2_CAPABILITY}#[method]server.close`,
40
+ ];
41
+ const DEFAULT_NODE_CAPABILITY_MAP = {
42
+ "jco:node/child-process@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/child-process/host",
43
+ "jco:node/cluster@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/cluster/host",
44
+ "jco:node/console@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/console/host",
45
+ "jco:node/dns@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/dns/host",
46
+ "jco:node/fs@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/fs/host",
47
+ "jco:node/os@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/os/host",
48
+ "jco:node/ffi@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/26.x.x/ffi/host",
49
+ "jco:node/http@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/http/host",
50
+ "jco:node/inspector@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/inspector/host",
51
+ "jco:node/http2@0.1.0": "@bytecodealliance/jco-std/wasi/0.2.x/node/24.x.x/http2/host",
52
+ };
53
+ /** Apply deny-by-default host mappings while preserving explicit application choices. */
54
+ export function withDefaultNodeCapabilityMap(map) {
55
+ return Object.assign({}, DEFAULT_NODE_CAPABILITY_MAP, map);
56
+ }
57
+ function appendUnique(values, value) {
58
+ return values?.includes(value) ? values : [...(values ?? []), value];
59
+ }
60
+ /** Configure host-backed Node capabilities and their required binding mode. */
61
+ export function withDefaultNodeCapabilities(opts) {
62
+ const hasAsyncDnsProvider = opts.map?.[DNS_CAPABILITY] !== undefined &&
63
+ opts.map[DNS_CAPABILITY] !== DEFAULT_NODE_CAPABILITY_MAP[DNS_CAPABILITY];
64
+ if (hasAsyncDnsProvider) {
65
+ // The Node DNS provider returns a promise. JSPI suspends its synchronous
66
+ // Preview 2 WIT import, and every possibly-transitive export is promising.
67
+ opts.asyncMode = "jspi";
68
+ for (const asyncImport of DNS_ASYNC_IMPORTS) {
69
+ opts.asyncImports = appendUnique(opts.asyncImports, asyncImport);
70
+ }
71
+ opts.asyncExports = appendUnique(opts.asyncExports, "*");
72
+ }
73
+ const hasAsyncHttpProvider = opts.map?.[HTTP_CAPABILITY] !== undefined &&
74
+ opts.map[HTTP_CAPABILITY] !== DEFAULT_NODE_CAPABILITY_MAP[HTTP_CAPABILITY];
75
+ if (hasAsyncHttpProvider) {
76
+ // The opt-in Node HTTP provider buffers an asynchronous request. JSPI
77
+ // suspends the synchronous Preview 2 WIT import while it is in flight.
78
+ opts.asyncMode = "jspi";
79
+ for (const asyncImport of HTTP_ASYNC_IMPORTS) {
80
+ opts.asyncImports = appendUnique(opts.asyncImports, asyncImport);
81
+ }
82
+ opts.asyncExports = appendUnique(opts.asyncExports, "*");
83
+ }
84
+ const hasAsyncHttp2Provider = opts.map?.[HTTP2_CAPABILITY] !== undefined &&
85
+ opts.map[HTTP2_CAPABILITY] !== DEFAULT_NODE_CAPABILITY_MAP[HTTP2_CAPABILITY];
86
+ if (hasAsyncHttp2Provider) {
87
+ // A direct Node HTTP/2 provider waits on real sessions, streams, and
88
+ // server callbacks. JSPI suspends those typed resource methods.
89
+ opts.asyncMode = "jspi";
90
+ for (const asyncImport of HTTP2_ASYNC_IMPORTS) {
91
+ opts.asyncImports = appendUnique(opts.asyncImports, asyncImport);
92
+ }
93
+ opts.asyncExports = appendUnique(opts.asyncExports, "*");
94
+ }
95
+ opts.map = withDefaultNodeCapabilityMap(opts.map);
96
+ return opts;
97
+ }
4
98
  // These re-exports exist to avoid breaking backwards compatibility
5
99
  export { types, guestTypes, typesComponent } from "./types.js";
6
100
  /**
@@ -43,6 +137,9 @@ function prepOpts(opts, program) {
43
137
  opts.map = Object.fromEntries(opts.map.map((s) => s.split("=")));
44
138
  }
45
139
  }
140
+ // Host-backed Node capabilities are never granted implicitly. Components use
141
+ // deny-by-default shims unless the application explicitly replaces their maps.
142
+ withDefaultNodeCapabilities(opts);
46
143
  return opts;
47
144
  }
48
145
  // see: https://github.com/vitest-dev/vitest/issues/6953#issuecomment-2505310022
@@ -1 +1 @@
1
- {"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../src/cmd/transpile.ts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAsC1C,mEAAmE;AACnE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,IAAmB,EAAE,OAAa;IACxF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAqB,EAAE,IAAI,GAAkB,EAAE;IACpF,OAAO,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAI7C,CAAC;AACP,CAAC;AAED,SAAS,QAAQ,CAAC,IAAS,EAAE,OAAa;IACtC,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC;IAE1C,8EAA8E;IAC9E,8EAA8E;IAC9E,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC,sBAAsB,KAAK,KAAK,CAAC;IAExE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,IAAI,OAAO,wBAAwB,KAAK,WAAW,EAAE,CAAC;IAClD,wBAAwB,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,GAAG,mBAAmB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChH,CAAC"}
1
+ {"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../src/cmd/transpile.ts"],"names":[],"mappings":"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"}
package/dist/jco.js CHANGED
@@ -13,7 +13,7 @@ program
13
13
  .description(`${styleText("bold", "jco - WebAssembly JS Component Tools")}\n JS Component Transpilation Bindgen & Wasm Tools for JS`)
14
14
  .usage("<command> [options]")
15
15
  .enablePositionalOptions()
16
- .version("1.32.1");
16
+ .version("1.33.0");
17
17
  function myParseInt(value) {
18
18
  return parseInt(value, 10);
19
19
  }
@@ -49,8 +49,15 @@ program
49
49
  .option("--backend-qjs-disable-async", "disable async (enable the 'sync' option) when buliding with componentize-qjs")
50
50
  .option("--debug-starlingmonkey-build", "use a debug build of StarlingMonkey")
51
51
  .option("--engine <path>", "use a specific StarlingMonkey build (StarlingMonkey backend only)")
52
+ .option("--cwd <path>", "directory componentization runs from; paths the component sees are made relative to it (default: the process working directory)")
52
53
  .option("--bundle", "bundle source and its dependencies before componentization (automatic for TypeScript)")
53
54
  .option("--bundle-config <path>", "merge a Rolldown configuration module into the component bundle")
55
+ .addOption(new Option("--with-nodejs-http-via <implementation>", "implementation used by bundled node:http code")
56
+ .choices(["direct", "wasi-sockets", "wasi-http"])
57
+ .default("direct"))
58
+ .addOption(new Option("--with-nodejs-http2-via <implementation>", "implementation used by bundled node:http2 code")
59
+ .choices(["direct", "wasi-sockets", "wasi-http"])
60
+ .default("direct"))
54
61
  .requiredOption("-o, --out <out>", "output component file")
55
62
  .option("--debug-bindings", "Output debug bindings and metadata during componentization (by default to stderr)")
56
63
  .option("--debug-bindings-dir <dir>", "Directory to which to output generated bindings and metadata")