1.1.0 • Published 1 month ago

concat-merge v1.1.0

Weekly downloads
423
License
MIT
Repository
-
Last release
1 month ago

concat-merge

test workflow

Recursively merge objects, especially for webpack/rollup configs.

Comparison

nameimmutableconcatdedupeclonemultiple parametersrecommended
concat-merge concat-mergetruetruefalsetruenoyes
merge-deep merge-deeptruetruetruetrueyesyes
deepmerge deepmergetruetruefalsefalse (option)no
lodash/merge lodash.mergefalsefalsefalsetrueyes
lodash/mergeWith lodash.mergewithfalsefalse (option)false (option)trueyesyes

Install

npm install concat-merge

Usage

import concatMerge from 'concat-merge'

concatMerge(baseConfig, {
  input: 'entry.js',
  plugins: [inject({React: 'react'})],
})

lodash equivalent:

import mergeWith from 'lodash/mergeWith'

const concatMerge = (...args) =>
  mergeWith({}, ...args, (prev, next) => {
    if (Array.isArray(prev)) {
      return prev.concat(next)
    }
  })