Skip to content

Commit

Permalink
Refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
ehmicky committed Feb 20, 2022
1 parent 7767ea1 commit 924a21b
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 44 deletions.
62 changes: 20 additions & 42 deletions src/config/plugin/lib/each.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,65 +7,43 @@ import { normalizeShape } from './shape.js'

// Handle each individual `pluginConfig`
export const addPlugin = async function (
{ builtins, pluginProp, shape, item },
pluginConfig,
{
pluginConfig: { [pluginProp]: id, ...pluginConfig },
pluginType: { builtins, pluginProp, shape, item },
sharedPropNames,
sharedConfig,
context,
cwd,
},
) {
const { [pluginProp]: id, moduleId, parents, ...pluginConfigA } = pluginConfig

try {
return await getPlugin({
pluginConfig,
id,
builtins,
shape,
item,
sharedPropNames,
const { plugin, path } = await importPlugin(id, parents, builtins)
const { config: pluginConfigDefinitions, ...pluginA } =
await normalizeShape({
plugin,
shape,
sharedPropNames,
context,
moduleId,
})
const pluginConfigB = await normalizePluginConfig({
parents,
sharedConfig,
pluginConfig: pluginConfigA,
plugin: pluginA,
context,
cwd,
pluginConfigDefinitions,
item,
})
return { plugin: pluginA, path, config: pluginConfigB }
} catch (error) {
throw handlePluginError(error, id)
}
}

const getPlugin = async function ({
pluginConfig: { moduleId, parents, ...pluginConfig },
id,
builtins,
shape,
item,
sharedPropNames,
sharedConfig,
context,
cwd,
}) {
const { plugin, path } = await importPlugin(id, parents, builtins)

const { config: pluginConfigDefinitions, ...pluginA } = await normalizeShape({
plugin,
shape,
sharedPropNames,
context,
moduleId,
})
const pluginConfigA = await normalizePluginConfig({
parents,
sharedConfig,
pluginConfig,
plugin: pluginA,
context,
cwd,
pluginConfigDefinitions,
item,
})
return { plugin: pluginA, path, config: pluginConfigA }
}

const handlePluginError = function (error, id) {
return error instanceof PluginError
? wrapError(error, `Invalid plugin "${id}":`)
Expand Down
4 changes: 2 additions & 2 deletions src/config/plugin/lib/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ export const addPlugins = async function (
})
const plugins = await Promise.all(
pluginConfigsA.map((pluginConfig) =>
addPlugin(pluginTypeA, {
pluginConfig,
addPlugin(pluginConfig, {
pluginType: pluginTypeA,
sharedPropNames,
sharedConfig: sharedConfigA,
context,
Expand Down

0 comments on commit 924a21b

Please sign in to comment.