Compatibility

tsz is close to tsc compatibility across diagnostics, emit, and editor behavior. The remaining work is concentrated in real-project compile readiness and the last release-gate gaps tracked below.

Currently tracking TypeScript 7.0.2.

Type Checking

The conformance suite compares tsz diagnostics with tsc on TypeScript's own compiler tests. This is the main signal for whether tsz agrees with tsc about types and errors.

Type checking
96.9%

11,667 of 12,043 compiler tests match tsc.

Emit

Emit compatibility means the generated output matches what TypeScript users expect from tsc. JavaScript emit and declaration emit are tracked separately because they fail for different reasons and matter to different users.

JavaScript emit
100.0%
Declaration emit
99.1%

JavaScript emit is at 100.0%. Declaration emit is at 99.1%.

Language Service

The language-service suite checks editor-facing behavior: completions, hover, go-to-definition, diagnostics, and related workflows that developers feel in an IDE.

Editor behavior
100.0%

6,562 of 6,562 editor tests match the TypeScript suite.

Project compatibility

These rows track real project fixtures that tsc accepts. A green row means tsz completed the same project check; red or yellow rows identify the current compatibility blocker. A "Not measured" row is a defined corpus project with no measurement in the latest artifact.

11 of 69 defined corpus rows measured · 58 not measured.

Generated 2026-10-14T05:45:48Z · sha 153b25adb393 · tsz release build without PGO · linux/x64 · 4 CPUs AMD EPYC 7763 64-Core Processor · 15.6 GiB RAM · GitHub Actions Linux/X64 · run status: completed

utility-types Passing 1,012 lines no ambient stubs exit success check 5 files 75 MiB peak
ts-essentials Passing 3,903 lines no ambient stubs exit success check 95 files 33 MiB peak
RxJS Passing 20,151 lines no ambient stubs exit success check 240 files 34 MiB peak
type-fest Passing 16,758 lines no ambient stubs exit success check 206 files 42 MiB peak
ts-toolbelt Passing 8,044 lines no ambient stubs exit success check 242 files 35 MiB peak
Zod Passing 4,333 lines no ambient stubs exit success check 8 files 165 MiB peak
Kysely Errors 39,724 lines no ambient stubs nonzero exit check 272 files 1,208 MiB peak
type-challenges solutions Not measured — no ambient stubs missing or incomplete artifact artifact — —
generated Vite app Passing 86 lines no ambient stubs exit success check 4 files 53 MiB peak
generated Next app Passing 282 lines no ambient stubs exit success check 7 files 72 MiB peak
large-ts-repo Timeout 1,288,641 lines no ambient stubs timeout timing 6,061 files —
Next.js full project Not measured — no ambient stubs missing or incomplete artifact artifact — —
Valibot Not measured — no ambient stubs missing or incomplete artifact artifact — —
MSW Not measured — 19 stubbed modules, 296 any members missing or incomplete artifact artifact — —
Comlink Passing 814 lines no ambient stubs exit success check 3 files 61 MiB peak
Effect Not measured — 2 stubbed modules, 14 any members missing or incomplete artifact artifact — —
Drizzle ORM Not measured — 44 stubbed modules, 1013 any members missing or incomplete artifact artifact — —
ts-rest Not measured — 2 stubbed modules, 60 any members missing or incomplete artifact artifact — —
ofetch Not measured — 2 stubbed modules, 5 any members missing or incomplete artifact artifact — —
ts-pattern Not measured — no ambient stubs missing or incomplete artifact artifact — —
radash Not measured — no ambient stubs missing or incomplete artifact artifact — —
valtio Not measured — 3 stubbed modules, 55 any members missing or incomplete artifact artifact — —
scule Not measured — no ambient stubs missing or incomplete artifact artifact — —
mitt Not measured — no ambient stubs missing or incomplete artifact artifact — —
change-case Not measured — no ambient stubs missing or incomplete artifact artifact — —
tiny-invariant Not measured — no ambient stubs missing or incomplete artifact artifact — —
ts-belt Not measured — no ambient stubs missing or incomplete artifact artifact — —
ts-extras Not measured — 1 stubbed module, 92 any members missing or incomplete artifact artifact — —
superjson Not measured — 1 stubbed module, 8 any members missing or incomplete artifact artifact — —
tRPC Not measured — 7 any members missing or incomplete artifact artifact — —
TanStack Query Not measured — no ambient stubs missing or incomplete artifact artifact — —
TanStack Router Not measured — 6 stubbed modules, 74 any members missing or incomplete artifact artifact — —
Zustand Not measured — 4 stubbed modules, 18 any members missing or incomplete artifact artifact — —
Jotai Not measured — 3 stubbed modules, 45 any members missing or incomplete artifact artifact — —
fp-ts Not measured — no ambient stubs missing or incomplete artifact artifact — —
io-ts Not measured — 2 any members missing or incomplete artifact artifact — —
Immer Not measured — no ambient stubs missing or incomplete artifact artifact — —
Remeda Not measured — no ambient stubs missing or incomplete artifact artifact — —
ts-morph Not measured — 2 stubbed modules, 18 any members missing or incomplete artifact artifact — —
ArkType Not measured — no ambient stubs missing or incomplete artifact artifact — —
Superstruct Not measured — no ambient stubs missing or incomplete artifact artifact — —
Runtypes Not measured — no ambient stubs missing or incomplete artifact artifact — —
HotScript Not measured — no ambient stubs missing or incomplete artifact artifact — —
TypeBox Not measured — no ambient stubs missing or incomplete artifact artifact — —
class-transformer Not measured — no ambient stubs missing or incomplete artifact artifact — —
TypeGraphQL Not measured — 13 stubbed modules, 156 any members missing or incomplete artifact artifact — —
neverthrow Not measured — no ambient stubs missing or incomplete artifact artifact — —
XState Not measured — no ambient stubs missing or incomplete artifact artifact — —
MobX Not measured — no ambient stubs missing or incomplete artifact artifact — —
umami Not measured — no ambient stubs missing or incomplete artifact artifact — —
excalidraw Not measured — no ambient stubs missing or incomplete artifact artifact — —
dub Not measured — no ambient stubs missing or incomplete artifact artifact — —
formbricks Not measured — no ambient stubs missing or incomplete artifact artifact — —
typebot Not measured — no ambient stubs missing or incomplete artifact artifact — —
lobe-chat Not measured — no ambient stubs missing or incomplete artifact artifact — —
supabase-studio Not measured — no ambient stubs missing or incomplete artifact artifact — —
infisical Not measured — no ambient stubs missing or incomplete artifact artifact — —
payload Not measured — no ambient stubs missing or incomplete artifact artifact — —
medusa Not measured — no ambient stubs missing or incomplete artifact artifact — —
outline Not measured — no ambient stubs missing or incomplete artifact artifact — —
trigger-dev Not measured — no ambient stubs missing or incomplete artifact artifact — —
joplin Not measured — no ambient stubs missing or incomplete artifact artifact — —
directus Not measured — no ambient stubs missing or incomplete artifact artifact — —
n8n Not measured — no ambient stubs missing or incomplete artifact artifact — —
cal-com Not measured — no ambient stubs missing or incomplete artifact artifact — —
documenso Not measured — no ambient stubs missing or incomplete artifact artifact — —
affine Not measured — no ambient stubs missing or incomplete artifact artifact — —
immich-server Not measured — no ambient stubs missing or incomplete artifact artifact — —
rocketchat Not measured — no ambient stubs missing or incomplete artifact artifact — —