Kafkatorio/modules/web-map/build.gradle.kts

91 lines
2.1 KiB
Text
Raw Normal View History

2022-01-04 15:09:50 +01:00
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
plugins {
id("dev.adamko.kafkatorio.lang.kotlin-js")
kotlin("plugin.serialization")
id("io.kvision")
}
kotlin {
js(IR) {
2021-12-08 17:43:08 +01:00
// nodejs()
browser {
runTask {
outputFileName = "main.bundle.js"
sourceMaps = false
devServer = KotlinWebpackConfig.DevServer(
open = false,
port = 3000,
proxy = mutableMapOf(
"/kv/*" to "http://localhost:8080",
"/kvws/*" to mapOf("target" to "ws://localhost:8080", "ws" to true)
),
static = mutableListOf("$buildDir/processedResources/js/main")
)
}
webpackTask {
outputFileName = "main.bundle.js"
}
testTask {
useKarma {
useChromeHeadless()
}
}
}
binaries.executable()
}
sourceSets {
2022-01-04 15:09:50 +01:00
all {
languageSettings.optIn("kotlin.RequiresOptIn")
languageSettings.optIn("kotlinx.serialization.ExperimentalSerializationApi")
}
main {
dependencies {
2022-01-04 15:09:50 +01:00
implementation(projects.modules.eventsSchema)
implementation(libs.kotlinx.nodejs)
implementation(libs.kotlinx.html)
2022-01-04 15:09:50 +01:00
kvision("kvision")
kvision("kvision-bootstrap")
kvision("kvision-bootstrap-css")
kvision("kvision-bootstrap-icons")
kvision("kvision-fontawesome")
kvision("kvision-state")
kvision("kvision-chart")
kvision("kvision-maps")
kvision("kvision-redux")
kvision("kvision-state-flow")
2022-01-04 15:09:50 +01:00
implementation(libs.kotlinx.coroutines)
}
val webDir = file("src/main/web")
resources.srcDir(webDir)
}
2022-01-04 15:09:50 +01:00
test {
dependencies {
implementation(kotlin("test-js"))
2022-01-04 15:09:50 +01:00
kvision("kvision-testutils")
}
}
}
}
2022-01-04 15:09:50 +01:00
fun KotlinDependencyHandler.kvision(
module: String,
version: Provider<String> = libs.versions.kvision,
configure: ExternalModuleDependency.() -> Unit = {
// isChanging = true
2022-01-04 15:09:50 +01:00
}
) {
implementation("io.kvision:$module:${version.get()}", configure)
}