什么是 Oxc?
/oʊ ɛks siː/
氧化编译器(Oxidation Compiler)是一套用 Rust 编写的高性能 JavaScript 和 TypeScript 工具集合。
Oxc 是 VoidZero 对统一、高性能的 JavaScript 工具链愿景的一部分。它为 Rolldown(Vite 的未来打包器)提供支持,并推动下一代超高速开发工具的诞生,这些工具能够无缝协同工作。
* 氧化是生成铁锈的化学过程
全栈最快的工具
Oxc 致力于在整个工具链中实现极致性能。这包括解析、模块解析、代码检查、格式化、转换以及压缩。
设计理念
Oxc 建立在几个核心理念之上。
性能即功能
Oxc 将速度视为产品需求。更快的工具能够提升本地反馈循环效率并降低 CI 成本。性能退化被视作缺陷。
一套工具链,共享构建模块
Oxc 是一个套件。代码检查器、格式化器、解析器、转换器、压缩器和解析器等工具均基于共享组件构建。这减少了重复工作,并使整个工具链的行为更加一致。
正确性与清晰的边界
Oxc 力求准确且可预测。当行为与其他工具不同时,差异应被明确记录。兼容性是一种特性,而非偶然。
实用的开发者体验
Oxc 关注真实项目中的实际工作流。默认设置应合理,配置应易于理解,输出应保持稳定。
你将获得什么
Oxc 提供面向用户的工具以及可复用的编译器构建模块:
- Oxlint 是目前最快的 JavaScript 与 TypeScript 代码检查工具。其目标是兼容 ESLint 生态系统。
- Oxfmt 是目前最快的格式化工具。其目标是实现与 Prettier 兼容的格式化效果。
- Parser 是目前最快的 JS 与 TS 解析器,提供用于工具开发的 AST。
- Transformer 提供目前最快的 TS、JSX 以及现代 JavaScript 转换功能。
- Minifier 是目前最快的生产环境输出压缩工具。
- Resolver 是目前最快的适用于 JS 与 TS 项目的模块解析器。
你可以单独使用每个工具,也可以将它们组合成一个完整的工具链。
Oxc 适合谁
- 应用和库开发者:希望在本地和 CI 环境中获得最快的速度来完成代码检查与格式化。
- 工具链与平台团队:希望在大规模场景下拥有快速、具备编译器级别的基础架构。
- 工具作者:希望为 JavaScript 工具生态提供快速、可复用的库或 npm 包。
