tsconfig 전역 속성이란, 파일의 최상위에 위치하고 있는 속성들을 의미한다.
{
// TypeScript 컴파일러의 옵션들을 지정하는 속성
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"sourceMap": true
// ... 무수히 많은 속성들
},
// 컴파일할 파일들의 개별 목록을 지정하는 속성
"files": ["src/main.ts", "src/utils.ts"],
// 컴파일할 파일들을 지정하는 속성 (와일드 카드 패턴으로 묶어 표현)
"include": [ "src/**/*.ts" ],
// 컴파일 대상에서 제외할 파일들을 지정하는 속성
"exclude": [ "node_modules", "**/*.test.ts" ],
// 다른 tsconfig.json 파일을 상속받아서 설정을 재사용할 수 있게 해주는 속성
"extends": "./configs/base.json",
// 여러 개의 하위 프로젝트로 구성된 프로젝트의 의존 관계를 지정하는 속성
"references": [
{ "path": "./subproject1" },
{ "path": "./subproject2" }
],
// 타입 습득(type acquisition)과 관련된 옵션들을 지정하는 속성
"typeAcquisition": {
"enable": true,
"include": ["jquery"],
"exclude": ["react"]
},
// watch 모드와 관련된 옵션들을 지정하는 속성
"watchOptions": {
"watchFile": "useFsEvents",
"watchDirectory": "useFsEvents",
"fallbackPolling": "dynamicPriority"
}
}
TypeScript 컴파일러의 옵션을 지정하는 속성으로, 컴파일 방식과 대상 ts버전, 엄격한 타입 검사 등을 포함한다.
target: es6
: 컴파일된 JavaScript 코드가 ECMAScript 6를 대상으로 생성된다.module: commonjs
: 모듈 시스템을 CommonJS로 설정한다. 이 옵션은 Node.js 환경에서 모듈을 관리할 때 사용됩니다.strict: true
: 엄격한 타입 검사 모드를 활성화하여 코드의 안전성을 높인다. (strictNullChecks, strictFunctionTypes 등 엄격한 검사 옵션이 모두 활성화됨.)sourceMap: true
: 컴파일된 JavaScript 파일에 소스 맵을 생성하여 디버깅 시 원본 TypeScript 코드와의 매핑을 가능하게 한다.컴파일할 파일들의 개별 목록을 지정하는 속성으로, 이 속성에 포함된 파일들만 컴파일 한다.
["src/main.ts", "src/utils.ts"]
: src 디렉터리의 main.ts와 utils.ts 파일을 컴파일 대상으로 지정