프론트엔드 협업시 유용한 라이브러리인 husky에대한 내용 정리이다.
코드형식이 맞지 않거나 오류가 발생했을 때 푸쉬를 막아준다!
Git hooks 이란? (+ Husky + lint-staged)
npx create next-app
yarn add prettier
git init
git add .
git commit -m "init message" //add 후 commit해야 push 가 됨!
git branch -M main
git remote add origin https://github.com/oasis0981/레포명.git
git push -u origin main
yarn add --dev husky
npx husky install
yarn lint
)npx husky add .husky/pre-commit "yarn lint"
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn lint-staged --no-stash
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"@types/node": "18.15.12",
"@types/react": "18.0.37",
"@types/react-dom": "18.0.11",
"autoprefixer": "10.4.14",
"eslint": "8.38.0",
"eslint-config-next": "13.3.0",
"next": "13.3.0",
"postcss": "8.4.23",
"prettier": "^2.8.7",
"react": "18.2.0",
"react-dom": "18.2.0",
"tailwindcss": "3.3.1",
"typescript": "5.0.4"
},
"devDependencies": {
"husky": "^8.0.3",
"lint-staged": "^13.2.1"
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"eslint --fix",
"prettier --write",
"git add"
]
}
}
$ git add .
$ yarn lint
$ git commit -m "message"
$ git push