Repolode
oxc-project

oxc-project/tsrs

A Rust port of the TypeScript 7 compiler and language server, offered as a drop-in replacement for type checking and emit.

Stars
490
Forks
9
Open issues
14
Last commit
1 hour ago

What is it?

tsrs is a drop-in replacement for the TypeScript 7 compiler and language server, written in Rust. It is installed as an npm package and run from the command line with a tsc-style interface, for example `tsrs --noEmit`. The project aims for full conformance with TypeScript, with lower memory use and faster type checking as its main goals.

The project currently tracks the main branch of the TypeScript repository and plans a stable release against TypeScript 7.1. Known differences remain in diagnostic and trace ordering, which can vary with parallel parsing and checking; a flag set is provided for closer comparison with the Go compiler. The `--init` and `--showConfig` options are not supported. WebAssembly builds targeting WASI Preview 1 are available through a separate package, and a browser playground is provided for trying checking and emit.

Pull requests are currently closed; bug reports are accepted through the issue tracker.

Key features

  • 01Drop-in replacement for the TypeScript 7 compiler, run with a tsc-style CLI.
  • 02Language server support for editor integration.
  • 03Targets full conformance with the TypeScript main branch.
  • 04Aims for lower memory use and faster type checking than the TypeScript nightly.
  • 05WebAssembly build for the wasm32-wasip1 target.

Use cases

  • Speeding up type checking in large TypeScript monorepos.
  • Reducing memory use of CI jobs that run type checks.
  • Trying a Rust-based TypeScript checker in an editor or in the browser playground.

Quick start

  1. 1

    Install tsrs as a dev dependency with pnpm

    pnpm add -D tsrs
  2. 2

    Run a type check without emitting files

    pnpm exec tsrs --noEmit

Things to know

  • Not yet fully conformant; it targets the TypeScript main branch rather than a stable release.
  • --init and --showConfig are not supported.
  • Pull requests are closed, so outside code contributions are not accepted.

Topics

FAQ

What is tsrs?
A Rust port of the TypeScript 7 compiler and language server, offered as a drop-in replacement for type checking and emit. tsrs is a drop-in replacement for the TypeScript 7 compiler and language server, written in Rust. It is installed as an npm package and run from the command line with a tsc-style interface, for example `tsrs --noEmit`. The project aims for full conformance with TypeScript, with lower memory use and faster type checking as its main goals.
Is tsrs free to use? What license does it have?
tsrs is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is tsrs still maintained?
Actively maintained. The last commit to tsrs was on Oct 20, 2026.
What can I use tsrs for?
Speeding up type checking in large TypeScript monorepos. Reducing memory use of CI jobs that run type checks. Trying a Rust-based TypeScript checker in an editor or in the browser playground.
How do I install tsrs?
Install tsrs as a dev dependency with pnpm: pnpm add -D tsrs Run a type check without emitting files: pnpm exec tsrs --noEmit
Where can I get tsrs?
The source code and installation instructions are on GitHub: https://github.com/oxc-project/tsrs

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects