#!/bin/sh # # Check syntax of Python and JavaScript files. if git rev-parse --verify HEAD >/dev/null 2>&1 then against=HEAD else # Initial commit: diff against an empty tree object against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 fi # Redirect output to stderr. # exec 1>&2 # test $(git diff --cached --name-only --diff-filter=A -z $against | # LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 files=$(git diff --cached --name-only --diff-filter=AMR -z $against) python_files=$(echo $files | grep .*\.py) javascript_files=$(echo $files | grep .*\.js) flake_exit=0 jshint_exit=0 if [ -n "$python_files" ]; then flake8 $python_files flake_exit=$? fi if [ -n "$javascript_files" ]; then ./node_modules/.bin/jshint $javascript_files jshint_exit=$? fi if [ !$flake_exit ] || [ !$jshint_exit ]; then exit 1 fi