위키득계정 ↗
기술

Danger JS

Danger JS기술
주요 대상
풀 리퀘스트와 코드 리뷰
주요 역할
팀의 검토 규칙 자동화
활용 환경
CI와 코드 호스팅 서비스
확장 방식
사용자 규칙과 플러그인
Danger JS는 코드 리뷰 과정에서 팀의 반복적인 확인 규칙을 자동화하는 도구다. 풀 리퀘스트와 변경 파일 등의 정보를 활용해 프로젝트의 관례를 검사하고 경고나 안내를 제공하는 흐름을 구성한다.

반복되는 검토 항목 표현

코드 리뷰에는 알고리즘이나 설계 판단 외에 반복해서 확인하는 항목도 있다. 변경 기록을 작성했는지, 관련 업무 링크가 있는지, 적절한 라벨을 붙였는지 같은 규칙을 Danger JS로 표현할 수 있다. 자동화할 수 있는 관례를 별도 검사 단계로 옮기는 접근이다.

변경 맥락에 맞는 규칙

특정 파일이 바뀌었을 때 경고를 내거나 빌드 산출물의 정보를 강조하는 동작도 구성할 수 있다. 도구가 제공하는 메타데이터와 플러그인을 활용해 팀의 규칙을 작성한다. 모든 저장소에 똑같은 정책을 강제하기보다 프로젝트에 필요한 기준을 코드로 다루는 방식이다.

검사 결과와 사람의 판단

GitHub와 Bitbucket 등의 코드 리뷰 환경과 여러 CI 시스템에 연결할 수 있다. 반복 규칙을 자동 확인해 사람이 더 복잡한 변경을 검토할 여지를 만드는 것이 목적이다. 자동 규칙을 통과했다는 사실이 설계와 구현의 정확성을 모두 검증했다는 의미는 아니다.

관련 문서

Reviewdog / Commitlint / Actionlint / MegaLinter / Pre-commit