sort-object-properties
オブジェクトのプロパティーを名前の長さ順、次に名前順に並べます。
- ルール ID:
tai-kun/sort-object-properties - 自動修正: あり
オブジェクトリテラルとオブジェクトパターンのプロパティーを、名前の長さが短い順、同じ長さなら名前順に並べます。
設定
このルールを有効にするには、vite.config.ts の lint.rules に追加します。
"tai-kun/sort-object-properties": "error",
例
違反例
const value = {
zebra: 1,
a: 2,
};
修正後
const value = {
a: 2,
zebra: 1,
};
グループ見出し
空行を挟んだコメントはグループ見出しとしてその場に残り、その下のグループ内だけが並べ替えられます。
// 変更前
const rules = {
// カテゴリー 1
zebra: 1,
a: 2,
// カテゴリー 2
delta: 4,
c: 3,
};
// 変更後
const rules = {
// カテゴリー 1
a: 2,
zebra: 1,
// カテゴリー 2
c: 3,
delta: 4,
};
注意
- 空行で区切られたグループ内だけで並べ替えます。
- プロパティー直上のコメントはプロパティーと一緒に移動します。
- 空行を挟んだコメントはグループ見出しとしてその場に残します。
- getter/setter を含むオブジェクトは対象外です。メソッドは対象です。
- プロパティーと同じ行の末尾コメント、
{と同じ行のコメント、}直前のコメントがある場合は、安全のためオブジェクト全体を対象外にします。 - computed key、
__proto__、重複するキーを含むオブジェクトは対象外です。spread を含むオブジェクトリテラルも対象外です。 - オブジェクトリテラルは複数行化も行います。