Freek Van der Herten présente Wayfinder dans le cadre de There There, le helpdesk développé par Spatie après deux décennies consacrées à son propre support pour des projets open source et des services SaaS. L’application utilise Laravel et Inertia et se trouve en bêta privée. Son IA aide les agents de support, la personne gardant la maîtrise de l’échange et le modèle améliorant les réponses.

Wayfinder
import {
 add as addTeamMember,
 remove as removeTeamMember,
} from '@/routes/app/settings/workspace/teams/members';
removeTeamMember.url({ team: team.ulid, user: member.ulid });
addTeamMember.url({ team: team.ulid, user: member.ulid });

Dans une application React, les URL se retrouvent dans les appels fetch, les actions de formulaire et les liens. Un renommage de route ou l’ajout d’un paramètre obligatoire peut passer la compilation sans alerte. Wayfinder produit une fonction pour chaque route nommée. Sa méthode .url() construit l’adresse et TypeScript vérifie les paramètres. Si user devient member, les appels concernés déclenchent une erreur de typage. Les noms de routes servent aussi de chemins d’import, ce qui facilite la recherche par autocomplétion.

Les contrôleurs ont eux aussi une fonction générée. L’exemple appelle MessageRetryController avec fetch et la méthode POST pour relancer un message sortant qui a échoué. Renommer le contrôleur PHP fait échouer le build TypeScript. Le plugin @laravel/vite-plugin-wayfinder surveille les routes et contrôleurs pendant le développement, puis régénère les fonctions après chaque modification. L’auteur dit avoir éliminé une catégorie de bugs liée aux changements de route. Les appels fetch renvoient moins de 404 inattendus, et les débats sur les slashs finaux ont disparu.