waffensachkunde
Waffensachkunde – Lernsoftware für die Sachkundeprüfung nach § 7 WaffG. Barrierefrei, offline, EUPL-1.2.
| 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 | } |