包详细信息

@sequencemedia/eslint-merge

sequencemedia4.3kISC0.0.40

Merge configurations for ESLint 9

自述文件

@sequencemedia/eslint-merge

Merge Flat Config for ESLint v9

Install

npm i -D @sequencemedia/eslint-merge

Use

The merge function combines two objects and returns the result

import merge from '@sequencemedia/eslint-merge'

The first argument should be a config, and the second argument an object which contains your changes

const result = merge(sharedConfig, changes)

You can easily achieve this with the spread operator in your eslint.config.*

/**
 *  You probably will use `import` to get this as a module!
 */
const sharedConfig = {
  name: 'shared config',
  files: [
    '**/*.{js,mjs,cjs}'
  ]
}

export default [
  {
    ...sharedConfig,
    files: [
      'src/**/*.{mjs,cjs}'
    ]
  }
]

But! Sometimes you need to make lots of changes, and many spreads is hard to manage, and hard to read

@sequencemedia/eslint-merge enables you to merge just your changes

/**
 *  Again, you will probably `import` this
 */
const sharedConfig = {
  name: 'shared config',
  files: [
    '**/*.{js,mjs,cjs}'
  ]
}

export default [
  merge(sharedConfig, {
    files: [
      'src/**/*.{mjs,cjs}'
    ]
  })
]

It's simpler to use spread for small projects, but for large or complex configurations (or for producing your own shared configs) use merge