steal-es6-module-loader
Version:
An ES6 Module Loader shim
8 lines (7 loc) • 18.6 kB
JavaScript
/*
* steal-es6-module-loader v0.17.17
* https://github.com/ModuleLoader/es6-module-loader
* Copyright (c) 2017 Guy Bedford, Luke Hoban, Addy Osmani; Licensed MIT
*/
!function(__global){function __eval(__source,__global,__load){try{eval('(function() { var __moduleName = "'+(__load.name||"").replace('"','"')+'"; '+__source+" \n }).call(__global);")}catch(a){throw"SyntaxError"!=a.name&&"TypeError"!=a.name||(a.message="Evaluating "+(__load.name||load.address)+"\n\t"+a.message),a}}__global.$__Object$getPrototypeOf=Object.getPrototypeOf||function(a){return a.__proto__};var $__Object$defineProperty;!function(){try{Object.defineProperty({},"a",{})&&($__Object$defineProperty=Object.defineProperty)}catch(a){$__Object$defineProperty=function(a,b,c){try{a[b]=c.value||c.get.call(a)}catch(a){}}}}(),__global.$__Object$create=Object.create||function(a,b){function c(){}if(c.prototype=a,"object"==typeof b)for(prop in b)b.hasOwnProperty(prop)&&(c[prop]=b[prop]);return new c},function(){function a(a){return{status:"loading",name:a,linkSets:[],dependencies:[],metadata:{}}}function b(a,b,c){return new B(g({step:c.address?"fetch":"locate",loader:a,moduleName:b,moduleMetadata:c&&c.metadata||{},moduleSource:c.source,moduleAddress:c.address}))}function c(b,c,e,f){return new B(function(a,d){a(b.loaderObj.normalize(c,e,f))}).then(function(c){var e;if(b.modules[c])return e=a(c),e.status="linked",e.module=b.modules[c],e;for(var f=0,g=b.loads.length;f<g;f++)if(e=b.loads[f],e.name==c)return A.assert("loading"==e.status||"loaded"==e.status,"loading or loaded"),e;return e=a(c),b.loads.push(e),d(b,e),e})}function d(a,b){e(a,b,B.resolve().then(function(){return a.loaderObj.locate({name:b.name,metadata:b.metadata})}))}function e(a,b,c){f(a,b,c.then(function(c){if("loading"==b.status)return b.address=c,a.loaderObj.fetch({name:b.name,metadata:b.metadata,address:c})}))}function f(a,b,d){d.then(function(d){if("loading"==b.status)return B.resolve(a.loaderObj.translate({name:b.name,metadata:b.metadata,address:b.address,source:d})).then(function(c){if("loading"==b.status)return b.source=c,a.loaderObj.instantiate({name:b.name,metadata:b.metadata,address:b.address,source:c})}).then(function(c){if("loading"==b.status){if(void 0===c)return b.address=b.address||"<Anonymous Module "+ ++E+">",b.isDeclarative=!0,a.loaderObj.transpile(b).then(function(a){var c=__global.System,d=c.register;c.register=function(a,c,d){"string"!=typeof a&&(d=c,c=a),b.declare=d,b.depsList=c},__eval(a,__global,b),c.register=d});if("object"!=typeof c)throw TypeError("Invalid instantiate return value");b.depsList=c.deps||[],b.execute=c.execute,b.isDeclarative=!1}}).then(function(){if("loading"==b.status){b.dependencies=[];for(var d=b.depsList,e=[],f=0,g=d.length;f<g;f++)(function(d,f){e.push(c(a,d,b.name,b.address).then(function(a){if(b.dependencies[f]={key:d,value:a.name},"linked"!=a.status)for(var c=b.linkSets.concat([]),e=0,g=c.length;e<g;e++)i(c[e],a)}))})(d[f],f);return B.all(e)}}).then(function(){if("loading"==b.status){A.assert("loading"==b.status,"is loading"),b.status="loaded";for(var a=b.linkSets.concat([]),c=0,d=a.length;c<d;c++)k(a[c],b)}})}).catch(function(a){b.status="failed",b.exception=a;for(var c=b.linkSets.concat([]),d=0,e=c.length;d<e;d++)l(c[d],b,a);A.assert(0==b.linkSets.length,"linkSets not removed")})}function g(b){return function(c,g){var i=b.loader,j=b.moduleName,k=b.step,l=b.moduleMetadata.importingModuleName;if(i.modules[j])throw new TypeError('"'+j+'" already exists in the module table');for(var m,n,o=0,p=i.loads.length;o<p;o++)if(i.loads[o].name==j){if(m=i.loads[o],"translate"!=k||m.source||(m.address=b.moduleAddress,f(i,m,B.resolve(b.moduleSource))),n=m.linkSets[0],l&&n.loads[l])continue;return n.done.then(function(){c(m)})}var q;m?q=m:(q=a(j),q.metadata=b.moduleMetadata);var r=h(i,q);m||i.loads.push(q),c(r.done),"locate"==k?d(i,q):"fetch"==k?e(i,q,B.resolve(b.moduleAddress)):(A.assert("translate"==k,"translate step"),q.address=b.moduleAddress,f(i,q,B.resolve(b.moduleSource)))}}function h(a,b){var c={loader:a,loads:[],startingLoad:b,loadingCount:0};return c.done=new B(function(a,b){c.resolve=a,c.reject=b}),i(c,b),c}function i(a,b){A.assert("loading"==b.status||"loaded"==b.status,"loading or loaded on link set");for(var c=0,d=a.loads.length;c<d;c++)if(a.loads[c]==b)return;a.loads.push(b),a.loads[b.name]=!0,b.linkSets.push(a),"loaded"!=b.status&&a.loadingCount++;for(var e=a.loader,c=0,d=b.dependencies.length;c<d;c++){var f=b.dependencies[c].value;if(!e.modules[f])for(var g=0,h=e.loads.length;g<h;g++)if(e.loads[g].name==f){i(a,e.loads[g]);break}}}function j(a){var b=!1;try{p(a,function(c,d){l(a,c,d),b=!0})}catch(c){l(a,null,c),b=!0}return b}function k(a,b){if(A.assert("loaded"==b.status||"linked"==b.status,"loaded or linked"),a.loadingCount--,!(a.loadingCount>0)){var c=a.startingLoad;if(a.loader.loaderObj.execute===!1){for(var d=[].concat(a.loads),e=0,f=d.length;e<f;e++){var b=d[e];b.module=b.isDeclarative?{name:b.name,module:F({}),evaluated:!0}:{module:F({})},b.status="linked",m(a.loader,b)}return a.resolve(c)}var g=j(a);g||(A.assert(0==a.loads.length,"loads cleared"),a.resolve(c))}}function l(a,b,c){var d=a.loader;a.loads[0].name!=b.name&&(c=w(c,'Error loading "'+b.name+'" from "'+a.loads[0].name+'" at '+(a.loads[0].address||"<unknown>")+"\n")),c=w(c,'Error loading "'+b.name+'" at '+(b.address||"<unknown>")+"\n");for(var e=a.loads.concat([]),f=0,g=e.length;f<g;f++){var b=e[f];d.loaderObj.failed=d.loaderObj.failed||[],C.call(d.loaderObj.failed,b)==-1&&d.loaderObj.failed.push(b);var h=C.call(b.linkSets,a);if(A.assert(h!=-1,"link not present"),b.linkSets.splice(h,1),0==b.linkSets.length){var i=C.call(a.loader.loads,b);i!=-1&&a.loader.loads.splice(i,1)}}a.reject(c)}function m(a,b){if(a.loaderObj.trace){a.loaderObj.loads||(a.loaderObj.loads={});var c={};b.dependencies.forEach(function(a){c[a.key]=a.value}),a.loaderObj.loads[b.name]={name:b.name,deps:b.dependencies.map(function(a){return a.key}),depMap:c,address:b.address,metadata:b.metadata,source:b.source,kind:b.isDeclarative?"declarative":"dynamic"}}b.name&&(A.assert(!a.modules[b.name],"load not in module table"),a.modules[b.name]=b.module);var d=C.call(a.loads,b);d!=-1&&a.loads.splice(d,1);for(var e=0,f=b.linkSets.length;e<f;e++)d=C.call(b.linkSets[e].loads,b),d!=-1&&b.linkSets[e].loads.splice(d,1);b.linkSets.splice(0,b.linkSets.length)}function n(a,b,c){if(c[a.groupIndex]=c[a.groupIndex]||[],C.call(c[a.groupIndex],a)==-1){c[a.groupIndex].push(a);for(var d=0,e=b.length;d<e;d++)for(var f=b[d],g=0;g<a.dependencies.length;g++)if(f.name==a.dependencies[g].value){A.assert("loaded"==f.status,"Load in linkSet not loaded!");var h=a.groupIndex+(f.isDeclarative!=a.isDeclarative);if(void 0===f.groupIndex||f.groupIndex<h){if(void 0!==f.groupIndex&&(c[f.groupIndex].splice(C.call(c[f.groupIndex],f),1),0==c[f.groupIndex].length))throw new TypeError("Mixed dependency cycle detected");f.groupIndex=h}n(f,b,c)}}}function o(a,b,c){try{var d=b.execute()}catch(a){return void c(b,a)}return d&&d instanceof y?d:void c(b,new TypeError("Execution must define a Module instance"))}function p(a,b){var c=a.loader;if(a.loads.length){var d=[],e=a.loads[0];e.groupIndex=0,n(e,a.loads,d);for(var f=e.isDeclarative==d.length%2,g=d.length-1;g>=0;g--){for(var h=d[g],i=0;i<h.length;i++){var j=h[i];if(f)r(j,a.loads,c);else{var k=o(a,j,b);if(!k)return;j.module={name:j.name,module:k},j.status="linked"}m(c,j)}f=!f}}}function q(a,b){var c=b.moduleRecords;return c[a]||(c[a]={name:a,dependencies:[],module:new y,importers:[]})}function r(a,b,c){if(!a.module){var d=a.module=q(a.name,c),e=a.module.module,f=a.declare.call(__global,function(a,b){if(d.locked=!0,"object"==typeof a)for(var c in a)e[c]=a[c];else e[a]=b;for(var f=0,g=d.importers.length;f<g;f++){var h=d.importers[f];if(!h.locked){var i=C.call(h.dependencies,d);h.setters[i](e)}}return d.locked=!1,b});d.setters=f.setters,d.execute=f.execute;for(var g=0,h=a.dependencies.length;g<h;g++){var i=a.dependencies[g].value,j=c.modules[i];if(!j)for(var k=0;k<b.length;k++)b[k].name==i&&(b[k].module?j=q(i,c):(r(b[k],b,c),j=b[k].module));j.importers?(d.dependencies.push(j),j.importers.push(d)):d.dependencies.push(null),d.setters[g]&&d.setters[g](j.module)}a.status="linked"}}function s(a,b){return A.assert("linked"==b.status,"is linked "+b.name),u(b.module,[],a),b.module.module}function t(a){try{a.execute.call(__global)}catch(a){return a}}function u(a,b,c){var d=v(a,b,c);if(d)throw d}function v(a,b,c){if(!a.evaluated&&a.dependencies){b.push(a);for(var d,e=a.dependencies,f=0,g=e.length;f<g;f++){var h=e[f];if(h&&C.call(b,h)==-1&&(d=v(h,b,c)))return d=w(d,"Error evaluating "+h.name+"\n")}if(a.failed)return new Error("Module failed execution.");if(!a.evaluated)return a.evaluated=!0,d=t(a),d?a.failed=!0:Object.preventExtensions&&Object.preventExtensions(a.module),a.execute=void 0,d}}function w(a,b){return a instanceof Error?a.message=b+a.message:a=b+a,a}function x(a){if("object"!=typeof a)throw new TypeError("Options must be an object");a.normalize&&(this.normalize=a.normalize),a.locate&&(this.locate=a.locate),a.fetch&&(this.fetch=a.fetch),a.translate&&(this.translate=a.translate),a.instantiate&&(this.instantiate=a.instantiate),this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},D(this,"global",{get:function(){return __global}})}function y(){}function z(a,b,c){var d=a._loader.importPromises;return d[b]=c.then(function(a){return d[b]=void 0,a},function(a){throw d[b]=void 0,a})}var A,B=__global.Promise||require("when/es6-shim/Promise");__global.console?(A=__global.console,A.assert=A.assert||function(){}):A={assert:function(){}};var C=Array.prototype.indexOf||function(a){for(var b=0,c=this.length;b<c;b++)if(this[b]===a)return b;return-1},D=$__Object$defineProperty,E=0;x.prototype={constructor:x,define:function(a,b,c){if(this._loader.importPromises[a])throw new TypeError("Module is already loading.");return z(this,a,new B(g({step:"translate",loader:this._loader,moduleName:a,moduleMetadata:c&&c.metadata||{},moduleSource:b,moduleAddress:c&&c.address})))},delete:function(a){var b=this._loader;return delete b.importPromises[a],delete b.moduleRecords[a],!!b.modules[a]&&delete b.modules[a]},get:function(a){if(this._loader.modules[a])return u(this._loader.modules[a],[],this),this._loader.modules[a].module},has:function(a){return!!this._loader.modules[a]},import:function(a,c){var d=this;return B.resolve(d.normalize(a,c&&c.name,c&&c.address)).then(function(a){var e=d._loader;return e.modules[a]?(u(e.modules[a],[],e._loader),e.modules[a].module):e.importPromises[a]||z(d,a,b(e,a,c||{}).then(function(b){return delete e.importPromises[a],s(e,b)},function(b){return d.defined&&(d.defined[a]=void 0),B.reject(b)}))})},load:function(a,c){return this._loader.modules[a]?(u(this._loader.modules[a],[],this._loader),B.resolve(this._loader.modules[a].module)):this._loader.importPromises[a]||z(this,a,b(this._loader,a,{}))},module:function(b,c){var d=a();d.address=c&&c.address;var e=h(this._loader,d),g=B.resolve(b),i=this._loader,j=e.done.then(function(){return s(i,d)});return f(i,d,g),j},newModule:function(a){if("object"!=typeof a)throw new TypeError("Expected object");var b,c=new y;if(Object.getOwnPropertyNames&&null!=a)b=Object.getOwnPropertyNames(a);else{b=[];for(var d in a)b.push(d)}for(var e=0;e<b.length;e++)(function(b){D(c,b,{configurable:!1,enumerable:!0,get:function(){return a[b]}})})(b[e]);return Object.preventExtensions&&Object.preventExtensions(c),c},set:function(a,b){if(!(b instanceof y))throw new TypeError("Loader.set("+a+", module) must be a module");this._loader.modules[a]={module:b}},normalize:function(a,b,c){return a},locate:function(a){return a.name},fetch:function(a){throw new TypeError("Fetch not implemented")},translate:function(a){return a.source},instantiate:function(a){}};var F=x.prototype.newModule;"object"==typeof exports&&(module.exports=x),__global.Reflect=__global.Reflect||{},__global.Reflect.Loader=__global.Reflect.Loader||x,__global.Reflect.global=__global.Reflect.global||__global,__global.LoaderPolyfill=x}(),function(a){function b(a,b){return a.newModule({default:f[b],__useDefault:!0})}function c(a,b){var c=this.traceurOptions||{};c.modules="instantiate",c.script=!1,c.sourceMaps="inline",c.filename=a.address,c.inputSourceMap=a.metadata.sourceMap,c.moduleName=!1;var e=new b.Compiler(c),f=d(a.source,e,c.filename);return f+="!eval"}function d(a,b,c){try{return b.compile(a,c)}catch(a){throw a[0]}}function e(a,b){b=b.Babel||b.babel||b;var c=this.babelOptions||{};c.sourceMap="inline",c.filename=a.address,c.code=!0,c.ast=!1;var d=b.version?+b.version.split(".")[0]:6;d||(d=6),d>=6?(delete c.optional,delete c.whitelist,delete c.blacklist,c.presets||c.plugins||(c.presets=["es2015-no-commonjs","react","stage-0"],c.plugins=["transform-es2015-modules-systemjs"])):(c.modules="system",c.blacklist||(c.blacklist=["react"]));var e=b.transform(a.source,c).code;return e+"\n//# sourceURL="+a.address+"!eval"}var f=__global;a.prototype.transpiler="babel",a.prototype.transpile=function(a){var d=this;return d.transpilerHasRun||(f.traceur&&!d.has("traceur")&&d.set("traceur",b(d,"traceur")),f.babel&&!d.has("babel")&&d.set("babel",b(d,"babel")),d.transpilerHasRun=!0),d.import(d.transpiler).then(function(b){return b.__useDefault&&(b=b.default),'var __moduleAddress = "'+a.address+'";'+(b.Compiler?c:e).call(d,a,b)})},a.prototype.instantiate=function(a){var c=this;return Promise.resolve(c.normalize(c.transpiler)).then(function(d){if(a.name===d)return{deps:[],execute:function(){var d=f.System,e=f.Reflect.Loader;return __eval("(function(require,exports,module){"+a.source+"})();",f,a),f.System=d,f.Reflect.Loader=e,b(c,a.name)}}})}}(__global.LoaderPolyfill),function(){function a(a){var b=String(a).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@\/?#]*(?::[^:@\/?#]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return b?{href:b[0]||"",protocol:b[1]||"",authority:b[2]||"",host:b[3]||"",hostname:b[4]||"",port:b[5]||"",pathname:b[6]||"",search:b[7]||"",hash:b[8]||""}:null}function b(a){var b=[];return a.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(a){"/.."===a?b.pop():b.push(a)}),b.join("").replace(/^\//,"/"===a.charAt(0)?"/":"")}function c(c,d){return g&&(d=d.replace(/\\/g,"/")),d=a(d||""),c=a(c||""),d&&c?(d.protocol||c.protocol)+(d.protocol||d.authority?d.authority:c.authority)+b(d.protocol||d.authority||"/"===d.pathname.charAt(0)?d.pathname:d.pathname?(c.authority&&!c.pathname?"/":"")+c.pathname.slice(0,c.pathname.lastIndexOf("/")+1)+d.pathname:c.pathname)+(d.protocol||d.authority||d.pathname?d.search:d.search||c.search)+d.hash:null}var d,e="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,f="undefined"!=typeof window&&!e,g="undefined"!=typeof process&&!!process.platform.match(/^win/),h=__global.Promise||require("when/es6-shim/Promise");if("undefined"!=typeof XMLHttpRequest)d=function(a,b,c){function d(){b(f.responseText)}function e(){var b=f.statusText+": "+a||"XHR error",d=new Error(b);d.statusCode=f.status,c(d)}var f=new XMLHttpRequest,g=!0,h=!1;if(!("withCredentials"in f)){var i=/^(\w+:)?\/\/([^\/]+)/.exec(a);i&&(g=i[2]===window.location.host,i[1]&&(g&=i[1]===window.location.protocol))}g||"undefined"==typeof XDomainRequest||(f=new XDomainRequest,f.onload=d,f.onerror=e,f.ontimeout=e,f.onprogress=function(){},f.timeout=0,h=!0),f.onreadystatechange=function(){4===f.readyState&&(200===f.status||0==f.status&&f.responseText?d():e())},f.open("GET",a,!0),h&&setTimeout(function(){f.send()},0),f.send(null)};else if("undefined"!=typeof require){var i,j=/ENOENT/;d=function(a,b,c){if("file:"!=a.substr(0,5))throw"Only file URLs of the form file: allowed running in Node.";return i=i||require("fs"),a=a.substr(5),g&&(a=a.replace(/\//g,"\\")),i.readFile(a,function(a,d){return a?(j.test(a.message)&&(a.statusCode=404),c(a)):void b(d+"")})}}else{if("function"!=typeof fetch)throw new TypeError("No environment fetch API available.");d=function(a,b,c){fetch(a).then(function(a){return a.text()}).then(function(a){b(a)}).then(null,function(a){c(a)})}}var k=function(a){function b(b){if(a.call(this,b||{}),"undefined"!=typeof location&&location.href){var c=__global.location.href.split("#")[0].split("?")[0];this.baseURL=c.substring(0,c.lastIndexOf("/")+1)}else{if("undefined"==typeof process||!process.cwd)throw new TypeError("No environment baseURL");this.baseURL="file:"+process.cwd()+"/",g&&(this.baseURL=this.baseURL.replace(/\\/g,"/"))}this.paths={"*":"*.js"}}return b.__proto__=null!==a?a:Function.prototype,b.prototype=$__Object$create(null!==a?a.prototype:null),$__Object$defineProperty(b.prototype,"constructor",{value:b}),$__Object$defineProperty(b.prototype,"global",{get:function(){return f?window:e?self:__global},enumerable:!1}),$__Object$defineProperty(b.prototype,"strict",{get:function(){return!0},enumerable:!1}),$__Object$defineProperty(b.prototype,"normalize",{value:function(a,b,c){if("string"!=typeof a)throw new TypeError("Module name must be a string");var d=a.split("/");if(0==d.length)throw new TypeError("No module name provided");var e=0,f=!1,g=0;if("."==d[0]){if(e++,e==d.length)throw new TypeError('Illegal module name "'+a+'"');f=!0}else{for(;".."==d[e];)if(e++,e==d.length)throw new TypeError('Illegal module name "'+a+'"');e&&(f=!0),g=e}for(var h=e;h<d.length;h++){var i=d[h];if(""==i||"."==i||".."==i)throw new TypeError('Illegal module name "'+a+'"')}if(!f)return a;var j=[],k=(b||"").split("/");k.length-1-g;return j=j.concat(k.splice(0,k.length-1-g)),j=j.concat(d.splice(e,d.length-e)),j.join("/")},enumerable:!1,writable:!0}),$__Object$defineProperty(b.prototype,"locate",{value:function(a){var b,d=a.name,e="";for(var g in this.paths){var h=g.split("*");if(h.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==h.length){if(d==g&&g.length>e.length){e=g;break}}else d.substr(0,h[0].length)==h[0]&&d.substr(d.length-h[1].length)==h[1]&&(e=g,b=d.substr(h[0].length,d.length-h[1].length-h[0].length))}var i=this.paths[e];return b&&(i=i.replace("*",b)),f&&(i=i.replace(/#/g,"%23")),c(this.baseURL,i)},enumerable:!1,writable:!0}),$__Object$defineProperty(b.prototype,"fetch",{value:function(a){var b=this;return new h(function(e,f){d(c(b.baseURL,a.address),function(a){e(a)},f)})},enumerable:!1,writable:!0}),b}(__global.LoaderPolyfill),l=new k;"object"==typeof exports&&(module.exports=l),__global.System=l}()}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope?self:global);
//# sourceMappingURL=es6-module-loader-sans-promises.js.map