Hooks: PHPUnit in Pre-Commit (#67) #70
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/issue-67-phpunit-precommit"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #67
Was
Der Pre-Commit-Hook (
husky) ruft jetzt PHPUnit, bevor ein Commit landet. PHPUnit läuft nur, wenn PHP-relevante Dateien gestaged sind (Performance!).Architektur
scripts/pre-commit-checks.sh(NEU, 77 Zeilen) — Zentrale Logikcomposer install(lazy, nur wennvendor/fehlt).husky/pre-commit(MODIFIZIERT, 3 Zeilen) — Delegiert anpre-commit-checks.shscripts/safe-commit.sh(MODIFIZIERT) — Nutzt gleiche Logik als Safety-Net (DRY)Trigger-Filter (Performance-Optimum)
*.php,phpunit.xml,composer.json,composer.lockCommits
85cf4f3chore(hooks): add shared pre-commit-checks scriptb0f769dfeat(hooks): run PHPUnit in pre-commit hook (#67)3f1f0f5fix(hooks): use array-based file iteration for safety checkVerifizierte Szenarien (4/4 ✅)
Hinweise
git commit --no-verifymöglich (z.B. für triviale Doku-Commits)Erweitert den Husky pre-commit-Hook um einen PHPUnit-Schritt. Ausserdem wird scripts/safe-commit.sh aktualisiert, damit das Safety-Net dieselbe Logik wie der Hook verwendet (kein doppelter Code). Vorher: Hook rief nur 'npx lint-staged' auf. Nachher: Hook ruft scripts/pre-commit-checks.sh auf, das - lint-staged ausfuehrt (unveraendert) - PHPUnit nur dann ausfuehrt, wenn PHP-relevante Dateien gestaged sind (Performance-Optimierung: Issue #67 Anforderung) - Bei Test-Fehler den Commit mit Exit-Code 1 abbricht Closes #67