Project Zang

Project Zang (tsz) is an ambitious project to write a complete TypeScript type checker and language service in Rust that is faster than tsgo.

Work in progress. This project is not ready for general use yet. Many TypeScript features are still being implemented.

Performance

Arithmetic mean across 15 benchmark cases.

tsz
106.0ms
TSGO
224.7ms tsz 2.12x faster

Progress

We run TypeScript's own test suite to ensure tsz can serve as a drop-in replacement - comparing diagnostics, JavaScript emit, declaration emit, and language service behavior against tsc.

Currently targeting TypeScript 6.0.1-rc

Conformance
94.6% - 11,897/12,581
JS Emit
91.1% - 12,319/13,525
Declaration Emit
73.7% - 1,222/1,659
Language Service
58.5% - 3,839/6,562

1,305,471 lines of Rust across 14 crates

Conformance is measured by diagnostic fingerprint comparison: each diagnostic must match tsc in error code, file, line, column, and message.

Install

$ npm install -g @mohsen-azimi/tsz-dev

Or with Cargo:

$ cargo install tsz-cli

Then run it just like tsc:

$ tsz --project ./tsconfig.json