Symfony 8 + API Platform 4 + Nuxt 4 monorepo. Backend: User entity, JWT auth, fixtures. Frontend: login, dashboard, auth middleware, i18n, @malio/layer-ui. Docker: dev (ports 8083/3003/5436) + prod multi-stage. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
39 lines
1.0 KiB
Bash
Executable File
39 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
echo "######### Pre-commit hook start #############"
|
|
echo "--- php-cs-fixer pre commit hook start ---"
|
|
|
|
FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.php$')
|
|
# Vérifier s'il y a des fichiers PHP modifiés
|
|
if [ -n "$FILES" ]; then
|
|
echo "Running PHP CS Fixer on staged PHP files..."
|
|
|
|
# Convertir la liste des fichiers en une chaîne séparée par des espaces
|
|
FILES_LIST=""
|
|
for FILE in $FILES; do
|
|
FILES_LIST="$FILES_LIST $FILE"
|
|
done
|
|
|
|
# Exécuter la cible make pour PHP CS Fixer
|
|
make php-cs-fixer-allow-risky FILES="$FILES_LIST"
|
|
|
|
# Ajouter les fichiers corrigés au commit
|
|
git add $FILES
|
|
else
|
|
echo "No PHP files to fix."
|
|
fi
|
|
echo "--- php-cs-fixer pre commit hook finish---"
|
|
|
|
echo "--- phpunit pre commit hook start ---"
|
|
make test
|
|
PHPUNIT_RESULT=$?
|
|
|
|
if [ $PHPUNIT_RESULT -ne 0 ]; then
|
|
echo "PHPUnit tests failed. Aborting commit."
|
|
exit 1
|
|
fi
|
|
echo "--- phpunit pre commit hook finished ---"
|
|
|
|
echo "All checks passed. Proceeding with commit."
|
|
exit 0
|