npm i -D husky
yarn add -D husky
npx husky install
npx husky add .husky/pre-commit
npx husky add .husky/pre-push
방금 만든 pre-commit이나 pre-push에 작성한다.
#!/bin/sh
branch="$(git rev-parse --abbrev-ref HEAD)"
if [ "$branch" = "master" ]; then
echo "You can't commit directly to master branch"
exit 1
fi
출처: https://stackoverflow.com/questions/56987596/how-to-prevent-direct-commits-to-master-branch-using-husky
exit가 0이여야 성공한다. 1이면 동작 종료
참고: https://library.gabia.com/contents/8492/
npm i -D lint-staged
yarn add -D lint-staged
// package.json
{
...
"scripts" : {
...
"lint-staged": "lint-staged"
},
"lint-staged": {
"**/*.{tsx,ts,jsx,js}" : [
"eslint --fix",
"prettier --write"
]
}
}
// .husky/pre-commit
npm run lint-staged
// .husky/pre-commit
yarn lint-staged