plugins { kotlin("jvm") id("org.jetbrains.compose") version "1.7.3" id("org.jetbrains.kotlin.plugin.compose") version "2.1.21" } repositories { google() mavenCentral() } tasks.withType { useJUnitPlatform() } dependencies { // Client dependencies implementation(projects.client.commonUi) // Core dependencies - minimal set implementation(projects.core.coreDomain) implementation(projects.core.coreUtils) // Remove unnecessary infrastructure dependencies // implementation(projects.infrastructure.auth.authClient) // Only if auth is needed // Remove direct domain module dependencies - access through API instead // implementation(projects.members.membersDomain) // Access through API // implementation(projects.members.membersApplication) // Access through API // implementation(projects.masterdata.masterdataDomain) // Access through API // implementation(projects.horses.horsesDomain) // Access through API // implementation(projects.events.eventsDomain) // Access through API // Compose dependencies for Web (using Compose Multiplatform for Web) implementation(compose.html.core) implementation(compose.runtime) // Alternative: If using Compose for Desktop in web context // implementation(compose.desktop.currentOs) // implementation(compose.foundation) // implementation(compose.material3) // implementation(compose.ui) // implementation(compose.components.resources) // implementation(compose.materialIconsExtended) // Essential Kotlinx dependencies implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-js:1.8.0") // For web target implementation("com.benasher44:uuid:0.8.4") // Testing testImplementation(projects.platform.platformTesting) testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.8.0") testImplementation("io.mockk:mockk:1.13.8") testImplementation("org.junit.jupiter:junit-jupiter:5.10.1") } // Web application configuration compose.experimental { web.application {} }