一款速度极快的 JavaScript、TypeScript、JSX 和 CSS 打包工具,提供 CLI、JS 和 Go 接口。
pingdotgg/ts-rust
TypeScript 7 编译器(tsc)的实验性 Rust 移植版,保持相同的命令行、语言服务和 API。
- Star
- 1,373
- Fork
- 92
- 未关闭 Issue
- 20
- 最近提交
- 6小时前
这是什么?
ts-rust 是微软原生 TypeScript 编译器的 Rust 移植版。原编译器用 Go 编写,本项目保留其算法和行为,并提供相同的命令行(tsc)、语言服务和 API。通过 npm 安装的包名为 tsc-rs,避免与 typescript 包冲突,各平台也提供独立的压缩包。
项目固定在某个上游 TypeScript 版本上,目标是输出与对应版本的 tsc 7 完全一致。内置 Effect 语言服务的诊断规则,在 tsconfig 中声明 @effect/language-service 插件后生效。--fast、--checkers N 等可选开关以更多 CPU 和内存换取速度。项目仍处于实验阶段。
仓库中包含在真实开源项目上与 tsc 6、tsc 7 和 Bun 的性能对比,并列出了 monorepo 模块解析及 tsc -b 并发构建等已知差异。
核心功能
- 01命令行与 tsc 选项相同,可直接替换使用。
- 02语言服务和 API 与 Go 实现的行为保持一致。
- 03内置 Effect 语言服务的诊断规则和编辑器功能。
- 04可选的 --fast 模式,并行运行多个检查器。
- 05通过 npm 分发 Linux、macOS 和 Windows 的预编译二进制文件。
适用场景
- 加快大型 TypeScript monorepo 的全量类型检查。
- 在对编译耗时敏感的 CI 中运行 TypeScript 类型检查。
- 在基于 Effect 的项目中免去额外的编译检查步骤。
快速上手
- 1
从 npm 安装该包
npm install -D tsc-rs - 2
使用 tsconfig 对项目进行类型检查
npx tsc-rs -p tsconfig.json
使用前须知
- README 称其为早期版本,作者表示从未阅读过这些代码。
- README 警告安装可能无法正常工作,不作保证。
- 仅列出 Linux、macOS arm64 及后续版本的部分平台,不同操作系统的支持情况不一。
标签
常见问题
- ts-rust 是什么?
- TypeScript 7 编译器(tsc)的实验性 Rust 移植版,保持相同的命令行、语言服务和 API。 ts-rust 是微软原生 TypeScript 编译器的 Rust 移植版。原编译器用 Go 编写,本项目保留其算法和行为,并提供相同的命令行(tsc)、语言服务和 API。通过 npm 安装的包名为 tsc-rs,避免与 typescript 包冲突,各平台也提供独立的压缩包。
- ts-rust 可以免费使用吗?用的什么许可证?
- ts-rust 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- ts-rust 还在维护吗?
- 活跃维护中。ts-rust 最近一次提交是在 2026年10月19日。
- ts-rust 适合用来做什么?
- 加快大型 TypeScript monorepo 的全量类型检查。 在对编译耗时敏感的 CI 中运行 TypeScript 类型检查。 在基于 Effect 的项目中免去额外的编译检查步骤。
- ts-rust 怎么安装和运行?
- 从 npm 安装该包: npm install -D tsc-rs 使用 tsconfig 对项目进行类型检查: npx tsc-rs -p tsconfig.json
- 在哪里获取 ts-rust?
- 源代码和安装说明在 GitHub 上:https://github.com/pingdotgg/ts-rust
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个实验性的编译器,可将 TypeScript/JavaScript 编译为原生可执行文件或 WebAssembly,运行时无需 Node.js。
用 Rust 编写的静态分析引擎,将源码转为紧凑的程序图,并生成 19 种 UML 与编译器中间表示图。
读取 Rails 应用的 Ruby 源码,编译为 Rust、Go、TypeScript 等多种目标语言的独立项目。
基于 Rust 编写、可离线运行且注重隐私的英语语法检查工具,可用于编辑器、浏览器和 Node.js。
开源、本地优先的 AI 会议笔记应用,无需机器人入会,直接采集设备音频,可作为 Granola 的替代。