diff options
Diffstat (limited to 'lib/alias.js')
-rw-r--r-- | lib/alias.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/alias.js b/lib/alias.js new file mode 100644 index 000000000..1d37220b5 --- /dev/null +++ b/lib/alias.js @@ -0,0 +1,38 @@ +/* + * 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); + }; + }); +})();
\ No newline at end of file |