From 5f466137ad6ac596600e3ff53c9b786815398445 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 27 May 2017 17:36:13 +0200 Subject: node_modules, clean up package.json --- .../systemjs/dist/system-register-only.src.js | 2199 -------------------- 1 file changed, 2199 deletions(-) delete mode 100644 node_modules/systemjs/dist/system-register-only.src.js (limited to 'node_modules/systemjs/dist/system-register-only.src.js') diff --git a/node_modules/systemjs/dist/system-register-only.src.js b/node_modules/systemjs/dist/system-register-only.src.js deleted file mode 100644 index e826a2db4..000000000 --- a/node_modules/systemjs/dist/system-register-only.src.js +++ /dev/null @@ -1,2199 +0,0 @@ -/* - * 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, "").replace(/\\/g, '/').match(/^([^:\/?#]+:)?(?:\/\/(?:([^:@\/?#]*)(?::([^:@\/?#]*))?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/); - if (!m) - throw new RangeError('Invalid URL format'); - var protocol = m[1] || ""; - var username = m[2] || ""; - var password = m[3] || ""; - var host = m[4] || ""; - var hostname = m[5] || ""; - var port = m[6] || ""; - var pathname = m[7] || ""; - var search = m[8] || ""; - var hash = m[9] || ""; - if (baseURL !== undefined) { - var base = baseURL instanceof URLPolyfill ? baseURL : new URLPolyfill(baseURL); - var flag = !protocol && !host && !username; - if (flag && !pathname && !search) - search = base.search; - if (flag && pathname[0] !== "/") - pathname = (pathname ? (((base.host || base.username) && !base.pathname ? "/" : "") + base.pathname.slice(0, base.pathname.lastIndexOf("/") + 1) + pathname) : base.pathname); - // dot segments removal - var output = []; - pathname.replace(/^(\.\.?(\/|$))+/, "") - .replace(/\/(\.(\/|$))+/g, "/") - .replace(/\/\.\.$/, "/../") - .replace(/\/?[^\/]*/g, function (p) { - if (p === "/..") - output.pop(); - else - output.push(p); - }); - pathname = output.join("").replace(/^\//, pathname[0] === "/" ? "/" : ""); - if (flag) { - port = base.port; - hostname = base.hostname; - host = base.host; - password = base.password; - username = base.username; - } - if (!protocol) - protocol = base.protocol; - } - - // convert URLs to use / always - pathname = pathname.replace(/\\/g, '/'); - - this.origin = host ? protocol + (protocol !== "" || host !== "" ? "//" : "") + host : ""; - this.href = protocol + (protocol && host || protocol == "file:" ? "//" : "") + (username !== "" ? username + (password !== "" ? ":" + password : "") + "@" : "") + host + pathname + search + hash; - this.protocol = protocol; - this.username = username; - this.password = password; - this.host = host; - this.hostname = hostname; - this.port = port; - this.pathname = pathname; - this.search = search; - this.hash = hash; -} -global.URLPolyfill = URLPolyfill; -})(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'; - var isWindows = typeof process != 'undefined' && typeof process.platform != 'undefined' && !!process.platform.match(/^win/); - - if (!__global.console) - __global.console = { assert: function() {} }; - - // IE8 support - var indexOf = Array.prototype.indexOf || function(item) { - for (var i = 0, thisLen = this.length; i < thisLen; i++) { - if (this[i] === item) { - return i; - } - } - return -1; - }; - - var defineProperty; - (function () { - try { - if (!!Object.defineProperty({}, 'a', {})) - defineProperty = Object.defineProperty; - } - catch (e) { - defineProperty = function(obj, prop, opt) { - try { - obj[prop] = opt.value || opt.get.call(obj); - } - catch(e) {} - } - } - })(); - - var errArgs = new Error(0, '_').fileName == '_'; - - function addToError(err, msg) { - // parse the stack removing loader code lines for simplification - if (!err.originalErr) { - var stack = ((err.message || err) + (err.stack ? '\n' + err.stack : '')).toString().split('\n'); - var newStack = []; - for (var i = 0; i < stack.length; i++) { - if (typeof $__curScript == 'undefined' || stack[i].indexOf($__curScript.src) == -1) - newStack.push(stack[i]); - } - } - - var newMsg = '(SystemJS) ' + (newStack ? newStack.join('\n\t') : err.message.substr(11)) + '\n\t' + msg; - - // Convert file:/// URLs to paths in Node - if (!isBrowser) - 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; - - return newErr; - } - - function __eval(source, debugName, context) { - try { - new Function(source).call(context); - } - catch(e) { - throw addToError(e, 'Evaluating ' + debugName); - } - } - - var baseURI; - - // environent baseURI detection - if (typeof document != 'undefined' && document.getElementsByTagName) { - baseURI = document.baseURI; - - if (!baseURI) { - var bases = document.getElementsByTagName('base'); - baseURI = bases[0] && bases[0].href || window.location.href; - } - } - else if (typeof location != 'undefined') { - baseURI = __global.location.href; - } - - // sanitize out the hash and querystring - if (baseURI) { - baseURI = baseURI.split('#')[0].split('?')[0]; - baseURI = baseURI.substr(0, baseURI.lastIndexOf('/') + 1); - } - else if (typeof process != 'undefined' && process.cwd) { - baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd() + '/'; - if (isWindows) - baseURI = baseURI.replace(/\\/g, '/'); - } - else { - throw new TypeError('No environment baseURI'); - } - - try { - var nativeURL = new __global.URL('test:///').protocol == 'test:'; - } - catch(e) {} - - var URL = nativeURL ? __global.URL : __global.URLPolyfill; - -/* -********************************************************************************************* - - Dynamic Module Loader Polyfill - - - Implemented exactly to the former 2014-08-24 ES6 Specification Draft Rev 27, Section 15 - http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#august_24_2014_draft_rev_27 - - - Functions are commented with their spec numbers, with spec differences commented. - - - Spec bugs are commented in this code with links. - - - Abstract functions have been combined where possible, and their associated functions - commented. - - - Realm implementation is entirely omitted. - -********************************************************************************************* -*/ - -function Module() {} -// http://www.ecma-international.org/ecma-262/6.0/#sec-@@tostringtag -defineProperty(Module.prototype, 'toString', { - value: function() { - return 'Module'; - } -}); -function Loader(options) { - this._loader = { - loaderObj: this, - loads: [], - modules: {}, - importPromises: {}, - moduleRecords: {} - }; - - // 26.3.3.6 - defineProperty(this, 'global', { - get: function() { - return __global; - } - }); - - // 26.3.3.13 realm not implemented -} - -(function() { - -// Some Helpers - -// logs a linkset snapshot for debugging -/* function snapshot(loader) { - console.log('---Snapshot---'); - for (var i = 0; i < loader.loads.length; i++) { - var load = loader.loads[i]; - var linkSetLog = ' ' + load.name + ' (' + load.status + '): '; - - for (var j = 0; j < load.linkSets.length; j++) { - linkSetLog += '{' + logloads(load.linkSets[j].loads) + '} '; - } - console.log(linkSetLog); - } - console.log(''); -} -function logloads(loads) { - var log = ''; - for (var k = 0; k < loads.length; k++) - log += loads[k].name + (k != loads.length - 1 ? ' ' : ''); - return log; -} */ - - -/* function checkInvariants() { - // see https://bugs.ecmascript.org/show_bug.cgi?id=2603#c1 - - var loads = System._loader.loads; - var linkSets = []; - - for (var i = 0; i < loads.length; i++) { - var load = loads[i]; - console.assert(load.status == 'loading' || load.status == 'loaded', 'Each load is loading or loaded'); - - for (var j = 0; j < load.linkSets.length; j++) { - var linkSet = load.linkSets[j]; - - for (var k = 0; k < linkSet.loads.length; k++) - console.assert(loads.indexOf(linkSet.loads[k]) != -1, 'linkSet loads are a subset of loader loads'); - - if (linkSets.indexOf(linkSet) == -1) - linkSets.push(linkSet); - } - } - - for (var i = 0; i < loads.length; i++) { - var load = loads[i]; - for (var j = 0; j < linkSets.length; j++) { - var linkSet = linkSets[j]; - - if (linkSet.loads.indexOf(load) != -1) - console.assert(load.linkSets.indexOf(linkSet) != -1, 'linkSet contains load -> load contains linkSet'); - - if (load.linkSets.indexOf(linkSet) != -1) - console.assert(linkSet.loads.indexOf(load) != -1, 'load contains linkSet -> linkSet contains load'); - } - } - - for (var i = 0; i < linkSets.length; i++) { - var linkSet = linkSets[i]; - for (var j = 0; j < linkSet.loads.length; j++) { - var load = linkSet.loads[j]; - - for (var k = 0; k < load.dependencies.length; k++) { - var depName = load.dependencies[k].value; - var depLoad; - for (var l = 0; l < loads.length; l++) { - if (loads[l].name != depName) - continue; - depLoad = loads[l]; - break; - } - - // loading records are allowed not to have their dependencies yet - // if (load.status != 'loading') - // console.assert(depLoad, 'depLoad found'); - - // console.assert(linkSet.loads.indexOf(depLoad) != -1, 'linkset contains all dependencies'); - } - } - } -} */ - - // 15.2.3 - Runtime Semantics: Loader State - - // 15.2.3.11 - function createLoaderLoad(object) { - return { - // modules is an object for ES5 implementation - modules: {}, - loads: [], - loaderObj: object - }; - } - - // 15.2.3.2 Load Records and LoadRequest Objects - - var anonCnt = 0; - - // 15.2.3.2.1 - function createLoad(name) { - return { - status: 'loading', - name: name || '', - linkSets: [], - dependencies: [], - metadata: {} - }; - } - - // 15.2.3.2.2 createLoadRequestObject, absorbed into calling functions - - // 15.2.4 - - // 15.2.4.1 - function loadModule(loader, name, options) { - return new Promise(asyncStartLoadPartwayThrough({ - step: options.address ? 'fetch' : 'locate', - loader: loader, - moduleName: name, - // allow metadata for import https://bugs.ecmascript.org/show_bug.cgi?id=3091 - moduleMetadata: options && options.metadata || {}, - moduleSource: options.source, - moduleAddress: options.address - })); - } - - // 15.2.4.2 - function requestLoad(loader, request, refererName, refererAddress) { - // 15.2.4.2.1 CallNormalize - return new Promise(function(resolve, reject) { - resolve(loader.loaderObj.normalize(request, refererName, refererAddress)); - }) - // 15.2.4.2.2 GetOrCreateLoad - .then(function(name) { - var load; - if (loader.modules[name]) { - load = createLoad(name); - load.status = 'linked'; - // https://bugs.ecmascript.org/show_bug.cgi?id=2795 - load.module = loader.modules[name]; - return load; - } - - for (var i = 0, l = loader.loads.length; i < l; i++) { - load = loader.loads[i]; - if (load.name != name) - continue; - return load; - } - - load = createLoad(name); - loader.loads.push(load); - - proceedToLocate(loader, load); - - return load; - }); - } - - // 15.2.4.3 - function proceedToLocate(loader, load) { - proceedToFetch(loader, load, - Promise.resolve() - // 15.2.4.3.1 CallLocate - .then(function() { - return loader.loaderObj.locate({ name: load.name, metadata: load.metadata }); - }) - ); - } - - // 15.2.4.4 - function proceedToFetch(loader, load, p) { - proceedToTranslate(loader, load, - p - // 15.2.4.4.1 CallFetch - .then(function(address) { - // adjusted, see https://bugs.ecmascript.org/show_bug.cgi?id=2602 - if (load.status != 'loading') - return; - load.address = address; - - return loader.loaderObj.fetch({ name: load.name, metadata: load.metadata, address: address }); - }) - ); - } - - // 15.2.4.5 - function proceedToTranslate(loader, load, p) { - p - // 15.2.4.5.1 CallTranslate - .then(function(source) { - if (load.status != 'loading') - return; - - load.address = load.address || load.name; - - return Promise.resolve(loader.loaderObj.translate({ name: load.name, metadata: load.metadata, address: load.address, source: source })) - - // 15.2.4.5.2 CallInstantiate - .then(function(source) { - load.source = source; - return loader.loaderObj.instantiate({ name: load.name, metadata: load.metadata, address: load.address, source: source }); - }) - - // 15.2.4.5.3 InstantiateSucceeded - .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'); - - load.depsList = instantiateResult.deps || []; - load.execute = instantiateResult.execute; - }) - // 15.2.4.6 ProcessLoadDependencies - .then(function() { - load.dependencies = []; - var depsList = load.depsList; - - var loadPromises = []; - for (var i = 0, l = depsList.length; i < l; i++) (function(request, index) { - loadPromises.push( - requestLoad(loader, request, load.name, load.address) - - // 15.2.4.6.1 AddDependencyLoad (load is parentLoad) - .then(function(depLoad) { - - // adjusted from spec to maintain dependency order - // this is due to the System.register internal implementation needs - load.dependencies[index] = { - key: request, - value: depLoad.name - }; - - if (depLoad.status != 'linked') { - var linkSets = load.linkSets.concat([]); - for (var i = 0, l = linkSets.length; i < l; i++) - addLoadToLinkSet(linkSets[i], depLoad); - } - - // console.log('AddDependencyLoad ' + depLoad.name + ' for ' + load.name); - // snapshot(loader); - }) - ); - })(depsList[i], i); - - return Promise.all(loadPromises); - }) - - // 15.2.4.6.2 LoadSucceeded - .then(function() { - // console.log('LoadSucceeded ' + load.name); - // snapshot(loader); - - load.status = 'loaded'; - - var linkSets = load.linkSets.concat([]); - for (var i = 0, l = linkSets.length; i < l; i++) - updateLinkSetOnLoad(linkSets[i], load); - }); - }) - // 15.2.4.5.4 LoadFailed - ['catch'](function(exc) { - load.status = 'failed'; - load.exception = exc; - - var linkSets = load.linkSets.concat([]); - for (var i = 0, l = linkSets.length; i < l; i++) { - linkSetFailed(linkSets[i], load, exc); - } - }); - } - - // 15.2.4.7 PromiseOfStartLoadPartwayThrough absorbed into calling functions - - // 15.2.4.7.1 - function asyncStartLoadPartwayThrough(stepState) { - return function(resolve, reject) { - var loader = stepState.loader; - var name = stepState.moduleName; - var step = stepState.step; - - if (loader.modules[name]) - throw new TypeError('"' + name + '" already exists in the module table'); - - // adjusted to pick up existing loads - var existingLoad; - for (var i = 0, l = loader.loads.length; i < l; i++) { - if (loader.loads[i].name == name) { - existingLoad = loader.loads[i]; - - if (step == 'translate' && !existingLoad.source) { - existingLoad.address = stepState.moduleAddress; - proceedToTranslate(loader, existingLoad, Promise.resolve(stepState.moduleSource)); - } - - // a primary load -> use that existing linkset if it is for the direct load here - // otherwise create a new linkset unit - if (existingLoad.linkSets.length && existingLoad.linkSets[0].loads[0].name == existingLoad.name) - return existingLoad.linkSets[0].done.then(function() { - resolve(existingLoad); - }); - } - } - - var load = existingLoad || createLoad(name); - - load.metadata = stepState.moduleMetadata; - - var linkSet = createLinkSet(loader, load); - - loader.loads.push(load); - - resolve(linkSet.done); - - if (step == 'locate') - proceedToLocate(loader, load); - - else if (step == 'fetch') - proceedToFetch(loader, load, Promise.resolve(stepState.moduleAddress)); - - else { - load.address = stepState.moduleAddress; - proceedToTranslate(loader, load, Promise.resolve(stepState.moduleSource)); - } - } - } - - // Declarative linking functions run through alternative implementation: - // 15.2.5.1.1 CreateModuleLinkageRecord not implemented - // 15.2.5.1.2 LookupExport not implemented - // 15.2.5.1.3 LookupModuleDependency not implemented - - // 15.2.5.2.1 - function createLinkSet(loader, startingLoad) { - var linkSet = { - loader: loader, - loads: [], - startingLoad: startingLoad, // added see spec bug https://bugs.ecmascript.org/show_bug.cgi?id=2995 - loadingCount: 0 - }; - linkSet.done = new Promise(function(resolve, reject) { - linkSet.resolve = resolve; - linkSet.reject = reject; - }); - addLoadToLinkSet(linkSet, startingLoad); - return linkSet; - } - // 15.2.5.2.2 - function addLoadToLinkSet(linkSet, load) { - if (load.status == 'failed') - return; - - for (var i = 0, l = linkSet.loads.length; i < l; i++) - if (linkSet.loads[i] == load) - return; - - linkSet.loads.push(load); - load.linkSets.push(linkSet); - - // adjustment, see https://bugs.ecmascript.org/show_bug.cgi?id=2603 - if (load.status != 'loaded') { - linkSet.loadingCount++; - } - - var loader = linkSet.loader; - - for (var i = 0, l = load.dependencies.length; i < l; i++) { - if (!load.dependencies[i]) - continue; - - var name = load.dependencies[i].value; - - if (loader.modules[name]) - continue; - - for (var j = 0, d = loader.loads.length; j < d; j++) { - if (loader.loads[j].name != name) - continue; - - addLoadToLinkSet(linkSet, loader.loads[j]); - break; - } - } - // console.log('add to linkset ' + load.name); - // snapshot(linkSet.loader); - } - - // linking errors can be generic or load-specific - // this is necessary for debugging info - function doLink(linkSet) { - var error = false; - try { - link(linkSet, function(load, exc) { - linkSetFailed(linkSet, load, exc); - error = true; - }); - } - catch(e) { - linkSetFailed(linkSet, null, e); - error = true; - } - return error; - } - - // 15.2.5.2.3 - function updateLinkSetOnLoad(linkSet, load) { - // console.log('update linkset on load ' + load.name); - // snapshot(linkSet.loader); - linkSet.loadingCount--; - - if (linkSet.loadingCount > 0) - return; - - // adjusted for spec bug https://bugs.ecmascript.org/show_bug.cgi?id=2995 - var startingLoad = linkSet.startingLoad; - - // non-executing link variation for loader tracing - // on the server. Not in spec. - /***/ - if (linkSet.loader.loaderObj.execute === false) { - var loads = [].concat(linkSet.loads); - for (var i = 0, l = loads.length; i < l; i++) { - var load = loads[i]; - load.module = { - name: load.name, - module: _newModule({}), - evaluated: true - }; - load.status = 'linked'; - finishLoad(linkSet.loader, load); - } - return linkSet.resolve(startingLoad); - } - /***/ - - var abrupt = doLink(linkSet); - - if (abrupt) - return; - - linkSet.resolve(startingLoad); - } - - // 15.2.5.2.4 - function linkSetFailed(linkSet, load, exc) { - var loader = linkSet.loader; - var requests; - - checkError: - if (load) { - if (linkSet.loads[0].name == load.name) { - exc = addToError(exc, 'Error loading ' + load.name); - } - else { - for (var i = 0; i < linkSet.loads.length; i++) { - var pLoad = linkSet.loads[i]; - for (var j = 0; j < pLoad.dependencies.length; j++) { - var dep = pLoad.dependencies[j]; - if (dep.value == load.name) { - exc = addToError(exc, 'Error loading ' + load.name + ' as "' + dep.key + '" from ' + pLoad.name); - break checkError; - } - } - } - exc = addToError(exc, 'Error loading ' + load.name + ' from ' + linkSet.loads[0].name); - } - } - else { - exc = addToError(exc, 'Error linking ' + linkSet.loads[0].name); - } - - - var loads = linkSet.loads.concat([]); - for (var i = 0, l = loads.length; i < l; i++) { - var load = loads[i]; - - // store all failed load records - loader.loaderObj.failed = loader.loaderObj.failed || []; - if (indexOf.call(loader.loaderObj.failed, load) == -1) - loader.loaderObj.failed.push(load); - - var linkIndex = indexOf.call(load.linkSets, linkSet); - load.linkSets.splice(linkIndex, 1); - if (load.linkSets.length == 0) { - var globalLoadsIndex = indexOf.call(linkSet.loader.loads, load); - if (globalLoadsIndex != -1) - linkSet.loader.loads.splice(globalLoadsIndex, 1); - } - } - linkSet.reject(exc); - } - - // 15.2.5.2.5 - function finishLoad(loader, load) { - // add to global trace if tracing - if (loader.loaderObj.trace) { - if (!loader.loaderObj.loads) - loader.loaderObj.loads = {}; - var depMap = {}; - load.dependencies.forEach(function(dep) { - depMap[dep.key] = dep.value; - }); - loader.loaderObj.loads[load.name] = { - name: load.name, - deps: load.dependencies.map(function(dep){ return dep.key }), - depMap: depMap, - address: load.address, - metadata: load.metadata, - source: load.source - }; - } - // if not anonymous, add to the module table - if (load.name) { - loader.modules[load.name] = load.module; - } - var loadIndex = indexOf.call(loader.loads, load); - if (loadIndex != -1) - loader.loads.splice(loadIndex, 1); - for (var i = 0, l = load.linkSets.length; i < l; i++) { - loadIndex = indexOf.call(load.linkSets[i].loads, load); - if (loadIndex != -1) - load.linkSets[i].loads.splice(loadIndex, 1); - } - load.linkSets.splice(0, load.linkSets.length); - } - - function doDynamicExecute(linkSet, load, linkError) { - try { - var module = load.execute(); - } - catch(e) { - linkError(load, e); - return; - } - if (!module || !(module instanceof Module)) - linkError(load, new TypeError('Execution must define a Module instance')); - else - return module; - } - - // 26.3 Loader - - // 26.3.1.1 - // defined at top - - // importPromises adds ability to import a module twice without error - https://bugs.ecmascript.org/show_bug.cgi?id=2601 - function createImportPromise(loader, name, promise) { - var importPromises = loader._loader.importPromises; - return importPromises[name] = promise.then(function(m) { - importPromises[name] = undefined; - return m; - }, function(e) { - importPromises[name] = undefined; - throw e; - }); - } - - Loader.prototype = { - // 26.3.3.1 - constructor: Loader, - // 26.3.3.2 - define: function(name, source, options) { - // check if already defined - if (this._loader.importPromises[name]) - throw new TypeError('Module is already loading.'); - return createImportPromise(this, name, new Promise(asyncStartLoadPartwayThrough({ - step: 'translate', - loader: this._loader, - moduleName: name, - moduleMetadata: options && options.metadata || {}, - moduleSource: source, - moduleAddress: options && options.address - }))); - }, - // 26.3.3.3 - 'delete': function(name) { - var loader = this._loader; - delete loader.importPromises[name]; - delete loader.moduleRecords[name]; - return loader.modules[name] ? delete loader.modules[name] : false; - }, - // 26.3.3.4 entries not implemented - // 26.3.3.5 - get: function(key) { - if (!this._loader.modules[key]) - return; - return this._loader.modules[key].module; - }, - // 26.3.3.7 - has: function(name) { - return !!this._loader.modules[name]; - }, - // 26.3.3.8 - 'import': function(name, parentName, parentAddress) { - if (typeof parentName == 'object') - parentName = parentName.name; - - // run normalize first - var loaderObj = this; - - // added, see https://bugs.ecmascript.org/show_bug.cgi?id=2659 - return Promise.resolve(loaderObj.normalize(name, parentName)) - .then(function(name) { - var loader = loaderObj._loader; - - if (loader.modules[name]) - return loader.modules[name].module; - - return loader.importPromises[name] || createImportPromise(loaderObj, name, - loadModule(loader, name, {}) - .then(function(load) { - delete loader.importPromises[name]; - return load.module.module; - })); - }); - }, - // 26.3.3.9 keys not implemented - // 26.3.3.10 - load: function(name) { - var loader = this._loader; - if (loader.modules[name]) - return Promise.resolve(); - return (loader.importPromises[name] || createImportPromise(this, name, new Promise(asyncStartLoadPartwayThrough({ - step: 'locate', - loader: loader, - moduleName: name, - moduleMetadata: {}, - moduleSource: undefined, - moduleAddress: undefined - })) - .then(function(load) { - delete loader.importPromises[name]; - return load.module.module; - }))) - .then(function () {}); - }, - // 26.3.3.11 - module: function(source, options) { - var load = createLoad(); - load.address = options && options.address; - var linkSet = createLinkSet(this._loader, load); - var sourcePromise = Promise.resolve(source); - var loader = this._loader; - var p = linkSet.done.then(function() { - return load.module.module; - }); - proceedToTranslate(loader, load, sourcePromise); - return p; - }, - // 26.3.3.12 - newModule: function (obj) { - if (typeof obj != 'object') - throw new TypeError('Expected object'); - - var m = new Module(); - - var pNames = []; - if (Object.getOwnPropertyNames && obj != null) - pNames = Object.getOwnPropertyNames(obj); - else - for (var key in obj) - pNames.push(key); - - for (var i = 0; i < pNames.length; i++) (function(key) { - defineProperty(m, key, { - configurable: false, - enumerable: true, - get: function () { - return obj[key]; - }, - set: function() { - throw new Error('Module exports cannot be changed externally.'); - } - }); - })(pNames[i]); - - if (Object.freeze) - Object.freeze(m); - - return m; - }, - // 26.3.3.14 - set: function(name, module) { - if (!(module instanceof Module)) - throw new TypeError('Loader.set(' + name + ', module) must be a module'); - this._loader.modules[name] = { - module: module - }; - }, - // 26.3.3.15 values not implemented - // 26.3.3.16 @@iterator not implemented - // 26.3.3.17 @@toStringTag not implemented - - // 26.3.3.18.1 - normalize: function(name, referrerName, referrerAddress) {}, - // 26.3.3.18.2 - locate: function(load) { - return load.name; - }, - // 26.3.3.18.3 - fetch: function(load) { - }, - // 26.3.3.18.4 - translate: function(load) { - return load.source; - }, - // 26.3.3.18.5 - instantiate: function(load) { - } - }; - - var _newModule = Loader.prototype.newModule; - -/* - * ES6 Module Declarative Linking Code - */ - function link(linkSet, linkError) { - - var loader = linkSet.loader; - - if (!linkSet.loads.length) - return; - - var loads = linkSet.loads.concat([]); - - for (var i = 0; i < loads.length; i++) { - var load = loads[i]; - - var module = doDynamicExecute(linkSet, load, linkError); - if (!module) - return; - load.module = { - name: load.name, - module: module - }; - load.status = 'linked'; - - finishLoad(loader, load); - } - } - -})(); - -var System; -// SystemJS Loader Class and Extension helpers -function SystemJSLoader() { - Loader.call(this); - - this.paths = {}; - this._loader.paths = {}; - - systemJSConstructor.call(this); -} - -// inline Object.create-style class extension -function SystemProto() {}; -SystemProto.prototype = Loader.prototype; -SystemJSLoader.prototype = new SystemProto(); -SystemJSLoader.prototype.constructor = SystemJSLoader; - -var systemJSConstructor; - -function hook(name, hook) { - SystemJSLoader.prototype[name] = hook(SystemJSLoader.prototype[name] || function() {}); -} -function hookConstructor(hook) { - systemJSConstructor = hook(systemJSConstructor || function() {}); -} - - -var absURLRegEx = /^[^\/]+:\/\//; -function isAbsolute(name) { - return name.match(absURLRegEx); -} -function isRel(name) { - return (name[0] == '.' && (!name[1] || name[1] == '/' || name[1] == '.')) || name[0] == '/'; -} -function isPlain(name) { - return !isRel(name) && !isAbsolute(name); -} - -var baseURIObj = new URL(baseURI); - -function urlResolve(name, parent) { - // url resolution shortpaths - if (name[0] == '.') { - // dot-relative url normalization - if (name[1] == '/' && name[2] != '.') - return (parent && parent.substr(0, parent.lastIndexOf('/') + 1) || baseURI) + name.substr(2); - } - else if (name[0] != '/' && name.indexOf(':') == -1) { - // plain parent normalization - return (parent && parent.substr(0, parent.lastIndexOf('/') + 1) || baseURI) + name; - } - - return new URL(name, parent && parent.replace(/#/g, '%05') || baseURIObj).href.replace(/%05/g, '#'); -} - -// NB no specification provided for System.paths, used ideas discussed in https://github.com/jorendorff/js-loaders/issues/25 -function applyPaths(loader, name) { - // most specific (most number of slashes in path) match wins - var pathMatch = '', wildcard, maxWildcardPrefixLen = 0; - - var paths = loader.paths; - var pathsCache = loader._loader.paths; - - // check to see if we have a paths entry - for (var p in paths) { - if (paths.hasOwnProperty && !paths.hasOwnProperty(p)) - continue; - - // paths sanitization - var path = paths[p]; - if (path !== pathsCache[p]) - path = paths[p] = pathsCache[p] = urlResolve(paths[p], isRel(paths[p]) ? baseURI : loader.baseURL); - - // exact path match - 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) : ''); - } - } - // wildcard path match - else { - var pathParts = p.split('*'); - if (pathParts.length > 2) - throw new TypeError('Only one wildcard in a path is permitted'); - - var wildcardPrefixLen = pathParts[0].length; - if (wildcardPrefixLen >= maxWildcardPrefixLen && - name.substr(0, pathParts[0].length) == pathParts[0] && - name.substr(name.length - pathParts[1].length) == pathParts[1]) { - maxWildcardPrefixLen = wildcardPrefixLen; - pathMatch = p; - wildcard = name.substr(pathParts[0].length, name.length - pathParts[1].length - pathParts[0].length); - } - } - } - - var outPath = paths[pathMatch]; - if (typeof wildcard == 'string') - outPath = outPath.replace('*', wildcard); - - return outPath; -} - -function dedupe(deps) { - var newDeps = []; - for (var i = 0, l = deps.length; i < l; i++) - if (indexOf.call(newDeps, deps[i]) == -1) - newDeps.push(deps[i]) - return newDeps; -} - -function group(deps) { - var names = []; - var indices = []; - for (var i = 0, l = deps.length; i < l; i++) { - var index = indexOf.call(names, deps[i]); - if (index === -1) { - names.push(deps[i]); - indices.push([i]); - } - else { - indices[index].push(i); - } - } - return { names: names, indices: indices }; -} - -var getOwnPropertyDescriptor = true; -try { - Object.getOwnPropertyDescriptor({ a: 0 }, 'a'); -} -catch(e) { - getOwnPropertyDescriptor = false; -} - -// converts any module.exports object into an object ready for SystemJS.newModule -function getESModule(exports) { - var esModule = {}; - // don't trigger getters/setters in environments that support them - if ((typeof exports == 'object' || typeof exports == 'function') && exports !== __global) { - if (getOwnPropertyDescriptor) { - for (var p in exports) { - // The default property is copied to esModule later on - if (p === 'default') - continue; - defineOrCopyProperty(esModule, exports, p); - } - } - else { - extend(esModule, exports); - } - } - esModule['default'] = exports; - defineProperty(esModule, '__useDefault', { - value: true - }); - return esModule; -} - -function defineOrCopyProperty(targetObj, sourceObj, propName) { - try { - var d; - if (d = Object.getOwnPropertyDescriptor(sourceObj, propName)) - defineProperty(targetObj, propName, d); - } - catch (ex) { - // Object.getOwnPropertyDescriptor threw an exception, fall back to normal set property - // we dont need hasOwnProperty here because getOwnPropertyDescriptor would have returned undefined above - targetObj[propName] = sourceObj[propName]; - return false; - } -} - -function extend(a, b, prepend) { - var hasOwnProperty = b && b.hasOwnProperty; - for (var p in b) { - if (hasOwnProperty && !b.hasOwnProperty(p)) - continue; - if (!prepend || !(p in a)) - a[p] = b[p]; - } - return a; -} - -// meta first-level extends where: -// array + array appends -// object + object extends -// other properties replace -function extendMeta(a, b, prepend) { - var hasOwnProperty = b && b.hasOwnProperty; - for (var p in b) { - if (hasOwnProperty && !b.hasOwnProperty(p)) - continue; - var val = b[p]; - if (!(p in a)) - a[p] = val; - else if (val instanceof Array && a[p] instanceof Array) - a[p] = [].concat(prepend ? val : a[p]).concat(prepend ? a[p] : val); - else if (typeof val == 'object' && val !== null && typeof a[p] == 'object') - a[p] = extend(extend({}, a[p]), val, prepend); - else if (!prepend) - a[p] = val; - } -} - -function extendPkgConfig(pkgCfgA, pkgCfgB, pkgName, loader, warnInvalidProperties) { - for (var prop in pkgCfgB) { - if (indexOf.call(['main', 'format', 'defaultExtension', 'basePath'], prop) != -1) { - pkgCfgA[prop] = pkgCfgB[prop]; - } - else if (prop == 'map') { - extend(pkgCfgA.map = pkgCfgA.map || {}, pkgCfgB.map); - } - else if (prop == 'meta') { - extend(pkgCfgA.meta = pkgCfgA.meta || {}, pkgCfgB.meta); - } - else if (prop == 'depCache') { - for (var d in pkgCfgB.depCache) { - var dNormalized; - - if (d.substr(0, 2) == './') - dNormalized = pkgName + '/' + d.substr(2); - else - dNormalized = coreResolve.call(loader, d); - loader.depCache[dNormalized] = (loader.depCache[dNormalized] || []).concat(pkgCfgB.depCache[d]); - } - } - 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); - } - } -} - -// deeply-merge (to first level) config with any existing package config -function setPkgConfig(loader, pkgName, cfg, prependConfig) { - var pkg; - - // first package is config by reference for fast path, cloned after that - if (!loader.packages[pkgName]) { - pkg = loader.packages[pkgName] = cfg; - } - else { - var basePkg = loader.packages[pkgName]; - pkg = loader.packages[pkgName] = {}; - - 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 || {}; - pkg.map['./@main'] = pkg.main; - pkg.main['default'] = pkg.main['default'] || './'; - pkg.main = '@main'; - } - - return pkg; -} - -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 -SystemJSLoader.prototype.normalize = function(name, parentName, parentAddress) { - // NB does `import 'file.js'` import relative to the parent name or baseURL? - // have assumed that it is baseURL-relative here, but spec may well align with URLs to be the latter - // safe option for users is to always use "./file.js" for relative - - // not absolute or relative -> apply paths (what will be sites) - if (!name.match(absURLRegEx) && name[0] != '.') - name = new URL(applyPaths(this, name) || name, baseURI).href; - // apply parent-relative normalization, parentAddress is already normalized - else - name = new URL(name, parentName || baseURI).href; - - return name; -}; - -// default locate is this -/* -SystemJSLoader.prototype.locate = function(load) { - return load.name; -}; -*//* - * Script tag fetch - * - * When load.metadata.scriptLoad is true, we load via script tag injection. - */ -(function() { - - if (typeof document != 'undefined') - var head = document.getElementsByTagName('head')[0]; - - var curSystem; - var curRequire; - - // if doing worker executing, this is set to the load record being executed - var workerLoad = null; - - // interactive mode handling method courtesy RequireJS - var ieEvents = head && (function() { - var s = document.createElement('script'); - var isOpera = typeof opera !== 'undefined' && opera.toString() === '[object Opera]'; - return s.attachEvent && !(s.attachEvent.toString && s.attachEvent.toString().indexOf('[native code') < 0) && !isOpera; - })(); - - // IE interactive-only part - // we store loading scripts array as { script: