@bytecodealliance/jco 1.30.0 → 1.32.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 +47 -0
  2. package/dist/cmd/new/builtin-wit.d.ts +13 -0
  3. package/dist/cmd/new/builtin-wit.d.ts.map +1 -0
  4. package/dist/cmd/new/builtin-wit.js +53 -0
  5. package/dist/cmd/new/builtin-wit.js.map +1 -0
  6. package/dist/cmd/new/oci-wit.d.ts +5 -0
  7. package/dist/cmd/new/oci-wit.d.ts.map +1 -0
  8. package/dist/cmd/new/oci-wit.js +124 -0
  9. package/dist/cmd/new/oci-wit.js.map +1 -0
  10. package/dist/cmd/new.d.ts.map +1 -1
  11. package/dist/cmd/new.js +58 -39
  12. package/dist/cmd/new.js.map +1 -1
  13. package/dist/cmd/run.d.ts +8 -0
  14. package/dist/cmd/run.d.ts.map +1 -1
  15. package/dist/cmd/run.js +202 -6
  16. package/dist/cmd/run.js.map +1 -1
  17. package/dist/cmd/transpile.d.ts +3 -0
  18. package/dist/cmd/transpile.d.ts.map +1 -1
  19. package/dist/cmd/transpile.js +3 -0
  20. package/dist/cmd/transpile.js.map +1 -1
  21. package/dist/cmd/types.d.ts +3 -0
  22. package/dist/cmd/types.d.ts.map +1 -1
  23. package/dist/cmd/types.js +6 -1
  24. package/dist/cmd/types.js.map +1 -1
  25. package/dist/jco.js +22 -3
  26. package/dist/jco.js.map +1 -1
  27. package/lib/wit/builtin/0.2.12/wasi-cli/package.wit +64 -0
  28. package/lib/wit/builtin/0.2.12/wasi-clocks/package.wit +43 -0
  29. package/lib/wit/builtin/0.2.12/wasi-filesystem/package.wit +196 -0
  30. package/lib/wit/builtin/0.2.12/wasi-http/package.wit +205 -0
  31. package/lib/wit/builtin/0.2.12/wasi-io/package.wit +66 -0
  32. package/lib/wit/builtin/0.2.12/wasi-random/package.wit +17 -0
  33. package/lib/wit/builtin/0.2.12/wasi-sockets/package.wit +164 -0
  34. package/lib/wit/builtin/0.3.0/wasi-cli/package.wit +70 -0
  35. package/lib/wit/builtin/0.3.0/wasi-clocks/package.wit +42 -0
  36. package/lib/wit/builtin/0.3.0/wasi-filesystem/package.wit +184 -0
  37. package/lib/wit/builtin/0.3.0/wasi-http/package.wit +170 -0
  38. package/lib/wit/builtin/0.3.0/wasi-random/package.wit +17 -0
  39. package/lib/wit/builtin/0.3.0/wasi-sockets/package.wit +105 -0
  40. package/lib/wit/builtin/LICENSE.md +8 -0
  41. package/lib/wit/builtin/README.md +12 -0
  42. package/package.json +4 -4
  43. package/LICENSE +0 -220
package/dist/cmd/run.js CHANGED
@@ -6,6 +6,17 @@ import { fileURLToPath, pathToFileURL } from "node:url";
6
6
  import { getTmpDir, styleText } from "../common.js";
7
7
  import { transpileCmd } from "./transpile.js";
8
8
  const DEFAULT_SERVE_HOST = "localhost";
9
+ export function createRequestIsolatedHandler(instantiate, getCoreModule, getImportObject) {
10
+ return {
11
+ handle(request, responseOutparam) {
12
+ const instance = instantiate(getCoreModule, getImportObject());
13
+ if (typeof instance.incomingHandler?.handle !== "function") {
14
+ throw new Error("Not a valid HTTP server component to execute.");
15
+ }
16
+ return instance.incomingHandler.handle(request, responseOutparam);
17
+ },
18
+ };
19
+ }
9
20
  export async function run(componentPath, args, opts) {
10
21
  // Ensure that `args` is an array
11
22
  args = [...args];
@@ -36,12 +47,167 @@ export async function serve(componentPath, args, opts) {
36
47
  // Ensure that `args` is an array
37
48
  args = [...args];
38
49
  host = host ?? DEFAULT_SERVE_HOST;
39
- return runComponent(componentPath, args, opts, `
50
+ const workerPoolSize = opts.isolateWorkerPoolSize ?? 50;
51
+ if (!Number.isInteger(workerPoolSize) || workerPoolSize < 1) {
52
+ throw new Error("--isolate-worker-pool-size must be a positive integer");
53
+ }
54
+ const isolatedHandler = opts.isolateRequests === "instance"
55
+ ? `(${createRequestIsolatedHandler.toString()})(
56
+ mod.instantiate,
57
+ getCoreModule,
58
+ () => new WASIShim().getImportObject()
59
+ )`
60
+ : "mod.incomingHandler";
61
+ return runComponent(componentPath, args, opts, opts.isolateRequests === "worker"
62
+ ? `
63
+ import http from 'node:http';
64
+ import { Worker } from 'node:worker_threads';
65
+
66
+ const workerUrl = new URL('./_serve_worker.js', import.meta.url);
67
+ const workerPoolSize = ${workerPoolSize};
68
+ const idleWorkers = [];
69
+ const workerWaiters = [];
70
+
71
+ function createWorker() {
72
+ return new Promise((resolve, reject) => {
73
+ const worker = new Worker(workerUrl);
74
+ const onError = error => { cleanup(); reject(error); };
75
+ const onExit = code => {
76
+ cleanup();
77
+ reject(new Error(\`Request worker exited during startup with code \${code}\`));
78
+ };
79
+ const onMessage = ({ port, error }) => {
80
+ cleanup();
81
+ if (error) {
82
+ worker.terminate();
83
+ reject(new Error(error));
84
+ } else {
85
+ resolve({ worker, port });
86
+ }
87
+ };
88
+ const cleanup = () => {
89
+ worker.off('error', onError);
90
+ worker.off('exit', onExit);
91
+ worker.off('message', onMessage);
92
+ };
93
+ worker.once('error', onError);
94
+ worker.once('exit', onExit);
95
+ worker.once('message', onMessage);
96
+ });
97
+ }
98
+
99
+ function releaseWorker(entry) {
100
+ const waiter = workerWaiters.shift();
101
+ if (waiter) waiter(entry);
102
+ else idleWorkers.push(entry);
103
+ }
104
+
105
+ function replenishWorker() {
106
+ createWorker().then(releaseWorker, error => {
107
+ console.error('Unable to replenish isolated request worker:', error);
108
+ setTimeout(replenishWorker, 100);
109
+ });
110
+ }
111
+
112
+ function retireWorker(entry) {
113
+ entry.worker.terminate().finally(replenishWorker);
114
+ }
115
+
116
+ function acquireWorker() {
117
+ const entry = idleWorkers.shift();
118
+ if (entry) return Promise.resolve(entry);
119
+ return new Promise(resolve => workerWaiters.push(resolve));
120
+ }
121
+
122
+ idleWorkers.push(...await Promise.all(Array.from({ length: workerPoolSize }, createWorker)));
123
+
124
+ const server = http.createServer(async (request, response) => {
125
+ let entry;
126
+ let upstream;
127
+ let settled = false;
128
+ let aborted = false;
129
+ request.once('aborted', () => {
130
+ aborted = true;
131
+ upstream?.destroy();
132
+ if (entry && !settled) {
133
+ settled = true;
134
+ retireWorker(entry);
135
+ }
136
+ });
137
+ entry = await acquireWorker();
138
+ if (aborted) {
139
+ retireWorker(entry);
140
+ return;
141
+ }
142
+ const { worker, port: workerPort } = entry;
143
+ const fail = error => {
144
+ if (settled) return;
145
+ settled = true;
146
+ if (!response.headersSent) response.writeHead(502);
147
+ response.end('Isolated component request failed');
148
+ console.error(error);
149
+ retireWorker(entry);
150
+ };
151
+ worker.once('error', fail);
152
+ worker.once('exit', code => {
153
+ if (!settled) fail(new Error(\`Request worker exited with code \${code}\`));
154
+ });
155
+ upstream = http.request({
156
+ hostname: '127.0.0.1',
157
+ port: workerPort,
158
+ method: request.method,
159
+ path: request.url,
160
+ headers: request.headers,
161
+ }, workerResponse => {
162
+ response.writeHead(workerResponse.statusCode ?? 500, workerResponse.headers);
163
+ workerResponse.pipe(response);
164
+ workerResponse.once('end', () => {
165
+ settled = true;
166
+ retireWorker(entry);
167
+ });
168
+ });
169
+ upstream.once('error', fail);
170
+ request.pipe(upstream);
171
+ });
172
+ let port = ${port};
173
+ while (true) {
174
+ try {
175
+ await new Promise((resolve, reject) => {
176
+ const onError = error => { server.off('listening', onListening); reject(error); };
177
+ const onListening = () => { server.off('error', onError); resolve(); };
178
+ server.once('error', onError);
179
+ server.once('listening', onListening);
180
+ server.listen(port, ${JSON.stringify(host)});
181
+ });
182
+ break;
183
+ } catch (error) {
184
+ if (${tryFindPort} && error.code === 'EADDRINUSE') { port++; continue; }
185
+ throw error;
186
+ }
187
+ }
188
+ console.error(\`Server listening @ ${host}:\${port}...\`);
189
+ `
190
+ : `
40
191
  import { HTTPServer } from '@bytecodealliance/preview2-shim/http';
41
- const server = new HTTPServer(mod.incomingHandler);
192
+ ${opts.isolateRequests === "instance"
193
+ ? `
194
+ import { readFileSync } from 'node:fs';
195
+ import { WASIShim } from '@bytecodealliance/preview2-shim/instantiation';
196
+ const coreModules = new Map();
197
+ function getCoreModule(path) {
198
+ let module = coreModules.get(path);
199
+ if (!module) {
200
+ module = new WebAssembly.Module(readFileSync(new URL(path, import.meta.url)));
201
+ coreModules.set(path, module);
202
+ }
203
+ return module;
204
+ }
205
+ `
206
+ : ""}
207
+ const server = new HTTPServer(${isolatedHandler});
42
208
  let port = ${port};
43
209
  ${tryFindPort
44
- ? `
210
+ ? `
45
211
  while (true) {
46
212
  try {
47
213
  server.listen(port, ${JSON.stringify(host)});
@@ -53,7 +219,7 @@ export async function serve(componentPath, args, opts) {
53
219
  port++;
54
220
  }
55
221
  `
56
- : `server.listen(port, ${JSON.stringify(host)})`}
222
+ : `server.listen(port, ${JSON.stringify(host)})`}
57
223
  console.error(\`Server listening @ ${host}:${port}...\`);
58
224
  `);
59
225
  }
@@ -75,6 +241,7 @@ async function runComponent(componentPath, args, opts, executor) {
75
241
  tracing: opts.jcoTrace,
76
242
  map: opts.jcoMap ? Object.fromEntries(opts.jcoMap.map((mapping) => mapping.split("="))) : undefined,
77
243
  importBindings: opts.jcoImportBindings,
244
+ instantiation: opts.isolateRequests ? "sync" : undefined,
78
245
  });
79
246
  }
80
247
  catch (e) {
@@ -105,14 +272,43 @@ async function runComponent(componentPath, args, opts, executor) {
105
272
  }
106
273
  const runPath = resolve(outDir, "_run.js");
107
274
  const sandboxSetup = getSandboxSetup(opts);
108
- await writeFile(runPath, `
275
+ if (opts.isolateRequests === "worker") {
276
+ await writeFile(resolve(outDir, "_serve_worker.js"), `
109
277
  ${jcoImport ? `import ${JSON.stringify(pathToFileURL(jcoImport))}` : ""}
278
+ import { parentPort } from 'node:worker_threads';
279
+ import { readFileSync } from 'node:fs';
280
+ import { HTTPServer } from '@bytecodealliance/preview2-shim/http';
281
+ import { WASIShim } from '@bytecodealliance/preview2-shim/instantiation';
282
+ ${sandboxSetup}
283
+ try {
284
+ process.argv[1] = ${JSON.stringify(name)};
285
+ const mod = await import('./${name}.js');
286
+ const coreModules = new Map();
287
+ const getCoreModule = path => {
288
+ let module = coreModules.get(path);
289
+ if (!module) {
290
+ module = new WebAssembly.Module(readFileSync(new URL(path, import.meta.url)));
291
+ coreModules.set(path, module);
292
+ }
293
+ return module;
294
+ };
295
+ const instance = mod.instantiate(getCoreModule, new WASIShim().getImportObject());
296
+ const server = new HTTPServer(instance.incomingHandler);
297
+ server.listen(0, '127.0.0.1');
298
+ parentPort.postMessage({ port: server.address().port });
299
+ } catch (error) {
300
+ parentPort.postMessage({ error: error?.stack ?? String(error) });
301
+ }
302
+ `);
303
+ }
304
+ await writeFile(runPath, `
305
+ ${jcoImport && opts.isolateRequests !== "worker" ? `import ${JSON.stringify(pathToFileURL(jcoImport))}` : ""}
110
306
  import process from 'node:process';
111
307
  ${sandboxSetup}
112
308
  try {
113
309
  process.argv[1] = "${name}";
114
310
  } catch {}
115
- const mod = await import('./${name}.js');
311
+ ${opts.isolateRequests === "worker" ? "" : `const mod = await import('./${name}.js');`}
116
312
  ${executor}
117
313
  `);
118
314
  const nodePath = process.env.JCO_RUN_PATH || process.argv[0];
@@ -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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"}
@@ -26,6 +26,9 @@ export interface TranspileOpts {
26
26
  noTypescript?: boolean;
27
27
  wasiShim?: boolean;
28
28
  flagsAsBigInt?: boolean;
29
+ variantsInlineCases?: boolean;
30
+ useNamespaceObjects?: boolean;
31
+ enumValuesScreamingSnakeCase?: boolean;
29
32
  }
30
33
  export { types, guestTypes, typesComponent } from "./types.js";
31
34
  /**
@@ -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;CAC3B;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":"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"}
@@ -25,6 +25,9 @@ export async function transpileComponent(component, opts = {}) {
25
25
  return transpileBytes(component, prepOpts(opts));
26
26
  }
27
27
  function prepOpts(opts, program) {
28
+ // Commander derives `flagsAsBigint` from `--flags-as-bigint`, while the
29
+ // public API uses the conventional TypeScript spelling `flagsAsBigInt`.
30
+ opts.flagsAsBigInt ??= opts.flagsAsBigint;
28
31
  // Preserve jco's existing ComponentError behavior even though the lower-level
29
32
  // jco-transpile API defaults to throwing raw top-level result error payloads.
30
33
  opts.noComponentErrorWrapping ??= opts.componentErrorWrapping === false;
@@ -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,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAmC1D,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,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,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,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":"AAAA,mBAAmB;AAEnB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAsC1D,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,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,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"}
@@ -16,6 +16,9 @@ export interface TypesOptions {
16
16
  quiet?: boolean;
17
17
  strict?: boolean;
18
18
  flagsAsBigInt?: boolean;
19
+ variantsInlineCases?: boolean;
20
+ useNamespaceObjects?: boolean;
21
+ enumValuesScreamingSnakeCase?: boolean;
19
22
  }
20
23
  export declare function types(witPath: string | undefined, opts: TypesOptions): Promise<void>;
21
24
  export declare function guestTypes(witPath: string | undefined, opts: TypesOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cmd/types.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,iBAe1E;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,iBAc/E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CA6F7G"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cmd/types.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,iBAe1E;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,iBAc/E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAkG7G"}
package/dist/cmd/types.js CHANGED
@@ -51,6 +51,8 @@ export async function guestTypes(witPath, opts) {
51
51
  * @returns {Promise<{ [filename: string]: Uint8Array }>}
52
52
  */
53
53
  export async function typesComponent(witPath, opts) {
54
+ const cliOpts = opts;
55
+ const flagsAsBigInt = opts.flagsAsBigInt === true || cliOpts.flagsAsBigint === true;
54
56
  const name = opts.name ||
55
57
  (opts.worldName
56
58
  ? opts.worldName.split(":").pop().split("/").pop()
@@ -125,7 +127,10 @@ export async function typesComponent(witPath, opts) {
125
127
  features,
126
128
  guest,
127
129
  strict: opts.strict === true,
128
- flagsAsBigInt: opts.flagsAsBigInt === true,
130
+ flagsAsBigInt,
131
+ variantsInlineCases: opts.variantsInlineCases === true,
132
+ useNamespaceObjects: opts.useNamespaceObjects === true,
133
+ enumValuesScreamingSnakeCase: opts.enumValuesScreamingSnakeCase === true,
129
134
  asyncMode: asyncModeObj,
130
135
  });
131
136
  types = Object.entries(generated).map(([name, bytes]) => [`${outDir}${name}`, bytes]);
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cmd/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cmd/types.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.30.0");
16
+ .version("1.32.0");
17
17
  function myParseInt(value) {
18
18
  return parseInt(value, 10);
19
19
  }
@@ -97,6 +97,11 @@ program
97
97
  .option("--bindgen-enable-wasm-exnref", "enable bindgen output that uses Wasm exception references (exnref)")
98
98
  .option("--strict", "generate bindings with strict type checking")
99
99
  .option("--flags-as-bigint", "represent WIT flags as bigint values")
100
+ .option("--variants-inline-cases", "inline WIT variant cases in discriminated unions")
101
+ .addOption(new Option("--use-namespace-objects", "generate namespace objects for WIT flags, enums, and variants")
102
+ .conflicts("variantsInlineCases")
103
+ .implies({ flagsAsBigint: true }))
104
+ .option("--enum-values-screaming-snake-case", "represent WIT enum values as SCREAMING_SNAKE_CASE strings")
100
105
  .allowExcessArguments(true)
101
106
  .action(asyncAction(transpileCmd));
102
107
  program
@@ -124,6 +129,11 @@ program
124
129
  .option("--wasm-opt-bin <path-to-wasm-opt>', 'wasm-opt binary path (default: 'binaryen/bin/wasm-opt')")
125
130
  .option("--strict", "generate bindings with strict type checking")
126
131
  .option("--flags-as-bigint", "represent WIT flags as bigint values")
132
+ .option("--variants-inline-cases", "inline WIT variant cases in discriminated unions")
133
+ .addOption(new Option("--use-namespace-objects", "generate namespace objects for WIT flags, enums, and variants")
134
+ .conflicts("variantsInlineCases")
135
+ .implies({ flagsAsBigint: true }))
136
+ .option("--enum-values-screaming-snake-case", "represent WIT enum values as SCREAMING_SNAKE_CASE strings")
127
137
  .action(asyncAction(types));
128
138
  program
129
139
  .command("guest-types")
@@ -142,6 +152,11 @@ program
142
152
  .preset("sync"))
143
153
  .option("--strict", "generate bindings with strict type checking")
144
154
  .option("--flags-as-bigint", "represent WIT flags as bigint values")
155
+ .option("--variants-inline-cases", "inline WIT variant cases in discriminated unions")
156
+ .addOption(new Option("--use-namespace-objects", "generate namespace objects for WIT flags, enums, and variants")
157
+ .conflicts("variantsInlineCases")
158
+ .implies({ flagsAsBigint: true }))
159
+ .option("--enum-values-screaming-snake-case", "represent WIT enum values as SCREAMING_SNAKE_CASE strings")
145
160
  .action(asyncAction(guestTypes));
146
161
  program
147
162
  .command("run")
@@ -178,6 +193,10 @@ program
178
193
  .argument("<server>", "WASI server binary to run")
179
194
  .option("--port <number>")
180
195
  .option("--host <host>")
196
+ .addOption(new Option("--isolate-requests [mode]", "Isolate every request in a fresh worker or component instance")
197
+ .choices(["worker", "instance"])
198
+ .preset("worker"))
199
+ .option("--isolate-worker-pool-size <number>", "Number of one-shot request workers to prewarm", myParseInt, 50)
181
200
  .option("--jco-dir <dir>", "Instead of using a temporary dir, set the output directory for the transpiled code")
182
201
  .option("--jco-trace", "Enable call tracing")
183
202
  .option("--jco-import <module>", "Custom module to import before the server executes to support custom environment setup")
@@ -242,7 +261,7 @@ program
242
261
  .command("scaffold")
243
262
  .description("Create a TypeScript or JavaScript WebAssembly component or host-plugin project")
244
263
  .argument("<project-directory>", "directory to create")
245
- .option("--wit <path>", "WIT file or package directory")
264
+ .option("--wit <source>", "WIT path, builtin, wasi:package@version, or oci://registry/repository:tag")
246
265
  .option("--world <world>", "WIT world to implement")
247
266
  .option("--host", "scaffold a host plugin that provides the world's imports")
248
267
  .addOption(new Option("--language <language>", "component source language")
@@ -257,7 +276,7 @@ program
257
276
  .default([]))
258
277
  .action(asyncAction(async (projectDirectory, opts) => {
259
278
  if (!opts.wit) {
260
- throw new Error("required option '--wit <path>' not specified");
279
+ throw new Error("required option '--wit <path|builtin>' not specified");
261
280
  }
262
281
  await createProject(projectDirectory, {
263
282
  wit: opts.wit,
package/dist/jco.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jco.js","sourceRoot":"","sources":["../src/jco.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jco.js","sourceRoot":"","sources":["../src/jco.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ package wasi:cli@0.2.12;
2
+ world command {
3
+ include imports;
4
+ export run;
5
+ }
6
+ interface environment {
7
+ get-environment: func() -> list<tuple<string, string>>;
8
+ get-arguments: func() -> list<string>;
9
+ initial-cwd: func() -> option<string>;
10
+ }
11
+ interface exit {
12
+ exit: func(status: result);
13
+ exit-with-code: func(status-code: u8);
14
+ }
15
+ world imports {
16
+ include wasi:clocks/imports@0.2.12;
17
+ include wasi:filesystem/imports@0.2.12;
18
+ include wasi:sockets/imports@0.2.12;
19
+ include wasi:random/imports@0.2.12;
20
+ include wasi:io/imports@0.2.12;
21
+ import environment;
22
+ import exit;
23
+ import stdin;
24
+ import stdout;
25
+ import stderr;
26
+ import terminal-input;
27
+ import terminal-output;
28
+ import terminal-stdin;
29
+ import terminal-stdout;
30
+ import terminal-stderr;
31
+ }
32
+ interface run {
33
+ run: func() -> result;
34
+ }
35
+ interface stdin {
36
+ use wasi:io/streams@0.2.12.{input-stream};
37
+ get-stdin: func() -> input-stream;
38
+ }
39
+ interface stdout {
40
+ use wasi:io/streams@0.2.12.{output-stream};
41
+ get-stdout: func() -> output-stream;
42
+ }
43
+ interface stderr {
44
+ use wasi:io/streams@0.2.12.{output-stream};
45
+ get-stderr: func() -> output-stream;
46
+ }
47
+ interface terminal-input {
48
+ resource terminal-input;
49
+ }
50
+ interface terminal-output {
51
+ resource terminal-output;
52
+ }
53
+ interface terminal-stdin {
54
+ use terminal-input.{terminal-input};
55
+ get-terminal-stdin: func() -> option<terminal-input>;
56
+ }
57
+ interface terminal-stdout {
58
+ use terminal-output.{terminal-output};
59
+ get-terminal-stdout: func() -> option<terminal-output>;
60
+ }
61
+ interface terminal-stderr {
62
+ use terminal-output.{terminal-output};
63
+ get-terminal-stderr: func() -> option<terminal-output>;
64
+ }
@@ -0,0 +1,43 @@
1
+ package wasi:clocks@0.2.12;
2
+ interface monotonic-clock {
3
+ use wasi:io/poll@0.2.12.{pollable};
4
+ type instant = u64;
5
+ type duration = u64;
6
+ now: func() -> instant;
7
+ resolution: func() -> duration;
8
+ subscribe-instant: func(
9
+ when: instant,
10
+ ) -> pollable;
11
+ subscribe-duration: func(
12
+ when: duration,
13
+ ) -> pollable;
14
+ }
15
+ @unstable(feature = clocks-timezone)
16
+ interface timezone {
17
+ @unstable(feature = clocks-timezone)
18
+ use wall-clock.{datetime};
19
+ @unstable(feature = clocks-timezone)
20
+ display: func(when: datetime) -> timezone-display;
21
+ @unstable(feature = clocks-timezone)
22
+ utc-offset: func(when: datetime) -> s32;
23
+ @unstable(feature = clocks-timezone)
24
+ record timezone-display {
25
+ utc-offset: s32,
26
+ name: string,
27
+ in-daylight-saving-time: bool,
28
+ }
29
+ }
30
+ interface wall-clock {
31
+ record datetime {
32
+ seconds: u64,
33
+ nanoseconds: u32,
34
+ }
35
+ now: func() -> datetime;
36
+ resolution: func() -> datetime;
37
+ }
38
+ world imports {
39
+ import monotonic-clock;
40
+ import wall-clock;
41
+ @unstable(feature = clocks-timezone)
42
+ import timezone;
43
+ }