每日壁纸

Biome

RustApache-2.0biomejs/biome官网

/---

一个工具,替代两个

现在的前端项目格式化用 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 那类),迁移过去收益非常明显。规则复杂的项目,建议先在分支上试一轮。

← Previous projectuv
Next project →shadcn/ui