member-ordering
クラスメンバーの順序を統一します。
- ルール ID:
tai-kun/member-ordering - 自動修正: なし
クラスメンバーを public static フィールド → protected static フィールド → private static フィールド → static ブロック → public インスタンスフィールド → protected インスタンスフィールド → private インスタンスフィールド → constructor → public static メソッド → protected static メソッド → private static メソッド → public インスタンスメソッド → protected インスタンスメソッド → private インスタンスメソッドの順に要求します。
設定
このルールを有効にするには、vite.config.ts の lint.rules に追加します。
"tai-kun/member-ordering": "error",
例
違反例
class Service {
constructor() {}
value = 1;
static create() {
return new Service();
}
run() {}
}
修正後
class Service {
static instances = 0;
protected static cache = new Map();
private static registry = new Set();
value = 1;
protected options = {};
#internal = 0;
constructor() {}
static create() {
return new Service();
}
protected static load() {}
run() {}
protected stop() {}
#cleanup() {}
}
注意
- 報告のみで、自動修正は行いません。
- index signature は順序の判定に含めません。
- 各フィールド・メソッド内では
public→protected→privateの順に要求します。修飾子なしはpublicとして扱います。 #によるプライベートフィールド・メソッドはprivateとして扱います。- constructor はアクセス修飾子にかかわらず1つのグループとして扱います。
- getter/setter はメソッドとして扱います。