@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 +1 -1
- package/api.d.ts +3 -0
- package/api.mjs +21 -4
- package/cli.mjs +24 -6
- package/js-component-bindgen-component.core.wasm +0 -0
- package/package.json +1 -1
- package/wasi_snapshot_preview1.command.wasm +0 -0
- package/wasi_snapshot_preview1.reactor.wasm +0 -0
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 --
|
|
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/
|
|
40122
|
-
const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/
|
|
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/
|
|
40809
|
-
const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/
|
|
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/
|
|
43520
|
-
const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/
|
|
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/
|
|
44207
|
-
const module2 = base64Compile('AGFzbQEAAAABBgFgAn9/
|
|
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.
|
|
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(`(
|
|
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 {
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|