扩展 `.eslintrc.base.js`,但从父级中省略一个插件

Extending `.eslintrc.base.js`, but omit one plugin from parent

我有一个 .eslintrc.base.js 配置如下:

module.exports = {
    env: {
        browser: true,
        node: true,
        jest: true
    },
    extends: [
        'eslint:recommended',
        'plugin:react/recommended',
        'prettier'
    ],
    // ...
}

我项目中的大多数子包都继承了这个,只是添加到规则或修改一些规则。

虽然对于一个包,我想省略 plugin:react/recommended,基本配置扩展。

这可能吗?或者我是否需要创建一个额外的配置文件层,像这样:

您可以有一个 ESLint 配置文件并在其中指定 overrides

{
  "env": {
    "browser": true,
    "node": true,
    "jest": true
  },
  "extends": [
    "plugin:react/recommended",
    "eslint:recommended",
    "prettier"
  ],
  //override "extends" for the package for which you want to omit "plugin:react/recommended"
  "overrides": [
    {
      "files": ["package/that/omits/plugin/react/*"],
      "extends": [
        "eslint:recommended",
        "prettier"
      ]
    }
  ]
}