diff options
Diffstat (limited to 'lib/plugins')
-rw-r--r-- | lib/plugins/index.js | 17 | ||||
-rw-r--r-- | lib/plugins/plugin.js | 1 |
2 files changed, 17 insertions, 1 deletions
diff --git a/lib/plugins/index.js b/lib/plugins/index.js index 00ee7d1..ed3aa0a 100644 --- a/lib/plugins/index.js +++ b/lib/plugins/index.js @@ -1,6 +1,8 @@ var _ = require('lodash'); +var path = require('path'); var Promise = require('../utils/promise'); +var fs = require('../utils/fs'); var BookPlugin = require('./plugin'); var registry = require('./registry'); @@ -109,4 +111,19 @@ PluginsManager.prototype.resources = function(namespace) { }; +// Copy all resources for a plugin +PluginsManager.prototype.copyResources = function(namespace, outputRoot) { + return Promise.serie(this.plugins, function(plugin) { + return plugin.getResources(namespace) + .then(function(resources) { + if (!resources.assets) return; + + var input = path.resolve(plugin.root, resources.assets); + var output = path.resolve(outputRoot, plugin.npmId); + + return fs.copyDir(input, output); + }); + }); +}; + module.exports = PluginsManager; diff --git a/lib/plugins/plugin.js b/lib/plugins/plugin.js index 0d69cd9..094c82d 100644 --- a/lib/plugins/plugin.js +++ b/lib/plugins/plugin.js @@ -237,7 +237,6 @@ BookPlugin.prototype.getResources = function(base) { return this._getResources(base) .then(function(resources) { - _.each(RESOURCES, function(resourceType) { resources[resourceType] = _.map(resources[resourceType] || [], that.normalizeResource); }); |