feat(plugins): supports predefined configurations (#365)

See vatesfr/xo-web#1289
This commit is contained in:
ABHAMON Ronan 2016-07-19 17:28:53 +02:00 committed by Julien Fontanet
parent 83d68ca293
commit 728c5aa86e
2 changed files with 7 additions and 1 deletions

View File

@ -224,7 +224,8 @@ async function registerPlugin (pluginPath, pluginName) {
// Supports both “normal” CommonJS and Babel's ES2015 modules.
const {
default: factory = plugin,
configurationSchema
configurationSchema,
configurationPresets
} = plugin
// The default export can be either a factory or directly a plugin
@ -237,6 +238,7 @@ async function registerPlugin (pluginPath, pluginName) {
pluginName,
instance,
configurationSchema,
configurationPresets,
version
)
}

View File

@ -50,11 +50,13 @@ export default class {
name,
instance,
configurationSchema,
configurationPresets,
version
) {
const id = name
const plugin = this._plugins[id] = {
configured: !configurationSchema,
configurationPresets,
configurationSchema,
id,
instance,
@ -101,6 +103,7 @@ export default class {
async _getPlugin (id) {
const {
configurationPresets,
configurationSchema,
loaded,
name,
@ -120,6 +123,7 @@ export default class {
unloadable,
version,
configuration,
configurationPresets,
configurationSchema
}
}