PatchPub - Zentrale Verwaltung und Anwendung von Composer-Patches für PHP-Projekte
Tags:
Laravel
Datenschnittstelle
Performance
Laravel Livewire
Git
Cloudflare R2
PatchPub ist ein Laravel-basiertes Tool zur zentralen Verwaltung und Anwendung von Patches auf PHP Composer Packages. Mit PatchPub lassen sich eigene Fixes oder Features gezielt auf Drittanbieter-Pakete anwenden – unabhängig davon, ob diese offiziell gemerged wurden oder nicht. Die Plattform erlaubt es, gezielte Änderungen in Abhängigkeiten effizient, nachvollziehbar und versionssicher zu pflegen. Mit Funktionen wie Regex-Patching, git diff-Vorschau und GitHub-PR-Import schliesst PatchPub eine wichtige Lücke im Composer-Ökosystem.
URL: https://patchpub.com
Funktionalitäten im Detail
Kernfunktionen & Architektur
🧱 Technische Grundlage:
- Laravel + Laravel Livewire:
Die Oberfläche für Administrator:innen und Nutzer:innen wurde vollständig mit Livewire umgesetzt – für eine reaktive und nahtlose Nutzererfahrung direkt im Browser. - SQLite für blitzschnelle Datenabfragen:
Dank SQLite sind alle internen Datenbankabfragen extrem performant und ressourcenschonend, ideal für kleinere und mittelgrosse Patch-Projekte. - Cloudflare R2:
Speicherung aller relevanten Patch-Daten und Dateiversionen über Cloudflare R2 sorgt für maximale Zuverlässigkeit und Unabhängigkeit von der App-Infrastruktur.
Leistungsstarke Patch-Funktionen
🛠️ Flexible Änderungsarten für jede Datei (inkl. composer.json):
- Suchen & Ersetzen (einfacher Text)
- Regex-basierte Ersetzungen
- Anwendung klassischer diff-Patches
- Kompletter Dateiaustausch
- Verkettung mehrerer Operationen in definierter Reihenfolge
🔁 Automatisierte Patch-Verwaltung:
- GitHub PR-Import:
Einfaches Einbinden von Pull Request Patches aus öffentlichen Repositories direkt in PatchPub. - Vorschau-Funktion via git diff:
Vor dem Anwenden eines Patches lässt sich der komplette Unterschied zum Original anzeigen. - Änderungsvalidierung:
Jede Operation wird vor dem tatsächlichen Patch-Vorgang überprüft, um fehlerhafte Anwendungen zu vermeiden. - Hintergrundverarbeitung mit Queues:
Alle Patching- und Update-Vorgänge – insbesondere bei neuen Versionen von Abhängigkeiten – laufen asynchron, um die Nutzeroberfläche responsiv zu halten.
📬 Benachrichtigungs- & Monitoring-System:
- Bei Fehlern durch inkompatible Änderungen in neuen Paketversionen (z. B. durch geänderten Quellcode) werden Nutzer:innen automatisch per E-Mail benachrichtigt.
- So kann frühzeitig auf veraltete oder inkompatible Patches reagiert werden.
Anwendungsfälle:
- Eigene Bugfixes oder Erweiterungen in Drittanbieter-Packages
- Temporäre Lösungen für ungepatchte Probleme ohne Forking
- Wiederverwendbare Patches für Teams und Organisationen
- Automatisierte Patch-Verwaltung bei neuen Paket-Versionen
- Email Benachrichtigungen bei Fehlern