diff options
author | Johan Preynat <johan.preynat@gmail.com> | 2016-04-29 14:35:28 +0200 |
---|---|---|
committer | Johan Preynat <johan.preynat@gmail.com> | 2016-04-29 14:38:12 +0200 |
commit | b8d7a00f58401d827ef06b76f4a9f189b89c7606 (patch) | |
tree | 71cdd1c16805141fd515d9e9c13b17083704063a /lib/plugins | |
parent | aca963befc74313c5015853b1d497c671f549eba (diff) | |
download | gitbook-b8d7a00f58401d827ef06b76f4a9f189b89c7606.zip gitbook-b8d7a00f58401d827ef06b76f4a9f189b89c7606.tar.gz gitbook-b8d7a00f58401d827ef06b76f4a9f189b89c7606.tar.bz2 |
Find installed gitbook-plugins in node_modules folder
Diffstat (limited to 'lib/plugins')
-rw-r--r-- | lib/plugins/findInstalled.js | 27 | ||||
-rw-r--r-- | lib/plugins/loadForBook.js | 2 |
2 files changed, 25 insertions, 4 deletions
diff --git a/lib/plugins/findInstalled.js b/lib/plugins/findInstalled.js index 5e13c79..2259230 100644 --- a/lib/plugins/findInstalled.js +++ b/lib/plugins/findInstalled.js @@ -1,7 +1,9 @@ var readInstalled = require('read-installed'); var Immutable = require('immutable'); +var path = require('path'); var Promise = require('../utils/promise'); +var fs = require('../utils/fs'); var Plugin = require('../models/plugin'); var PREFIX = require('../constants/pluginPrefix'); @@ -56,9 +58,28 @@ function findInstalled(folder) { }); } - return Promise.nfcall(readInstalled, folder, options) - .then(function(data) { - onPackage(data, true); + // Search for gitbook-plugins in node_modules folder + var node_modules = path.join(folder, 'node_modules'); + + // List all folders in node_modules + return fs.readdir(node_modules) + .then(function(modules) { + return Promise.serie(modules, function(module) { + // Not a gitbook-plugin + if (!validateId(module)) { + return Promise(); + } + + // Read gitbook-plugin package details + var module_folder = path.join(node_modules, module); + return Promise.nfcall(readInstalled, module_folder, options) + .then(function(data) { + onPackage(data, true); + }); + }); + }) + .then(function() { + // Return installed plugins return results; }); } diff --git a/lib/plugins/loadForBook.js b/lib/plugins/loadForBook.js index c1f19d0..c4acb5f 100644 --- a/lib/plugins/loadForBook.js +++ b/lib/plugins/loadForBook.js @@ -22,7 +22,7 @@ function loadForBook(book) { // (aka pre-installed plugins) installed = installed.filter(function(plugin) { return ( - plugin.getDepth() > 1 || + plugin.getDepth() > 0 || requirements.has(plugin.getName()) ); }); |