타입스크립트 설정

tsconfig.json 파일

  • 입력 파일 없이 tsc 컴파일러를 호출하면 컴파일러는 현재 디렉토리에서부터 시작하여 상위 디렉토리 체인으로 tsconfig.json 파일을 검색
  • 입력 파일을 지정하면 tsconfig.json 파일 무시

최상위 레벨 설정

  • compilerOptions: 컴파일러 설정 옵션
  • files: 컴파일할 대상 파일에 대한 옵션
  • include: 컴파일할 대상 파일을 패턴으로 정의하는 옵션
    • 별도로 정의하지 않는 경우 다음 파일 패턴 사용
      • .ts: js 파일에 대응하는 타입스트립트 파일
      • .tsx: 리액트 jsx 파일에 대응하는 타입스트립트 파일
      • .d.ts: 타입 정의 선언 파일 (Type Definition Declaration File)
  • exclude: 컴파일에서 제외할 파일을 패턴으로 정의하는 옵션

compilerOptions

rootDir

  • 컴파일할 파일이 있는 최상위 디렉토리
  • 일반적으로 ./src 사용

outDir

  • 컴파일된 결과물을 출력하는 디렉토리
  • 일반적으로 ./dist 사용
  • 디렉토리가 없으면 컴파일시 자동 생성

target

  • 어떤 문법에 맞게 결과를 생성할지 지정하는 컴파일 목표

allowJs

  • 컴파일할 입력 파일에 자바스크립트 파일을 포함하여 타입스크립트에서도 자바스크립트 파일을 임포트하는 것을 허용할지 여부

sourceMap

  • 소스맵 파일을 생성할지 여부

noEmitOnError

  • true로 설정하면 에러가 있는 경우 결과물을 출력하지 않음

lib

  • 기능 추가를 위한 옵션

  • High Level libraries

옵션 기능
ES5 Core definitions for all ES5 functionality
ES2015 Additional APIs available in ES2015 (also known as ES6) - array.find, Promise, Proxy, Symbol, Map, Set, Reflect, etc.
ES6 Alias for “ES2015”
ES2016 Additional APIs available in ES2016 - array.include, etc.
ES7 Alias for “ES2016”
ES2017 Additional APIs available in ES2017 - Object.entries, Object.values, Atomics, SharedArrayBuffer, date.formatToParts, typed arrays, - etc.
ES2018 Additional APIs available in ES2018 - async iterables, promise.finally, Intl.PluralRules, regexp.groups, etc.
ES2019 Additional APIs available in ES2019 - array.flat, array.flatMap, Object.fromEntries, string.trimStart, string.trimEnd, etc.
ES2020 Additional APIs available in ES2020 - string.matchAll, etc.
ES2021 Additional APIs available in ES2021 - promise.any, string.replaceAll etc.
ES2022 Additional APIs available in ES2022 - array.at, RegExp.hasIndices, etc.
ES2023 Additional APIs available in ES2023 - array.with, array.findLast, array.findLastIndex, array.toSorted, array.toReversed, etc.
ESNext Additional APIs available in ESNext - This changes as the JavaScript specification evolves
DOM DOM definitions - window, document, etc.
WebWorker APIs available in WebWorker contexts
ScriptHost APIs for the Windows Script Hosting System
  • Individual library components

  • DOM.Iterable

  • ES2015.Core

  • ES2015.Collection

  • ES2015.Generator

  • ES2015.Iterable

  • ES2015.Promise

  • ES2015.Proxy

  • ES2015.Reflect

  • ES2015.Symbol

  • ES2015.Symbol.WellKnown

  • ES2016.Array.Include

  • ES2017.object

  • ES2017.Intl

  • ES2017.SharedMemory

  • ES2017.String

  • ES2017.TypedArrays

  • ES2018.Intl

  • ES2018.Promise

  • ES2018.RegExp

  • ES2019.Array

  • ES2019.Object

  • ES2019.String

  • ES2019.Symbol

  • ES2020.String

  • ES2020.Symbol.wellknown

  • ES2021.Promise

  • ES2021.String

  • ES2021.WeakRef

  • ESNext.AsyncIterable

  • ESNext.Array

  • ESNext.Intl

  • ESNext.Symbol