Recursively merge objects
npm install concat-merge
Recursively merge objects, especially for webpack/rollup configs.
| name | immutable | concat | dedupe | clone | multiple parameters | recommended |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------- | ---------------- | ---------------- | ------------------- | ----------- |
| concat-merge
 | true | true | false | true | yes | yes |
| merge-deep
 | true | true | true | true | yes | yes |
| deepmerge
 | true | true | false | false (option) | no | |
| lodash/merge
 | false | false | false | true | yes | |
| lodash/mergeWith
 | false | false (option) | false (option) | true | yes | yes |
```
npm install concat-merge
`js
import concatMerge from 'concat-merge'
concatMerge(baseConfig, {
input: 'entry.js',
plugins: [inject({React: 'react'})],
})
`
lodash equivalent:
`js
import mergeWith from 'lodash/mergeWith'
const concatMerge = (...args) =>
mergeWith({}, ...args, (prev, next) => {
if (Array.isArray(prev)) {
return prev.concat(next)
}
})
``