diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-06-10 22:08:16 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-06-10 22:08:16 +0200 |
commit | 1e3d871c1e288b58dc486053cc7fa0f274c4cf31 (patch) | |
tree | 5f221cb283e5f4591a3764112569ee62220e6da2 /lib/plugins/findInstalled.js | |
parent | 50a132cb2c0b0666b3b067e32d37e10bfb9e50da (diff) | |
parent | 94a4310c1e4b9ee71def9cbd9efd8a4c491f4444 (diff) | |
download | gitbook-1e3d871c1e288b58dc486053cc7fa0f274c4cf31.zip gitbook-1e3d871c1e288b58dc486053cc7fa0f274c4cf31.tar.gz gitbook-1e3d871c1e288b58dc486053cc7fa0f274c4cf31.tar.bz2 |
Merge branch 'fix/plugins_loading'
Diffstat (limited to 'lib/plugins/findInstalled.js')
-rw-r--r-- | lib/plugins/findInstalled.js | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/lib/plugins/findInstalled.js b/lib/plugins/findInstalled.js index dca3cbf..06cc6c4 100644 --- a/lib/plugins/findInstalled.js +++ b/lib/plugins/findInstalled.js @@ -8,21 +8,21 @@ var Plugin = require('../models/plugin'); var PREFIX = require('../constants/pluginPrefix'); /** - Validate if a package name is a GitBook plugin - - @return {Boolean} -*/ + * Validate if a package name is a GitBook plugin + * + * @return {Boolean} + */ function validateId(name) { return name && name.indexOf(PREFIX) === 0; } /** - List all packages installed inside a folder - - @param {String} folder - @return {OrderedMap<String:Plugin>} -*/ + * List all packages installed inside a folder + * + * @param {String} folder + * @return {OrderedMap<String:Plugin>} + */ function findInstalled(folder) { var options = { dev: false, @@ -31,7 +31,7 @@ function findInstalled(folder) { }; var results = Immutable.OrderedMap(); - function onPackage(pkg, isRoot) { + function onPackage(pkg, parent) { if (!pkg.name) return; var name = pkg.name; @@ -43,18 +43,19 @@ function findInstalled(folder) { var pluginName = name.slice(PREFIX.length); if (!validateId(name)){ - if (!isRoot) return; + if (parent) return; } else { results = results.set(pluginName, Plugin({ name: pluginName, version: version, path: pkgPath, - depth: depth + depth: depth, + parent: parent })); } Immutable.Map(dependencies).forEach(function(dep) { - onPackage(dep); + onPackage(dep, pluginName); }); } @@ -77,7 +78,7 @@ function findInstalled(folder) { var module_folder = path.join(node_modules, module); return Promise.nfcall(readInstalled, module_folder, options) .then(function(data) { - onPackage(data, true); + onPackage(data); }); }); }) |