tsconfig 범위

tsconfig 상속과 컴파일 범위 결정

tsconfig는 단일 파일처럼 보이지만 extends, include, exclude, files, references가 결합되어 실제 컴파일 대상을 정합니다.

01

extends 로드

기본 설정을 먼저 불러오고 현재 파일의 compilerOptions가 덮어씁니다.

Base config
02

파일 집합 결정

files가 있으면 명시 목록, 없으면 include 패턴과 exclude 패턴으로 범위를 만듭니다.

Program
03

모듈 해석

moduleResolution, baseUrl, paths, typeRoots가 import와 타입 탐색에 영향을 줍니다.

Resolution
04

출력 정책

noEmit, outDir, declaration, sourceMap 설정이 빌드 산출물을 결정합니다.

Emit
05

프로젝트 참조

references와 composite는 모노레포에서 빌드 순서와 증분 캐시를 만듭니다.

Build graph
files
명시 파일만 포함 작은 라이브러리나 생성 파일 제어에는 좋지만 누락 위험이 큽니다.
수동 관리
include
패턴 기반 포함 src/**/*.ts처럼 대부분의 앱에서 기본 범위를 잡는 방식입니다.
테스트 포함 점검
exclude
include에서 제외 node_modules, dist, generated처럼 컴파일 대상이 아닌 파일을 뺍니다.
import하면 다시 포함 가능

설정 변경 전 확인

최종 설정 tsc --showConfig로 실제 적용된 설정을 확인하고 추측을 줄입니다.
빌드 범위 테스트, 스토리북, 생성 타입이 의도치 않게 포함되지 않는지 봅니다.
경로 별칭 paths는 타입 검사뿐 아니라 런타임 번들러 설정과도 맞아야 합니다.