@bytecodealliance/jco 1.4.3 → 1.5.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.
- package/README.md +0 -2
- package/lib/wasi_snapshot_preview1.command.wasm +0 -0
- package/lib/wasi_snapshot_preview1.reactor.wasm +0 -0
- package/obj/js-component-bindgen-component.core.wasm +0 -0
- package/obj/js-component-bindgen-component.core2.wasm +0 -0
- package/obj/js-component-bindgen-component.js +2 -2
- package/obj/wasm-tools.core.wasm +0 -0
- package/obj/wasm-tools.core2.wasm +0 -0
- package/obj/wasm-tools.js +8 -8
- package/package.json +6 -7
- package/src/cmd/componentize.js +4 -7
- package/src/cmd/opt.js +1 -1
- package/src/jco.js +3 -2
package/README.md
CHANGED
|
@@ -113,8 +113,6 @@ jco componentize app.js --wit wit -n world-name -o component.wasm
|
|
|
113
113
|
|
|
114
114
|
Creates a component from a JS module implementing a WIT world definition, via a Spidermonkey engine embedding.
|
|
115
115
|
|
|
116
|
-
Currently requires an explicit install of the componentize-js engine via `npm install @bytecodealliance/componentize-js`.
|
|
117
|
-
|
|
118
116
|
See [ComponentizeJS](https://github.com/bytecodealliance/componentize-js) for more details on this process.
|
|
119
117
|
|
|
120
118
|
## API
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -3992,8 +3992,8 @@ export const $init = (() => {
|
|
|
3992
3992
|
let gen = (function* init () {
|
|
3993
3993
|
const module0 = fetchCompile(new URL('./js-component-bindgen-component.core.wasm', import.meta.url));
|
|
3994
3994
|
const module1 = fetchCompile(new URL('./js-component-bindgen-component.core2.wasm', import.meta.url));
|
|
3995
|
-
const module2 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBX9/f39/AGAEf39/fwBgBH9/f38Bf2AHf39/f39/fwBgAn5/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX8DJiUBAwMAAAAABAcABAAAAwMABQUACAEBAQEGCQoLAgIGAgIMAg0BBAUBcAElJQe7ASYBMAAAATEAAQEyAAIBMwADATQABAE1AAUBNgAGATcABwE4AAgBOQAJAjEwAAoCMTEACwIxMgAMAjEzAA0CMTQADgIxNQAPAjE2ABACMTcAEQIxOAASAjE5ABMCMjAAFAIyMQAVAjIyABYCMjMAFwIyNAAYAjI1ABkCMjYAGgIyNwAbAjI4ABwCMjkAHQIzMAAeAjMxAB8CMzIAIAIzMwAhAjM0ACICMzUAIwIzNgAkCCRpbXBvcnRzAQAK+
|
|
3996
|
-
const module3 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgBH9/f38Bf2AJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAn9/AX9gAX8Bf2ADf39/
|
|
3995
|
+
const module2 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBX9/f39/AGAEf39/fwBgBH9/f38Bf2AHf39/f39/fwBgAn5/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX8DJiUBAwMAAAAABAcABAAAAwMABQUACAEBAQEGCQoLAgIGAgIMAg0BBAUBcAElJQe7ASYBMAAAATEAAQEyAAIBMwADATQABAE1AAUBNgAGATcABwE4AAgBOQAJAjEwAAoCMTEACwIxMgAMAjEzAA0CMTQADgIxNQAPAjE2ABACMTcAEQIxOAASAjE5ABMCMjAAFAIyMQAVAjIyABYCMjMAFwIyNAAYAjI1ABkCMjYAGgIyNwAbAjI4ABwCMjkAHQIzMAAeAjMxAB8CMzIAIAIzMwAhAjM0ACICMzUAIwIzNgAkCCRpbXBvcnRzAQAK+QMlCQAgAEEAEQEACw0AIAAgASACQQERAwALDQAgACABIAJBAhEDAAsLACAAIAFBAxEAAAsLACAAIAFBBBEAAAsLACAAIAFBBREAAAsLACAAIAFBBhEAAAsRACAAIAEgAiADIARBBxEEAAsVACAAIAEgAiADIAQgBSAGQQgRBwALCwAgACABQQkRAAALEQAgACABIAIgAyAEQQoRBAALCwAgACABQQsRAAALCwAgACABQQwRAAALDQAgACABIAJBDREDAAsNACAAIAEgAkEOEQMACwsAIAAgAUEPEQAACw8AIAAgASACIANBEBEFAAsPACAAIAEgAiADQRERBQALCwAgACABQRIRAAALCwAgACABQRMRCAALCQAgAEEUEQEACwkAIABBFREBAAsJACAAQRYRAQALCQAgAEEXEQEACw8AIAAgASACIANBGBEGAAsZACAAIAEgAiADIAQgBSAGIAcgCEEZEQkACxEAIAAgASACIAMgBEEaEQoACxEAIAAgASACIAMgBEEbEQsACwsAIAAgAUEcEQIACwsAIAAgAUEdEQIACw8AIAAgASACIANBHhEGAAsLACAAIAFBHxECAAsLACAAIAFBIBECAAsJACAAQSERDAALCwAgACABQSIRAgALDQAgACABIAJBIxENAAsJACAAQSQRAQALAC8JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQHMC4yMTUuMA');
|
|
3996
|
+
const module3 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgBH9/f38Bf2AJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAn9/AX9gAX8Bf2ADf39/AX9gAX8AAuQBJgABMAAAAAExAAEAATIAAQABMwACAAE0AAIAATUAAgABNgACAAE3AAMAATgABAABOQACAAIxMAADAAIxMQACAAIxMgACAAIxMwABAAIxNAABAAIxNQACAAIxNgAFAAIxNwAFAAIxOAACAAIxOQAGAAIyMAAAAAIyMQAAAAIyMgAAAAIyMwAAAAIyNAAHAAIyNQAIAAIyNgAJAAIyNwAKAAIyOAALAAIyOQALAAIzMAAHAAIzMQALAAIzMgALAAIzMwAMAAIzNAALAAIzNQANAAIzNgAOAAgkaW1wb3J0cwFwASUlCSsBAEEACyUAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkAC8JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQHMC4yMTUuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
|
|
3997
3997
|
({ exports: exports0 } = yield instantiateCore(yield module2));
|
|
3998
3998
|
({ exports: exports1 } = yield instantiateCore(yield module0, {
|
|
3999
3999
|
wasi_snapshot_preview1: {
|
package/obj/wasm-tools.core.wasm
CHANGED
|
Binary file
|
|
Binary file
|
package/obj/wasm-tools.js
CHANGED
|
@@ -4134,24 +4134,24 @@ export const $init = (() => {
|
|
|
4134
4134
|
let gen = (function* init () {
|
|
4135
4135
|
const module0 = fetchCompile(new URL('./wasm-tools.core.wasm', import.meta.url));
|
|
4136
4136
|
const module1 = fetchCompile(new URL('./wasm-tools.core2.wasm', import.meta.url));
|
|
4137
|
-
const module2 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBX9/f39/AGAEf39/fwBgBH9/f38Bf2AHf39/f39/fwBgAn5/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/
|
|
4138
|
-
const module3 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBX9/f39/AGAEf39/fwBgBH9/f38Bf2AHf39/f39/fwBgAn5/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/
|
|
4137
|
+
const module2 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBX9/f39/AGAEf39/fwBgBH9/f38Bf2AHf39/f39/fwBgAn5/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX8DJiUBAwMAAAAABAcABAAAAwMABQUACAEBAQEGCQoLAgYCAgIMAg0BBAUBcAElJQe7ASYBMAAAATEAAQEyAAIBMwADATQABAE1AAUBNgAGATcABwE4AAgBOQAJAjEwAAoCMTEACwIxMgAMAjEzAA0CMTQADgIxNQAPAjE2ABACMTcAEQIxOAASAjE5ABMCMjAAFAIyMQAVAjIyABYCMjMAFwIyNAAYAjI1ABkCMjYAGgIyNwAbAjI4ABwCMjkAHQIzMAAeAjMxAB8CMzIAIAIzMwAhAjM0ACICMzUAIwIzNgAkCCRpbXBvcnRzAQAK+QMlCQAgAEEAEQEACw0AIAAgASACQQERAwALDQAgACABIAJBAhEDAAsLACAAIAFBAxEAAAsLACAAIAFBBBEAAAsLACAAIAFBBREAAAsLACAAIAFBBhEAAAsRACAAIAEgAiADIARBBxEEAAsVACAAIAEgAiADIAQgBSAGQQgRBwALCwAgACABQQkRAAALEQAgACABIAIgAyAEQQoRBAALCwAgACABQQsRAAALCwAgACABQQwRAAALDQAgACABIAJBDREDAAsNACAAIAEgAkEOEQMACwsAIAAgAUEPEQAACw8AIAAgASACIANBEBEFAAsPACAAIAEgAiADQRERBQALCwAgACABQRIRAAALCwAgACABQRMRCAALCQAgAEEUEQEACwkAIABBFREBAAsJACAAQRYRAQALCQAgAEEXEQEACw8AIAAgASACIANBGBEGAAsZACAAIAEgAiADIAQgBSAGIAcgCEEZEQkACxEAIAAgASACIAMgBEEaEQoACxEAIAAgASACIAMgBEEbEQsACwsAIAAgAUEcEQIACw8AIAAgASACIANBHREGAAsLACAAIAFBHhECAAsLACAAIAFBHxECAAsLACAAIAFBIBECAAsJACAAQSERDAALCwAgACABQSIRAgALDQAgACABIAJBIxENAAsJACAAQSQRAQALAC8JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQHMC4yMTUuMA');
|
|
4138
|
+
const module3 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBX9/f39/AGAEf39/fwBgBH9/f38Bf2AHf39/f39/fwBgAn5/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX8C5AEmAAEwAAEAATEAAwABMgADAAEzAAAAATQAAAABNQAAAAE2AAAAATcABAABOAAHAAE5AAAAAjEwAAQAAjExAAAAAjEyAAAAAjEzAAMAAjE0AAMAAjE1AAAAAjE2AAUAAjE3AAUAAjE4AAAAAjE5AAgAAjIwAAEAAjIxAAEAAjIyAAEAAjIzAAEAAjI0AAYAAjI1AAkAAjI2AAoAAjI3AAsAAjI4AAIAAjI5AAYAAjMwAAIAAjMxAAIAAjMyAAIAAjMzAAwAAjM0AAIAAjM1AA0AAjM2AAEACCRpbXBvcnRzAXABJSUJKwEAQQALJQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQALwlwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAcwLjIxNS4w');
|
|
4139
4139
|
({ exports: exports0 } = yield instantiateCore(yield module2));
|
|
4140
4140
|
({ exports: exports1 } = yield instantiateCore(yield module0, {
|
|
4141
4141
|
wasi_snapshot_preview1: {
|
|
4142
4142
|
environ_get: exports0['31'],
|
|
4143
4143
|
environ_sizes_get: exports0['32'],
|
|
4144
4144
|
fd_close: exports0['33'],
|
|
4145
|
-
fd_filestat_get: exports0['
|
|
4145
|
+
fd_filestat_get: exports0['28'],
|
|
4146
4146
|
fd_prestat_dir_name: exports0['35'],
|
|
4147
4147
|
fd_prestat_get: exports0['34'],
|
|
4148
|
-
fd_read: exports0['
|
|
4148
|
+
fd_read: exports0['29'],
|
|
4149
4149
|
fd_readdir: exports0['26'],
|
|
4150
4150
|
fd_write: exports0['24'],
|
|
4151
4151
|
path_filestat_get: exports0['27'],
|
|
4152
4152
|
path_open: exports0['25'],
|
|
4153
4153
|
proc_exit: exports0['36'],
|
|
4154
|
-
random_get: exports0['
|
|
4154
|
+
random_get: exports0['30'],
|
|
4155
4155
|
},
|
|
4156
4156
|
}));
|
|
4157
4157
|
({ exports: exports2 } = yield instantiateCore(yield module1, {
|
|
@@ -4253,10 +4253,10 @@ export const $init = (() => {
|
|
|
4253
4253
|
'25': exports2.path_open,
|
|
4254
4254
|
'26': exports2.fd_readdir,
|
|
4255
4255
|
'27': exports2.path_filestat_get,
|
|
4256
|
-
'28': exports2.
|
|
4257
|
-
'29': exports2.
|
|
4256
|
+
'28': exports2.fd_filestat_get,
|
|
4257
|
+
'29': exports2.fd_read,
|
|
4258
4258
|
'3': trampoline14,
|
|
4259
|
-
'30': exports2.
|
|
4259
|
+
'30': exports2.random_get,
|
|
4260
4260
|
'31': exports2.environ_get,
|
|
4261
4261
|
'32': exports2.environ_sizes_get,
|
|
4262
4262
|
'33': exports2.fd_close,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bytecodealliance/jco",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "JavaScript tooling for working with WebAssembly Components",
|
|
5
5
|
"author": "Guy Bedford",
|
|
6
6
|
"bin": {
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"type": "module",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@bytecodealliance/
|
|
27
|
+
"@bytecodealliance/componentize-js": "^0.11.3",
|
|
28
|
+
"@bytecodealliance/preview2-shim": "^0.16.5",
|
|
28
29
|
"binaryen": "^118.0.0",
|
|
29
30
|
"chalk-template": "^1",
|
|
30
31
|
"commander": "^12",
|
|
@@ -33,15 +34,13 @@
|
|
|
33
34
|
"terser": "^5"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
|
-
"@bytecodealliance/componentize-js": "^0.9.0",
|
|
37
37
|
"@types/node": "^20.14.12",
|
|
38
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
39
|
-
"@typescript-eslint/parser": "^
|
|
40
|
-
"eslint": "^
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^8.2.0",
|
|
39
|
+
"@typescript-eslint/parser": "^8.2.0",
|
|
40
|
+
"eslint": "^9.9.0",
|
|
41
41
|
"mime": "^4.0.4",
|
|
42
42
|
"mocha": "^10.7.0",
|
|
43
43
|
"puppeteer": "^22.14.0",
|
|
44
|
-
"terser": "^5.16.1",
|
|
45
44
|
"typescript": "^5.5.4"
|
|
46
45
|
},
|
|
47
46
|
"repository": {
|
package/src/cmd/componentize.js
CHANGED
|
@@ -3,13 +3,9 @@ import { resolve, basename } from 'node:path';
|
|
|
3
3
|
import c from 'chalk-template';
|
|
4
4
|
|
|
5
5
|
export async function componentize (jsSource, opts) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} catch (e) {
|
|
10
|
-
if (e?.code === 'ERR_MODULE_NOT_FOUND' && e?.message?.includes('\'@bytecodealliance/componentize-js\''))
|
|
11
|
-
throw new Error(`componentize-js must first be installed separately via "npm install @bytecodealliance/componentize-js".`);
|
|
12
|
-
throw e;
|
|
6
|
+
const { componentize: componentizeFn } = await eval('import("@bytecodealliance/componentize-js")');
|
|
7
|
+
if (opts.disable?.includes('all')) {
|
|
8
|
+
opts.disable = ['stdio', 'random', 'clocks', 'http'];
|
|
13
9
|
}
|
|
14
10
|
const source = await readFile(jsSource, 'utf8');
|
|
15
11
|
const { component } = await componentizeFn(source, {
|
|
@@ -17,6 +13,7 @@ export async function componentize (jsSource, opts) {
|
|
|
17
13
|
witPath: resolve(opts.wit),
|
|
18
14
|
worldName: opts.worldName,
|
|
19
15
|
disableFeatures: opts.disable,
|
|
16
|
+
enableFeatures: opts.enable,
|
|
20
17
|
preview2Adapter: opts.preview2Adapter,
|
|
21
18
|
});
|
|
22
19
|
await writeFile(opts.out, component);
|
package/src/cmd/opt.js
CHANGED
|
@@ -9,7 +9,7 @@ import ora from '#ora';
|
|
|
9
9
|
let WASM_OPT;
|
|
10
10
|
try {
|
|
11
11
|
WASM_OPT = fileURLToPath(new URL('../../node_modules/binaryen/bin/wasm-opt', import.meta.url));
|
|
12
|
-
} catch
|
|
12
|
+
} catch {
|
|
13
13
|
WASM_OPT = new URL('../../node_modules/binaryen/bin/wasm-opt', import.meta.url);
|
|
14
14
|
}
|
|
15
15
|
|
package/src/jco.js
CHANGED
|
@@ -11,7 +11,7 @@ program
|
|
|
11
11
|
.name('jco')
|
|
12
12
|
.description(c`{bold jco - WebAssembly JS Component Tools}\n JS Component Transpilation Bindgen & Wasm Tools for JS`)
|
|
13
13
|
.usage('<command> [options]')
|
|
14
|
-
.version('1.
|
|
14
|
+
.version('1.5.0');
|
|
15
15
|
|
|
16
16
|
function myParseInt(value) {
|
|
17
17
|
return parseInt(value, 10);
|
|
@@ -33,7 +33,8 @@ program.command('componentize')
|
|
|
33
33
|
.argument('<js-source>', 'JS source file to build')
|
|
34
34
|
.requiredOption('-w, --wit <path>', 'WIT path to build with')
|
|
35
35
|
.option('-n, --world-name <name>', 'WIT world to build')
|
|
36
|
-
.addOption(new Option('-d, --disable <feature...>', 'disable WASI features').choices(['
|
|
36
|
+
.addOption(new Option('-d, --disable <feature...>', 'disable WASI features').choices(['clocks', 'http', 'random', 'stdio', 'all']))
|
|
37
|
+
// .addOption(new Option('-e, --enable <feature...>', 'enable WASI features').choices(['http']))
|
|
37
38
|
.option('--preview2-adapter <adapter>', 'provide a custom preview2 adapter path')
|
|
38
39
|
.requiredOption('-o, --out <out>', 'output component file')
|
|
39
40
|
.action(asyncAction(componentize));
|