1
0
Fork 0

feat(core): Allow loading of plugin data

This commit is contained in:
Joost De Cock 2022-09-12 18:01:37 +02:00
parent a85342e6dc
commit aa1d76ee80
2 changed files with 7 additions and 12 deletions

View file

@ -454,7 +454,7 @@ Pattern.prototype.on = function (hook, method, data) {
} }
Pattern.prototype.__loadPlugins = function () { Pattern.prototype.__loadPlugins = function () {
for (const plugin of this.config.plugins) this.use(plugin) for (const plugin of this.config.plugins) this.use(plugin, plugin.data)
return this return this
} }

View file

@ -502,23 +502,18 @@ const addPartOptionalMeasurements = (part, config, store, list = false) => {
return config return config
} }
// Add part-level dependencies
//export const addPartDependencies = (part, config, store) => {
// if (part.after) {
// if (typeof config.dependencies === 'undefined') config.dependencies = {}
// config.dependencies[part.name] = mergeDependencies(config.dependencies[part.name], part.after)
// }
//
// return config
//}
// Add part-level plugins // Add part-level plugins
export const addPartPlugins = (part, config, store) => { export const addPartPlugins = (part, config, store) => {
const plugins = {} const plugins = {}
if (!part.plugins) return config if (!part.plugins) return config
for (const plugin of config.plugins) plugins[plugin.name] = plugin for (const plugin of config.plugins) plugins[plugin.name] = plugin
if (!Array.isArray(part.plugins)) part.plugins = [part.plugins] if (!Array.isArray(part.plugins)) part.plugins = [part.plugins]
for (const plugin of part.plugins) { for (let plugin of part.plugins) {
// Handle [plugin, data] scenario
if (Array.isArray(plugin)) {
const pluginObj = { ...plugin[0], data: plugin[1] }
plugin = pluginObj
}
store.log.debug(`Config resolver: Plugin __${plugin.name}__ in ${part.name}`) store.log.debug(`Config resolver: Plugin __${plugin.name}__ in ${part.name}`)
// Do not overwrite an existing plugin with a conditional plugin unless it is also conditional // Do not overwrite an existing plugin with a conditional plugin unless it is also conditional
if (plugin.plugin && plugin.condition) { if (plugin.plugin && plugin.condition) {