@jsenv/core 24.4.8 → 24.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/build_manifest.js +4 -4
  2. package/dist/compile_proxy/asset-manifest.json +1 -2
  3. package/dist/compile_proxy/{compile_proxy-e666f204.html → compile_proxy-1dfca609.html} +254 -218
  4. package/dist/redirector/asset-manifest.json +1 -2
  5. package/dist/redirector/{redirector-bee67b92.html → redirector-d1316407.html} +254 -218
  6. package/dist/toolbar/asset-manifest.json +1 -2
  7. package/dist/toolbar/{toolbar-d13f2c3c.html → toolbar-afb71355.html} +261 -221
  8. package/dist/toolbar/{toolbar.main-320b0544.js.map → toolbar.main-feac7fa3.js.map} +2 -2
  9. package/dist/toolbar_injector/asset-manifest.json +1 -1
  10. package/dist/toolbar_injector/{toolbar_injector-828ec83b.js → toolbar_injector-445d3ea0.js} +2 -2
  11. package/dist/toolbar_injector/{toolbar_injector-828ec83b.js.map → toolbar_injector-445d3ea0.js.map} +2 -2
  12. package/package.json +1 -1
  13. package/src/buildProject.js +2 -0
  14. package/src/internal/building/buildUsingRollup.js +16 -28
  15. package/src/internal/building/{bundleWorker.js → js/babel_plugin_inline_worker_imports.js} +25 -61
  16. package/src/internal/building/js/parseJsRessource.js +13 -14
  17. package/src/internal/building/js/transform_worker.js +55 -0
  18. package/src/internal/building/resolve_import_url_helper.js +2 -1
  19. package/src/internal/building/ressource_builder.js +59 -15
  20. package/src/internal/building/{createJsenvRollupPlugin.js → rollup_plugin_jsenv.js} +81 -9
  21. package/src/internal/building/url_loader.js +0 -2
  22. package/src/internal/compiling/createCompiledFileService.js +3 -3
  23. package/src/internal/dev_server/toolbar/toolbar.html +1 -1
  24. package/src/internal/dev_server/toolbar/toolbar.main.js +4 -0
  25. package/src/jsenvServiceWorkerFinalizer.js +19 -2
  26. package/dist/compile_proxy/assets/s.js-fcba0e35.map +0 -246
  27. package/dist/redirector/assets/s.js-fcba0e35.map +0 -246
  28. package/dist/toolbar/assets/s.js-fcba0e35.map +0 -246
  29. package/src/internal/building/buildServiceWorker.js +0 -75
@@ -8,6 +8,7 @@
8
8
  * Minimal SystemJS Build
9
9
  */
10
10
  (function () {
11
+
11
12
  function errMsg(errCode, msg) {
12
13
  return (msg || "") + " (SystemJS https://git.io/JvFET#" + errCode + ")";
13
14
  }
@@ -15,58 +16,68 @@
15
16
  var hasSymbol = typeof Symbol !== 'undefined';
16
17
  var hasSelf = typeof self !== 'undefined';
17
18
  var hasDocument = typeof document !== 'undefined';
19
+
18
20
  var envGlobal = hasSelf ? self : global;
21
+
19
22
  var baseUrl;
20
23
 
21
24
  if (hasDocument) {
22
25
  var baseEl = document.querySelector('base[href]');
23
- if (baseEl) baseUrl = baseEl.href;
26
+ if (baseEl)
27
+ baseUrl = baseEl.href;
24
28
  }
25
29
 
26
30
  if (!baseUrl && typeof location !== 'undefined') {
27
31
  baseUrl = location.href.split('#')[0].split('?')[0];
28
32
  var lastSepIndex = baseUrl.lastIndexOf('/');
29
- if (lastSepIndex !== -1) baseUrl = baseUrl.slice(0, lastSepIndex + 1);
33
+ if (lastSepIndex !== -1)
34
+ baseUrl = baseUrl.slice(0, lastSepIndex + 1);
30
35
  }
31
36
 
32
37
  var backslashRegEx = /\\/g;
33
-
34
- function resolveIfNotPlainOrUrl(relUrl, parentUrl) {
35
- if (relUrl.indexOf('\\') !== -1) relUrl = relUrl.replace(backslashRegEx, '/'); // protocol-relative
36
-
38
+ function resolveIfNotPlainOrUrl (relUrl, parentUrl) {
39
+ if (relUrl.indexOf('\\') !== -1)
40
+ relUrl = relUrl.replace(backslashRegEx, '/');
41
+ // protocol-relative
37
42
  if (relUrl[0] === '/' && relUrl[1] === '/') {
38
43
  return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl;
39
- } // relative-url
40
- else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) || relUrl.length === 1 && (relUrl += '/')) || relUrl[0] === '/') {
41
- var parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1); // Disabled, but these cases will give inconsistent results for deep backtracking
44
+ }
45
+ // relative-url
46
+ else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||
47
+ relUrl.length === 1 && (relUrl += '/')) ||
48
+ relUrl[0] === '/') {
49
+ var parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1);
50
+ // Disabled, but these cases will give inconsistent results for deep backtracking
42
51
  //if (parentUrl[parentProtocol.length] !== '/')
43
52
  // throw Error('Cannot resolve');
44
53
  // read pathname from parent URL
45
54
  // pathname taken to be part after leading "/"
46
-
47
55
  var pathname;
48
-
49
56
  if (parentUrl[parentProtocol.length + 1] === '/') {
50
57
  // resolving to a :// so we need to read out the auth and host
51
58
  if (parentProtocol !== 'file:') {
52
59
  pathname = parentUrl.slice(parentProtocol.length + 2);
53
60
  pathname = pathname.slice(pathname.indexOf('/') + 1);
54
- } else {
61
+ }
62
+ else {
55
63
  pathname = parentUrl.slice(8);
56
64
  }
57
- } else {
65
+ }
66
+ else {
58
67
  // resolving to :/ so pathname is the /... part
59
68
  pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/'));
60
69
  }
61
70
 
62
- if (relUrl[0] === '/') return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl; // join together and split for removal of .. and . segments
71
+ if (relUrl[0] === '/')
72
+ return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;
73
+
74
+ // join together and split for removal of .. and . segments
63
75
  // looping the string instead of anything fancy for perf reasons
64
76
  // '../../../../../z' resolved to 'x/y' is just 'z'
65
-
66
77
  var segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl;
78
+
67
79
  var output = [];
68
80
  var segmentIndex = -1;
69
-
70
81
  for (var i = 0; i < segmented.length; i++) {
71
82
  // busy reading a segment - only terminate on '/'
72
83
  if (segmentIndex !== -1) {
@@ -74,30 +85,36 @@
74
85
  output.push(segmented.slice(segmentIndex, i + 1));
75
86
  segmentIndex = -1;
76
87
  }
77
- } // new segment - check if it is relative
88
+ }
89
+
90
+ // new segment - check if it is relative
78
91
  else if (segmented[i] === '.') {
79
92
  // ../ segment
80
93
  if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {
81
94
  output.pop();
82
95
  i += 2;
83
- } // ./ segment
96
+ }
97
+ // ./ segment
84
98
  else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {
85
99
  i += 1;
86
- } else {
100
+ }
101
+ else {
87
102
  // the start of a new segment as below
88
103
  segmentIndex = i;
89
104
  }
90
- } // it is the start of a new segment
105
+ }
106
+ // it is the start of a new segment
91
107
  else {
92
108
  segmentIndex = i;
93
109
  }
94
- } // finish reading out the last segment
95
-
96
-
97
- if (segmentIndex !== -1) output.push(segmented.slice(segmentIndex));
110
+ }
111
+ // finish reading out the last segment
112
+ if (segmentIndex !== -1)
113
+ output.push(segmented.slice(segmentIndex));
98
114
  return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join('');
99
115
  }
100
116
  }
117
+
101
118
  /*
102
119
  * Import maps implementation
103
120
  *
@@ -106,78 +123,83 @@
106
123
  *
107
124
  */
108
125
 
109
-
110
- function resolveUrl(relUrl, parentUrl) {
126
+ function resolveUrl (relUrl, parentUrl) {
111
127
  return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl));
112
128
  }
113
129
 
114
- function resolveAndComposePackages(packages, outPackages, baseUrl, parentMap, parentUrl) {
130
+ function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap, parentUrl) {
115
131
  for (var p in packages) {
116
132
  var resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p;
117
- var rhs = packages[p]; // package fallbacks not currently supported
118
-
119
- if (typeof rhs !== 'string') continue;
133
+ var rhs = packages[p];
134
+ // package fallbacks not currently supported
135
+ if (typeof rhs !== 'string')
136
+ continue;
120
137
  var mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(rhs, baseUrl) || rhs, parentUrl);
121
-
122
138
  if (!mapped) {
123
139
  targetWarning('W1', p, rhs);
124
- } else outPackages[resolvedLhs] = mapped;
140
+ }
141
+ else
142
+ outPackages[resolvedLhs] = mapped;
125
143
  }
126
144
  }
127
145
 
128
- function resolveAndComposeImportMap(json, baseUrl, outMap) {
129
- if (json.imports) resolveAndComposePackages(json.imports, outMap.imports, baseUrl, outMap, null);
130
- var u;
146
+ function resolveAndComposeImportMap (json, baseUrl, outMap) {
147
+ if (json.imports)
148
+ resolveAndComposePackages(json.imports, outMap.imports, baseUrl, outMap, null);
131
149
 
150
+ var u;
132
151
  for (u in json.scopes || {}) {
133
152
  var resolvedScope = resolveUrl(u, baseUrl);
134
153
  resolveAndComposePackages(json.scopes[u], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, outMap, resolvedScope);
135
154
  }
136
155
 
137
- for (u in json.depcache || {}) outMap.depcache[resolveUrl(u, baseUrl)] = json.depcache[u];
156
+ for (u in json.depcache || {})
157
+ outMap.depcache[resolveUrl(u, baseUrl)] = json.depcache[u];
138
158
 
139
- for (u in json.integrity || {}) outMap.integrity[resolveUrl(u, baseUrl)] = json.integrity[u];
159
+ for (u in json.integrity || {})
160
+ outMap.integrity[resolveUrl(u, baseUrl)] = json.integrity[u];
140
161
  }
141
162
 
142
- function getMatch(path, matchObj) {
143
- if (matchObj[path]) return path;
163
+ function getMatch (path, matchObj) {
164
+ if (matchObj[path])
165
+ return path;
144
166
  var sepIndex = path.length;
145
-
146
167
  do {
147
168
  var segment = path.slice(0, sepIndex + 1);
148
- if (segment in matchObj) return segment;
149
- } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1);
169
+ if (segment in matchObj)
170
+ return segment;
171
+ } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1)
150
172
  }
151
173
 
152
- function applyPackages(id, packages) {
174
+ function applyPackages (id, packages) {
153
175
  var pkgName = getMatch(id, packages);
154
-
155
176
  if (pkgName) {
156
177
  var pkg = packages[pkgName];
157
178
  if (pkg === null) return;
158
-
159
179
  if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/') {
160
180
  targetWarning('W2', pkgName, pkg);
161
- } else return pkg + id.slice(pkgName.length);
181
+ }
182
+ else
183
+ return pkg + id.slice(pkgName.length);
162
184
  }
163
185
  }
164
186
 
165
- function targetWarning(code, match, target, msg) {
166
- console.warn(errMsg(code, [target, match].join(', ')));
187
+ function targetWarning (code, match, target, msg) {
188
+ console.warn(errMsg(code, [target, match].join(', ') ));
167
189
  }
168
190
 
169
- function resolveImportMap(importMap, resolvedOrPlain, parentUrl) {
191
+ function resolveImportMap (importMap, resolvedOrPlain, parentUrl) {
170
192
  var scopes = importMap.scopes;
171
193
  var scopeUrl = parentUrl && getMatch(parentUrl, scopes);
172
-
173
194
  while (scopeUrl) {
174
195
  var packageResolution = applyPackages(resolvedOrPlain, scopes[scopeUrl]);
175
- if (packageResolution) return packageResolution;
196
+ if (packageResolution)
197
+ return packageResolution;
176
198
  scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), scopes);
177
199
  }
178
-
179
200
  return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain;
180
201
  }
202
+
181
203
  /*
182
204
  * SystemJS Core
183
205
  *
@@ -195,11 +217,10 @@
195
217
  * System.prototype.instantiate implementations
196
218
  */
197
219
 
198
-
199
220
  var toStringTag = hasSymbol && Symbol.toStringTag;
200
221
  var REGISTRY = hasSymbol ? Symbol() : '@';
201
222
 
202
- function SystemJS() {
223
+ function SystemJS () {
203
224
  this[REGISTRY] = {};
204
225
  }
205
226
 
@@ -207,15 +228,17 @@
207
228
 
208
229
  systemJSPrototype.import = function (id, parentUrl) {
209
230
  var loader = this;
210
- return Promise.resolve(loader.prepareImport()).then(function () {
231
+ return Promise.resolve(loader.prepareImport())
232
+ .then(function() {
211
233
  return loader.resolve(id, parentUrl);
212
- }).then(function (id) {
234
+ })
235
+ .then(function (id) {
213
236
  var load = getOrCreateLoad(loader, id);
214
237
  return load.C || topLevelLoad(loader, load);
215
238
  });
216
- }; // Hookable createContext function -> allowing eg custom import meta
217
-
239
+ };
218
240
 
241
+ // Hookable createContext function -> allowing eg custom import meta
219
242
  systemJSPrototype.createContext = function (parentId) {
220
243
  var loader = this;
221
244
  return {
@@ -225,59 +248,59 @@
225
248
  }
226
249
  };
227
250
  };
228
-
229
- function loadToId(load) {
251
+ function loadToId (load) {
230
252
  return load.id;
231
253
  }
232
-
233
- function triggerOnload(loader, load, err, isErrSource) {
254
+ function triggerOnload (loader, load, err, isErrSource) {
234
255
  loader.onload(err, load.id, load.d && load.d.map(loadToId), !!isErrSource);
235
- if (err) throw err;
256
+ if (err)
257
+ throw err;
236
258
  }
237
259
 
238
260
  var lastRegister;
239
-
240
261
  systemJSPrototype.register = function (deps, declare) {
241
262
  lastRegister = [deps, declare];
242
263
  };
264
+
243
265
  /*
244
266
  * getRegister provides the last anonymous System.register call
245
267
  */
246
-
247
-
248
268
  systemJSPrototype.getRegister = function () {
249
269
  var _lastRegister = lastRegister;
250
270
  lastRegister = undefined;
251
271
  return _lastRegister;
252
272
  };
253
273
 
254
- function getOrCreateLoad(loader, id, firstParentUrl) {
274
+ function getOrCreateLoad (loader, id, firstParentUrl) {
255
275
  var load = loader[REGISTRY][id];
256
- if (load) return load;
276
+ if (load)
277
+ return load;
278
+
257
279
  var importerSetters = [];
258
280
  var ns = Object.create(null);
259
- if (toStringTag) Object.defineProperty(ns, toStringTag, {
260
- value: 'Module'
261
- });
262
- var instantiatePromise = Promise.resolve().then(function () {
263
- return loader.instantiate(id, firstParentUrl);
264
- }).then(function (registration) {
265
- if (!registration) throw Error(errMsg(2, id));
281
+ if (toStringTag)
282
+ Object.defineProperty(ns, toStringTag, { value: 'Module' });
266
283
 
267
- function _export(name, value) {
284
+ var instantiatePromise = Promise.resolve()
285
+ .then(function () {
286
+ return loader.instantiate(id, firstParentUrl);
287
+ })
288
+ .then(function (registration) {
289
+ if (!registration)
290
+ throw Error(errMsg(2, id ));
291
+ function _export (name, value) {
268
292
  // note if we have hoisted exports (including reexports)
269
293
  load.h = true;
270
294
  var changed = false;
271
-
272
295
  if (typeof name === 'string') {
273
296
  if (!(name in ns) || ns[name] !== value) {
274
297
  ns[name] = value;
275
298
  changed = true;
276
299
  }
277
- } else {
300
+ }
301
+ else {
278
302
  for (var p in name) {
279
303
  var value = name[p];
280
-
281
304
  if (!(p in ns) || ns[p] !== value) {
282
305
  ns[p] = value;
283
306
  changed = true;
@@ -288,51 +311,54 @@
288
311
  ns.__esModule = name.__esModule;
289
312
  }
290
313
  }
291
-
292
- if (changed) for (var i = 0; i < importerSetters.length; i++) {
293
- var setter = importerSetters[i];
294
- if (setter) setter(ns);
295
- }
314
+ if (changed)
315
+ for (var i = 0; i < importerSetters.length; i++) {
316
+ var setter = importerSetters[i];
317
+ if (setter) setter(ns);
318
+ }
296
319
  return value;
297
320
  }
298
-
299
321
  var declared = registration[1](_export, registration[1].length === 2 ? {
300
322
  import: function (importId) {
301
323
  return loader.import(importId, id);
302
324
  },
303
325
  meta: loader.createContext(id)
304
326
  } : undefined);
305
-
306
327
  load.e = declared.execute || function () {};
307
-
308
328
  return [registration[0], declared.setters || []];
309
329
  }, function (err) {
310
330
  load.e = null;
311
331
  load.er = err;
312
332
  throw err;
313
333
  });
314
- var linkPromise = instantiatePromise.then(function (instantiation) {
334
+
335
+ var linkPromise = instantiatePromise
336
+ .then(function (instantiation) {
315
337
  return Promise.all(instantiation[0].map(function (dep, i) {
316
338
  var setter = instantiation[1][i];
317
- return Promise.resolve(loader.resolve(dep, id)).then(function (depId) {
318
- var depLoad = getOrCreateLoad(loader, depId, id); // depLoad.I may be undefined for already-evaluated
319
-
320
- return Promise.resolve(depLoad.I).then(function () {
339
+ return Promise.resolve(loader.resolve(dep, id))
340
+ .then(function (depId) {
341
+ var depLoad = getOrCreateLoad(loader, depId, id);
342
+ // depLoad.I may be undefined for already-evaluated
343
+ return Promise.resolve(depLoad.I)
344
+ .then(function () {
321
345
  if (setter) {
322
- depLoad.i.push(setter); // only run early setters when there are hoisted exports of that module
346
+ depLoad.i.push(setter);
347
+ // only run early setters when there are hoisted exports of that module
323
348
  // the timing works here as pending hoisted export calls will trigger through importerSetters
324
-
325
- if (depLoad.h || !depLoad.I) setter(depLoad.n);
349
+ if (depLoad.h || !depLoad.I)
350
+ setter(depLoad.n);
326
351
  }
327
-
328
352
  return depLoad;
329
353
  });
330
354
  });
331
- })).then(function (depLoads) {
355
+ }))
356
+ .then(function (depLoads) {
332
357
  load.d = depLoads;
333
358
  });
334
- }); // Capital letter = a promise function
359
+ });
335
360
 
361
+ // Capital letter = a promise function
336
362
  return load = loader[REGISTRY][id] = {
337
363
  id: id,
338
364
  // importerSetters, the setters functions registered to this dependency
@@ -340,93 +366,111 @@
340
366
  i: importerSetters,
341
367
  // module namespace object
342
368
  n: ns,
369
+
343
370
  // instantiate
344
371
  I: instantiatePromise,
345
372
  // link
346
373
  L: linkPromise,
347
374
  // whether it has hoisted exports
348
375
  h: false,
376
+
349
377
  // On instantiate completion we have populated:
350
378
  // dependency load records
351
379
  d: undefined,
352
380
  // execution function
353
381
  e: undefined,
382
+
354
383
  // On execution we have populated:
355
384
  // the execution error if any
356
385
  er: undefined,
357
386
  // in the case of TLA, the execution promise
358
387
  E: undefined,
388
+
359
389
  // On execution, L, I, E cleared
390
+
360
391
  // Promise for top-level completion
361
392
  C: undefined,
393
+
362
394
  // parent instantiator / executor
363
395
  p: undefined
364
396
  };
365
397
  }
366
398
 
367
- function instantiateAll(loader, load, parent, loaded) {
399
+ function instantiateAll (loader, load, parent, loaded) {
368
400
  if (!loaded[load.id]) {
369
- loaded[load.id] = true; // load.L may be undefined for already-instantiated
370
-
371
- return Promise.resolve(load.L).then(function () {
372
- if (!load.p || load.p.e === null) load.p = parent;
401
+ loaded[load.id] = true;
402
+ // load.L may be undefined for already-instantiated
403
+ return Promise.resolve(load.L)
404
+ .then(function () {
405
+ if (!load.p || load.p.e === null)
406
+ load.p = parent;
373
407
  return Promise.all(load.d.map(function (dep) {
374
408
  return instantiateAll(loader, dep, parent, loaded);
375
409
  }));
376
- }).catch(function (err) {
377
- if (load.er) throw err;
410
+ })
411
+ .catch(function (err) {
412
+ if (load.er)
413
+ throw err;
378
414
  load.e = null;
379
415
  throw err;
380
416
  });
381
417
  }
382
418
  }
383
419
 
384
- function topLevelLoad(loader, load) {
385
- return load.C = instantiateAll(loader, load, load, {}).then(function () {
420
+ function topLevelLoad (loader, load) {
421
+ return load.C = instantiateAll(loader, load, load, {})
422
+ .then(function () {
386
423
  return postOrderExec(loader, load, {});
387
- }).then(function () {
424
+ })
425
+ .then(function () {
388
426
  return load.n;
389
427
  });
390
- } // the closest we can get to call(undefined)
428
+ }
391
429
 
430
+ // the closest we can get to call(undefined)
431
+ var nullContext = Object.freeze(Object.create(null));
392
432
 
393
- var nullContext = Object.freeze(Object.create(null)); // returns a promise if and only if a top-level await subgraph
433
+ // returns a promise if and only if a top-level await subgraph
394
434
  // throws on sync errors
395
-
396
- function postOrderExec(loader, load, seen) {
397
- if (seen[load.id]) return;
435
+ function postOrderExec (loader, load, seen) {
436
+ if (seen[load.id])
437
+ return;
398
438
  seen[load.id] = true;
399
439
 
400
440
  if (!load.e) {
401
- if (load.er) throw load.er;
402
- if (load.E) return load.E;
441
+ if (load.er)
442
+ throw load.er;
443
+ if (load.E)
444
+ return load.E;
403
445
  return;
404
- } // deps execute first, unless circular
405
-
446
+ }
406
447
 
448
+ // deps execute first, unless circular
407
449
  var depLoadPromises;
408
450
  load.d.forEach(function (depLoad) {
409
451
  try {
410
452
  var depLoadPromise = postOrderExec(loader, depLoad, seen);
411
- if (depLoadPromise) (depLoadPromises = depLoadPromises || []).push(depLoadPromise);
412
- } catch (err) {
453
+ if (depLoadPromise)
454
+ (depLoadPromises = depLoadPromises || []).push(depLoadPromise);
455
+ }
456
+ catch (err) {
413
457
  load.e = null;
414
458
  load.er = err;
415
459
  throw err;
416
460
  }
417
461
  });
418
- if (depLoadPromises) return Promise.all(depLoadPromises).then(doExec);
462
+ if (depLoadPromises)
463
+ return Promise.all(depLoadPromises).then(doExec);
464
+
419
465
  return doExec();
420
466
 
421
- function doExec() {
467
+ function doExec () {
422
468
  try {
423
469
  var execPromise = load.e.call(nullContext);
424
-
425
470
  if (execPromise) {
426
471
  execPromise = execPromise.then(function () {
427
472
  load.C = load.n;
428
473
  load.E = null; // indicates completion
429
-
430
474
  if (!true) ;
431
475
  }, function (err) {
432
476
  load.er = err;
@@ -435,59 +479,55 @@
435
479
  throw err;
436
480
  });
437
481
  return load.E = execPromise;
438
- } // (should be a promise, but a minify optimization to leave out Promise.resolve)
439
-
440
-
482
+ }
483
+ // (should be a promise, but a minify optimization to leave out Promise.resolve)
441
484
  load.C = load.n;
442
485
  load.L = load.I = undefined;
443
- } catch (err) {
486
+ }
487
+ catch (err) {
444
488
  load.er = err;
445
489
  throw err;
446
- } finally {
490
+ }
491
+ finally {
447
492
  load.e = null;
448
493
  }
449
494
  }
450
495
  }
451
496
 
452
497
  envGlobal.System = new SystemJS();
498
+
453
499
  /*
454
500
  * SystemJS browser attachments for script and import map processing
455
501
  */
456
502
 
457
503
  var importMapPromise = Promise.resolve();
458
- var importMap = {
459
- imports: {},
460
- scopes: {},
461
- depcache: {},
462
- integrity: {}
463
- }; // Scripts are processed immediately, on the first System.import, and on DOMReady.
504
+ var importMap = { imports: {}, scopes: {}, depcache: {}, integrity: {} };
505
+
506
+ // Scripts are processed immediately, on the first System.import, and on DOMReady.
464
507
  // Import map scripts are processed only once (by being marked) and in order for each phase.
465
508
  // This is to avoid using DOM mutation observers in core, although that would be an alternative.
466
-
467
509
  var processFirst = hasDocument;
468
-
469
510
  systemJSPrototype.prepareImport = function (doProcessScripts) {
470
511
  if (processFirst || doProcessScripts) {
471
512
  processScripts();
472
513
  processFirst = false;
473
514
  }
474
-
475
515
  return importMapPromise;
476
516
  };
477
-
478
517
  if (hasDocument) {
479
518
  processScripts();
480
519
  window.addEventListener('DOMContentLoaded', processScripts);
481
520
  }
482
521
 
483
- function processScripts() {
522
+ function processScripts () {
484
523
  [].forEach.call(document.querySelectorAll('script'), function (script) {
485
524
  if (script.sp) // sp marker = systemjs processed
486
- return; // TODO: deprecate systemjs-module in next major now that we have auto import
487
-
525
+ return;
526
+ // TODO: deprecate systemjs-module in next major now that we have auto import
488
527
  if (script.type === 'systemjs-module') {
489
528
  script.sp = true;
490
- if (!script.src) return;
529
+ if (!script.src)
530
+ return;
491
531
  System.import(script.src.slice(0, 7) === 'import:' ? script.src.slice(7) : resolveUrl(script.src, baseUrl)).catch(function (e) {
492
532
  // if there is a script load error, dispatch an "error" event
493
533
  // on the script tag.
@@ -496,24 +536,21 @@
496
536
  event.initEvent('error', false, false);
497
537
  script.dispatchEvent(event);
498
538
  }
499
-
500
539
  return Promise.reject(e);
501
540
  });
502
- } else if (script.type === 'systemjs-importmap') {
541
+ }
542
+ else if (script.type === 'systemjs-importmap') {
503
543
  script.sp = true;
504
- var fetchPromise = script.src ? fetch(script.src, {
505
- integrity: script.integrity
506
- }).then(function (res) {
507
- if (!res.ok) throw Error(res.status);
544
+ var fetchPromise = script.src ? fetch(script.src, { integrity: script.integrity }).then(function (res) {
545
+ if (!res.ok)
546
+ throw Error( res.status );
508
547
  return res.text();
509
548
  }).catch(function (err) {
510
- err.message = errMsg('W4', script.src) + '\n' + err.message;
549
+ err.message = errMsg('W4', script.src ) + '\n' + err.message;
511
550
  console.warn(err);
512
-
513
551
  if (typeof script.onerror === 'function') {
514
- script.onerror();
552
+ script.onerror();
515
553
  }
516
-
517
554
  return '{}';
518
555
  }) : script.innerHTML;
519
556
  importMapPromise = importMapPromise.then(function () {
@@ -525,22 +562,20 @@
525
562
  });
526
563
  }
527
564
 
528
- function extendImportMap(importMap, newMapText, newMapUrl) {
565
+ function extendImportMap (importMap, newMapText, newMapUrl) {
529
566
  var newMap = {};
530
-
531
567
  try {
532
568
  newMap = JSON.parse(newMapText);
533
569
  } catch (err) {
534
- console.warn(Error(errMsg('W5')));
570
+ console.warn(Error(( errMsg('W5') )));
535
571
  }
536
-
537
572
  resolveAndComposeImportMap(newMap, newMapUrl, importMap);
538
573
  }
574
+
539
575
  /*
540
576
  * Script instantiation loading
541
577
  */
542
578
 
543
-
544
579
  if (hasDocument) {
545
580
  window.addEventListener('error', function (evt) {
546
581
  lastWindowErrorUrl = evt.filename;
@@ -551,79 +586,79 @@
551
586
 
552
587
  systemJSPrototype.createScript = function (url) {
553
588
  var script = document.createElement('script');
554
- script.async = true; // Only add cross origin for actual cross origin
589
+ script.async = true;
590
+ // Only add cross origin for actual cross origin
555
591
  // this is because Safari triggers for all
556
592
  // - https://bugs.webkit.org/show_bug.cgi?id=171566
557
-
558
- if (url.indexOf(baseOrigin + '/')) script.crossOrigin = 'anonymous';
593
+ if (url.indexOf(baseOrigin + '/'))
594
+ script.crossOrigin = 'anonymous';
559
595
  var integrity = importMap.integrity[url];
560
- if (integrity) script.integrity = integrity;
596
+ if (integrity)
597
+ script.integrity = integrity;
561
598
  script.src = url;
562
599
  return script;
563
- }; // Auto imports -> script tags can be inlined directly for load phase
564
-
600
+ };
565
601
 
602
+ // Auto imports -> script tags can be inlined directly for load phase
566
603
  var lastAutoImportDeps, lastAutoImportTimeout;
567
604
  var autoImportCandidates = {};
568
605
  var systemRegister = systemJSPrototype.register;
569
606
  var inlineScriptCount = 0;
570
-
571
607
  systemJSPrototype.register = function (deps, declare, autoUrl) {
572
608
  if (hasDocument && document.readyState === 'loading' && typeof deps !== 'string') {
573
609
  var scripts = document.querySelectorAll('script[src]');
574
610
  var lastScript = scripts[scripts.length - 1];
575
- var lastAutoImportUrl;
611
+ var lastAutoImportUrl
576
612
  lastAutoImportDeps = deps;
577
-
578
613
  if (lastScript && lastScript.src) {
579
614
  lastAutoImportUrl = lastScript.src;
580
- } else if (autoUrl) {
581
- lastAutoImportUrl = autoUrl;
582
- } else {
583
- inlineScriptCount++;
615
+ }
616
+ else if (autoUrl) {
617
+ lastAutoImportUrl = autoUrl
618
+ }
619
+ else {
620
+ inlineScriptCount++
584
621
  lastAutoImportUrl = document.location.href + "__inline_script__" + inlineScriptCount;
585
- } // if this is already a System load, then the instantiate has already begun
622
+ }
623
+ // if this is already a System load, then the instantiate has already begun
586
624
  // so this re-import has no consequence
587
-
588
-
589
625
  var loader = this;
590
626
  lastAutoImportTimeout = setTimeout(function () {
591
627
  autoImportCandidates[lastAutoImportUrl] = [deps, declare];
592
628
  loader.import(lastAutoImportUrl);
593
629
  });
594
- } else {
630
+ }
631
+ else {
595
632
  lastAutoImportDeps = undefined;
596
633
  }
597
-
598
634
  return systemRegister.call(this, deps, declare);
599
635
  };
600
636
 
601
637
  var lastWindowErrorUrl, lastWindowError;
602
-
603
638
  systemJSPrototype.instantiate = function (url, firstParentUrl) {
604
639
  var autoImportRegistration = autoImportCandidates[url];
605
-
606
640
  if (autoImportRegistration) {
607
641
  delete autoImportCandidates[url];
608
642
  return autoImportRegistration;
609
643
  }
610
-
611
644
  var loader = this;
612
645
  return Promise.resolve(systemJSPrototype.createScript(url)).then(function (script) {
613
646
  return new Promise(function (resolve, reject) {
614
647
  script.addEventListener('error', function () {
615
- reject(Error(errMsg(3, [url, firstParentUrl].join(', '))));
648
+ reject(Error(errMsg(3, [url, firstParentUrl].join(', ') )));
616
649
  });
617
650
  script.addEventListener('load', function () {
618
- document.head.removeChild(script); // Note that if an error occurs that isn't caught by this if statement,
651
+ document.head.removeChild(script);
652
+ // Note that if an error occurs that isn't caught by this if statement,
619
653
  // that getRegister will return null and a "did not instantiate" error will be thrown.
620
-
621
654
  if (lastWindowErrorUrl === url) {
622
655
  reject(lastWindowError);
623
- } else {
624
- var register = loader.getRegister(url); // Clear any auto import registration for dynamic import scripts during load
625
-
626
- if (register && register[0] === lastAutoImportDeps) clearTimeout(lastAutoImportTimeout);
656
+ }
657
+ else {
658
+ var register = loader.getRegister(url);
659
+ // Clear any auto import registration for dynamic import scripts during load
660
+ if (register && register[0] === lastAutoImportDeps)
661
+ clearTimeout(lastAutoImportTimeout);
627
662
  resolve(register);
628
663
  }
629
664
  });
@@ -631,31 +666,35 @@
631
666
  });
632
667
  });
633
668
  };
669
+
634
670
  /*
635
671
  * Fetch loader, sets up shouldFetch and fetch hooks
636
672
  */
637
-
638
-
639
673
  systemJSPrototype.shouldFetch = function () {
640
674
  return false;
641
675
  };
676
+ if (typeof fetch !== 'undefined')
677
+ systemJSPrototype.fetch = fetch;
642
678
 
643
- if (typeof fetch !== 'undefined') systemJSPrototype.fetch = fetch;
644
679
  var instantiate = systemJSPrototype.instantiate;
645
680
  var jsContentTypeRegEx = /^(text|application)\/(x-)?javascript(;|$)/;
646
-
647
681
  systemJSPrototype.instantiate = function (url, parent) {
648
682
  var loader = this;
649
- if (!this.shouldFetch(url)) return instantiate.apply(this, arguments);
683
+ if (!this.shouldFetch(url))
684
+ return instantiate.apply(this, arguments);
650
685
  return this.fetch(url, {
651
686
  credentials: 'same-origin',
652
687
  integrity: importMap.integrity[url]
653
- }).then(function (res) {
654
- if (!res.ok) throw Error(errMsg(7, [res.status, res.statusText, url, parent].join(', ')));
688
+ })
689
+ .then(function (res) {
690
+ if (!res.ok)
691
+ throw Error(errMsg(7, [res.status, res.statusText, url, parent].join(', ') ));
655
692
  var contentType = res.headers.get('content-type');
656
- if (!contentType || !jsContentTypeRegEx.test(contentType)) throw Error(errMsg(4, contentType));
693
+ if (!contentType || !jsContentTypeRegEx.test(contentType))
694
+ throw Error(errMsg(4, contentType ));
657
695
  return res.text().then(function (source) {
658
- if (source.indexOf('//# sourceURL=') < 0) source += '\n//# sourceURL=' + url;
696
+ if (source.indexOf('//# sourceURL=') < 0)
697
+ source += '\n//# sourceURL=' + url;
659
698
  (0, eval)(source);
660
699
  return loader.getRegister(url);
661
700
  });
@@ -663,44 +702,44 @@
663
702
  };
664
703
 
665
704
  systemJSPrototype.resolve = function (id, parentUrl) {
666
- parentUrl = parentUrl || !true || baseUrl;
667
- return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl);
705
+ parentUrl = parentUrl || !true || baseUrl;
706
+ return resolveImportMap(( importMap), resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl);
668
707
  };
669
708
 
670
- function throwUnresolved(id, parentUrl) {
671
- throw Error(errMsg(8, [id, parentUrl].join(', ')));
709
+ function throwUnresolved (id, parentUrl) {
710
+ throw Error(errMsg(8, [id, parentUrl].join(', ') ));
672
711
  }
673
712
 
674
713
  var systemInstantiate = systemJSPrototype.instantiate;
675
-
676
714
  systemJSPrototype.instantiate = function (url, firstParentUrl) {
677
- var preloads = importMap.depcache[url];
678
-
715
+ var preloads = ( importMap).depcache[url];
679
716
  if (preloads) {
680
- for (var i = 0; i < preloads.length; i++) getOrCreateLoad(this, this.resolve(preloads[i], url), url);
717
+ for (var i = 0; i < preloads.length; i++)
718
+ getOrCreateLoad(this, this.resolve(preloads[i], url), url);
681
719
  }
682
-
683
720
  return systemInstantiate.call(this, url, firstParentUrl);
684
721
  };
722
+
685
723
  /*
686
724
  * Supports loading System.register in workers
687
725
  */
688
726
 
727
+ if (hasSelf && typeof importScripts === 'function')
728
+ systemJSPrototype.instantiate = function (url) {
729
+ var loader = this;
730
+ return Promise.resolve().then(function () {
731
+ importScripts(url);
732
+ return loader.getRegister(url);
733
+ });
734
+ };
689
735
 
690
- if (hasSelf && typeof importScripts === 'function') systemJSPrototype.instantiate = function (url) {
691
- var loader = this;
692
- return Promise.resolve().then(function () {
693
- importScripts(url);
694
- return loader.getRegister(url);
695
- });
696
- };
697
- })();
736
+ }());
698
737
 
699
- (function () {
738
+ (function(){
700
739
  var envGlobal = typeof self !== 'undefined' ? self : global;
701
740
  var System = envGlobal.System;
702
741
  var register = System.register;
703
- var registerRegistry = Object.create(null);
742
+ var registerRegistry = Object.create(null)
704
743
 
705
744
  System.register = function (name, deps, declare) {
706
745
  if (typeof name !== 'string') return register.apply(this, arguments);
@@ -709,11 +748,10 @@
709
748
  var url = System.resolve(`./${name}`);
710
749
  registerRegistry[url] = define;
711
750
  return register.call(System, deps, declare, url);
712
- });
751
+ })
713
752
  };
714
753
 
715
754
  var instantiate = System.instantiate;
716
-
717
755
  System.instantiate = function (url, firstParentUrl) {
718
756
  var result = registerRegistry[url];
719
757
 
@@ -726,15 +764,13 @@
726
764
  };
727
765
 
728
766
  var getRegister = System.getRegister;
729
-
730
767
  System.getRegister = function (url) {
731
768
  // Calling getRegister() because other extras need to know it was called so they can perform side effects
732
769
  var register = getRegister.call(this, url);
733
770
  var result = registerRegistry[url] || register;
734
771
  return result;
735
772
  };
736
- })();
737
- //# sourceMappingURL=assets/s.js-fcba0e35.map</script>
773
+ }());</script>
738
774
  </head>
739
775
 
740
776
  <body>