Oxfmt
Oxfmt (/oʊ-ɛks-fɔːr-mæt/) 是一个面向 JavaScript 生态系统的高性能格式化工具。
支持的语言
支持 JavaScript、JSX、TypeScript、TSX、JSON、JSONC、JSON5、YAML、TOML、HTML、Angular、Vue、CSS、SCSS、Less、Markdown、MDX、GraphQL、Ember、Handlebars 等。
详见兼容性矩阵了解详细的框架和文件类型支持。
为大规模而生
Oxfmt 面向大型代码库和 CI 环境,强调高吞吐量和可预测的性能。
它基于 Oxc 编译器栈构建,避免了现有格式化工具实现中常见的架构瓶颈。
我们的基准测试显示 Oxfmt 比 Prettier 快约 30 倍,比 Biome 快约 2 倍。
开箱即用
Oxfmt 内置了通常需要外部 Prettier 插件的功能:
- 导入排序
- Tailwind CSS 类名排序
- package.json 字段排序
- 嵌入式格式化(CSS-in-JS、GraphQL 等)
兼容 Prettier
Oxfmt 可集成到现有的基于 Prettier 的工作流中。
Oxfmt CLI 紧密遵循 Prettier 的约定,大多数脚本和工具只需少量或无需修改,但某些默认值和 CLI 选项有所不同。
Oxfmt 与 Prettier 的 JavaScript 格式化结果一致。从较新版本的 Prettier 迁移时,不应出现格式化差异;任何格式化差异都被视为 bug。
Oxfmt 现已通过 Prettier 100% 的 JavaScript 和 TypeScript 一致性测试。对于任何剩余的格式化不一致问题,我们已向 Prettier 团队报告,并正在协作以达成预期行为。
无需额外依赖或配置。
快速开始
将 oxfmt 安装为开发依赖:
sh
pnpm add -D oxfmt在 package.json 中添加脚本:
json
{
"scripts": {
"fmt": "oxfmt",
"fmt:check": "oxfmt --check"
}
}格式化文件:
sh
pnpm run fmt检查格式化但不写入文件:
sh
pnpm run fmt:check