-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathtsconfig.base.json
More file actions
57 lines (50 loc) · 2.04 KB
/
tsconfig.base.json
File metadata and controls
57 lines (50 loc) · 2.04 KB
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
{
// This tsconfig file contains the shared config for the build and type checking
"include": [],
"compilerOptions": {
// Projects
// ========
// NOTE: Enabling incremental builds speeds up `tsc`.
// Keep in mind though that it does not reliably bust the cache when the `tsconfig.json` file changes.
// Generates .tsbuildinfo files
"incremental": true,
// Language and Environment
// ========================
"strict": true,
"useDefineForClassFields": true, // Not enabled by default in `strict` mode unless we bump `target` to ES2022.
// Type Checking
// =============
"exactOptionalPropertyTypes": true,
"noFallthroughCasesInSwitch": true, // Not enabled by default in `strict` mode.
"noImplicitOverride": true, // Not enabled by default in `strict` mode.
"noImplicitReturns": true, // Not enabled by default in `strict` mode.
"noUnusedParameters": true, // Not enabled by default in `strict` mode.
"noUnusedLocals": true, // Not enabled by default in `strict` mode.
"useUnknownInCatchVariables": true, // TODO: This would normally be enabled in `strict` mode but would require some adjustments to the codebase.
// TODO: too strict for the moment
//"noUncheckedIndexedAccess": true,
// JavaScript Support
// ==================
"allowJs": false,
"checkJs": false,
// Interop Constraints
// ===================
"esModuleInterop": false,
"allowSyntheticDefaultImports": false,
"forceConsistentCasingInFileNames": true,
"verbatimModuleSyntax": true,
// Modules
// =======
"module": "NodeNext",
"moduleResolution": "NodeNext",
// Language and Environment
// ========================
"target": "ES2021", // Setting this to `ES2021` enables native support for `Node v16+`: https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping.
"lib": [
"ES2022" // By using ES2022 we get access to the `.cause` property on `Error` instances.
],
// Completeness
// ============
"skipLibCheck": true
}
}