Reference

Coverage matrix

Two different things live on this page, and it's worth not confusing them. First: how much of each targeted feature area works. Second: how the compiler scores against full external test suites — a much harsher, much lower number.

Targeted feature areas

These count a feature that works for its core, documented case, mirrored from the project's own status matrix (the repository tracks a stricter “zero-caveat” number per page too). They say “the paths this compiler targets work” — not “it runs all TypeScript.”

~95%TypeScript core language295 / 309 targeted features
100%Web Platform APIs55 / 55 targeted features
~95%Node.js APIs81 / 85 targeted features

External conformance

Run unfiltered against the public suites, the numbers are low — and shown anyway, because hiding them would be dishonest. This is a typed subset compiler: most of Test262 uses eval as its own assertion mechanism, and Node's tests are dynamic, untyped JavaScript against the entire platform. Those files don't fail so much as fall outside what this project set out to compile.

14.8%Test262 (in-scope subset)5,067 / 34,334 · 10.9% over the full corpus
51.4%TypeScript accept/reject4,755 / 9,256 cases agree with tsc
1.8%Node.js test/parallel21 / 1,195 runnable files pass
  • Test262 — 5,858 / 53,578 (10.9%) of the whole corpus; 5,067 / 34,334 (14.8%) once the out-of-scope tags (Intl, Temporal, dynamic import(), Proxy/Reflect, module/async/eval flags) are filtered out. The core-language category alone runs at ~21%.
  • TypeScript — accept/reject agreement with tsc over ~9.3k single-file cases; disagreements are dominated by valid TS features this narrow subset doesn't implement.
  • Node.js — of Node's full test/parallel suite, ~1,195 files compile far enough to run and 21 pass. It's a floor on “how much of Node's own suite runs verbatim,” not a module-correctness score.

Language

AreaCoverage
Async / Promise100%
Classes / OOP100%
Array methods100%
Number / Math100%
Type primitives100%
Object & collections97%
Modules94%
String methods93%
JSON87%
Type system features82%

Web platform

AreaCoverage
Networking (fetch, WS, SSE)100%
Streams100%
Web Crypto100%
Workers / Concurrency100%
Binary data & Typed Arrays100%
URL100%
Timers100%

Node.js

AreaCoverage
HTTP Server100%
events (EventEmitter)100%
path100%
os100%
File System (fs)93%
Process / CLI I/O92%
Other core modules92%

Known sharp edges

  • A bare : number is a JS-faithful IEEE-754 double — use a sized int8uint64 type (or a JSDoc width) for integer semantics.
  • Concurrency is cooperative — one fiber at a time per thread, no preemption.
  • Nothing is dynamic — no Proxy, no runtime property add/delete.
  • Whole-program compile only — there's no separate compilation or link step.

Figures as of 2026-08-25. The repository's status pages are the source of truth.