← 返回列表

tsrs:用 Rust 实现 TypeScript 7 类型检查器的替代实现

oxc-project/tsrs · Rust port of the TypeScript 7 type checker

GitHub原文发布 未知首次收录 2026-10-22上架 2026-10-22 07:02

☆ 收藏查看项目 ↗

ELI5:它是什么,解决什么问题

tsrs 是 TypeScript 7 编译器和语言服务器的 Rust 实现,可作为替代品使用,目标是与上游 TypeScript 达到 100% 一致性,同时降低内存占用并加快类型检查。它提供类似编译器的命令行用法(如 --noEmit)、编辑器集成说明、尚不稳定的 Node API 以及面向 wasm32-wasip1 的 WebAssembly 支持;目前不支持 --init 和 --showConfig。

核心能力与快速开始

★ 1730 · Rust

能做什么
以 Rust 重写 TypeScript 7 编译器和语言服务器,提供可直接替代 TypeScript 7 编译器的命令行工具和语言服务器,目标是对上游 TypeScript 主分支保持 100% 一致性;重点在于减少内存占用和提升类型检查速度。支持通过 pnpm 安装并执行 tsrs --noEmit 进行类型检查;提供编辑器集成(LSP)说明、标注为不稳定的 Node API,以及 @tsrs/wasm 的 WebAssembly 支持(wasm32-wasip1 / WASI Preview 1)。
适用场景
需要在现有 TypeScript 项目中试用更省内存、更快的类型检查工具;在编辑器中使用语言服务器;在命令行中执行类型检查而不生成输出(--noEmit);在 Node 或浏览器环境中通过 WebAssembly 使用;参考基准测试比较不同并行检查线程数下的性能与内存表现。
项目形态
可直接使用的工具
部署方式
通过 npm 分发并可用 pnpm 安装为开发依赖;另提供 wasm32-wasip1 目标的 WebAssembly 包。未说明服务端部署方式。
主要依赖
未说明具体的硬件或运行时最低要求;README 提到可通过 --checkerAssignment go --noLazyMembers 进行最接近的对比,并说明并行检查线程数会影响结果。
使用限制
目标是与 TypeScript 7.1 达到 100% 一致性,但尚未发布稳定版;不支持 --init 和 --showConfig;Node API 标注为不稳定;已知存在诊断与追踪顺序问题,并行解析、解析和检查的顺序可能影响输出;作者称在现有项目测试中尚未发现正确性缺陷,但兼容性与已知缺口需参考文档;PR 暂不开放审阅。
许可证
Apache-2.0
最近推送
2026-10-22 02:10

资料检查:2026-10-22 07:00 · 卡片整理:2026-10-22 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证

职业应用

程序员

作为 TypeScript 7 编译器和语言服务器的替代品,用于对 TypeScript 代码进行类型检查(如 pnpm exec tsrs --noEmit),并可在编辑器中集成以获得更快的类型检查与更低的内存占用。

查看内容依据
`tsrs` is a drop-in replacement for the TypeScript 7 compiler and language server, written in Rust.

官方使用入口 ↗

由 AI 根据来源材料整理,未进行安装或运行验证

这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。