Sudarshan
08/26/2025, 9:39 AMSudarshan
08/26/2025, 9:39 AMimport org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.compose.multiplatform)
alias(libs.plugins.compose.compiler)
}
group = libs.versions.webApp.group.get()
version = libs.versions.webApp.version.get()
kotlin {
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
outputModuleName.set("composeApp")
browser {
val rootDirPath = project.rootDir.path
val projectDirPath = project.projectDir.path
commonWebpackConfig {
outputFileName = "composeApp.js"
devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply {
static = (static ?: mutableListOf()).apply {
add(rootDirPath)
add(projectDirPath)
}
}
}
}
binaries.executable()
}
sourceSets {
wasmJsMain.dependencies {
implementation(libs.compose.multiplatform.ui)
implementation(projects.composeApp)
}
}
}
// Custom build directory
layout.buildDirectory.set(file(path = "$rootDir/.build/WebApp"))Sudarshan
08/26/2025, 9:40 AMEkaterina Zaitseva
08/26/2025, 9:43 AMSudarshan
08/26/2025, 9:44 AMkotlin = "2.2.10"
composeMultiplatform = "1.8.2"
navigation = "2.9.0-beta05"
viewmodel = "2.9.2"
kotlinCoroutines = "1.10.2"
kotlinSerialization = "1.9.0"
koin = "4.1.0"
these are the versions that I'm using.'Ekaterina Zaitseva
08/26/2025, 9:47 AM2.9.1 or bump composeMultiplatform to 1.9.0-beta03 ?
Will this help fix the issue on your project?Sudarshan
08/26/2025, 10:00 AM1.8.2 to 1.9.0-beta3 but now I'm facing new issues in other modules for example: Caused by: org.gradle.api.UnknownTaskException: Task with name 'wasmJsBrowserProductionWebpack' not found in project ':compose-app'.Sudarshan
08/26/2025, 10:02 AMimport org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
alias(libs.plugins.compose.multiplatform)
alias(libs.plugins.compose.compiler)
}
group = libs.versions.composeApp.group.get()
version = libs.versions.composeApp.version.get()
kotlin {
androidTarget()
jvm("desktop") {
compilerOptions {
jvmTarget = JvmTarget.JVM_21
}
}
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
browser()
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
}
sourceSets {
commonMain.dependencies {
implementation(libs.bundles.koin.multiplatform)
implementation(libs.bundles.compose.lifecycle)
implementation(projects.shared)
implementation(projects.userOnboarding)
}
}
}
compose.resources {
generateResClass = never
}
android {
namespace = libs.versions.composeApp.androidLibrary.namespace.get()
compileSdk = libs.versions.composeApp.androidLibrary.compileSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.composeApp.androidLibrary.minSdk.get().toInt()
}
}
// Custom build directory
layout.buildDirectory.set(file(path = "$rootDir/.build/ComposeApp"))
compose-app/build.gradle.kts for your reference.Ekaterina Zaitseva
08/26/2025, 10:09 AMwiktor
09/16/2025, 1:07 PM