An extremely fast JavaScript, TypeScript, JSX and CSS bundler with a CLI, JS and Go API.
pingdotgg/ts-rust
An experimental Rust port of the TypeScript 7 compiler (tsc), with the same CLI, language server and API, plus built-in Effect diagnostics.
- Stars
- 1,377
- Forks
- 92
- Open issues
- 20
- Last commit
- 8 hours ago
What is it?
ts-rust is a Rust port of Microsoft's native TypeScript compiler, which is written in Go. It keeps the Go implementation's algorithms and behavior and offers the same command line (tsc), language server and API. It is installed from npm as the tsc-rs package so it does not clash with the typescript package, and standalone archives are published per platform.
The project is pinned to a specific upstream TypeScript revision and aims for output identical to the pinned tsc 7. It includes the Effect language service diagnostics, enabled when a tsconfig lists the @effect/language-service plugin. Several opt-in switches, such as --fast and --checkers N, trade CPU and memory for speed. The project is early-stage and labeled experimental.
The repository also includes benchmarks against tsc 6, tsc 7 and Bun on real open-source apps, along with known differences in monorepo resolution and tsc -b timing.
Key features
- 01Drop-in replacement for the tsc command line with the same options.
- 02Language server and API matching the Go implementation's behavior.
- 03Built-in Effect language service diagnostics and editor features.
- 04Opt-in --fast mode that runs multiple checkers in parallel.
- 05Prebuilt binaries for Linux, macOS and Windows, distributed via npm.
Use cases
- Speeding up full type checks in large TypeScript monorepos.
- Running TypeScript type checks in CI where compile time matters.
- Type checking Effect-based projects without a second compiler pass.
Quick start
- 1
Install the package from npm
npm install -D tsc-rs - 2
Type-check your project with the tsconfig
npx tsc-rs -p tsconfig.json
Things to know
- The README calls it an early release and says the author has never read the code.
- Installation is warned to be uncertain, with no guarantee it works.
- Only Linux, macOS arm64 and some later-release platforms are listed, so support varies by OS.
Topics
FAQ
- What is ts-rust?
- An experimental Rust port of the TypeScript 7 compiler (tsc), with the same CLI, language server and API, plus built-in Effect diagnostics. ts-rust is a Rust port of Microsoft's native TypeScript compiler, which is written in Go. It keeps the Go implementation's algorithms and behavior and offers the same command line (tsc), language server and API. It is installed from npm as the tsc-rs package so it does not clash with the typescript package, and standalone archives are published per platform.
- Is ts-rust free to use? What license does it have?
- ts-rust is open source under the MIT license. Check the license terms before using it in commercial products.
- Is ts-rust still maintained?
- Actively maintained. The last commit to ts-rust was on Oct 20, 2026.
- What can I use ts-rust for?
- Speeding up full type checks in large TypeScript monorepos. Running TypeScript type checks in CI where compile time matters. Type checking Effect-based projects without a second compiler pass.
- How do I install ts-rust?
- Install the package from npm: npm install -D tsc-rs Type-check your project with the tsconfig: npx tsc-rs -p tsconfig.json
- Where can I get ts-rust?
- The source code and installation instructions are on GitHub: https://github.com/pingdotgg/ts-rust
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A experimental TypeScript and JavaScript compiler that turns programs into native executables or WebAssembly, without requiring Node.js at runtime.
A port of VS Code's workbench that swaps Electron for Tauri, using the system webview to cut memory use. Early release.
A Rust static analysis engine that builds compact program graphs from source code and generates 19 UML and compiler-IR diagrams from them.
A compiler that reads Rails applications in Ruby and emits standalone projects in other languages such as Rust, Go, TypeScript, Elixir, or a native Spinel binary.
Offline, privacy-first English grammar checker written in Rust, usable from editors, the browser, and Node.js.