aboutsummaryrefslogtreecommitdiff
path: root/node_modules/systemjs/dist/system-register-only.src.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-04-20 03:09:25 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-04-24 16:14:29 +0200
commit82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8 (patch)
tree965f6eb89b84d65a62b49008fd972c004832ccd1 /node_modules/systemjs/dist/system-register-only.src.js
parente6e0cbc387c2a77b48e4065c229daa65bf1aa0fa (diff)
Reorganize module loading.
We now use webpack instead of SystemJS, effectively bundling modules into one file (plus commons chunks) for every entry point. This results in a much smaller extension size (almost half). Furthermore we use yarn/npm even for extension run-time dependencies. This relieves us from manually vendoring and building dependencies. It's also easier to understand for new developers familiar with node.
Diffstat (limited to 'node_modules/systemjs/dist/system-register-only.src.js')
-rw-r--r--node_modules/systemjs/dist/system-register-only.src.js99
1 files changed, 50 insertions, 49 deletions
diff --git a/node_modules/systemjs/dist/system-register-only.src.js b/node_modules/systemjs/dist/system-register-only.src.js
index 9be783dff..e826a2db4 100644
--- a/node_modules/systemjs/dist/system-register-only.src.js
+++ b/node_modules/systemjs/dist/system-register-only.src.js
@@ -1,12 +1,12 @@
/*
- * SystemJS v0.19.41
+ * SystemJS v0.19.47
*/
// from https://gist.github.com/Yaffle/1088850
(function(global) {
function URLPolyfill(url, baseURL) {
if (typeof url != 'string')
throw new TypeError('URL must be a string');
- var m = String(url).replace(/^\s+|\s+$/g, "").match(/^([^:\/?#]+:)?(?:\/\/(?:([^:@\/?#]*)(?::([^:@\/?#]*))?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
+ var m = String(url).replace(/^\s+|\s+$/g, "").replace(/\\/g, '/').match(/^([^:\/?#]+:)?(?:\/\/(?:([^:@\/?#]*)(?::([^:@\/?#]*))?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
if (!m)
throw new RangeError('Invalid URL format');
var protocol = m[1] || "";
@@ -64,7 +64,8 @@ function URLPolyfill(url, baseURL) {
this.hash = hash;
}
global.URLPolyfill = URLPolyfill;
-})(typeof self != 'undefined' ? self : global);(function(__global) {
+})(typeof self != 'undefined' ? self : global);
+(function(__global) {
var isWorker = typeof window == 'undefined' && typeof self != 'undefined' && typeof importScripts != 'undefined';
var isBrowser = typeof window != 'undefined' && typeof document != 'undefined';
@@ -82,7 +83,7 @@ global.URLPolyfill = URLPolyfill;
}
return -1;
};
-
+
var defineProperty;
(function () {
try {
@@ -119,9 +120,9 @@ global.URLPolyfill = URLPolyfill;
newMsg = newMsg.replace(isWindows ? /file:\/\/\//g : /file:\/\//g, '');
var newErr = errArgs ? new Error(newMsg, err.fileName, err.lineNumber) : new Error(newMsg);
-
+
newErr.stack = newMsg;
-
+
// track the original error
newErr.originalErr = err.originalErr || err;
@@ -430,7 +431,7 @@ function logloads(loads) {
.then(function(instantiateResult) {
if (instantiateResult === undefined)
throw new TypeError('Declarative modules unsupported in the polyfill.');
-
+
if (typeof instantiateResult != 'object')
throw new TypeError('Invalid instantiate return value');
@@ -493,8 +494,6 @@ function logloads(loads) {
for (var i = 0, l = linkSets.length; i < l; i++) {
linkSetFailed(linkSets[i], load, exc);
}
-
- console.assert(load.linkSets.length == 0, 'linkSets not removed');
});
}
@@ -547,7 +546,6 @@ function logloads(loads) {
proceedToFetch(loader, load, Promise.resolve(stepState.moduleAddress));
else {
- console.assert(step == 'translate', 'translate step');
load.address = stepState.moduleAddress;
proceedToTranslate(loader, load, Promise.resolve(stepState.moduleSource));
}
@@ -635,9 +633,6 @@ function logloads(loads) {
function updateLinkSetOnLoad(linkSet, load) {
// console.log('update linkset on load ' + load.name);
// snapshot(linkSet.loader);
-
- console.assert(load.status == 'loaded' || load.status == 'linked', 'loaded or linked');
-
linkSet.loadingCount--;
if (linkSet.loadingCount > 0)
@@ -670,8 +665,6 @@ function logloads(loads) {
if (abrupt)
return;
- console.assert(linkSet.loads.length == 0, 'loads cleared');
-
linkSet.resolve(startingLoad);
}
@@ -680,7 +673,7 @@ function logloads(loads) {
var loader = linkSet.loader;
var requests;
- checkError:
+ checkError:
if (load) {
if (linkSet.loads[0].name == load.name) {
exc = addToError(exc, 'Error loading ' + load.name);
@@ -714,7 +707,6 @@ function logloads(loads) {
loader.loaderObj.failed.push(load);
var linkIndex = indexOf.call(load.linkSets, linkSet);
- console.assert(linkIndex != -1, 'link not present');
load.linkSets.splice(linkIndex, 1);
if (load.linkSets.length == 0) {
var globalLoadsIndex = indexOf.call(linkSet.loader.loads, load);
@@ -746,7 +738,6 @@ function logloads(loads) {
}
// if not anonymous, add to the module table
if (load.name) {
- console.assert(!loader.modules[load.name] || loader.modules[load.name].module === load.module.module, 'load not in module table');
loader.modules[load.name] = load.module;
}
var loadIndex = indexOf.call(loader.loads, load);
@@ -856,7 +847,7 @@ function logloads(loads) {
var loader = this._loader;
if (loader.modules[name])
return Promise.resolve();
- return loader.importPromises[name] || createImportPromise(this, name, new Promise(asyncStartLoadPartwayThrough({
+ return (loader.importPromises[name] || createImportPromise(this, name, new Promise(asyncStartLoadPartwayThrough({
step: 'locate',
loader: loader,
moduleName: name,
@@ -864,9 +855,11 @@ function logloads(loads) {
moduleSource: undefined,
moduleAddress: undefined
}))
- .then(function() {
+ .then(function(load) {
delete loader.importPromises[name];
- }));
+ return load.module.module;
+ })))
+ .then(function () {});
},
// 26.3.3.11
module: function(source, options) {
@@ -976,7 +969,6 @@ function logloads(loads) {
})();
var System;
-
// SystemJS Loader Class and Extension helpers
function SystemJSLoader() {
Loader.call(this);
@@ -1053,7 +1045,7 @@ function applyPaths(loader, name) {
if (p.indexOf('*') === -1) {
if (name == p)
return paths[p];
-
+
// support trailing / in paths rules
else if (name.substr(0, p.length - 1) == p.substr(0, p.length - 1) && (name.length < p.length || name[p.length - 1] == p[p.length - 1]) && (paths[p][paths[p].length - 1] == '/' || paths[p] == '')) {
return paths[p].substr(0, paths[p].length - 1) + (name.length > p.length ? (paths[p] && '/' || '') + name.substr(p.length) : '');
@@ -1207,7 +1199,7 @@ function extendPkgConfig(pkgCfgA, pkgCfgB, pkgName, loader, warnInvalidPropertie
loader.depCache[dNormalized] = (loader.depCache[dNormalized] || []).concat(pkgCfgB.depCache[d]);
}
}
- else if (warnInvalidProperties && indexOf.call(['browserConfig', 'nodeConfig', 'devConfig', 'productionConfig'], prop) == -1 &&
+ else if (warnInvalidProperties && indexOf.call(['browserConfig', 'nodeConfig', 'devConfig', 'productionConfig'], prop) == -1 &&
(!pkgCfgB.hasOwnProperty || pkgCfgB.hasOwnProperty(prop))) {
warn.call(loader, '"' + prop + '" is not a valid package configuration option in package ' + pkgName);
}
@@ -1229,7 +1221,7 @@ function setPkgConfig(loader, pkgName, cfg, prependConfig) {
extendPkgConfig(pkg, prependConfig ? cfg : basePkg, pkgName, loader, prependConfig);
extendPkgConfig(pkg, prependConfig ? basePkg : cfg, pkgName, loader, !prependConfig);
}
-
+
// main object becomes main map
if (typeof pkg.main == 'object') {
pkg.map = pkg.map || {};
@@ -1245,6 +1237,15 @@ function warn(msg) {
if (this.warnings && typeof console != 'undefined' && console.warn)
console.warn(msg);
}
+
+function createInstantiate (load, result) {
+ load.metadata.entry = createEntry();
+ load.metadata.entry.execute = function() {
+ return result;
+ }
+ load.metadata.entry.deps = [];
+ load.metadata.format = 'defined';
+}
var absURLRegEx = /^([^\/]+:\/\/|\/)/;
// Normalization with module names as absolute URLs
@@ -1476,7 +1477,7 @@ SystemJSLoader.prototype.locate = function(load) {
*
*
* The code here replicates the ES6 linking groups algorithm to ensure that
- * circular ES6 compiled into System.register can work alongside circular AMD
+ * circular ES6 compiled into System.register can work alongside circular AMD
* and CommonJS, identically to the actual ES6 loader.
*
*/
@@ -1486,7 +1487,7 @@ SystemJSLoader.prototype.locate = function(load) {
* Registry side table entries in loader.defined
* Registry Entry Contains:
* - name
- * - deps
+ * - deps
* - declare for declarative modules
* - execute for dynamic modules, different to declarative execute on module
* - executingRequire indicates require drives execution for circularity of dynamic modules
@@ -1504,7 +1505,7 @@ SystemJSLoader.prototype.locate = function(load) {
* For dynamic we track the es module with:
* - esModule actual es module value
* - esmExports whether to extend the esModule with named exports
- *
+ *
* Then for declarative only we track dynamic bindings with the 'module' records:
* - name
* - exports
@@ -1549,7 +1550,7 @@ function createEntry() {
* see https://github.com/ModuleLoader/es6-module-loader/wiki/System.register-Explained
*
* 2. System.registerDynamic for dynamic modules (3-4 params) - System.registerDynamic([name, ]deps, executingRequire, execute)
- * the true or false statement
+ * the true or false statement
*
* this extension implements the linking algorithm for the two variations identical to the spec
* allowing compiled ES6 circular references to work alongside AMD and CJS circular references.
@@ -1568,7 +1569,7 @@ function createEntry() {
return this.registerDynamic.apply(this, arguments);
var entry = createEntry();
- // ideally wouldn't apply map config to bundle names but
+ // ideally wouldn't apply map config to bundle names but
// dependencies go through map regardless so we can't restrict
// could reconsider in shift to new spec
entry.name = name && (this.decanonicalize || this.normalize).call(this, name);
@@ -1654,17 +1655,17 @@ function createEntry() {
for (var i = 0, l = entry.normalizedDeps.length; i < l; i++) {
var depName = entry.normalizedDeps[i];
var depEntry = loader.defined[depName];
-
+
// not in the registry means already linked / ES6
if (!depEntry || depEntry.evaluated)
continue;
-
+
// now we know the entry is in our unlinked linkage group
var depGroupIndex = entry.groupIndex + (depEntry.declarative != entry.declarative);
// the group index of an entry is always the maximum
if (depEntry.groupIndex === null || depEntry.groupIndex < depGroupIndex) {
-
+
// if already in a group, remove from the old group
if (depEntry.groupIndex !== null) {
groups[depEntry.groupIndex].splice(indexOf.call(groups[depEntry.groupIndex], depEntry), 1);
@@ -1704,7 +1705,7 @@ function createEntry() {
else
linkDynamicModule(entry, loader);
}
- curGroupDeclarative = !curGroupDeclarative;
+ curGroupDeclarative = !curGroupDeclarative;
}
}
@@ -1764,7 +1765,7 @@ function createEntry() {
// allowing undefined declaration was a mistake! To be deprecated.
declaration = declaration || { setters: [], execute: function() {} };
-
+
module.setters = declaration.setters;
module.execute = declaration.execute;
@@ -1807,7 +1808,7 @@ function createEntry() {
else {
module.dependencies.push(null);
}
-
+
// run setters for all entries with the matching dependency name
var originalIndices = entry.originalIndices[i];
for (var j = 0, len = originalIndices.length; j < len; ++j) {
@@ -1833,7 +1834,7 @@ function createEntry() {
else {
if (entry.declarative)
ensureEvaluated(name, entry, [], loader);
-
+
else if (!entry.evaluated)
linkDynamicModule(entry, loader);
@@ -1842,7 +1843,7 @@ function createEntry() {
if ((!entry || entry.declarative) && exports && exports.__useDefault)
return exports['default'];
-
+
return exports;
}
@@ -1880,7 +1881,7 @@ function createEntry() {
throw new Error('Module ' + name + ' not declared as a dependency of ' + entry.name);
}, exports, module);
-
+
if (output !== undefined)
module.exports = output;
@@ -1904,7 +1905,7 @@ function createEntry() {
* (unless one is a circular dependency already in the list of seen
* modules, in which case we execute it)
*
- * Then we evaluate the module itself depth-first left to right
+ * Then we evaluate the module itself depth-first left to right
* execution to match ES6 modules
*/
function ensureEvaluated(moduleName, entry, seen, loader) {
@@ -1950,7 +1951,7 @@ function createEntry() {
}
load.metadata.deps = load.metadata.deps || [];
-
+
return fetch.call(this, load);
};
});
@@ -1961,7 +1962,7 @@ function createEntry() {
load.metadata.deps = load.metadata.deps || [];
return Promise.resolve(translate.apply(this, arguments)).then(function(source) {
// run detection for register format
- if (load.metadata.format == 'register' || !load.metadata.format && detectRegisterFormat(load.source))
+ if (load.metadata.format == 'register' || load.metadata.format == 'system' || !load.metadata.format && detectRegisterFormat(load.source))
load.metadata.format = 'register';
return source;
});
@@ -1979,7 +1980,7 @@ function createEntry() {
entry.originalIndices = entry.normalizedDeps = [];
- // recursively ensure that the module and all its
+ // recursively ensure that the module and all its
// dependencies are linked (with dependency group handling)
link(normalized, entry, loader);
@@ -2030,9 +2031,9 @@ function createEntry() {
// Contains System.register calls
// (dont run bundles in the builder)
- else if (!(loader.builder && load.metadata.bundle)
+ else if (!(loader.builder && load.metadata.bundle)
&& (load.metadata.format == 'register' || load.metadata.format == 'esm' || load.metadata.format == 'es6')) {
-
+
if (typeof __exec != 'undefined')
__exec.call(loader, load);
@@ -2055,9 +2056,9 @@ function createEntry() {
// place this module onto defined for circular references
loader.defined[load.name] = entry;
-
+
var grouped = group(entry.deps);
-
+
entry.deps = grouped.names;
entry.originalIndices = grouped.indices;
entry.name = load.name;
@@ -2075,7 +2076,7 @@ function createEntry() {
return {
deps: entry.deps,
execute: function() {
- // recursively ensure that the module and all its
+ // recursively ensure that the module and all its
// dependencies are linked (with dependency group handling)
link(load.name, entry, loader);
@@ -2189,7 +2190,7 @@ hook('fetch', function(fetch) {
});System = new SystemJSLoader();
__global.SystemJS = System;
-System.version = '0.19.41 Register Only';
+System.version = '0.19.47 Register Only';
if (typeof module == 'object' && module.exports && typeof exports == 'object')
module.exports = System;