mirror of
https://github.com/systemjs/systemjs.git
synced 2026-01-18 14:53:14 +00:00
0.18.2
This commit is contained in:
parent
4b6a3700d4
commit
4ad4490ccb
4
dist/system-csp-production.js
vendored
4
dist/system-csp-production.js
vendored
File diff suppressed because one or more lines are too long
2
dist/system-csp-production.js.map
vendored
2
dist/system-csp-production.js.map
vendored
File diff suppressed because one or more lines are too long
161
dist/system-csp-production.src.js
vendored
161
dist/system-csp-production.src.js
vendored
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SystemJS v0.18.1
|
||||
* SystemJS v0.18.2
|
||||
*/
|
||||
(function() {
|
||||
function bootstrap() {(function(__global) {
|
||||
@ -41,8 +41,15 @@ function bootstrap() {(function(__global) {
|
||||
var newErr;
|
||||
if (err instanceof Error) {
|
||||
var newErr = new Error(err.message, err.fileName, err.lineNumber);
|
||||
newErr.message = err.message + '\n\t' + msg;
|
||||
newErr.stack = err.stack;
|
||||
if (isBrowser) {
|
||||
newErr.message = err.message + '\n\t' + msg;
|
||||
newErr.stack = err.stack;
|
||||
}
|
||||
else {
|
||||
// node errors only look correct with the stack modified
|
||||
newErr.message = err.message;
|
||||
newErr.stack = err.stack + '\n\t' + msg;
|
||||
}
|
||||
}
|
||||
else {
|
||||
newErr = err + '\n\t' + msg;
|
||||
@ -86,7 +93,13 @@ function bootstrap() {(function(__global) {
|
||||
throw new TypeError('No environment baseURI');
|
||||
}
|
||||
|
||||
var URL = typeof __global.URL == 'function' && __global.URL || URLPolyfill;
|
||||
var URL = __global.URL;
|
||||
try {
|
||||
new URL('test:///').protocol == 'test:';
|
||||
}
|
||||
catch(e) {
|
||||
URL = URLPolyfill;
|
||||
}
|
||||
/*
|
||||
*********************************************************************************************
|
||||
|
||||
@ -892,6 +905,10 @@ function logloads(loads) {
|
||||
}
|
||||
|
||||
function doEnsureEvaluated() {}
|
||||
|
||||
function transpile() {
|
||||
throw new TypeError('ES6 transpilation is only provided in the dev module loader build.');
|
||||
}
|
||||
})();/*
|
||||
*********************************************************************************************
|
||||
|
||||
@ -1191,7 +1208,7 @@ SystemJSLoader.prototype.config = function(cfg) {
|
||||
var v = cfg[c];
|
||||
var normalizeProp = false, normalizeValArray = false;
|
||||
|
||||
if (c == 'baseURL' || c == 'map' || c == 'packages' || c == 'bundles')
|
||||
if (c == 'baseURL' || c == 'map' || c == 'packages' || c == 'bundles' || c == 'paths')
|
||||
continue;
|
||||
|
||||
if (typeof v != 'object' || v instanceof Array) {
|
||||
@ -2140,7 +2157,12 @@ hookConstructor(function(constructor) {
|
||||
return require.call(loader, names, callback, errback, module.id);
|
||||
}
|
||||
contextualRequire.toUrl = function(name) {
|
||||
return loader.normalizeSync(name, module.id);
|
||||
// normalize without defaultJSExtensions
|
||||
var defaultJSExtension = loader.defaultJSExtensions && name.substr(name.length - 3, 3) != '.js';
|
||||
var url = loader.normalizeSync(name, module.id);
|
||||
if (defaultJSExtension && url.substr(url.length - 3, 3) == '.js')
|
||||
url = url.substr(0, url.length - 3);
|
||||
return url;
|
||||
};
|
||||
depValues.splice(requireIndex, 0, contextualRequire);
|
||||
}
|
||||
@ -2338,9 +2360,13 @@ hook('normalize', function(normalize) {
|
||||
* './vendor/another.js': './another/index.js',
|
||||
* // test.js / test -> lib/test.js
|
||||
* './test.js': './lib/test.js',
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* },
|
||||
* env: {
|
||||
* 'browser': {
|
||||
* main: 'browser.js'
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* };
|
||||
*
|
||||
* Then:
|
||||
@ -2380,6 +2406,43 @@ hook('normalize', function(normalize) {
|
||||
}
|
||||
}
|
||||
|
||||
function getPackageConfig(loader, pkgName) {
|
||||
var pkgConfig = loader.packages[pkgName];
|
||||
|
||||
if (!pkgConfig.env)
|
||||
return Promise.resolve(pkgConfig);
|
||||
|
||||
// check environment conditions
|
||||
// default environment condition is '@env' in package or '@system-env' globally
|
||||
return loader['import'](pkgConfig.map['@env'] || '@system-env', pkgName)
|
||||
.then(function(env) {
|
||||
// derived config object
|
||||
var pkg = {};
|
||||
for (var p in pkgConfig)
|
||||
if (p !== 'map' & p !== 'env')
|
||||
pkg[p] = pkgConfig[p];
|
||||
|
||||
pkg.map = {};
|
||||
for (var p in pkgConfig.map)
|
||||
pkg.map[p] = pkgConfig.map[p];
|
||||
|
||||
for (var e in pkgConfig.env) {
|
||||
if (env[e]) {
|
||||
var envConfig = pkgConfig.env[e];
|
||||
if (envConfig.main)
|
||||
pkg.main = envConfig.main;
|
||||
for (var m in envConfig.map)
|
||||
pkg.map[m] = envConfig.map[m];
|
||||
}
|
||||
}
|
||||
|
||||
// store the derived environment config so we have this cached for next time
|
||||
loader.packages[pkgName] = pkg;
|
||||
|
||||
return pkg;
|
||||
});
|
||||
}
|
||||
|
||||
function applyMap(map, name) {
|
||||
var bestMatch, bestMatchLength = 0;
|
||||
|
||||
@ -2396,6 +2459,8 @@ hook('normalize', function(normalize) {
|
||||
return map[bestMatch] + name.substr(bestMatch.length);
|
||||
}
|
||||
|
||||
SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize;
|
||||
|
||||
hook('normalize', function(normalize) {
|
||||
return function(name, parentName) {
|
||||
// apply contextual package map first
|
||||
@ -2431,46 +2496,51 @@ hook('normalize', function(normalize) {
|
||||
var pkgName = getPackage.call(this, normalized);
|
||||
|
||||
if (pkgName) {
|
||||
var pkg = this.packages[pkgName];
|
||||
return getPackageConfig(this, pkgName)
|
||||
.then(function(pkg) {
|
||||
// main
|
||||
if (pkgName === normalized && pkg.main)
|
||||
normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main);
|
||||
|
||||
// main
|
||||
if (pkgName === normalized && pkg.main)
|
||||
normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main);
|
||||
if (normalized.substr(pkgName.length) == '/')
|
||||
return normalized;
|
||||
|
||||
// defaultExtension & defaultJSExtension
|
||||
// if we have meta for this package, don't do defaultExtensions
|
||||
var defaultExtension = '';
|
||||
if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) {
|
||||
// apply defaultExtension
|
||||
if (pkg.defaultExtension) {
|
||||
if (normalized.split('/').pop().indexOf('.') == -1)
|
||||
defaultExtension = '.' + pkg.defaultExtension;
|
||||
// defaultExtension & defaultJSExtension
|
||||
// if we have meta for this package, don't do defaultExtensions
|
||||
var defaultExtension = '';
|
||||
if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) {
|
||||
// apply defaultExtension
|
||||
if (pkg.defaultExtension) {
|
||||
if (normalized.split('/').pop().indexOf('.') == -1)
|
||||
defaultExtension = '.' + pkg.defaultExtension;
|
||||
}
|
||||
// apply defaultJSExtensions if defaultExtension not set
|
||||
else if (defaultJSExtension) {
|
||||
defaultExtension = '.js';
|
||||
}
|
||||
}
|
||||
// apply defaultJSExtensions if defaultExtension not set
|
||||
else if (defaultJSExtension) {
|
||||
defaultExtension = '.js';
|
||||
}
|
||||
}
|
||||
|
||||
// apply submap checking without then with defaultExtension
|
||||
var subPath = '.' + normalized.substr(pkgName.length);
|
||||
var mapped = applyMap(pkg.map, subPath) || defaultExtension && applyMap(pkg.map, subPath + defaultExtension);
|
||||
if (mapped)
|
||||
normalized = mapped.substr(0, 2) == './' ? pkgName + mapped.substr(1) : mapped;
|
||||
else
|
||||
normalized += defaultExtension;
|
||||
// apply submap checking without then with defaultExtension
|
||||
var subPath = '.' + normalized.substr(pkgName.length);
|
||||
var mapped = applyMap(pkg.map, subPath) || defaultExtension && applyMap(pkg.map, subPath + defaultExtension);
|
||||
if (mapped)
|
||||
normalized = mapped.substr(0, 2) == './' ? pkgName + mapped.substr(1) : mapped;
|
||||
else
|
||||
normalized += defaultExtension;
|
||||
|
||||
|
||||
return normalized;
|
||||
});
|
||||
}
|
||||
|
||||
// add back defaultJSExtension if not a package
|
||||
else if (defaultJSExtension) {
|
||||
if (defaultJSExtension)
|
||||
normalized += '.js';
|
||||
}
|
||||
|
||||
return normalized;
|
||||
};
|
||||
});
|
||||
|
||||
SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize;
|
||||
|
||||
hook('locate', function(locate) {
|
||||
return function(load) {
|
||||
var loader = this;
|
||||
@ -2558,7 +2628,7 @@ hook('normalize', function(normalize) {
|
||||
argumentName = loader.normalizeSync(argumentName, parentName);
|
||||
pluginName = loader.normalizeSync(pluginName, parentName);
|
||||
|
||||
if (defaultExtension)
|
||||
if (defaultExtension && argumentName.substr(argumentName.length - 3, 3) == '.js')
|
||||
argumentName = argumentName.substr(0, argumentName.length - 3);
|
||||
|
||||
return argumentName + '!' + pluginName;
|
||||
@ -2570,7 +2640,7 @@ hook('normalize', function(normalize) {
|
||||
])
|
||||
.then(function(normalized) {
|
||||
argumentName = normalized[0];
|
||||
if (defaultExtension)
|
||||
if (defaultExtension && argumentName.substr(argumentName.length - 3, 3) == '.js')
|
||||
argumentName = argumentName.substr(0, argumentName.length - 3);
|
||||
return argumentName + '!' + normalized[1];
|
||||
});
|
||||
@ -3021,6 +3091,17 @@ hook('normalize', function(normalize) {
|
||||
|
||||
var conditionalRegEx = /#\{[^\}]+\}|#\?.+$/;
|
||||
|
||||
hookConstructor(function(constructor) {
|
||||
return function() {
|
||||
constructor.call(this);
|
||||
|
||||
// standard environment module, starting small as backwards-compat matters!
|
||||
this.set('@system-env', this.newModule({
|
||||
browser: isBrowser
|
||||
}));
|
||||
};
|
||||
});
|
||||
|
||||
hook('normalize', function(normalize) {
|
||||
return function(name, parentName, parentAddress) {
|
||||
var loader = this;
|
||||
@ -3096,7 +3177,7 @@ System.constructor = SystemJSLoader; // -- exporting --
|
||||
|
||||
// auto-load Promise and URL polyfills if needed in the browser
|
||||
try {
|
||||
var hasURL = typeof URLPolyfill != 'undefined' || typeof URL != 'undefined' && new URL('test:///').protocol == 'test:';
|
||||
var hasURL = typeof URLPolyfill != 'undefined' || new URL('test:///').protocol == 'test:';
|
||||
}
|
||||
catch(e) {}
|
||||
|
||||
|
||||
4
dist/system-register-only.js
vendored
4
dist/system-register-only.js
vendored
File diff suppressed because one or more lines are too long
2
dist/system-register-only.js.map
vendored
2
dist/system-register-only.js.map
vendored
File diff suppressed because one or more lines are too long
25
dist/system-register-only.src.js
vendored
25
dist/system-register-only.src.js
vendored
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SystemJS v0.18.1
|
||||
* SystemJS v0.18.2
|
||||
*/
|
||||
(function(__global) {
|
||||
|
||||
@ -40,8 +40,15 @@
|
||||
var newErr;
|
||||
if (err instanceof Error) {
|
||||
var newErr = new Error(err.message, err.fileName, err.lineNumber);
|
||||
newErr.message = err.message + '\n\t' + msg;
|
||||
newErr.stack = err.stack;
|
||||
if (isBrowser) {
|
||||
newErr.message = err.message + '\n\t' + msg;
|
||||
newErr.stack = err.stack;
|
||||
}
|
||||
else {
|
||||
// node errors only look correct with the stack modified
|
||||
newErr.message = err.message;
|
||||
newErr.stack = err.stack + '\n\t' + msg;
|
||||
}
|
||||
}
|
||||
else {
|
||||
newErr = err + '\n\t' + msg;
|
||||
@ -85,7 +92,13 @@
|
||||
throw new TypeError('No environment baseURI');
|
||||
}
|
||||
|
||||
var URL = typeof __global.URL == 'function' && __global.URL || URLPolyfill;
|
||||
var URL = __global.URL;
|
||||
try {
|
||||
new URL('test:///').protocol == 'test:';
|
||||
}
|
||||
catch(e) {
|
||||
URL = URLPolyfill;
|
||||
}
|
||||
/*
|
||||
*********************************************************************************************
|
||||
|
||||
@ -891,6 +904,10 @@ function logloads(loads) {
|
||||
}
|
||||
|
||||
function doEnsureEvaluated() {}
|
||||
|
||||
function transpile() {
|
||||
throw new TypeError('ES6 transpilation is only provided in the dev module loader build.');
|
||||
}
|
||||
})();/*
|
||||
*********************************************************************************************
|
||||
|
||||
|
||||
6
dist/system.js
vendored
6
dist/system.js
vendored
File diff suppressed because one or more lines are too long
2
dist/system.js.map
vendored
2
dist/system.js.map
vendored
File diff suppressed because one or more lines are too long
192
dist/system.src.js
vendored
192
dist/system.src.js
vendored
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SystemJS v0.18.1
|
||||
* SystemJS v0.18.2
|
||||
*/
|
||||
(function() {
|
||||
function bootstrap() {(function(__global) {
|
||||
@ -41,8 +41,15 @@ function bootstrap() {(function(__global) {
|
||||
var newErr;
|
||||
if (err instanceof Error) {
|
||||
var newErr = new Error(err.message, err.fileName, err.lineNumber);
|
||||
newErr.message = err.message + '\n\t' + msg;
|
||||
newErr.stack = err.stack;
|
||||
if (isBrowser) {
|
||||
newErr.message = err.message + '\n\t' + msg;
|
||||
newErr.stack = err.stack;
|
||||
}
|
||||
else {
|
||||
// node errors only look correct with the stack modified
|
||||
newErr.message = err.message;
|
||||
newErr.stack = err.stack + '\n\t' + msg;
|
||||
}
|
||||
}
|
||||
else {
|
||||
newErr = err + '\n\t' + msg;
|
||||
@ -86,7 +93,13 @@ function bootstrap() {(function(__global) {
|
||||
throw new TypeError('No environment baseURI');
|
||||
}
|
||||
|
||||
var URL = typeof __global.URL == 'function' && __global.URL || URLPolyfill;
|
||||
var URL = __global.URL;
|
||||
try {
|
||||
new URL('test:///').protocol == 'test:';
|
||||
}
|
||||
catch(e) {
|
||||
URL = URLPolyfill;
|
||||
}
|
||||
/*
|
||||
*********************************************************************************************
|
||||
|
||||
@ -892,6 +905,10 @@ function logloads(loads) {
|
||||
}
|
||||
|
||||
function doEnsureEvaluated() {}
|
||||
|
||||
function transpile() {
|
||||
throw new TypeError('ES6 transpilation is only provided in the dev module loader build.');
|
||||
}
|
||||
})();/*
|
||||
*********************************************************************************************
|
||||
|
||||
@ -1150,8 +1167,23 @@ var __exec;
|
||||
'\n//# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(load.metadata.sourceMap))) || '')
|
||||
}
|
||||
|
||||
// Web Worker and Chrome Extensions use original ESML eval
|
||||
// this may lead to some global module execution differences (eg var not defining onto global)
|
||||
if (isWorker || isBrowser && window.chrome && window.chrome.extension) {
|
||||
__exec = function(load) {
|
||||
try {
|
||||
preExec(this);
|
||||
new Function(getSource(load)).call(__global);
|
||||
postExec();
|
||||
}
|
||||
catch(e) {
|
||||
throw addToError(e, 'Evaluating ' + load.address);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// use script injection eval to get identical global script behaviour
|
||||
if (typeof document != 'undefined') {
|
||||
else if (typeof document != 'undefined') {
|
||||
var head;
|
||||
|
||||
var scripts = document.getElementsByTagName('script');
|
||||
@ -1177,20 +1209,6 @@ var __exec;
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
// Web Worker uses original ESML eval
|
||||
// this may lead to some global module execution differences (eg var not defining onto global)
|
||||
else if (isWorker) {
|
||||
__exec = function(load) {
|
||||
try {
|
||||
preExec(this);
|
||||
new Function(getSource(load)).call(__global);
|
||||
postExec();
|
||||
}
|
||||
catch(e) {
|
||||
throw addToError(e, 'Evaluating ' + load.address);
|
||||
}
|
||||
};
|
||||
}
|
||||
else {
|
||||
// global scoped eval for node
|
||||
var vmModule = 'vm';
|
||||
@ -1445,7 +1463,7 @@ SystemJSLoader.prototype.config = function(cfg) {
|
||||
var v = cfg[c];
|
||||
var normalizeProp = false, normalizeValArray = false;
|
||||
|
||||
if (c == 'baseURL' || c == 'map' || c == 'packages' || c == 'bundles')
|
||||
if (c == 'baseURL' || c == 'map' || c == 'packages' || c == 'bundles' || c == 'paths')
|
||||
continue;
|
||||
|
||||
if (typeof v != 'object' || v instanceof Array) {
|
||||
@ -2643,7 +2661,12 @@ hookConstructor(function(constructor) {
|
||||
return require.call(loader, names, callback, errback, module.id);
|
||||
}
|
||||
contextualRequire.toUrl = function(name) {
|
||||
return loader.normalizeSync(name, module.id);
|
||||
// normalize without defaultJSExtensions
|
||||
var defaultJSExtension = loader.defaultJSExtensions && name.substr(name.length - 3, 3) != '.js';
|
||||
var url = loader.normalizeSync(name, module.id);
|
||||
if (defaultJSExtension && url.substr(url.length - 3, 3) == '.js')
|
||||
url = url.substr(0, url.length - 3);
|
||||
return url;
|
||||
};
|
||||
depValues.splice(requireIndex, 0, contextualRequire);
|
||||
}
|
||||
@ -2918,9 +2941,13 @@ hook('normalize', function(normalize) {
|
||||
* './vendor/another.js': './another/index.js',
|
||||
* // test.js / test -> lib/test.js
|
||||
* './test.js': './lib/test.js',
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* },
|
||||
* env: {
|
||||
* 'browser': {
|
||||
* main: 'browser.js'
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* };
|
||||
*
|
||||
* Then:
|
||||
@ -2960,6 +2987,43 @@ hook('normalize', function(normalize) {
|
||||
}
|
||||
}
|
||||
|
||||
function getPackageConfig(loader, pkgName) {
|
||||
var pkgConfig = loader.packages[pkgName];
|
||||
|
||||
if (!pkgConfig.env)
|
||||
return Promise.resolve(pkgConfig);
|
||||
|
||||
// check environment conditions
|
||||
// default environment condition is '@env' in package or '@system-env' globally
|
||||
return loader['import'](pkgConfig.map['@env'] || '@system-env', pkgName)
|
||||
.then(function(env) {
|
||||
// derived config object
|
||||
var pkg = {};
|
||||
for (var p in pkgConfig)
|
||||
if (p !== 'map' & p !== 'env')
|
||||
pkg[p] = pkgConfig[p];
|
||||
|
||||
pkg.map = {};
|
||||
for (var p in pkgConfig.map)
|
||||
pkg.map[p] = pkgConfig.map[p];
|
||||
|
||||
for (var e in pkgConfig.env) {
|
||||
if (env[e]) {
|
||||
var envConfig = pkgConfig.env[e];
|
||||
if (envConfig.main)
|
||||
pkg.main = envConfig.main;
|
||||
for (var m in envConfig.map)
|
||||
pkg.map[m] = envConfig.map[m];
|
||||
}
|
||||
}
|
||||
|
||||
// store the derived environment config so we have this cached for next time
|
||||
loader.packages[pkgName] = pkg;
|
||||
|
||||
return pkg;
|
||||
});
|
||||
}
|
||||
|
||||
function applyMap(map, name) {
|
||||
var bestMatch, bestMatchLength = 0;
|
||||
|
||||
@ -2976,6 +3040,8 @@ hook('normalize', function(normalize) {
|
||||
return map[bestMatch] + name.substr(bestMatch.length);
|
||||
}
|
||||
|
||||
SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize;
|
||||
|
||||
hook('normalize', function(normalize) {
|
||||
return function(name, parentName) {
|
||||
// apply contextual package map first
|
||||
@ -3011,46 +3077,51 @@ hook('normalize', function(normalize) {
|
||||
var pkgName = getPackage.call(this, normalized);
|
||||
|
||||
if (pkgName) {
|
||||
var pkg = this.packages[pkgName];
|
||||
return getPackageConfig(this, pkgName)
|
||||
.then(function(pkg) {
|
||||
// main
|
||||
if (pkgName === normalized && pkg.main)
|
||||
normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main);
|
||||
|
||||
// main
|
||||
if (pkgName === normalized && pkg.main)
|
||||
normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main);
|
||||
if (normalized.substr(pkgName.length) == '/')
|
||||
return normalized;
|
||||
|
||||
// defaultExtension & defaultJSExtension
|
||||
// if we have meta for this package, don't do defaultExtensions
|
||||
var defaultExtension = '';
|
||||
if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) {
|
||||
// apply defaultExtension
|
||||
if (pkg.defaultExtension) {
|
||||
if (normalized.split('/').pop().indexOf('.') == -1)
|
||||
defaultExtension = '.' + pkg.defaultExtension;
|
||||
// defaultExtension & defaultJSExtension
|
||||
// if we have meta for this package, don't do defaultExtensions
|
||||
var defaultExtension = '';
|
||||
if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) {
|
||||
// apply defaultExtension
|
||||
if (pkg.defaultExtension) {
|
||||
if (normalized.split('/').pop().indexOf('.') == -1)
|
||||
defaultExtension = '.' + pkg.defaultExtension;
|
||||
}
|
||||
// apply defaultJSExtensions if defaultExtension not set
|
||||
else if (defaultJSExtension) {
|
||||
defaultExtension = '.js';
|
||||
}
|
||||
}
|
||||
// apply defaultJSExtensions if defaultExtension not set
|
||||
else if (defaultJSExtension) {
|
||||
defaultExtension = '.js';
|
||||
}
|
||||
}
|
||||
|
||||
// apply submap checking without then with defaultExtension
|
||||
var subPath = '.' + normalized.substr(pkgName.length);
|
||||
var mapped = applyMap(pkg.map, subPath) || defaultExtension && applyMap(pkg.map, subPath + defaultExtension);
|
||||
if (mapped)
|
||||
normalized = mapped.substr(0, 2) == './' ? pkgName + mapped.substr(1) : mapped;
|
||||
else
|
||||
normalized += defaultExtension;
|
||||
// apply submap checking without then with defaultExtension
|
||||
var subPath = '.' + normalized.substr(pkgName.length);
|
||||
var mapped = applyMap(pkg.map, subPath) || defaultExtension && applyMap(pkg.map, subPath + defaultExtension);
|
||||
if (mapped)
|
||||
normalized = mapped.substr(0, 2) == './' ? pkgName + mapped.substr(1) : mapped;
|
||||
else
|
||||
normalized += defaultExtension;
|
||||
|
||||
|
||||
return normalized;
|
||||
});
|
||||
}
|
||||
|
||||
// add back defaultJSExtension if not a package
|
||||
else if (defaultJSExtension) {
|
||||
if (defaultJSExtension)
|
||||
normalized += '.js';
|
||||
}
|
||||
|
||||
return normalized;
|
||||
};
|
||||
});
|
||||
|
||||
SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize;
|
||||
|
||||
hook('locate', function(locate) {
|
||||
return function(load) {
|
||||
var loader = this;
|
||||
@ -3138,7 +3209,7 @@ hook('normalize', function(normalize) {
|
||||
argumentName = loader.normalizeSync(argumentName, parentName);
|
||||
pluginName = loader.normalizeSync(pluginName, parentName);
|
||||
|
||||
if (defaultExtension)
|
||||
if (defaultExtension && argumentName.substr(argumentName.length - 3, 3) == '.js')
|
||||
argumentName = argumentName.substr(0, argumentName.length - 3);
|
||||
|
||||
return argumentName + '!' + pluginName;
|
||||
@ -3150,7 +3221,7 @@ hook('normalize', function(normalize) {
|
||||
])
|
||||
.then(function(normalized) {
|
||||
argumentName = normalized[0];
|
||||
if (defaultExtension)
|
||||
if (defaultExtension && argumentName.substr(argumentName.length - 3, 3) == '.js')
|
||||
argumentName = argumentName.substr(0, argumentName.length - 3);
|
||||
return argumentName + '!' + normalized[1];
|
||||
});
|
||||
@ -3601,6 +3672,17 @@ hook('normalize', function(normalize) {
|
||||
|
||||
var conditionalRegEx = /#\{[^\}]+\}|#\?.+$/;
|
||||
|
||||
hookConstructor(function(constructor) {
|
||||
return function() {
|
||||
constructor.call(this);
|
||||
|
||||
// standard environment module, starting small as backwards-compat matters!
|
||||
this.set('@system-env', this.newModule({
|
||||
browser: isBrowser
|
||||
}));
|
||||
};
|
||||
});
|
||||
|
||||
hook('normalize', function(normalize) {
|
||||
return function(name, parentName, parentAddress) {
|
||||
var loader = this;
|
||||
@ -3676,7 +3758,7 @@ System.constructor = SystemJSLoader; // -- exporting --
|
||||
|
||||
// auto-load Promise and URL polyfills if needed in the browser
|
||||
try {
|
||||
var hasURL = typeof URLPolyfill != 'undefined' || typeof URL != 'undefined' && new URL('test:///').protocol == 'test:';
|
||||
var hasURL = typeof URLPolyfill != 'undefined' || new URL('test:///').protocol == 'test:';
|
||||
}
|
||||
catch(e) {}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "systemjs",
|
||||
"version": "0.18.1",
|
||||
"version": "0.18.2",
|
||||
"description": "System loader extension for flexible AMD & CommonJS support",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -9,7 +9,7 @@
|
||||
"author": "Guy Bedford",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"es6-module-loader": "^0.17.1",
|
||||
"es6-module-loader": "^0.17.2",
|
||||
"when": "^3.7.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user