Files
meldestelle/docs/99_Journal/2026-04-18_WASM-Transition-Welle-1.md
T

52 lines
1.9 KiB
Markdown

# 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.*