-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.ts
96 lines (83 loc) · 2.13 KB
/
tsconfig.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/**
* @file Interfaces - TSConfig
* @module tsconfig-types/interfaces/TSConfig
*/
import type { JsonObject, OneOrMany } from '@flex-development/tutils'
import type BuildOptions from './build-options'
import type CompilerOptions from './compiler-options'
import type ProjectReference from './project-reference'
import type TsNodeOptions from './ts-node-options'
import type TypeAcquisition from './type-acquisition'
import type WatchOptions from './watch-options'
/**
* TypeScript configuration options.
*
* @see https://www.typescriptlang.org/tsconfig
*
* @extends {JsonObject}
*/
interface TSConfig extends JsonObject {
/**
* Build options.
*
* @see [`BuildOptions`]({@link ./build-options.ts})
*/
buildOptions?: BuildOptions
/**
* Compile program on save.
*/
compileOnSave?: boolean
/**
* Compiler options.
*
* @see [`CompilerOptions`]({@link ./compiler-options.ts})
*/
compilerOptions?: CompilerOptions
/**
* List of files to exclude in the program or glob patterns representing files
* to exclude.
*/
exclude?: string[]
/**
* Configuration file(s) to inherit from.
*
* @see https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#supporting-multiple-configuration-files-in-extends
*/
extends?: OneOrMany<string>
/**
* Files to include in the program.
*/
files?: string[]
/**
* List of files to include in the program or glob patterns representing files
* to include.
*/
include?: string[]
/**
* Project references.
*
* @see [`ProjectReference`]({@link ./project-reference.ts})
*/
references?: ProjectReference[]
/**
* [`ts-node`][1] options.
*
* [1]: https://github.com/TypeStrong/ts-node
*
* @see [`TsNodeOptions`]({@link ./ts-node-options.ts})
*/
'ts-node'?: TsNodeOptions
/**
* Auto type-acquisition options.
*
* @see [`TypeAcquisition`]({@link ./type-acquisition.ts})
*/
typeAcquisition?: TypeAcquisition
/**
* File and directory watching options.
*
* @see [`WatchOptions`]({@link ./watch-options.ts})
*/
watchOptions?: WatchOptions
}
export type { TSConfig as default }