A page that hard-codes '/books/' + isbn breaks silently when the route changes. Wayfinder 1,844 (https://github.com/laravel/wayfinder 1,844 ) (laravel/wayfinder 0.1.21, beta until 1.0) generates a TypeScript function per route and controller action. php artisan wayfinder:generate wrote resources/js/actions and resources/js/routes, and @laravel/vite-plugin-wayfinder reruns it on every build and file change. show.url(isbn) returns /books/<isbn>; show(isbn) returns { url, method }, which Inertia 515,106 's <Link href> and useForm accept. Renaming the action to display() and regenerating made the build refuse to ship (folded at 95 columns):
✗ Build failed in 466ms error during build: Build failed with 1 error: [MISSING_EXPORT] "show" is not exported by "resources/js/actions/App/Http/Controllers/BookContr oller.ts". ╭─[ resources/js/pages/books/show.jsx:2:10 ]
Folio 607 (https://github.com/laravel/folio 607 ) (laravel/folio 1.2.0) makes files the routes: after composer require laravel/folio and php artisan folio:install, each Blade file in resources/views/pages is a page, with brackets for parameters ([Product].blade.php binds a model) and name() or middleware() calls at its top.
$ php artisan folio:list
GET /about ........................................... about.blade.php
GET /authors/{id} .............. authors.show › authors/[id].blade.php
Showing [2] routes
$ curl -s http://127.0.0.1:8307/authors/42
<h1>Author 42</h1>Folio suits content sites; resources with many actions stay clearer as controllers (Routing).