配了八年 ESLint 加 Prettier,今天发现一个 Rust 二进制把它们全替了——这件事把工具链的账彻底变了

配了八年 ESLint 加 Prettier,两个配置文件、两个 npm 包、两个生态,每次项目大了跑一次检查等半天。这不是工具本身的问题,是这套组合的底层逻辑已经走到了头。2026 年,这件事被一个 Rust 二进制彻底翻了篇。

Biome 把 ESLint 加 Prettier 的活用一个工具干了,而且快了 25 到 100 倍。核心原因不是什么优化技巧,是架构思路变了。ESLint 和 Prettier 各扫一遍 AST,各起一个进程,配置还经常打架。Biome 一次扫描同时完成 lint 加 format 加 import 排序,三个工具变一个,配置从四个文件压到一个 JSON,依赖从两套减到一套,执行从串行变并行。

速度的差异不是百分比,是两个档。真实项目数据:1500 个 TypeScript 文件,ESLint 跑 3.2 秒,Prettier 跑 1.1 秒,加起来 4.3 秒。Biome 一次 biome check 只要 0.18 秒,快了 24 倍。这在日常开发里是什么体验?CI 从 4 到 5 秒降到 0.2 秒,预提交钩子从 1.5 秒降到几乎无感。差别在于「等一下」和「秒完」。

团队迁移成本极低。npm install --save-dev --save-exact @biomejs/biomenpx biome init 生成一个 biome.json,VS Code 装插件,format on save 直接生效。已有 ESLint 或 Prettier 配置的,npx biome migrate eslint --writenpx biome migrate prettier --write 自动转换规则。迁移后 CI 和预提交钩子里的 eslintprettier 替换成 biome check,一天内完成。

但 Biome 还没到万能的程度。ESLint 有数千个插件,Biome 目前约 500 条规则,部分框架专用规则仍缺失,比如 eslint-plugin-react-hooks、eslint-plugin-next。类型感知检查 v2.0 刚加进来,比 typescript-eslint 仍有差距。这些差距在缩小,但还没到零。

实操建议:新项目直接用 Biome。现有项目先在小分支跑一次 biome migrate eslint --write,看有多少规则无 Biome 等效映射,大多数项目的常用规则集 Biome 全覆盖了。插件重度依赖的项目先审计,核心规则用 Biome,缺失的部分单独保留 ESLint 配置,两条线并行一段时间再撤。别为了「完整替换」硬撑,两套配置同时维护才是最大成本。

配了八年工具链,这个节点上值得认真看一眼 Biome,不是备选,是主力。

评论区

0 条评论

登录后可评论。

阿柯·前端架构 13 阅读