🗑️ Remove Pulse and Sanctum configuration files due to deprecation

🛠️ Upgrade to Laravel 12 and update dependencies, including `laravel-echo` and `pusher-js`
🗑️ Remove `laravel/folio` package and related configurations
This commit is contained in:
HolgerHatGarKeineNode
2026-01-18 00:50:27 +01:00
parent f73ba2ea15
commit 087b7a4997
10 changed files with 726 additions and 1258 deletions

View File

@@ -9,18 +9,15 @@ The Laravel Boost guidelines are specifically curated by Laravel maintainers for
This application is a Laravel application and its main Laravel ecosystems package & versions are below. You are an expert with them all. Ensure you abide by these specific packages & versions.
- php - 8.3.29
- laravel/folio (FOLIO) - v1
- laravel/framework (LARAVEL) - v11
- laravel/framework (LARAVEL) - v12
- laravel/prompts (PROMPTS) - v0
- laravel/pulse (PULSE) - v1
- laravel/reverb (REVERB) - v1
- laravel/sail (SAIL) - v1
- laravel/sanctum (SANCTUM) - v4
- livewire/livewire (LIVEWIRE) - v4
- laravel/mcp (MCP) - v0
- laravel/pint (PINT) - v1
- pestphp/pest (PEST) - v2
- phpunit/phpunit (PHPUNIT) - v10
- pestphp/pest (PEST) - v3
- phpunit/phpunit (PHPUNIT) - v11
- laravel-echo (ECHO) - v1
- tailwindcss (TAILWINDCSS) - v3
@@ -126,47 +123,6 @@ protected function isAccessible(User $user, ?string $path = null): bool
- Execute PHP scripts: `vendor/bin/sail php [script]`
- View all available Sail commands by running `vendor/bin/sail` without arguments.
=== folio/core rules ===
## Laravel Folio
- Laravel Folio is a file-based router. With Laravel Folio, a new route is created for every Blade file within the configured Folio directory. For example, pages are usually in `resources/views/pages/` and the file structure determines routes:
- `pages/index.blade.php``/`
- `pages/profile/index.blade.php``/profile`
- `pages/auth/login.blade.php``/auth/login`
- You may list available Folio routes using `vendor/bin/sail artisan folio:list` or using the `list-routes` tool.
### New Pages & Routes
- Always create new `folio` pages and routes using `vendor/bin/sail artisan folio:page [name]` following existing naming conventions.
<code-snippet name="Example folio:page Commands for Automatic Routing" lang="shell">
// Creates: resources/views/pages/products.blade.php → /products
vendor/bin/sail artisan folio:page "products"
// Creates: resources/views/pages/products/[id].blade.php → /products/{id}
vendor/bin/sail artisan folio:page "products/[id]"
</code-snippet>
- Add a 'name' to each new Folio page at the very top of the file so it has a named route available for other parts of the codebase to use.
<code-snippet name="Adding Named Route to Folio Page" lang="php">
use function Laravel\Folio\name;
name('products.index');
</code-snippet>
### Support & Documentation
- Folio supports: middleware, serving pages from multiple paths, subdomain routing, named routes, nested routes, index routes, route parameters, and route model binding.
- If available, use the `search-docs` tool to use Folio to its full potential and help the user effectively.
<code-snippet name="Folio Middleware Example" lang="php">
use function Laravel\Folio\{name, middleware};
name('admin.products');
middleware(['auth', 'verified', 'can:manage-products']);
?>
</code-snippet>
=== laravel/core rules ===
## Do Things the Laravel Way
@@ -212,34 +168,28 @@ middleware(['auth', 'verified', 'can:manage-products']);
### Vite Error
- If you receive an "Illuminate\Foundation\ViteException: Unable to locate file in Vite manifest" error, you can run `vendor/bin/sail yarn run build` or ask the user to run `vendor/bin/sail yarn run dev` or `vendor/bin/sail composer run dev`.
=== laravel/v11 rules ===
=== laravel/v12 rules ===
## Laravel 11
## Laravel 12
- Use the `search-docs` tool to get version-specific documentation.
- Laravel 11 brought a new streamlined file structure which this project now uses.
- Since Laravel 11, Laravel has a new streamlined file structure which this project uses.
### Laravel 11 Structure
- In Laravel 11, middleware are no longer registered in `app/Http/Kernel.php`.
### Laravel 12 Structure
- In Laravel 12, middleware are no longer registered in `app/Http/Kernel.php`.
- Middleware are configured declaratively in `bootstrap/app.php` using `Application::configure()->withMiddleware()`.
- `bootstrap/app.php` is the file to register middleware, exceptions, and routing files.
- `bootstrap/providers.php` contains application specific service providers.
- **No app\Console\Kernel.php** - use `bootstrap/app.php` or `routes/console.php` for console configuration.
- **Commands auto-register** - files in `app/Console/Commands/` are automatically available and do not require manual registration.
- The `app\Console\Kernel.php` file no longer exists; use `bootstrap/app.php` or `routes/console.php` for console configuration.
- Console commands in `app/Console/Commands/` are automatically available and do not require manual registration.
### Database
- When modifying a column, the migration must include all of the attributes that were previously defined on the column. Otherwise, they will be dropped and lost.
- Laravel 11 allows limiting eagerly loaded records natively, without external packages: `$query->latest()->limit(10);`.
- Laravel 12 allows limiting eagerly loaded records natively, without external packages: `$query->latest()->limit(10);`.
### Models
- Casts can and likely should be set in a `casts()` method on a model rather than the `$casts` property. Follow existing conventions from other models.
### New Artisan Commands
- List Artisan commands using Boost's MCP tool, if available. New commands available in Laravel 11:
- `vendor/bin/sail artisan make:enum`
- `vendor/bin/sail artisan make:class`
- `vendor/bin/sail artisan make:interface`
=== livewire/core rules ===
## Livewire