60 lines
1.5 KiB
Kotlin
60 lines
1.5 KiB
Kotlin
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
|
|
|
plugins {
|
|
id("dev.adamko.factoriowebmap.archetype.base")
|
|
// kotlin("jvm")
|
|
id("io.kvision") version "5.4.1"
|
|
kotlin("js")
|
|
kotlin("plugin.serialization")
|
|
}
|
|
|
|
group = "${rootProject.group}.server"
|
|
version = rootProject.version
|
|
|
|
|
|
val webDir = file("src/main/web")
|
|
|
|
|
|
val kvisionVersion = "5.4.1"
|
|
|
|
kotlin {
|
|
js {
|
|
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["main"].dependencies {
|
|
implementation("io.kvision:kvision:$kvisionVersion")
|
|
implementation("io.kvision:kvision-bootstrap:$kvisionVersion")
|
|
implementation("io.kvision:kvision-bootstrap-css:$kvisionVersion")
|
|
implementation("io.kvision:kvision-i18n:$kvisionVersion")
|
|
}
|
|
sourceSets["test"].dependencies {
|
|
implementation(kotlin("test-js"))
|
|
implementation("io.kvision:kvision-testutils:$kvisionVersion")
|
|
}
|
|
sourceSets["main"].resources.srcDir(webDir)
|
|
|
|
}
|