summaryrefslogtreecommitdiff
path: root/node_modules/systemjs/dist/system.src.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/systemjs/dist/system.src.js')
-rw-r--r--node_modules/systemjs/dist/system.src.js188
1 files changed, 104 insertions, 84 deletions
diff --git a/node_modules/systemjs/dist/system.src.js b/node_modules/systemjs/dist/system.src.js
index 13dbc2fe5..e7e59edc3 100644
--- a/node_modules/systemjs/dist/system.src.js
+++ b/node_modules/systemjs/dist/system.src.js
@@ -1,5 +1,5 @@
/*
- * SystemJS v0.19.41
+ * SystemJS v0.19.47
*/
(function() {
function bootstrap() {// from https://gist.github.com/Yaffle/1088850
@@ -7,7 +7,7 @@ function bootstrap() {// from https://gist.github.com/Yaffle/1088850
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] || "";
@@ -65,7 +65,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';
@@ -83,7 +84,7 @@ global.URLPolyfill = URLPolyfill;
}
return -1;
};
-
+
var defineProperty;
(function () {
try {
@@ -120,9 +121,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;
@@ -431,7 +432,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');
@@ -494,8 +495,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');
});
}
@@ -548,7 +547,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));
}
@@ -636,9 +634,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)
@@ -671,8 +666,6 @@ function logloads(loads) {
if (abrupt)
return;
- console.assert(linkSet.loads.length == 0, 'loads cleared');
-
linkSet.resolve(startingLoad);
}
@@ -681,7 +674,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);
@@ -715,7 +708,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);
@@ -747,7 +739,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);
@@ -857,7 +848,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,
@@ -865,9 +856,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) {
@@ -977,7 +970,6 @@ function logloads(loads) {
})();
var System;
-
var fetchTextFromURL;
if (typeof XMLHttpRequest != 'undefined') {
fetchTextFromURL = function(url, authorization, fulfill, reject) {
@@ -1265,7 +1257,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) : '');
@@ -1419,7 +1411,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);
}
@@ -1441,7 +1433,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 || {};
@@ -1457,6 +1449,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';
+}
// we define a __exec for globally-scoped execution
// used by module format implementations
var __exec;
@@ -2902,7 +2903,7 @@ SystemJSLoader.prototype.config = function(cfg, isEnvConfig) {
*
*
* 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.
*
*/
@@ -2912,7 +2913,7 @@ SystemJSLoader.prototype.config = function(cfg, isEnvConfig) {
* 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
@@ -2930,7 +2931,7 @@ SystemJSLoader.prototype.config = function(cfg, isEnvConfig) {
* 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
@@ -2975,7 +2976,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.
@@ -2994,7 +2995,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);
@@ -3080,17 +3081,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);
@@ -3130,7 +3131,7 @@ function createEntry() {
else
linkDynamicModule(entry, loader);
}
- curGroupDeclarative = !curGroupDeclarative;
+ curGroupDeclarative = !curGroupDeclarative;
}
}
@@ -3190,7 +3191,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;
@@ -3233,7 +3234,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) {
@@ -3259,7 +3260,7 @@ function createEntry() {
else {
if (entry.declarative)
ensureEvaluated(name, entry, [], loader);
-
+
else if (!entry.evaluated)
linkDynamicModule(entry, loader);
@@ -3268,7 +3269,7 @@ function createEntry() {
if ((!entry || entry.declarative) && exports && exports.__useDefault)
return exports['default'];
-
+
return exports;
}
@@ -3306,7 +3307,7 @@ function createEntry() {
throw new Error('Module ' + name + ' not declared as a dependency of ' + entry.name);
}, exports, module);
-
+
if (output !== undefined)
module.exports = output;
@@ -3330,7 +3331,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) {
@@ -3376,7 +3377,7 @@ function createEntry() {
}
load.metadata.deps = load.metadata.deps || [];
-
+
return fetch.call(this, load);
};
});
@@ -3387,7 +3388,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;
});
@@ -3405,7 +3406,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);
@@ -3456,9 +3457,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);
@@ -3481,9 +3482,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;
@@ -3501,7 +3502,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);
@@ -3569,10 +3570,28 @@ function createEntry() {
// do transpilation
return (loader._loader.transpilerPromise || (
loader._loader.transpilerPromise = Promise.resolve(
- __global[loader.transpiler == 'typescript' ? 'ts' : loader.transpiler] || (loader.pluginLoader || loader)['import'](loader.transpiler)
+ __global[loader.transpiler == 'typescript' ? 'ts' : loader.transpiler] || (loader.pluginLoader || loader).normalize(loader.transpiler)
+ .then(function(normalized) {
+ loader._loader.transpilerNormalized = normalized;
+ return (loader.pluginLoader || loader).load(normalized)
+ .then(function() {
+ return (loader.pluginLoader || loader).get(normalized);
+ });
+ })
))).then(function(transpiler) {
loader._loader.loadedTranspilerRuntime = true;
+ if (typeof transpiler.default === 'function' && !__global[loader.transpiler == 'typescript' ? 'ts' : loader.transpiler]) {
+ // instantiate plugins dont build
+ if (loader.builder)
+ return source;
+ return Promise.resolve(transpiler.default.call(loader, load.address, load.name))
+ .then(function (result) {
+ createInstantiate(load, result);
+ return '';
+ });
+ }
+
// translate hooks means this is a transpiler plugin instead of a raw implementation
if (transpiler.translate) {
// if transpiler is the same as the plugin loader, then don't run twice
@@ -3589,7 +3608,7 @@ function createEntry() {
var sourceMap = load.metadata.sourceMap;
if (sourceMap && typeof sourceMap == 'object') {
var originalName = load.address.split('!')[0];
-
+
// force set the filename of the original file
if (!sourceMap.file || sourceMap.file == load.address)
sourceMap.file = originalName + '!transpiled';
@@ -3608,14 +3627,14 @@ function createEntry() {
// legacy builder support
if (loader.builder)
load.metadata.originalSource = load.source;
-
+
// defined in es6-module-loader/src/transpile.js
return transpile.call(loader, load)
.then(function(source) {
// clear sourceMap as transpiler embeds it
load.metadata.sourceMap = undefined;
return source;
- });
+ });
}, function(err) {
throw addToError(err, 'Unable to load transpiler to transpile ' + load.name);
});
@@ -4539,15 +4558,16 @@ hookConstructor(function(constructor) {
hook('fetch', function(fetch) {
return function(load) {
var loader = this;
- if (load.metadata.loaderModule && load.metadata.loaderModule.fetch && load.metadata.format != 'defined') {
+ if (load.metadata.loaderModule && load.metadata.format != 'defined') {
+ if (typeof load.metadata.loaderModule === 'function' || load.metadata.loaderModule instanceof Module && typeof load.metadata.loaderModule.default === 'function')
+ return '';
load.metadata.scriptLoad = false;
- return load.metadata.loaderModule.fetch.call(loader, load, function(load) {
- return fetch.call(loader, load);
- });
- }
- else {
- return fetch.call(loader, load);
+ if (load.metadata.loaderModule.fetch)
+ return load.metadata.loaderModule.fetch.call(loader, load, function(load) {
+ return fetch.call(loader, load);
+ });
}
+ return fetch.call(loader, load);
};
});
@@ -4584,9 +4604,7 @@ hookConstructor(function(constructor) {
return translate.apply(loader, args);
});
}
- else {
- return translate.apply(loader, args);
- }
+ return translate.apply(loader, args);
};
});
@@ -4595,28 +4613,30 @@ hookConstructor(function(constructor) {
var loader = this;
var calledInstantiate = false;
- if (load.metadata.loaderModule && load.metadata.loaderModule.instantiate && !loader.builder && load.metadata.format != 'defined')
- return Promise.resolve(load.metadata.loaderModule.instantiate.call(loader, load, function(load) {
- if (calledInstantiate)
- throw new Error('Instantiate must only be called once.');
- calledInstantiate = true;
- return instantiate.call(loader, load);
- })).then(function(result) {
- if (calledInstantiate)
- return result;
-
- if (result !== undefined) {
- load.metadata.entry = createEntry();
- load.metadata.entry.execute = function() {
+ if (load.metadata.loaderModule && !loader.builder && load.metadata.format != 'defined') {
+ if (load.metadata.loaderModule.instantiate)
+ return Promise.resolve(load.metadata.loaderModule.instantiate.call(loader, load, function(load) {
+ if (calledInstantiate)
+ throw new Error('Instantiate must only be called once.');
+ calledInstantiate = true;
+ return instantiate.call(loader, load);
+ })).then(function(result) {
+ if (calledInstantiate)
return result;
- }
- load.metadata.entry.deps = load.metadata.deps;
- load.metadata.format = 'defined';
- }
- return instantiate.call(loader, load);
- });
- else
- return instantiate.call(loader, load);
+
+ if (result !== undefined)
+ createInstantiate(load, result);
+ return instantiate.call(loader, load);
+ });
+ else if (typeof load.metadata.loaderModule === 'function' || load.metadata.loaderModule instanceof Module && typeof load.metadata.loaderModule.default === 'function')
+ return Promise.resolve((load.metadata.loaderModule.default || load.metadata.loaderModule).call(loader, load.address, load.name))
+ .then(function (result) {
+ if (result !== undefined)
+ createInstantiate(load, result);
+ return instantiate.call(loader, load);
+ });
+ }
+ return instantiate.call(loader, load);
};
});
@@ -5094,7 +5114,7 @@ hookConstructor(function(constructor) {
System = new SystemJSLoader();
__global.SystemJS = System;
-System.version = '0.19.41 Standard';
+System.version = '0.19.47 Standard';
if (typeof module == 'object' && module.exports && typeof exports == 'object')
module.exports = System;