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.
pnpm add -D tsrs
pnpm exec tsrs --noEmitYou can try tsrs today and give us feedback on performance, memory usage, and conformance.
Try checking and emitting code in the browser playground.
We aim to release a stable version against TypeScript 7.1 with 100% conformance. See compatibility and evidence for supported features and known gaps.
Deterministic checking means the same code and compiler options produce the same errors and exit status on every run, regardless of thread scheduling. Known checker-order issues can make errors appear or disappear between runs; see #725.
To use Go-compatible checker assignment:
pnpm exec tsrs --noEmit --checkerAssignment goThis does not guarantee deterministic results for every program. See comparison options for closer comparisons with tsgo.
@tsrs/wasm provides WebAssembly support
targeting wasm32-wasip1 (WASI Preview 1).
- CLI usage and memory tuning
- Editor setup
- Node API
- WebAssembly for Node and browsers
- Benchmarks and methodology
- Release notes
- Engineering notes
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.
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
tsrsnpm package name.
We extend special thanks to the TypeScript team for their support.
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.