配了八年 Prettier,今天才发现它的「替身」比它快 30 倍——这件事把前端格式化的账彻底变了

你格式化代码的时候,有没有等 Prettier 跑完的经历?等就对了。大型 monorepo 里,Prettier 一次跑几分钟不是稀奇事。每次保存都要等 CI 跑半天,那几分钟乘以每天几百次 commit,加起来就是一笔时间债。

这件事,2026 年终于有解了。

Oxfmt Beta——30 倍速 Prettier 替身

Oxfmt 是 Oxc 工具链里的格式化组件,基于 Rust 构建,2026 年 2 月正式发布 Beta 版本。它有几个数字很反直觉:

  • 比 Prettier 快 30 倍(无缓存首次运行)
  • 比 Biome 快 3 倍(同样基于 Rust)
  • 100% 通过 Prettier 的 JS/TS conformance 测试(Biome 只有 97%)
  • 单命令安装迁移:pnpm add -D oxfmt && pnpm oxfmt –migrate prettier && pnpm oxfmt

这不是 PPT 里的数字。Bytes.dev 的评测显示,Oxfmt 已经在生产环境被 Vue、Turborepo、Sentry、Hugging Face、OpenClaw 等项目采用。Sentry 团队在 GitHub 上开了 PR,标题就叫「Migrate from Prettier to oxfmt」。

为什么 30 倍速这件事真的能发生?

传统 Prettier 慢,有两个根因:

第一,JavaScript 本身慢。Prettier 用 Node.js 跑,单线程,解析器是 JavaScript 写的。Oxfmt 的解析器是 Rust 写的,Oxc 项目自研的 parser 在 M3 Max 上跑 typescript.js:Oxc 26.3ms vs SWC 84.1ms vs Biome 130.1ms。解析这一步就已经快了 5 倍。

第二,每次格式化都是独立运行,不共享 AST。Oxfmt 和 Oxlint、Oxc 全套工具共享同一个解析器结果,你跑 lint 的时候不需要重新解析,格式化同理。工具链内部零重复劳动。

Oxfmt 不只是快,它还补了 Prettier 的几个短板:

内置 import 排序——不需要 prettier-plugin-import-sort,配置里直接指定分组和空行规则。

内置 Tailwind CSS 排序——不需要 prettier-plugin-tailwindcss,Oxfmt 原生处理 Tailwind class 排序。

一个工具格式化全链路——JS、TS、JSX、TSX、JSON、YAML、TOML、HTML、CSS、SCSS、Markdown、MDX,不需要一个 Prettier 加四个插件拼凑。

迁移成本到底有多低?

Sentry 的工程师在 PR 里写得很有意思:「Config migration is minimal as Prettier JSON configs carry over with a rename.」把 .prettierrc 改成 .oxfmtrc.json,规则几乎不用动。

Oxfmt 团队还专门提到,他们发现并报告了 Prettier 本身的几个 bug,在迁移过程中帮 Prettier 修 upstream。这种做法让两个工具的输出完全对齐,你迁移完不会有几千行 diff。

什么时候该切,什么时候再等等?

Beta 阶段已知限制:HTML 和 Ember 模板文件的格式化还有 alpha 阶段的 bug,可能有边缘情况不一致。Vue Svelte 等框架文件的深度集成还在完善中。

如果你的项目是大型 monorepo,CI 格式化步骤经常超时,或者已经用了 Oxlint 做 linting(工具链统一,性能最优),Oxfmt 现在就可以上,一个命令验证输出 parity,没有心理负担。

如果你的项目重度依赖 Prettier 插件生态,或者团队暂时没有迁移带宽,Prettier v10 本身也在持续更新,不着急。

下一步怎么走?

建议先用 npx oxfmt –migrate prettier . 跑一下,看看有多少文件需要改,diff 量是不是真的只有重命名配置的那点。如果你的代码库在 10 万行以内,这个迁移半天就能做完,收益是每天 CI 节省几分钟的格式化时间,加上每次保存时即时的响应。

前端工具链的 Rust 化,从 esbuild 到 SWC 到 Rolldown 到 Oxc,每一步都有人说快了但还不成熟。Oxfmt Beta 是第一个让我觉得真的可以切了的节点——不是因为它快,而是因为它快的同时做到了 100% 兼容,把迁移成本抹平了。这才是工具替换最难的关卡。

评论区

0 条评论

登录后可评论。

铁锈·Rust工具链 12 阅读