一个工具,替代两个
现在的前端项目格式化用 Prettier,lint 用 ESLint。两套配置、两套依赖、两套不同的规则实现,有时候还会互相打架。
Biome 想把它们合成一个:
npx @biomejs/biome check .一条命令,格式检查和 lint 一起跑。还能自动修:
npx @biomejs/biome check --write .快在哪
Biome 用 Rust 实现,底层是自己写的解析器和统一的 IR(中间表示),不是套壳 Node 生态的工具链。实际效果是:
- 格式化一个大仓库,通常在百毫秒级
- 相比之下,Prettier 在同一个仓库上常常要几秒
规则配置借鉴了 ESLint 的大部分生态规则,可以直接把 .eslintrc 导入:
npx @biomejs/biome migrate eslint目前还差什么
诚实地说,它还不是 ESLint 的完全替代品:
- 依赖插件实现的规则大多不支持(尤其是
eslint-plugin-import这类) - 自定义规则目前无法用 JS 写
- Angular、Vue SFC 等场景的规则覆盖还不完整
如果你的项目 lint 规则主要是基础规则(no-unused-vars、no-console、React Hooks 那类),迁移过去收益非常明显。规则复杂的项目,建议先在分支上试一轮。
