(Typescript) test와 lint 시간 줄여보기
두줄요약
tsoa 생성 파일의 Prettier 검사 제외와 ts-node 업데이트로 lint·테스트 시간을 줄였습니다.\n타입 검사는 별도 수행하고 테스트는 transpile-only로 실행하도록 분리했습니다.
문제 상황
- 커밋·푸시 시 자동 실행되는 lint와 test의 긴 수행 시간으로 개발·PR·배포 지연
- tsoa 생성 파일의 lint 약 278초, 전체 테스트 약 2분 20초 소요
원인 분석
- tsoa 동적 생성 파일에 대한 Prettier 검사 비용
- 다수 테스트 파일 로드 시 ts-node의 모듈 로딩과 반복 타입 체킹 비용
해결 방법
.prettierignore에 tsoa 생성 파일과dist,node_modules추가- ts-node 8.8에서 9.0으로 업데이트해 ESM Loader 기반 다중 모듈 로딩 성능 개선
pretest의tsc --noEmit타입 검사와ts-node/register/transpile-only기반 테스트 실행 분리
성능/운영 포인트
- 생성 파일 lint 시간 약 278초에서 약 6초로 단축
- 전체 테스트 시간 약 2분 20초에서 약 1분 14초로 단축
- 테스트 코드 증가 환경에서 타입 검사·테스트 절차 분리에 따른 확장성 기대



