octoxan
11/17/2016 - 5:49 PM

Pre-commit git hook to check for console.log's and php syntax errors.

Pre-commit git hook to check for console.log's and php syntax errors.

#!/bin/sh
exec 1>&2
exec < /dev/tty

git diff --cached --name-only | while read FILE; do
if [[ "$FILE" =~ ^.+(php|inc|module|install|test)$ ]]; then
    if [[ -f $FILE ]]; then
        php -l "$FILE" 1> /dev/null
        if [ $? -ne 0 ]; then
            echo -e "\e[1;31m\tAborting commit due to files with syntax errors.\e[0m" >&2
            exit 1
        fi
    fi
fi
done || exit $?
# If there's a PHP error let's hard exit
# Don't even bother checking for js files because 
# We're not committing broken PHP with no exceptions

if [ $? -eq 0 ]; then
	consoleregexp='^\+.*console\.log('
	if test $(git diff --cached | grep $consoleregexp | wc -l) != 0
	then
	  exec git diff --cached | grep -ne $consoleregexp
	  read -p "There are some instances of console.log in your changes. Are you sure want to continue? (y/n)" yn
	  echo $yn | grep ^[Yy]$
	  if [ $? -eq 0 ]
	  then
	    exit 0;
	  else
	    exit 1;
	  fi
	fi
fi
# You can choose 'y' if you're aware of the console.log and want it committed for some reason