cache QA

증분 빌드는 캐시가 살아 있을 때만 빨라진다

incremental, tsBuildInfoFile, noEmit 분리, CI 캐시 키가 함께 맞아야 로컬과 파이프라인 모두에서 재빌드 범위가 줄어듭니다.

Info

빌드 정보

tsBuildInfoFile 위치가 삭제되는 임시 폴더가 아닌지 확인합니다.

NoEmit

역할 분리

타입 검사는 tsc --noEmit, 변환은 esbuild나 SWC로 나눕니다.

Lib

외부 타입

skipLibCheck로 node_modules 타입 검사 비용을 줄입니다.

범위

영향 범위

프로젝트 레퍼런스로 바뀐 패키지와 소비자만 다시 빌드합니다.

Cache

CI 키

lockfile, tsconfig, 소스 해시가 캐시 무효화 기준이 됩니다.

1

cold 측정

캐시가 없는 첫 빌드 시간을 기록합니다.

2

warm 측정

작은 변경 후 재빌드 시간을 비교합니다.

3

캐시 보존

CI 작업 사이에서 정보 파일이 남는지 봅니다.

4

단계 분리

typecheck, transpile, bundle 시간을 따로 봅니다.

verify: cold build -> warm build -> cache restore -> affected package rebuild
증분 빌드 검증

설정이 맞아도 캐시가 매번 지워지면 증분 빌드는 체감되지 않습니다. 로컬과 CI에서 같은 변경으로 같은 범위만 다시 빌드되는지 확인합니다.