@bytecodealliance/jco 1.0.0 → 1.0.2
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/obj/interfaces/wasi-cli-stderr.d.ts +1 -1
- package/obj/interfaces/wasi-cli-stdin.d.ts +1 -1
- package/obj/interfaces/wasi-cli-stdout.d.ts +1 -1
- package/obj/interfaces/wasi-cli-terminal-stderr.d.ts +1 -1
- package/obj/interfaces/wasi-cli-terminal-stdin.d.ts +1 -1
- package/obj/interfaces/wasi-cli-terminal-stdout.d.ts +1 -1
- package/obj/interfaces/wasi-filesystem-preopens.d.ts +1 -1
- package/obj/interfaces/wasi-filesystem-types.d.ts +4 -4
- package/obj/interfaces/wasi-io-streams.d.ts +1 -1
- package/obj/js-component-bindgen-component.component.wasm +0 -0
- package/obj/js-component-bindgen-component.core.wasm +0 -0
- package/obj/js-component-bindgen-component.d.ts +1 -0
- package/obj/js-component-bindgen-component.js +60 -52
- package/obj/wasm-tools.component.wasm +0 -0
- package/obj/wasm-tools.core.wasm +0 -0
- package/obj/wasm-tools.js +10 -10
- package/package.json +4 -3
- package/src/cmd/transpile.js +2 -0
- package/src/jco.js +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export namespace WasiCliTerminalStderr {
|
|
2
2
|
export function getTerminalStderr(): TerminalOutput | undefined;
|
|
3
3
|
}
|
|
4
|
-
import type { TerminalOutput } from '
|
|
4
|
+
import type { TerminalOutput } from './wasi-cli-terminal-output.js';
|
|
5
5
|
export { TerminalOutput };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export namespace WasiCliTerminalStdin {
|
|
2
2
|
export function getTerminalStdin(): TerminalInput | undefined;
|
|
3
3
|
}
|
|
4
|
-
import type { TerminalInput } from '
|
|
4
|
+
import type { TerminalInput } from './wasi-cli-terminal-input.js';
|
|
5
5
|
export { TerminalInput };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export namespace WasiCliTerminalStdout {
|
|
2
2
|
export function getTerminalStdout(): TerminalOutput | undefined;
|
|
3
3
|
}
|
|
4
|
-
import type { TerminalOutput } from '
|
|
4
|
+
import type { TerminalOutput } from './wasi-cli-terminal-output.js';
|
|
5
5
|
export { TerminalOutput };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export namespace WasiFilesystemPreopens {
|
|
2
2
|
export function getDirectories(): [Descriptor, string][];
|
|
3
3
|
}
|
|
4
|
-
import type { Descriptor } from '
|
|
4
|
+
import type { Descriptor } from './wasi-filesystem-types.js';
|
|
5
5
|
export { Descriptor };
|
|
@@ -4,7 +4,7 @@ export namespace WasiFilesystemTypes {
|
|
|
4
4
|
export function filesystemErrorCode(err: Error): ErrorCode | undefined;
|
|
5
5
|
}
|
|
6
6
|
export type Filesize = bigint;
|
|
7
|
-
import type { InputStream } from '
|
|
7
|
+
import type { InputStream } from './wasi-io-streams.js';
|
|
8
8
|
export { InputStream };
|
|
9
9
|
/**
|
|
10
10
|
* # Variants
|
|
@@ -84,7 +84,7 @@ export { InputStream };
|
|
|
84
84
|
* ## `"cross-device"`
|
|
85
85
|
*/
|
|
86
86
|
export type ErrorCode = 'access' | 'would-block' | 'already' | 'bad-descriptor' | 'busy' | 'deadlock' | 'quota' | 'exist' | 'file-too-large' | 'illegal-byte-sequence' | 'in-progress' | 'interrupted' | 'invalid' | 'io' | 'is-directory' | 'loop' | 'too-many-links' | 'message-size' | 'name-too-long' | 'no-device' | 'no-entry' | 'no-lock' | 'insufficient-memory' | 'insufficient-space' | 'not-directory' | 'not-empty' | 'not-recoverable' | 'unsupported' | 'no-tty' | 'no-such-device' | 'overflow' | 'not-permitted' | 'pipe' | 'read-only' | 'invalid-seek' | 'text-file-busy' | 'cross-device';
|
|
87
|
-
import type { OutputStream } from '
|
|
87
|
+
import type { OutputStream } from './wasi-io-streams.js';
|
|
88
88
|
export { OutputStream };
|
|
89
89
|
/**
|
|
90
90
|
* # Variants
|
|
@@ -107,7 +107,7 @@ export { OutputStream };
|
|
|
107
107
|
*/
|
|
108
108
|
export type DescriptorType = 'unknown' | 'block-device' | 'character-device' | 'directory' | 'fifo' | 'symbolic-link' | 'regular-file' | 'socket';
|
|
109
109
|
export type LinkCount = bigint;
|
|
110
|
-
import type { Datetime } from '
|
|
110
|
+
import type { Datetime } from './wasi-clocks-wall-clock.js';
|
|
111
111
|
export { Datetime };
|
|
112
112
|
export interface DescriptorStat {
|
|
113
113
|
type: DescriptorType,
|
|
@@ -142,7 +142,7 @@ export interface DirectoryEntry {
|
|
|
142
142
|
type: DescriptorType,
|
|
143
143
|
name: string,
|
|
144
144
|
}
|
|
145
|
-
import type { Error } from '
|
|
145
|
+
import type { Error } from './wasi-io-streams.js';
|
|
146
146
|
export { Error };
|
|
147
147
|
|
|
148
148
|
export class Descriptor {
|
|
@@ -2,7 +2,7 @@ export namespace WasiIoStreams {
|
|
|
2
2
|
export { InputStream };
|
|
3
3
|
export { OutputStream };
|
|
4
4
|
}
|
|
5
|
-
import type { Error } from '
|
|
5
|
+
import type { Error } from './wasi-io-error.js';
|
|
6
6
|
export { Error };
|
|
7
7
|
export type StreamError = StreamErrorLastOperationFailed | StreamErrorClosed;
|
|
8
8
|
export interface StreamErrorLastOperationFailed {
|
|
Binary file
|
|
Binary file
|
|
@@ -2304,7 +2304,7 @@ function trampoline6(handle) {
|
|
|
2304
2304
|
|
|
2305
2305
|
function generate(arg0, arg1) {
|
|
2306
2306
|
if (!_initialized) throwUninitialized();
|
|
2307
|
-
var ptr0 = realloc1(0, 0, 4,
|
|
2307
|
+
var ptr0 = realloc1(0, 0, 4, 56);
|
|
2308
2308
|
var val1 = arg0;
|
|
2309
2309
|
var len1 = val1.byteLength;
|
|
2310
2310
|
var ptr1 = realloc1(0, 0, 1, len1 * 1);
|
|
@@ -2312,7 +2312,7 @@ function generate(arg0, arg1) {
|
|
|
2312
2312
|
(new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
|
|
2313
2313
|
dataView(memory0).setInt32(ptr0 + 4, len1, true);
|
|
2314
2314
|
dataView(memory0).setInt32(ptr0 + 0, ptr1, true);
|
|
2315
|
-
var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, map: v2_3, compat: v2_4, noNodejsCompat: v2_5, base64Cutoff: v2_6, tlaCompat: v2_7, validLiftingOptimization: v2_8, tracing: v2_9, noNamespacedExports: v2_10 } = arg1;
|
|
2315
|
+
var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, map: v2_3, compat: v2_4, noNodejsCompat: v2_5, base64Cutoff: v2_6, tlaCompat: v2_7, validLiftingOptimization: v2_8, tracing: v2_9, noNamespacedExports: v2_10, multiMemory: v2_11 } = arg1;
|
|
2316
2316
|
var ptr3 = utf8Encode(v2_0, realloc1, memory0);
|
|
2317
2317
|
var len3 = utf8EncodedLen;
|
|
2318
2318
|
dataView(memory0).setInt32(ptr0 + 12, len3, true);
|
|
@@ -2426,74 +2426,82 @@ function generate(arg0, arg1) {
|
|
|
2426
2426
|
dataView(memory0).setInt8(ptr0 + 50, 1, true);
|
|
2427
2427
|
dataView(memory0).setInt8(ptr0 + 51, e ? 1 : 0, true);
|
|
2428
2428
|
}
|
|
2429
|
+
var variant19 = v2_11;
|
|
2430
|
+
if (variant19 === null || variant19=== undefined) {
|
|
2431
|
+
dataView(memory0).setInt8(ptr0 + 52, 0, true);
|
|
2432
|
+
} else {
|
|
2433
|
+
const e = variant19;
|
|
2434
|
+
dataView(memory0).setInt8(ptr0 + 52, 1, true);
|
|
2435
|
+
dataView(memory0).setInt8(ptr0 + 53, e ? 1 : 0, true);
|
|
2436
|
+
}
|
|
2429
2437
|
const ret = exports1.generate(ptr0);
|
|
2430
|
-
let
|
|
2438
|
+
let variant29;
|
|
2431
2439
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
2432
2440
|
case 0: {
|
|
2433
|
-
var
|
|
2434
|
-
var
|
|
2435
|
-
var
|
|
2436
|
-
for (let i = 0; i <
|
|
2437
|
-
const base =
|
|
2438
|
-
var
|
|
2439
|
-
var
|
|
2440
|
-
var
|
|
2441
|
-
var
|
|
2442
|
-
var
|
|
2443
|
-
var
|
|
2444
|
-
|
|
2445
|
-
}
|
|
2446
|
-
var
|
|
2447
|
-
var
|
|
2448
|
-
var
|
|
2449
|
-
for (let i = 0; i <
|
|
2450
|
-
const base =
|
|
2451
|
-
var
|
|
2452
|
-
var
|
|
2453
|
-
var
|
|
2454
|
-
|
|
2455
|
-
}
|
|
2456
|
-
var
|
|
2457
|
-
var
|
|
2458
|
-
var
|
|
2459
|
-
for (let i = 0; i <
|
|
2460
|
-
const base =
|
|
2461
|
-
var
|
|
2462
|
-
var
|
|
2463
|
-
var
|
|
2464
|
-
let
|
|
2441
|
+
var len22 = dataView(memory0).getInt32(ret + 8, true);
|
|
2442
|
+
var base22 = dataView(memory0).getInt32(ret + 4, true);
|
|
2443
|
+
var result22 = [];
|
|
2444
|
+
for (let i = 0; i < len22; i++) {
|
|
2445
|
+
const base = base22 + i * 16;
|
|
2446
|
+
var ptr20 = dataView(memory0).getInt32(base + 0, true);
|
|
2447
|
+
var len20 = dataView(memory0).getInt32(base + 4, true);
|
|
2448
|
+
var result20 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr20, len20));
|
|
2449
|
+
var ptr21 = dataView(memory0).getInt32(base + 8, true);
|
|
2450
|
+
var len21 = dataView(memory0).getInt32(base + 12, true);
|
|
2451
|
+
var result21 = new Uint8Array(memory0.buffer.slice(ptr21, ptr21 + len21 * 1));
|
|
2452
|
+
result22.push([result20, result21]);
|
|
2453
|
+
}
|
|
2454
|
+
var len24 = dataView(memory0).getInt32(ret + 16, true);
|
|
2455
|
+
var base24 = dataView(memory0).getInt32(ret + 12, true);
|
|
2456
|
+
var result24 = [];
|
|
2457
|
+
for (let i = 0; i < len24; i++) {
|
|
2458
|
+
const base = base24 + i * 8;
|
|
2459
|
+
var ptr23 = dataView(memory0).getInt32(base + 0, true);
|
|
2460
|
+
var len23 = dataView(memory0).getInt32(base + 4, true);
|
|
2461
|
+
var result23 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr23, len23));
|
|
2462
|
+
result24.push(result23);
|
|
2463
|
+
}
|
|
2464
|
+
var len27 = dataView(memory0).getInt32(ret + 24, true);
|
|
2465
|
+
var base27 = dataView(memory0).getInt32(ret + 20, true);
|
|
2466
|
+
var result27 = [];
|
|
2467
|
+
for (let i = 0; i < len27; i++) {
|
|
2468
|
+
const base = base27 + i * 12;
|
|
2469
|
+
var ptr25 = dataView(memory0).getInt32(base + 0, true);
|
|
2470
|
+
var len25 = dataView(memory0).getInt32(base + 4, true);
|
|
2471
|
+
var result25 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr25, len25));
|
|
2472
|
+
let enum26;
|
|
2465
2473
|
switch (dataView(memory0).getUint8(base + 8, true)) {
|
|
2466
2474
|
case 0: {
|
|
2467
|
-
|
|
2475
|
+
enum26 = 'function';
|
|
2468
2476
|
break;
|
|
2469
2477
|
}
|
|
2470
2478
|
case 1: {
|
|
2471
|
-
|
|
2479
|
+
enum26 = 'instance';
|
|
2472
2480
|
break;
|
|
2473
2481
|
}
|
|
2474
2482
|
default: {
|
|
2475
2483
|
throw new TypeError('invalid discriminant specified for ExportType');
|
|
2476
2484
|
}
|
|
2477
2485
|
}
|
|
2478
|
-
|
|
2486
|
+
result27.push([result25, enum26]);
|
|
2479
2487
|
}
|
|
2480
|
-
|
|
2488
|
+
variant29= {
|
|
2481
2489
|
tag: 'ok',
|
|
2482
2490
|
val: {
|
|
2483
|
-
files:
|
|
2484
|
-
imports:
|
|
2485
|
-
exports:
|
|
2491
|
+
files: result22,
|
|
2492
|
+
imports: result24,
|
|
2493
|
+
exports: result27,
|
|
2486
2494
|
}
|
|
2487
2495
|
};
|
|
2488
2496
|
break;
|
|
2489
2497
|
}
|
|
2490
2498
|
case 1: {
|
|
2491
|
-
var
|
|
2492
|
-
var
|
|
2493
|
-
var
|
|
2494
|
-
|
|
2499
|
+
var ptr28 = dataView(memory0).getInt32(ret + 4, true);
|
|
2500
|
+
var len28 = dataView(memory0).getInt32(ret + 8, true);
|
|
2501
|
+
var result28 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr28, len28));
|
|
2502
|
+
variant29= {
|
|
2495
2503
|
tag: 'err',
|
|
2496
|
-
val:
|
|
2504
|
+
val: result28
|
|
2497
2505
|
};
|
|
2498
2506
|
break;
|
|
2499
2507
|
}
|
|
@@ -2502,10 +2510,10 @@ function generate(arg0, arg1) {
|
|
|
2502
2510
|
}
|
|
2503
2511
|
}
|
|
2504
2512
|
postReturn0(ret);
|
|
2505
|
-
if (
|
|
2506
|
-
throw new ComponentError(
|
|
2513
|
+
if (variant29.tag === 'err') {
|
|
2514
|
+
throw new ComponentError(variant29.val);
|
|
2507
2515
|
}
|
|
2508
|
-
return
|
|
2516
|
+
return variant29.val;
|
|
2509
2517
|
}
|
|
2510
2518
|
|
|
2511
2519
|
function generateTypes(arg0, arg1) {
|
|
@@ -2696,8 +2704,8 @@ let _initialized = false;
|
|
|
2696
2704
|
export const $init = (async() => {
|
|
2697
2705
|
const module0 = fetchCompile(new URL('./js-component-bindgen-component.core.wasm', import.meta.url));
|
|
2698
2706
|
const module1 = fetchCompile(new URL('./js-component-bindgen-component.core2.wasm', import.meta.url));
|
|
2699
|
-
const module2 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/
|
|
2700
|
-
const module3 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/
|
|
2707
|
+
const module2 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AAMgHwABAQICAgMCAgEBAgQEAgUAAAAABgcHCAgHBwkHCgsEBQFwAR8fB50BIAEwAAABMQABATIAAgEzAAMBNAAEATUABQE2AAYBNwAHATgACAE5AAkCMTAACgIxMQALAjEyAAwCMTMADQIxNAAOAjE1AA8CMTYAEAIxNwARAjE4ABICMTkAEwIyMAAUAjIxABUCMjIAFgIyMwAXAjI0ABgCMjUAGQIyNgAaAjI3ABsCMjgAHAIyOQAdAjMwAB4IJGltcG9ydHMBAAqZAx8JACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxUAIAAgASACIAMgBCAFIAZBBhEDAAsLACAAIAFBBxECAAsLACAAIAFBCBECAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALCwAgACABQQsRAgALDwAgACABIAIgA0EMEQQACw8AIAAgASACIANBDREEAAsLACAAIAFBDhECAAsLACAAIAFBDxEFAAsJACAAQRARAAALCQAgAEEREQAACwkAIABBEhEAAAsJACAAQRMRAAALGQAgACABIAIgAyAEIAUgBiAHIAhBFBEGAAsLACAAIAFBFREHAAsLACAAIAFBFhEHAAsPACAAIAEgAiADQRcRCAALDwAgACABIAIgA0EYEQgACwsAIAAgAUEZEQcACwsAIAAgAUEaEQcACwkAIABBGxEJAAsLACAAIAFBHBEHAAsNACAAIAEgAkEdEQoACwkAIABBHhELAAsALglwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAYwLjIxLjAA+g0EbmFtZQATEndpdC1jb21wb25lbnQ6c2hpbQHdDR8AN2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9wcmVvcGVuc0AwLjIuMC1nZXQtZGlyZWN0b3JpZXMBR2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IucmVhZC12aWEtc3RyZWFtAkhpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLndyaXRlLXZpYS1zdHJlYW0DSWluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuYXBwZW5kLXZpYS1zdHJlYW0EQGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuZ2V0LXR5cGUFPGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iuc3RhdAY/aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5vcGVuLWF0B0VpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLm1ldGFkYXRhLWhhc2gIOmluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1maWxlc3lzdGVtLWVycm9yLWNvZGUJOGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXWlucHV0LXN0cmVhbS5yZWFkCkFpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0uYmxvY2tpbmctcmVhZAtAaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5jaGVjay13cml0ZQw6aW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS53cml0ZQ1NaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5ibG9ja2luZy13cml0ZS1hbmQtZmx1c2gOQ2luZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctZmx1c2gPMmluZGlyZWN0LXdhc2k6cmFuZG9tL3JhbmRvbUAwLjIuMC1nZXQtcmFuZG9tLWJ5dGVzEDNpbmRpcmVjdC13YXNpOmNsaS9lbnZpcm9ubWVudEAwLjIuMC1nZXQtZW52aXJvbm1lbnQROWluZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGluQDAuMi4wLWdldC10ZXJtaW5hbC1zdGRpbhI7aW5kaXJlY3Qtd2FzaTpjbGkvdGVybWluYWwtc3Rkb3V0QDAuMi4wLWdldC10ZXJtaW5hbC1zdGRvdXQTO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGVyckAwLjIuMC1nZXQtdGVybWluYWwtc3RkZXJyFCZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfb3BlbhUsYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9maWxlc3RhdF9nZXQWJ2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcmFuZG9tX2dldBckYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9yZWFkGCVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3dyaXRlGShhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fZ2V0Gi5hZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fc2l6ZXNfZ2V0GyVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX2Nsb3NlHCthZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZ2V0HTBhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZGlyX25hbWUeJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcHJvY19leGl0');
|
|
2708
|
+
const module3 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AALAASAAATAAAAABMQABAAEyAAEAATMAAgABNAACAAE1AAIAATYAAwABNwACAAE4AAIAATkAAQACMTAAAQACMTEAAgACMTIABAACMTMABAACMTQAAgACMTUABQACMTYAAAACMTcAAAACMTgAAAACMTkAAAACMjAABgACMjEABwACMjIABwACMjMACAACMjQACAACMjUABwACMjYABwACMjcACQACMjgABwACMjkACgACMzAACwAIJGltcG9ydHMBcAEfHwklAQBBAAsfAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHgAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMjEuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
|
|
2701
2709
|
({ exports: exports0 } = await instantiateCore(await module2));
|
|
2702
2710
|
({ exports: exports1 } = await instantiateCore(await module0, {
|
|
2703
2711
|
wasi_snapshot_preview1: {
|
|
Binary file
|
package/obj/wasm-tools.core.wasm
CHANGED
|
Binary file
|
package/obj/wasm-tools.js
CHANGED
|
@@ -3760,24 +3760,24 @@ let _initialized = false;
|
|
|
3760
3760
|
export const $init = (async() => {
|
|
3761
3761
|
const module0 = fetchCompile(new URL('./wasm-tools.core.wasm', import.meta.url));
|
|
3762
3762
|
const module1 = fetchCompile(new URL('./wasm-tools.core2.wasm', import.meta.url));
|
|
3763
|
-
const module2 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/
|
|
3764
|
-
const module3 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/
|
|
3763
|
+
const module2 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/YAV/f39+fwF/YAV/f39/fwF/YAJ/fwF/YAR/f39/AX9gAX8Bf2ADf39/AX9gAX8AAyYlAAEBAgICAgMEAgMCAgEBAgUFAgYAAAAABwgJCgoLCwoKDAoNDgQFAXABJSUHuwEmATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKAjExAAsCMTIADAIxMwANAjE0AA4CMTUADwIxNgAQAjE3ABECMTgAEgIxOQATAjIwABQCMjEAFQIyMgAWAjIzABcCMjQAGAIyNQAZAjI2ABoCMjcAGwIyOAAcAjI5AB0CMzAAHgIzMQAfAjMyACACMzMAIQIzNAAiAjM1ACMCMzYAJAgkaW1wb3J0cwEACvkDJQkAIABBABEAAAsNACAAIAEgAkEBEQEACw0AIAAgASACQQIRAQALCwAgACABQQMRAgALCwAgACABQQQRAgALCwAgACABQQURAgALCwAgACABQQYRAgALEQAgACABIAIgAyAEQQcRAwALFQAgACABIAIgAyAEIAUgBkEIEQQACwsAIAAgAUEJEQIACxEAIAAgASACIAMgBEEKEQMACwsAIAAgAUELEQIACwsAIAAgAUEMEQIACw0AIAAgASACQQ0RAQALDQAgACABIAJBDhEBAAsLACAAIAFBDxECAAsPACAAIAEgAiADQRARBQALDwAgACABIAIgA0EREQUACwsAIAAgAUESEQIACwsAIAAgAUETEQYACwkAIABBFBEAAAsJACAAQRURAAALCQAgAEEWEQAACwkAIABBFxEAAAsZACAAIAEgAiADIAQgBSAGIAcgCEEYEQcACxEAIAAgASACIAMgBEEZEQgACxEAIAAgASACIAMgBEEaEQkACwsAIAAgAUEbEQoACwsAIAAgAUEcEQoACw8AIAAgASACIANBHRELAAsPACAAIAEgAiADQR4RCwALCwAgACABQR8RCgALCwAgACABQSARCgALCQAgAEEhEQwACwsAIAAgAUEiEQoACw0AIAAgASACQSMRDQALCQAgAEEkEQ4ACwAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMjEuMACAEQRuYW1lABMSd2l0LWNvbXBvbmVudDpzaGltAeMQJQA3aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3ByZW9wZW5zQDAuMi4wLWdldC1kaXJlY3RvcmllcwFHaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5yZWFkLXZpYS1zdHJlYW0CSGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iud3JpdGUtdmlhLXN0cmVhbQNJaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5hcHBlbmQtdmlhLXN0cmVhbQRAaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5nZXQtdHlwZQVGaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5yZWFkLWRpcmVjdG9yeQY8aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5zdGF0Bz9pbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLnN0YXQtYXQIP2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iub3Blbi1hdAlFaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5tZXRhZGF0YS1oYXNoCkhpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLm1ldGFkYXRhLWhhc2gtYXQLWGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRpcmVjdG9yeS1lbnRyeS1zdHJlYW0ucmVhZC1kaXJlY3RvcnktZW50cnkMOmluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1maWxlc3lzdGVtLWVycm9yLWNvZGUNOGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXWlucHV0LXN0cmVhbS5yZWFkDkFpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0uYmxvY2tpbmctcmVhZA9AaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5jaGVjay13cml0ZRA6aW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS53cml0ZRFNaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5ibG9ja2luZy13cml0ZS1hbmQtZmx1c2gSQ2luZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctZmx1c2gTMmluZGlyZWN0LXdhc2k6cmFuZG9tL3JhbmRvbUAwLjIuMC1nZXQtcmFuZG9tLWJ5dGVzFDNpbmRpcmVjdC13YXNpOmNsaS9lbnZpcm9ubWVudEAwLjIuMC1nZXQtZW52aXJvbm1lbnQVOWluZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGluQDAuMi4wLWdldC10ZXJtaW5hbC1zdGRpbhY7aW5kaXJlY3Qtd2FzaTpjbGkvdGVybWluYWwtc3Rkb3V0QDAuMi4wLWdldC10ZXJtaW5hbC1zdGRvdXQXO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGVyckAwLjIuMC1nZXQtdGVybWluYWwtc3RkZXJyGCZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfb3BlbhknYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9yZWFkZGlyGi5hZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfZmlsZXN0YXRfZ2V0GydhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQcLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0HSRhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3JlYWQeJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfd3JpdGUfKGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9nZXQgLmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZW52aXJvbl9zaXplc19nZXQhJWFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfY2xvc2UiK2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9nZXQjMGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcHJlc3RhdF9kaXJfbmFtZSQmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wcm9jX2V4aXQ');
|
|
3764
|
+
const module3 = base64Compile('AGFzbQEAAAABaw9gAX8AYAN/fn8AYAJ/fwBgBX9/f39/AGAHf39/f39/fwBgBH9/f38AYAJ+fwBgCX9/f39/fn5/fwF/YAV/f39+fwF/YAV/f39/fwF/YAJ/fwF/YAR/f39/AX9gAX8Bf2ADf39/AX9gAX8AAuQBJgABMAAAAAExAAEAATIAAQABMwACAAE0AAIAATUAAgABNgACAAE3AAMAATgABAABOQACAAIxMAADAAIxMQACAAIxMgACAAIxMwABAAIxNAABAAIxNQACAAIxNgAFAAIxNwAFAAIxOAACAAIxOQAGAAIyMAAAAAIyMQAAAAIyMgAAAAIyMwAAAAIyNAAHAAIyNQAIAAIyNgAJAAIyNwAKAAIyOAAKAAIyOQALAAIzMAALAAIzMQAKAAIzMgAKAAIzMwAMAAIzNAAKAAIzNQANAAIzNgAOAAgkaW1wb3J0cwFwASUlCSsBAEEACyUAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkAC4JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQGMC4yMS4wABwEbmFtZQAVFHdpdC1jb21wb25lbnQ6Zml4dXBz');
|
|
3765
3765
|
({ exports: exports0 } = await instantiateCore(await module2));
|
|
3766
3766
|
({ exports: exports1 } = await instantiateCore(await module0, {
|
|
3767
3767
|
wasi_snapshot_preview1: {
|
|
3768
3768
|
environ_get: exports0['31'],
|
|
3769
3769
|
environ_sizes_get: exports0['32'],
|
|
3770
3770
|
fd_close: exports0['33'],
|
|
3771
|
-
fd_filestat_get: exports0['
|
|
3771
|
+
fd_filestat_get: exports0['28'],
|
|
3772
3772
|
fd_prestat_dir_name: exports0['35'],
|
|
3773
3773
|
fd_prestat_get: exports0['34'],
|
|
3774
3774
|
fd_read: exports0['29'],
|
|
3775
|
-
fd_readdir: exports0['
|
|
3775
|
+
fd_readdir: exports0['25'],
|
|
3776
3776
|
fd_write: exports0['30'],
|
|
3777
|
-
path_filestat_get: exports0['
|
|
3777
|
+
path_filestat_get: exports0['26'],
|
|
3778
3778
|
path_open: exports0['24'],
|
|
3779
3779
|
proc_exit: exports0['36'],
|
|
3780
|
-
random_get: exports0['
|
|
3780
|
+
random_get: exports0['27'],
|
|
3781
3781
|
},
|
|
3782
3782
|
}));
|
|
3783
3783
|
({ exports: exports2 } = await instantiateCore(await module1, {
|
|
@@ -3876,10 +3876,10 @@ export const $init = (async() => {
|
|
|
3876
3876
|
'22': trampoline33,
|
|
3877
3877
|
'23': trampoline34,
|
|
3878
3878
|
'24': exports2.path_open,
|
|
3879
|
-
'25': exports2.
|
|
3880
|
-
'26': exports2.
|
|
3881
|
-
'27': exports2.
|
|
3882
|
-
'28': exports2.
|
|
3879
|
+
'25': exports2.fd_readdir,
|
|
3880
|
+
'26': exports2.path_filestat_get,
|
|
3881
|
+
'27': exports2.random_get,
|
|
3882
|
+
'28': exports2.fd_filestat_get,
|
|
3883
3883
|
'29': exports2.fd_read,
|
|
3884
3884
|
'3': trampoline14,
|
|
3885
3885
|
'30': exports2.fd_write,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bytecodealliance/jco",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "JavaScript tooling for working with WebAssembly Components",
|
|
5
5
|
"author": "Guy Bedford",
|
|
6
6
|
"bin": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"terser": "^5.16.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@bytecodealliance/componentize-js": "^0.
|
|
30
|
+
"@bytecodealliance/componentize-js": "^0.7.0",
|
|
31
31
|
"@types/node": "^18.11.17",
|
|
32
32
|
"@typescript-eslint/eslint-plugin": "^5.41.0",
|
|
33
33
|
"@typescript-eslint/parser": "^5.41.0",
|
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
"build:release": "cargo xtask build release",
|
|
56
56
|
"build:types:preview2-shim": "cargo xtask generate wasi-types",
|
|
57
57
|
"lint": "eslint -c eslintrc.cjs lib/**/*.js packages/*/lib/**/*.js",
|
|
58
|
-
"test": "mocha -u tdd test/test.js --timeout
|
|
58
|
+
"test:lts": "mocha -u tdd test/test.js --timeout 30000",
|
|
59
|
+
"test": "node --experimental-wasm-multi-memory node_modules/mocha/bin/mocha.js -u tdd test/test.js --timeout 30000",
|
|
59
60
|
"prepublishOnly": "cargo xtask build release && npm run test"
|
|
60
61
|
},
|
|
61
62
|
"files": [
|
package/src/cmd/transpile.js
CHANGED
|
@@ -90,6 +90,7 @@ async function wasm2Js (source) {
|
|
|
90
90
|
* minify?: bool,
|
|
91
91
|
* optimize?: bool,
|
|
92
92
|
* namespacedExports?: bool,
|
|
93
|
+
* multiMemory?: bool,
|
|
93
94
|
* optArgs?: string[],
|
|
94
95
|
* }} opts
|
|
95
96
|
* @returns {Promise<{ files: { [filename: string]: Uint8Array }, imports: string[], exports: [string, 'function' | 'instance'][] }>}
|
|
@@ -139,6 +140,7 @@ export async function transpileComponent (component, opts = {}) {
|
|
|
139
140
|
tlaCompat: opts.tlaCompat ?? false,
|
|
140
141
|
base64Cutoff: opts.js ? 0 : opts.base64Cutoff ?? 5000,
|
|
141
142
|
noNamespacedExports: opts.namespacedExports === false,
|
|
143
|
+
multiMemory: opts.multiMemory === true,
|
|
142
144
|
});
|
|
143
145
|
|
|
144
146
|
let outDir = (opts.outDir ?? '').replace(/\\/g, '/');
|
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.0.
|
|
14
|
+
.version('1.0.2');
|
|
15
15
|
|
|
16
16
|
function myParseInt(value) {
|
|
17
17
|
return parseInt(value, 10);
|
|
@@ -49,6 +49,7 @@ program.command('transpile')
|
|
|
49
49
|
.addOption(new Option('-I, --instantiation [mode]', 'output for custom module instantiation').choices(['async', 'sync']).preset('async'))
|
|
50
50
|
.option('-q, --quiet', 'disable logging')
|
|
51
51
|
.option('--no-namespaced-exports', 'disable namespaced exports for typescript compatibility')
|
|
52
|
+
.option('--multi-memory', 'optimized output for Wasm multi-memory')
|
|
52
53
|
.option('--', 'for --optimize, custom wasm-opt arguments (defaults to best size optimization)')
|
|
53
54
|
.action(asyncAction(transpile));
|
|
54
55
|
|