diff --git a/packages/core/src/pattern.mjs b/packages/core/src/pattern.mjs index 29e98920012..9322d644ce3 100644 --- a/packages/core/src/pattern.mjs +++ b/packages/core/src/pattern.mjs @@ -454,7 +454,7 @@ Pattern.prototype.on = function (hook, method, data) { } 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 } diff --git a/packages/core/src/utils.mjs b/packages/core/src/utils.mjs index 81c42741e83..7a9aed989e6 100644 --- a/packages/core/src/utils.mjs +++ b/packages/core/src/utils.mjs @@ -502,23 +502,18 @@ const addPartOptionalMeasurements = (part, config, store, list = false) => { 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 export const addPartPlugins = (part, config, store) => { const plugins = {} if (!part.plugins) return config for (const plugin of config.plugins) plugins[plugin.name] = plugin 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}`) // Do not overwrite an existing plugin with a conditional plugin unless it is also conditional if (plugin.plugin && plugin.condition) {