如何覆盖我的 nx 工作区中的 eslint 规则?

Gar*_*B96 5 typescript eslint nrwl-nx

如何覆盖 中的 eslint 规则plugin:@nrwl/nx/typescript?我已对 的根目录进行了此更改.eslintrc.json

\n
"rules": {\n  "@typescript-eslint/member-ordering": "warn"\n},\n
Run Code Online (Sandbox Code Playgroud)\n

并且在引入违反规则的演示后仍然出现错误

\n
D:\\me\\sample\\apps\\my-app\\src\\app\\app.component.ts\n  16:3  error  Member outOfOrder should be declared before all instance method definitions  @typescript-eslint/member-ordering\n\n\xe2\x9c\x96 1 problem (1 error, 0 warnings)\n\nLint errors found in the listed files.\n
Run Code Online (Sandbox Code Playgroud)\n

我也尝试将规则更改添加到overrides打字稿部分。

\n

Mir*_*nas 12

无法在根级别上进行设置,因为您的项目.eslintrc.json将始终覆盖由于@nrwl/nx/typescript在覆盖部分中设置而导致的这些更改。

不幸的是,您必须在覆盖部分中将其设置为每个项目。

如果您有多个项目和/或需要应用多个更改,您可以将其提取到eslint-custom-overrides文件中并将其用作本节中的最后一个extends

{
  "extends": ["../../.eslintrc.json"],
  "ignorePatterns": ["!**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "extends": [
        "plugin:@nrwl/nx/typescript",
        "../../eslintrc-custom-overrides.json"
      ],
   },
   ...
  ],
  ...
}
Run Code Online (Sandbox Code Playgroud)

你的eslintrc-custom-overrides.json看起来像这样:

{
  "extends": ["../../.eslintrc.json"],
  "ignorePatterns": ["!**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "extends": [
        "plugin:@nrwl/nx/typescript",
        "../../eslintrc-custom-overrides.json"
      ],
   },
   ...
  ],
  ...
}
Run Code Online (Sandbox Code Playgroud)

查看有关NX 问题的更多详细信息。