2.5 KiB
2.5 KiB
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/undsrc/jsTest/Verzeichnisse wurden in den oben genannten Modulen gelöscht. - Logik wurde (falls noch nicht geschehen) nach
wasmJsMainmigriert. - Veraltete JS-spezifische Ktor-Client Abhängigkeiten wurden entfernt.
3. Stabilität & Bugfixes (KMP & Yarn)
- Network-Modul: Die
NoOpDiscoveryService-Implementierung inwasmJsMainwurde aktualisiert, um demNetworkDiscoveryService-Interface (commonMain) zu entsprechen. - Yarn Lock: Korrektur des
yarn.lockfür WASM viakotlinWasmUpgradeYarnLocknach 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.