e91b10daa3
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
55 lines
2.5 KiB
Markdown
55 lines
2.5 KiB
Markdown
# Journal: Umstellung auf JVM + wasmJs (Welle 1-3)
|
|
|
|
**Datum:** 18. April 2026
|
|
**Status:** Abgeschlossen
|
|
**Agent:** 🏗️ [Lead Architect] & 🧹 [Curator]
|
|
|
|
## 🎯 Zielsetzung
|
|
|
|
Vollständige Eliminierung des redundanten `js(IR)` Targets aus allen Modulen des Projekts. Strategische Fokussierung auf
|
|
**JVM (Desktop)** und **wasmJs (Web)** gemäß der "Meldestelle"-Architekturvorgaben.
|
|
|
|
## 🛠️ Durchgeführte Maßnahmen
|
|
|
|
### 1. Gradle-Bereinigung (Entfernung `js(IR)`)
|
|
|
|
In den folgenden Modul-Kategorien wurde der `js(IR) { ... }` Block sowie JS-spezifische Dependencies aus den
|
|
`build.gradle.kts` Dateien entfernt:
|
|
|
|
- **Core-Module:** `auth`, `domain`, `local-db`, `network`, `core-domain`, `design-system`, `navigation`, `sync`,
|
|
`core-utils`.
|
|
- **Feature-Module:** `billing`, `funktionaer`, `nennung`, `pferde`, `ping`, `profile`, `reiter`, `turnier`,
|
|
`veranstalter`, `veranstaltung`, `verein`, `zns-import`, `device-initialization`.
|
|
- **Contracts & Backend-Common:** `ping-api`, `entries-api`, `entries-domain`, `masterdata-domain`, `billing-domain`,
|
|
`events-common`, `zns-parser`.
|
|
- **Shells:** `meldestelle-web`, `meldestelle-desktop`.
|
|
|
|
### 2. Quellcode-Migration & Cleanup
|
|
|
|
- Alle `src/jsMain/` und `src/jsTest/` Verzeichnisse wurden in den oben genannten Modulen gelöscht.
|
|
- Logik wurde (falls noch nicht geschehen) nach `wasmJsMain` migriert.
|
|
- Veraltete JS-spezifische Ktor-Client Abhängigkeiten wurden entfernt.
|
|
|
|
### 3. Stabilität & Bugfixes (KMP & Yarn)
|
|
|
|
- **Network-Modul:** Die `NoOpDiscoveryService`-Implementierung in `wasmJsMain` wurde aktualisiert, um dem
|
|
`NetworkDiscoveryService`-Interface (`commonMain`) zu entsprechen.
|
|
- **Yarn Lock:** Korrektur des `yarn.lock` für WASM via `kotlinWasmUpgradeYarnLock` nach Wegfall der JS-Targets.
|
|
- **Dependency Resolution:** Beseitigung aller KMP-Fehlermeldungen ("Unresolved platforms: [js]") durch vollständige
|
|
Bereinigung der Target-Ketten.
|
|
|
|
## ✅ Verifizierung
|
|
|
|
- `./gradlew clean build`: **ERFOLGREICH** (keine KMP-Auflösungsfehler mehr)
|
|
- `./gradlew :frontend:shells:meldestelle-desktop:jvmJar`: **ERFOLGREICH**
|
|
- `./gradlew :frontend:shells:meldestelle-web:wasmJsBrowserDistribution -PenableWasm=true`: **ERFOLGREICH**
|
|
|
|
## 📝 Fazit
|
|
|
|
Die technische Schuld der redundanten JS-Targets wurde getilgt. Das Projekt verfügt nun über eine saubere, zweigleisige
|
|
Architektur (JVM & WASM), was die Build-Stabilität erhöht und die Komplexität der Plattform-Implementierungen (
|
|
`expect/actual`) reduziert.
|
|
|
|
---
|
|
*Dokumentiert durch den Curator am 18.04.2026.*
|