deps: Composer- und npm-Pakete innerhalb der Constraints aktualisiert

Laravel 12.69, Livewire 4.4, Flux 2.20, Cashier 16.8 (Stripe-SDK 21),
Larastan 3.12; Vite 6.4.3, Tailwind 4.3, Alpine 3.17 - npm audit 0.
Drei neue Larastan-Befunde behoben, drei tote Baseline-Einträge entfernt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-15 15:04:52 +00:00
parent e84c2772ed
commit 71d9639491
7 changed files with 2508 additions and 1457 deletions

View file

@ -1111,3 +1111,46 @@ Tests: `tests/Feature/MailSuppressionAdminTest.php` (3).
**Damit ist 1b.6 komplett — und Block 1b.** Offen bleibt nur das
Anlegen des Postfachs und die Live-Konfiguration (siehe Deploy-Hinweise
zu Schritt 1 und 3).
## Zwischenschritt — Paket-Update (15.09.2026)
Anlass: Auf Live war `composer require webklex/laravel-imap` samt
`composer update` von Hand gelaufen. Das hob dort *alle* Pakete an, die
`composer.lock` wich vom Repo ab, und die im Mai veröffentlichten
Livewire-Assets (`public/vendor/livewire`, gitignored) passten nicht mehr
zum neuen Livewire — Konsolen-Warnung „published assets are out of
date" und verschobene Formatierung, weil der Portal-Build noch gegen die
alte Flux-CSS gebaut war.
Entscheidung: Das Update wird hier nachgezogen und versioniert, statt
Live zurückzusetzen.
- `composer update` innerhalb der Constraints: 71 Pakete. Wesentlich:
Laravel 12.63 → 12.69, Livewire 4.2.4 → 4.4.5, Flux/Flux Pro 2.14 →
2.20, Volt 1.10 → 1.11, Fortify 1.36 → 1.39, Cashier 16.5 → 16.8 (zieht
`stripe/stripe-php` 17 → 21 nach, API-Version bleibt über Cashier
gepinnt), Larastan 3.9 → 3.12, Pint 1.29 → 1.32. Majors (Laravel 13,
Pest 5, spatie/permission 8) bewusst nicht.
- `npm update` + `npm audit fix`: Vite 6.4.0 → 6.4.3, Tailwind 4.1 → 4.3,
Alpine 3.15 → 3.17; vorher 13 gemeldete Schwachstellen (Build-Tooling),
danach 0.
- Larastan 3.12 versteht Query-Scopes jetzt selbst → drei Baseline-Einträge
(`visibleInArchive`, `forPortalValues`) waren tot und sind raus. Drei
neue Befunde behoben: `PressReleaseService::notifyAuthor()` wählt die
Mailable jetzt über den Benachrichtigungstyp statt über ein zweites
`match`; `PressReleaseMediaPrivatizer` prüft vor `fclose()` nicht mehr
auf `is_resource`; `FixApiPortalDuplicates` iteriert über ein Array
statt über Collection-Offsets. phpstan: No errors, Pint sauber.
- Flux-Changelog 2.15–2.20 gesichtet: keine Breaking Changes, aber
Feinkorrekturen an Icon-Buttons (Inset/Padding), Navbar-Abständen,
Sidebar-Tooltips und Tabellen-Padding. Die auf Live gesehenen Sprünge
kamen aus dem alten Build; nach frischem `npm run build` bleiben
allenfalls diese kleinen Anpassungen.
- Tests: 1612 passed.
Deploy: `composer install`, `npm run build`, **`php artisan
livewire:publish --assets`** (gehört dauerhaft ins Ploi-Skript, sonst
läuft `public/vendor/livewire` bei jedem Livewire-Update wieder aus dem
Takt), `optimize:clear`, `config:cache`, `view:cache`, `queue:restart`.
Vorher auf dem Server `git checkout composer.lock`, damit der Pull nicht
an der handgeänderten Datei hängen bleibt.