Enabled Wasm target across all relevant modules and removed conditional enablement logic. Refactored `core:core-utils` to move JVM-specific code to a new `backend:infrastructure:persistence` module for strict KMP compliance. Updated dependencies, adjusted Gradle configurations, and resolved circular dependencies.
54 lines
1.2 KiB
Plaintext
54 lines
1.2 KiB
Plaintext
plugins {
|
|
alias(libs.plugins.kotlinMultiplatform)
|
|
alias(libs.plugins.composeMultiplatform)
|
|
alias(libs.plugins.composeCompiler)
|
|
alias(libs.plugins.kotlinSerialization)
|
|
}
|
|
|
|
kotlin {
|
|
// Toolchain is now handled centrally in the root build.gradle.kts
|
|
|
|
jvm()
|
|
js(IR) {
|
|
browser()
|
|
// nodejs()
|
|
}
|
|
|
|
// WASM enabled by default
|
|
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalWasmDsl::class)
|
|
wasmJs {
|
|
browser()
|
|
}
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
// Shared module dependency
|
|
implementation(projects.frontend.shared)
|
|
|
|
// Compose dependencies
|
|
implementation(compose.runtime)
|
|
implementation(compose.foundation)
|
|
implementation(compose.material3)
|
|
implementation(compose.ui)
|
|
implementation(compose.components.resources)
|
|
|
|
// Coroutines
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
|
|
// Serialization
|
|
implementation(libs.kotlinx.serialization.json)
|
|
|
|
// DateTime
|
|
implementation(libs.kotlinx.datetime)
|
|
}
|
|
|
|
jsMain.dependencies {
|
|
// JS-specific UI dependencies if needed
|
|
}
|
|
|
|
jvmMain.dependencies {
|
|
// JVM-specific UI dependencies if needed
|
|
}
|
|
}
|
|
}
|