TypeScript 7 编译器(tsc)的实验性 Rust 移植版,保持相同的命令行、语言服务和 API。
oxc-project/tsrs
用 Rust 重写的 TypeScript 7 编译器与语言服务,可直接替换现有类型检查流程。
- Star
- 490
- Fork
- 9
- 未关闭 Issue
- 14
- 最近提交
- 6小时前
这是什么?
tsrs 是用 Rust 编写的 TypeScript 7 编译器与语言服务,可直接替换原有工具。通过 npm 安装后,可用类似 tsc 的命令行方式运行,例如 `tsrs --noEmit`。项目的目标是与 TypeScript 完全兼容,同时降低内存占用、加快类型检查速度。
目前项目跟踪 TypeScript 主分支,计划基于 TypeScript 7.1 发布稳定版本。诊断信息和追踪输出的顺序仍存在差异,受并行解析与检查的影响;提供了一组参数,便于与 Go 版编译器做更接近的对比。暂不支持 `--init` 和 `--showConfig`。另外提供面向 WASI Preview 1 的 WebAssembly 构建,并有浏览器版演示环境可直接试用。
目前不接受 Pull Request,欢迎通过 issue 提交附带最小复现的缺陷报告。
核心功能
- 01可直接替换 TypeScript 7 编译器,命令行用法与 tsc 相似。
- 02提供语言服务,可接入编辑器。
- 03以与 TypeScript 主分支完全兼容为目标。
- 04目标是比 TypeScript 每日构建版占用更少内存、类型检查更快。
- 05提供面向 wasm32-wasip1 的 WebAssembly 构建。
适用场景
- 加快大型 TypeScript 单体仓库的类型检查速度。
- 降低运行类型检查的 CI 任务的内存占用。
- 在编辑器或浏览器演示环境中试用基于 Rust 的 TypeScript 检查器。
快速上手
- 1
使用 pnpm 将 tsrs 安装为开发依赖
pnpm add -D tsrs - 2
运行类型检查且不生成输出文件
pnpm exec tsrs --noEmit
使用前须知
- 尚未完全符合规范,目前针对 TypeScript 主分支而非稳定版本。
- 不支持 --init 和 --showConfig。
- 拉取请求已关闭,不接受外部代码贡献。
标签
常见问题
- tsrs 是什么?
- 用 Rust 重写的 TypeScript 7 编译器与语言服务,可直接替换现有类型检查流程。 tsrs 是用 Rust 编写的 TypeScript 7 编译器与语言服务,可直接替换原有工具。通过 npm 安装后,可用类似 tsc 的命令行方式运行,例如 `tsrs --noEmit`。项目的目标是与 TypeScript 完全兼容,同时降低内存占用、加快类型检查速度。
- tsrs 可以免费使用吗?用的什么许可证?
- tsrs 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- tsrs 还在维护吗?
- 活跃维护中。tsrs 最近一次提交是在 2026年10月20日。
- tsrs 适合用来做什么?
- 加快大型 TypeScript 单体仓库的类型检查速度。 降低运行类型检查的 CI 任务的内存占用。 在编辑器或浏览器演示环境中试用基于 Rust 的 TypeScript 检查器。
- tsrs 怎么安装和运行?
- 使用 pnpm 将 tsrs 安装为开发依赖: pnpm add -D tsrs 运行类型检查且不生成输出文件: pnpm exec tsrs --noEmit
- 在哪里获取 tsrs?
- 源代码和安装说明在 GitHub 上:https://github.com/oxc-project/tsrs
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个实验性的编译器,可将 TypeScript/JavaScript 编译为原生可执行文件或 WebAssembly,运行时无需 Node.js。
基于 Rust 编写、可离线运行且注重隐私的英语语法检查工具,可用于编辑器、浏览器和 Node.js。
面向 Neovim、AI 智能体及 Rust、Node、Bun、Python、C 应用的快速文件与内容搜索工具包,支持容错搜索。
将 VS Code 工作台移植到 Tauri,用系统自带 webview 替代 Electron,内存占用更低。目前为早期版本。
用 Rust 编写的静态分析引擎,将源码转为紧凑的程序图,并生成 19 种 UML 与编译器中间表示图。