[TypeScript] tsconfig.tsbuildinfo 파일이란?

2025. 12. 23. 14:23·Development

tsconfig.tsbuildinfo 파일은 TypeScript 컴파일러가 '증분 빌드(Incremental Build)'를 수행하기 위해 생성하는 캐시(Cache) 파일이다.

쉽게 말해, "지난번 컴파일 내용을 기억해두는 메모장"이다.

 

증분 빌드란?
빌드 시간을 단축하기 위한 핵심 최적화 기법.
빌드 과정에서 변경된 소스 코드와 그에 영향을 받는 의존성(Dependencies)만 골라서 다시 빌드하는 것

 


 

 

1. 생성 이유

tsconfig.json 설정에서 아래 옵션 중 하나가 켜져 있을 때 생성된다.

{
  "compilerOptions": {
    "incremental": true, 
    // 또는
    "composite": true     // 프로젝트 참조(Project References)를 사용할 때
  }
}

 

 

2. 역할

빌드 속도를 비약적으로 빠르게 해준다.

  • 없을 때: tsc 명령어를 칠 때마다 프로젝트의 모든 파일을 처음부터 다시 읽고, 파싱하고, 타입을 체크한다. (오래 걸림)
  • 있을 때: 이 파일을 읽어서 변경된 파일만 골라내어 그 부분만 다시 컴파일한다. (엄청 빠름)

이 파일 안에는 파일들의 해시(Hash) 값, 의존성 그래프, 타입 체크 결과 등의 정보가 들어있다.

 

 

3. Git

대부분의 경우 .gitignore에 추가하여 무시하는 것을 권장한다.

❌ Git에 올리지 마세요 (추천)

  • 이유 1: 로컬 개발 환경마다, OS마다 내용이 미세하게 달라질 수 있어 불필요한 충돌(Merge Conflict)이 자주 발생한다.
  • 이유 2: 컴파일된 결과물(아티팩트)이므로 소스 코드와 함께 관리될 필요가 없다. (.class나 build/ 폴더처럼)
  • 해결: .gitignore 파일에 다음 줄을 추가한다.
    *.tsbuildinfo

🔺 예외적으로 올리는 경우

  • 매우 거대한 모노레포(Monorepo) 환경에서 CI(지속적 통합) 빌드 속도를 극한으로 올려야 할 때 전략적으로 커밋하기도 하지만, 일반적인 프로젝트에서는 추천하지 않는다.

 

 

4. 파일 삭제 여부

언제든 삭제해도 상관없다.

  • 이 파일을 지우면 그 다음 빌드는 풀 빌드(Full Build)가 되어 시간이 조금 더 걸릴 뿐, 기능상 문제는 없다.
  • 빌드가 뭔가 꼬인 것 같을 때 tsconfig.tsbuildinfo를 지우고 다시 tsc를 돌리는 것이 좋은 해결책이 되기도 한다. (tsc --build --clean 명령어도 같은 역할)

 

 

요약

tsconfig.tsbuildinfo는 타입스크립트가 "나 지난번에 여기까지 작업했어!"라고 적어둔 저장 파일이다. 개발 속도를 위해 존재하며, 깃에는 올리지 않는 것이 국룰이다.

 

 

 

https://www.typescriptlang.org/tsconfig/

 

TSConfig Reference - Docs on every TSConfig option

From allowJs to useDefineForClassFields the TSConfig reference includes information about all of the active compiler flags setting up a TypeScript project.

www.typescriptlang.org

 

'Development' 카테고리의 다른 글

[Tool] Ghostty & tmux 설치 및 사용하기  (0) 2026.02.13
[IDE] Google이 만든 AI 에디터, Antigravity 사용기 (vs Cursor)  (1) 2026.02.04
권한 관리, 언제까지 if-else로 땜빵할 거야? (RBAC부터 Zanzibar 찍먹까지)  (2) 2025.12.08
[Cursor] Playwright로 테스트부터 디버깅까지 한번에 끝내기  (0) 2025.11.11
[CS] "나누기 0"은 왜 어떤 언어에선 에러가 나고, 어떤 언어에선 무한대(Infinity)가 될까?  (1) 2025.11.03
'Development' 카테고리의 다른 글
  • [Tool] Ghostty & tmux 설치 및 사용하기
  • [IDE] Google이 만든 AI 에디터, Antigravity 사용기 (vs Cursor)
  • 권한 관리, 언제까지 if-else로 땜빵할 거야? (RBAC부터 Zanzibar 찍먹까지)
  • [Cursor] Playwright로 테스트부터 디버깅까지 한번에 끝내기
곽진돔
곽진돔
Developer
  • 곽진돔
    echo "곽박한 세상";
    곽진돔
  • 전체
    오늘
    어제
    • 분류 전체보기 (218) N
      • Development (204) N
        • Linux (13)
        • k8s (3)
        • Docker (5)
        • AWS (1)
        • PHP (35)
        • Python (21)
        • Java (5) N
        • SpringBoot (4)
        • JavaScript (2)
        • React (11)
        • MySql (19)
        • MongoDB (1)
      • Daily (6)
      • Study (7)
        • TIL (2)
        • license (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 설정
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    리액트
    정규표현식
    Linux
    AI
    MySQL
    HTML
    JavaScript
    Selenium
    리눅스
    Python
    php
    UTF8
    CentOS7
    Java
    인코딩
    db
    springboot
    react
    GPT
    nodejs
    ssh
    IP
    Shell
    SQL
    스프링부트
    CentOS
    Mac
    chromedriver
    docker
    크롤링
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
곽진돔
[TypeScript] tsconfig.tsbuildinfo 파일이란?
상단으로

티스토리툴바