diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-09-05 11:04:18 +0200 |
commit | a14ca3e268e95a7eab59fb205b41da7331d57631 (patch) | |
tree | 9c84b2cbd561345335fca3e26af961b2ea23d8ec /lib/plugins/loadForBook.js | |
parent | 9c071dade573aa6990878006f83c89b6065a1395 (diff) | |
download | gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.zip gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.gz gitbook-a14ca3e268e95a7eab59fb205b41da7331d57631.tar.bz2 |
Switch to lerna
Diffstat (limited to 'lib/plugins/loadForBook.js')
-rw-r--r-- | lib/plugins/loadForBook.js | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/lib/plugins/loadForBook.js b/lib/plugins/loadForBook.js deleted file mode 100644 index 757677e..0000000 --- a/lib/plugins/loadForBook.js +++ /dev/null @@ -1,73 +0,0 @@ -var Immutable = require('immutable'); - -var Promise = require('../utils/promise'); -var listDepsForBook = require('./listDepsForBook'); -var findForBook = require('./findForBook'); -var loadPlugin = require('./loadPlugin'); - - -/** - * Load all plugins in a book - * - * @param {Book} - * @return {Promise<Map<String:Plugin>} - */ -function loadForBook(book) { - var logger = book.getLogger(); - - // List the dependencies - var requirements = listDepsForBook(book); - - // List all plugins installed in the book - return findForBook(book) - .then(function(installedMap) { - var missing = []; - var plugins = requirements.reduce(function(result, dep) { - var name = dep.getName(); - var installed = installedMap.get(name); - - if (installed) { - var deps = installedMap - .filter(function(plugin) { - return plugin.getParent() === name; - }) - .toArray(); - - result = result.concat(deps); - result.push(installed); - } else { - missing.push(name); - } - - return result; - }, []); - - // Convert plugins list to a map - plugins = Immutable.List(plugins) - .map(function(plugin) { - return [ - plugin.getName(), - plugin - ]; - }); - plugins = Immutable.OrderedMap(plugins); - - // Log state - logger.info.ln(installedMap.size + ' plugins are installed'); - if (requirements.size != installedMap.size) { - logger.info.ln(requirements.size + ' explicitly listed'); - } - - // Verify that all plugins are present - if (missing.length > 0) { - throw new Error('Couldn\'t locate plugins "' + missing.join(', ') + '", Run \'gitbook install\' to install plugins from registry.'); - } - - return Promise.map(plugins, function(plugin) { - return loadPlugin(book, plugin); - }); - }); -} - - -module.exports = loadForBook; |