oxc-project / tsrs
git clone https://github.com/oxc-project/tsrs.git
v0.18.0 · 4d ago
Rust port of the TypeScript 7 type checker
+167
stars, 24h · #235
+~2.5k
stars, 7 days · #72
+2.0k
stars, 30 days · #407
2.0k
★ total · +2487% this week
37
forks · 25 open issues
Star history (as recorded here)
LanguageRust
LicenseApache-2.0
Created2026-10-01 (21d ago)
Last pushtoday
Watchers4
OwnerOrganization
Links
- GitHub: github.com/oxc-project/tsrs
- Homepage: https://www.npmjs.com/package/tsrs
- Releases · Issues · Hacker News mentions
README excerpt
# `tsrs` `tsrs` is a drop-in replacement for the TypeScript 7 compiler and language server, written in Rust. Our goal is 100% conformance, with much lower memory use and faster type checking. Read the announcement. ## Get started [code] You can try `tsrs` today and give us feedback on performance, memory usage, and conformance. Try checking and emitting code in the browser playground. ## Conformance `tsrs` currently targets the main branch of microsoft/TypeScript. We aim to release a stable version against TypeScript 7.1 with 100% conformance. In our testing on existing projects, we have yet to find a correctness bug in `tsrs`. There are known order issues: the pinned Go compiler can produce different diagnostics and traces depending on parallel parse, resolution, and check order, while `tsrs` canonicalizes some checker history by default. For the closest comparison, use `--checkerAssignment go --noLazyMembers`; tsgo parser and resolver races can still vary between runs. `--init` and `--showConfig` are not supported. See compatibility and evidence for supported features and known gaps. ## Extra features `@tsrs/wasm` provides WebAssembly support targeting `wasm32-wasip1` (WASI Preview 1). ## Learn more - CLI usage and memory tuning - Editor setup - Node API (unstable) - WebAssembly for Node and browsers - Benchmarks and methodology - Release notes - Engineering notes ## Contributing The issue tracker is open for bug reports. Please include a minimal reproduction. Pull requests remain closed because we don't have the bandwidth to review them. See the contributing guide for building from source and running the suites, the Code of Conduct, and security policy for reporting vulnerabilities. ## Acknowledgments We thank the following organizations and contributors: - Depot CI for sponsoring our continuous integration. - Owner.com for sponsoring the initial work. - Max Schwenk for the port. - @walkerdb for improvements to the project. - @JiangWeixian for transferring the `tsrs` npm package name. We extend special thanks to the TypeScript team for their support. ## License `tsrs` is a derivative of TypeScript (Copyright Microsoft Corporation), licensed under Apache-2.0. The bundled `lib.*.d.ts` files are TypeScript's. See NOTICE for attribution. Not affiliated with or endorsed by Microsoft.