簡體   English   中英

如何在我的 nx 工作區中覆蓋 eslint 規則?

[英]How do I override an eslint rule in my nx workspace?

如何覆蓋plugin:@nrwl/nx/typescript中的 eslint 規則? 我已經對.eslintrc.json的根進行了更改。

"rules": {
  "@typescript-eslint/member-ordering": "warn"
},

並且在引入違反規則的演示后仍然出現錯誤

D:\me\sample\apps\my-app\src\app\app.component.ts
  16:3  error  Member outOfOrder should be declared before all instance method definitions  @typescript-eslint/member-ordering

✖ 1 problem (1 error, 0 warnings)

Lint errors found in the listed files.

我也嘗試將規則更改添加到 typescript 的overrides部分。

由於在覆蓋部分設置了@nrwl/nx/typescript ,因此無法在根級別設置它,因為您的項目的.eslintrc.json將始終覆蓋這些更改。

不幸的是,您必須將其設置為覆蓋部分中的每個項目。

如果您有多個項目和/或需要應用多個更改,您可以將其提取到eslint-custom-overrides文件中,並將其用作extends部分中的最后一個:

{
  "extends": ["../../.eslintrc.json"],
  "ignorePatterns": ["!**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "extends": [
        "plugin:@nrwl/nx/typescript",
        "../../eslintrc-custom-overrides.json"
      ],
   },
   ...
  ],
  ...
}

你的eslintrc-custom-overrides.json看起來像這樣:

{
  "overrides": [
    {
      "files": ["*.ts"],
      "rules": {
         "@typescript-eslint/member-ordering": "warn"
      }
    }
  ]
}

查看有關NX 問題的更多詳細信息。

我找到了一個對我很有用的解決方案,它可以避免任何復制粘貼(我認為這是不可接受的),並且或多或少地違背了已接受答案中的“不可能”斷言。 對我來說,關鍵不是使用基於文件的覆蓋,而是使用擴展。 它工作得很好,並且完全符合我的要求(並且沒有看到任何缺點)。 希望能幫助到你:

一個 NextJS / React UI 項目在此處輸入圖像描述

NodeJS GraphQL 項目的配置

在此處輸入圖像描述

所有 NextJS / UI 項目的配置

在此處輸入圖像描述

可以被上述任何內容覆蓋的所有內容的配置

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM