Skip to content

排序

Oxfmt 包含对导入项、Tailwind 类和 package.json 的排序功能。

有关完整详情,请参阅 配置文件参考

排序导入项

基于 eslint-plugin-perfectionist/sort-imports

默认情况下已禁用。

示例配置

eslint-plugin-perfectionist/sort-imports 默认顺序相同。

.oxfmtrc.json
json
{
  "sortImports": {
    "groups": [
      "type-import",
      ["value-builtin", "value-external"],
      "type-internal",
      "value-internal",
      ["type-parent", "type-sibling", "type-index"],
      ["value-parent", "value-sibling", "value-index"],
      "unknown"
    ]
  }
}

在顶层使用 "newlinesBetween": false 可禁用组之间的空行,然后在 groups 内部使用 { "newlinesBetween": true } 可在特定位置插入空行。

.oxfmtrc.json
json
{
  "sortImports": {
    "newlinesBetween": false,
    "groups": [
      ["value-builtin", "value-external"],
      ["value-internal", "value-parent", "value-sibling", "value-index"],
      { "newlinesBetween": true },
      "type-import",
      "unknown"
    ]
  }
}

使用 customGroups 可定义自定义分组以匹配特定导入项。每个自定义分组包含一个 groupName,可在 groups 中引用。elementNamePattern 接受 glob 模式来匹配导入源。

.oxfmtrc.json
json
{
  "sortImports": {
    "customGroups": [
      {
        "groupName": "react-libs",
        "elementNamePattern": ["react", "react-**"]
      }
    ],
    "groups": [
      "react-libs",
      ["value-builtin", "value-external"],
      "value-internal",
      ["value-parent", "value-sibling", "value-index"],
      "unknown"
    ]
  }
}

排序 Tailwind CSS 类

对 Tailwind 实用程序类进行排序。

基于 prettier-plugin-tailwindcss

默认情况下已禁用。

示例配置

.oxfmtrc.json
json
{
  "sortTailwindcss": {
    "stylesheet": "./path/to/stylesheet.css",
    "functions": ["clsx", "cn"],
    "preserveWhitespace": true
  }
}

不支持 attributesfunctions 的正则表达式模式。

排序 package.json 字段

使用一种有观点的顺序对 package.json 中的键进行排序。

详细信息请参见 字段排序

默认启用。

示例配置

禁用:

.oxfmtrc.json
json
{
  "sortPackageJson": false
}

按字母顺序排序 scripts

.oxfmtrc.json
json
{
  "sortPackageJson": {
    "sortScripts": true
  }
}