diff options
Diffstat (limited to 'lib/modifiers/config')
-rw-r--r-- | lib/modifiers/config/addPlugin.js | 13 | ||||
-rw-r--r-- | lib/modifiers/config/removePlugin.js | 12 |
2 files changed, 14 insertions, 11 deletions
diff --git a/lib/modifiers/config/addPlugin.js b/lib/modifiers/config/addPlugin.js index 938b686..2a04a03 100644 --- a/lib/modifiers/config/addPlugin.js +++ b/lib/modifiers/config/addPlugin.js @@ -1,4 +1,4 @@ - +var PluginDependency = require('../../models/pluginDependency'); /** Add a plugin to a book's configuration @@ -9,10 +9,15 @@ */ function addPlugin(book, plugin, version) { var config = book.getConfig(); - var plugins = config.getValue('plugins', []); + var deps = config.getPluginDependencies(); + + var dep = PluginDependency({ + name: plugin, + version: version + }); - plugins = plugins.push('livereload'); - config = config.setValue('plugins', plugins); + deps = deps.push(dep); + config = config.setPluginDependencies(deps); return book.setConfig(config); } diff --git a/lib/modifiers/config/removePlugin.js b/lib/modifiers/config/removePlugin.js index 8c58f16..bc6bcc8 100644 --- a/lib/modifiers/config/removePlugin.js +++ b/lib/modifiers/config/removePlugin.js @@ -8,15 +8,13 @@ */ function removePlugin(book, pluginName) { var config = book.getConfig(); - var plugins = config.getValue('plugins', []); + var deps = config.getPluginDependencies(); - // Find index of this plugin - var index = plugins.findIndex(function(plugin) { - return plugin === pluginName; - }); - plugins = plugins.delete(index); - config = config.setValue('plugins', plugins); + deps = deps.filter(function(dep) { + return dep.getName() === pluginName; + }); + config = config.setPluginDependencies(deps); return book.setConfig(config); } |