У треді на X Joe Tannenbaum повідомив, що вийшла нова бета Laravel Wayfinder.
Laravel Wayfinder з'єднує ваш Laravel бекенд і TypeScript фронтенд без зайвого клопоту. Він автоматично генерує повністю типізований TypeScript із вашого PHP-коду. Забудьте про ручне підтримання URL-ів маршрутів, типів запитів і API-контрактів — Wayfinder тримає фронтенд і бекенд у повній синхронізації.
За його словами, ця версія перетворює у TypeScript ще більше артефактів прямо з вашого PHP:
- 📍 Routes
- ⌨️ Form Requests
- 🗃️ Eloquent Models
- 🔢 PHP Enums
- 📃 Inertia Page Props
- 🌎 Inertia Shared Data
- 📡 Broadcast Channels
- 📣 Broadcast Events
- ⚙️ Vite Environment Variables
А ще з’явилися нові інструменти:
- 🔍 Surveyor — (переважно) static analysis інструмент для вилучення детальної інформації з коду
- 🧭 Ranger — шар над Surveyor, де можна реєструвати callbacks при виявленні сутностей і отримувати докладні DTO
Ключові оновлення бети Wayfinder
Ось головні покращення:
- Wayfinder тепер парсить props, які ви передаєте Inertia-сторінкам, і генерує TypeScript-типи, що синхронізуються між PHP і компонентом.
- Wayfinder парсить будь-яку валідацію маршруту й генерує TypeScript-типи, які безшовно працюють з useForm хуком Inertia.
- Enums? Є. Wayfinder автоматично генерує TypeScript-репрезентації ваших PHP enums.
- Laravel Echo hooks оновлено: вони можуть виводити payload з імені broadcast-події. Wayfinder автоматично генерує відповідні declaration merging файли.
- Також Wayfinder створює declaration merging файли для shared props Inertia, щоб ви отримували повну типізацію при використанні usePage хуку.
Перегляньте повний реліз у гілці "next" на GitHub