Root Fields
Starting up are the root options in the TSConfig - these options relate to how your TypeScript or JavaScript project is set up.
# Files - files
# Extends - extends
The value of extends
is a string which contains a path to another configuration file to inherit from.
The path may use Node.js style resolution.
The configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.
It’s worth noting that files
, include
, and exclude
from the inheriting config file overwrite those from the
base config file, and that circularity between configuration files is not allowed.
Currently, the only top-level property that is excluded from inheritance is references
.
Example
configs/base.json
:
{" ": {" ": true," ": true}}
tsconfig.json
:
{" ": "./configs/base"," ": ["main.ts", "supplemental.ts"]}
tsconfig.nostrictnull.json
:
{" ": "./tsconfig"," ": {" ": false}}
Properties with relative paths found in the configuration file, which aren’t excluded from inheritance, will be resolved relative to the configuration file they originated in.
- Default:
false
- Released:
# Include - include
프로그램에 포함할 파일 이름이나 패턴을 배열로 지정합니다.
이 파일 이름은 tsconfig.json
파일에 포함된 디렉터리를 기준으로 하여 결정됩니다.
json
{"include": ["src/**/*", "tests/**/*"]}
위 문법은 아래와 같이 파일을 포함합니다.
.├── scripts ⨯│ ├── lint.ts ⨯│ ├── update_deps.ts ⨯│ └── utils.ts ⨯├── src ✓│ ├── client ✓│ │ ├── index.ts ✓│ │ └── utils.ts ✓│ ├── server ✓│ │ └── index.ts ✓├── tests ✓│ ├── app.test.ts ✓│ ├── utils.ts ✓│ └── tests.d.ts ✓├── package.json├── tsconfig.json└── yarn.lock
include
와 exclude
는 글롭(glob) 패턴을 만들기 위한 와일드카드 문자를 지원합니다.:
*
0개 혹은 그 이상의 문자를 매치합니다. (디렉터리 구분자를 제외하고)?
문자 한 개를 매치합니다. (디렉터리 구분자를 제외하고)**/
모든 하위 디렉터리를 매치합니다.
만약 글롭 패턴에 파일 확장자가 포함되어있지 않다면 오직 지원되는 확장자를 가진 파일들만 포함됩니다. (e. g. .ts
, .tsx
, .d.ts
가 기본적으로 포함되며, allowJS
가 true로 설정되었을 경우에는 .js
, .jsx
까지 포함)
# Exclude - exclude
include
에서 파일을 포함할 때 생략할 파일 이름이나 패턴을 배열로 지정합니다.
중요 : exclude
는 오직 include
의 설정의 결과로 포함되는 파일만 변경합니다. exclude
로 지정된 파일은 코드상의 types
를 포함하여, import
에 의해 코드 베이스의 일부가 될 수 있습니다. 이는 /// <reference
지시문 또는 files
목록에 지정되어 있기 때문입니다.
이것은 파일이 코드 베이스에 포함되는 것을 방지하는 메커니즘이 아닙니다. 단순히 include
의 설정이 찾은 내용만을 변경하게 됩니다.
# References - references
Project references are a way to structure your TypeScript programs into smaller pieces. Using Project References can greatly improve build and editor interaction times, enforce logical separation between components, and organize your code in new and improved ways.
You can read more about how references works in the Project References section of the handbook
- Default:
false