Repolode
oxc-project

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. 1

    使用 pnpm 将 tsrs 安装为开发依赖

    pnpm add -D tsrs
  2. 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 数据每日更新。

相关项目