summaryrefslogtreecommitdiffstats
path: root/lib/plugins
diff options
context:
space:
mode:
authorJohan Preynat <johan.preynat@gmail.com>2016-04-29 14:35:28 +0200
committerJohan Preynat <johan.preynat@gmail.com>2016-04-29 14:38:12 +0200
commitb8d7a00f58401d827ef06b76f4a9f189b89c7606 (patch)
tree71cdd1c16805141fd515d9e9c13b17083704063a /lib/plugins
parentaca963befc74313c5015853b1d497c671f549eba (diff)
downloadgitbook-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.js27
-rw-r--r--lib/plugins/loadForBook.js2
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())
);
});