versuch kobweb zu implementieren

This commit is contained in:
2025-09-09 23:34:32 +02:00
parent 0ba27e7e87
commit 77e7fd58ea
14 changed files with 469 additions and 1437 deletions
+33 -36
View File
@@ -1,51 +1,48 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.compose.multiplatform)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose)
}
group = "at.mocode.client.kobweb"
version = "1.0-SNAPSHOT"
kotlin {
js(IR) {
outputModuleName.set("kobweb-app")
browser {
commonWebpackConfig {
outputFileName = "kobweb-app.js"
}
// Configure Java 17 toolchain (required by modern Compose/Kobweb)
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}
kobweb {
app {
index {
description.set("Meldestelle Kobweb Application")
}
}
}
kotlin {
js {
moduleName = "kobweb-app"
compilerOptions.target = "es2015"
browser()
binaries.executable()
}
@Suppress("UNUSED_VARIABLE") // Suppress spurious warnings about the outputs not being used anywhere
sourceSets {
val commonMain by getting {
dependencies {
implementation(compose.runtime)
}
jsMain.dependencies {
implementation(libs.compose.runtime)
implementation(libs.kobweb.core)
implementation(libs.kobweb.silk.core)
implementation(libs.kobwebx.markdown)
implementation(libs.compose.html.core)
// Common UI module via published artifact (decoupled build)
implementation("at.mocode.client:common-ui:1.0.0-SNAPSHOT")
// Additional web-specific dependencies
implementation(libs.kotlinx.coroutines.core)
implementation(libs.ktor.client.js)
}
val jsMain by getting {
dependencies {
// Kobweb dependencies
implementation(libs.kobweb.core)
implementation(libs.kobweb.silk.core)
implementation(libs.kobwebx.markdown)
// Compose HTML (CSS, DOM)
implementation(libs.compose.html.core)
// Common UI module (preserving business logic)
implementation(project(":client:common-ui"))
// Additional web-specific dependencies
implementation(libs.kotlinx.coroutines.core)
implementation(libs.ktor.client.js)
}
}
}
}