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 catalog.khtml implementation group: 'org.jetbrains.kotlinx', name: 'kotlinx-serialization-json', version: '1.6.2' implementation(npm("bootstrap", "5.3.6")) implementation(npm("bootstrap-icons", "1.13.1")) implementation(npm("style-loader", "4.0.0")) implementation(npm("css-loader", "7.1.2")) implementation(npm("postcss-loader", "8.1.1")) implementation(npm("sass", "1.89.1")) implementation(npm("sass-loader", "16.0.5")) } } } 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) }