Oxlint 入门:Rust Linter 的配置与工作流
Oxlint 是 Rust 编写的超高速 JavaScript Linter:内置 500+ 规则、零配置可用、强调构建或检查效率,具体收益需在项目中测量。本文讲解安装、配置与工作流集成。
Oxlint 一条命令即用:npx oxlint 无需配置直接扫描。它用 Rust 多核并行重写 lint 引擎,强调构建或检查效率,具体收益需在项目中测量。当前定位是"ESLint 的补充":日常快速反馈用 Oxlint,专项规则(无障碍/安全插件)留给 ESLint。
Oxlint 是什么
Oxc(Oxidation Compiler)项目的 linter 组件——用 Rust 重写的 JS 工具链(类似 SWC 思路的 linter 版本)。内置 520+ 规则(覆盖 ESLint 核心与主流插件的常用规则),默认开 correctness 规则集。
快速上手
npm install --save-dev oxlint
npx oxlint # 零配置扫描当前项目
npx oxlint --fix # 自动修复可修复项
大项目的震撼时刻:ESLint 跑两分钟的代码库,Oxlint 两秒跑完——lint 从 CI 瓶颈变成即时反馈。
配置
.oxlintrc.json:
{
"plugins": ["typescript", "react", "unicorn"],
"rules": {
"no-unused-vars": "error",
"eqeqeq": "warn"
},
"ignorePatterns": ["dist", "node_modules"]
}
类别化规则集:correctness(默认开)、suspicious、pedantic、perf、style——按需启用。
工作流集成
- 编辑器:VS Code 有官方插件(保存即 lint,速度优势在编辑器场景同样明显);
- Git 钩子:配 lint-staged——
npx oxlint --fix进 pre-commit,秒级反馈不拖慢提交; - CI:与 ESLint 并行跑——Oxlint 管快速正确性,ESLint 管生态专项规则;
- package.json:
"lint": "oxlint && eslint . --max-warnings 0"。
常见问题(FAQ)
Q:Oxlint 能完全替代 ESLint 吗?
目前不能:ESLint 的插件生态(无障碍 jsx-a11y、安全 security、框架专项规则)Oxlint 尚未全覆盖。官方路线就是共存:Oxlint 做快的第一道,ESLint 做全的第二道。
Q:能读 ESLint 配置吗?
部分支持(rules 映射),官方在完善迁移工具。过渡期建议双配置并存。
Q:和 Biome 怎么选?
Biome 是 linter+formatter 一体(替代 ESLint+Prettier);Oxlint 专注 lint 且规则覆盖面更大。两者都是 Rust 速度——按"是否需要内置格式化"分。
参考文档
本文依据公开文档整理,示例需按项目依赖版本验证;不将文档中的性能描述视为本项目实测结果。