es-module-shims 0.13.0 → 0.15.1
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/CHANGELOG.md +208 -0
- package/README.md +102 -42
- package/dist/es-module-shims.csp.js +768 -0
- package/dist/es-module-shims.js +235 -184
- package/index.d.ts +52 -33
- package/package.json +12 -7
- package/dist/es-module-shims.min.js +0 -2
- package/dist/es-module-shims.min.js.map +0 -1
package/dist/es-module-shims.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
/* ES Module Shims 0.
|
|
1
|
+
/* ES Module Shims 0.15.1 */
|
|
2
2
|
(function () {
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Promise.resolve();
|
|
5
|
+
|
|
6
|
+
const edge = navigator.userAgent.match(/Edge\/\d\d\.\d+$/);
|
|
5
7
|
|
|
6
8
|
let baseUrl;
|
|
7
9
|
|
|
@@ -9,73 +11,11 @@
|
|
|
9
11
|
return URL.createObjectURL(new Blob([source], { type }));
|
|
10
12
|
}
|
|
11
13
|
|
|
12
|
-
const
|
|
14
|
+
const noop = () => {};
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
let supportsCssAssertions = false;
|
|
18
|
-
let dynamicImport;
|
|
19
|
-
try {
|
|
20
|
-
dynamicImport = (0, eval)('u=>import(u)');
|
|
21
|
-
supportsDynamicImport = true;
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
if (hasDocument) {
|
|
25
|
-
let err;
|
|
26
|
-
self.addEventListener('error', e => err = e.error);
|
|
27
|
-
dynamicImport = blobUrl => {
|
|
28
|
-
const topLevelBlobUrl = createBlob(
|
|
29
|
-
`import*as m from'${blobUrl}';self._esmsi=m;`
|
|
30
|
-
);
|
|
31
|
-
const s = document.createElement('script');
|
|
32
|
-
s.setAttribute('noshim', '');
|
|
33
|
-
s.type = 'module';
|
|
34
|
-
s.src = topLevelBlobUrl;
|
|
35
|
-
document.head.appendChild(s);
|
|
36
|
-
return new Promise((resolve, reject) => {
|
|
37
|
-
s.addEventListener('load', () => {
|
|
38
|
-
document.head.removeChild(s);
|
|
39
|
-
if (self._esmsi) {
|
|
40
|
-
resolve(self._esmsi, baseUrl);
|
|
41
|
-
self._esmsi = null;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
reject(err);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
let supportsImportMeta = false;
|
|
53
|
-
let supportsImportMaps = false;
|
|
54
|
-
|
|
55
|
-
const featureDetectionPromise = Promise.all([
|
|
56
|
-
dynamicImport(createBlob('import"data:text/css,{}"assert{type:"css"}')).then(() => supportsCssAssertions = true, () => {}),
|
|
57
|
-
dynamicImport(createBlob('import"data:text/json,{}"assert{type:"json"}')).then(() => supportsJsonAssertions = true, () => {}),
|
|
58
|
-
dynamicImport(createBlob('import.meta')).then(() => supportsImportMeta = true, () => {}),
|
|
59
|
-
supportsDynamicImport && hasDocument && new Promise(resolve => {
|
|
60
|
-
self._$s = v => {
|
|
61
|
-
document.body.removeChild(iframe);
|
|
62
|
-
if (v) supportsImportMaps = true;
|
|
63
|
-
delete self._$s;
|
|
64
|
-
resolve();
|
|
65
|
-
};
|
|
66
|
-
const iframe = document.createElement('iframe');
|
|
67
|
-
iframe.style.display = 'none';
|
|
68
|
-
document.body.appendChild(iframe);
|
|
69
|
-
// we use document.write here because eg Weixin built-in browser doesn't support setting srcdoc
|
|
70
|
-
iframe.contentWindow.document.write(`<script type=importmap>{"imports":{"x":"data:text/javascript,"}}<${''}/script><script>import('x').then(()=>1,()=>0).then(v=>parent._$s(v))<${''}/script>`);
|
|
71
|
-
})
|
|
72
|
-
]);
|
|
73
|
-
|
|
74
|
-
if (hasDocument) {
|
|
75
|
-
const baseEl = document.querySelector('base[href]');
|
|
76
|
-
if (baseEl)
|
|
77
|
-
baseUrl = baseEl.href;
|
|
78
|
-
}
|
|
16
|
+
const baseEl = document.querySelector('base[href]');
|
|
17
|
+
if (baseEl)
|
|
18
|
+
baseUrl = baseEl.href;
|
|
79
19
|
|
|
80
20
|
if (!baseUrl && typeof location !== 'undefined') {
|
|
81
21
|
baseUrl = location.href.split('#')[0].split('?')[0];
|
|
@@ -256,14 +196,126 @@
|
|
|
256
196
|
return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain;
|
|
257
197
|
}
|
|
258
198
|
|
|
259
|
-
|
|
260
|
-
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 w=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,w,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 L=[],k=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.ai(),g=C.id(),I=C.ss(),D=C.se();let w;C.ip()&&(w=o(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),L.push({n:w,s:A,e:Q,ss:I,se:D,d:g,a:B});}for(;C.re();)k.push(E.slice(C.es(),C.ee()));function o(A){try{return (0,eval)(A)}catch{}}return [L,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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","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;
|
|
199
|
+
const optionsScript = document.querySelector('script[type=esms-options]');
|
|
200
|
+
|
|
201
|
+
const esmsInitOptions$1 = optionsScript ? JSON.parse(optionsScript.innerHTML) : self.esmsInitOptions ? self.esmsInitOptions : {};
|
|
202
|
+
|
|
203
|
+
let shimMode = !!esmsInitOptions$1.shimMode;
|
|
204
|
+
const resolveHook = shimMode && esmsInitOptions$1.resolve;
|
|
205
|
+
|
|
206
|
+
const skip = esmsInitOptions$1.skip ? new RegExp(esmsInitOptions$1.skip) : /^https:\/\/(cdn\.skypack\.dev|jspm\.dev)\//;
|
|
207
|
+
|
|
208
|
+
let nonce = esmsInitOptions$1.nonce;
|
|
209
|
+
|
|
210
|
+
if (!nonce) {
|
|
211
|
+
const nonceElement = document.querySelector('script[nonce]');
|
|
212
|
+
if (nonceElement)
|
|
213
|
+
nonce = nonceElement.getAttribute('nonce');
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
const {
|
|
217
|
+
fetchHook = fetch,
|
|
218
|
+
onerror = noop,
|
|
219
|
+
revokeBlobURLs,
|
|
220
|
+
noLoadEventRetriggers,
|
|
221
|
+
} = esmsInitOptions$1;
|
|
222
|
+
|
|
223
|
+
const enable = Array.isArray(esmsInitOptions$1.polyfillEnable) ? esmsInitOptions$1.polyfillEnable : [];
|
|
224
|
+
const cssModulesEnabled = enable.includes('css-modules');
|
|
225
|
+
const jsonModulesEnabled = enable.includes('json-modules');
|
|
226
|
+
|
|
227
|
+
function setShimMode () {
|
|
228
|
+
shimMode = true;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
let supportsDynamicImportCheck = false;
|
|
232
|
+
|
|
233
|
+
let dynamicImport;
|
|
234
|
+
try {
|
|
235
|
+
dynamicImport = (0, eval)('u=>import(u)');
|
|
236
|
+
supportsDynamicImportCheck = true;
|
|
237
|
+
}
|
|
238
|
+
catch (e) {}
|
|
239
|
+
|
|
240
|
+
if (!supportsDynamicImportCheck) {
|
|
241
|
+
let err;
|
|
242
|
+
window.addEventListener('error', _err => err = _err);
|
|
243
|
+
dynamicImport = (url, { errUrl = url }) => {
|
|
244
|
+
err = undefined;
|
|
245
|
+
const src = createBlob(`import*as m from'${url}';self._esmsi=m;`);
|
|
246
|
+
const s = Object.assign(document.createElement('script'), { type: 'module', src });
|
|
247
|
+
s.setAttribute('noshim', '');
|
|
248
|
+
document.head.appendChild(s);
|
|
249
|
+
return new Promise((resolve, reject) => {
|
|
250
|
+
s.addEventListener('load', () => {
|
|
251
|
+
document.head.removeChild(s);
|
|
252
|
+
if (self._esmsi) {
|
|
253
|
+
resolve(self._esmsi, baseUrl);
|
|
254
|
+
self._esmsi = null;
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
reject(err.error || new Error(`Error loading or executing the graph of ${errUrl} (check the console for ${src}).`));
|
|
258
|
+
err = undefined;
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
};
|
|
263
|
+
}
|
|
261
264
|
|
|
265
|
+
// support browsers without dynamic import support (eg Firefox 6x)
|
|
266
|
+
let supportsJsonAssertions = false;
|
|
267
|
+
let supportsCssAssertions = false;
|
|
268
|
+
|
|
269
|
+
let supportsImportMeta = false;
|
|
270
|
+
let supportsImportMaps = false;
|
|
271
|
+
|
|
272
|
+
let supportsDynamicImport = false;
|
|
273
|
+
|
|
274
|
+
const featureDetectionPromise = Promise.resolve(supportsDynamicImportCheck).then(_supportsDynamicImport => {
|
|
275
|
+
if (!_supportsDynamicImport)
|
|
276
|
+
return;
|
|
277
|
+
supportsDynamicImport = true;
|
|
278
|
+
|
|
279
|
+
return Promise.all([
|
|
280
|
+
dynamicImport(createBlob('import.meta')).then(() => supportsImportMeta = true, noop),
|
|
281
|
+
cssModulesEnabled && dynamicImport(createBlob('import"data:text/css,{}"assert{type:"css"}')).then(() => supportsCssAssertions = true, noop),
|
|
282
|
+
jsonModulesEnabled && dynamicImport(createBlob('import"data:text/json,{}"assert{type:"json"}')).then(() => supportsJsonAssertions = true, noop),
|
|
283
|
+
new Promise(resolve => {
|
|
284
|
+
self._$s = v => {
|
|
285
|
+
document.body.removeChild(iframe);
|
|
286
|
+
if (v) supportsImportMaps = true;
|
|
287
|
+
delete self._$s;
|
|
288
|
+
resolve();
|
|
289
|
+
};
|
|
290
|
+
const iframe = document.createElement('iframe');
|
|
291
|
+
iframe.style.display = 'none';
|
|
292
|
+
document.body.appendChild(iframe);
|
|
293
|
+
// we use document.write here because eg Weixin built-in browser doesn't support setting srcdoc
|
|
294
|
+
iframe.contentWindow.document.write(`<script type=importmap nonce="${nonce}">{"imports":{"x":"data:text/javascript,"}}<${''}/script><script nonce="${nonce}">import('x').then(()=>1,()=>0).then(v=>parent._$s(v))<${''}/script>`);
|
|
295
|
+
})
|
|
296
|
+
]);
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
/* es-module-lexer 0.9.0 */
|
|
300
|
+
const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse(E,g="@"){if(!B)return init.then(()=>parse(E));const I=E.length+1,w=(B.__heap_base.value||B.__heap_base)+4*I-B.memory.buffer.byteLength;w>0&&B.memory.grow(Math.ceil(w/65536));const D=B.sa(I-1);if((A?C:Q)(E,new Uint16Array(B.memory.buffer,D,I)),!B.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,B.e()).split("\n").length}:${B.e()-E.lastIndexOf("\n",B.e()-1)}`),{idx:B.e()});const k=[],L=[];for(;B.ri();){const A=B.is(),Q=B.ie(),C=B.ai(),g=B.id(),I=B.ss(),w=B.se();let D;B.ip()&&(D=o(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),k.push({n:D,s:A,e:Q,ss:I,se:w,d:g,a:C});}for(;B.re();)L.push(E.slice(B.es(),B.ee()));function o(A){try{return (0,eval)(A)}catch(A){}}return [k,L,!!B.f()]}function Q(A,Q){const C=A.length;let B=0;for(;B<C;){const C=A.charCodeAt(B);Q[B++]=(255&C)<<8|C>>>8;}}function C(A,Q){const C=A.length;let B=0;for(;B<C;)Q[B]=A.charCodeAt(B++);}let B;const init=WebAssembly.compile((E="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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})=>{B=A;});var E;
|
|
301
|
+
|
|
302
|
+
async function defaultResolve (id, parentUrl) {
|
|
303
|
+
return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
async function _resolve (id, parentUrl) {
|
|
307
|
+
const urlResolved = resolveIfNotPlainOrUrl(id, parentUrl);
|
|
308
|
+
return {
|
|
309
|
+
r: resolveImportMap(importMap, urlResolved || id, parentUrl),
|
|
310
|
+
// b = bare specifier
|
|
311
|
+
b: !urlResolved && !isURL(id)
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const resolve = resolveHook ? async (id, parentUrl) => ({ r: await esmsInitOptions.resolve(id, parentUrl, defaultResolve), b: false }) : _resolve;
|
|
316
|
+
|
|
262
317
|
let id = 0;
|
|
263
318
|
const registry = {};
|
|
264
|
-
if (self.ESMS_DEBUG) {
|
|
265
|
-
self._esmsr = registry;
|
|
266
|
-
}
|
|
267
319
|
|
|
268
320
|
async function loadAll (load, seen) {
|
|
269
321
|
if (load.b || seen[load.u])
|
|
@@ -276,28 +328,28 @@
|
|
|
276
328
|
}
|
|
277
329
|
|
|
278
330
|
let importMap = { imports: {}, scopes: {} };
|
|
279
|
-
let hasImportMap = false;
|
|
280
331
|
let importMapSrcOrLazy = false;
|
|
281
|
-
let importMapPromise =
|
|
332
|
+
let importMapPromise = featureDetectionPromise;
|
|
282
333
|
|
|
283
|
-
let
|
|
284
|
-
let
|
|
334
|
+
let acceptingImportMaps = true;
|
|
335
|
+
let nativeAcceptingImportMaps = true;
|
|
285
336
|
async function topLevelLoad (url, fetchOpts, source, nativelyLoaded, lastStaticLoadPromise) {
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
firstTopLevelProcess = false;
|
|
294
|
-
processScripts();
|
|
337
|
+
if (acceptingImportMaps) {
|
|
338
|
+
if (!shimMode) {
|
|
339
|
+
acceptingImportMaps = false;
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
nativeAcceptingImportMaps = false;
|
|
343
|
+
}
|
|
295
344
|
}
|
|
296
345
|
await importMapPromise;
|
|
297
|
-
// early analysis opt-out
|
|
298
|
-
if (
|
|
299
|
-
//
|
|
300
|
-
|
|
346
|
+
// early analysis opt-out - no need to even fetch if we have feature support
|
|
347
|
+
if (!shimMode && supportsDynamicImport && supportsImportMeta && supportsImportMaps && (!jsonModulesEnabled || supportsJsonAssertions) && (!cssModulesEnabled || supportsCssAssertions) && !importMapSrcOrLazy) {
|
|
348
|
+
// for polyfill case, only dynamic import needs a return value here, and dynamic import will never pass nativelyLoaded
|
|
349
|
+
if (nativelyLoaded)
|
|
350
|
+
return null;
|
|
351
|
+
await lastStaticLoadPromise;
|
|
352
|
+
return dynamicImport(source ? createBlob(source) : url, { errUrl: url || source });
|
|
301
353
|
}
|
|
302
354
|
await init;
|
|
303
355
|
const load = getOrCreateLoad(url, fetchOpts, source);
|
|
@@ -307,25 +359,15 @@
|
|
|
307
359
|
resolveDeps(load, seen);
|
|
308
360
|
await lastStaticLoadPromise;
|
|
309
361
|
if (source && !shimMode && !load.n) {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
if (domContentLoaded)
|
|
313
|
-
didExecForDomContentLoaded = true;
|
|
314
|
-
}
|
|
315
|
-
const module = await dynamicImport(createBlob(source));
|
|
316
|
-
if (shouldRevokeBlobURLs) revokeObjectURLs(Object.keys(seen));
|
|
362
|
+
const module = await dynamicImport(createBlob(source), { errUrl: source });
|
|
363
|
+
if (revokeBlobURLs) revokeObjectURLs(Object.keys(seen));
|
|
317
364
|
return module;
|
|
318
365
|
}
|
|
319
|
-
const module = await dynamicImport(load.b);
|
|
320
|
-
if (lastStaticLoadPromise && (!nativelyLoaded || load.b !== load.u)) {
|
|
321
|
-
didExecForReadyPromise = true;
|
|
322
|
-
if (domContentLoaded)
|
|
323
|
-
didExecForDomContentLoaded = true;
|
|
324
|
-
}
|
|
366
|
+
const module = await dynamicImport(load.b, { errUrl: load.u });
|
|
325
367
|
// if the top-level load is a shell, run its update function
|
|
326
368
|
if (load.s)
|
|
327
369
|
(await dynamicImport(load.s)).u$_(module);
|
|
328
|
-
if (
|
|
370
|
+
if (revokeBlobURLs) revokeObjectURLs(Object.keys(seen));
|
|
329
371
|
// when tla is supported, this should return the tla promise as an actual handle
|
|
330
372
|
// so readystate can still correspond to the sync subgraph exec completions
|
|
331
373
|
return module;
|
|
@@ -349,38 +391,22 @@
|
|
|
349
391
|
}
|
|
350
392
|
|
|
351
393
|
async function importShim (id, parentUrl = baseUrl, _assertion) {
|
|
352
|
-
|
|
353
|
-
// Make sure all the "in-flight" import maps are loaded and applied.
|
|
394
|
+
processScripts();
|
|
354
395
|
await importMapPromise;
|
|
355
|
-
return topLevelLoad((await
|
|
396
|
+
return topLevelLoad((await resolve(id, parentUrl)).r || throwUnresolved(id, parentUrl), { credentials: 'same-origin' });
|
|
356
397
|
}
|
|
357
398
|
|
|
358
399
|
self.importShim = importShim;
|
|
359
400
|
|
|
360
401
|
const meta = {};
|
|
361
402
|
|
|
362
|
-
const edge = navigator.userAgent.match(/Edge\/\d\d\.\d+$/);
|
|
363
|
-
|
|
364
403
|
async function importMetaResolve (id, parentUrl = this.url) {
|
|
365
404
|
await importMapPromise;
|
|
366
|
-
return (await
|
|
405
|
+
return (await resolve(id, `${parentUrl}`)).r || throwUnresolved(id, parentUrl);
|
|
367
406
|
}
|
|
368
407
|
|
|
369
408
|
self._esmsm = meta;
|
|
370
409
|
|
|
371
|
-
const esmsInitOptions = self.esmsInitOptions || {};
|
|
372
|
-
delete self.esmsInitOptions;
|
|
373
|
-
let shimMode = typeof esmsInitOptions.shimMode === 'boolean' ? esmsInitOptions.shimMode : !!esmsInitOptions.fetch || !!document.querySelector('script[type="module-shim"],script[type="importmap-shim"]');
|
|
374
|
-
const fetchHook = shimMode && esmsInitOptions.fetch || fetch;
|
|
375
|
-
const resolveHook = shimMode && esmsInitOptions.resolve ? async (id, parentUrl) => ({ r: await esmsInitOptions.resolve(id, parentUrl, defaultResolve), b: false }) : resolve;
|
|
376
|
-
const skip = esmsInitOptions.skip || /^https?:\/\/(cdn\.skypack\.dev|jspm\.dev)\//;
|
|
377
|
-
const onerror = esmsInitOptions.onerror || (() => {});
|
|
378
|
-
const shouldRevokeBlobURLs = esmsInitOptions.revokeBlobURLs;
|
|
379
|
-
const noLoadEventRetriggers = esmsInitOptions.noLoadEventRetriggers;
|
|
380
|
-
const enable = Array.isArray(esmsInitOptions.polyfillEnable) ? esmsInitOptions.polyfillEnable : [];
|
|
381
|
-
const cssModulesEnabled = enable.includes('css-modules');
|
|
382
|
-
const jsonModulesEnabled = enable.includes('json-modules');
|
|
383
|
-
|
|
384
410
|
function urlJsString (url) {
|
|
385
411
|
return `'${url.replace(/'/g, "\\'")}'`;
|
|
386
412
|
}
|
|
@@ -485,8 +511,28 @@
|
|
|
485
511
|
|
|
486
512
|
const cssUrlRegEx = /url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g;
|
|
487
513
|
|
|
514
|
+
// restrict in-flight fetches to a pool of 100
|
|
515
|
+
let p = [];
|
|
516
|
+
let c = 0;
|
|
517
|
+
function pushFetchPool () {
|
|
518
|
+
if (++c > 100)
|
|
519
|
+
return new Promise(r => p.push(r));
|
|
520
|
+
}
|
|
521
|
+
function popFetchPool () {
|
|
522
|
+
c--;
|
|
523
|
+
if (p.length)
|
|
524
|
+
p.shift()();
|
|
525
|
+
}
|
|
526
|
+
|
|
488
527
|
async function doFetch (url, fetchOpts) {
|
|
489
|
-
const
|
|
528
|
+
const poolQueue = pushFetchPool();
|
|
529
|
+
if (poolQueue) await poolQueue;
|
|
530
|
+
try {
|
|
531
|
+
var res = await fetchHook(url, fetchOpts);
|
|
532
|
+
}
|
|
533
|
+
finally {
|
|
534
|
+
popFetchPool();
|
|
535
|
+
}
|
|
490
536
|
if (!res.ok)
|
|
491
537
|
throw new Error(`${res.status} ${res.statusText} ${res.url}`);
|
|
492
538
|
const contentType = res.headers.get('content-type');
|
|
@@ -563,7 +609,7 @@
|
|
|
563
609
|
if (d >= 0 && !supportsDynamicImport || d === 2 && !supportsImportMeta)
|
|
564
610
|
load.n = true;
|
|
565
611
|
if (!n) return;
|
|
566
|
-
const { r, b } = await
|
|
612
|
+
const { r, b } = await resolve(n, load.r || load.u);
|
|
567
613
|
if (b && !supportsImportMaps)
|
|
568
614
|
load.n = true;
|
|
569
615
|
if (d !== -1) return;
|
|
@@ -579,14 +625,21 @@
|
|
|
579
625
|
return load;
|
|
580
626
|
}
|
|
581
627
|
|
|
628
|
+
const scriptQuery = 'script[type="module-shim"],script[type="importmap-shim"],script[type="module"],script[type="importmap"]';
|
|
629
|
+
const preloadQuery = 'link[rel="modulepreload"]';
|
|
630
|
+
|
|
582
631
|
function processScripts () {
|
|
583
|
-
|
|
584
|
-
clearTimeout(waitingForImportMapsInterval);
|
|
585
|
-
waitingForImportMapsInterval = 0;
|
|
586
|
-
}
|
|
587
|
-
for (const link of document.querySelectorAll('link[rel="modulepreload"]'))
|
|
632
|
+
for (const link of document.querySelectorAll(preloadQuery))
|
|
588
633
|
processPreload(link);
|
|
589
|
-
|
|
634
|
+
const scripts = document.querySelectorAll(scriptQuery);
|
|
635
|
+
// early shim mode opt-in
|
|
636
|
+
if (!shimMode) {
|
|
637
|
+
for (const script of scripts) {
|
|
638
|
+
if (script.type.endsWith('-shim'))
|
|
639
|
+
setShimMode();
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
for (const script of scripts)
|
|
590
643
|
processScript(script);
|
|
591
644
|
}
|
|
592
645
|
|
|
@@ -605,27 +658,31 @@
|
|
|
605
658
|
return fetchOpts;
|
|
606
659
|
}
|
|
607
660
|
|
|
608
|
-
let staticLoadCnt = 0;
|
|
609
|
-
let didExecForReadyPromise = false;
|
|
610
|
-
let didExecForDomContentLoaded = false;
|
|
611
661
|
let lastStaticLoadPromise = Promise.resolve();
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
function
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
662
|
+
|
|
663
|
+
let domContentLoadedCnt = 1;
|
|
664
|
+
function domContentLoadedCheck () {
|
|
665
|
+
if (--domContentLoadedCnt === 0 && !noLoadEventRetriggers)
|
|
666
|
+
document.dispatchEvent(new Event('DOMContentLoaded'));
|
|
667
|
+
}
|
|
668
|
+
// this should always trigger because we assume es-module-shims is itself a domcontentloaded requirement
|
|
669
|
+
document.addEventListener('DOMContentLoaded', domContentLoadedCheck);
|
|
670
|
+
|
|
671
|
+
let readyStateCompleteCnt = 1;
|
|
672
|
+
if (document.readyState === 'complete')
|
|
673
|
+
readyStateCompleteCheck();
|
|
674
|
+
else
|
|
675
|
+
document.addEventListener('readystatechange', readyStateCompleteCheck);
|
|
676
|
+
function readyStateCompleteCheck () {
|
|
677
|
+
if (--readyStateCompleteCnt === 0 && !noLoadEventRetriggers)
|
|
678
|
+
document.dispatchEvent(new Event('readystatechange'));
|
|
622
679
|
}
|
|
623
680
|
|
|
624
|
-
function processScript (script
|
|
681
|
+
function processScript (script) {
|
|
625
682
|
if (script.ep) // ep marker = script processed
|
|
626
683
|
return;
|
|
627
684
|
const shim = script.type.endsWith('-shim');
|
|
628
|
-
if (shim
|
|
685
|
+
if (shim && !shimMode) setShimMode();
|
|
629
686
|
const type = shimMode ? script.type.slice(0, -5) : script.type;
|
|
630
687
|
// dont process module scripts in shim mode or noshim module scripts in polyfill mode
|
|
631
688
|
if (!shim && shimMode || script.getAttribute('noshim') !== null)
|
|
@@ -635,31 +692,49 @@
|
|
|
635
692
|
return;
|
|
636
693
|
script.ep = true;
|
|
637
694
|
if (type === 'module') {
|
|
638
|
-
|
|
639
|
-
|
|
695
|
+
// does this load block readystate complete
|
|
696
|
+
const isReadyScript = readyStateCompleteCnt > 0;
|
|
697
|
+
// does this load block DOMContentLoaded
|
|
698
|
+
const isDomContentLoadedScript = domContentLoadedCnt > 0;
|
|
699
|
+
if (isReadyScript) readyStateCompleteCnt++;
|
|
700
|
+
if (isDomContentLoadedScript) domContentLoadedCnt++;
|
|
640
701
|
const loadPromise = topLevelLoad(script.src || `${baseUrl}?${id++}`, getFetchOpts(script), !script.src && script.innerHTML, !shimMode, isReadyScript && lastStaticLoadPromise).then(() => {
|
|
641
|
-
|
|
702
|
+
if (!noLoadEventRetriggers)
|
|
703
|
+
triggerLoadEvent(script);
|
|
642
704
|
}).catch(e => {
|
|
643
|
-
|
|
644
|
-
|
|
705
|
+
if (!noLoadEventRetriggers)
|
|
706
|
+
triggerLoadEvent(script);
|
|
707
|
+
// setTimeout(() => { throw e; });
|
|
645
708
|
onerror(e);
|
|
646
709
|
});
|
|
647
710
|
if (isReadyScript)
|
|
648
|
-
lastStaticLoadPromise = loadPromise.then(
|
|
711
|
+
lastStaticLoadPromise = loadPromise.then(readyStateCompleteCheck);
|
|
712
|
+
if (isDomContentLoadedScript)
|
|
713
|
+
loadPromise.then(domContentLoadedCheck);
|
|
649
714
|
}
|
|
650
|
-
else if (type === 'importmap') {
|
|
715
|
+
else if (acceptingImportMaps && type === 'importmap') {
|
|
651
716
|
// we dont currently support multiple, external or dynamic imports maps in polyfill mode to match native
|
|
652
|
-
if (
|
|
653
|
-
|
|
654
|
-
|
|
717
|
+
if (script.src || !nativeAcceptingImportMaps) {
|
|
718
|
+
if (!shimMode)
|
|
719
|
+
return;
|
|
720
|
+
importMapSrcOrLazy = true;
|
|
721
|
+
}
|
|
722
|
+
if (!shimMode) {
|
|
723
|
+
acceptingImportMaps = false;
|
|
724
|
+
}
|
|
725
|
+
else {
|
|
726
|
+
nativeAcceptingImportMaps = false;
|
|
727
|
+
}
|
|
655
728
|
importMapPromise = importMapPromise.then(async () => {
|
|
656
|
-
if (script.src || dynamic)
|
|
657
|
-
importMapSrcOrLazy = true;
|
|
658
729
|
importMap = resolveAndComposeImportMap(script.src ? await (await fetchHook(script.src)).json() : JSON.parse(script.innerHTML), script.src || baseUrl, importMap);
|
|
659
730
|
});
|
|
660
731
|
}
|
|
661
732
|
}
|
|
662
733
|
|
|
734
|
+
function triggerLoadEvent (script) {
|
|
735
|
+
script.dispatchEvent(new Event('load'));
|
|
736
|
+
}
|
|
737
|
+
|
|
663
738
|
const fetchCache = {};
|
|
664
739
|
function processPreload (link) {
|
|
665
740
|
if (link.ep) // ep marker = processed
|
|
@@ -675,41 +750,17 @@
|
|
|
675
750
|
if (mutation.type !== 'childList') continue;
|
|
676
751
|
for (const node of mutation.addedNodes) {
|
|
677
752
|
if (node.tagName === 'SCRIPT' && node.type)
|
|
678
|
-
processScript(node
|
|
753
|
+
processScript(node);
|
|
679
754
|
else if (node.tagName === 'LINK' && node.rel === 'modulepreload')
|
|
680
755
|
processPreload(node);
|
|
681
|
-
else if (node.querySelectorAll) {
|
|
682
|
-
for (const script of node.querySelectorAll('script[type="module-shim"],script[type="importmap-shim"],script[type="module"],script[type="importmap"]')) {
|
|
683
|
-
processScript(script, !firstTopLevelProcess);
|
|
684
|
-
}
|
|
685
|
-
for (const link of node.querySelectorAll('link[rel=modulepreload]')) {
|
|
686
|
-
processPreload(link);
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
756
|
}
|
|
690
757
|
}
|
|
691
758
|
}).observe(document, { childList: true, subtree: true });
|
|
692
759
|
|
|
693
|
-
async function defaultResolve (id, parentUrl) {
|
|
694
|
-
return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl);
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
async function resolve (id, parentUrl) {
|
|
698
|
-
const urlResolved = resolveIfNotPlainOrUrl(id, parentUrl);
|
|
699
|
-
return {
|
|
700
|
-
r: resolveImportMap(importMap, urlResolved || id, parentUrl),
|
|
701
|
-
// b = bare specifier
|
|
702
|
-
b: !urlResolved && !isURL(id)
|
|
703
|
-
};
|
|
704
|
-
}
|
|
705
|
-
|
|
706
760
|
function throwUnresolved (id, parentUrl) {
|
|
707
761
|
throw Error("Unable to resolve specifier '" + id + (parentUrl ? "' from " + parentUrl : "'"));
|
|
708
762
|
}
|
|
709
763
|
|
|
710
|
-
|
|
711
|
-
processScripts();
|
|
712
|
-
waitingForImportMapsInterval = setInterval(processScripts, 20);
|
|
713
|
-
}
|
|
764
|
+
processScripts();
|
|
714
765
|
|
|
715
766
|
}());
|