簡體   English   中英

@typescript-eslint/成員排序不工作

[英]@typescript-eslint/member-ordering not working

我試圖在 typescript 類中進行嚴格排序,強制對組進行精確排序,尤其是我想強制按字母順序排列。

我按照這個文檔來實現我需要的: https://typescript-eslint-armano.netlify.app/rules/member-ordering/#sorting-alphabetically-within-member-groups

這是由 my.eslintrc 配置提取的成員排序配置

"@typescript-eslint/member-ordering": [
      "error",
      {
          "default": {
            "memberTypes": [
              "public-static-field",
              "protected-static-field",
              "private-static-field",
              "public-instance-field",
              "public-decorated-field",
              "public-abstract-field",
              "protected-instance-field",
              "protected-decorated-field",
              "protected-abstract-field",
              "private-instance-field",
              "private-decorated-field",
              "private-abstract-field",
              "static-field",
              "public-field",
              "instance-field",
              "protected-field",
              "private-field",
              "abstract-field",
              "constructor",
              "public-static-method",
              "protected-static-method",
              "private-static-method",
              "public-method",
              "protected-method",
              "private-method"
            ],
            "order": "alphabetically"
          }
      }
    ],

這不會在我的 class 中產生任何錯誤,而我預計會出現 2 個錯誤:錯誤的成員排序(私有應該在公開之后為 go)和錯誤的字母順序。

沒有錯誤

Eslint 運行良好,因為我遇到了其他錯誤,例如命名約定和其他錯誤

似乎將memberTypes並在兩個類別中ordering是可行的。 在我看來,文檔將兩個道具放在一起,但也許這是一個錯誤。

新配置

在我的編輯中:

現在按預期工作

按照https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/member-ordering.md#default-configuration試試這個列表:

// Index signature
"signature",
"call-signature",

// Fields
"public-static-field",
"protected-static-field",
"private-static-field",
"#private-static-field",

"public-decorated-field",
"protected-decorated-field",
"private-decorated-field",

"public-instance-field",
"protected-instance-field",
"private-instance-field",
"#private-instance-field",

"public-abstract-field",
"protected-abstract-field",

"public-field",
"protected-field",
"private-field",
"#private-field",

"static-field",
"instance-field",
"abstract-field",

"decorated-field",

"field",

// Static initialization
"static-initialization",

// Constructors
"public-constructor",
"protected-constructor",
"private-constructor",

"constructor",

// Getters
"public-static-get",
"protected-static-get",
"private-static-get",
"#private-static-get",

"public-decorated-get",
"protected-decorated-get",
"private-decorated-get",

"public-instance-get",
"protected-instance-get",
"private-instance-get",
"#private-instance-get",

"public-abstract-get",
"protected-abstract-get",

"public-get",
"protected-get",
"private-get",
"#private-get",

"static-get",
"instance-get",
"abstract-get",

"decorated-get",

"get",

// Setters
"public-static-set",
"protected-static-set",
"private-static-set",
"#private-static-set",

"public-decorated-set",
"protected-decorated-set",
"private-decorated-set",

"public-instance-set",
"protected-instance-set",
"private-instance-set",
"#private-instance-set",

"public-abstract-set",
"protected-abstract-set",

"public-set",
"protected-set",
"private-set",
"#private-set",

"static-set",
"instance-set",
"abstract-set",

"decorated-set",

"set",

// Methods
"public-static-method",
"protected-static-method",
"private-static-method",
"#private-static-method",

"public-decorated-method",
"protected-decorated-method",
"private-decorated-method",

"public-instance-method",
"protected-instance-method",
"private-instance-method",
"#private-instance-method",

"public-abstract-method",
"protected-abstract-method",

"public-method",
"protected-method",
"private-method",
"#private-method",

"static-method",
"instance-method",
"abstract-method",

"decorated-method",

"method"

暫無
暫無

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

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