diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-06-06 22:04:13 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-06-06 22:04:13 +0200 |
commit | aa66a4f928122856370d6d8579b9fd3d15fcccad (patch) | |
tree | 59ff1b5f8a0ac7fff6ed33c14a9f2ce81022263a /lib/plugins | |
parent | 23010fa54a3360a035f91b5848916e294dea2e24 (diff) | |
download | gitbook-aa66a4f928122856370d6d8579b9fd3d15fcccad.zip gitbook-aa66a4f928122856370d6d8579b9fd3d15fcccad.tar.gz gitbook-aa66a4f928122856370d6d8579b9fd3d15fcccad.tar.bz2 |
Expose DEFAULT_PLUGINS as a list of PluginDependency
Diffstat (limited to 'lib/plugins')
-rw-r--r-- | lib/plugins/installPlugins.js | 10 | ||||
-rw-r--r-- | lib/plugins/listAll.js | 14 |
2 files changed, 9 insertions, 15 deletions
diff --git a/lib/plugins/installPlugins.js b/lib/plugins/installPlugins.js index a0365b3..307c41e 100644 --- a/lib/plugins/installPlugins.js +++ b/lib/plugins/installPlugins.js @@ -1,11 +1,9 @@ var npmi = require('npmi'); -var pkg = require('../../package.json'); var DEFAULT_PLUGINS = require('../constants/defaultPlugins'); var Promise = require('../utils/promise'); var installPlugin = require('./installPlugin'); - /** Install plugin requirements for a book @@ -20,13 +18,17 @@ function installPlugins(book) { // Remove default plugins // (only if version is same as installed) plugins = plugins.filterNot(function(plugin) { + var dependency = DEFAULT_PLUGINS.find(function(dep) { + return dep.getName() === plugin.getName(); + }); + return ( // Disabled plugin !plugin.isEnabled() || // Or default one installed in GitBook itself - (DEFAULT_PLUGINS.includes(plugin.getName()) && - plugin.getVersion() === pkg.dependencies[plugin.getNpmID()]) + (dependency && + plugin.getVersion() === dependency.getVersion()) ); }); diff --git a/lib/plugins/listAll.js b/lib/plugins/listAll.js index 9b2a96b..cbeb06b 100644 --- a/lib/plugins/listAll.js +++ b/lib/plugins/listAll.js @@ -1,7 +1,6 @@ var Immutable = require('immutable'); var Plugin = require('../models/plugin'); -var pkg = require('../../package.json'); var DEFAULT_PLUGINS = require('../constants/defaultPlugins'); /** @@ -20,6 +19,9 @@ function listAll(deps) { return plugin.getName(); }); + // Concat with default plugins + deps = DEFAULT_PLUGINS.concat(deps); + // Convert to an ordered map of Plugin var plugins = deps .map(function(dep) { @@ -29,16 +31,6 @@ function listAll(deps) { }); plugins = Immutable.OrderedMap(plugins); - // Append default plugins - DEFAULT_PLUGINS.forEach(function(pluginName) { - if (plugins.has(pluginName)) return; - - plugins = plugins.set(pluginName, new Plugin({ - name: pluginName, - version: pkg.dependencies[Plugin.nameToNpmID(pluginName)] - })); - }); - // Remove plugins plugins = plugins.filterNot(function(plugin, name) { return toRemove.includes(name); |