@bytecodealliance/jco 1.13.3 → 1.15.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/obj/interfaces/wasi-cli-terminal-input.d.ts +1 -2
- package/obj/interfaces/wasi-cli-terminal-output.d.ts +1 -2
- package/obj/interfaces/wasi-filesystem-types.d.ts +2 -4
- package/obj/interfaces/wasi-io-error.d.ts +1 -2
- package/obj/interfaces/wasi-io-streams.d.ts +2 -4
- package/obj/js-component-bindgen-component.core.wasm +0 -0
- package/obj/js-component-bindgen-component.js +92 -96
- package/obj/wasm-tools.core.wasm +0 -0
- package/obj/wasm-tools.js +96 -100
- package/package.json +12 -11
- package/src/cmd/componentize.js +52 -12
- package/src/cmd/opt.js +45 -40
- package/src/cmd/run.js +8 -8
- package/src/cmd/transpile.js +199 -184
- package/src/cmd/types.js +68 -23
- package/src/cmd/wasm-tools.js +6 -6
- package/src/common.js +120 -25
- package/src/jco.js +47 -11
- package/types/api.d.ts.map +1 -0
- package/types/browser.d.ts.map +1 -0
- package/types/common.d.ts +80 -0
- package/types/common.d.ts.map +1 -0
- package/types/jco.d.ts.map +1 -0
- package/types/ora-shim.d.ts.map +1 -0
- package/src/api.d.ts.map +0 -1
- package/src/browser.d.ts.map +0 -1
- package/src/common.d.ts +0 -19
- package/src/common.d.ts.map +0 -1
- package/src/jco.d.ts.map +0 -1
- package/src/ora-shim.d.ts.map +0 -1
- /package/{src → types}/api.d.ts +0 -0
- /package/{src → types}/browser.d.ts +0 -0
- /package/{src → types}/jco.d.ts +0 -0
- /package/{src → types}/ora-shim.d.ts +0 -0
package/obj/wasm-tools.js
CHANGED
|
@@ -128,8 +128,8 @@ function endCurrentTask(componentIdx, taskId) {
|
|
|
128
128
|
return tasks.pop();
|
|
129
129
|
}
|
|
130
130
|
const ASYNC_TASKS_BY_COMPONENT_IDX = new Map();
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
const ASYNC_CURRENT_TASK_IDS = [];
|
|
132
|
+
const ASYNC_CURRENT_COMPONENT_IDXS = [];
|
|
133
133
|
|
|
134
134
|
class AsyncTask {
|
|
135
135
|
static State = {
|
|
@@ -261,8 +261,6 @@ class AsyncTask {
|
|
|
261
261
|
this.#state = AsyncTask.State.CANCEL_DELIVERED;
|
|
262
262
|
return {
|
|
263
263
|
code: ASYNC_EVENT_CODE.TASK_CANCELLED,
|
|
264
|
-
something: 0,
|
|
265
|
-
something: 0,
|
|
266
264
|
};
|
|
267
265
|
}
|
|
268
266
|
|
|
@@ -283,8 +281,6 @@ class AsyncTask {
|
|
|
283
281
|
this.#state = AsyncTask.State.CANCELLED;
|
|
284
282
|
return {
|
|
285
283
|
code: ASYNC_EVENT_CODE.TASK_CANCELLED,
|
|
286
|
-
something: 0,
|
|
287
|
-
something: 0,
|
|
288
284
|
};
|
|
289
285
|
}
|
|
290
286
|
|
|
@@ -879,15 +875,15 @@ function trampoline11(arg0) {
|
|
|
879
875
|
const base = result3 + i * 16;var [tuple0_0, tuple0_1] = e;
|
|
880
876
|
var ptr1 = utf8Encode(tuple0_0, realloc0, memory0);
|
|
881
877
|
var len1 = utf8EncodedLen;
|
|
882
|
-
dataView(memory0).
|
|
883
|
-
dataView(memory0).
|
|
878
|
+
dataView(memory0).setUint32(base + 4, len1, true);
|
|
879
|
+
dataView(memory0).setUint32(base + 0, ptr1, true);
|
|
884
880
|
var ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
|
|
885
881
|
var len2 = utf8EncodedLen;
|
|
886
|
-
dataView(memory0).
|
|
887
|
-
dataView(memory0).
|
|
882
|
+
dataView(memory0).setUint32(base + 12, len2, true);
|
|
883
|
+
dataView(memory0).setUint32(base + 8, ptr2, true);
|
|
888
884
|
}
|
|
889
|
-
dataView(memory0).
|
|
890
|
-
dataView(memory0).
|
|
885
|
+
dataView(memory0).setUint32(arg0 + 4, len3, true);
|
|
886
|
+
dataView(memory0).setUint32(arg0 + 0, result3, true);
|
|
891
887
|
_debugLog('[iface="wasi:cli/environment@0.2.3", function="get-environment"][Instruction::Return]', {
|
|
892
888
|
funcName: 'get-environment',
|
|
893
889
|
paramCount: 0,
|
|
@@ -3565,8 +3561,8 @@ function trampoline23(arg0, arg1) {
|
|
|
3565
3561
|
dataView(memory0).setInt8(arg1 + 8, enum4, true);
|
|
3566
3562
|
var ptr5 = utf8Encode(v3_1, realloc0, memory0);
|
|
3567
3563
|
var len5 = utf8EncodedLen;
|
|
3568
|
-
dataView(memory0).
|
|
3569
|
-
dataView(memory0).
|
|
3564
|
+
dataView(memory0).setUint32(arg1 + 16, len5, true);
|
|
3565
|
+
dataView(memory0).setUint32(arg1 + 12, ptr5, true);
|
|
3570
3566
|
}
|
|
3571
3567
|
break;
|
|
3572
3568
|
}
|
|
@@ -3781,8 +3777,8 @@ function trampoline24(arg0, arg1, arg2) {
|
|
|
3781
3777
|
var ptr3 = realloc0(0, 0, 1, len3 * 1);
|
|
3782
3778
|
var src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1);
|
|
3783
3779
|
(new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3);
|
|
3784
|
-
dataView(memory0).
|
|
3785
|
-
dataView(memory0).
|
|
3780
|
+
dataView(memory0).setUint32(arg2 + 8, len3, true);
|
|
3781
|
+
dataView(memory0).setUint32(arg2 + 4, ptr3, true);
|
|
3786
3782
|
break;
|
|
3787
3783
|
}
|
|
3788
3784
|
case 'err': {
|
|
@@ -3861,8 +3857,8 @@ function trampoline25(arg0, arg1, arg2) {
|
|
|
3861
3857
|
var ptr3 = realloc0(0, 0, 1, len3 * 1);
|
|
3862
3858
|
var src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1);
|
|
3863
3859
|
(new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3);
|
|
3864
|
-
dataView(memory0).
|
|
3865
|
-
dataView(memory0).
|
|
3860
|
+
dataView(memory0).setUint32(arg2 + 8, len3, true);
|
|
3861
|
+
dataView(memory0).setUint32(arg2 + 4, ptr3, true);
|
|
3866
3862
|
break;
|
|
3867
3863
|
}
|
|
3868
3864
|
case 'err': {
|
|
@@ -4217,8 +4213,8 @@ function trampoline30(arg0, arg1) {
|
|
|
4217
4213
|
var ptr0 = realloc0(0, 0, 1, len0 * 1);
|
|
4218
4214
|
var src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1);
|
|
4219
4215
|
(new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0);
|
|
4220
|
-
dataView(memory0).
|
|
4221
|
-
dataView(memory0).
|
|
4216
|
+
dataView(memory0).setUint32(arg1 + 4, len0, true);
|
|
4217
|
+
dataView(memory0).setUint32(arg1 + 0, ptr0, true);
|
|
4222
4218
|
_debugLog('[iface="wasi:random/random@0.2.3", function="get-random-bytes"][Instruction::Return]', {
|
|
4223
4219
|
funcName: 'get-random-bytes',
|
|
4224
4220
|
paramCount: 0,
|
|
@@ -4251,11 +4247,11 @@ function trampoline31(arg0) {
|
|
|
4251
4247
|
dataView(memory0).setInt32(base + 0, handle1, true);
|
|
4252
4248
|
var ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
|
|
4253
4249
|
var len2 = utf8EncodedLen;
|
|
4254
|
-
dataView(memory0).
|
|
4255
|
-
dataView(memory0).
|
|
4250
|
+
dataView(memory0).setUint32(base + 8, len2, true);
|
|
4251
|
+
dataView(memory0).setUint32(base + 4, ptr2, true);
|
|
4256
4252
|
}
|
|
4257
|
-
dataView(memory0).
|
|
4258
|
-
dataView(memory0).
|
|
4253
|
+
dataView(memory0).setUint32(arg0 + 4, len3, true);
|
|
4254
|
+
dataView(memory0).setUint32(arg0 + 0, result3, true);
|
|
4259
4255
|
_debugLog('[iface="wasi:filesystem/preopens@0.2.3", function="get-directories"][Instruction::Return]', {
|
|
4260
4256
|
funcName: 'get-directories',
|
|
4261
4257
|
paramCount: 0,
|
|
@@ -4472,8 +4468,8 @@ function parse(arg0) {
|
|
|
4472
4468
|
let variant3;
|
|
4473
4469
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
4474
4470
|
case 0: {
|
|
4475
|
-
var ptr1 = dataView(memory0).
|
|
4476
|
-
var len1 = dataView(memory0).
|
|
4471
|
+
var ptr1 = dataView(memory0).getUint32(ret + 4, true);
|
|
4472
|
+
var len1 = dataView(memory0).getUint32(ret + 8, true);
|
|
4477
4473
|
var result1 = new Uint8Array(memory0.buffer.slice(ptr1, ptr1 + len1 * 1));
|
|
4478
4474
|
variant3= {
|
|
4479
4475
|
tag: 'ok',
|
|
@@ -4482,8 +4478,8 @@ function parse(arg0) {
|
|
|
4482
4478
|
break;
|
|
4483
4479
|
}
|
|
4484
4480
|
case 1: {
|
|
4485
|
-
var ptr2 = dataView(memory0).
|
|
4486
|
-
var len2 = dataView(memory0).
|
|
4481
|
+
var ptr2 = dataView(memory0).getUint32(ret + 4, true);
|
|
4482
|
+
var len2 = dataView(memory0).getUint32(ret + 8, true);
|
|
4487
4483
|
var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
|
|
4488
4484
|
variant3= {
|
|
4489
4485
|
tag: 'err',
|
|
@@ -4531,8 +4527,8 @@ function print(arg0) {
|
|
|
4531
4527
|
let variant3;
|
|
4532
4528
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
4533
4529
|
case 0: {
|
|
4534
|
-
var ptr1 = dataView(memory0).
|
|
4535
|
-
var len1 = dataView(memory0).
|
|
4530
|
+
var ptr1 = dataView(memory0).getUint32(ret + 4, true);
|
|
4531
|
+
var len1 = dataView(memory0).getUint32(ret + 8, true);
|
|
4536
4532
|
var result1 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr1, len1));
|
|
4537
4533
|
variant3= {
|
|
4538
4534
|
tag: 'ok',
|
|
@@ -4541,8 +4537,8 @@ function print(arg0) {
|
|
|
4541
4537
|
break;
|
|
4542
4538
|
}
|
|
4543
4539
|
case 1: {
|
|
4544
|
-
var ptr2 = dataView(memory0).
|
|
4545
|
-
var len2 = dataView(memory0).
|
|
4540
|
+
var ptr2 = dataView(memory0).getUint32(ret + 4, true);
|
|
4541
|
+
var len2 = dataView(memory0).getUint32(ret + 8, true);
|
|
4546
4542
|
var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
|
|
4547
4543
|
variant3= {
|
|
4548
4544
|
tag: 'err',
|
|
@@ -4601,15 +4597,15 @@ function componentNew(arg0, arg1) {
|
|
|
4601
4597
|
const base = result4 + i * 16;var [tuple1_0, tuple1_1] = e;
|
|
4602
4598
|
var ptr2 = utf8Encode(tuple1_0, realloc1, memory0);
|
|
4603
4599
|
var len2 = utf8EncodedLen;
|
|
4604
|
-
dataView(memory0).
|
|
4605
|
-
dataView(memory0).
|
|
4600
|
+
dataView(memory0).setUint32(base + 4, len2, true);
|
|
4601
|
+
dataView(memory0).setUint32(base + 0, ptr2, true);
|
|
4606
4602
|
var val3 = tuple1_1;
|
|
4607
4603
|
var len3 = val3.byteLength;
|
|
4608
4604
|
var ptr3 = realloc1(0, 0, 1, len3 * 1);
|
|
4609
4605
|
var src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1);
|
|
4610
4606
|
(new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3);
|
|
4611
|
-
dataView(memory0).
|
|
4612
|
-
dataView(memory0).
|
|
4607
|
+
dataView(memory0).setUint32(base + 12, len3, true);
|
|
4608
|
+
dataView(memory0).setUint32(base + 8, ptr3, true);
|
|
4613
4609
|
}
|
|
4614
4610
|
variant5_0 = 1;
|
|
4615
4611
|
variant5_1 = result4;
|
|
@@ -4622,8 +4618,8 @@ function componentNew(arg0, arg1) {
|
|
|
4622
4618
|
let variant8;
|
|
4623
4619
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
4624
4620
|
case 0: {
|
|
4625
|
-
var ptr6 = dataView(memory0).
|
|
4626
|
-
var len6 = dataView(memory0).
|
|
4621
|
+
var ptr6 = dataView(memory0).getUint32(ret + 4, true);
|
|
4622
|
+
var len6 = dataView(memory0).getUint32(ret + 8, true);
|
|
4627
4623
|
var result6 = new Uint8Array(memory0.buffer.slice(ptr6, ptr6 + len6 * 1));
|
|
4628
4624
|
variant8= {
|
|
4629
4625
|
tag: 'ok',
|
|
@@ -4632,8 +4628,8 @@ function componentNew(arg0, arg1) {
|
|
|
4632
4628
|
break;
|
|
4633
4629
|
}
|
|
4634
4630
|
case 1: {
|
|
4635
|
-
var ptr7 = dataView(memory0).
|
|
4636
|
-
var len7 = dataView(memory0).
|
|
4631
|
+
var ptr7 = dataView(memory0).getUint32(ret + 4, true);
|
|
4632
|
+
var len7 = dataView(memory0).getUint32(ret + 8, true);
|
|
4637
4633
|
var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
|
|
4638
4634
|
variant8= {
|
|
4639
4635
|
tag: 'err',
|
|
@@ -4681,8 +4677,8 @@ function componentWit(arg0) {
|
|
|
4681
4677
|
let variant3;
|
|
4682
4678
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
4683
4679
|
case 0: {
|
|
4684
|
-
var ptr1 = dataView(memory0).
|
|
4685
|
-
var len1 = dataView(memory0).
|
|
4680
|
+
var ptr1 = dataView(memory0).getUint32(ret + 4, true);
|
|
4681
|
+
var len1 = dataView(memory0).getUint32(ret + 8, true);
|
|
4686
4682
|
var result1 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr1, len1));
|
|
4687
4683
|
variant3= {
|
|
4688
4684
|
tag: 'ok',
|
|
@@ -4691,8 +4687,8 @@ function componentWit(arg0) {
|
|
|
4691
4687
|
break;
|
|
4692
4688
|
}
|
|
4693
4689
|
case 1: {
|
|
4694
|
-
var ptr2 = dataView(memory0).
|
|
4695
|
-
var len2 = dataView(memory0).
|
|
4690
|
+
var ptr2 = dataView(memory0).getUint32(ret + 4, true);
|
|
4691
|
+
var len2 = dataView(memory0).getUint32(ret + 8, true);
|
|
4696
4692
|
var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
|
|
4697
4693
|
variant3= {
|
|
4698
4694
|
tag: 'err',
|
|
@@ -4741,8 +4737,8 @@ function componentEmbed(arg0) {
|
|
|
4741
4737
|
var ptr2 = realloc1(0, 0, 1, len2 * 1);
|
|
4742
4738
|
var src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
|
|
4743
4739
|
(new Uint8Array(memory0.buffer, ptr2, len2 * 1)).set(src2);
|
|
4744
|
-
dataView(memory0).
|
|
4745
|
-
dataView(memory0).
|
|
4740
|
+
dataView(memory0).setUint32(ptr0 + 8, len2, true);
|
|
4741
|
+
dataView(memory0).setUint32(ptr0 + 4, ptr2, true);
|
|
4746
4742
|
}
|
|
4747
4743
|
var variant5 = v1_1;
|
|
4748
4744
|
if (variant5 === null || variant5=== undefined) {
|
|
@@ -4752,8 +4748,8 @@ function componentEmbed(arg0) {
|
|
|
4752
4748
|
dataView(memory0).setInt8(ptr0 + 12, 1, true);
|
|
4753
4749
|
var ptr4 = utf8Encode(e, realloc1, memory0);
|
|
4754
4750
|
var len4 = utf8EncodedLen;
|
|
4755
|
-
dataView(memory0).
|
|
4756
|
-
dataView(memory0).
|
|
4751
|
+
dataView(memory0).setUint32(ptr0 + 20, len4, true);
|
|
4752
|
+
dataView(memory0).setUint32(ptr0 + 16, ptr4, true);
|
|
4757
4753
|
}
|
|
4758
4754
|
var variant7 = v1_2;
|
|
4759
4755
|
if (variant7 === null || variant7=== undefined) {
|
|
@@ -4763,8 +4759,8 @@ function componentEmbed(arg0) {
|
|
|
4763
4759
|
dataView(memory0).setInt8(ptr0 + 24, 1, true);
|
|
4764
4760
|
var ptr6 = utf8Encode(e, realloc1, memory0);
|
|
4765
4761
|
var len6 = utf8EncodedLen;
|
|
4766
|
-
dataView(memory0).
|
|
4767
|
-
dataView(memory0).
|
|
4762
|
+
dataView(memory0).setUint32(ptr0 + 32, len6, true);
|
|
4763
|
+
dataView(memory0).setUint32(ptr0 + 28, ptr6, true);
|
|
4768
4764
|
}
|
|
4769
4765
|
var variant9 = v1_3;
|
|
4770
4766
|
if (variant9 === null || variant9=== undefined) {
|
|
@@ -4813,8 +4809,8 @@ function componentEmbed(arg0) {
|
|
|
4813
4809
|
dataView(memory0).setInt8(ptr0 + 40, 1, true);
|
|
4814
4810
|
var ptr11 = utf8Encode(e, realloc1, memory0);
|
|
4815
4811
|
var len11 = utf8EncodedLen;
|
|
4816
|
-
dataView(memory0).
|
|
4817
|
-
dataView(memory0).
|
|
4812
|
+
dataView(memory0).setUint32(ptr0 + 48, len11, true);
|
|
4813
|
+
dataView(memory0).setUint32(ptr0 + 44, ptr11, true);
|
|
4818
4814
|
}
|
|
4819
4815
|
var variant20 = v1_6;
|
|
4820
4816
|
if (variant20 === null || variant20=== undefined) {
|
|
@@ -4830,8 +4826,8 @@ function componentEmbed(arg0) {
|
|
|
4830
4826
|
const base = result19 + i * 16;var [tuple13_0, tuple13_1] = e;
|
|
4831
4827
|
var ptr14 = utf8Encode(tuple13_0, realloc1, memory0);
|
|
4832
4828
|
var len14 = utf8EncodedLen;
|
|
4833
|
-
dataView(memory0).
|
|
4834
|
-
dataView(memory0).
|
|
4829
|
+
dataView(memory0).setUint32(base + 4, len14, true);
|
|
4830
|
+
dataView(memory0).setUint32(base + 0, ptr14, true);
|
|
4835
4831
|
var vec18 = tuple13_1;
|
|
4836
4832
|
var len18 = vec18.length;
|
|
4837
4833
|
var result18 = realloc1(0, 0, 4, len18 * 16);
|
|
@@ -4840,18 +4836,18 @@ function componentEmbed(arg0) {
|
|
|
4840
4836
|
const base = result18 + i * 16;var [tuple15_0, tuple15_1] = e;
|
|
4841
4837
|
var ptr16 = utf8Encode(tuple15_0, realloc1, memory0);
|
|
4842
4838
|
var len16 = utf8EncodedLen;
|
|
4843
|
-
dataView(memory0).
|
|
4844
|
-
dataView(memory0).
|
|
4839
|
+
dataView(memory0).setUint32(base + 4, len16, true);
|
|
4840
|
+
dataView(memory0).setUint32(base + 0, ptr16, true);
|
|
4845
4841
|
var ptr17 = utf8Encode(tuple15_1, realloc1, memory0);
|
|
4846
4842
|
var len17 = utf8EncodedLen;
|
|
4847
|
-
dataView(memory0).
|
|
4848
|
-
dataView(memory0).
|
|
4843
|
+
dataView(memory0).setUint32(base + 12, len17, true);
|
|
4844
|
+
dataView(memory0).setUint32(base + 8, ptr17, true);
|
|
4849
4845
|
}
|
|
4850
|
-
dataView(memory0).
|
|
4851
|
-
dataView(memory0).
|
|
4846
|
+
dataView(memory0).setUint32(base + 12, len18, true);
|
|
4847
|
+
dataView(memory0).setUint32(base + 8, result18, true);
|
|
4852
4848
|
}
|
|
4853
|
-
dataView(memory0).
|
|
4854
|
-
dataView(memory0).
|
|
4849
|
+
dataView(memory0).setUint32(ptr0 + 60, len19, true);
|
|
4850
|
+
dataView(memory0).setUint32(ptr0 + 56, result19, true);
|
|
4855
4851
|
}
|
|
4856
4852
|
var variant24 = v1_7;
|
|
4857
4853
|
if (variant24 === null || variant24=== undefined) {
|
|
@@ -4871,11 +4867,11 @@ function componentEmbed(arg0) {
|
|
|
4871
4867
|
const e = vec22[i];
|
|
4872
4868
|
const base = result22 + i * 8;var ptr21 = utf8Encode(e, realloc1, memory0);
|
|
4873
4869
|
var len21 = utf8EncodedLen;
|
|
4874
|
-
dataView(memory0).
|
|
4875
|
-
dataView(memory0).
|
|
4870
|
+
dataView(memory0).setUint32(base + 4, len21, true);
|
|
4871
|
+
dataView(memory0).setUint32(base + 0, ptr21, true);
|
|
4876
4872
|
}
|
|
4877
|
-
dataView(memory0).
|
|
4878
|
-
dataView(memory0).
|
|
4873
|
+
dataView(memory0).setUint32(ptr0 + 76, len22, true);
|
|
4874
|
+
dataView(memory0).setUint32(ptr0 + 72, result22, true);
|
|
4879
4875
|
break;
|
|
4880
4876
|
}
|
|
4881
4877
|
case 'all': {
|
|
@@ -4894,8 +4890,8 @@ function componentEmbed(arg0) {
|
|
|
4894
4890
|
let variant27;
|
|
4895
4891
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
4896
4892
|
case 0: {
|
|
4897
|
-
var ptr25 = dataView(memory0).
|
|
4898
|
-
var len25 = dataView(memory0).
|
|
4893
|
+
var ptr25 = dataView(memory0).getUint32(ret + 4, true);
|
|
4894
|
+
var len25 = dataView(memory0).getUint32(ret + 8, true);
|
|
4899
4895
|
var result25 = new Uint8Array(memory0.buffer.slice(ptr25, ptr25 + len25 * 1));
|
|
4900
4896
|
variant27= {
|
|
4901
4897
|
tag: 'ok',
|
|
@@ -4904,8 +4900,8 @@ function componentEmbed(arg0) {
|
|
|
4904
4900
|
break;
|
|
4905
4901
|
}
|
|
4906
4902
|
case 1: {
|
|
4907
|
-
var ptr26 = dataView(memory0).
|
|
4908
|
-
var len26 = dataView(memory0).
|
|
4903
|
+
var ptr26 = dataView(memory0).getUint32(ret + 4, true);
|
|
4904
|
+
var len26 = dataView(memory0).getUint32(ret + 8, true);
|
|
4909
4905
|
var result26 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr26, len26));
|
|
4910
4906
|
variant27= {
|
|
4911
4907
|
tag: 'err',
|
|
@@ -4953,8 +4949,8 @@ function metadataShow(arg0) {
|
|
|
4953
4949
|
let variant12;
|
|
4954
4950
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
4955
4951
|
case 0: {
|
|
4956
|
-
var len10 = dataView(memory0).
|
|
4957
|
-
var base10 = dataView(memory0).
|
|
4952
|
+
var len10 = dataView(memory0).getUint32(ret + 8, true);
|
|
4953
|
+
var base10 = dataView(memory0).getUint32(ret + 4, true);
|
|
4958
4954
|
var result10 = [];
|
|
4959
4955
|
for (let i = 0; i < len10; i++) {
|
|
4960
4956
|
const base = base10 + i * 44;
|
|
@@ -4979,8 +4975,8 @@ function metadataShow(arg0) {
|
|
|
4979
4975
|
break;
|
|
4980
4976
|
}
|
|
4981
4977
|
case 1: {
|
|
4982
|
-
var ptr2 = dataView(memory0).
|
|
4983
|
-
var len2 = dataView(memory0).
|
|
4978
|
+
var ptr2 = dataView(memory0).getUint32(base + 12, true);
|
|
4979
|
+
var len2 = dataView(memory0).getUint32(base + 16, true);
|
|
4984
4980
|
var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
|
|
4985
4981
|
variant3 = result2;
|
|
4986
4982
|
break;
|
|
@@ -5008,24 +5004,24 @@ function metadataShow(arg0) {
|
|
|
5008
5004
|
throw new TypeError('invalid variant discriminant for ModuleMetaType');
|
|
5009
5005
|
}
|
|
5010
5006
|
}
|
|
5011
|
-
var len9 = dataView(memory0).
|
|
5012
|
-
var base9 = dataView(memory0).
|
|
5007
|
+
var len9 = dataView(memory0).getUint32(base + 40, true);
|
|
5008
|
+
var base9 = dataView(memory0).getUint32(base + 36, true);
|
|
5013
5009
|
var result9 = [];
|
|
5014
5010
|
for (let i = 0; i < len9; i++) {
|
|
5015
5011
|
const base = base9 + i * 16;
|
|
5016
|
-
var ptr5 = dataView(memory0).
|
|
5017
|
-
var len5 = dataView(memory0).
|
|
5012
|
+
var ptr5 = dataView(memory0).getUint32(base + 0, true);
|
|
5013
|
+
var len5 = dataView(memory0).getUint32(base + 4, true);
|
|
5018
5014
|
var result5 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr5, len5));
|
|
5019
|
-
var len8 = dataView(memory0).
|
|
5020
|
-
var base8 = dataView(memory0).
|
|
5015
|
+
var len8 = dataView(memory0).getUint32(base + 12, true);
|
|
5016
|
+
var base8 = dataView(memory0).getUint32(base + 8, true);
|
|
5021
5017
|
var result8 = [];
|
|
5022
5018
|
for (let i = 0; i < len8; i++) {
|
|
5023
5019
|
const base = base8 + i * 16;
|
|
5024
|
-
var ptr6 = dataView(memory0).
|
|
5025
|
-
var len6 = dataView(memory0).
|
|
5020
|
+
var ptr6 = dataView(memory0).getUint32(base + 0, true);
|
|
5021
|
+
var len6 = dataView(memory0).getUint32(base + 4, true);
|
|
5026
5022
|
var result6 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr6, len6));
|
|
5027
|
-
var ptr7 = dataView(memory0).
|
|
5028
|
-
var len7 = dataView(memory0).
|
|
5023
|
+
var ptr7 = dataView(memory0).getUint32(base + 8, true);
|
|
5024
|
+
var len7 = dataView(memory0).getUint32(base + 12, true);
|
|
5029
5025
|
var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
|
|
5030
5026
|
result8.push([result6, result7]);
|
|
5031
5027
|
}
|
|
@@ -5046,8 +5042,8 @@ function metadataShow(arg0) {
|
|
|
5046
5042
|
break;
|
|
5047
5043
|
}
|
|
5048
5044
|
case 1: {
|
|
5049
|
-
var ptr11 = dataView(memory0).
|
|
5050
|
-
var len11 = dataView(memory0).
|
|
5045
|
+
var ptr11 = dataView(memory0).getUint32(ret + 4, true);
|
|
5046
|
+
var len11 = dataView(memory0).getUint32(ret + 8, true);
|
|
5051
5047
|
var result11 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr11, len11));
|
|
5052
5048
|
variant12= {
|
|
5053
5049
|
tag: 'err',
|
|
@@ -5096,8 +5092,8 @@ function metadataAdd(arg0, arg1) {
|
|
|
5096
5092
|
const base = result7 + i * 16;var [tuple1_0, tuple1_1] = e;
|
|
5097
5093
|
var ptr2 = utf8Encode(tuple1_0, realloc1, memory0);
|
|
5098
5094
|
var len2 = utf8EncodedLen;
|
|
5099
|
-
dataView(memory0).
|
|
5100
|
-
dataView(memory0).
|
|
5095
|
+
dataView(memory0).setUint32(base + 4, len2, true);
|
|
5096
|
+
dataView(memory0).setUint32(base + 0, ptr2, true);
|
|
5101
5097
|
var vec6 = tuple1_1;
|
|
5102
5098
|
var len6 = vec6.length;
|
|
5103
5099
|
var result6 = realloc1(0, 0, 4, len6 * 16);
|
|
@@ -5106,15 +5102,15 @@ function metadataAdd(arg0, arg1) {
|
|
|
5106
5102
|
const base = result6 + i * 16;var [tuple3_0, tuple3_1] = e;
|
|
5107
5103
|
var ptr4 = utf8Encode(tuple3_0, realloc1, memory0);
|
|
5108
5104
|
var len4 = utf8EncodedLen;
|
|
5109
|
-
dataView(memory0).
|
|
5110
|
-
dataView(memory0).
|
|
5105
|
+
dataView(memory0).setUint32(base + 4, len4, true);
|
|
5106
|
+
dataView(memory0).setUint32(base + 0, ptr4, true);
|
|
5111
5107
|
var ptr5 = utf8Encode(tuple3_1, realloc1, memory0);
|
|
5112
5108
|
var len5 = utf8EncodedLen;
|
|
5113
|
-
dataView(memory0).
|
|
5114
|
-
dataView(memory0).
|
|
5109
|
+
dataView(memory0).setUint32(base + 12, len5, true);
|
|
5110
|
+
dataView(memory0).setUint32(base + 8, ptr5, true);
|
|
5115
5111
|
}
|
|
5116
|
-
dataView(memory0).
|
|
5117
|
-
dataView(memory0).
|
|
5112
|
+
dataView(memory0).setUint32(base + 12, len6, true);
|
|
5113
|
+
dataView(memory0).setUint32(base + 8, result6, true);
|
|
5118
5114
|
}
|
|
5119
5115
|
_debugLog('[iface="local:wasm-tools/tools", function="metadata-add"] [Instruction::CallWasm] (async? false, @ enter)');
|
|
5120
5116
|
const _wasm_call_currentTaskID = startCurrentTask(0, false, 'toolsMetadataAdd');
|
|
@@ -5123,8 +5119,8 @@ function metadataAdd(arg0, arg1) {
|
|
|
5123
5119
|
let variant10;
|
|
5124
5120
|
switch (dataView(memory0).getUint8(ret + 0, true)) {
|
|
5125
5121
|
case 0: {
|
|
5126
|
-
var ptr8 = dataView(memory0).
|
|
5127
|
-
var len8 = dataView(memory0).
|
|
5122
|
+
var ptr8 = dataView(memory0).getUint32(ret + 4, true);
|
|
5123
|
+
var len8 = dataView(memory0).getUint32(ret + 8, true);
|
|
5128
5124
|
var result8 = new Uint8Array(memory0.buffer.slice(ptr8, ptr8 + len8 * 1));
|
|
5129
5125
|
variant10= {
|
|
5130
5126
|
tag: 'ok',
|
|
@@ -5133,8 +5129,8 @@ function metadataAdd(arg0, arg1) {
|
|
|
5133
5129
|
break;
|
|
5134
5130
|
}
|
|
5135
5131
|
case 1: {
|
|
5136
|
-
var ptr9 = dataView(memory0).
|
|
5137
|
-
var len9 = dataView(memory0).
|
|
5132
|
+
var ptr9 = dataView(memory0).getUint32(ret + 4, true);
|
|
5133
|
+
var len9 = dataView(memory0).getUint32(ret + 8, true);
|
|
5138
5134
|
var result9 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr9, len9));
|
|
5139
5135
|
variant10= {
|
|
5140
5136
|
tag: 'err',
|
|
@@ -5172,8 +5168,8 @@ export const $init = (() => {
|
|
|
5172
5168
|
let gen = (function* init () {
|
|
5173
5169
|
const module0 = fetchCompile(new URL('./wasm-tools.core.wasm', import.meta.url));
|
|
5174
5170
|
const module1 = fetchCompile(new URL('./wasm-tools.core2.wasm', import.meta.url));
|
|
5175
|
-
const module2 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBH9/f38Bf2AFf39/f38AYAR/f39/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX9gB39/f39/f38AYAJ+fwADJiUHCAkCAgQEAgIKAgsBAQAAAAUDAwAAAAUMAAMDAAYGAA0BAQEBBAUBcAElJQe7ASYBMAAAATEAAQEyAAIBMwADATQABAE1AAUBNgAGATcABwE4AAgBOQAJAjEwAAoCMTEACwIxMgAMAjEzAA0CMTQADgIxNQAPAjE2ABACMTcAEQIxOAASAjE5ABMCMjAAFAIyMQAVAjIyABYCMjMAFwIyNAAYAjI1ABkCMjYAGgIyNwAbAjI4ABwCMjkAHQIzMAAeAjMxAB8CMzIAIAIzMwAhAjM0ACICMzUAIwIzNgAkCCRpbXBvcnRzAQAK+
|
|
5176
|
-
const module3 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBH9/f38Bf2AFf39/f38AYAR/f39/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX9gB39/f39/f38AYAJ+
|
|
5171
|
+
const module2 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBH9/f38Bf2AFf39/f38AYAR/f39/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX9gB39/f39/f38AYAJ+fwADJiUHCAkCAgQEAgIKAgsBAQAAAAUDAwAAAAUMAAMDAAYGAA0BAQEBBAUBcAElJQe7ASYBMAAAATEAAQEyAAIBMwADATQABAE1AAUBNgAGATcABwE4AAgBOQAJAjEwAAoCMTEACwIxMgAMAjEzAA0CMTQADgIxNQAPAjE2ABACMTcAEQIxOAASAjE5ABMCMjAAFAIyMQAVAjIyABYCMjMAFwIyNAAYAjI1ABkCMjYAGgIyNwAbAjI4ABwCMjkAHQIzMAAeAjMxAB8CMzIAIAIzMwAhAjM0ACICMzUAIwIzNgAkCCRpbXBvcnRzAQAK+QMlGQAgACABIAIgAyAEIAUgBiAHIAhBABEHAAsRACAAIAEgAiADIARBAREIAAsRACAAIAEgAiADIARBAhEJAAsLACAAIAFBAxECAAsLACAAIAFBBBECAAsPACAAIAEgAiADQQURBAALDwAgACABIAIgA0EGEQQACwsAIAAgAUEHEQIACwsAIAAgAUEIEQIACwkAIABBCREKAAsLACAAIAFBChECAAsNACAAIAEgAkELEQsACwkAIABBDBEBAAsJACAAQQ0RAQALCwAgACABQQ4RAAALCwAgACABQQ8RAAALCwAgACABQRARAAALEQAgACABIAIgAyAEQRERBQALDQAgACABIAJBEhEDAAsNACAAIAEgAkETEQMACwsAIAAgAUEUEQAACwsAIAAgAUEVEQAACwsAIAAgAUEWEQAACxEAIAAgASACIAMgBEEXEQUACxUAIAAgASACIAMgBCAFIAZBGBEMAAsLACAAIAFBGREAAAsNACAAIAEgAkEaEQMACw0AIAAgASACQRsRAwALCwAgACABQRwRAAALDwAgACABIAIgA0EdEQYACw8AIAAgASACIANBHhEGAAsLACAAIAFBHxEAAAsLACAAIAFBIBENAAsJACAAQSERAQALCQAgAEEiEQEACwkAIABBIxEBAAsJACAAQSQRAQALAC8JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQHMC4yMzguMQ');
|
|
5172
|
+
const module3 = base64Compile('AGFzbQEAAAABZw5gAn9/AGABfwBgAn9/AX9gA39+fwBgBH9/f38Bf2AFf39/f38AYAR/f39/AGAJf39/f39+fn9/AX9gBX9/f35/AX9gBX9/f39/AX9gAX8Bf2ADf39/AX9gB39/f39/f38AYAJ+fwAC5AEmAAEwAAcAATEACAABMgAJAAEzAAIAATQAAgABNQAEAAE2AAQAATcAAgABOAACAAE5AAoAAjEwAAIAAjExAAsAAjEyAAEAAjEzAAEAAjE0AAAAAjE1AAAAAjE2AAAAAjE3AAUAAjE4AAMAAjE5AAMAAjIwAAAAAjIxAAAAAjIyAAAAAjIzAAUAAjI0AAwAAjI1AAAAAjI2AAMAAjI3AAMAAjI4AAAAAjI5AAYAAjMwAAYAAjMxAAAAAjMyAA0AAjMzAAEAAjM0AAEAAjM1AAEAAjM2AAEACCRpbXBvcnRzAXABJSUJKwEAQQALJQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQALwlwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAcwLjIzOC4x');
|
|
5177
5173
|
({ exports: exports0 } = yield instantiateCore(yield module2));
|
|
5178
5174
|
({ exports: exports1 } = yield instantiateCore(yield module0, {
|
|
5179
5175
|
wasi_snapshot_preview1: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bytecodealliance/jco",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "JavaScript tooling for working with WebAssembly Components",
|
|
5
5
|
"homepage": "https://github.com/bytecodealliance/jco#readme",
|
|
6
6
|
"author": "Guy Bedford",
|
|
@@ -23,18 +23,22 @@
|
|
|
23
23
|
"WebAssembly",
|
|
24
24
|
"Component"
|
|
25
25
|
],
|
|
26
|
+
"main": "src/jco.js",
|
|
27
|
+
"types": "types/jco.d.ts",
|
|
26
28
|
"repository": {
|
|
27
29
|
"type": "git",
|
|
28
30
|
"url": "git+https://github.com/bytecodealliance/jco.git"
|
|
29
31
|
},
|
|
30
32
|
"imports": {
|
|
31
33
|
"#ora": {
|
|
34
|
+
"types": "./src/ora-shim.d.ts",
|
|
32
35
|
"browser": "./src/ora-shim.js",
|
|
33
36
|
"default": "ora"
|
|
34
37
|
}
|
|
35
38
|
},
|
|
36
39
|
"exports": {
|
|
37
40
|
".": {
|
|
41
|
+
"types": "./types/api.d.ts",
|
|
38
42
|
"browser": "./src/browser.js",
|
|
39
43
|
"default": "./src/api.js"
|
|
40
44
|
},
|
|
@@ -49,6 +53,7 @@
|
|
|
49
53
|
"files": [
|
|
50
54
|
"lib",
|
|
51
55
|
"src",
|
|
56
|
+
"types",
|
|
52
57
|
"obj/*.core*.wasm",
|
|
53
58
|
"obj/*.js",
|
|
54
59
|
"obj/*.ts",
|
|
@@ -58,7 +63,7 @@
|
|
|
58
63
|
"build": "cargo xtask build debug",
|
|
59
64
|
"build:release": "cargo xtask build release",
|
|
60
65
|
"build:types:preview2-shim": "npm run build:types:preview2-shim --include-workspace-root",
|
|
61
|
-
"fmt": "
|
|
66
|
+
"fmt": "npm run lint:fix",
|
|
62
67
|
"lint": "eslint -c ../../eslint.config.mjs --ext .js src test",
|
|
63
68
|
"lint:fix": "npm run lint -- --fix",
|
|
64
69
|
"test": "vitest run -c test/vitest.ts",
|
|
@@ -67,9 +72,8 @@
|
|
|
67
72
|
},
|
|
68
73
|
"dependencies": {
|
|
69
74
|
"@bytecodealliance/componentize-js": "^0.18.4",
|
|
70
|
-
"@bytecodealliance/preview2-shim": "^0.17.
|
|
75
|
+
"@bytecodealliance/preview2-shim": "^0.17.3",
|
|
71
76
|
"binaryen": "^123.0.0",
|
|
72
|
-
"chalk-template": "^1",
|
|
73
77
|
"commander": "^14",
|
|
74
78
|
"mkdirp": "^3",
|
|
75
79
|
"ora": "^8",
|
|
@@ -77,17 +81,14 @@
|
|
|
77
81
|
},
|
|
78
82
|
"devDependencies": {
|
|
79
83
|
"@commitlint/config-conventional": "^19.8.1",
|
|
80
|
-
"@types/node": "^24.
|
|
81
|
-
"@typescript-eslint/eslint-plugin": "^8.39.
|
|
82
|
-
"@typescript-eslint/parser": "^8.39.
|
|
84
|
+
"@types/node": "^24.3.0",
|
|
85
|
+
"@typescript-eslint/eslint-plugin": "^8.39.1",
|
|
86
|
+
"@typescript-eslint/parser": "^8.39.1",
|
|
83
87
|
"commitlint": "^19.8.1",
|
|
84
88
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
85
89
|
"eslint": "^9.33.0",
|
|
86
|
-
"eslint-config-prettier": "^10.1.8",
|
|
87
|
-
"eslint-plugin-prettier": "^5.5.4",
|
|
88
90
|
"mime": "^4.0.7",
|
|
89
|
-
"
|
|
90
|
-
"puppeteer": "^24.16.1",
|
|
91
|
+
"puppeteer": "^24.16.2",
|
|
91
92
|
"semver": "^7.7.1",
|
|
92
93
|
"smol-toml": "^1.4.2",
|
|
93
94
|
"typescript": "^5.9.2",
|
package/src/cmd/componentize.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { stat, readFile, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { resolve, basename } from 'node:path';
|
|
3
|
+
import { styleText } from '../common.js';
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
/** All features that can be enabled/disabled */
|
|
6
|
+
const ALL_FEATURES = ['clocks', 'http', 'random', 'stdio', 'fetch-event'];
|
|
7
|
+
|
|
8
|
+
/** Features that should be used for --debug mode */
|
|
9
|
+
const DEBUG_FEATURES = ['stdio'];
|
|
5
10
|
|
|
6
11
|
export async function componentize(jsSource, opts) {
|
|
7
12
|
const { componentize: componentizeFn } = await eval(
|
|
8
13
|
'import("@bytecodealliance/componentize-js")'
|
|
9
14
|
);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
|
|
16
|
+
const { disableFeatures, enableFeatures } = calculateFeatureSet(opts);
|
|
17
|
+
|
|
13
18
|
const source = await readFile(jsSource, 'utf8');
|
|
14
19
|
|
|
15
20
|
const witPath = resolve(opts.wit);
|
|
@@ -24,8 +29,8 @@ export async function componentize(jsSource, opts) {
|
|
|
24
29
|
sourceName,
|
|
25
30
|
witPath,
|
|
26
31
|
worldName: opts.worldName,
|
|
27
|
-
disableFeatures
|
|
28
|
-
enableFeatures
|
|
32
|
+
disableFeatures,
|
|
33
|
+
enableFeatures,
|
|
29
34
|
preview2Adapter: opts.preview2Adapter,
|
|
30
35
|
debugBuild: opts.debugStarlingmonkeyBuild,
|
|
31
36
|
engine: opts.engine,
|
|
@@ -39,7 +44,7 @@ export async function componentize(jsSource, opts) {
|
|
|
39
44
|
});
|
|
40
45
|
if (result.debug) {
|
|
41
46
|
console.error(
|
|
42
|
-
|
|
47
|
+
`${styleText('cyan', 'DEBUG')} Debug output\n${JSON.stringify(debug, null, 2)}\n`
|
|
43
48
|
);
|
|
44
49
|
}
|
|
45
50
|
|
|
@@ -60,7 +65,7 @@ export async function componentize(jsSource, opts) {
|
|
|
60
65
|
|
|
61
66
|
await writeFile(opts.out, component);
|
|
62
67
|
|
|
63
|
-
console.log(
|
|
68
|
+
console.log(`${styleText('green', 'OK')} Successfully written ${styleText('bold', opts.out)}.`);
|
|
64
69
|
}
|
|
65
70
|
|
|
66
71
|
/**
|
|
@@ -70,14 +75,49 @@ export async function componentize(jsSource, opts) {
|
|
|
70
75
|
* @returns {string} user-visible, highlighted output that can be printed
|
|
71
76
|
*/
|
|
72
77
|
async function printWITPathHint(witPath) {
|
|
78
|
+
const warningPrefix = styleText(['yellow', 'bold'], 'warning');
|
|
73
79
|
const pathMeta = await stat(witPath);
|
|
74
80
|
let output = '\n';
|
|
75
81
|
if (!pathMeta.isFile() && !pathMeta.isDirectory()) {
|
|
76
|
-
output +=
|
|
82
|
+
output += `${warningPrefix} The supplited WIT path [${witPath}] is neither a file or directory.\n`;
|
|
77
83
|
return output;
|
|
78
84
|
}
|
|
79
|
-
output +=
|
|
80
|
-
output +=
|
|
81
|
-
output +=
|
|
85
|
+
output += `${warningPrefix} Your WIT path option [${witPath}] may be incorrect\n`;
|
|
86
|
+
output += `${warningPrefix} When using a world with dependencies, you must pass the enclosing WIT folder, not a single file.\n`;
|
|
87
|
+
output += `${warningPrefix} (e.g. 'wit/', rather than 'wit/component.wit').\n`;
|
|
82
88
|
return output;
|
|
83
89
|
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Build set of disabled features
|
|
93
|
+
*
|
|
94
|
+
* At present, `componentize-js` does not use enabled features but exclusively
|
|
95
|
+
* takes into account disabled features.
|
|
96
|
+
*
|
|
97
|
+
* @param {{ debug: boolean, disable: string[], enable: string[] }} opts
|
|
98
|
+
* @returns {{ disableFeatures: string[], enableFeatures: string[] }}
|
|
99
|
+
*/
|
|
100
|
+
function calculateFeatureSet(opts) {
|
|
101
|
+
const disableFeatures = new Set(opts?.debug ? DEBUG_FEATURES : []);
|
|
102
|
+
const disable = opts?.disable ?? [];
|
|
103
|
+
const enable = opts?.enable ?? [];
|
|
104
|
+
|
|
105
|
+
// Process disabled features
|
|
106
|
+
if (disable.includes('all')) {
|
|
107
|
+
ALL_FEATURES.forEach((v) => disableFeatures.add(v));
|
|
108
|
+
} else {
|
|
109
|
+
disable.forEach((v) => disableFeatures.add(v));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Process enabled features
|
|
113
|
+
if (enable.includes('all')) {
|
|
114
|
+
ALL_FEATURES.forEach((v) => disableFeatures.delete(v));
|
|
115
|
+
} else {
|
|
116
|
+
enable.forEach((v) => disableFeatures.delete(v));
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return {
|
|
120
|
+
disableFeatures: [...disableFeatures],
|
|
121
|
+
enableFeatures: ALL_FEATURES.filter((v) => !disableFeatures.has(v)),
|
|
122
|
+
};
|
|
123
|
+
}
|