38 lines
998 B
JavaScript
38 lines
998 B
JavaScript
|
/*
|
||
|
* Alias Extension
|
||
|
*
|
||
|
* Allows a module to be a plain copy of another module by module name
|
||
|
*
|
||
|
* SystemJS.meta['mybootstrapalias'] = { alias: 'bootstrap' };
|
||
|
*
|
||
|
*/
|
||
|
(function() {
|
||
|
// aliases
|
||
|
hook('fetch', function(fetch) {
|
||
|
return function(load) {
|
||
|
var alias = load.metadata.alias;
|
||
|
var aliasDeps = load.metadata.deps || [];
|
||
|
if (alias) {
|
||
|
load.metadata.format = 'defined';
|
||
|
var entry = createEntry();
|
||
|
this.defined[load.name] = entry;
|
||
|
entry.declarative = true;
|
||
|
entry.deps = aliasDeps.concat([alias]);
|
||
|
entry.declare = function(_export) {
|
||
|
return {
|
||
|
setters: [function(module) {
|
||
|
for (var p in module)
|
||
|
_export(p, module[p]);
|
||
|
if (module.__useDefault)
|
||
|
entry.module.exports.__useDefault = true;
|
||
|
}],
|
||
|
execute: function() {}
|
||
|
};
|
||
|
};
|
||
|
return '';
|
||
|
}
|
||
|
|
||
|
return fetch.call(this, load);
|
||
|
};
|
||
|
});
|
||
|
})();
|