UNPKG

1.15 kBJavaScriptView Raw
1class Plugin {
2 onHandlePlugins(ev) {
3 const option = ev.data.option || {};
4 const plugins = [
5 {name: 'esdoc-lint-plugin', option: option.lint},
6 {name: 'esdoc-coverage-plugin', option: option.coverage},
7 {name: 'esdoc-accessor-plugin', option: option.accessor},
8 {name: 'esdoc-type-inference-plugin', option: option.typeInference},
9 {name: 'esdoc-external-ecmascript-plugin'},
10 {name: 'esdoc-brand-plugin', option: option.brand},
11 {name: 'esdoc-undocumented-identifier-plugin', option: option.undocumentIdentifier},
12 {name: 'esdoc-unexported-identifier-plugin', option: option.unexportedIdentifier},
13 {name: 'esdoc-integrate-manual-plugin', option: option.manual},
14 {name: 'esdoc-integrate-test-plugin', option: option.test},
15 {name: 'esdoc-publish-html-plugin'}
16 ];
17
18 const existPluginNames = ev.data.plugins.map(plugin => plugin.name);
19 for (const plugin of plugins) {
20 if (existPluginNames.includes(plugin.name)) continue;
21 if (plugin.option === undefined) delete plugin.option;
22 ev.data.plugins.push(plugin);
23 }
24 }
25}
26
27module.exports = new Plugin();