Skip to content

Commit

Permalink
Move file
Browse files Browse the repository at this point in the history
  • Loading branch information
ehmicky committed Feb 13, 2022
1 parent 0229e4b commit 78185f6
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/config/load/main.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { mergeConfigs } from '../merge/main.js'
import { deepMerge } from '../merge.js'
import { CLI_FLAGS_BASE } from '../normalize/cwd.js'

import { getConfigsInfos } from './info.js'
Expand All @@ -21,7 +21,7 @@ export const loadConfig = async function (configOpt, configFlags) {
{ configContents: configFlags, base: CLI_FLAGS_BASE },
]
const configsB = configInfosA.map(getConfigContents)
const configB = mergeConfigs(configsB)
const configB = deepMerge(configsB)
// eslint-disable-next-line fp/no-mutating-methods
const configInfosB = [...configInfosA].reverse()
return { config: configB, configInfos: configInfosB }
Expand Down
8 changes: 5 additions & 3 deletions src/config/merge/main.js → src/config/merge.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import deepmerge from 'deepmerge'

// Merge two configuration objects. Used to merge:
// Deeply merge several objects.
// Used to merge:
// - shared `config`
// - `spyd.*` with CLI flags
// - top-level `config` with plugin-specific one
export const mergeConfigs = function (configs) {
return deepmerge.all(configs, { arrayMerge })
export const deepMerge = function (objects) {
return deepmerge.all(objects, { arrayMerge })
}

// Override arrays instead of concatenating
const arrayMerge = function (arrayA, arrayB) {
return arrayB
}
4 changes: 2 additions & 2 deletions src/config/plugin/lib/config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PluginError } from '../../../error/main.js'
import { mergeConfigs } from '../../merge/main.js'
import { deepMerge } from '../../merge.js'
import { getDummyDefinitions } from '../../normalize/dummy.js'
import { has } from '../../normalize/lib/prop_path/get.js'
import { normalizeConfig } from '../../normalize/main.js'
Expand Down Expand Up @@ -34,7 +34,7 @@ export const normalizePluginConfig = async function ({
pluginConfigDefinitions = [],
item,
}) {
const pluginConfig = mergeConfigs([sharedConfig, unmergedConfig])
const pluginConfig = deepMerge([sharedConfig, unmergedConfig])
const prefix = getPrefix.bind(undefined, unmergedConfig, propName)
const pluginConfigA = await normalizeSharedConfig({
pluginConfig,
Expand Down

0 comments on commit 78185f6

Please sign in to comment.