Add pre-commit hook and setup script #129

Merged
raucao merged 4 commits from feature/pre_commit_linting into master 2019-06-09 11:53:41 +00:00
3 changed files with 21 additions and 1 deletions

View File

@ -23,7 +23,8 @@
"lint:contracts": "solhint \"contracts/**/*.sol\" \"apps/*/contracts/**/*.sol\"", "lint:contracts": "solhint \"contracts/**/*.sol\" \"apps/*/contracts/**/*.sol\"",
"lint:contract-tests": "eslint apps/*/test", "lint:contract-tests": "eslint apps/*/test",
"lint:wrapper": "eslint lib/", "lint:wrapper": "eslint lib/",
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1",
"setup-git-hooks": "sh scripts/git-hooks/install"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -0,0 +1,2 @@
#!/bin/sh
cp -f scripts/git-hooks/pre-commit .git/hooks

17
scripts/git-hooks/pre-commit Executable file
View File

@ -0,0 +1,17 @@
#!/bin/sh
#
# Run appropriate linter against staged files
#
if [ $(git diff --name-only --cached lib/ | wc -l) != 0 ]; then
./node_modules/.bin/eslint lib/
if [ $? != 0 ]; then
exit 1
fi
fi
# TODO master not linted yet, uncomment this when ready
# if [ $(git diff --name-only --cached contracts/ | wc -l) != 0 ]; then
# solhint contracts/**/*.sol && apps/*/contracts/**/*.sol
# if [ $? != 0 ]; then
# exit 1
# fi
# fi