|
|
@ -1,8 +1,8 @@
|
|
|
|
(function (global, factory) {
|
|
|
|
(function (global, factory) {
|
|
|
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
|
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
|
|
typeof define === 'function' && define.amd ? define(factory) :
|
|
|
|
typeof define === 'function' && define.amd ? define(factory) :
|
|
|
|
(global.BrowserESModuleLoader = factory());
|
|
|
|
(global = global || self, global.BrowserESModuleLoader = factory());
|
|
|
|
}(this, (function () { 'use strict';
|
|
|
|
}(this, function () { 'use strict';
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Environment
|
|
|
|
* Environment
|
|
|
@ -12,6 +12,7 @@ var isNode = typeof process !== 'undefined' && process.versions && process.versi
|
|
|
|
var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);
|
|
|
|
var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);
|
|
|
|
|
|
|
|
|
|
|
|
var envGlobal = typeof self !== 'undefined' ? self : global;
|
|
|
|
var envGlobal = typeof self !== 'undefined' ? self : global;
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Simple Symbol() shim
|
|
|
|
* Simple Symbol() shim
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -22,10 +23,6 @@ function createSymbol (name) {
|
|
|
|
|
|
|
|
|
|
|
|
var toStringTag = hasSymbol && Symbol.toStringTag;
|
|
|
|
var toStringTag = hasSymbol && Symbol.toStringTag;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Environment baseURI
|
|
|
|
* Environment baseURI
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -95,7 +92,7 @@ function LoaderError__Check_error_message_for_loader_stack (childErr, newMessage
|
|
|
|
return err;
|
|
|
|
return err;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var resolvedPromise$1 = Promise.resolve();
|
|
|
|
var resolvedPromise = Promise.resolve();
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Simple Array values shim
|
|
|
|
* Simple Array values shim
|
|
|
@ -155,7 +152,7 @@ Loader.prototype.import = function (key, parent) {
|
|
|
|
throw new TypeError('Loader import method must be passed a module key string');
|
|
|
|
throw new TypeError('Loader import method must be passed a module key string');
|
|
|
|
// custom resolveInstantiate combined hook for better perf
|
|
|
|
// custom resolveInstantiate combined hook for better perf
|
|
|
|
var loader = this;
|
|
|
|
var loader = this;
|
|
|
|
return resolvedPromise$1
|
|
|
|
return resolvedPromise
|
|
|
|
.then(function () {
|
|
|
|
.then(function () {
|
|
|
|
return loader[RESOLVE_INSTANTIATE](key, parent);
|
|
|
|
return loader[RESOLVE_INSTANTIATE](key, parent);
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -197,7 +194,7 @@ function ensureResolution (resolvedKey) {
|
|
|
|
|
|
|
|
|
|
|
|
Loader.prototype.resolve = function (key, parent) {
|
|
|
|
Loader.prototype.resolve = function (key, parent) {
|
|
|
|
var loader = this;
|
|
|
|
var loader = this;
|
|
|
|
return resolvedPromise$1
|
|
|
|
return resolvedPromise
|
|
|
|
.then(function() {
|
|
|
|
.then(function() {
|
|
|
|
return loader[RESOLVE](key, parent);
|
|
|
|
return loader[RESOLVE](key, parent);
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -318,8 +315,7 @@ function ModuleNamespace (baseObject/*, evaluate*/) {
|
|
|
|
else { */
|
|
|
|
else { */
|
|
|
|
Object.keys(baseObject).forEach(extendNamespace, this);
|
|
|
|
Object.keys(baseObject).forEach(extendNamespace, this);
|
|
|
|
//}
|
|
|
|
//}
|
|
|
|
}
|
|
|
|
}// 8.4.2
|
|
|
|
// 8.4.2
|
|
|
|
|
|
|
|
ModuleNamespace.prototype = Object.create(null);
|
|
|
|
ModuleNamespace.prototype = Object.create(null);
|
|
|
|
|
|
|
|
|
|
|
|
if (toStringTag)
|
|
|
|
if (toStringTag)
|
|
|
@ -491,7 +487,8 @@ function resolveIfNotPlain (relUrl, parentUrl) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var resolvedPromise = Promise.resolve();
|
|
|
|
var resolvedPromise$1 = Promise.resolve();
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Register Loader
|
|
|
|
* Register Loader
|
|
|
|
*
|
|
|
|
*
|
|
|
@ -505,7 +502,7 @@ var resolvedPromise = Promise.resolve();
|
|
|
|
|
|
|
|
|
|
|
|
var REGISTER_INTERNAL = createSymbol('register-internal');
|
|
|
|
var REGISTER_INTERNAL = createSymbol('register-internal');
|
|
|
|
|
|
|
|
|
|
|
|
function RegisterLoader$1 () {
|
|
|
|
function RegisterLoader () {
|
|
|
|
Loader.call(this);
|
|
|
|
Loader.call(this);
|
|
|
|
|
|
|
|
|
|
|
|
var registryDelete = this.registry.delete;
|
|
|
|
var registryDelete = this.registry.delete;
|
|
|
@ -534,17 +531,17 @@ function RegisterLoader$1 () {
|
|
|
|
this.trace = false;
|
|
|
|
this.trace = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
RegisterLoader$1.prototype = Object.create(Loader.prototype);
|
|
|
|
RegisterLoader.prototype = Object.create(Loader.prototype);
|
|
|
|
RegisterLoader$1.prototype.constructor = RegisterLoader$1;
|
|
|
|
RegisterLoader.prototype.constructor = RegisterLoader;
|
|
|
|
|
|
|
|
|
|
|
|
var INSTANTIATE = RegisterLoader$1.instantiate = createSymbol('instantiate');
|
|
|
|
var INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');
|
|
|
|
|
|
|
|
|
|
|
|
// default normalize is the WhatWG style normalizer
|
|
|
|
// default normalize is the WhatWG style normalizer
|
|
|
|
RegisterLoader$1.prototype[RegisterLoader$1.resolve = Loader.resolve] = function (key, parentKey) {
|
|
|
|
RegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {
|
|
|
|
return resolveIfNotPlain(key, parentKey || baseURI);
|
|
|
|
return resolveIfNotPlain(key, parentKey || baseURI);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
RegisterLoader$1.prototype[INSTANTIATE] = function (key, processAnonRegister) {};
|
|
|
|
RegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};
|
|
|
|
|
|
|
|
|
|
|
|
// once evaluated, the linkRecord is set to undefined leaving just the other load record properties
|
|
|
|
// once evaluated, the linkRecord is set to undefined leaving just the other load record properties
|
|
|
|
// this allows tracking new binding listeners for es modules through importerSetters
|
|
|
|
// this allows tracking new binding listeners for es modules through importerSetters
|
|
|
@ -599,7 +596,7 @@ function createLoadRecord (state, key, registration) {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
RegisterLoader$1.prototype[Loader.resolveInstantiate] = function (key, parentKey) {
|
|
|
|
RegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {
|
|
|
|
var loader = this;
|
|
|
|
var loader = this;
|
|
|
|
var state = this[REGISTER_INTERNAL];
|
|
|
|
var state = this[REGISTER_INTERNAL];
|
|
|
|
var registry = this.registry[REGISTRY];
|
|
|
|
var registry = this.registry[REGISTRY];
|
|
|
@ -686,7 +683,7 @@ function createProcessAnonRegister (loader, load, state) {
|
|
|
|
function instantiate (loader, load, link, registry, state) {
|
|
|
|
function instantiate (loader, load, link, registry, state) {
|
|
|
|
return link.instantiatePromise || (link.instantiatePromise =
|
|
|
|
return link.instantiatePromise || (link.instantiatePromise =
|
|
|
|
// if there is already an existing registration, skip running instantiate
|
|
|
|
// if there is already an existing registration, skip running instantiate
|
|
|
|
(load.registration ? resolvedPromise : resolvedPromise.then(function () {
|
|
|
|
(load.registration ? resolvedPromise$1 : resolvedPromise$1.then(function () {
|
|
|
|
state.lastRegister = undefined;
|
|
|
|
state.lastRegister = undefined;
|
|
|
|
return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));
|
|
|
|
return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));
|
|
|
|
}))
|
|
|
|
}))
|
|
|
@ -907,9 +904,9 @@ function deepInstantiateDeps (loader, load, link, registry, state) {
|
|
|
|
var seen = [];
|
|
|
|
var seen = [];
|
|
|
|
function addDeps (load, link) {
|
|
|
|
function addDeps (load, link) {
|
|
|
|
if (!link)
|
|
|
|
if (!link)
|
|
|
|
return resolvedPromise;
|
|
|
|
return resolvedPromise$1;
|
|
|
|
if (seen.indexOf(load) !== -1)
|
|
|
|
if (seen.indexOf(load) !== -1)
|
|
|
|
return resolvedPromise;
|
|
|
|
return resolvedPromise$1;
|
|
|
|
seen.push(load);
|
|
|
|
seen.push(load);
|
|
|
|
|
|
|
|
|
|
|
|
return instantiateDeps(loader, load, link, registry, state)
|
|
|
|
return instantiateDeps(loader, load, link, registry, state)
|
|
|
@ -926,14 +923,13 @@ function deepInstantiateDeps (loader, load, link, registry, state) {
|
|
|
|
return Promise.all(depPromises);
|
|
|
|
return Promise.all(depPromises);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return addDeps(load, link);
|
|
|
|
return addDeps(load, link);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* System.register
|
|
|
|
* System.register
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
RegisterLoader$1.prototype.register = function (key, deps, declare) {
|
|
|
|
RegisterLoader.prototype.register = function (key, deps, declare) {
|
|
|
|
var state = this[REGISTER_INTERNAL];
|
|
|
|
var state = this[REGISTER_INTERNAL];
|
|
|
|
|
|
|
|
|
|
|
|
// anonymous modules get stored as lastAnon
|
|
|
|
// anonymous modules get stored as lastAnon
|
|
|
@ -951,7 +947,7 @@ RegisterLoader$1.prototype.register = function (key, deps, declare) {
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* System.registerDyanmic
|
|
|
|
* System.registerDyanmic
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
RegisterLoader$1.prototype.registerDynamic = function (key, deps, executingRequire, execute) {
|
|
|
|
RegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {
|
|
|
|
var state = this[REGISTER_INTERNAL];
|
|
|
|
var state = this[REGISTER_INTERNAL];
|
|
|
|
|
|
|
|
|
|
|
|
// anonymous modules get stored as lastAnon
|
|
|
|
// anonymous modules get stored as lastAnon
|
|
|
@ -1279,7 +1275,7 @@ function BrowserESModuleLoader(baseKey) {
|
|
|
|
if (baseKey)
|
|
|
|
if (baseKey)
|
|
|
|
this.baseKey = resolveIfNotPlain(baseKey, baseURI) || resolveIfNotPlain('./' + baseKey, baseURI);
|
|
|
|
this.baseKey = resolveIfNotPlain(baseKey, baseURI) || resolveIfNotPlain('./' + baseKey, baseURI);
|
|
|
|
|
|
|
|
|
|
|
|
RegisterLoader$1.call(this);
|
|
|
|
RegisterLoader.call(this);
|
|
|
|
|
|
|
|
|
|
|
|
var loader = this;
|
|
|
|
var loader = this;
|
|
|
|
|
|
|
|
|
|
|
@ -1293,11 +1289,11 @@ function BrowserESModuleLoader(baseKey) {
|
|
|
|
prevRegister.apply(this, arguments);
|
|
|
|
prevRegister.apply(this, arguments);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
BrowserESModuleLoader.prototype = Object.create(RegisterLoader$1.prototype);
|
|
|
|
BrowserESModuleLoader.prototype = Object.create(RegisterLoader.prototype);
|
|
|
|
|
|
|
|
|
|
|
|
// normalize is never given a relative name like "./x", that part is already handled
|
|
|
|
// normalize is never given a relative name like "./x", that part is already handled
|
|
|
|
BrowserESModuleLoader.prototype[RegisterLoader$1.resolve] = function(key, parent) {
|
|
|
|
BrowserESModuleLoader.prototype[RegisterLoader.resolve] = function(key, parent) {
|
|
|
|
var resolved = RegisterLoader$1.prototype[RegisterLoader$1.resolve].call(this, key, parent || this.baseKey) || key;
|
|
|
|
var resolved = RegisterLoader.prototype[RegisterLoader.resolve].call(this, key, parent || this.baseKey) || key;
|
|
|
|
if (!resolved)
|
|
|
|
if (!resolved)
|
|
|
|
throw new RangeError('ES module loader does not resolve plain module names, resolving "' + key + '" to ' + parent);
|
|
|
|
throw new RangeError('ES module loader does not resolve plain module names, resolving "' + key + '" to ' + parent);
|
|
|
|
|
|
|
|
|
|
|
@ -1431,8 +1427,7 @@ babelWorker.onmessage = function (evt) {
|
|
|
|
|
|
|
|
|
|
|
|
// instantiate just needs to run System.register
|
|
|
|
// instantiate just needs to run System.register
|
|
|
|
// so we fetch the source, convert into the Babel System module format, then evaluate it
|
|
|
|
// so we fetch the source, convert into the Babel System module format, then evaluate it
|
|
|
|
BrowserESModuleLoader.prototype[RegisterLoader$1.instantiate] = function(key, processAnonRegister) {
|
|
|
|
BrowserESModuleLoader.prototype[RegisterLoader.instantiate] = function(key, processAnonRegister) {
|
|
|
|
var loader = this;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// load as ES with Babel converting into System.register
|
|
|
|
// load as ES with Babel converting into System.register
|
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
@ -1482,5 +1477,5 @@ if (isBrowser)
|
|
|
|
|
|
|
|
|
|
|
|
return BrowserESModuleLoader;
|
|
|
|
return BrowserESModuleLoader;
|
|
|
|
|
|
|
|
|
|
|
|
})));
|
|
|
|
}));
|
|
|
|
//# sourceMappingURL=browser-es-module-loader.js.map
|
|
|
|
//# sourceMappingURL=browser-es-module-loader.js.map
|
|
|
|