Oxlint v0.10 迁移指南
本篇迁移说明针对旧版 Oxlint。 若你需要了解最新的 v1.0 稳定版信息,请参阅 Oxlint v1.0 稳定版公告。
Oxlint v0.10.0 已发布!新版加入多项令人兴奋的能力,其中对配置文件的增强尤为突出。
新特性
新规则
本轮新增规则包括:
promise/no-callback-in-promisereact/iframe-missing-sandboxnode/no-new-require
并为以下规则补齐自动修复/建议:
eslint/no-plusplus
按分类启用/禁用规则
现在可以在配置文件中通过 categories 字段批量控制整类规则的等级。
以前也许要这样跑命令:
sh
oxlint -D correctness -W suspicious -c oxlint.json现在只需在 oxlint.json 中声明分类:
jsonc
{
"categories": {
"correctness": "deny",
"suspicious": "warn",
},
"rules": {
"no-const-assign": "error",
"import/no-cycle": "error",
},
}即可告别 -D/-W 这些 flag。
配置文件支持 plugins
配置现已兼容 ESLint v8 风格的 plugins 数组,可不依赖 CLI 额外传参即可启用插件, 在 VS Code 里也更容易开箱即用。
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 处于 error,其余均被关闭。
现在:CLI 会覆盖配置文件。同一命令、同一配置 ⇒ 全部规则都处于关闭。若要获得旧体验,请在配置里写明分类,而不要仅靠 CLI -A/-D:
sh
oxlint -c oxlint.jsonjsonc
{
"categories": {
"correctness": "allow",
},
"rules": {
"no-const-assign": "error",
},
}