git hook 을 쉽게 사용하게 도와준다. git 의 어떤 행동 후,전에 무언가를 하고싶다면 처리해준다.
git 을 먼저 설치하고 후에 설치한다.
$ git init
$ npm i husky -D
$ npx husky install : Gik hooks 설치
**lint-staged**
commit 하기 직전에 eslint, prettier 를 통해서 staged 된 파일들을 점검 할 수 있게 된다.
우리의 CRA 프로젝트에 husky 를 먼저 설치한다.
$ npm i husky -D
$ npx husky install : Gik hooks 설치
// prepare : 다시 패키지들이 처음으로 설치 될 때 자동으로 husky install
"scripts": {
"prepare": "husky install", // 추가 해 준다.
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
$ npx husky add .husky/pre-commit "lint-staged"
이제 우리가 commit 할 때 commit 되기 직전에 lint-staged 명령어가 실행된다.
그러면 lint-staged 가 어떤 행동을 할 것인지 정의해 줘야 한다.
// package.json
"lint-staged": {
"**/*.js": [
"eslint --fix",
"prettier --write"
]
},
// .husky/pre-commit
npx lint-staged 로 수정