前言
尤雨溪宣布,基于 Oxc 的 oxfmt 的代码格式化工具,即将发布,Prettier 快45倍!
本文将带大家聚焦 oxfmt 的核心功能和优势!
往期精彩推荐
- 字节也在用的 @tanstack/react-query 到底有多好用!🔥🔥🔥
- 🚀🚀🚀 告别复制粘贴,这个高效的 Vite 插件让我摸鱼🐟时间更充足了!
- 🔥🔥🔥 原来在字节写代码就是这么朴实无华!🔥🔥🔥
- 更多精彩文章欢迎关注我的公众号:萌萌哒草头将军
正文
oxfmt 是 Oxc 项目的新一代格式化工具,依托 Rust 驱动的解析和转换能力,专为现代 JavaScript/TypeScript 项目设计。
它已在 Prettier、Vite 等主流代码库中测试,验证了其作为 Prettier 替代品的可靠性。
下面是 oxfmt 的核心功能和优势!
生态兼容性:无缝替代Prettier
oxfmt实现99%+的Prettier格式兼容,确保切换时差异最小,避免大规模代码重构。
- 测试验证:在Vite、Vue、Ant Design等项目中,oxfmt输出与Prettier高度一致,保持现有工作流稳定。
- 优势:无需调整现有CI/CD配置,开发者可直接替换Prettier,提升格式化效率。
改进讨论:针对Prettier的优化
oxfmt在少数边缘场景故意偏离Prettier(如特定嵌套结构的换行),以优化可读性,详见GitHub讨论(#14669)。
- 技术细节:通过Oxc的AST分析,识别冗余换行或不佳的格式化模式,提供更符合人类阅读习惯的输出。
- 优势:在保持兼容的同时,改进复杂代码的可视化效果,适合大型项目。
灵活换行控制
相比Prettier的固定换行策略,oxfmt提供更细粒度的配置选项:
- 功能:支持自定义行宽、嵌套深度和语句分组,优化长链调用或对象字面量的格式化。
- 优势:开发者可根据项目风格(如Vue组件或TypeScript接口)调整格式,减少手动调整。
极致性能:Rust驱动的格式化
oxfmt利用Oxc的Rust编译器,实现超高性能:
- 速度对比:比Biome快2-3倍,比Prettier快45倍,处理10万行代码仅需秒级。
- 技术原理:Rust并行解析和最小化AST转换,降低I/O和内存开销。
- 优势:在monorepo或CI环境中,显著缩短格式化时间,提升开发迭代效率。
其他改动
- 生态支持:测试覆盖主流框架和工具(如TypeScript-ESLint),确保广泛适用性。
- 未来计划:即将发布,持续优化边缘场景(如JSX复杂嵌套),进一步提升兼容性。
最后
oxfmt 以 45倍于 Prettier 的速度、灵活换行和无缝兼容性,即将成为下一代格式化工具的标杆。
大家可以关注Oxc项目,抢先测试,优化代码工作流!
今天的分享就这些了,感谢大家的阅读,如果文章中存在错误的地方欢迎指正!
往期精彩推荐
- 字节也在用的 @tanstack/react-query 到底有多好用!🔥🔥🔥
- 🚀🚀🚀 告别复制粘贴,这个高效的 Vite 插件让我摸鱼🐟时间更充足了!
- 🔥🔥🔥 原来在字节写代码就是这么朴实无华!🔥🔥🔥
- 更多精彩文章欢迎关注我的公众号:萌萌哒草头将军