Skip to content

Instantly share code, notes, and snippets.

@MCluck90
Created July 1, 2013 20:20
Show Gist options
  • Save MCluck90/5904224 to your computer and use it in GitHub Desktop.
Save MCluck90/5904224 to your computer and use it in GitHub Desktop.
A simple pre-commit hook which runs JSHint on all of the JS files you've changed.
#!/bin/bash
# Runs JSHint on your JS files before a commit
# Place in .git/hooks/pre-commit and chmod +x .git/hooks/pre-commit
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
EXIT_CODE=0
for FILE in $(git diff-index --name-only HEAD | sed -n 's/.*js$/&/p'); do
jshint --verbose --config .jshintrc $FILE
EXIT_CODE=$((${EXIT_CODE} + $?))
done
if [[ ${EXIT_CODE} -ne 0 ]]; then
echo ""
echo "Commit aborted"
fi
exit $((${EXIT_CODE}))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment