Um den Code mit Laravel Pint während des Git-Commits automatisch zu formatieren, können Sie in Ihrem Git-Repository einen Pre-Commit-Git-Hook einrichten, der den Laravel-Pint-Befehl ausführt, um Ihren Code zu formatieren, bevor er übertragen wird. Dieses einfache Snippet stellt sicher, dass Ihr Code einheitlich formatiert ist und den Laravel Pint-Codierungsstandards entspricht, was die Lesbarkeit und Wartbarkeit des Codes verbessern kann.
Lesen Sie auch: Nützliche Github-Repositories für Entwickler
Laravel Pint installieren
composer require laravel/pint --dev
Laravel Pint auf Commits automatisieren
Gehen Sie dann in Ihr Stammverzeichnis und suchen Sie .git/hooks
und erstellen Sie eine Kopie der pre-commit.sample
Hook-Datei und machen Sie sie mit den folgenden Befehlen ausführbar:
cp ./git/hooks/pre-commit.sample ./git/hooks/pre-commit
chmod +x ./git/hooks/pre-commit
Öffnen Sie das pre-commit
in Ihrem Editor und fügen Sie das folgende Bash-Skript ein
Lesen Sie auch: Laravel Livewire Kommentare
#!/bin/sh
files=$(git diff --cached --name-only --diff-filter=ACMR -- '*.php');
vendor/bin/pint $files
- Die
files
speichert die Liste der PHP-Dateien, die geändert wurden und zum Übertragen bereit sind. - Die
git diff
wird hier verwendet, um eine Liste der geänderten Dateien zu erhalten, die für die Übergabe bereitgestellt werden. - Die
--cached
legt fest, dass nur stufenweise Änderungen berücksichtigt werden sollen. - Die
--name-only
wird verwendet, um nur die Dateinamen auszugeben, ohne zusätzliche Details. - Die
--diff-filter=ACMR
beschränkt die Ausgabe auf Dateien, die hinzugefügt, kopiert, umbenannt oder geändert wurden. - Die '--' Argument wird verwendet, um die Optionen vom Dateimuster zu trennen
*.php
, die besagt, dass nur PHP-Dateien berücksichtigt werden sollen. - Dann führt der Code einfach die
pint
command on thees changed files on every Git commit.
Lesen Sie auch: Laravel Verantwortliche
Zusammengefasst ruft dieses Skript die Liste der geänderten PHP-Dateien ab, die für die Übergabe bereitgestellt werden, und führt Laravel Pint auf jeder Datei aus, um sie automatisch gemäß den Laravel Pint-Standards zu formatieren, bevor die Änderungen übergeben werden.
Lesen Sie auch: Coole Projekte auf Github