회사에서 commit 시 git hook(husky 라이브러리)에서 ESLint를 먼저 검사 후 에러가 있으면 commit이 되지 않는 설정이 좋아서 세팅을 해보았다
일단 차이점은
husky는 버전4 일때와 달리 버전6 이상 부터 shell script로 구성이 된다
어차피 lint-staged라는 라이브러리를 사용해야되기 때문에 검색해보니 쉽게 자동으로 세팅되는 방법이 있었다
npx mrm lint-staged
Next.js를 설치하면 lint라는 스크립트가 포함되어 있다
// package.json
"scripts": {
// ...
"lint": "next lint",
// ..
},
내가 하고 싶은 것은 commit 할 때 git hook이 pre-commit을 실행해서
nextjs의 lint 스크립트(next lint)를 실행 시키는 것이다.
npx mrm lint-staged 를 터미널에 입력하면 세팅이 거의 끝난다
.hucky라는 폴더가 생성되어 있고 그 안에 pre-commit 이라는 파일이 있다
pre-commit 파일
에 있는 명령어를 npm run lint로 수정
하면 세팅은 끝난다
이제 commit 할 때 ESLint로 코드들을 검사해서 에러가 발생하면 커밋이 되지 않게 막을 수 있다 !