@netlify/config
Advanced tools
Comparing version 20.11.1 to 20.12.0
export { DEV_EVENTS, EVENTS } from './events.js'; | ||
export { cleanupConfig } from './log/cleanup.js'; | ||
export { resolveConfig } from './main.js'; | ||
export { mergeConfigs } from './merge.js'; | ||
export { applyMutations } from './mutations/apply.js'; | ||
export { restoreConfig, updateConfig } from './mutations/update.js'; |
export { DEV_EVENTS, EVENTS } from './events.js'; | ||
export { cleanupConfig } from './log/cleanup.js'; | ||
export { resolveConfig } from './main.js'; | ||
export { mergeConfigs } from './merge.js'; | ||
export { applyMutations } from './mutations/apply.js'; | ||
export { restoreConfig, updateConfig } from './mutations/update.js'; |
@@ -8,6 +8,7 @@ import deepmerge from 'deepmerge'; | ||
// Configuration objects are deeply merged. | ||
// - Arrays are overridden, not concatenated. | ||
export const mergeConfigs = function (configs) { | ||
// - By default, Arrays are overridden, not concatenated. This behavior can | ||
// be changed by setting the `concatenateArrays` property to `true`. | ||
export const mergeConfigs = function (configs, { concatenateArrays } = {}) { | ||
const cleanedConfigs = configs.map(removeUndefinedProps); | ||
return deepmerge.all(cleanedConfigs, { arrayMerge }); | ||
return deepmerge.all(cleanedConfigs, { arrayMerge: concatenateArrays ? arrayConcatenate : arrayMerge }); | ||
}; | ||
@@ -26,2 +27,7 @@ const removeUndefinedProps = function ({ build = {}, ...config }) { | ||
}; | ||
// Concatenate two arrays such that elements from array A come after elements | ||
// from array B. | ||
const arrayConcatenate = function (arrayA, arrayB) { | ||
return [...arrayB, ...arrayA]; | ||
}; | ||
// `deepmerge` does not allow retrieving the name of the array property being | ||
@@ -28,0 +34,0 @@ // merged, so we need to do some heuristics. |
{ | ||
"name": "@netlify/config", | ||
"version": "20.11.1", | ||
"version": "20.12.0", | ||
"description": "Netlify config module", | ||
@@ -97,3 +97,3 @@ "type": "module", | ||
}, | ||
"gitHead": "178e6b05e2befca86cbd0ecc73814f9006a129dc" | ||
"gitHead": "24f130e0d2e27091cd5998cb23f19718e3785824" | ||
} |
134366
2949