-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.json
51 lines (45 loc) · 3.75 KB
/
tsconfig.json
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
{
// All TS/JS files should be in src/
"include": ["src/**/*"],
"compilerOptions": {
/* Projects */
"incremental": true, /* Enable incremental compilation */
"tsBuildInfoFile": "./tsconfig.tsbuildinfo", /* Specify the folder for .tsbuildinfo incremental compilation files. */
"composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
/* Language and Environment */
// Target of ES2022 to support private class fields using `#propertyName`
"target": "ES2022",
// Need DOM for RequestInit and fetch types
"lib": ["ES2022", "DOM"],
/* Modules */
"rootDir": "./src", /* Specify the root folder within your source files. */
// Difference between ES2015 (aka ES6) and ES2020, is that ES2020 adds support for dynamic imports, and import.meta.
"module": "ES6",
"moduleResolution": "node",
/* Emit */
"declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
"outDir": "./dist", /* Specify an output folder for all emitted files. */
/* Interop Constraints */
"isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
/* Type Checking */
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */
"strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */
"strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
"strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */
"strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
"noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */
"alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
"noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */
"noUnusedParameters": true, /* Raise an error when a function parameter isn't read */
"exactOptionalPropertyTypes": false, /* Interpret optional property types as written, rather than adding 'undefined'. */
"noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
"noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
"noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
"noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
"allowUnusedLabels": false, /* Disable error reporting for unused labels. */
"useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */
"noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */
}
}