plugins { alias(catalog.plugins.kotlin.multiplatform) alias(catalog.plugins.kotlin.serialization) } configurations { tar { canBeConsumed = true canBeResolved = false } } kotlin { sourceSets { jsMain { dependencies { implementation catalog.klevtree implementation group: 'org.jetbrains.kotlinx', name: 'kotlinx-serialization-json', version: '1.6.2' implementation(npm("bootstrap", "5.3.2")) implementation(npm("bootstrap-icons", "1.11.3")) implementation(npm("style-loader", "3.3.4")) implementation(npm("css-loader", "6.10.0")) implementation(npm("postcss-loader", "8.1.0")) implementation(npm("sass", "1.71.1")) implementation(npm("sass-loader", "14.1.1")) } } } js(IR) { browser { runTask { sourceMaps = true devServer.port = 5080 cssSupport { enabled.set(false) } } webpackTask { sourceMaps = false } } binaries.executable() } } Provider distTarTaskProvider = tasks.register('distTar', Tar) { tar -> from(tasks.named('jsBrowserDistribution')) } def distributionTaskProvider = tasks.named("jsBrowserDistribution") artifacts { tar(distributionTaskProvider) }