-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtsconfig.json
49 lines (49 loc) · 2.58 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
{
// https://typestrong.org/ts-node/docs/configuration
// https://github.com/tsconfig/bases/#node-18-tsconfigjson
"extends": "@tsconfig/node18/tsconfig.json",
"ts-node": {
"esm": true,
// "transpileOnly": true,
// "files": true,
},
"compilerOptions": {
"module": "es2022",
"moduleResolution": "node",
// "moduleResolution": "node16", // ab TypeScript 4.7; oder nodenext
"moduleDetection": "force", // default: "auto", ab TypeScript 4.7 https://github.com/microsoft/TypeScript/issues/47724
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2022",
"sourceMap": true,
"outDir": "./dist",
// "baseUrl": "./", // fuer z.B. webpack https://www.typescriptlang.org/tsconfig#baseUrl
"incremental": true,
"skipLibCheck": true, // wegen @nestjs/graphql und @nestjs/apollo
"allowUnreachableCode": false, // return bei then-else und try-catch
"allowUnusedLabels": false, // Labels muessen auch benutzt werden
"esModuleInterop": true, // Kompatibilitaet zwischen CommonJS und ES Modulen
"exactOptionalPropertyTypes": true, // bei optionalen Properties ggf. explizit undefined spezifizieren
"forceConsistentCasingInFileNames": true, // Gross-/Kleinschreibung bei Dateinamen
// "importsNotUsedAsValues": "error", // Fehler bei nicht-benutzen Imports
"noErrorTruncation": true,
"noFallthroughCasesInSwitch": true, // "break" muss bei switch vorhanden sein
"noImplicitAny": true, // Fehler bei implizitem Typ "any"
"noImplicitOverride": true, // Schluesselwort "override"
"noImplicitReturns": true, // bei jedem Code-Pfad muss es "return" geben
"noImplicitThis": true, // Fehler bei this mit implizitem "any"
"noUncheckedIndexedAccess": true, // undefined bei Resultaten fuer Index-Signaturen
"noUnusedLocals": true, // keine nicht-benutzen lokalen Variablen
"noUnusedParameters": true, // keine nicht-benutzen Parameter
"preserveWatchOutput": true,
"strict": true, // alle "strict"-Optionen aktivieren
// "noImplicitAny": true, // Fehler bei implizitem Typ "any", default bei strict
// "noImplicitThis": true, // Fehler bei this mit implizitem "any", default bei strict
// "useUnknownInCatchVariables": true // unknown als default-Typ bei catch-Klauseln, default bei strict
// "noPropertyAccessFromIndexSignature": true, // Fehler in __tests__ bei dot-Zugriff auf nicht-definierte Properties, z.B. response.data.statusCode
// "allowJs": true, // wegen ts-jest und ESM
}
}