es-module-shims 1.5.11 → 1.5.14

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 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.5.11/dist/es-module-shims.js"></script>
32
+ <script async src="https://ga.jspm.io/npm:es-module-shims@1.5.14/dist/es-module-shims.js"></script>
33
33
 
34
34
  <!-- https://generator.jspm.io/#U2NhYGBkDM0rySzJSU1hKEpNTC5xMLTQM9Az0C1K1jMAAKFS5w0gAA -->
35
35
  <script type="importmap">
@@ -186,43 +186,38 @@ Benchmark summary:
186
186
 
187
187
  Works in all browsers with [baseline ES module support](https://caniuse.com/#feat=es6-module).
188
188
 
189
- Browser Compatibility **with ES Module Shims**:
190
-
191
- | ES Modules Features | Chrome (61+) | Firefox (60+) | Safari (10.1+) | Edge (17+) |
192
- | ---------------------------------- | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
193
- | Executes Modules in Correct Order | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:<sup>1</sup> |
194
- | [Dynamic Import](#dynamic-import) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
195
- | [import.meta.url](#importmetaurl) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
196
- | [Module Workers](#module-workers) | :heavy_check_mark: ~68+ | :x:<sup>2</sup> | :x:<sup>2</sup> | :x:<sup>2</sup> |
197
- | [modulepreload](#modulepreload) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
198
- | [Import Maps](#import-maps) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
199
- | [JSON Modules](#json-modules) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
200
- | [CSS Modules](#css-modules) | :heavy_check_mark:<sup>3</sup> | :heavy_check_mark:<sup>3</sup> | :heavy_check_mark:<sup>3</sup> | :heavy_check_mark:<sup>3</sup> |
201
- | [import.meta.resolve](#resolve) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
202
- | [Top-Level Await](#tla) | :heavy_check_mark: 89+ | :heavy_check_mark: 89+ | :x:<sup>4</sup> | :x:<sup>4</sup> |
203
-
204
- * 1: _The Edge parallel execution ordering bug is corrected by ES Module Shims with an execution chain inlining approach._
205
- * 2: _Module worker support cannot be implemented without dynamic import support in web workers._
206
- * 3: _CSS module support requires a separate [Constructable Stylesheets polyfill](https://github.com/calebdwilliams/construct-style-sheets#readme)._
207
- * 4: _Top-level await support is possible for ES Module Shims to implement, with the feature request tracking in https://github.com/guybedford/es-module-shims/issues/5._
208
-
209
- Browser compatibility **without ES module shims**:
210
-
211
- | ES Modules Features | Chrome (61+) | Firefox (60+) | Safari (10.1+) | Edge (17+) |
212
- | ---------------------------------- | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
213
- | Executes Modules in Correct Order | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x:<sup>1</sup> |
214
- | [Dynamic Import](#dynamic-import) | :heavy_check_mark: 63+ | :heavy_check_mark: 67+ | :heavy_check_mark: 11.1+ | :x: |
215
- | [import.meta.url](#importmetaurl) | :heavy_check_mark: ~76+ | :heavy_check_mark: ~67+ | :heavy_check_mark: ~12+ ❕<sup>1</sup>| :x: |
216
- | [Module Workers](#module-workers) | :heavy_check_mark: ~68+ | :x: | :x: | :x: |
217
- | [modulepreload](#modulepreload) | :heavy_check_mark: 66+ | :x: | :x: | :x: |
218
- | [Import Maps](#import-maps) | :heavy_check_mark: 89+ | :x: | :x: | :x: |
219
- | [JSON Modules](#json-modules) | :heavy_check_mark: 91+ | :x: | :x: | :x: |
220
- | [CSS Modules](#css-modules) | :heavy_check_mark: 95+ | :x: | :x: | :x: |
221
- | [import.meta.resolve](#resolve) | :x: | :x: | :x: | :x: |
222
- | [Top-Level Await](#tla) | :heavy_check_mark: 89+ | :heavy_check_mark: 89+ | :x: | :x: |
223
-
224
- * 1: _Edge executes parallel dependencies in non-deterministic order. ([ChakraCore bug](https://github.com/microsoft/ChakraCore/issues/6261))._
225
- * ~: _Indicates the exact first version support has not yet been determined (PR's welcome!)._
189
+ Browser Compatibility on baseline ES modules support **with** ES Module Shims:
190
+
191
+ | ES Modules Features | Chrome (61+) | Firefox (60+) | Safari (10.1+) |
192
+ | ----------------------------------------------- | ------------------------------------ | ------------------------------------ | ------------------------------------ |
193
+ | [modulepreload](#modulepreload) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
194
+ | [Dynamic Import](#dynamic-import) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
195
+ | [import.meta.url](#importmetaurl) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
196
+ | [Import Maps](#import-maps) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
197
+ | [JSON Modules](#json-modules) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
198
+ | [CSS Modules](#css-modules) | :heavy_check_mark:<sup>1</sup> | :heavy_check_mark:<sup>1</sup> | :heavy_check_mark:<sup>1</sup> |
199
+ | [import.meta.resolve](#resolve) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
200
+ | [Module Workers](#module-workers) (via wrapper) | 63+ | :x:<sup>2</sup> | 15+ |
201
+ | Top-Level Await (unpolyfilled<sup>3</sup>) | 89+ | 89+ | 15+ |
202
+
203
+ * 1: _CSS module support requires a separate [Constructable Stylesheets polyfill](https://github.com/calebdwilliams/construct-style-sheets#readme)._
204
+ * 2: _Module worker support cannot yet be implemented in Firefox due to no dynamic import support in web workers._
205
+ * 3: _Top-level await support is not currently polyfilled but is possible for ES Module Shims to implement for intermediate browser versions, with the feature request tracking in https://github.com/guybedford/es-module-shims/issues/5. The compatibility gap with native modules is currently < 5% of users so it may not even be necessary._
206
+
207
+ Browser compatibility **without** ES Module Shims:
208
+
209
+ | ES Modules Features | Chrome | Firefox | Safari |
210
+ | ---------------------------------- | ------------------ | ------------------ | ------------------ |
211
+ | [modulepreload](#modulepreload) | 66+ | :x: | :x: |
212
+ | [Dynamic Import](#dynamic-import) | 63+ | 67+ | 11.1+ |
213
+ | [import.meta.url](#importmetaurl) | ~76+ | ~67+ | ~12+ ❕<sup>1</sup> |
214
+ | [Import Maps](#import-maps) | 89+ | :x: | :x: |
215
+ | [JSON Modules](#json-modules) | 91+ | :x: | :x: |
216
+ | [CSS Modules](#css-modules) | 95+ | :x: | :x: |
217
+ | [import.meta.resolve](#resolve) | :x: | :x: | :x: |
218
+ | [Module Workers](#module-workers) | ~68+ | :x: | :x: |
219
+ | Top-Level Await | 89+ | 89+ | 15+ |
220
+
226
221
  * ❕<sup>1</sup>: On module redirects, Safari returns the request URL in `import.meta.url` instead of the response URL as per the spec.
227
222
 
228
223
  ### Import Maps
@@ -435,9 +430,11 @@ var resolvedUrl = import.meta.resolve('dep', 'https://site.com/another/scope');
435
430
  Node.js also implements a similar API, although it's in the process of shifting to a synchronous resolver.
436
431
 
437
432
  ### Module Workers
438
- ES Module Shims can be used in module workers in browsers that provide dynamic import in worker environments, which at the moment are Chrome(80+), Edge(80+), Safari(15+).
439
433
 
440
- An example of ES Module Shims usage in web workers is provided below:
434
+ ES Module Shims can be used in module workers in browsers that provide dynamic import in worker environments, which at the moment are Chrome(80+), Edge(80+) and Safari(15+).
435
+
436
+ By default, when there is no DOM present, ES Module Shims will switch into shim mode. An example of ES Module Shims usage through shim mode in web workers is provided below:
437
+
441
438
  ```js
442
439
  /**
443
440
  *
@@ -460,7 +457,8 @@ function getWorkerScriptURL(aURL) {
460
457
 
461
458
  const worker = new Worker(getWorkerScriptURL('myEsModule.js'));
462
459
  ```
463
- > For now, in web workers must be used the non-CSP build of ES Module Shims, namely the `es-module-shim.wasm.js` output: es-module-shims/dist/es-module-shims.wasm.js.
460
+
461
+ > Web workers must use the non-CSP build of ES Module Shims via `es-module-shim.wasm.js` from the `dist/` folder, since the CSP build currently assumes a DOM.
464
462
 
465
463
  ## Init Options
466
464
 
@@ -862,7 +860,7 @@ window.esmsInitOptions = {
862
860
 
863
861
  * Sources are fetched, import specifiers are rewritten to reference exact URLs, and then executed as BlobURLs through the whole module graph.
864
862
  * The [lexer](https://github.com/guybedford/es-module-lexer) handles the full language grammar including nested template strings, comments, regexes and division operator ambiguity based on backtracking.
865
- * When executing a circular reference A -> B -> A, a shell module technique is used to "shim" the circular reference into an acyclic graph. As a result, live bindings for the circular parent A are not supported, and instead the bindings are captured immediately after the execution of A.
863
+ * When executing a circular reference A -> B -> A, a shell module technique is used to acyclify into the graph A -> B -> A Shell, with A -> A Shell. The shell module exports an update function which is called by the original once after the last import statement, and again after the last statement of the source file.
866
864
 
867
865
  ## Inspiration
868
866
 
@@ -1,4 +1,4 @@
1
- /* ES Module Shims 1.5.11 */
1
+ /* ES Module Shims 1.5.14 */
2
2
  (function () {
3
3
 
4
4
  const hasWindow = typeof window !== 'undefined';
@@ -293,7 +293,7 @@
293
293
  }), opts && opts.errUrl || url);
294
294
 
295
295
  // This is done as a script so we don't trigger module loading too early for any loading import maps
296
- const supportsDynamicImportCheck = inject(Object.assign(document.createElement('script'), { src: createBlob('u => import(u)') })).then(() => true, () => false);
296
+ const supportsDynamicImportCheck = inject(Object.assign(document.createElement('script'), { src: createBlob('self._esmsi=u => import(u)') })).then(() => true, () => false);
297
297
 
298
298
  // support browsers without dynamic import support (eg Firefox 6x)
299
299
  let supportsJsonAssertions = false;
@@ -303,16 +303,24 @@
303
303
  let supportsImportMeta = supportsImportMaps;
304
304
  let supportsDynamicImport = false;
305
305
 
306
- const featureDetect = async () => {
307
- if (!(supportsImportMaps || await supportsDynamicImportCheck))
306
+ const featureDetectionPromise = Promise.resolve(supportsImportMaps || supportsDynamicImportCheck).then(_supportsDynamicImport => {
307
+ if (!_supportsDynamicImport)
308
308
  return;
309
309
  supportsDynamicImport = true;
310
310
 
311
- await Promise.all([
312
- supportsImportMaps || dynamicImport(createBlob('import.meta')).then(() => supportsImportMeta = true, noop),
313
- cssModulesEnabled && dynamicImport(createBlob(`import"${createBlob('', 'text/css')}"assert{type:"css"}`)).then(() => supportsCssAssertions = true, noop),
314
- jsonModulesEnabled && dynamicImport(createBlob(`import"${createBlob('{}', 'text/json')}"assert{type:"json"}`)).then(() => supportsJsonAssertions = true, noop),
315
- supportsImportMaps || hasDocument && (HTMLScriptElement.supports || new Promise(resolve => {
311
+ if (!supportsImportMaps || cssModulesEnabled || jsonModulesEnabled) {
312
+ const importMetaCheck = createBlob('import.meta');
313
+ const cssModulesCheck = createBlob(`import"${createBlob('', 'text/css')}"assert{type:"css"}`);
314
+ const jsonModulesCheck = createBlob(`import"${createBlob('{}', 'text/json')}"assert{type:"json"}`);
315
+
316
+ if (!hasDocument)
317
+ return Promise.all([
318
+ supportsImportMaps || dynamicImport(importMetaCheck).then(() => supportsImportMeta = true, noop),
319
+ cssModulesEnabled && dynamicImport(cssModulesCheck).then(() => supportsCssAssertions = true, noop),
320
+ jsonModulesEnabled && dynamicImport(jsonModulescheck).then(() => supportsJsonAssertions = true, noop),
321
+ ]);
322
+
323
+ return new Promise(resolve => {
316
324
  const iframe = document.createElement('iframe');
317
325
  iframe.style.display = 'none';
318
326
  iframe.setAttribute('nonce', nonce);
@@ -322,22 +330,27 @@
322
330
  iframe.srcdoc = `<!doctype html><script nonce="${nonce}"><${''}/script>`;
323
331
  document.head.appendChild(iframe);
324
332
  iframe.onload = () => {
325
- self._$s = v => {
333
+ self._$s = (a, b, c, d) => {
326
334
  document.head.removeChild(iframe);
327
- supportsImportMaps = v;
335
+ supportsImportMaps = a;
336
+ supportsImportMeta = b;
337
+ supportsCssAssertions = c;
338
+ supportsJsonAssertions = d;
328
339
  delete self._$s;
329
340
  resolve();
330
341
  };
331
342
  const supportsSrcDoc = iframe.contentDocument.head.childNodes.length > 0;
332
- const importMapTest = `<!doctype html><script type=importmap nonce="${nonce}">{"imports":{"x":"${createBlob('')}"}<${''}/script><script nonce="${nonce}">import('x').catch(() => {}).then(v=>parent._$s(!!v))<${''}/script>`;
343
+ const importMapTest = `<!doctype html><script type=importmap nonce="${nonce}">{"imports":{"x":"${createBlob('')}"}}<${''}/script><script nonce="${nonce}">Promise.all([${
344
+ supportsImportMaps ? 'true, true' : `'x', '${importMetaCheck}'`}, ${cssModulesEnabled ? `'${cssModulesCheck}'` : 'false'}, ${jsonModulesEnabled ? `'${jsonModulesCheck}'` : 'false'
345
+ }].map(x => typeof x === 'string' ? import(x).then(x => !!x, () => false) : x)).then(a=>parent._$s.apply(null, a))<${''}/script>`;
333
346
  if (supportsSrcDoc)
334
347
  iframe.srcdoc = importMapTest;
335
348
  else
336
349
  iframe.contentDocument.write(importMapTest);
337
350
  };
338
- }))
339
- ]);
340
- };
351
+ });
352
+ }
353
+ });
341
354
 
342
355
  /* es-module-lexer 1.0.2 */
343
356
  let e,a,r,i=2<<19;const s=1===new Uint8Array(new Uint16Array([1]).buffer)[0]?function(e,a){const r=e.length;let i=0;for(;i<r;)a[i]=e.charCodeAt(i++);}:function(e,a){const r=e.length;let i=0;for(;i<r;){const r=e.charCodeAt(i);a[i++]=(255&r)<<8|r>>>8;}},t="xportmportlassetafromssertvoyiedelecontininstantybreareturdebuggeawaithrwhileforifcatcfinallels";let c$1,f,n;function parse(l,k="@"){c$1=l,f=k;const u=2*c$1.length+(2<<18);if(u>i||!e){for(;u>i;)i*=2;a=new ArrayBuffer(i),s(t,new Uint16Array(a,16,95)),e=function(e,a,r){"use asm";var i=new e.Int8Array(r),s=new e.Int16Array(r),t=new e.Int32Array(r),c=new e.Uint8Array(r),f=new e.Uint16Array(r),n=1008;function b(e){e=e|0;var a=0,r=0,c=0,b=0,o=0,w=0;w=n;n=n+10240|0;i[775]=1;s[385]=0;s[386]=0;t[62]=t[2];i[776]=0;t[61]=0;i[774]=0;t[63]=w+2048;t[64]=w;i[777]=0;e=(t[3]|0)+-2|0;t[65]=e;a=e+(t[59]<<1)|0;t[66]=a;e:while(1){r=e+2|0;t[65]=r;if(e>>>0>=a>>>0){b=18;break}a:do{switch(s[r>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{if((((s[386]|0)==0?F(r)|0:0)?(m(e+4|0,16,10)|0)==0:0)?(l(),(i[775]|0)==0):0){b=9;break e}else b=17;break}case 105:{if(F(r)|0?(m(e+4|0,26,10)|0)==0:0){k();b=17;}else b=17;break}case 59:{b=17;break}case 47:switch(s[e+4>>1]|0){case 47:{E();break a}case 42:{y(1);break a}default:{b=16;break e}}default:{b=16;break e}}}while(0);if((b|0)==17){b=0;t[62]=t[65];}e=t[65]|0;a=t[66]|0;}if((b|0)==9){e=t[65]|0;t[62]=e;b=19;}else if((b|0)==16){i[775]=0;t[65]=e;b=19;}else if((b|0)==18)if(!(i[774]|0)){e=r;b=19;}else e=0;do{if((b|0)==19){e:while(1){a=e+2|0;t[65]=a;c=a;if(e>>>0>=(t[66]|0)>>>0){b=82;break}a:do{switch(s[a>>1]|0){case 9:case 10:case 11:case 12:case 13:case 32:break;case 101:{if(((s[386]|0)==0?F(a)|0:0)?(m(e+4|0,16,10)|0)==0:0){l();b=81;}else b=81;break}case 105:{if(F(a)|0?(m(e+4|0,26,10)|0)==0:0){k();b=81;}else b=81;break}case 99:{if((F(a)|0?(m(e+4|0,36,8)|0)==0:0)?R(s[e+12>>1]|0)|0:0){i[777]=1;b=81;}else b=81;break}case 40:{c=t[63]|0;a=s[386]|0;b=a&65535;t[c+(b<<3)>>2]=1;r=t[62]|0;s[386]=a+1<<16>>16;t[c+(b<<3)+4>>2]=r;b=81;break}case 41:{a=s[386]|0;if(!(a<<16>>16)){b=36;break e}a=a+-1<<16>>16;s[386]=a;r=s[385]|0;if(r<<16>>16!=0?(o=t[(t[64]|0)+((r&65535)+-1<<2)>>2]|0,(t[o+20>>2]|0)==(t[(t[63]|0)+((a&65535)<<3)+4>>2]|0)):0){a=o+4|0;if(!(t[a>>2]|0))t[a>>2]=c;t[o+12>>2]=e+4;s[385]=r+-1<<16>>16;b=81;}else b=81;break}case 123:{b=t[62]|0;c=t[56]|0;e=b;do{if((s[b>>1]|0)==41&(c|0)!=0?(t[c+4>>2]|0)==(b|0):0){a=t[57]|0;t[56]=a;if(!a){t[52]=0;break}else {t[a+28>>2]=0;break}}}while(0);c=t[63]|0;r=s[386]|0;b=r&65535;t[c+(b<<3)>>2]=(i[777]|0)==0?2:6;s[386]=r+1<<16>>16;t[c+(b<<3)+4>>2]=e;i[777]=0;b=81;break}case 125:{e=s[386]|0;if(!(e<<16>>16)){b=49;break e}c=t[63]|0;b=e+-1<<16>>16;s[386]=b;if((t[c+((b&65535)<<3)>>2]|0)==4){h();b=81;}else b=81;break}case 39:{d(39);b=81;break}case 34:{d(34);b=81;break}case 47:switch(s[e+4>>1]|0){case 47:{E();break a}case 42:{y(1);break a}default:{e=t[62]|0;c=s[e>>1]|0;r:do{if(!(U(c)|0)){switch(c<<16>>16){case 41:if(z(t[(t[63]|0)+(f[386]<<3)+4>>2]|0)|0){b=69;break r}else {b=66;break r}case 125:break;default:{b=66;break r}}a=t[63]|0;r=f[386]|0;if(!(p(t[a+(r<<3)+4>>2]|0)|0)?(t[a+(r<<3)>>2]|0)!=6:0)b=66;else b=69;}else switch(c<<16>>16){case 46:if(((s[e+-2>>1]|0)+-48&65535)<10){b=66;break r}else {b=69;break r}case 43:if((s[e+-2>>1]|0)==43){b=66;break r}else {b=69;break r}case 45:if((s[e+-2>>1]|0)==45){b=66;break r}else {b=69;break r}default:{b=69;break r}}}while(0);r:do{if((b|0)==66){b=0;if(!(u(e)|0)){switch(c<<16>>16){case 0:{b=69;break r}case 47:{if(i[776]|0){b=69;break r}break}default:{}}r=t[3]|0;a=c;do{if(e>>>0<=r>>>0)break;e=e+-2|0;t[62]=e;a=s[e>>1]|0;}while(!(B(a)|0));if(D(a)|0){do{if(e>>>0<=r>>>0)break;e=e+-2|0;t[62]=e;}while(D(s[e>>1]|0)|0);if($(e)|0){g();i[776]=0;b=81;break a}else e=1;}else e=1;}else b=69;}}while(0);if((b|0)==69){g();e=0;}i[776]=e;b=81;break a}}case 96:{c=t[63]|0;r=s[386]|0;b=r&65535;t[c+(b<<3)+4>>2]=t[62];s[386]=r+1<<16>>16;t[c+(b<<3)>>2]=3;h();b=81;break}default:b=81;}}while(0);if((b|0)==81){b=0;t[62]=t[65];}e=t[65]|0;}if((b|0)==36){Q();e=0;break}else if((b|0)==49){Q();e=0;break}else if((b|0)==82){e=(i[774]|0)==0?(s[385]|s[386])<<16>>16==0:0;break}}}while(0);n=w;return e|0}function l(){var e=0,a=0,r=0,c=0,f=0,n=0,b=0;f=t[65]|0;n=t[58]|0;b=f+12|0;t[65]=b;r=w(1)|0;e=t[65]|0;if(!((e|0)==(b|0)?!(I(r)|0):0))c=3;e:do{if((c|0)==3){a:do{switch(r<<16>>16){case 123:{t[65]=e+2;e=w(1)|0;r=t[65]|0;while(1){if(T(e)|0){d(e);e=(t[65]|0)+2|0;t[65]=e;}else {P(e)|0;e=t[65]|0;}w(1)|0;e=v(r,e)|0;if(e<<16>>16==44){t[65]=(t[65]|0)+2;e=w(1)|0;}a=r;r=t[65]|0;if(e<<16>>16==125){c=15;break}if((r|0)==(a|0)){c=12;break}if(r>>>0>(t[66]|0)>>>0){c=14;break}}if((c|0)==12){Q();break e}else if((c|0)==14){Q();break e}else if((c|0)==15){t[65]=r+2;break a}break}case 42:{t[65]=e+2;w(1)|0;b=t[65]|0;v(b,b)|0;break}default:{i[775]=0;switch(r<<16>>16){case 100:{O(e,e+14|0,0,0);break e}case 97:{t[65]=e+10;w(1)|0;e=t[65]|0;c=20;break}case 102:{c=20;break}case 99:{if((m(e+2|0,36,8)|0)==0?(a=e+10|0,B(s[a>>1]|0)|0):0){t[65]=a;b=w(1)|0;n=t[65]|0;P(b)|0;b=t[65]|0;O(n,b,n,b);t[65]=(t[65]|0)+-2;break e}e=e+4|0;t[65]=e;break}case 108:case 118:break;default:break e}if((c|0)==20){t[65]=e+16;e=w(1)|0;if(e<<16>>16==42){t[65]=(t[65]|0)+2;e=w(1)|0;}n=t[65]|0;P(e)|0;b=t[65]|0;O(n,b,n,b);t[65]=(t[65]|0)+-2;break e}e=e+4|0;t[65]=e;i[775]=0;r:while(1){t[65]=e+2;b=w(1)|0;e=t[65]|0;switch((P(b)|0)<<16>>16){case 91:case 123:break r;default:{}}a=t[65]|0;if((a|0)==(e|0))break e;O(e,a,e,a);if((w(1)|0)<<16>>16!=44)break;e=t[65]|0;}t[65]=(t[65]|0)+-2;break e}}}while(0);b=(w(1)|0)<<16>>16==102;e=t[65]|0;if(b?(m(e+2|0,52,6)|0)==0:0){t[65]=e+8;o(f,w(1)|0);e=(n|0)==0?212:n+16|0;while(1){e=t[e>>2]|0;if(!e)break e;t[e+12>>2]=0;t[e+8>>2]=0;e=e+16|0;}}t[65]=e+-2;}}while(0);return}function k(){var e=0,a=0,r=0,c=0,f=0,n=0;f=t[65]|0;a=f+12|0;t[65]=a;e:do{switch((w(1)|0)<<16>>16){case 40:{a=t[63]|0;n=s[386]|0;r=n&65535;t[a+(r<<3)>>2]=5;e=t[65]|0;s[386]=n+1<<16>>16;t[a+(r<<3)+4>>2]=e;if((s[t[62]>>1]|0)!=46){t[65]=e+2;n=w(1)|0;A(f,t[65]|0,0,e);a=t[56]|0;r=t[64]|0;f=s[385]|0;s[385]=f+1<<16>>16;t[r+((f&65535)<<2)>>2]=a;switch(n<<16>>16){case 39:{d(39);break}case 34:{d(34);break}default:{t[65]=(t[65]|0)+-2;break e}}e=(t[65]|0)+2|0;t[65]=e;switch((w(1)|0)<<16>>16){case 44:{t[65]=(t[65]|0)+2;w(1)|0;f=t[56]|0;t[f+4>>2]=e;n=t[65]|0;t[f+16>>2]=n;i[f+24>>0]=1;t[65]=n+-2;break e}case 41:{s[386]=(s[386]|0)+-1<<16>>16;n=t[56]|0;t[n+4>>2]=e;t[n+12>>2]=(t[65]|0)+2;i[n+24>>0]=1;s[385]=(s[385]|0)+-1<<16>>16;break e}default:{t[65]=(t[65]|0)+-2;break e}}}break}case 46:{t[65]=(t[65]|0)+2;if(((w(1)|0)<<16>>16==109?(e=t[65]|0,(m(e+2|0,44,6)|0)==0):0)?(s[t[62]>>1]|0)!=46:0)A(f,f,e+8|0,2);break}case 42:case 39:case 34:{c=16;break}case 123:{e=t[65]|0;if(s[386]|0){t[65]=e+-2;break e}while(1){if(e>>>0>=(t[66]|0)>>>0)break;e=w(1)|0;if(!(T(e)|0)){if(e<<16>>16==125){c=31;break}}else d(e);e=(t[65]|0)+2|0;t[65]=e;}if((c|0)==31)t[65]=(t[65]|0)+2;w(1)|0;e=t[65]|0;if(m(e,50,8)|0){Q();break e}t[65]=e+8;e=w(1)|0;if(T(e)|0){o(f,e);break e}else {Q();break e}}default:if((t[65]|0)!=(a|0))c=16;}}while(0);do{if((c|0)==16){if(s[386]|0){t[65]=(t[65]|0)+-2;break}e=t[66]|0;a=t[65]|0;while(1){if(a>>>0>=e>>>0){c=23;break}r=s[a>>1]|0;if(T(r)|0){c=21;break}n=a+2|0;t[65]=n;a=n;}if((c|0)==21){o(f,r);break}else if((c|0)==23){Q();break}}}while(0);return}function u(e){e=e|0;e:do{switch(s[e>>1]|0){case 100:switch(s[e+-2>>1]|0){case 105:{e=S(e+-4|0,68,2)|0;break e}case 108:{e=S(e+-4|0,72,3)|0;break e}default:{e=0;break e}}case 101:switch(s[e+-2>>1]|0){case 115:switch(s[e+-4>>1]|0){case 108:{e=j(e+-6|0,101)|0;break e}case 97:{e=j(e+-6|0,99)|0;break e}default:{e=0;break e}}case 116:{e=S(e+-4|0,78,4)|0;break e}case 117:{e=S(e+-4|0,86,6)|0;break e}default:{e=0;break e}}case 102:{if((s[e+-2>>1]|0)==111?(s[e+-4>>1]|0)==101:0)switch(s[e+-6>>1]|0){case 99:{e=S(e+-8|0,98,6)|0;break e}case 112:{e=S(e+-8|0,110,2)|0;break e}default:{e=0;break e}}else e=0;break}case 107:{e=S(e+-2|0,114,4)|0;break}case 110:{e=e+-2|0;if(j(e,105)|0)e=1;else e=S(e,122,5)|0;break}case 111:{e=j(e+-2|0,100)|0;break}case 114:{e=S(e+-2|0,132,7)|0;break}case 116:{e=S(e+-2|0,146,4)|0;break}case 119:switch(s[e+-2>>1]|0){case 101:{e=j(e+-4|0,110)|0;break e}case 111:{e=S(e+-4|0,154,3)|0;break e}default:{e=0;break e}}default:e=0;}}while(0);return e|0}function o(e,a){e=e|0;a=a|0;var r=0,i=0;r=(t[65]|0)+2|0;switch(a<<16>>16){case 39:{d(39);i=5;break}case 34:{d(34);i=5;break}default:Q();}do{if((i|0)==5){A(e,r,t[65]|0,1);t[65]=(t[65]|0)+2;i=(w(0)|0)<<16>>16==97;a=t[65]|0;if(i?(m(a+2|0,58,10)|0)==0:0){t[65]=a+12;if((w(1)|0)<<16>>16!=123){t[65]=a;break}e=t[65]|0;r=e;e:while(1){t[65]=r+2;r=w(1)|0;switch(r<<16>>16){case 39:{d(39);t[65]=(t[65]|0)+2;r=w(1)|0;break}case 34:{d(34);t[65]=(t[65]|0)+2;r=w(1)|0;break}default:r=P(r)|0;}if(r<<16>>16!=58){i=16;break}t[65]=(t[65]|0)+2;switch((w(1)|0)<<16>>16){case 39:{d(39);break}case 34:{d(34);break}default:{i=20;break e}}t[65]=(t[65]|0)+2;switch((w(1)|0)<<16>>16){case 125:{i=25;break e}case 44:break;default:{i=24;break e}}t[65]=(t[65]|0)+2;if((w(1)|0)<<16>>16==125){i=25;break}r=t[65]|0;}if((i|0)==16){t[65]=a;break}else if((i|0)==20){t[65]=a;break}else if((i|0)==24){t[65]=a;break}else if((i|0)==25){i=t[56]|0;t[i+16>>2]=e;t[i+12>>2]=(t[65]|0)+2;break}}t[65]=a+-2;}}while(0);return}function h(){var e=0,a=0,r=0,i=0;a=t[66]|0;r=t[65]|0;e:while(1){e=r+2|0;if(r>>>0>=a>>>0){a=10;break}switch(s[e>>1]|0){case 96:{a=7;break e}case 36:{if((s[r+4>>1]|0)==123){a=6;break e}break}case 92:{e=r+4|0;break}default:{}}r=e;}if((a|0)==6){e=r+4|0;t[65]=e;a=t[63]|0;i=s[386]|0;r=i&65535;t[a+(r<<3)>>2]=4;s[386]=i+1<<16>>16;t[a+(r<<3)+4>>2]=e;}else if((a|0)==7){t[65]=e;r=t[63]|0;i=(s[386]|0)+-1<<16>>16;s[386]=i;if((t[r+((i&65535)<<3)>>2]|0)!=3)Q();}else if((a|0)==10){t[65]=e;Q();}return}function w(e){e=e|0;var a=0,r=0,i=0;r=t[65]|0;e:do{a=s[r>>1]|0;a:do{if(a<<16>>16!=47)if(e)if(R(a)|0)break;else break e;else if(D(a)|0)break;else break e;else switch(s[r+2>>1]|0){case 47:{E();break a}case 42:{y(e);break a}default:{a=47;break e}}}while(0);i=t[65]|0;r=i+2|0;t[65]=r;}while(i>>>0<(t[66]|0)>>>0);return a|0}function d(e){e=e|0;var a=0,r=0,i=0,c=0;c=t[66]|0;a=t[65]|0;while(1){i=a+2|0;if(a>>>0>=c>>>0){a=9;break}r=s[i>>1]|0;if(r<<16>>16==e<<16>>16){a=10;break}if(r<<16>>16==92){r=a+4|0;if((s[r>>1]|0)==13){a=a+6|0;a=(s[a>>1]|0)==10?a:r;}else a=r;}else if(X(r)|0){a=9;break}else a=i;}if((a|0)==9){t[65]=i;Q();}else if((a|0)==10)t[65]=i;return}function v(e,a){e=e|0;a=a|0;var r=0,i=0,c=0,f=0;r=t[65]|0;i=s[r>>1]|0;f=(e|0)==(a|0);c=f?0:e;f=f?0:a;if(i<<16>>16==97){t[65]=r+4;r=w(1)|0;e=t[65]|0;if(T(r)|0){d(r);a=(t[65]|0)+2|0;t[65]=a;}else {P(r)|0;a=t[65]|0;}i=w(1)|0;r=t[65]|0;}if((r|0)!=(e|0))O(e,a,c,f);return i|0}function A(e,a,r,s){e=e|0;a=a|0;r=r|0;s=s|0;var c=0,f=0;c=t[60]|0;t[60]=c+32;f=t[56]|0;t[((f|0)==0?208:f+28|0)>>2]=c;t[57]=f;t[56]=c;t[c+8>>2]=e;if(2==(s|0))e=r;else e=1==(s|0)?r+2|0:0;t[c+12>>2]=e;t[c>>2]=a;t[c+4>>2]=r;t[c+16>>2]=0;t[c+20>>2]=s;i[c+24>>0]=1==(s|0)&1;t[c+28>>2]=0;return}function C(){var e=0,a=0,r=0;r=t[66]|0;a=t[65]|0;e:while(1){e=a+2|0;if(a>>>0>=r>>>0){a=6;break}switch(s[e>>1]|0){case 13:case 10:{a=6;break e}case 93:{a=7;break e}case 92:{e=a+4|0;break}default:{}}a=e;}if((a|0)==6){t[65]=e;Q();e=0;}else if((a|0)==7){t[65]=e;e=93;}return e|0}function g(){var e=0,a=0,r=0;e:while(1){e=t[65]|0;a=e+2|0;t[65]=a;if(e>>>0>=(t[66]|0)>>>0){r=7;break}switch(s[a>>1]|0){case 13:case 10:{r=7;break e}case 47:break e;case 91:{C()|0;break}case 92:{t[65]=e+4;break}default:{}}}if((r|0)==7)Q();return}function p(e){e=e|0;switch(s[e>>1]|0){case 62:{e=(s[e+-2>>1]|0)==61;break}case 41:case 59:{e=1;break}case 104:{e=S(e+-2|0,180,4)|0;break}case 121:{e=S(e+-2|0,188,6)|0;break}case 101:{e=S(e+-2|0,200,3)|0;break}default:e=0;}return e|0}function y(e){e=e|0;var a=0,r=0,i=0,c=0,f=0;c=(t[65]|0)+2|0;t[65]=c;r=t[66]|0;while(1){a=c+2|0;if(c>>>0>=r>>>0)break;i=s[a>>1]|0;if(!e?X(i)|0:0)break;if(i<<16>>16==42?(s[c+4>>1]|0)==47:0){f=8;break}c=a;}if((f|0)==8){t[65]=a;a=c+4|0;}t[65]=a;return}function m(e,a,r){e=e|0;a=a|0;r=r|0;var s=0,t=0;e:do{if(!r)e=0;else {while(1){s=i[e>>0]|0;t=i[a>>0]|0;if(s<<24>>24!=t<<24>>24)break;r=r+-1|0;if(!r){e=0;break e}else {e=e+1|0;a=a+1|0;}}e=(s&255)-(t&255)|0;}}while(0);return e|0}function I(e){e=e|0;e:do{switch(e<<16>>16){case 38:case 37:case 33:{e=1;break}default:if((e&-8)<<16>>16==40|(e+-58&65535)<6)e=1;else {switch(e<<16>>16){case 91:case 93:case 94:{e=1;break e}default:{}}e=(e+-123&65535)<4;}}}while(0);return e|0}function U(e){e=e|0;e:do{switch(e<<16>>16){case 38:case 37:case 33:break;default:if(!((e+-58&65535)<6|(e+-40&65535)<7&e<<16>>16!=41)){switch(e<<16>>16){case 91:case 94:break e;default:{}}return e<<16>>16!=125&(e+-123&65535)<4|0}}}while(0);return 1}function x(e){e=e|0;var a=0,r=0,i=0,c=0;r=n;n=n+16|0;i=r;t[i>>2]=0;t[59]=e;a=t[3]|0;c=a+(e<<1)|0;e=c+2|0;s[c>>1]=0;t[i>>2]=e;t[60]=e;t[52]=0;t[56]=0;t[54]=0;t[53]=0;t[58]=0;t[55]=0;n=r;return a|0}function S(e,a,r){e=e|0;a=a|0;r=r|0;var i=0,c=0;i=e+(0-r<<1)|0;c=i+2|0;e=t[3]|0;if(c>>>0>=e>>>0?(m(c,a,r<<1)|0)==0:0)if((c|0)==(e|0))e=1;else e=B(s[i>>1]|0)|0;else e=0;return e|0}function O(e,a,r,i){e=e|0;a=a|0;r=r|0;i=i|0;var s=0,c=0;s=t[60]|0;t[60]=s+20;c=t[58]|0;t[((c|0)==0?212:c+16|0)>>2]=s;t[58]=s;t[s>>2]=e;t[s+4>>2]=a;t[s+8>>2]=r;t[s+12>>2]=i;t[s+16>>2]=0;return}function $(e){e=e|0;switch(s[e>>1]|0){case 107:{e=S(e+-2|0,114,4)|0;break}case 101:{if((s[e+-2>>1]|0)==117)e=S(e+-4|0,86,6)|0;else e=0;break}default:e=0;}return e|0}function j(e,a){e=e|0;a=a|0;var r=0;r=t[3]|0;if(r>>>0<=e>>>0?(s[e>>1]|0)==a<<16>>16:0)if((r|0)==(e|0))r=1;else r=B(s[e+-2>>1]|0)|0;else r=0;return r|0}function B(e){e=e|0;e:do{if((e+-9&65535)<5)e=1;else {switch(e<<16>>16){case 32:case 160:{e=1;break e}default:{}}e=e<<16>>16!=46&(I(e)|0);}}while(0);return e|0}function E(){var e=0,a=0,r=0;e=t[66]|0;r=t[65]|0;e:while(1){a=r+2|0;if(r>>>0>=e>>>0)break;switch(s[a>>1]|0){case 13:case 10:break e;default:r=a;}}t[65]=a;return}function P(e){e=e|0;while(1){if(R(e)|0)break;if(I(e)|0)break;e=(t[65]|0)+2|0;t[65]=e;e=s[e>>1]|0;if(!(e<<16>>16)){e=0;break}}return e|0}function q(){var e=0;e=t[(t[54]|0)+20>>2]|0;switch(e|0){case 1:{e=-1;break}case 2:{e=-2;break}default:e=e-(t[3]|0)>>1;}return e|0}function z(e){e=e|0;if(!(S(e,160,5)|0)?!(S(e,170,3)|0):0)e=S(e,176,2)|0;else e=1;return e|0}function D(e){e=e|0;switch(e<<16>>16){case 160:case 32:case 12:case 11:case 9:{e=1;break}default:e=0;}return e|0}function F(e){e=e|0;if((t[3]|0)==(e|0))e=1;else e=B(s[e+-2>>1]|0)|0;return e|0}function G(){var e=0;e=t[(t[55]|0)+12>>2]|0;if(!e)e=-1;else e=e-(t[3]|0)>>1;return e|0}function H(){var e=0;e=t[(t[54]|0)+12>>2]|0;if(!e)e=-1;else e=e-(t[3]|0)>>1;return e|0}function J(){var e=0;e=t[(t[55]|0)+8>>2]|0;if(!e)e=-1;else e=e-(t[3]|0)>>1;return e|0}function K(){var e=0;e=t[(t[54]|0)+16>>2]|0;if(!e)e=-1;else e=e-(t[3]|0)>>1;return e|0}function L(){var e=0;e=t[(t[54]|0)+4>>2]|0;if(!e)e=-1;else e=e-(t[3]|0)>>1;return e|0}function M(){var e=0;e=t[54]|0;e=t[((e|0)==0?208:e+28|0)>>2]|0;t[54]=e;return (e|0)!=0|0}function N(){var e=0;e=t[55]|0;e=t[((e|0)==0?212:e+16|0)>>2]|0;t[55]=e;return (e|0)!=0|0}function Q(){i[774]=1;t[61]=(t[65]|0)-(t[3]|0)>>1;t[65]=(t[66]|0)+2;return}function R(e){e=e|0;return (e|128)<<16>>16==160|(e+-9&65535)<5|0}function T(e){e=e|0;return e<<16>>16==39|e<<16>>16==34|0}function V(){return (t[(t[54]|0)+8>>2]|0)-(t[3]|0)>>1|0}function W(){return (t[(t[55]|0)+4>>2]|0)-(t[3]|0)>>1|0}function X(e){e=e|0;return e<<16>>16==13|e<<16>>16==10|0}function Y(){return (t[t[54]>>2]|0)-(t[3]|0)>>1|0}function Z(){return (t[t[55]>>2]|0)-(t[3]|0)>>1|0}function _(){return c[(t[54]|0)+24>>0]|0|0}function ee(e){e=e|0;t[3]=e;return}function ae(){return (i[775]|0)!=0|0}function re(){return t[61]|0}function ie(e){e=e|0;n=e+992+15&-16;return 992}return {su:ie,ai:K,e:re,ee:W,ele:G,els:J,es:Z,f:ae,id:q,ie:L,ip:_,is:Y,p:b,re:N,ri:M,sa:x,se:H,ses:ee,ss:V}}("undefined"!=typeof self?self:global,{},a),r=e.su(i-(2<<17));}const h=c$1.length+1;e.ses(r),e.sa(h-1),s(c$1,new Uint16Array(a,r,h)),e.p()||(n=e.e(),o());const w=[],d=[];for(;e.ri();){const a=e.is(),r=e.ie(),i=e.ai(),s=e.id(),t=e.ss(),f=e.se();let n;e.ip()&&(n=b(-1===s?a:a+1,c$1.charCodeAt(-1===s?a-1:a))),w.push({n:n,s:a,e:r,ss:t,se:f,d:s,a:i});}for(;e.re();){const a=e.es(),r=e.ee(),i=e.els(),s=e.ele(),t=c$1.charCodeAt(a),f=i>=0?c$1.charCodeAt(i):-1;d.push({s:a,e:r,ls:i,le:s,n:34===t||39===t?b(a+1,t):c$1.slice(a,r),ln:i<0?void 0:34===f||39===f?b(i+1,f):c$1.slice(i,s)});}return [w,d,!!e.f()]}function b(e,a){n=e;let r="",i=n;for(;;){n>=c$1.length&&o();const e=c$1.charCodeAt(n);if(e===a)break;92===e?(r+=c$1.slice(i,n),r+=l(),i=n):(8232===e||8233===e||u(e)&&o(),++n);}return r+=c$1.slice(i,n++),r}function l(){let e=c$1.charCodeAt(++n);switch(++n,e){case 110:return "\n";case 114:return "\r";case 120:return String.fromCharCode(k(2));case 117:return function(){let e;123===c$1.charCodeAt(n)?(++n,e=k(c$1.indexOf("}",n)-n),++n,e>1114111&&o()):e=k(4);return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}();case 116:return "\t";case 98:return "\b";case 118:return "\v";case 102:return "\f";case 13:10===c$1.charCodeAt(n)&&++n;case 10:return "";case 56:case 57:o();default:if(e>=48&&e<=55){let a=c$1.substr(n-1,3).match(/^[0-7]+/)[0],r=parseInt(a,8);return r>255&&(a=a.slice(0,-1),r=parseInt(a,8)),n+=a.length-1,e=c$1.charCodeAt(n),"0"===a&&56!==e&&57!==e||o(),String.fromCharCode(r)}return u(e)?"":String.fromCharCode(e)}}function k(e){const a=n;let r=0,i=0;for(let a=0;a<e;++a,++n){let e,s=c$1.charCodeAt(n);if(95!==s){if(s>=97)e=s-97+10;else if(s>=65)e=s-65+10;else {if(!(s>=48&&s<=57))break;e=s-48;}if(e>=16)break;i=s,r=16*r+e;}else 95!==i&&0!==a||o(),i=s;}return 95!==i&&n-a===e||o(),r}function u(e){return 13===e||10===e}function o(){throw Object.assign(Error(`Parse error ${f}:${c$1.slice(0,n).split("\n").length}:${n-c$1.lastIndexOf("\n",n-1)}`),{idx:n})}
@@ -369,11 +382,11 @@
369
382
  if (typeof parentUrl !== 'string')
370
383
  parentUrl = baseUrl;
371
384
  // needed for shim check
372
- await init();
385
+ await initPromise;
373
386
  if (importHook) await importHook(id, typeof args[1] !== 'string' ? args[1] : {}, parentUrl);
374
387
  if (acceptingImportMaps || shimMode || !baselinePassthrough) {
375
388
  if (hasDocument)
376
- processImportMaps();
389
+ processScriptsAndPreloads(true);
377
390
  if (!shimMode)
378
391
  acceptingImportMaps = false;
379
392
  }
@@ -423,8 +436,7 @@
423
436
  let importMap = { imports: {}, scopes: {} };
424
437
  let baselinePassthrough;
425
438
 
426
- let initPromise;
427
- const init = () => initPromise || (initPromise = featureDetect().then(() => {
439
+ const initPromise = featureDetectionPromise.then(() => {
428
440
  baselinePassthrough = esmsInitOptions.polyfillEnable !== true && supportsDynamicImport && supportsImportMeta && supportsImportMaps && (!jsonModulesEnabled || supportsJsonAssertions) && (!cssModulesEnabled || supportsCssAssertions) && !importMapSrcOrLazy && !false;
429
441
  if (hasDocument) {
430
442
  if (!supportsImportMaps) {
@@ -438,16 +450,16 @@
438
450
  for (const node of mutation.addedNodes) {
439
451
  if (node.tagName === 'SCRIPT') {
440
452
  if (node.type === (shimMode ? 'module-shim' : 'module'))
441
- processScript(node);
453
+ processScript(node, true);
442
454
  if (node.type === (shimMode ? 'importmap-shim' : 'importmap'))
443
- processImportMap(node);
455
+ processImportMap(node, true);
444
456
  }
445
- else if (node.tagName === 'LINK' && node.rel === (shimMode ? 'modulepreload-shim' : 'modulepreload'))
457
+ else if (node.tagName === 'LINK' && node.rel === (shimMode ? 'modulepreload-shim' : 'modulepreload')) {
446
458
  processPreload(node);
459
+ }
447
460
  }
448
461
  }
449
462
  }).observe(document, {childList: true, subtree: true});
450
- processImportMaps();
451
463
  processScriptsAndPreloads();
452
464
  if (document.readyState === 'complete') {
453
465
  readyStateCompleteCheck();
@@ -455,7 +467,7 @@
455
467
  else {
456
468
  async function readyListener() {
457
469
  await initPromise;
458
- processImportMaps();
470
+ processScriptsAndPreloads();
459
471
  if (document.readyState === 'complete') {
460
472
  readyStateCompleteCheck();
461
473
  document.removeEventListener('readystatechange', readyListener);
@@ -466,15 +478,15 @@
466
478
  }
467
479
  }
468
480
  return undefined;
469
- }));
470
- let importMapPromise = Promise.resolve();
481
+ });
482
+ let importMapPromise = initPromise;
471
483
  let firstPolyfillLoad = true;
472
484
  let acceptingImportMaps = true;
473
485
 
474
486
  async function topLevelLoad (url, fetchOpts, source, nativelyLoaded, lastStaticLoadPromise) {
475
487
  if (!shimMode)
476
488
  acceptingImportMaps = false;
477
- await init();
489
+ await initPromise;
478
490
  await importMapPromise;
479
491
  if (importHook) await importHook(url, typeof fetchOpts !== 'string' ? fetchOpts : {}, '');
480
492
  // early analysis opt-out - no need to even fetch if we have feature support
@@ -766,16 +778,15 @@
766
778
  return load;
767
779
  }
768
780
 
769
- function processScriptsAndPreloads () {
770
- for (const script of document.querySelectorAll(shimMode ? 'script[type=module-shim]' : 'script[type=module]'))
771
- processScript(script);
772
- for (const link of document.querySelectorAll(shimMode ? 'link[rel=modulepreload-shim]' : 'link[rel=modulepreload]'))
773
- processPreload(link);
774
- }
775
-
776
- function processImportMaps () {
777
- for (const script of document.querySelectorAll(shimMode ? 'script[type="importmap-shim"]' : 'script[type="importmap"]'))
781
+ function processScriptsAndPreloads (mapsOnly = false) {
782
+ if (!mapsOnly)
783
+ for (const link of document.querySelectorAll(shimMode ? 'link[rel=modulepreload-shim]' : 'link[rel=modulepreload]'))
784
+ processPreload(link);
785
+ for (const script of document.querySelectorAll(shimMode ? 'script[type=importmap-shim]' : 'script[type=importmap]'))
778
786
  processImportMap(script);
787
+ if (!mapsOnly)
788
+ for (const script of document.querySelectorAll(shimMode ? 'script[type=module-shim]' : 'script[type=module]'))
789
+ processScript(script);
779
790
  }
780
791
 
781
792
  function getFetchOpts (script) {
@@ -803,12 +814,9 @@
803
814
  // this should always trigger because we assume es-module-shims is itself a domcontentloaded requirement
804
815
  if (hasDocument) {
805
816
  document.addEventListener('DOMContentLoaded', async () => {
806
- await init();
807
- domContentLoadedCheck();
808
- if (shimMode || !baselinePassthrough) {
809
- processImportMaps();
810
- processScriptsAndPreloads();
811
- }
817
+ await initPromise;
818
+ if (shimMode || !baselinePassthrough)
819
+ domContentLoadedCheck();
812
820
  });
813
821
  }
814
822
 
@@ -818,13 +826,11 @@
818
826
  document.dispatchEvent(new Event('readystatechange'));
819
827
  }
820
828
 
821
- function processImportMap (script) {
822
- if (script.ep) // ep marker = script processed
823
- return;
824
- // empty inline scripts sometimes show before domready
825
- if (!script.src && !script.innerHTML)
826
- return;
827
- script.ep = true;
829
+ const hasNext = script => script.nextSibling || script.parentNode && hasNext(script.parentNode);
830
+ const epCheck = (script, ready) => script.ep || !ready && (!script.src && !script.innerHTML || !hasNext(script)) || script.getAttribute('noshim') !== null || !(script.ep = true);
831
+
832
+ function processImportMap (script, ready = readyStateCompleteCnt > 0) {
833
+ if (epCheck(script, ready)) return;
828
834
  // we dont currently support multiple, external or dynamic imports maps in polyfill mode to match native
829
835
  if (script.src) {
830
836
  if (!shimMode)
@@ -836,21 +842,19 @@
836
842
  .then(async () => {
837
843
  importMap = resolveAndComposeImportMap(script.src ? await (await doFetch(script.src, getFetchOpts(script))).json() : JSON.parse(script.innerHTML), script.src || baseUrl, importMap);
838
844
  })
839
- .catch(throwError);
845
+ .catch(e => {
846
+ console.log(e);
847
+ if (e instanceof SyntaxError)
848
+ e = new Error(`Unable to parse import map ${e.message} in: ${script.src || script.innerHTML}`);
849
+ throwError(e);
850
+ });
840
851
  if (!shimMode)
841
852
  acceptingImportMaps = false;
842
853
  }
843
854
  }
844
855
 
845
- function processScript (script) {
846
- if (script.ep) // ep marker = script processed
847
- return;
848
- if (script.getAttribute('noshim') !== null)
849
- return;
850
- // empty inline scripts sometimes show before domready
851
- if (!script.src && !script.innerHTML)
852
- return;
853
- script.ep = true;
856
+ function processScript (script, ready = readyStateCompleteCnt > 0) {
857
+ if (epCheck(script, ready)) return;
854
858
  // does this load block readystate complete
855
859
  const isBlockingReadyScript = script.getAttribute('async') === null && readyStateCompleteCnt > 0;
856
860
  // does this load block DOMContentLoaded
@@ -866,8 +870,7 @@
866
870
 
867
871
  const fetchCache = {};
868
872
  function processPreload (link) {
869
- if (link.ep) // ep marker = processed
870
- return;
873
+ if (link.ep) return;
871
874
  link.ep = true;
872
875
  if (fetchCache[link.href])
873
876
  return;
@@ -1,4 +1,4 @@
1
- /* ES Module Shims Wasm 1.5.11 */
1
+ /* ES Module Shims Wasm 1.5.14 */
2
2
  (function () {
3
3
 
4
4
  const hasWindow = typeof window !== 'undefined';
@@ -311,16 +311,24 @@
311
311
  let supportsImportMeta = supportsImportMaps;
312
312
  let supportsDynamicImport = false;
313
313
 
314
- const featureDetect = async () => {
315
- if (!(supportsImportMaps || await supportsDynamicImportCheck))
314
+ const featureDetectionPromise = Promise.resolve(supportsImportMaps || supportsDynamicImportCheck).then(_supportsDynamicImport => {
315
+ if (!_supportsDynamicImport)
316
316
  return;
317
317
  supportsDynamicImport = true;
318
318
 
319
- await Promise.all([
320
- supportsImportMaps || dynamicImport(createBlob('import.meta')).then(() => supportsImportMeta = true, noop),
321
- cssModulesEnabled && dynamicImport(createBlob(`import"${createBlob('', 'text/css')}"assert{type:"css"}`)).then(() => supportsCssAssertions = true, noop),
322
- jsonModulesEnabled && dynamicImport(createBlob(`import"${createBlob('{}', 'text/json')}"assert{type:"json"}`)).then(() => supportsJsonAssertions = true, noop),
323
- supportsImportMaps || hasDocument && (HTMLScriptElement.supports || new Promise(resolve => {
319
+ if (!supportsImportMaps || cssModulesEnabled || jsonModulesEnabled) {
320
+ const importMetaCheck = createBlob('import.meta');
321
+ const cssModulesCheck = createBlob(`import"${createBlob('', 'text/css')}"assert{type:"css"}`);
322
+ const jsonModulesCheck = createBlob(`import"${createBlob('{}', 'text/json')}"assert{type:"json"}`);
323
+
324
+ if (!hasDocument)
325
+ return Promise.all([
326
+ supportsImportMaps || dynamicImport(importMetaCheck).then(() => supportsImportMeta = true, noop),
327
+ cssModulesEnabled && dynamicImport(cssModulesCheck).then(() => supportsCssAssertions = true, noop),
328
+ jsonModulesEnabled && dynamicImport(jsonModulescheck).then(() => supportsJsonAssertions = true, noop),
329
+ ]);
330
+
331
+ return new Promise(resolve => {
324
332
  const iframe = document.createElement('iframe');
325
333
  iframe.style.display = 'none';
326
334
  iframe.setAttribute('nonce', nonce);
@@ -330,25 +338,30 @@
330
338
  iframe.srcdoc = `<!doctype html><script nonce="${nonce}"><${''}/script>`;
331
339
  document.head.appendChild(iframe);
332
340
  iframe.onload = () => {
333
- self._$s = v => {
341
+ self._$s = (a, b, c, d) => {
334
342
  document.head.removeChild(iframe);
335
- supportsImportMaps = v;
343
+ supportsImportMaps = a;
344
+ supportsImportMeta = b;
345
+ supportsCssAssertions = c;
346
+ supportsJsonAssertions = d;
336
347
  delete self._$s;
337
348
  resolve();
338
349
  };
339
350
  const supportsSrcDoc = iframe.contentDocument.head.childNodes.length > 0;
340
- const importMapTest = `<!doctype html><script type=importmap nonce="${nonce}">{"imports":{"x":"${createBlob('')}"}<${''}/script><script nonce="${nonce}">import('x').catch(() => {}).then(v=>parent._$s(!!v))<${''}/script>`;
351
+ const importMapTest = `<!doctype html><script type=importmap nonce="${nonce}">{"imports":{"x":"${createBlob('')}"}}<${''}/script><script nonce="${nonce}">Promise.all([${
352
+ supportsImportMaps ? 'true, true' : `'x', '${importMetaCheck}'`}, ${cssModulesEnabled ? `'${cssModulesCheck}'` : 'false'}, ${jsonModulesEnabled ? `'${jsonModulesCheck}'` : 'false'
353
+ }].map(x => typeof x === 'string' ? import(x).then(x => !!x, () => false) : x)).then(a=>parent._$s.apply(null, a))<${''}/script>`;
341
354
  if (supportsSrcDoc)
342
355
  iframe.srcdoc = importMapTest;
343
356
  else
344
357
  iframe.contentDocument.write(importMapTest);
345
358
  };
346
- }))
347
- ]);
348
- };
359
+ });
360
+ }
361
+ });
349
362
 
350
363
  /* es-module-lexer 1.0.2 */
351
- const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse(E,g="@"){if(!C)return init$1.then((()=>parse(E)));const I=E.length+1,D=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;D>0&&C.memory.grow(Math.ceil(D/65536));const o=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,o,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const J=[],K=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.ai(),g=C.id(),I=C.ss(),D=C.se();let o;C.ip()&&(o=w(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),J.push({n:o,s:A,e:Q,ss:I,se:D,d:g,a:B});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),D=I[0],o=B<0?void 0:E.slice(B,g),J=o?o[0]:"";K.push({s:A,e:Q,ls:B,le:g,n:'"'===D||"'"===D?w(I):I,ln:'"'===J||"'"===J?w(o):o});}function w(A){try{return (0,eval)(A)}catch(A){}}return [J,K,!!C.f()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8;}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++);}let C;const init$1=WebAssembly.compile((E="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lApBACgC4AkhAkEBECYhAwJAAkACQEEAKAKUCiIEIAFHDQAgAxAlRQ0BCwJAAkACQAJAIANBKkYNACADQfsARw0BQQAgBEECajYClApBARAmIQRBACgClAohAQNAAkACQCAEQf//A3EiA0EiRg0AIANBJ0YNACADECgaQQAoApQKIQMMAQsgAxAYQQBBACgClApBAmoiAzYClAoLQQEQJhoCQCABIAMQKSIEQSxHDQBBAEEAKAKUCkECajYClApBARAmIQQLQQAoApQKIQMgBEH9AEYNAyADIAFGDQYgAyEBIANBACgCmApNDQAMBgsLQQAgBEECajYClApBARAmGkEAKAKUCiIDIAMQKRoMAgtBAEEAOgD4CQJAAkACQAJAAkACQCADQZ9/ag4MAggEAQgDCAgICAgFAAsgA0H2AEYNBAwHCyAEIARBDmpBAEEAEAIPC0EAIARBCmo2ApQKQQEQJhpBACgClAohBAtBACAEQRBqNgKUCgJAQQEQJiIEQSpHDQBBAEEAKAKUCkECajYClApBARAmIQQLQQAoApQKIQMgBBAoGiADQQAoApQKIgQgAyAEEAJBAEEAKAKUCkF+ajYClAoPCwJAIAQpAAJC7ICEg7COwDlSDQAgBC8BChAeRQ0AQQAgBEEKajYClApBARAmIQRBACgClAohAyAEECgaIANBACgClAoiBCADIAQQAkEAQQAoApQKQX5qNgKUCg8LQQAgBEEEaiIENgKUCgtBACAEQQRqIgM2ApQKQQBBADoA+AkCQANAQQAgA0ECajYClApBARAmIQRBACgClAohAyAEEChBIHJB+wBGDQFBACgClAoiBCADRg0EIAMgBCADIAQQAkEBECZBLEcNAUEAKAKUCiEDDAALC0EAQQAoApQKQX5qNgKUCg8LQQAgA0ECajYClAoLQQEQJiEEQQAoApQKIQMCQCAEQeYARw0AIANBAmpBnghBBhArDQBBACADQQhqNgKUCiAAQQEQJhAnIAJBEGpBzAkgAhshAwNAIAMoAgAiA0UNAiADQgA3AgggA0EQaiEDDAALC0EAIANBfmo2ApQKCw8LECILtAYBBH9BAEEAKAKUCiIAQQxqIgE2ApQKAkACQAJAAkACQAJAAkACQAJAAkBBARAmIgJBWWoOCAIIAQIBAQEHAAsgAkEiRg0BIAJB+wBGDQILQQAo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","undefined"!=typeof Buffer?Buffer.from(E,"base64"):Uint8Array.from(atob(E),(A=>A.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));var E;
364
+ const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse(E,g="@"){if(!C)return init.then((()=>parse(E)));const I=E.length+1,D=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;D>0&&C.memory.grow(Math.ceil(D/65536));const o=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,o,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const J=[],K=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.ai(),g=C.id(),I=C.ss(),D=C.se();let o;C.ip()&&(o=w(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),J.push({n:o,s:A,e:Q,ss:I,se:D,d:g,a:B});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),D=I[0],o=B<0?void 0:E.slice(B,g),J=o?o[0]:"";K.push({s:A,e:Q,ls:B,le:g,n:'"'===D||"'"===D?w(I):I,ln:'"'===J||"'"===J?w(o):o});}function w(A){try{return (0,eval)(A)}catch(A){}}return [J,K,!!C.f()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8;}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++);}let C;const init=WebAssembly.compile((E="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lApBACgC4AkhAkEBECYhAwJAAkACQEEAKAKUCiIEIAFHDQAgAxAlRQ0BCwJAAkACQAJAIANBKkYNACADQfsARw0BQQAgBEECajYClApBARAmIQRBACgClAohAQNAAkACQCAEQf//A3EiA0EiRg0AIANBJ0YNACADECgaQQAoApQKIQMMAQsgAxAYQQBBACgClApBAmoiAzYClAoLQQEQJhoCQCABIAMQKSIEQSxHDQBBAEEAKAKUCkECajYClApBARAmIQQLQQAoApQKIQMgBEH9AEYNAyADIAFGDQYgAyEBIANBACgCmApNDQAMBgsLQQAgBEECajYClApBARAmGkEAKAKUCiIDIAMQKRoMAgtBAEEAOgD4CQJAAkACQAJAAkACQCADQZ9/ag4MAggEAQgDCAgICAgFAAsgA0H2AEYNBAwHCyAEIARBDmpBAEEAEAIPC0EAIARBCmo2ApQKQQEQJhpBACgClAohBAtBACAEQRBqNgKUCgJAQQEQJiIEQSpHDQBBAEEAKAKUCkECajYClApBARAmIQQLQQAoApQKIQMgBBAoGiADQQAoApQKIgQgAyAEEAJBAEEAKAKUCkF+ajYClAoPCwJAIAQpAAJC7ICEg7COwDlSDQAgBC8BChAeRQ0AQQAgBEEKajYClApBARAmIQRBACgClAohAyAEECgaIANBACgClAoiBCADIAQQAkEAQQAoApQKQX5qNgKUCg8LQQAgBEEEaiIENgKUCgtBACAEQQRqIgM2ApQKQQBBADoA+AkCQANAQQAgA0ECajYClApBARAmIQRBACgClAohAyAEEChBIHJB+wBGDQFBACgClAoiBCADRg0EIAMgBCADIAQQAkEBECZBLEcNAUEAKAKUCiEDDAALC0EAQQAoApQKQX5qNgKUCg8LQQAgA0ECajYClAoLQQEQJiEEQQAoApQKIQMCQCAEQeYARw0AIANBAmpBnghBBhArDQBBACADQQhqNgKUCiAAQQEQJhAnIAJBEGpBzAkgAhshAwNAIAMoAgAiA0UNAiADQgA3AgggA0EQaiEDDAALC0EAIANBfmo2ApQKCw8LECILtAYBBH9BAEEAKAKUCiIAQQxqIgE2ApQKAkACQAJAAkACQAJAAkACQAJAAkBBARAmIgJBWWoOCAIIAQIBAQEHAAsgAkEiRg0BIAJB+wBGDQILQQAo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","undefined"!=typeof Buffer?Buffer.from(E,"base64"):Uint8Array.from(atob(E),(A=>A.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));var E;
352
365
 
353
366
  async function _resolve (id, parentUrl) {
354
367
  const urlResolved = resolveIfNotPlainOrUrl(id, parentUrl);
@@ -377,11 +390,11 @@
377
390
  if (typeof parentUrl !== 'string')
378
391
  parentUrl = baseUrl;
379
392
  // needed for shim check
380
- await init();
393
+ await initPromise;
381
394
  if (importHook) await importHook(id, typeof args[1] !== 'string' ? args[1] : {}, parentUrl);
382
395
  if (acceptingImportMaps || shimMode || !baselinePassthrough) {
383
396
  if (hasDocument)
384
- processImportMaps();
397
+ processScriptsAndPreloads(true);
385
398
  if (!shimMode)
386
399
  acceptingImportMaps = false;
387
400
  }
@@ -431,8 +444,7 @@
431
444
  let importMap = { imports: {}, scopes: {} };
432
445
  let baselinePassthrough;
433
446
 
434
- let initPromise;
435
- const init = () => initPromise || (initPromise = featureDetect().then(() => {
447
+ const initPromise = featureDetectionPromise.then(() => {
436
448
  baselinePassthrough = esmsInitOptions.polyfillEnable !== true && supportsDynamicImport && supportsImportMeta && supportsImportMaps && (!jsonModulesEnabled || supportsJsonAssertions) && (!cssModulesEnabled || supportsCssAssertions) && !importMapSrcOrLazy && !false;
437
449
  if (hasDocument) {
438
450
  if (!supportsImportMaps) {
@@ -446,16 +458,16 @@
446
458
  for (const node of mutation.addedNodes) {
447
459
  if (node.tagName === 'SCRIPT') {
448
460
  if (node.type === (shimMode ? 'module-shim' : 'module'))
449
- processScript(node);
461
+ processScript(node, true);
450
462
  if (node.type === (shimMode ? 'importmap-shim' : 'importmap'))
451
- processImportMap(node);
463
+ processImportMap(node, true);
452
464
  }
453
- else if (node.tagName === 'LINK' && node.rel === (shimMode ? 'modulepreload-shim' : 'modulepreload'))
465
+ else if (node.tagName === 'LINK' && node.rel === (shimMode ? 'modulepreload-shim' : 'modulepreload')) {
454
466
  processPreload(node);
467
+ }
455
468
  }
456
469
  }
457
470
  }).observe(document, {childList: true, subtree: true});
458
- processImportMaps();
459
471
  processScriptsAndPreloads();
460
472
  if (document.readyState === 'complete') {
461
473
  readyStateCompleteCheck();
@@ -463,7 +475,7 @@
463
475
  else {
464
476
  async function readyListener() {
465
477
  await initPromise;
466
- processImportMaps();
478
+ processScriptsAndPreloads();
467
479
  if (document.readyState === 'complete') {
468
480
  readyStateCompleteCheck();
469
481
  document.removeEventListener('readystatechange', readyListener);
@@ -473,16 +485,16 @@
473
485
  }
474
486
  }
475
487
  }
476
- return init$1;
477
- }));
478
- let importMapPromise = Promise.resolve();
488
+ return init;
489
+ });
490
+ let importMapPromise = initPromise;
479
491
  let firstPolyfillLoad = true;
480
492
  let acceptingImportMaps = true;
481
493
 
482
494
  async function topLevelLoad (url, fetchOpts, source, nativelyLoaded, lastStaticLoadPromise) {
483
495
  if (!shimMode)
484
496
  acceptingImportMaps = false;
485
- await init();
497
+ await initPromise;
486
498
  await importMapPromise;
487
499
  if (importHook) await importHook(url, typeof fetchOpts !== 'string' ? fetchOpts : {}, '');
488
500
  // early analysis opt-out - no need to even fetch if we have feature support
@@ -774,16 +786,15 @@
774
786
  return load;
775
787
  }
776
788
 
777
- function processScriptsAndPreloads () {
778
- for (const script of document.querySelectorAll(shimMode ? 'script[type=module-shim]' : 'script[type=module]'))
779
- processScript(script);
780
- for (const link of document.querySelectorAll(shimMode ? 'link[rel=modulepreload-shim]' : 'link[rel=modulepreload]'))
781
- processPreload(link);
782
- }
783
-
784
- function processImportMaps () {
785
- for (const script of document.querySelectorAll(shimMode ? 'script[type="importmap-shim"]' : 'script[type="importmap"]'))
789
+ function processScriptsAndPreloads (mapsOnly = false) {
790
+ if (!mapsOnly)
791
+ for (const link of document.querySelectorAll(shimMode ? 'link[rel=modulepreload-shim]' : 'link[rel=modulepreload]'))
792
+ processPreload(link);
793
+ for (const script of document.querySelectorAll(shimMode ? 'script[type=importmap-shim]' : 'script[type=importmap]'))
786
794
  processImportMap(script);
795
+ if (!mapsOnly)
796
+ for (const script of document.querySelectorAll(shimMode ? 'script[type=module-shim]' : 'script[type=module]'))
797
+ processScript(script);
787
798
  }
788
799
 
789
800
  function getFetchOpts (script) {
@@ -811,12 +822,9 @@
811
822
  // this should always trigger because we assume es-module-shims is itself a domcontentloaded requirement
812
823
  if (hasDocument) {
813
824
  document.addEventListener('DOMContentLoaded', async () => {
814
- await init();
815
- domContentLoadedCheck();
816
- if (shimMode || !baselinePassthrough) {
817
- processImportMaps();
818
- processScriptsAndPreloads();
819
- }
825
+ await initPromise;
826
+ if (shimMode || !baselinePassthrough)
827
+ domContentLoadedCheck();
820
828
  });
821
829
  }
822
830
 
@@ -826,13 +834,11 @@
826
834
  document.dispatchEvent(new Event('readystatechange'));
827
835
  }
828
836
 
829
- function processImportMap (script) {
830
- if (script.ep) // ep marker = script processed
831
- return;
832
- // empty inline scripts sometimes show before domready
833
- if (!script.src && !script.innerHTML)
834
- return;
835
- script.ep = true;
837
+ const hasNext = script => script.nextSibling || script.parentNode && hasNext(script.parentNode);
838
+ const epCheck = (script, ready) => script.ep || !ready && (!script.src && !script.innerHTML || !hasNext(script)) || script.getAttribute('noshim') !== null || !(script.ep = true);
839
+
840
+ function processImportMap (script, ready = readyStateCompleteCnt > 0) {
841
+ if (epCheck(script, ready)) return;
836
842
  // we dont currently support multiple, external or dynamic imports maps in polyfill mode to match native
837
843
  if (script.src) {
838
844
  if (!shimMode)
@@ -844,21 +850,19 @@
844
850
  .then(async () => {
845
851
  importMap = resolveAndComposeImportMap(script.src ? await (await doFetch(script.src, getFetchOpts(script))).json() : JSON.parse(script.innerHTML), script.src || baseUrl, importMap);
846
852
  })
847
- .catch(throwError);
853
+ .catch(e => {
854
+ console.log(e);
855
+ if (e instanceof SyntaxError)
856
+ e = new Error(`Unable to parse import map ${e.message} in: ${script.src || script.innerHTML}`);
857
+ throwError(e);
858
+ });
848
859
  if (!shimMode)
849
860
  acceptingImportMaps = false;
850
861
  }
851
862
  }
852
863
 
853
- function processScript (script) {
854
- if (script.ep) // ep marker = script processed
855
- return;
856
- if (script.getAttribute('noshim') !== null)
857
- return;
858
- // empty inline scripts sometimes show before domready
859
- if (!script.src && !script.innerHTML)
860
- return;
861
- script.ep = true;
864
+ function processScript (script, ready = readyStateCompleteCnt > 0) {
865
+ if (epCheck(script, ready)) return;
862
866
  // does this load block readystate complete
863
867
  const isBlockingReadyScript = script.getAttribute('async') === null && readyStateCompleteCnt > 0;
864
868
  // does this load block DOMContentLoaded
@@ -874,8 +878,7 @@
874
878
 
875
879
  const fetchCache = {};
876
880
  function processPreload (link) {
877
- if (link.ep) // ep marker = processed
878
- return;
881
+ if (link.ep) return;
879
882
  link.ep = true;
880
883
  if (fetchCache[link.href])
881
884
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "es-module-shims",
3
- "version": "1.5.11",
3
+ "version": "1.5.14",
4
4
  "description": "Shims for the latest ES module features",
5
5
  "main": "dist/es-module-shims.js",
6
6
  "exports": {