@curvenote/cli
Version:
CLI Client library for Curvenote
22 lines (21 loc) • 930 B
JavaScript
import cliPlugins from '@curvenote/cli-plugin';
import extPerson from '@curvenote/ext-person';
import extTemplate from '@curvenote/ext-template';
import extBlog from '@curvenote/ext-blog';
import extFooter from '@curvenote/ext-footer';
import extScienceicons from '@scienceicons/myst';
export function combinePlugins(plugins) {
return plugins.slice(1).reduce((base, next) => ({
directives: [...(base.directives ?? []), ...(next.directives ?? [])],
roles: [...(base.roles ?? []), ...(next.roles ?? [])],
transforms: [...(base.transforms ?? []), ...(next.transforms ?? [])],
checks: [...(base.checks ?? []), ...(next.checks ?? [])],
paths: [
...(base.paths ?? []),
...(next.paths ?? []),
],
}), plugins[0]);
}
export function getBuiltInPlugins() {
return combinePlugins([cliPlugins, extPerson, extTemplate, extBlog, extScienceicons, extFooter]);
}