compileOnSave
- true/ false (default false)
- Visual Studio 2015 with TypeScript 1.8.4이상
- atom-typescript 플러그인
extends
- 파일(상대) 경로명: string
- TypeScript 2.1 New Spec
files, include, exclude
- 셋다 설정이 없으면 전부다 컴파일
- include, exclude
compileOptions - typeRoots, types
types: TypeScript 2.0부터 사용 가능해진 내장 type definition 시스템
- 설정이 없을경우
- node_modules/@types 라는 모든 경로를 찾아서 사용
- typeRoots를 사용할 경우
- types를 사용할 경우
- 배열 안의 모듈 혹은 ./node_modules/@types/ 안의 모듈 이름에서 찾아옴
- [] 빈 배열을 넣으면 이 시스템을 이용하지 않겠다는 뜻
(typeRoots, types를 같이 사용하지 않음)
compileOptions - target 과 lib
- target
- 빌드의 결과물을 어떤 버전으로 할 것인지
- 지정하지 않으면 es3
- lib
- 기본 type definition 라이브러리를 어떤것을 사용할 것인지
- lib를 지정하지 않을때
- target 은 'es3', 디폴트 lib.d.ts 사용
- target 은 'es5', 디폴트 dom, es5, scripthost 사용
- target 은 'es6', 디폴트 dom, es6, dom.iterable, scripthost 사용
- lib를 지정하면 해당 lib 배열로만 라이브러리를 사용
- 빈 [] => 'no definition found~'
compileOptions - outDir, outFile, rootDir
compileOptions - strict
- noImplicitAny:
명시적이지 않게 any타입을 사용하여, 표현식과 선언에 사용하면 에러를 발생
- noImplicitThis:
명시적이지 않게 any타입을 사용하여, this 표현식에 사용하면 에러를 발생
- strictNullChecks:
null 및 undefined 값이 모든 유형의 도메인에 속하지 않으며, 그 자신을 타입으로 가지거나, any일 경우에만 할당 가능
(한가지 예외 undefined에 void 할당 가능)
- strictFunctionTypes:
함수 타입에 대한 bivariant 매개변수 검사를 비활성화 함
- strictPropertyInitialization:
정의되지 않은 클래스의 속성이 생성자에서 초기화 되었는지 확인함
- strictBindCallApply:
function의 내장 함수인 bind/call/apply를 사용할 때, 엄격하게 체크하도록 하는 옵션
- alwaysStrict:
각 소스 파일에 대해 JS의 strict mode로 코드를 분석하고, 엄격하게 사용을 해제함