Skip to content
← Back to rules

eslint/sort-keys Style

🛠️ An auto-fix is available for this rule for some violations.

它的作用

在声明多个属性时,将属性名按字母顺序排序,可以更容易地 在之后查找和/或 diff 所需的属性。

为什么这不好?

未排序的属性键会让代码更难阅读和维护。

示例

以下是此规则的错误代码示例:

js
let myObj = {
  c: 1,
  a: 2,
};

以下是此规则的正确代码示例:

js
let myObj = {
  a: 2,
  c: 1,
};

配置

第 1 个选项

type: "desc" | "asc"

键的排序顺序。接受 "asc" 表示升序,或 "desc" 表示降序。

第 2 个选项

此选项是一个包含以下属性的对象:

allowLineSeparatedGroups

type: boolean

default: false

当为 true 时,由空行分隔的属性组会分别排序。

caseSensitive

type: boolean

default: true

排序比较是否区分大小写(当为 true 时,A < a)。

minKeys

type: integer

default: 2

在对象中开始强制排序之前所需的最少属性数量。

natural

type: boolean

default: false

使用自然排序顺序,例如 "a2" 会排在 "a10" 之前。

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "sort-keys": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "sort-keys": "error",
  },
});
bash
oxlint --deny sort-keys

版本

此规则在 v0.9.4 中添加。

参考资料