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