"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const pluginDependency_1 = __importDefault(require("../../models/pluginDependency")); const togglePlugin_1 = __importDefault(require("./togglePlugin")); const isDefaultPlugin_1 = __importDefault(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 ((0, isDefaultPlugin_1.default)(pluginName, version)) { return (0, togglePlugin_1.default)(config, pluginName, true); } let deps = config.getPluginDependencies(); const dep = pluginDependency_1.default.create(pluginName, version); deps = deps.push(dep); return config.setPluginDependencies(deps); } exports.default = addPlugin;