Allowing object to be passed as module list

fixes #4576 again
v1.18.x
Julian Lam 9 years ago
parent 1d7a5f58e2
commit 2c83789482

@ -171,13 +171,18 @@ module.exports = function(Plugins) {
};
function mapClientModules(pluginData, callback) {
if (!pluginData.hasOwnProperty('modules')) {
return callback();
}
var modules = {};
if (Array.isArray(pluginData.modules)) {
if (global.env === 'development') {
winston.verbose('[plugins] Found ' + pluginData.modules.length + ' AMD-style module(s) for plugin ' + pluginData.id);
}
var modules = {},
strip = pluginData.hasOwnProperty('modulesStrip') ? parseInt(pluginData.modulesStrip, 10) : 0;
var strip = pluginData.hasOwnProperty('modulesStrip') ? parseInt(pluginData.modulesStrip, 10) : 0;
pluginData.modules.forEach(function(file) {
if (strip) {
@ -188,7 +193,19 @@ module.exports = function(Plugins) {
});
meta.js.scripts.modules = _.extend(meta.js.scripts.modules, modules);
} /* one could conceivably add an else..if here for plugins to pass modules in as an Object */
} else {
var keys = Object.keys(pluginData.modules);
if (global.env === 'development') {
winston.verbose('[plugins] Found ' + keys.length + ' AMD-style module(s) for plugin ' + pluginData.id);
}
for (var name in pluginData.modules) {
modules[name] = path.join('./node_modules/', pluginData.id, pluginData.modules[name]);
}
meta.js.scripts.modules = _.extend(meta.js.scripts.modules, modules);
}
callback();
};

Loading…
Cancel
Save