[husky] husky를 이용하여

(허스키) 허스키로 console.log를 차단하자.

◆ 참고

이 게시물 시리즈구성됩니다.

이전 프로젝트 설정 방법 게시물을 확인하지 않은 경우 제대로 작동하지 않을 수 있습니다.

이전 게시물로 이동: 이동

이 게시물에서 허스키를 사용하다당신의 코드에 console.log그렇다면 커밋을 차단하십시오.

미리 커밋

미리 커밋Git 커밋 전 특정 작업(기능)할수있다 자식 후크오전.

이것을 사용 커밋하기 전에에게 console.log 함수가 존재하는지 확인할수있다.

첫 번째 .husky > _ > console-log-check.sh 파일을 생성하자.

지금 쉘 스크립트로커밋된 파일에 console.log 함수가 존재하는지 확인해야 할 것

◆ 커밋 파일 목록 확인

console.log가 존재하는지 확인그것을 하기 위해 파일 내용 전달알고 있어야

어떻게 전송할 파일 목록얻을 수 있습니까

자식 명령이용하시면 간단하게 받으실 수 있습니다.

명령 : git diff –cached –name-only –diff-filter=ACMRT

위의 명령을 사용하십시오 커밋을 위해 준비된 파일 이름가져올 수 있습니다

◆ console.log 파일 확인

또한 검색 방법도 쉽게 풀 수 있습니다.

xargs 그렙 당신이 사용할 수있는

명령 : xargs grep -i ‘console\.log’ –with-filename –line-number

이전 커밋 파일 목록을 확인하는 명령어에 위 명령어를 추가합니다.

파이프(|)에 연결할 수 있습니다.

요컨대 다음과 같습니다.

xarg의 grep: 구하다

-나 : 대/소문자 상관없음

–with-파일 이름: 일치하는 파일 이름

–줄 번호: 일치하는 줄 번호

◆ 최종 스크립트

if git diff --cached --name-only --diff-filter=ACMRT | xargs grep -i 'console\.log' --with-filename --line-number; then
  echo "COMMIT REJECTED: Please remove 'console.log' functions."
  exit 1
fi

위 스크립트 콘솔-로그-check.sh 당신은 쓸 수 있습니다

◆ 테스트

console.log()
console.info()
console.error()

위의 코드를 작성한 후 커밋했습니다.

결과적으로 쓴 에러 메시지가 정상적으로 출력됨그랬다.


결과

이렇게 하면 팀별로 한 번에 하나씩 필요한 규칙 팀을 추가할 수 있습니다.

다음 포스트에서 커밋 메시지 규칙 적용시도해 봅시다.

마지막

오류가 있으면 댓글로 알려주세요.