Skip to content

Oxlint v0.10 迁移指南

本迁移指南适用于较旧版本的 Oxlint。 有关最新稳定版 v1.0 发布的信息,请参阅 Oxlint v1.0 稳定版公告

Oxlint v0.10.0 来了!此版本包含几个令人兴奋的功能,包括对配置文件的许多改进。

新功能

新规则

此版本包含以下新规则:

  • promise/no-callback-in-promise
  • react/iframe-missing-sandbox
  • node/no-new-require

并为以下规则添加了自动修复/建议:

  • eslint/no-plusplus

按类别启用/禁用规则

现在,您可以在配置文件中使用 categories 字段来启用或禁用整个类别的规则。

现在,无需运行此命令:

sh
oxlint -D correctness -W suspicious -c oxlint.json

您可以向 oxlint.json 添加一个 categories 字段:

jsonc
{
  "categories": {
    "correctness": "deny", 
    "suspicious": "warn", 
  }, 
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

并去掉 -D-W 标志。

配置文件中现在支持 plugins

配置文件现在支持来自 ESLint v8 配置的 plugins 数组。 这允许您无需 CLI 参数即可启用插件,从而可以在 VSCode 中使用插件。

jsonc
{
  "plugins": ["import"], 
  "categories": {
    "correctness": "deny",
    "suspicious": "warn",
  },
  "rules": {
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off",
  },
}

这与 categories 配合良好,因为启用/禁用的类别也会影响插件。

jsonc
{
  "plugins": ["import"],
  // `categories` 影响所有启用的插件
  "categories": {
    "correctness": "allow",
    "suspicious": "warn",
  },
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

破坏性变更和迁移指南

CLI 与配置文件规则优先级

以前,配置文件会覆盖 CLI 参数中设置的规则。例如,运行此命令:

sh
oxlint -A correctness -c oxlintrc.json

使用此配置文件

jsonc
{
  "rules": {
    "no-const-assign": "error",
  },
}

将导致仅有一条规则 no-const-assign 在错误级别开启,而所有其他规则被禁用(即设置为 "allow")。

现在,CLI 参数将覆盖配置文件。相同的命令配合相同的配置文件将导致 所有规则被禁用。要获得与之前相同的行为,请在配置文件中启用和禁用类别,而不是使用 CLI 参数。

sh
oxlint -c oxlint.json
jsonc
{
  "categories": {
    "correctness": "allow", 
  }, 
  "rules": {
    "no-const-assign": "error",
  },
}