Zod؛ اعتبارسنجی داده با اولویت TypeScript
خلاصهٔ کاملتر
تیم Zod این کتابخانه رو بهعنوان یه ابزار اعتبارسنجی با اولویت TypeScript معرفی میکنه: باهاش schema تعریف میکنی و بعد از همون schema هم برای چککردن داده استفاده میکنی هم تایپ استاتیکش رو TypeScript خودش درمیاره. یعنی لازم نیست تایپ رو جدا بنویسی و schema رو جدا؛ یه منبع حقیقت داری.
Zod از یه string سادهٔ تنها تا یه آبجکت تودرتوی پیچیده رو میتونه اعتبارسنجی کنه. نکتهٔ مهم اینه که APIاش immutableه؛ یعنی هر متد یه instance تازه برمیگردونه و چیزی رو سرجاش تغییر نمیده.
از نظر ویژگیها، Zod صفر وابستگی خارجی داره، هم روی Node.js و هم روی مرورگرهای مدرن کار میکنه و هستهٔ اصلیش gzipشده حدود ۲ کیلوبایته. تبدیل به JSON Schema هم بهصورت توکار داخلش هست و با TypeScript و JavaScript خالی هر دو کار میکنه.
برای استفاده باید TypeScript نسخهٔ 5.5 به بالا داشته باشی و حالت strict رو تو tsconfig.json روشن کنی؛ چیزی که بههرحال برای همهٔ پروژههای TypeScript توصیه میشه.
نکتهٔ خبری این صفحه اینه که Zod 4 حالا پایداره و release notes و راهنمای مهاجرتش هم منتشر شده. یه اکوسیستم بزرگ هم دورش شکل گرفته؛ سازنده به پروژههایی مثل tRPC برای APIهای type-safe و resolver مخصوص Zod تو React Hook Form اشاره میکنه که خودش هم روشون کار میکنه.
نکات کلیدی:
- Zod با یه schema هم داده رو اعتبارسنجی میکنه هم تایپ TypeScript رو استنتاج میکنه.
- صفر وابستگی خارجی، هستهٔ ~۲ کیلوبایتی و API غیرقابلتغییر (immutable).
- تبدیل توکار به JSON Schema و کار روی Node.js و مرورگرها.
- نیازمند TypeScript 5.5+ و حالت strict؛ نسخهٔ ۴ الان پایداره.
- اکوسیستم گسترده مثل tRPC و React Hook Form ازش پشتیبانی میکنن.




