# Journal: Welle 1 - WASM-Only Transition **Datum:** 18. April 2026 **Status:** Welle 1 abgeschlossen **Agent:** 🏗️ [Lead Architect] & 🧹 [Curator] ## 🎯 Ziel Vollständige Entfernung des `js(IR)`-Targets aus den Core-Modulen und Umstellung auf ein reines **JVM (Desktop)** + * *wasmJs (Web)** Modell. ## 🛠️ Durchgeführte Änderungen ### 1. Gradle-Bereinigung (Entfernung `js(IR)`) In folgenden Modulen wurde der `js(IR) { ... }` Block und die entsprechenden JS-Dependencies aus den `sourceSets` entfernt: - `core/core-domain` - `frontend/core/auth` - `frontend/core/domain` - `frontend/core/local-db` - `frontend/core/network` - `frontend/core/design-system` - `frontend/core/navigation` - `frontend/shells/meldestelle-web` ### 2. Quellcode-Migration & Bereinigung - **Löschung:** Alle `src/jsMain/` und `src/jsTest/` Verzeichnisse in den oben genannten Modulen wurden gelöscht. - **Migration:** - Logik aus `OidcCallback.js.kt` wurde bereits zuvor weitgehend in `OidcCallback.wasmJs.kt` übernommen. - In `local-db` wurde die `DatabaseDriverFactory.wasmJs.kt` auf einen stabilen Rumpf-Stand gebracht ( WebWorkerDriver-Migration ist aufgrund fehlender DOM-Libraries für WASM aktuell noch blockiert). - **Konsolidierung:** Dependencies wie `kotlinx-coroutines-core`, die zuvor in `jsMain` lagen, wurden nach `commonMain` oder `wasmJsMain` verschoben. ## 🛡️ Verifizierung - `./gradlew clean`: **Erfolgreich** - `./gradlew :frontend:shells:meldestelle-desktop:jvmJar`: **Erfolgreich** (Desktop-Shell baut stabil). - Build-Check für WASM (`meldestelle-web`) zeigt noch Fehler in den Feature-Modulen (Welle 2), was erwartungskonform ist, da diese noch `js(IR)` referenzieren. ## 🚀 Nächste Schritte - **Welle 2:** Systematische Bereinigung aller `frontend/features/*` Module. - **Welle 3:** Finalisierung der Web-Shell und vollständige Entfernung aller JS-Leichen im Projekt. --- *Dokumentiert durch den Curator.*