Orval: تولید خودکار کلاینت TypeScript از OpenAPI
خلاصهٔ کاملتر
Orval یه ابزار متنباز برای تولید خودکار کد هست که زندگی توسعهدهندههای فرانتاند رو خیلی راحتتر میکنه. کافیه یه فایل مشخصات API (به فرمت OpenAPI v3 یا Swagger v2، چه YAML چه JSON) بهش بدی تا برات کلاینتهای TypeScript کاملاً تایپسیف بسازه — دیگه لازم نیست تایپها و توابع fetch رو دستی بنویسی.
یکی از نقاط قوت Orval، پشتیبانی گستردهاش از کلاینتهای مختلفه. میتونه مدلها، درخواستها، هوکها و حتی mock (دادههای ساختگی برای تست) برای فریمورکهایی مثل React Query، SWR، Vue Query، Svelte Query، Angular، Hono، Zod و حتی MCP (پروتکل Model Context برای ابزارهای هوش مصنوعی) تولید کنه.
نسخه 8.0.0 یه بهروزرسانی بزرگه و تغییرات مهمی داره؛ اگه از نسخههای قدیمیتر استفاده میکنی، بهتره راهنمای مهاجرت رو قبل از آپدیت مطالعه کنی. این نسخه بهبودهای قابلتوجهی نسبت به قبل داره.
پروژه با Bun ساخته و مدیریت میشه. برای توسعهدهندههایی که میخوان مشارکت کنن، یه workflow مشخص تعریف شده: ابتدا تغییرات رو اعمال کن، با bun run build کامپایل کن، تستهای واحد رو اجرا کن و در نهایت با bun run test:snapshots بررسی کن که خروجی تولیدشده با snapshotهای ثبتشده مطابقت داره.
درباره استفاده از هوش مصنوعی در مشارکتها، تیم Orval صریح موضع گرفته: استفاده از AI کاملاً منع نشده، اما هر کدی که با کمک AI نوشته میشه باید توسط مشارکتکننده بررسی و درک بشه — مسئولیت فهمیدن کد با reviewer نیست.
نکات کلیدی:
- از OpenAPI v3 و Swagger v2 (هر دو فرمت YAML و JSON) پشتیبانی میکنه
- خروجیهای متنوع: مدل، هوک، درخواست HTTP، mock و اعتبارسنجی Zod
- پشتیبانی از React، Angular، Vue، Svelte، Solid، Hono، و MCP
- نسخه 8 تغییرات breaking داره و نیاز به مهاجرت داره
- با Bun ساخته شده و برای مشارکت workflow مشخصی داره




