stimulus-rails 0.2.4 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +11 -22
- data/app/assets/javascripts/{stimulus/loaders/autoloader.js → stimulus-autoloader.js} +2 -2
- data/app/assets/javascripts/stimulus-importmap-autoloader.js +25 -0
- data/app/assets/javascripts/stimulus.js +1926 -0
- data/lib/generators/stimulus/USAGE +15 -0
- data/lib/generators/stimulus/stimulus_generator.rb +16 -0
- data/lib/generators/stimulus/templates/controller.js.tt +7 -0
- data/lib/install/app/javascript/controllers/application.js +10 -0
- data/lib/install/app/{assets/javascripts → javascript}/controllers/hello_controller.js +1 -1
- data/lib/install/app/javascript/controllers/index_for_importmap.js +5 -0
- data/lib/install/app/javascript/controllers/index_for_node.js +7 -0
- data/lib/install/stimulus_with_importmap.rb +19 -0
- data/lib/install/stimulus_with_node.rb +18 -0
- data/lib/stimulus/engine.rb +1 -17
- data/lib/stimulus/manifest.rb +27 -0
- data/lib/stimulus/version.rb +1 -1
- data/lib/tasks/stimulus_tasks.rake +32 -9
- metadata +21 -22
- data/app/assets/javascripts/stimulus/libraries/es-module-shims.js +0 -1
- data/app/assets/javascripts/stimulus/libraries/es-module-shims@0.7.1.js +0 -475
- data/app/assets/javascripts/stimulus/libraries/stimulus.js +0 -1
- data/app/assets/javascripts/stimulus/libraries/stimulus@2.js +0 -1699
- data/app/assets/javascripts/stimulus/manifest.js +0 -2
- data/app/helpers/stimulus/stimulus_helper.rb +0 -10
- data/lib/install/app/assets/javascripts/controllers/index.js +0 -9
- data/lib/install/app/assets/javascripts/importmap.json.erb +0 -5
- data/lib/install/application.js +0 -1
- data/lib/install/stimulus_with_asset_pipeline.rb +0 -23
- data/lib/install/stimulus_with_webpacker.rb +0 -10
- data/lib/stimulus/importmap_helper.rb +0 -33
@@ -1,475 +0,0 @@
|
|
1
|
-
/* ES Module Shims 0.5.0 */
|
2
|
-
(function () {
|
3
|
-
'use strict';
|
4
|
-
|
5
|
-
const resolvedPromise = Promise.resolve();
|
6
|
-
|
7
|
-
let baseUrl;
|
8
|
-
|
9
|
-
function createBlob (source) {
|
10
|
-
return URL.createObjectURL(new Blob([source], { type: 'application/javascript' }));
|
11
|
-
}
|
12
|
-
|
13
|
-
const hasDocument = typeof document !== 'undefined';
|
14
|
-
|
15
|
-
// support browsers without dynamic import support (eg Firefox 6x)
|
16
|
-
let dynamicImport;
|
17
|
-
try {
|
18
|
-
dynamicImport = (0, eval)('u=>import(u)');
|
19
|
-
}
|
20
|
-
catch (e) {
|
21
|
-
if (hasDocument) {
|
22
|
-
self.addEventListener('error', e => importShim.e = e.error);
|
23
|
-
dynamicImport = blobUrl => {
|
24
|
-
const topLevelBlobUrl = createBlob(
|
25
|
-
`import*as m from'${blobUrl}';self.importShim.l=m;self.importShim.e=null`
|
26
|
-
);
|
27
|
-
const s = document.createElement('script');
|
28
|
-
s.type = 'module';
|
29
|
-
s.src = topLevelBlobUrl;
|
30
|
-
document.head.appendChild(s);
|
31
|
-
return new Promise((resolve, reject) => {
|
32
|
-
s.addEventListener('load', () => {
|
33
|
-
document.head.removeChild(s);
|
34
|
-
importShim.e ? reject(importShim.e) : resolve(importShim.l, baseUrl);
|
35
|
-
});
|
36
|
-
});
|
37
|
-
};
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
if (hasDocument) {
|
42
|
-
const baseEl = document.querySelector('base[href]');
|
43
|
-
if (baseEl)
|
44
|
-
baseUrl = baseEl.href;
|
45
|
-
}
|
46
|
-
|
47
|
-
if (!baseUrl && typeof location !== 'undefined') {
|
48
|
-
baseUrl = location.href.split('#')[0].split('?')[0];
|
49
|
-
const lastSepIndex = baseUrl.lastIndexOf('/');
|
50
|
-
if (lastSepIndex !== -1)
|
51
|
-
baseUrl = baseUrl.slice(0, lastSepIndex + 1);
|
52
|
-
}
|
53
|
-
|
54
|
-
let esModuleShimsSrc;
|
55
|
-
if (hasDocument) {
|
56
|
-
esModuleShimsSrc = document.currentScript && document.currentScript.src;
|
57
|
-
}
|
58
|
-
|
59
|
-
const backslashRegEx = /\\/g;
|
60
|
-
function resolveIfNotPlainOrUrl (relUrl, parentUrl) {
|
61
|
-
// strip off any trailing query params or hashes
|
62
|
-
parentUrl = parentUrl && parentUrl.split('#')[0].split('?')[0];
|
63
|
-
if (relUrl.indexOf('\\') !== -1)
|
64
|
-
relUrl = relUrl.replace(backslashRegEx, '/');
|
65
|
-
// protocol-relative
|
66
|
-
if (relUrl[0] === '/' && relUrl[1] === '/') {
|
67
|
-
return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl;
|
68
|
-
}
|
69
|
-
// relative-url
|
70
|
-
else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||
|
71
|
-
relUrl.length === 1 && (relUrl += '/')) ||
|
72
|
-
relUrl[0] === '/') {
|
73
|
-
const parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1);
|
74
|
-
// Disabled, but these cases will give inconsistent results for deep backtracking
|
75
|
-
//if (parentUrl[parentProtocol.length] !== '/')
|
76
|
-
// throw new Error('Cannot resolve');
|
77
|
-
// read pathname from parent URL
|
78
|
-
// pathname taken to be part after leading "/"
|
79
|
-
let pathname;
|
80
|
-
if (parentUrl[parentProtocol.length + 1] === '/') {
|
81
|
-
// resolving to a :// so we need to read out the auth and host
|
82
|
-
if (parentProtocol !== 'file:') {
|
83
|
-
pathname = parentUrl.slice(parentProtocol.length + 2);
|
84
|
-
pathname = pathname.slice(pathname.indexOf('/') + 1);
|
85
|
-
}
|
86
|
-
else {
|
87
|
-
pathname = parentUrl.slice(8);
|
88
|
-
}
|
89
|
-
}
|
90
|
-
else {
|
91
|
-
// resolving to :/ so pathname is the /... part
|
92
|
-
pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/'));
|
93
|
-
}
|
94
|
-
|
95
|
-
if (relUrl[0] === '/')
|
96
|
-
return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;
|
97
|
-
|
98
|
-
// join together and split for removal of .. and . segments
|
99
|
-
// looping the string instead of anything fancy for perf reasons
|
100
|
-
// '../../../../../z' resolved to 'x/y' is just 'z'
|
101
|
-
const segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl;
|
102
|
-
|
103
|
-
const output = [];
|
104
|
-
let segmentIndex = -1;
|
105
|
-
for (let i = 0; i < segmented.length; i++) {
|
106
|
-
// busy reading a segment - only terminate on '/'
|
107
|
-
if (segmentIndex !== -1) {
|
108
|
-
if (segmented[i] === '/') {
|
109
|
-
output.push(segmented.slice(segmentIndex, i + 1));
|
110
|
-
segmentIndex = -1;
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
// new segment - check if it is relative
|
115
|
-
else if (segmented[i] === '.') {
|
116
|
-
// ../ segment
|
117
|
-
if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {
|
118
|
-
output.pop();
|
119
|
-
i += 2;
|
120
|
-
}
|
121
|
-
// ./ segment
|
122
|
-
else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {
|
123
|
-
i += 1;
|
124
|
-
}
|
125
|
-
else {
|
126
|
-
// the start of a new segment as below
|
127
|
-
segmentIndex = i;
|
128
|
-
}
|
129
|
-
}
|
130
|
-
// it is the start of a new segment
|
131
|
-
else {
|
132
|
-
segmentIndex = i;
|
133
|
-
}
|
134
|
-
}
|
135
|
-
// finish reading out the last segment
|
136
|
-
if (segmentIndex !== -1)
|
137
|
-
output.push(segmented.slice(segmentIndex));
|
138
|
-
return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join('');
|
139
|
-
}
|
140
|
-
}
|
141
|
-
|
142
|
-
/*
|
143
|
-
* Import maps implementation
|
144
|
-
*
|
145
|
-
* To make lookups fast we pre-resolve the entire import map
|
146
|
-
* and then match based on backtracked hash lookups
|
147
|
-
*
|
148
|
-
*/
|
149
|
-
function resolveUrl (relUrl, parentUrl) {
|
150
|
-
return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl));
|
151
|
-
}
|
152
|
-
|
153
|
-
function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap) {
|
154
|
-
for (let p in packages) {
|
155
|
-
const resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p;
|
156
|
-
let target = packages[p];
|
157
|
-
if (typeof target !== 'string')
|
158
|
-
continue;
|
159
|
-
const mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(target, baseUrl) || target, baseUrl);
|
160
|
-
if (mapped) {
|
161
|
-
outPackages[resolvedLhs] = mapped;
|
162
|
-
continue;
|
163
|
-
}
|
164
|
-
targetWarning(p, packages[p], 'bare specifier did not resolve');
|
165
|
-
}
|
166
|
-
}
|
167
|
-
|
168
|
-
function resolveAndComposeImportMap (json, baseUrl, parentMap) {
|
169
|
-
const outMap = { imports: Object.assign({}, parentMap.imports), scopes: Object.assign({}, parentMap.scopes), depcache: Object.assign({}, parentMap.depcache) };
|
170
|
-
|
171
|
-
if (json.imports)
|
172
|
-
resolveAndComposePackages(json.imports, outMap.imports, baseUrl, parentMap,);
|
173
|
-
|
174
|
-
if (json.scopes)
|
175
|
-
for (let s in json.scopes) {
|
176
|
-
const resolvedScope = resolveUrl(s, baseUrl);
|
177
|
-
resolveAndComposePackages(json.scopes[s], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, parentMap);
|
178
|
-
}
|
179
|
-
|
180
|
-
if (json.depcache)
|
181
|
-
for (let d in json.depcache) {
|
182
|
-
const resolvedDepcache = resolveUrl(d, baseUrl);
|
183
|
-
outMap.depcache[resolvedDepcache] = json.depcache[d];
|
184
|
-
}
|
185
|
-
|
186
|
-
return outMap;
|
187
|
-
}
|
188
|
-
|
189
|
-
function getMatch (path, matchObj) {
|
190
|
-
if (matchObj[path])
|
191
|
-
return path;
|
192
|
-
let sepIndex = path.length;
|
193
|
-
do {
|
194
|
-
const segment = path.slice(0, sepIndex + 1);
|
195
|
-
if (segment in matchObj)
|
196
|
-
return segment;
|
197
|
-
} while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1)
|
198
|
-
}
|
199
|
-
|
200
|
-
function applyPackages (id, packages) {
|
201
|
-
const pkgName = getMatch(id, packages);
|
202
|
-
if (pkgName) {
|
203
|
-
const pkg = packages[pkgName];
|
204
|
-
if (pkg === null) return;
|
205
|
-
if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/')
|
206
|
-
targetWarning(pkgName, pkg, "should have a trailing '/'");
|
207
|
-
else
|
208
|
-
return pkg + id.slice(pkgName.length);
|
209
|
-
}
|
210
|
-
}
|
211
|
-
|
212
|
-
function targetWarning (match, target, msg) {
|
213
|
-
console.warn("Package target " + msg + ", resolving target '" + target + "' for " + match);
|
214
|
-
}
|
215
|
-
|
216
|
-
function resolveImportMap (importMap, resolvedOrPlain, parentUrl) {
|
217
|
-
let scopeUrl = parentUrl && getMatch(parentUrl, importMap.scopes);
|
218
|
-
while (scopeUrl) {
|
219
|
-
const packageResolution = applyPackages(resolvedOrPlain, importMap.scopes[scopeUrl]);
|
220
|
-
if (packageResolution)
|
221
|
-
return packageResolution;
|
222
|
-
scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), importMap.scopes);
|
223
|
-
}
|
224
|
-
return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain;
|
225
|
-
}
|
226
|
-
|
227
|
-
/* es-module-lexer 0.3.26 */
|
228
|
-
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,D=(B.__heap_base.value||B.__heap_base)+4*I-B.memory.buffer.byteLength;D>0&&B.memory.grow(Math.ceil(D/65536));const w=B.sa(I-1);if((A?C:Q)(E,new Uint16Array(B.memory.buffer,w,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 L=[],k=[];for(;B.ri();)L.push({s:B.is(),e:B.ie(),ss:B.ss(),se:B.se(),d:B.id()});for(;B.re();)k.push(E.slice(B.es(),B.ee()));return [L,k,!!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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","function"==typeof atob?Uint8Array.from(atob(E),A=>A.charCodeAt(0)):Buffer.from(E,"base64"))).then(WebAssembly.instantiate).then(({exports:A})=>{B=A;});var E;
|
229
|
-
|
230
|
-
let id = 0;
|
231
|
-
const registry = {};
|
232
|
-
|
233
|
-
async function loadAll (load, seen) {
|
234
|
-
if (load.b || seen[load.u])
|
235
|
-
return;
|
236
|
-
seen[load.u] = 1;
|
237
|
-
await load.L;
|
238
|
-
return Promise.all(load.d.map(dep => loadAll(dep, seen)));
|
239
|
-
}
|
240
|
-
|
241
|
-
let waitingForImportMapsInterval;
|
242
|
-
let firstTopLevelProcess = true;
|
243
|
-
async function topLevelLoad (url, source) {
|
244
|
-
if (waitingForImportMapsInterval > 0) {
|
245
|
-
clearTimeout(waitingForImportMapsInterval);
|
246
|
-
waitingForImportMapsInterval = 0;
|
247
|
-
}
|
248
|
-
if (firstTopLevelProcess) {
|
249
|
-
firstTopLevelProcess = false;
|
250
|
-
processScripts();
|
251
|
-
}
|
252
|
-
await importMapPromise;
|
253
|
-
await init;
|
254
|
-
const load = getOrCreateLoad(url, source);
|
255
|
-
const seen = {};
|
256
|
-
await loadAll(load, seen);
|
257
|
-
lastLoad = undefined;
|
258
|
-
resolveDeps(load, seen);
|
259
|
-
const module = await dynamicImport(load.b);
|
260
|
-
// if the top-level load is a shell, run its update function
|
261
|
-
if (load.s)
|
262
|
-
(await dynamicImport(load.s)).u$_(module);
|
263
|
-
return module;
|
264
|
-
}
|
265
|
-
|
266
|
-
async function importShim$1 (id, parentUrl) {
|
267
|
-
return topLevelLoad(resolve(id, parentUrl || baseUrl));
|
268
|
-
}
|
269
|
-
|
270
|
-
self.importShim = importShim$1;
|
271
|
-
|
272
|
-
const meta = {};
|
273
|
-
|
274
|
-
const edge = navigator.userAgent.match(/Edge\/\d\d\.\d+$/);
|
275
|
-
|
276
|
-
async function importMetaResolve (id, parentUrl = this.url) {
|
277
|
-
await importMapPromise;
|
278
|
-
return resolve(id, `${parentUrl}`);
|
279
|
-
}
|
280
|
-
|
281
|
-
Object.defineProperties(importShim$1, {
|
282
|
-
m: { value: meta },
|
283
|
-
l: { value: undefined, writable: true },
|
284
|
-
e: { value: undefined, writable: true }
|
285
|
-
});
|
286
|
-
importShim$1.fetch = url => fetch(url);
|
287
|
-
importShim$1.skip = /^https?:\/\/(cdn\.pika\.dev|dev\.jspm\.io|jspm\.dev)\//;
|
288
|
-
importShim$1.load = processScripts;
|
289
|
-
importShim$1.onerror = (e) => {
|
290
|
-
throw e;
|
291
|
-
};
|
292
|
-
|
293
|
-
let lastLoad;
|
294
|
-
function resolveDeps (load, seen) {
|
295
|
-
if (load.b || !seen[load.u])
|
296
|
-
return;
|
297
|
-
seen[load.u] = 0;
|
298
|
-
|
299
|
-
for (const dep of load.d)
|
300
|
-
resolveDeps(dep, seen);
|
301
|
-
|
302
|
-
// "execution"
|
303
|
-
const source = load.S;
|
304
|
-
// edge doesnt execute sibling in order, so we fix this up by ensuring all previous executions are explicit dependencies
|
305
|
-
let resolvedSource = edge && lastLoad ? `import '${lastLoad}';` : '';
|
306
|
-
|
307
|
-
const [imports] = load.a;
|
308
|
-
|
309
|
-
if (!imports.length) {
|
310
|
-
resolvedSource += source;
|
311
|
-
}
|
312
|
-
else {
|
313
|
-
// once all deps have loaded we can inline the dependency resolution blobs
|
314
|
-
// and define this blob
|
315
|
-
let lastIndex = 0, depIndex = 0;
|
316
|
-
for (const { s: start, e: end, d: dynamicImportIndex } of imports) {
|
317
|
-
// dependency source replacements
|
318
|
-
if (dynamicImportIndex === -1) {
|
319
|
-
const depLoad = load.d[depIndex++];
|
320
|
-
let blobUrl = depLoad.b;
|
321
|
-
if (!blobUrl) {
|
322
|
-
// circular shell creation
|
323
|
-
if (!(blobUrl = depLoad.s)) {
|
324
|
-
blobUrl = depLoad.s = createBlob(`export function u$_(m){${
|
325
|
-
depLoad.a[1].map(
|
326
|
-
name => name === 'default' ? `$_default=m.default` : `${name}=m.${name}`
|
327
|
-
).join(',')
|
328
|
-
}}${
|
329
|
-
depLoad.a[1].map(name =>
|
330
|
-
name === 'default' ? `let $_default;export{$_default as default}` : `export let ${name}`
|
331
|
-
).join(';')
|
332
|
-
}\n//# sourceURL=${depLoad.r}?cycle`);
|
333
|
-
}
|
334
|
-
}
|
335
|
-
// circular shell execution
|
336
|
-
else if (depLoad.s) {
|
337
|
-
resolvedSource += source.slice(lastIndex, start - 1) + '/*' + source.slice(start - 1, end + 1) + '*/' + source.slice(start - 1, start) + blobUrl + source[end] + `;import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`;
|
338
|
-
lastIndex = end + 1;
|
339
|
-
depLoad.s = undefined;
|
340
|
-
continue;
|
341
|
-
}
|
342
|
-
resolvedSource += source.slice(lastIndex, start - 1) + '/*' + source.slice(start - 1, end + 1) + '*/' + source.slice(start - 1, start) + blobUrl;
|
343
|
-
lastIndex = end;
|
344
|
-
}
|
345
|
-
// import.meta
|
346
|
-
else if (dynamicImportIndex === -2) {
|
347
|
-
meta[load.r] = { url: load.r, resolve: importMetaResolve };
|
348
|
-
resolvedSource += source.slice(lastIndex, start) + 'importShim.m[' + JSON.stringify(load.r) + ']';
|
349
|
-
lastIndex = end;
|
350
|
-
}
|
351
|
-
// dynamic import
|
352
|
-
else {
|
353
|
-
resolvedSource += source.slice(lastIndex, dynamicImportIndex + 6) + 'Shim(' + source.slice(start, end) + ', ' + JSON.stringify(load.r);
|
354
|
-
lastIndex = end;
|
355
|
-
}
|
356
|
-
}
|
357
|
-
|
358
|
-
resolvedSource += source.slice(lastIndex);
|
359
|
-
}
|
360
|
-
|
361
|
-
let sourceMappingResolved = '';
|
362
|
-
const sourceMappingIndex = resolvedSource.lastIndexOf('//# sourceMappingURL=');
|
363
|
-
if (sourceMappingIndex > -1) {
|
364
|
-
const sourceMappingEnd = resolvedSource.indexOf('\n',sourceMappingIndex);
|
365
|
-
const sourceMapping = resolvedSource.slice(sourceMappingIndex, sourceMappingEnd > -1 ? sourceMappingEnd : undefined);
|
366
|
-
sourceMappingResolved = `\n//# sourceMappingURL=` + resolveUrl(sourceMapping.slice(21), load.r);
|
367
|
-
}
|
368
|
-
load.b = lastLoad = createBlob(resolvedSource + sourceMappingResolved + '\n//# sourceURL=' + load.r);
|
369
|
-
load.S = undefined;
|
370
|
-
}
|
371
|
-
|
372
|
-
function getOrCreateLoad (url, source) {
|
373
|
-
let load = registry[url];
|
374
|
-
if (load)
|
375
|
-
return load;
|
376
|
-
|
377
|
-
load = registry[url] = {
|
378
|
-
// url
|
379
|
-
u: url,
|
380
|
-
// response url
|
381
|
-
r: undefined,
|
382
|
-
// fetchPromise
|
383
|
-
f: undefined,
|
384
|
-
// source
|
385
|
-
S: undefined,
|
386
|
-
// linkPromise
|
387
|
-
L: undefined,
|
388
|
-
// analysis
|
389
|
-
a: undefined,
|
390
|
-
// deps
|
391
|
-
d: undefined,
|
392
|
-
// blobUrl
|
393
|
-
b: undefined,
|
394
|
-
// shellUrl
|
395
|
-
s: undefined,
|
396
|
-
};
|
397
|
-
|
398
|
-
const depcache = importMap.depcache[url];
|
399
|
-
if (depcache)
|
400
|
-
depcache.forEach(depUrl => getOrCreateLoad(resolve(depUrl, url)));
|
401
|
-
|
402
|
-
load.f = (async () => {
|
403
|
-
if (!source) {
|
404
|
-
const res = await importShim$1.fetch(url);
|
405
|
-
if (!res.ok)
|
406
|
-
throw new Error(`${res.status} ${res.statusText} ${res.url}`);
|
407
|
-
load.r = res.url;
|
408
|
-
const contentType = res.headers.get('content-type');
|
409
|
-
if (contentType.match(/^(text|application)\/(x-)?javascript(;|$)/))
|
410
|
-
source = await res.text();
|
411
|
-
else
|
412
|
-
throw new Error(`Unknown Content-Type "${contentType}"`);
|
413
|
-
}
|
414
|
-
try {
|
415
|
-
load.a = parse(source, load.u);
|
416
|
-
}
|
417
|
-
catch (e) {
|
418
|
-
console.warn(e);
|
419
|
-
load.a = [[], []];
|
420
|
-
}
|
421
|
-
load.S = source;
|
422
|
-
return load.a[0].filter(d => d.d === -1).map(d => source.slice(d.s, d.e));
|
423
|
-
})();
|
424
|
-
|
425
|
-
load.L = load.f.then(async deps => {
|
426
|
-
load.d = await Promise.all(deps.map(async depId => {
|
427
|
-
const resolved = resolve(depId, load.r || load.u);
|
428
|
-
if (importShim$1.skip.test(resolved))
|
429
|
-
return { b: resolved };
|
430
|
-
const depLoad = getOrCreateLoad(resolved);
|
431
|
-
await depLoad.f;
|
432
|
-
return depLoad;
|
433
|
-
}));
|
434
|
-
});
|
435
|
-
|
436
|
-
return load;
|
437
|
-
}
|
438
|
-
|
439
|
-
let importMap = { imports: {}, scopes: {}, depcache: {} };
|
440
|
-
let importMapPromise = resolvedPromise;
|
441
|
-
|
442
|
-
if (hasDocument) {
|
443
|
-
processScripts();
|
444
|
-
waitingForImportMapsInterval = setInterval(processScripts, 20);
|
445
|
-
}
|
446
|
-
|
447
|
-
async function processScripts () {
|
448
|
-
if (waitingForImportMapsInterval > 0 && document.readyState !== 'loading') {
|
449
|
-
clearTimeout(waitingForImportMapsInterval);
|
450
|
-
waitingForImportMapsInterval = 0;
|
451
|
-
}
|
452
|
-
for (const script of document.querySelectorAll('script[type="module-shim"],script[type="importmap-shim"]')) {
|
453
|
-
if (script.ep) // ep marker = script processed
|
454
|
-
return;
|
455
|
-
if (script.type === 'module-shim') {
|
456
|
-
await topLevelLoad(script.src || `${baseUrl}?${id++}`, !script.src && script.innerHTML).catch(e => importShim$1.onerror(e));
|
457
|
-
}
|
458
|
-
else {
|
459
|
-
importMapPromise = importMapPromise.then(async () =>
|
460
|
-
importMap = resolveAndComposeImportMap(script.src ? await (await fetch(script.src)).json() : JSON.parse(script.innerHTML), script.src || baseUrl, importMap)
|
461
|
-
);
|
462
|
-
}
|
463
|
-
script.ep = true;
|
464
|
-
}
|
465
|
-
}
|
466
|
-
|
467
|
-
function resolve (id, parentUrl) {
|
468
|
-
return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl);
|
469
|
-
}
|
470
|
-
|
471
|
-
function throwUnresolved (id, parentUrl) {
|
472
|
-
throw Error("Unable to resolve specifier '" + id + (parentUrl ? "' from " + parentUrl : "'"));
|
473
|
-
}
|
474
|
-
|
475
|
-
}());
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require ./stimulus@2.js
|