Real-world Zod compatibility corpus
Generated: 2026-07-10T20:49:48.310Z
The corpus scans pinned public TypeScript sources without vendoring them. Counts describe observed Zod usage; compilation diagnostics compare the same self-contained files before and after replacing Zod imports. This is a compatibility measurement, not a claim of full semantic parity.
Summary
| Metric | Result |
|---|---|
| Repositories | 9 |
| Files importing Zod | 1875 |
| Observed Zod calls | 28758 |
| Unique static paths | 41 |
| Unique fluent methods | 50 |
| Self-contained files compiled | 224 |
| New TypeSea diagnostics | 0 |
| Missing static paths | 0 |
| Missing fluent methods | 0 |
| Missing declaration exports | 0 |
The sampled self-contained files compile without replacement-only diagnostics. This result measures the pinned corpus and does not prove full Zod semantic parity. The zero budgets prevent later compatibility drift from entering unnoticed.
Repositories
| Repository | Commit | License | Zod files | Calls |
|---|---|---|---|---|
| t3-oss/create-t3-app | 4709861f7e67 | MIT | 19 | 40 |
| calcom/cal.diy | f00434927386 | MIT | 510 | 5373 |
| hoppscotch/hoppscotch | afc2cf181c16 | MIT | 94 | 1629 |
| triggerdotdev/trigger.dev | 2cac63f13ab1 | Apache-2.0 | 545 | 12489 |
| trpc/trpc | 340811ba5320 | MIT | 147 | 1511 |
| shadcn-ui/ui | 3cdaa6eb2f0d | MIT | 95 | 874 |
| payloadcms/payload | fd11d0796117 | MIT | 23 | 607 |
| medusajs/medusa | 917ddbe0e56b | MIT | 170 | 1849 |
| supabase/supabase | e5df232b44cf | Apache-2.0 | 272 | 4386 |
Compatibility gaps
- Static paths: none
- Fluent methods: none
- Type exports: none
Most frequent static APIs
| API | Calls |
|---|---|
string | 12291 |
object | 4939 |
number | 2545 |
coerce.number | 2058 |
boolean | 1771 |
array | 1333 |
literal | 991 |
enum | 799 |
record | 434 |
union | 380 |
discriminatedUnion | 201 |
coerce.date | 160 |
unknown | 133 |
any | 118 |
date | 105 |
preprocess | 98 |
optional | 90 |
nativeEnum | 85 |
lazy | 38 |
coerce.boolean | 34 |
null | 31 |
tuple | 21 |
nullable | 19 |
custom | 14 |
instanceof | 14 |
undefined | 14 |
void | 10 |
coerce.string | 6 |
bigint | 5 |
intersection | 4 |
Most frequent fluent methods
| API | Calls |
|---|---|
optional | 4462 |
int | 1595 |
min | 1556 |
default | 1232 |
describe | 654 |
nullable | 509 |
max | 467 |
transform | 350 |
safeParse | 330 |
parse | 306 |
trim | 286 |
refine | 269 |
nullish | 259 |
positive | 223 |
catch | 156 |
array | 133 |
or | 114 |
url | 112 |
extend | 111 |
passthrough | 99 |
superRefine | 78 |
email | 73 |
regex | 66 |
merge | 60 |
strict | 54 |
and | 51 |
nonnegative | 47 |
pipe | 27 |
partial | 26 |
uuid | 25 |
Compilation regressions
No TypeSea-only diagnostics were produced.