summaryrefslogtreecommitdiffstats
path: root/lib/modifiers/config
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-12-22 10:18:38 +0100
committerGitHub <noreply@github.com>2016-12-22 10:18:38 +0100
commit194ebc3da9641ff96f083f9d8ab43c2d27944f9a (patch)
treec50988f32ccf18df93ae7ab40be78e9459642818 /lib/modifiers/config
parent64ccb6b00b4b63fa0e516d4e35351275b34f8c07 (diff)
parent16af264360e48e8a833e9efa9ab8d194574dbc70 (diff)
downloadgitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.zip
gitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.tar.gz
gitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.tar.bz2
Merge pull request #1543 from GitbookIO/dream
React for rendering website with plugins
Diffstat (limited to 'lib/modifiers/config')
-rw-r--r--lib/modifiers/config/__tests__/addPlugin.js32
-rw-r--r--lib/modifiers/config/__tests__/removePlugin.js33
-rw-r--r--lib/modifiers/config/__tests__/togglePlugin.js28
-rw-r--r--lib/modifiers/config/addPlugin.js25
-rw-r--r--lib/modifiers/config/editPlugin.js13
-rw-r--r--lib/modifiers/config/getPluginConfig.js20
-rw-r--r--lib/modifiers/config/hasPlugin.js15
-rw-r--r--lib/modifiers/config/index.js10
-rw-r--r--lib/modifiers/config/isDefaultPlugin.js14
-rw-r--r--lib/modifiers/config/removePlugin.js25
-rw-r--r--lib/modifiers/config/togglePlugin.js31
11 files changed, 0 insertions, 246 deletions
diff --git a/lib/modifiers/config/__tests__/addPlugin.js b/lib/modifiers/config/__tests__/addPlugin.js
deleted file mode 100644
index 61082c9..0000000
--- a/lib/modifiers/config/__tests__/addPlugin.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var addPlugin = require('../addPlugin');
-var Config = require('../../../models/config');
-
-describe('addPlugin', function() {
- var config = Config.createWithValues({
- plugins: ['hello', 'world', '-disabled']
- });
-
- it('should have correct state of dependencies', function() {
- var disabledDep = config.getPluginDependency('disabled');
-
- expect(disabledDep).toBeDefined();
- expect(disabledDep.getVersion()).toEqual('*');
- expect(disabledDep.isEnabled()).toBeFalsy();
- });
-
- it('should add the plugin to the list', function() {
- var newConfig = addPlugin(config, 'test');
-
- var testDep = newConfig.getPluginDependency('test');
- expect(testDep).toBeDefined();
- expect(testDep.getVersion()).toEqual('*');
- expect(testDep.isEnabled()).toBeTruthy();
-
- var disabledDep = newConfig.getPluginDependency('disabled');
- expect(disabledDep).toBeDefined();
- expect(disabledDep.getVersion()).toEqual('*');
- expect(disabledDep.isEnabled()).toBeFalsy();
- });
-});
-
-
diff --git a/lib/modifiers/config/__tests__/removePlugin.js b/lib/modifiers/config/__tests__/removePlugin.js
deleted file mode 100644
index 253cc39..0000000
--- a/lib/modifiers/config/__tests__/removePlugin.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var removePlugin = require('../removePlugin');
-var Config = require('../../../models/config');
-
-describe('removePlugin', function() {
- var config = Config.createWithValues({
- plugins: ['hello', 'world', '-disabled']
- });
-
- it('should remove the plugin from the list', function() {
- var newConfig = removePlugin(config, 'hello');
-
- var testDep = newConfig.getPluginDependency('hello');
- expect(testDep).toNotBeDefined();
- });
-
- it('should remove the disabled plugin from the list', function() {
- var newConfig = removePlugin(config, 'disabled');
-
- var testDep = newConfig.getPluginDependency('disabled');
- expect(testDep).toNotBeDefined();
- });
-
- it('should disable default plugin', function() {
- var newConfig = removePlugin(config, 'search');
-
- var disabledDep = newConfig.getPluginDependency('search');
- expect(disabledDep).toBeDefined();
- expect(disabledDep.getVersion()).toEqual('*');
- expect(disabledDep.isEnabled()).toBeFalsy();
- });
-});
-
-
diff --git a/lib/modifiers/config/__tests__/togglePlugin.js b/lib/modifiers/config/__tests__/togglePlugin.js
deleted file mode 100644
index 4127853..0000000
--- a/lib/modifiers/config/__tests__/togglePlugin.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var togglePlugin = require('../togglePlugin');
-var Config = require('../../../models/config');
-
-describe('togglePlugin', function() {
- var config = Config.createWithValues({
- plugins: ['hello', 'world', '-disabled']
- });
-
- it('should enable plugin', function() {
- var newConfig = togglePlugin(config, 'disabled');
-
- var testDep = newConfig.getPluginDependency('disabled');
- expect(testDep).toBeDefined();
- expect(testDep.getVersion()).toEqual('*');
- expect(testDep.isEnabled()).toBeTruthy();
- });
-
- it('should disable plugin', function() {
- var newConfig = togglePlugin(config, 'world');
-
- var testDep = newConfig.getPluginDependency('world');
- expect(testDep).toBeDefined();
- expect(testDep.getVersion()).toEqual('*');
- expect(testDep.isEnabled()).toBeFalsy();
- });
-});
-
-
diff --git a/lib/modifiers/config/addPlugin.js b/lib/modifiers/config/addPlugin.js
deleted file mode 100644
index b8d4ea1..0000000
--- a/lib/modifiers/config/addPlugin.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var PluginDependency = require('../../models/pluginDependency');
-var togglePlugin = require('./togglePlugin');
-var isDefaultPlugin = require('./isDefaultPlugin');
-
-/**
- * Add a plugin to a book's configuration
- * @param {Config} config
- * @param {String} pluginName
- * @param {String} version (optional)
- * @return {Config}
- */
-function addPlugin(config, pluginName, version) {
- // For default plugin, we only ensure it is enabled
- if (isDefaultPlugin(pluginName, version)) {
- return togglePlugin(config, pluginName, true);
- }
-
- var deps = config.getPluginDependencies();
- var dep = PluginDependency.create(pluginName, version);
-
- deps = deps.push(dep);
- return config.setPluginDependencies(deps);
-}
-
-module.exports = addPlugin;
diff --git a/lib/modifiers/config/editPlugin.js b/lib/modifiers/config/editPlugin.js
deleted file mode 100644
index a792acd..0000000
--- a/lib/modifiers/config/editPlugin.js
+++ /dev/null
@@ -1,13 +0,0 @@
-
-/**
- * Edit configuration of a plugin
- * @param {Config} config
- * @param {String} plugin
- * @param {Object} pluginConfig
- * @return {Config}
- */
-function editPlugin(config, pluginName, pluginConfig) {
- return config.setValue('pluginsConfig.'+pluginName, pluginConfig);
-}
-
-module.exports = editPlugin;
diff --git a/lib/modifiers/config/getPluginConfig.js b/lib/modifiers/config/getPluginConfig.js
deleted file mode 100644
index ae76de8..0000000
--- a/lib/modifiers/config/getPluginConfig.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Return the configuration for a plugin
- * @param {Config} config
- * @param {String} pluginName
- * @return {Object}
- */
-function getPluginConfig(config, pluginName) {
- var pluginsConfig = config.getValues().get('pluginsConfig');
- if (pluginsConfig === undefined) {
- return {};
- }
- var pluginConf = pluginsConfig.get(pluginName);
- if (pluginConf === undefined) {
- return {};
- } else {
- return pluginConf.toJS();
- }
-}
-
-module.exports = getPluginConfig;
diff --git a/lib/modifiers/config/hasPlugin.js b/lib/modifiers/config/hasPlugin.js
deleted file mode 100644
index 9aab4f2..0000000
--- a/lib/modifiers/config/hasPlugin.js
+++ /dev/null
@@ -1,15 +0,0 @@
-
-/**
- * Test if a plugin is listed
- * @param { {List<PluginDependency}} deps
- * @param {String} plugin
- * @param {String} version
- * @return {Boolean}
- */
-function hasPlugin(deps, pluginName, version) {
- return !!deps.find(function(dep) {
- return dep.getName() === pluginName && (!version || dep.getVersion() === version);
- });
-}
-
-module.exports = hasPlugin;
diff --git a/lib/modifiers/config/index.js b/lib/modifiers/config/index.js
deleted file mode 100644
index b3de0b0..0000000
--- a/lib/modifiers/config/index.js
+++ /dev/null
@@ -1,10 +0,0 @@
-
-module.exports = {
- addPlugin: require('./addPlugin'),
- removePlugin: require('./removePlugin'),
- togglePlugin: require('./togglePlugin'),
- editPlugin: require('./editPlugin'),
- hasPlugin: require('./hasPlugin'),
- getPluginConfig: require('./getPluginConfig'),
- isDefaultPlugin: require('./isDefaultPlugin')
-};
diff --git a/lib/modifiers/config/isDefaultPlugin.js b/lib/modifiers/config/isDefaultPlugin.js
deleted file mode 100644
index 63a141d..0000000
--- a/lib/modifiers/config/isDefaultPlugin.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var DEFAULT_PLUGINS = require('../../constants/defaultPlugins');
-var hasPlugin = require('./hasPlugin');
-
-/**
- * Test if a plugin is a default one
- * @param {String} plugin
- * @param {String} version
- * @return {Boolean}
- */
-function isDefaultPlugin(pluginName, version) {
- return hasPlugin(DEFAULT_PLUGINS, pluginName, version);
-}
-
-module.exports = isDefaultPlugin;
diff --git a/lib/modifiers/config/removePlugin.js b/lib/modifiers/config/removePlugin.js
deleted file mode 100644
index ec06d1e..0000000
--- a/lib/modifiers/config/removePlugin.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var togglePlugin = require('./togglePlugin');
-var isDefaultPlugin = require('./isDefaultPlugin');
-
-/**
- * Remove a plugin from a book's configuration
- * @param {Config} config
- * @param {String} plugin
- * @return {Config}
- */
-function removePlugin(config, pluginName) {
- var deps = config.getPluginDependencies();
-
- // For default plugin, we have to disable it instead of removing from the list
- if (isDefaultPlugin(pluginName)) {
- return togglePlugin(config, pluginName, false);
- }
-
- // Remove the dependency from the list
- deps = deps.filterNot(function(dep) {
- return dep.getName() === pluginName;
- });
- return config.setPluginDependencies(deps);
-}
-
-module.exports = removePlugin;
diff --git a/lib/modifiers/config/togglePlugin.js b/lib/modifiers/config/togglePlugin.js
deleted file mode 100644
index a49e3b9..0000000
--- a/lib/modifiers/config/togglePlugin.js
+++ /dev/null
@@ -1,31 +0,0 @@
-var PluginDependency = require('../../models/pluginDependency');
-var hasPlugin = require('./hasPlugin');
-var isDefaultPlugin = require('./isDefaultPlugin');
-
-/**
- * Enable/disable a plugin dependency
- * @param {Config} config
- * @param {String} pluginName
- * @param {Boolean} state (optional)
- * @return {Config}
- */
-function togglePlugin(config, pluginName, state) {
- var deps = config.getPluginDependencies();
-
- // For default plugin, we should ensure it's listed first
- if (isDefaultPlugin(pluginName) && !hasPlugin(deps, pluginName)) {
- deps = deps.push(PluginDependency.create(pluginName));
- }
-
- deps = deps.map(function(dep) {
- if (dep.getName() === pluginName) {
- return dep.toggle(state);
- }
-
- return dep;
- });
-
- return config.setPluginDependencies(deps);
-}
-
-module.exports = togglePlugin;