본문 바로가기
C.W.K.
Stream
Lesson 01 of 05 · published

`tsc` 실행 방식: 검사, 출력, 반복 속도 나누기

~7 min · tooling, tsc, modes

Level 0Curious
0 XP0/93 lessons0/23 achievements
0/100 XP to next level100 XP to go0% complete
"tsc는 한 가지 명령이 아니라 목적별 날을 가진 도구 상자야."

가장 자주 쓰는 모드

tsc는 전체 타입 검사와 JavaScript 출력을 함께 하는 기본 모드야. tsc --noEmit은 출력 없이 타입만 검사하고, tsc --watch --noEmit은 개발 중 변경을 계속 다시 검사해.

tsc --incremental은 검사 상태를 .tsbuildinfo에 저장해 다음 실행에서 바뀐 부분만 다시 보므로 큰 프로젝트에 필수적이야. tsc -b는 다음 레슨에서 다룰 프로젝트 참조 빌드 모드야.

실제 프로젝트의 조합

CI에서는 tsc --noEmit --incremental로 타입을 검사하고, Vite나 esbuild가 실제 JavaScript를 만들어. 개발 중에는 tsc --watch --noEmit으로 연속 피드백을 얻어. 이 분리는 의도적이야. 빠른 변환기는 출력에, tsc는 대체할 수 없는 타입 검사에 집중해.

현대 프로젝트에서는 tsc를 출력기로 쓰지 마. Vite, esbuild, swc, Bun, Deno는 JavaScript 출력에서 10~100배 빠를 수 있어. 출력은 그 도구에 맡기고 tsc는 타입 검사에 써.

Code

tsc mode — 흔한 조합·bash
# 타입 체크만 — CI 용.
npx tsc --noEmit

# 지속 타입 체크 — 개발 동안 터미널 pane.
npx tsc --watch --noEmit

# Incremental — 연속 실행 속도 높임.
npx tsc --noEmit --incremental
# 첫 실행이 .tsbuildinfo 씀;
# 후속 실행이 바뀐 거만 재체크.

# Project reference build (다음 lesson).
npx tsc -b

# Full emit — 다른 build tool 없을 때만.
npx tsc

External links

Exercise

작은 TypeScript 프로젝트에서 tsc --noEmit을 한 번 실행한 뒤 tsc --noEmit --incremental을 두 번 실행해 걸린 시간을 비교해. 파일 하나의 한 줄만 바꾸고 증분 검사를 다시 실행해 영향받은 파일만 다시 검사되는지도 확인해.
Hint
첫 증분 실행은 .tsbuildinfo에 검사 상태를 저장해. 두 번째 실행과 한 줄 변경 뒤 실행이 그 캐시를 이용해 얼마나 줄어드는지 비교해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.