From 2a88fb92f4c1fbb3533e589d5c9f4b5c17595d3f Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 27 Sep 2015 13:20:55 -0400 Subject: Add JavaScript linting and tests * Add sample malformed JavaScript files to lint on * In our tests, copy the `node_modules` directory to make `jshint` available, then validate that we're correctly linting the staged JS file * In our pre-commit hook, lint the staged JavaScript files. If either of our linting commands fail then exit 1 to abort the commit. --- pre-commit | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'pre-commit') diff --git a/pre-commit b/pre-commit index aefd1b7..16053a2 100644 --- a/pre-commit +++ b/pre-commit @@ -17,7 +17,20 @@ fi # 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 -- cgit v1.2.3