Add pre-commit git hook to check code style
The hook automatically fixes most code style mistakes and should be installed once with: ```sh ln -s ../../bin/pre-commit .git/hooks/pre-commit ```
This commit is contained in:
parent
f0445366d2
commit
a23f681332
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
|
||||
pass=true
|
||||
|
||||
files=$(git diff --cached --name-only --diff-filter=ACMR | grep -E '\.(php|phtml)$')
|
||||
if [ "$files" != "" ]; then
|
||||
|
||||
# Run php syntax check before commit
|
||||
while read -r file; do
|
||||
php -l "$file"
|
||||
if [ $? -ne 0 ]; then
|
||||
pass=false
|
||||
fi
|
||||
done <<< "$files"
|
||||
|
||||
# Run php-cs-fixer validation before commit
|
||||
echo "$files" | xargs ./vendor/bin/php-cs-fixer fix --diff --config .php_cs.dist
|
||||
if [ $? -ne 0 ]; then
|
||||
pass=false
|
||||
fi
|
||||
|
||||
# Automatically add files that may have been fixed by php-cs-fixer
|
||||
echo "$files" | xargs git add
|
||||
fi
|
||||
|
||||
if $pass; then
|
||||
exit 0
|
||||
else
|
||||
echo ""
|
||||
echo "PRE-COMMIT HOOK FAILED:"
|
||||
echo "Code style validation failed. Please fix errors and try committing again."
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue