Add api for building module loaders externally.

This commit is contained in:
Ritchie Martori 2013-04-19 14:10:59 -07:00
parent 3457d34afe
commit 64520fa67a
1 changed files with 22 additions and 2 deletions

View File

@ -2,7 +2,8 @@
* Module dependencies.
*/
var ModuleLoader = require('module-loader');
var ModuleLoader = require('module-loader')
, path = require('path');
/**
* Export the middleware.
@ -15,7 +16,7 @@ module.exports = configure;
*/
function configure(root) {
var moduleLoader = ModuleLoader.create(root || '.');
var moduleLoader = configure.createModuleLoader(root);
process.__asteroidCache = {};
@ -25,3 +26,22 @@ function configure(root) {
}
}
configure.createModuleLoader = function (root) {
var options = {
alias: BUNDLED_MODULE_ALIAS
};
return ModuleLoader.create(root || '.', options);
};
/**
* Turn asteroid bundled deps into aliases for the module loader
*/
var BUNDLED_MODULE_ALIAS = require('../../package.json')
.bundleDependencies
.reduce(function (prev, cur) {
prev[cur] = path.join('asteroid', 'node_modules', cur);
return prev;
}, {});