es-module-shims 1.7.2 → 1.7.3
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/dist/es-module-shims.debug.js +89 -68
- package/dist/es-module-shims.js +89 -68
- package/dist/es-module-shims.wasm.js +89 -68
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ Because we are still using the native module loader the edge cases work out comp
|
|
|
29
29
|
Include ES Module Shims with a `async` attribute on the script, then include an import map and module scripts normally:
|
|
30
30
|
|
|
31
31
|
```html
|
|
32
|
-
<script async src="https://ga.jspm.io/npm:es-module-shims@1.7.
|
|
32
|
+
<script async src="https://ga.jspm.io/npm:es-module-shims@1.7.3/dist/es-module-shims.js"></script>
|
|
33
33
|
|
|
34
34
|
<!-- https://generator.jspm.io/#U2NhYGBkDM0rySzJSU1hKEpNTC5xMLTQM9Az0C1K1jMAAKFS5w0gAA -->
|
|
35
35
|
<script type="importmap">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* ES Module Shims DEBUG BUILD 1.7.
|
|
1
|
+
/* ES Module Shims DEBUG BUILD 1.7.3 */
|
|
2
2
|
(function () {
|
|
3
3
|
|
|
4
4
|
const hasWindow = typeof window !== 'undefined';
|
|
@@ -603,88 +603,109 @@
|
|
|
603
603
|
// edge doesnt execute sibling in order, so we fix this up by ensuring all previous executions are explicit dependencies
|
|
604
604
|
let resolvedSource = edge && lastLoad ? `import '${lastLoad}';` : '';
|
|
605
605
|
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
while (dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
615
|
-
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
616
|
-
resolvedSource += `${source.slice(lastIndex, dynamicImportEnd)}, ${urlJsString(load.r)}`;
|
|
617
|
-
lastIndex = dynamicImportEnd;
|
|
618
|
-
}
|
|
619
|
-
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
620
|
-
lastIndex = originalIndex;
|
|
606
|
+
// once all deps have loaded we can inline the dependency resolution blobs
|
|
607
|
+
// and define this blob
|
|
608
|
+
let lastIndex = 0, depIndex = 0, dynamicImportEndStack = [];
|
|
609
|
+
function pushStringTo (originalIndex) {
|
|
610
|
+
while (dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
611
|
+
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
612
|
+
resolvedSource += `${source.slice(lastIndex, dynamicImportEnd)}, ${urlJsString(load.r)}`;
|
|
613
|
+
lastIndex = dynamicImportEnd;
|
|
621
614
|
}
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
let depLoad = load.d[depIndex++], blobUrl = depLoad.b, cycleShell = !blobUrl;
|
|
626
|
-
if (cycleShell) {
|
|
627
|
-
// circular shell creation
|
|
628
|
-
if (!(blobUrl = depLoad.s)) {
|
|
629
|
-
blobUrl = depLoad.s = createBlob(`export function u$_(m){${
|
|
630
|
-
depLoad.a[1].map(({ s, e }, i) => {
|
|
631
|
-
const q = depLoad.S[s] === '"' || depLoad.S[s] === "'";
|
|
632
|
-
return `e$_${i}=m${q ? `[` : '.'}${depLoad.S.slice(s, e)}${q ? `]` : ''}`;
|
|
633
|
-
}).join(',')
|
|
634
|
-
}}${
|
|
635
|
-
depLoad.a[1].length ? `let ${depLoad.a[1].map((_, i) => `e$_${i}`).join(',')};` : ''
|
|
636
|
-
}export {${
|
|
637
|
-
depLoad.a[1].map(({ s, e }, i) => `e$_${i} as ${depLoad.S.slice(s, e)}`).join(',')
|
|
638
|
-
}}\n//# sourceURL=${depLoad.r}?cycle`);
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
pushStringTo(start - 1);
|
|
643
|
-
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
|
615
|
+
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
616
|
+
lastIndex = originalIndex;
|
|
617
|
+
}
|
|
644
618
|
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
619
|
+
for (const { s: start, ss: statementStart, se: statementEnd, d: dynamicImportIndex } of imports) {
|
|
620
|
+
// dependency source replacements
|
|
621
|
+
if (dynamicImportIndex === -1) {
|
|
622
|
+
let depLoad = load.d[depIndex++], blobUrl = depLoad.b, cycleShell = !blobUrl;
|
|
623
|
+
if (cycleShell) {
|
|
624
|
+
// circular shell creation
|
|
625
|
+
if (!(blobUrl = depLoad.s)) {
|
|
626
|
+
blobUrl = depLoad.s = createBlob(`export function u$_(m){${
|
|
627
|
+
depLoad.a[1].map(({ s, e }, i) => {
|
|
628
|
+
const q = depLoad.S[s] === '"' || depLoad.S[s] === "'";
|
|
629
|
+
return `e$_${i}=m${q ? `[` : '.'}${depLoad.S.slice(s, e)}${q ? `]` : ''}`;
|
|
630
|
+
}).join(',')
|
|
631
|
+
}}${
|
|
632
|
+
depLoad.a[1].length ? `let ${depLoad.a[1].map((_, i) => `e$_${i}`).join(',')};` : ''
|
|
633
|
+
}export {${
|
|
634
|
+
depLoad.a[1].map(({ s, e }, i) => `e$_${i} as ${depLoad.S.slice(s, e)}`).join(',')
|
|
635
|
+
}}\n//# sourceURL=${depLoad.r}?cycle`);
|
|
649
636
|
}
|
|
650
|
-
lastIndex = statementEnd;
|
|
651
|
-
}
|
|
652
|
-
// import.meta
|
|
653
|
-
else if (dynamicImportIndex === -2) {
|
|
654
|
-
load.m = { url: load.r, resolve: metaResolve };
|
|
655
|
-
metaHook(load.m, load.u);
|
|
656
|
-
pushStringTo(start);
|
|
657
|
-
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
|
658
|
-
lastIndex = statementEnd;
|
|
659
637
|
}
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
638
|
+
|
|
639
|
+
pushStringTo(start - 1);
|
|
640
|
+
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
|
641
|
+
|
|
642
|
+
// circular shell execution
|
|
643
|
+
if (!cycleShell && depLoad.s) {
|
|
644
|
+
resolvedSource += `;import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`;
|
|
645
|
+
depLoad.s = undefined;
|
|
666
646
|
}
|
|
647
|
+
lastIndex = statementEnd;
|
|
667
648
|
}
|
|
649
|
+
// import.meta
|
|
650
|
+
else if (dynamicImportIndex === -2) {
|
|
651
|
+
load.m = { url: load.r, resolve: metaResolve };
|
|
652
|
+
metaHook(load.m, load.u);
|
|
653
|
+
pushStringTo(start);
|
|
654
|
+
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
|
655
|
+
lastIndex = statementEnd;
|
|
656
|
+
}
|
|
657
|
+
// dynamic import
|
|
658
|
+
else {
|
|
659
|
+
pushStringTo(statementStart + 6);
|
|
660
|
+
resolvedSource += `Shim(`;
|
|
661
|
+
dynamicImportEndStack.push(statementEnd - 1);
|
|
662
|
+
lastIndex = start;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
// support progressive cycle binding updates (try statement avoids tdz errors)
|
|
667
|
+
if (load.s)
|
|
668
|
+
resolvedSource += `\n;import{u$_}from'${load.s}';try{u$_({${exports.filter(e => e.ln).map(({ s, e, ln }) => `${source.slice(s, e)}:${ln}`).join(',')}})}catch(_){};\n`;
|
|
669
|
+
|
|
670
|
+
function pushSourceURL (commentPrefix, commentStart) {
|
|
671
|
+
const urlStart = commentStart + commentPrefix.length;
|
|
672
|
+
const commentEnd = source.indexOf('\n', urlStart);
|
|
673
|
+
const urlEnd = commentEnd !== -1 ? commentEnd : source.length;
|
|
674
|
+
pushStringTo(urlStart);
|
|
675
|
+
resolvedSource += new URL(source.slice(urlStart, urlEnd), load.r).href;
|
|
676
|
+
lastIndex = urlEnd;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
let sourceURLCommentStart = source.lastIndexOf(sourceURLCommentPrefix);
|
|
680
|
+
let sourceMapURLCommentStart = source.lastIndexOf(sourceMapURLCommentPrefix);
|
|
668
681
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
682
|
+
// ignore sourceMap comments before already spliced code
|
|
683
|
+
if (sourceURLCommentStart < lastIndex) sourceURLCommentStart = -1;
|
|
684
|
+
if (sourceMapURLCommentStart < lastIndex) sourceMapURLCommentStart = -1;
|
|
672
685
|
|
|
673
|
-
|
|
686
|
+
// sourceURL first / only
|
|
687
|
+
if (sourceURLCommentStart !== -1 && (sourceMapURLCommentStart === -1 || sourceMapURLCommentStart > sourceURLCommentStart)) {
|
|
688
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
|
674
689
|
}
|
|
690
|
+
// sourceMappingURL
|
|
691
|
+
if (sourceMapURLCommentStart !== -1) {
|
|
692
|
+
pushSourceURL(sourceMapURLCommentPrefix, sourceMapURLCommentStart);
|
|
693
|
+
// sourceURL last
|
|
694
|
+
if (sourceURLCommentStart !== -1 && (sourceURLCommentStart > sourceMapURLCommentStart))
|
|
695
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
pushStringTo(source.length);
|
|
675
699
|
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
if (!hasSourceURL)
|
|
679
|
-
resolvedSource += '\n//# sourceURL=' + load.r;
|
|
700
|
+
if (sourceURLCommentStart === -1)
|
|
701
|
+
resolvedSource += sourceURLCommentPrefix + load.r;
|
|
680
702
|
|
|
681
703
|
load.b = lastLoad = createBlob(resolvedSource);
|
|
682
704
|
load.S = undefined;
|
|
683
705
|
}
|
|
684
706
|
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
const sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/;
|
|
707
|
+
const sourceURLCommentPrefix = '\n//# sourceURL=';
|
|
708
|
+
const sourceMapURLCommentPrefix = '\n//# sourceMappingURL=';
|
|
688
709
|
|
|
689
710
|
const jsContentType = /^(text|application)\/(x-)?javascript(;|$)/;
|
|
690
711
|
const jsonContentType = /^(text|application)\/json(;|$)/;
|
package/dist/es-module-shims.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* ES Module Shims 1.7.
|
|
1
|
+
/* ES Module Shims 1.7.3 */
|
|
2
2
|
(function () {
|
|
3
3
|
|
|
4
4
|
const hasWindow = typeof window !== 'undefined';
|
|
@@ -596,88 +596,109 @@
|
|
|
596
596
|
// edge doesnt execute sibling in order, so we fix this up by ensuring all previous executions are explicit dependencies
|
|
597
597
|
let resolvedSource = edge && lastLoad ? `import '${lastLoad}';` : '';
|
|
598
598
|
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
while (dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
608
|
-
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
609
|
-
resolvedSource += `${source.slice(lastIndex, dynamicImportEnd)}, ${urlJsString(load.r)}`;
|
|
610
|
-
lastIndex = dynamicImportEnd;
|
|
611
|
-
}
|
|
612
|
-
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
613
|
-
lastIndex = originalIndex;
|
|
599
|
+
// once all deps have loaded we can inline the dependency resolution blobs
|
|
600
|
+
// and define this blob
|
|
601
|
+
let lastIndex = 0, depIndex = 0, dynamicImportEndStack = [];
|
|
602
|
+
function pushStringTo (originalIndex) {
|
|
603
|
+
while (dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
604
|
+
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
605
|
+
resolvedSource += `${source.slice(lastIndex, dynamicImportEnd)}, ${urlJsString(load.r)}`;
|
|
606
|
+
lastIndex = dynamicImportEnd;
|
|
614
607
|
}
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
let depLoad = load.d[depIndex++], blobUrl = depLoad.b, cycleShell = !blobUrl;
|
|
619
|
-
if (cycleShell) {
|
|
620
|
-
// circular shell creation
|
|
621
|
-
if (!(blobUrl = depLoad.s)) {
|
|
622
|
-
blobUrl = depLoad.s = createBlob(`export function u$_(m){${
|
|
623
|
-
depLoad.a[1].map(({ s, e }, i) => {
|
|
624
|
-
const q = depLoad.S[s] === '"' || depLoad.S[s] === "'";
|
|
625
|
-
return `e$_${i}=m${q ? `[` : '.'}${depLoad.S.slice(s, e)}${q ? `]` : ''}`;
|
|
626
|
-
}).join(',')
|
|
627
|
-
}}${
|
|
628
|
-
depLoad.a[1].length ? `let ${depLoad.a[1].map((_, i) => `e$_${i}`).join(',')};` : ''
|
|
629
|
-
}export {${
|
|
630
|
-
depLoad.a[1].map(({ s, e }, i) => `e$_${i} as ${depLoad.S.slice(s, e)}`).join(',')
|
|
631
|
-
}}\n//# sourceURL=${depLoad.r}?cycle`);
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
pushStringTo(start - 1);
|
|
636
|
-
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
|
608
|
+
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
609
|
+
lastIndex = originalIndex;
|
|
610
|
+
}
|
|
637
611
|
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
612
|
+
for (const { s: start, ss: statementStart, se: statementEnd, d: dynamicImportIndex } of imports) {
|
|
613
|
+
// dependency source replacements
|
|
614
|
+
if (dynamicImportIndex === -1) {
|
|
615
|
+
let depLoad = load.d[depIndex++], blobUrl = depLoad.b, cycleShell = !blobUrl;
|
|
616
|
+
if (cycleShell) {
|
|
617
|
+
// circular shell creation
|
|
618
|
+
if (!(blobUrl = depLoad.s)) {
|
|
619
|
+
blobUrl = depLoad.s = createBlob(`export function u$_(m){${
|
|
620
|
+
depLoad.a[1].map(({ s, e }, i) => {
|
|
621
|
+
const q = depLoad.S[s] === '"' || depLoad.S[s] === "'";
|
|
622
|
+
return `e$_${i}=m${q ? `[` : '.'}${depLoad.S.slice(s, e)}${q ? `]` : ''}`;
|
|
623
|
+
}).join(',')
|
|
624
|
+
}}${
|
|
625
|
+
depLoad.a[1].length ? `let ${depLoad.a[1].map((_, i) => `e$_${i}`).join(',')};` : ''
|
|
626
|
+
}export {${
|
|
627
|
+
depLoad.a[1].map(({ s, e }, i) => `e$_${i} as ${depLoad.S.slice(s, e)}`).join(',')
|
|
628
|
+
}}\n//# sourceURL=${depLoad.r}?cycle`);
|
|
642
629
|
}
|
|
643
|
-
lastIndex = statementEnd;
|
|
644
|
-
}
|
|
645
|
-
// import.meta
|
|
646
|
-
else if (dynamicImportIndex === -2) {
|
|
647
|
-
load.m = { url: load.r, resolve: metaResolve };
|
|
648
|
-
metaHook(load.m, load.u);
|
|
649
|
-
pushStringTo(start);
|
|
650
|
-
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
|
651
|
-
lastIndex = statementEnd;
|
|
652
630
|
}
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
631
|
+
|
|
632
|
+
pushStringTo(start - 1);
|
|
633
|
+
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
|
634
|
+
|
|
635
|
+
// circular shell execution
|
|
636
|
+
if (!cycleShell && depLoad.s) {
|
|
637
|
+
resolvedSource += `;import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`;
|
|
638
|
+
depLoad.s = undefined;
|
|
659
639
|
}
|
|
640
|
+
lastIndex = statementEnd;
|
|
660
641
|
}
|
|
642
|
+
// import.meta
|
|
643
|
+
else if (dynamicImportIndex === -2) {
|
|
644
|
+
load.m = { url: load.r, resolve: metaResolve };
|
|
645
|
+
metaHook(load.m, load.u);
|
|
646
|
+
pushStringTo(start);
|
|
647
|
+
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
|
648
|
+
lastIndex = statementEnd;
|
|
649
|
+
}
|
|
650
|
+
// dynamic import
|
|
651
|
+
else {
|
|
652
|
+
pushStringTo(statementStart + 6);
|
|
653
|
+
resolvedSource += `Shim(`;
|
|
654
|
+
dynamicImportEndStack.push(statementEnd - 1);
|
|
655
|
+
lastIndex = start;
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
// support progressive cycle binding updates (try statement avoids tdz errors)
|
|
660
|
+
if (load.s)
|
|
661
|
+
resolvedSource += `\n;import{u$_}from'${load.s}';try{u$_({${exports.filter(e => e.ln).map(({ s, e, ln }) => `${source.slice(s, e)}:${ln}`).join(',')}})}catch(_){};\n`;
|
|
662
|
+
|
|
663
|
+
function pushSourceURL (commentPrefix, commentStart) {
|
|
664
|
+
const urlStart = commentStart + commentPrefix.length;
|
|
665
|
+
const commentEnd = source.indexOf('\n', urlStart);
|
|
666
|
+
const urlEnd = commentEnd !== -1 ? commentEnd : source.length;
|
|
667
|
+
pushStringTo(urlStart);
|
|
668
|
+
resolvedSource += new URL(source.slice(urlStart, urlEnd), load.r).href;
|
|
669
|
+
lastIndex = urlEnd;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
let sourceURLCommentStart = source.lastIndexOf(sourceURLCommentPrefix);
|
|
673
|
+
let sourceMapURLCommentStart = source.lastIndexOf(sourceMapURLCommentPrefix);
|
|
661
674
|
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
675
|
+
// ignore sourceMap comments before already spliced code
|
|
676
|
+
if (sourceURLCommentStart < lastIndex) sourceURLCommentStart = -1;
|
|
677
|
+
if (sourceMapURLCommentStart < lastIndex) sourceMapURLCommentStart = -1;
|
|
665
678
|
|
|
666
|
-
|
|
679
|
+
// sourceURL first / only
|
|
680
|
+
if (sourceURLCommentStart !== -1 && (sourceMapURLCommentStart === -1 || sourceMapURLCommentStart > sourceURLCommentStart)) {
|
|
681
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
|
667
682
|
}
|
|
683
|
+
// sourceMappingURL
|
|
684
|
+
if (sourceMapURLCommentStart !== -1) {
|
|
685
|
+
pushSourceURL(sourceMapURLCommentPrefix, sourceMapURLCommentStart);
|
|
686
|
+
// sourceURL last
|
|
687
|
+
if (sourceURLCommentStart !== -1 && (sourceURLCommentStart > sourceMapURLCommentStart))
|
|
688
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
pushStringTo(source.length);
|
|
668
692
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
if (!hasSourceURL)
|
|
672
|
-
resolvedSource += '\n//# sourceURL=' + load.r;
|
|
693
|
+
if (sourceURLCommentStart === -1)
|
|
694
|
+
resolvedSource += sourceURLCommentPrefix + load.r;
|
|
673
695
|
|
|
674
696
|
load.b = lastLoad = createBlob(resolvedSource);
|
|
675
697
|
load.S = undefined;
|
|
676
698
|
}
|
|
677
699
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
const sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/;
|
|
700
|
+
const sourceURLCommentPrefix = '\n//# sourceURL=';
|
|
701
|
+
const sourceMapURLCommentPrefix = '\n//# sourceMappingURL=';
|
|
681
702
|
|
|
682
703
|
const jsContentType = /^(text|application)\/(x-)?javascript(;|$)/;
|
|
683
704
|
const jsonContentType = /^(text|application)\/json(;|$)/;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* ES Module Shims Wasm 1.7.
|
|
1
|
+
/* ES Module Shims Wasm 1.7.3 */
|
|
2
2
|
(function () {
|
|
3
3
|
|
|
4
4
|
const hasWindow = typeof window !== 'undefined';
|
|
@@ -596,88 +596,109 @@
|
|
|
596
596
|
// edge doesnt execute sibling in order, so we fix this up by ensuring all previous executions are explicit dependencies
|
|
597
597
|
let resolvedSource = edge && lastLoad ? `import '${lastLoad}';` : '';
|
|
598
598
|
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
while (dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
608
|
-
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
609
|
-
resolvedSource += `${source.slice(lastIndex, dynamicImportEnd)}, ${urlJsString(load.r)}`;
|
|
610
|
-
lastIndex = dynamicImportEnd;
|
|
611
|
-
}
|
|
612
|
-
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
613
|
-
lastIndex = originalIndex;
|
|
599
|
+
// once all deps have loaded we can inline the dependency resolution blobs
|
|
600
|
+
// and define this blob
|
|
601
|
+
let lastIndex = 0, depIndex = 0, dynamicImportEndStack = [];
|
|
602
|
+
function pushStringTo (originalIndex) {
|
|
603
|
+
while (dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
604
|
+
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
605
|
+
resolvedSource += `${source.slice(lastIndex, dynamicImportEnd)}, ${urlJsString(load.r)}`;
|
|
606
|
+
lastIndex = dynamicImportEnd;
|
|
614
607
|
}
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
let depLoad = load.d[depIndex++], blobUrl = depLoad.b, cycleShell = !blobUrl;
|
|
619
|
-
if (cycleShell) {
|
|
620
|
-
// circular shell creation
|
|
621
|
-
if (!(blobUrl = depLoad.s)) {
|
|
622
|
-
blobUrl = depLoad.s = createBlob(`export function u$_(m){${
|
|
623
|
-
depLoad.a[1].map(({ s, e }, i) => {
|
|
624
|
-
const q = depLoad.S[s] === '"' || depLoad.S[s] === "'";
|
|
625
|
-
return `e$_${i}=m${q ? `[` : '.'}${depLoad.S.slice(s, e)}${q ? `]` : ''}`;
|
|
626
|
-
}).join(',')
|
|
627
|
-
}}${
|
|
628
|
-
depLoad.a[1].length ? `let ${depLoad.a[1].map((_, i) => `e$_${i}`).join(',')};` : ''
|
|
629
|
-
}export {${
|
|
630
|
-
depLoad.a[1].map(({ s, e }, i) => `e$_${i} as ${depLoad.S.slice(s, e)}`).join(',')
|
|
631
|
-
}}\n//# sourceURL=${depLoad.r}?cycle`);
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
pushStringTo(start - 1);
|
|
636
|
-
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
|
608
|
+
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
609
|
+
lastIndex = originalIndex;
|
|
610
|
+
}
|
|
637
611
|
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
612
|
+
for (const { s: start, ss: statementStart, se: statementEnd, d: dynamicImportIndex } of imports) {
|
|
613
|
+
// dependency source replacements
|
|
614
|
+
if (dynamicImportIndex === -1) {
|
|
615
|
+
let depLoad = load.d[depIndex++], blobUrl = depLoad.b, cycleShell = !blobUrl;
|
|
616
|
+
if (cycleShell) {
|
|
617
|
+
// circular shell creation
|
|
618
|
+
if (!(blobUrl = depLoad.s)) {
|
|
619
|
+
blobUrl = depLoad.s = createBlob(`export function u$_(m){${
|
|
620
|
+
depLoad.a[1].map(({ s, e }, i) => {
|
|
621
|
+
const q = depLoad.S[s] === '"' || depLoad.S[s] === "'";
|
|
622
|
+
return `e$_${i}=m${q ? `[` : '.'}${depLoad.S.slice(s, e)}${q ? `]` : ''}`;
|
|
623
|
+
}).join(',')
|
|
624
|
+
}}${
|
|
625
|
+
depLoad.a[1].length ? `let ${depLoad.a[1].map((_, i) => `e$_${i}`).join(',')};` : ''
|
|
626
|
+
}export {${
|
|
627
|
+
depLoad.a[1].map(({ s, e }, i) => `e$_${i} as ${depLoad.S.slice(s, e)}`).join(',')
|
|
628
|
+
}}\n//# sourceURL=${depLoad.r}?cycle`);
|
|
642
629
|
}
|
|
643
|
-
lastIndex = statementEnd;
|
|
644
|
-
}
|
|
645
|
-
// import.meta
|
|
646
|
-
else if (dynamicImportIndex === -2) {
|
|
647
|
-
load.m = { url: load.r, resolve: metaResolve };
|
|
648
|
-
metaHook(load.m, load.u);
|
|
649
|
-
pushStringTo(start);
|
|
650
|
-
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
|
651
|
-
lastIndex = statementEnd;
|
|
652
630
|
}
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
631
|
+
|
|
632
|
+
pushStringTo(start - 1);
|
|
633
|
+
resolvedSource += `/*${source.slice(start - 1, statementEnd)}*/${urlJsString(blobUrl)}`;
|
|
634
|
+
|
|
635
|
+
// circular shell execution
|
|
636
|
+
if (!cycleShell && depLoad.s) {
|
|
637
|
+
resolvedSource += `;import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`;
|
|
638
|
+
depLoad.s = undefined;
|
|
659
639
|
}
|
|
640
|
+
lastIndex = statementEnd;
|
|
660
641
|
}
|
|
642
|
+
// import.meta
|
|
643
|
+
else if (dynamicImportIndex === -2) {
|
|
644
|
+
load.m = { url: load.r, resolve: metaResolve };
|
|
645
|
+
metaHook(load.m, load.u);
|
|
646
|
+
pushStringTo(start);
|
|
647
|
+
resolvedSource += `importShim._r[${urlJsString(load.u)}].m`;
|
|
648
|
+
lastIndex = statementEnd;
|
|
649
|
+
}
|
|
650
|
+
// dynamic import
|
|
651
|
+
else {
|
|
652
|
+
pushStringTo(statementStart + 6);
|
|
653
|
+
resolvedSource += `Shim(`;
|
|
654
|
+
dynamicImportEndStack.push(statementEnd - 1);
|
|
655
|
+
lastIndex = start;
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
// support progressive cycle binding updates (try statement avoids tdz errors)
|
|
660
|
+
if (load.s)
|
|
661
|
+
resolvedSource += `\n;import{u$_}from'${load.s}';try{u$_({${exports.filter(e => e.ln).map(({ s, e, ln }) => `${source.slice(s, e)}:${ln}`).join(',')}})}catch(_){};\n`;
|
|
662
|
+
|
|
663
|
+
function pushSourceURL (commentPrefix, commentStart) {
|
|
664
|
+
const urlStart = commentStart + commentPrefix.length;
|
|
665
|
+
const commentEnd = source.indexOf('\n', urlStart);
|
|
666
|
+
const urlEnd = commentEnd !== -1 ? commentEnd : source.length;
|
|
667
|
+
pushStringTo(urlStart);
|
|
668
|
+
resolvedSource += new URL(source.slice(urlStart, urlEnd), load.r).href;
|
|
669
|
+
lastIndex = urlEnd;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
let sourceURLCommentStart = source.lastIndexOf(sourceURLCommentPrefix);
|
|
673
|
+
let sourceMapURLCommentStart = source.lastIndexOf(sourceMapURLCommentPrefix);
|
|
661
674
|
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
675
|
+
// ignore sourceMap comments before already spliced code
|
|
676
|
+
if (sourceURLCommentStart < lastIndex) sourceURLCommentStart = -1;
|
|
677
|
+
if (sourceMapURLCommentStart < lastIndex) sourceMapURLCommentStart = -1;
|
|
665
678
|
|
|
666
|
-
|
|
679
|
+
// sourceURL first / only
|
|
680
|
+
if (sourceURLCommentStart !== -1 && (sourceMapURLCommentStart === -1 || sourceMapURLCommentStart > sourceURLCommentStart)) {
|
|
681
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
|
667
682
|
}
|
|
683
|
+
// sourceMappingURL
|
|
684
|
+
if (sourceMapURLCommentStart !== -1) {
|
|
685
|
+
pushSourceURL(sourceMapURLCommentPrefix, sourceMapURLCommentStart);
|
|
686
|
+
// sourceURL last
|
|
687
|
+
if (sourceURLCommentStart !== -1 && (sourceURLCommentStart > sourceMapURLCommentStart))
|
|
688
|
+
pushSourceURL(sourceURLCommentPrefix, sourceURLCommentStart);
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
pushStringTo(source.length);
|
|
668
692
|
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
if (!hasSourceURL)
|
|
672
|
-
resolvedSource += '\n//# sourceURL=' + load.r;
|
|
693
|
+
if (sourceURLCommentStart === -1)
|
|
694
|
+
resolvedSource += sourceURLCommentPrefix + load.r;
|
|
673
695
|
|
|
674
696
|
load.b = lastLoad = createBlob(resolvedSource);
|
|
675
697
|
load.S = undefined;
|
|
676
698
|
}
|
|
677
699
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
const sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/;
|
|
700
|
+
const sourceURLCommentPrefix = '\n//# sourceURL=';
|
|
701
|
+
const sourceMapURLCommentPrefix = '\n//# sourceMappingURL=';
|
|
681
702
|
|
|
682
703
|
const jsContentType = /^(text|application)\/(x-)?javascript(;|$)/;
|
|
683
704
|
const jsonContentType = /^(text|application)\/json(;|$)/;
|