waffensachkunde

Waffensachkunde – Lernsoftware für die Sachkundeprüfung nach § 7 WaffG. Barrierefrei, offline, EUPL-1.2.

/ app tsconfig.base.json

1,7 KB Rohdatei
app/tsconfig.base.json — 42 Zeilen
1 {
2 "compilerOptions": {
3 "target": "ES2023",
4 "moduleDetection": "force",
5 "useDefineForClassFields": true,
6 "skipLibCheck": true,
7
8 /* ── strict und darüber hinaus ───────────────────────────────────
9 `strict` allein reicht nicht: die folgenden Optionen fangen genau
10 die Fehlerklassen ab, die in Electron-Projekten teuer werden
11 (undefinierte Array-Zugriffe, unsaubere IPC-Nutzlasten). */
12 "strict": true,
13 "noImplicitOverride": true,
14 "noUncheckedIndexedAccess": true,
15 "exactOptionalPropertyTypes": true,
16 "noFallthroughCasesInSwitch": true,
17 "noImplicitReturns": true,
18 "noPropertyAccessFromIndexSignature": true,
19 "noUnusedLocals": true,
20 "noUnusedParameters": true,
21 "allowUnusedLabels": false,
22 "allowUnreachableCode": false,
23
24 /* ── Modulauflösung (Bundler: Vite/Rollup) ───────────────────── */
25 "module": "ESNext",
26 "moduleResolution": "bundler",
27 "verbatimModuleSyntax": true,
28 "isolatedModules": true,
29 "resolveJsonModule": true,
30 "esModuleInterop": true,
31 "forceConsistentCasingInFileNames": true
32
33 /* Kein "noEmit" hier: die Teilprojekte sind `composite` (für
34 Editor-Projektreferenzen). Die npm-Skripte rufen deshalb
35 `tsc --noEmit -p <projekt>` auf. Beides verträgt sich seit
36 TypeScript 5.x; es entstehen keine Übersetzungsartefakte, nur die
37 `.tsbuildinfo`-Dateien unter `node_modules/.tmp/` (also außerhalb der
38 Versionsverwaltung). Die zwischenzeitliche Notlösung
39 `--composite false` ist entfallen – sie hatte den Typprüfer nur
40 ruhiggestellt, statt die Projektzuschnitte zu ordnen. */
41 }
42 }