这个项目能做什么

Oxc for Ruby 是一个打包了基于 Rust 的 Oxc 编译器的 gem,为 Ruby 开发者提供了一套用于 JavaScript 和 TypeScript 的高性能工具。它支持直接从 Ruby 解析、转换和压缩 JavaScript,无需 JavaScript 运行时。 主要功能包括: - **压缩**:使用可配置选项压缩和混淆 JavaScript。 - **转换**:编译 TypeScript 和 JSX,将语法降级到目标 ECMAScript 版本,并可在同一过程中选择性地进行压缩。 - **声明文件**:从 TypeScript 源生成 `.d.ts` 文件。 - **解析**:以纯 Ruby 哈希形式获取符合 ESTree 的 AST,并支持错误恢复和诊断。 - **AST 遍历与重写**:使用访问者模式遍历和修改 AST,同时保留原始格式。 - **符号与模块分析**:提取已声明和未解析的符号、导入和导出。 - **Source maps**:以 JSON 文本形式生成 source maps。 - **运行时辅助函数**:管理用于降级的辅助函数,并提供外部辅助函数或假设以避免使用它们的选项。 该 gem 版本与捆绑的 Oxc 版本保持一致,许多平台都提供预编译的 gem;否则将从源代码构建,需要 Rust 1.96+。该 API 设计直观,选项经过严格验证,结果提供详细的诊断信息。