PatchPub ist eine Laravel-basierte Plattform für die zentrale Verwaltung und Anwendung von Patches für PHP-Composer-Pakete. Sie ermöglicht es Entwicklern, eigene Fixes oder Features direkt auf Drittanbieter-Pakete anzuwenden, unabhängig davon, ob diese bereits upstream gemerged wurden. Mit PatchPub lassen sich gezielte Änderungen an Abhängigkeiten effizient, nachvollziehbar und versionssicher verwalten. Mit Funktionen wie Regex-Patching, Git-Diff-Vorschauen und dem Import von GitHub Pull Requests schliesst die Plattform eine wichtige Lücke im Composer-Ökosystem.
Kernfunktionen und Architektur
Technische Basis
- Laravel + Laravel Livewire: Die Admin- und Benutzeroberflächen sind mit Livewire umgesetzt und bieten eine reaktive, nahtlose Browser-Erfahrung.
- SQLite für blitzschnellen Datenzugriff: Interne Datenabfragen sind mit SQLite auf Geschwindigkeit optimiert, ideal für leichtgewichtige und mittelgrosse Patch-Management-Workflows.
- Cloudflare R2: Alle relevanten Patch-Daten und Dateiversionen werden in Cloudflare R2 gespeichert, für maximale Zuverlässigkeit und Unabhängigkeit von der App-Infrastruktur.
Leistungsfähige Patch-Funktionen
Flexible Bearbeitungsoptionen für beliebige Dateien (inkl. composer.json):
- Einfaches Suchen und Ersetzen von Text
- Regex-basierte Ersetzungen
- Klassische Diff-Patch-Anwendung
- Vollständiger Dateiaustausch
- Verkettung mehrerer Operationen in definierter Reihenfolge
Automatisiertes Patch-Management
- GitHub-PR-Import: Öffentliche GitHub Pull Requests lassen sich direkt als Patches in PatchPub übernehmen.
- Vorschau per git diff: Ein vollständiger visueller Diff vor dem Anwenden von Änderungen sorgt für Transparenz und Kontrolle.
- Validierung von Änderungen: Alle Operationen werden vorab validiert, um fehlerhafte Patch-Anwendungen zu verhindern.
- Asynchrone Hintergrundverarbeitung (Queues): Patch-Anwendungen und Updates, insbesondere bei neuen Versionen von Abhängigkeiten, laufen im Hintergrund, sodass die Benutzeroberfläche jederzeit reaktionsschnell bleibt.
Benachrichtigungen und Monitoring
Automatische E-Mail-Benachrichtigungen informieren Benutzer, wenn Patches aufgrund inkompatibler Änderungen in neuen Versionen fehlschlagen (z. B. bei veränderten Quelldateien). So kann proaktiv auf veraltete oder defekte Patches reagiert werden.
Anwendungsfälle
- Anwendung eigener Bugfixes oder Features auf Drittanbieter-Pakete
- Temporäre Hotfixes, ohne Abhängigkeiten forken zu müssen
- Wiederverwendbare Patch-Sets für Teams oder Organisationen
- Automatische Patch-Updates bei neuen Versionen
- E-Mail-Benachrichtigungen bei fehlgeschlagenen Patches