mirror of
https://github.com/systemjs/systemjs.git
synced 2026-01-18 14:53:14 +00:00
plugin and alias as package-relative
This commit is contained in:
parent
669fb2b257
commit
eff3f87c82
@ -51,6 +51,12 @@
|
||||
* import 'jquery' => import 'jquery/index.js'
|
||||
* import 'jquery/module' => import 'jquery/module.js'
|
||||
*
|
||||
* In addition, the following meta properties will be allowed to be package
|
||||
* -relative as well in the package meta config:
|
||||
*
|
||||
* - plugin
|
||||
* - alias
|
||||
*
|
||||
*/
|
||||
(function() {
|
||||
|
||||
@ -85,13 +91,6 @@
|
||||
};
|
||||
});
|
||||
|
||||
function extend(a, b) {
|
||||
a = a || {};
|
||||
for (var p in b)
|
||||
a[b] = b[p];
|
||||
return a;
|
||||
}
|
||||
|
||||
SystemJSLoader.prototype.packages = function(packages) {
|
||||
var loader = this;
|
||||
for (var p in packages) {
|
||||
@ -107,12 +106,26 @@
|
||||
loader.packageDefaultJSExtensions[p] = true;
|
||||
|
||||
// format
|
||||
if (pkgCfg.format)
|
||||
loader.meta[p + '/*'] = extend(loader.meta[p + '/*'], { format: pkgCfg.format });
|
||||
if (pkgCfg.format) {
|
||||
var formatMeta = loader.meta[p + '/*'] || {};
|
||||
formatMeta.format = pkgCfg.format;
|
||||
loader.meta[p + '/*'] = formatMeta;
|
||||
}
|
||||
|
||||
// meta
|
||||
for (var m in pkgCfg.meta)
|
||||
loader.meta[p + '/' + m] = extend(loader.meta[p + '/' + m], pkgCfg.meta[m]);
|
||||
for (var m in pkgCfg.meta) {
|
||||
var meta = loader.meta[p + '/' + m] || {};
|
||||
var pkgMeta = pkgCfg.meta[m];
|
||||
for (var p in pkgMeta) {
|
||||
// plugin and alias can be package-relative
|
||||
if ((p === 'plugin' || p === 'alias')
|
||||
&& pkgMeta[p].substr(0, 2) == './')
|
||||
meta[p] = p + pkgMeta[p].substr(1);
|
||||
else
|
||||
meta[p] = pkgMeta[p];
|
||||
}
|
||||
loader.meta[p + '/' + m] = meta;
|
||||
}
|
||||
|
||||
// map
|
||||
for (var m in pkgCfg.map) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user