honkit
Version:
HonKit is building beautiful books using Markdown.
34 lines (33 loc) • 1.16 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const defaultPlugins_1 = __importDefault(require("../constants/defaultPlugins"));
const sortDependencies_1 = __importDefault(require("./sortDependencies"));
/**
* List all dependencies for a book, including default plugins.
* It returns a concat with default plugins and remove disabled ones.
*
* @param {List<PluginDependency>} deps
* @return {List<PluginDependency>}
*/
function listDependencies(deps) {
// Extract list of plugins to disable (starting with -)
const toRemove = deps
.filter((plugin) => {
return !plugin.isEnabled();
})
.map((plugin) => {
return plugin.getName();
});
// Concat with default plugins
deps = deps.concat(defaultPlugins_1.default);
// Remove plugins
deps = deps.filterNot((plugin) => {
return toRemove.includes(plugin.getName());
});
// Sort
return (0, sortDependencies_1.default)(deps);
}
exports.default = listDependencies;