@file:OptIn(ExperimentalWasmDsl::class) import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.composeCompiler) alias(libs.plugins.composeMultiplatform) alias(libs.plugins.kotlinSerialization) } val isWasmEnabled = findProperty("enableWasm")?.toString()?.toBoolean() ?: false kotlin { jvm() if (isWasmEnabled) { js(IR) { binaries.library() browser { testTask { enabled = false } } } wasmJs { browser { testTask { enabled = false } } binaries.executable() } } sourceSets { commonMain.dependencies {} if (isWasmEnabled) { wasmJsMain.dependencies { // Core-Module implementation(projects.frontend.core.domain) implementation(projects.frontend.core.designSystem) implementation(projects.frontend.core.navigation) implementation(projects.frontend.core.network) implementation(projects.frontend.core.auth) // Feature-Module (die öffentlich sein dürfen) implementation(projects.frontend.features.veranstaltungFeature) implementation(projects.frontend.features.turnierFeature) implementation(projects.frontend.features.nennungFeature) implementation(projects.frontend.features.billingFeature) // Compose Multiplatform implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material3) implementation(compose.ui) implementation(compose.components.resources) implementation(libs.compose.materialIconsExtended) // DI (Koin) implementation(libs.koin.core) implementation(libs.koin.compose) implementation(libs.koin.compose.viewmodel) // Bundles implementation(libs.bundles.kmp.common) implementation(libs.bundles.compose.common) } wasmJsTest.dependencies { // Core-Module implementation(projects.frontend.core.domain) } } } }