git으로 버전관리를 하는 경우 유용한 패키지다.
보통 git에서 어떤 이벤트가 발생하면 스크립트를 실행할 수 있도록 훅을 제공한다.
많은 훅 들중에
pre-commit
은 커밋할때 가장먼저 호출되는 훅(커밋 메시지 작성 전)으로 최적화 스크립트를 실행하기에 적합하다.이 파일을 직접 설정하는 건 어려우니까 husky와 linst-staged 패키지를 이용하는 것이다.
즉, husky는 git hook을 손쉽게 사용할 수 있도록 해주고, lint-staged는 staged된 파일을 대상으로 특정 스크립트를 실행할 수 있게 해준다(모든 파일을 검사하기는 오랜 시간이 걸리니까 변경된 파일만 검사하는 것이다).
더 쉽게 설명하면 그냥 커밋 전에 eslint를 한번 더 실행해서 룰과 다를경우 커밋을 막아주는 것이다.
설정은 생략하고 설치했다고 가정 후
git add .
git commit -m "message"
실행시 husky에 의해 pre-commit 훅이 실행되고, 훅에 의해 lint-staged에 설정한 스크립트가 동작하면서 최적화 자동화가 실행된다.이전 프로젝트에서 자잘한 수정 커밋이 엄청 많았는데 그런 불필요한 수고를 줄일 수 있어서 스트레스도 덜 받고 커밋 이력이 깔끔해져서 좋을듯!!