summaryrefslogtreecommitdiffstats
path: root/lib/plugins
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-06-06 22:04:13 +0200
committerSamy Pesse <samypesse@gmail.com>2016-06-06 22:04:13 +0200
commitaa66a4f928122856370d6d8579b9fd3d15fcccad (patch)
tree59ff1b5f8a0ac7fff6ed33c14a9f2ce81022263a /lib/plugins
parent23010fa54a3360a035f91b5848916e294dea2e24 (diff)
downloadgitbook-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.js10
-rw-r--r--lib/plugins/listAll.js14
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);