@bytecodealliance/jco 0.5.2 → 0.5.4

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.
package/README.md CHANGED
@@ -70,7 +70,7 @@ Commands:
70
70
  To componentize a JS file run:
71
71
 
72
72
  ```
73
- jco componentize app.js --world world.wit -o component.wasm
73
+ jco componentize app.js --wit world.wit -o component.wasm
74
74
  ```
75
75
 
76
76
  Creates a component from a JS module implementing a WIT world definition, via a Spidermonkey engine embedding.
package/api.d.ts CHANGED
@@ -31,6 +31,9 @@ export interface TranspileOpts {
31
31
  /// if using optimize, custom optimization options
32
32
  /// (defaults to best optimization, but this is very slow)
33
33
  optArgs?: string[],
34
+ /// rewrite WASI imports to the @bytecodealliance/preview2-shim
35
+ /// defaults to false
36
+ wasiShim?: boolean
34
37
  }
35
38
 
36
39
  /**
package/api.mjs CHANGED
@@ -40118,8 +40118,8 @@ const exports = {
40118
40118
 
40119
40119
  const $init = (async() => {
40120
40120
  const module0 = fetchCompile(__nccwpck_require__.ab + "js-component-bindgen-component.core.wasm");
40121
- const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
40122
- const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
40121
+ const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
40122
+ const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
40123
40123
  Promise.all([module0, module1, module2]).catch(() => {});
40124
40124
  ({ exports: exports0 } = await instantiateCore(await module1));
40125
40125
  ({ exports: exports1 } = await instantiateCore(await module0, {
@@ -40805,8 +40805,8 @@ const exports = {
40805
40805
 
40806
40806
  const $init = (async() => {
40807
40807
  const module0 = fetchCompile(__nccwpck_require__.ab + "wasm-tools.core.wasm");
40808
- const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
40809
- const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
40808
+ const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
40809
+ const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
40810
40810
  Promise.all([module0, module1, module2]).catch(() => {});
40811
40811
  ({ exports: exports0 } = await instantiateCore(await module1));
40812
40812
  ({ exports: exports1 } = await instantiateCore(await module0, {
@@ -41153,6 +41153,23 @@ async function transpileComponent (component, opts = {}) {
41153
41153
  ({ component } = await (0,_opt_js__WEBPACK_IMPORTED_MODULE_5__/* .optimizeComponent */ .j)(component, opts));
41154
41154
  }
41155
41155
 
41156
+ if (opts.wasiShim) {
41157
+ opts.map = Object.assign({
41158
+ 'environment-preopens': '@bytecodealliance/preview2-shim/environment-preopens',
41159
+ 'environment': '@bytecodealliance/preview2-shim/environment',
41160
+ 'exit': '@bytecodealliance/preview2-shim/exit',
41161
+ 'filesystem': '@bytecodealliance/preview2-shim/filesystem',
41162
+ 'instance-monotonic-clock': '@bytecodealliance/preview2-shim/instance-monotonic-clock',
41163
+ 'instance-wall-clock': '@bytecodealliance/preview2-shim/instance-wall-clock',
41164
+ 'monotonic-clock': '@bytecodealliance/preview2-shim/monotonic-clock',
41165
+ 'preopens': '@bytecodealliance/preview2-shim/preopens',
41166
+ 'random': '@bytecodealliance/preview2-shim/random',
41167
+ 'stderr': '@bytecodealliance/preview2-shim/stderr',
41168
+ 'streams': '@bytecodealliance/preview2-shim/streams',
41169
+ 'wall-clock': '@bytecodealliance/preview2-shim/wall-clock'
41170
+ }, opts.map || {});
41171
+ }
41172
+
41156
41173
  let { files, imports, exports } = generate(component, {
41157
41174
  name: opts.name ?? 'component',
41158
41175
  map: Object.entries(opts.map ?? {}),
package/cli.mjs CHANGED
@@ -43516,8 +43516,8 @@ const exports = {
43516
43516
 
43517
43517
  const $init = (async() => {
43518
43518
  const module0 = fetchCompile(__nccwpck_require__.ab + "js-component-bindgen-component.core.wasm");
43519
- const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
43520
- const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
43519
+ const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
43520
+ const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
43521
43521
  Promise.all([module0, module1, module2]).catch(() => {});
43522
43522
  ({ exports: exports0 } = await instantiateCore(await module1));
43523
43523
  ({ exports: exports1 } = await instantiateCore(await module0, {
@@ -44203,8 +44203,8 @@ const exports = {
44203
44203
 
44204
44204
  const $init = (async() => {
44205
44205
  const module0 = fetchCompile(__nccwpck_require__.ab + "wasm-tools.core.wasm");
44206
- const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
44207
- const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjAAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
44206
+ const module1 = base64Compile('AGFzbQEAAAABBgFgAn9/AAMCAQAEBQFwAQEBBxACATAAAAgkaW1wb3J0cwEACg0BCwAgACABQQARAAALAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQANQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltARkBABZpbmRpcmVjdC1jb25zb2xlLWVycm9y');
44207
+ const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/AAIVAgABMAAAAAgkaW1wb3J0cwFwAQEBCQcBAEEACwEAAC0JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQFMC43LjQAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM=');
44208
44208
  Promise.all([module0, module1, module2]).catch(() => {});
44209
44209
  ({ exports: exports0 } = await instantiateCore(await module1));
44210
44210
  ({ exports: exports1 } = await instantiateCore(await module0, {
@@ -44541,6 +44541,23 @@ async function transpileComponent (component, opts = {}) {
44541
44541
  ({ component } = await (0,_opt_js__WEBPACK_IMPORTED_MODULE_5__/* .optimizeComponent */ .j)(component, opts));
44542
44542
  }
44543
44543
 
44544
+ if (opts.wasiShim) {
44545
+ opts.map = Object.assign({
44546
+ 'environment-preopens': '@bytecodealliance/preview2-shim/environment-preopens',
44547
+ 'environment': '@bytecodealliance/preview2-shim/environment',
44548
+ 'exit': '@bytecodealliance/preview2-shim/exit',
44549
+ 'filesystem': '@bytecodealliance/preview2-shim/filesystem',
44550
+ 'instance-monotonic-clock': '@bytecodealliance/preview2-shim/instance-monotonic-clock',
44551
+ 'instance-wall-clock': '@bytecodealliance/preview2-shim/instance-wall-clock',
44552
+ 'monotonic-clock': '@bytecodealliance/preview2-shim/monotonic-clock',
44553
+ 'preopens': '@bytecodealliance/preview2-shim/preopens',
44554
+ 'random': '@bytecodealliance/preview2-shim/random',
44555
+ 'stderr': '@bytecodealliance/preview2-shim/stderr',
44556
+ 'streams': '@bytecodealliance/preview2-shim/streams',
44557
+ 'wall-clock': '@bytecodealliance/preview2-shim/wall-clock'
44558
+ }, opts.map || {});
44559
+ }
44560
+
44544
44561
  let { files, imports, exports } = generate(component, {
44545
44562
  name: opts.name ?? 'component',
44546
44563
  map: Object.entries(opts.map ?? {}),
@@ -45121,7 +45138,7 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_cmd
45121
45138
  commander__WEBPACK_IMPORTED_MODULE_0__/* .program.name */ .Nx.name('jco')
45122
45139
  .description(chalk_template__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z`{bold jco - WebAssembly JS Component Tools}\n JS Component Transpilation Bindgen & Wasm Tools for JS`)
45123
45140
  .usage('<command> [options]')
45124
- .version('0.5.2');
45141
+ .version('0.5.4');
45125
45142
 
45126
45143
  function myParseInt(value) {
45127
45144
  return parseInt(value, 10);
@@ -45149,6 +45166,7 @@ commander__WEBPACK_IMPORTED_MODULE_0__/* .program.command */ .Nx.command('transp
45149
45166
  .option('--tla-compat', 'enables compatibility for JS environments without top-level await support via an async $init promise export')
45150
45167
  .option('--no-nodejs-compat', 'disables compatibility in Node.js without a fetch global')
45151
45168
  .option('-M, --map <mappings...>', 'specifier=./output custom mappings for the component imports')
45169
+ .option('-w, --wasi-shim', 'automatically rewrite WASI imports to use @bytecodealliance/preview2-shim')
45152
45170
  .option('--js', 'output JS instead of core WebAssembly')
45153
45171
  .option('-I, --instantiation', 'output for custom module instantiation')
45154
45172
  .option('-q, --quiet', 'disable logging')
@@ -45225,7 +45243,7 @@ function asyncAction (cmd) {
45225
45243
  await cmd.apply(null, args);
45226
45244
  }
45227
45245
  catch (e) {
45228
- process.stdout.write(`(jsct ${cmd.name}) `);
45246
+ process.stdout.write(`(jco ${cmd.name}) `);
45229
45247
  if (typeof e === 'string') {
45230
45248
  console.error(chalk_template__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z`{red.bold Error}: ${e}\n`);
45231
45249
  } else {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bytecodealliance/jco",
3
3
  "description": "JavaScript tooling for working with WebAssembly Components",
4
- "version": "0.5.2",
4
+ "version": "0.5.4",
5
5
  "exports": "./api.mjs",
6
6
  "types": "api.d.ts",
7
7
  "author": "Guy Bedford",
Binary file
Binary file