fixing Web-App

This commit is contained in:
2025-09-27 01:00:34 +02:00
parent 6a40375e3f
commit 7f64167983
23 changed files with 126 additions and 252 deletions
+15 -29
View File
@@ -18,7 +18,6 @@ group = "at.mocode.clients"
version = "1.0.0"
kotlin {
val enableWasm = providers.gradleProperty("enableWasm").orNull == "true"
jvmToolchain(21)
@@ -33,21 +32,6 @@ kotlin {
js(IR) {
outputModuleName = "web-app"
browser {
webpackTask {
mainOutputFileName = "web-app.js"
output.libraryTarget = "commonjs2"
}
// Development Server konfigurieren
runTask {
mainOutputFileName.set("web-app.js")
}
// Browser-Tests komplett deaktivieren (Configuration Cache kompatibel)
testTask {
enabled = false
}
commonWebpackConfig {
cssSupport { enabled = true }
// Webpack-Mode abhängig von Build-Typ
@@ -56,7 +40,18 @@ kotlin {
else
KotlinWebpackConfig.Mode.DEVELOPMENT
}
webpackTask {
mainOutputFileName = "web-app.js"
output.libraryTarget = "commonjs2"
}
// Development Server konfigurieren
runTask {
mainOutputFileName.set("web-app.js")
}
// Browser-Tests komplett deaktivieren (Configuration Cache kompatibel)
testTask {
enabled = false
}
}
binaries.executable()
}
@@ -72,21 +67,17 @@ kotlin {
applyDefaultHierarchyTemplate()
sourceSets {
commonMain.dependencies {
// Feature modules
implementation(project(":clients:ping-feature"))
// Shared modules
implementation(project(":clients:shared:common-ui"))
implementation(project(":clients:shared:navigation"))
// Compose dependencies
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
// ViewModel lifecycle
implementation(libs.androidx.lifecycle.viewmodelCompose)
}
@@ -95,19 +86,14 @@ kotlin {
implementation(libs.kotlinx.coroutines.swing)
implementation(libs.kotlinx.coroutines.core)
}
jsMain.dependencies {
implementation(npm("html-webpack-plugin", "5.6.4"))
}
if (enableWasm) {
val wasmJsMain by getting {
dependencies {
implementation(npm("html-webpack-plugin", "5.6.4"))
}
wasmJsMain.dependencies {
implementation(npm("html-webpack-plugin", "5.6.4"))
}
}
commonTest.dependencies {
implementation(libs.kotlin.test)
}
@@ -124,7 +110,6 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
}
}
// Configure duplicate handling strategy for distribution tasks
tasks.withType<Tar> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
@@ -138,6 +123,7 @@ tasks.withType<Zip> {
tasks.withType<Copy> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
tasks.withType<Sync> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
+33 -40
View File
@@ -15,7 +15,11 @@ version = "1.0.0"
kotlin {
val enableWasm = providers.gradleProperty("enableWasm").orNull == "true"
jvmToolchain(21)
jvm()
js {
browser {
testTask {
@@ -31,50 +35,39 @@ kotlin {
}
}
jvmToolchain(21)
sourceSets {
commonMain {
dependencies {
// Contract from backend
implementation(projects.services.ping.pingApi)
// UI Kit
implementation(project(":clients:shared:common-ui"))
// Compose dependencies
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
// Ktor client for HTTP calls
implementation(libs.ktor.client.core)
implementation(libs.ktor.client.contentNegotiation)
implementation(libs.ktor.client.serialization.kotlinx.json)
// Coroutines and serialization
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.serialization.json)
// ViewModel lifecycle
implementation(libs.androidx.lifecycle.viewmodelCompose)
}
commonMain.dependencies {
// Contract from backend
implementation(projects.services.ping.pingApi)
// UI Kit
implementation(project(":clients:shared:common-ui"))
// Compose dependencies
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
// Ktor client for HTTP calls
implementation(libs.ktor.client.core)
implementation(libs.ktor.client.contentNegotiation)
implementation(libs.ktor.client.serialization.kotlinx.json)
// Coroutines and serialization
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.serialization.json)
// ViewModel lifecycle
implementation(libs.androidx.lifecycle.viewmodelCompose)
}
commonTest {
dependencies {
implementation(libs.kotlin.test)
}
commonTest.dependencies {
implementation(libs.kotlin.test)
}
jvmMain {
dependencies {
implementation(libs.ktor.client.cio)
}
jvmMain.dependencies {
implementation(libs.ktor.client.cio)
}
jsMain {
dependencies {
implementation(libs.ktor.client.js)
}
jsMain.dependencies {
implementation(libs.ktor.client.js)
}
}
}
+12 -14
View File
@@ -13,7 +13,11 @@ version = "1.0.0"
kotlin {
val enableWasm = providers.gradleProperty("enableWasm").orNull == "true"
jvmToolchain(21)
jvm()
js {
browser {
testTask {
@@ -29,22 +33,16 @@ kotlin {
}
}
jvmToolchain(21)
sourceSets {
commonMain {
dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
implementation(compose.components.resources)
}
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.ui)
implementation(compose.components.resources)
}
commonTest {
dependencies {
implementation(libs.kotlin.test)
}
commonTest.dependencies {
implementation(libs.kotlin.test)
}
}
}
+9 -10
View File
@@ -11,10 +11,15 @@ version = "1.0.0"
kotlin {
val enableWasm = providers.gradleProperty("enableWasm").orNull == "true"
jvmToolchain(21)
jvm()
js {
browser()
}
if (enableWasm) {
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalWasmDsl::class)
wasmJs {
@@ -22,18 +27,12 @@ kotlin {
}
}
jvmToolchain(21)
sourceSets {
commonMain {
dependencies {
// No specific dependencies needed for navigation routes
}
commonMain.dependencies {
// No specific dependencies needed for navigation routes
}
commonTest {
dependencies {
implementation(libs.kotlin.test)
}
commonTest.dependencies {
implementation(libs.kotlin.test)
}
}
}