moduleLoader.js |
|
var fs = require("fs"),
path = require("path"),
extend = require("pd").extend,
ncore = require(".."),
after = require("after"),
iterateFiles = require("iterate-files")
var MODULE_LOADER_DEFAULTS = {
uri: path.join(process.cwd(), "modules"),
skip: /client/
},
isJsFile = /.js$/
module.exports = { |
|
Loads modules and adds them to the core @param {Object} options { Core: The core skip: RegExp to skip by uri: root uri to load } |
load: function (options, callback) {
options = extend({}, MODULE_LOADER_DEFAULTS, options)
var modulesFolder = options.uri
iterateFiles(modulesFolder, loadModule, callback, isJsFile)
function loadModule(fileName) {
if (options.skip && options.skip.test(fileName)) {
return
}
var module = require(fileName)
var name = path.relative(options.uri, fileName)
options.core.add(name, module)
}
}
}
|