2022-01-04 15:09:50 +01:00
|
|
|
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
|
2021-12-06 22:15:26 +01:00
|
|
|
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
|
|
|
|
|
2022-04-20 16:30:23 +02:00
|
|
|
|
2021-12-06 22:15:26 +01:00
|
|
|
plugins {
|
2022-06-19 10:16:37 +02:00
|
|
|
dev.adamko.kafkatorio.lang.`kotlin-js`
|
|
|
|
|
// dev.adamko.kafkatorio.lang.`kotlin-multiplatform`
|
2022-02-09 11:53:58 +01:00
|
|
|
id("io.kvision")
|
2022-06-20 23:59:22 +02:00
|
|
|
kotlin("plugin.serialization")
|
2021-12-06 22:15:26 +01:00
|
|
|
}
|
|
|
|
|
|
2022-05-14 12:23:58 +02:00
|
|
|
|
2022-06-20 23:59:22 +02:00
|
|
|
kvision {
|
|
|
|
|
enableHiddenKotlinJsStore.set(false)
|
|
|
|
|
}
|
2022-05-14 12:23:58 +02:00
|
|
|
|
2022-06-26 14:56:53 +02:00
|
|
|
|
2022-06-19 10:16:37 +02:00
|
|
|
kotlin {
|
|
|
|
|
js(IR) {
|
2021-12-06 22:15:26 +01:00
|
|
|
browser {
|
2022-06-26 14:56:53 +02:00
|
|
|
binaries.executable()
|
|
|
|
|
|
2021-12-06 22:15:26 +01:00
|
|
|
runTask {
|
|
|
|
|
outputFileName = "main.bundle.js"
|
2022-01-09 17:39:24 +01:00
|
|
|
sourceMaps = false
|
2021-12-06 22:15:26 +01:00
|
|
|
devServer = KotlinWebpackConfig.DevServer(
|
|
|
|
|
open = false,
|
|
|
|
|
port = 3000,
|
|
|
|
|
proxy = mutableMapOf(
|
2022-07-02 08:45:21 +02:00
|
|
|
"/kafkatorio/data/servers" to mapOf(
|
2022-06-19 10:16:37 +02:00
|
|
|
"target" to "http://localhost:12080",
|
|
|
|
|
"secure" to false,
|
|
|
|
|
"changeOrigin" to true,
|
|
|
|
|
),
|
2022-07-02 08:45:21 +02:00
|
|
|
"/kafkatorio/ws" to mapOf(
|
2022-06-19 10:16:37 +02:00
|
|
|
"target" to "ws://localhost:12080",
|
|
|
|
|
// "secure" to false,
|
2022-05-18 19:32:52 +02:00
|
|
|
"ws" to true,
|
2022-06-19 10:16:37 +02:00
|
|
|
// "changeOrigin" to true,
|
|
|
|
|
),
|
2021-12-06 22:15:26 +01:00
|
|
|
),
|
2022-06-19 10:16:37 +02:00
|
|
|
// static = mutableListOf("$buildDir/processedResources/frontend/main")
|
|
|
|
|
static = mutableListOf("$buildDir/processedResources/js/main")
|
2021-12-06 22:15:26 +01:00
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
webpackTask {
|
|
|
|
|
outputFileName = "main.bundle.js"
|
|
|
|
|
}
|
|
|
|
|
testTask {
|
|
|
|
|
useKarma {
|
|
|
|
|
useChromeHeadless()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-06-19 10:16:37 +02:00
|
|
|
// compilations["main"].packageJson {
|
|
|
|
|
// this.devDependencies["webpack-dev-server"] = "4.9.1"
|
|
|
|
|
// }
|
2021-12-06 22:15:26 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sourceSets {
|
2022-01-04 15:09:50 +01:00
|
|
|
|
|
|
|
|
all {
|
2022-03-09 21:40:40 +01:00
|
|
|
languageSettings.apply {
|
|
|
|
|
optIn("kotlin.RequiresOptIn")
|
|
|
|
|
optIn("kotlinx.serialization.ExperimentalSerializationApi")
|
|
|
|
|
}
|
2022-01-04 15:09:50 +01:00
|
|
|
}
|
2021-12-06 22:15:26 +01:00
|
|
|
|
2022-06-19 10:16:37 +02:00
|
|
|
main {
|
2022-05-14 12:23:58 +02:00
|
|
|
dependencies {
|
|
|
|
|
implementation(dependencies.platform(libs.kotlinx.coroutines.bom))
|
|
|
|
|
implementation(dependencies.platform(libs.kotlin.jsWrappers.bom))
|
|
|
|
|
|
|
|
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
|
|
|
|
2022-07-02 08:45:21 +02:00
|
|
|
implementation(projects.modules.eventsLibrary)
|
2022-05-14 12:23:58 +02:00
|
|
|
|
|
|
|
|
implementation(libs.kotlinx.html)
|
2021-12-06 22:15:26 +01:00
|
|
|
|
2022-02-08 01:35:52 +01:00
|
|
|
implementation(libs.kotlinx.nodejs)
|
|
|
|
|
implementation(libs.kotlinx.html)
|
2021-12-06 22:15:26 +01:00
|
|
|
|
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")
|
2021-12-06 22:15:26 +01:00
|
|
|
|
2022-06-19 10:16:37 +02:00
|
|
|
implementation(devNpm("http-proxy-middleware", "^2.0.6"))
|
|
|
|
|
implementation(dependencies.platform(devNpm("http-proxy-middleware", "^2.0.6")))
|
|
|
|
|
|
2022-05-14 17:58:37 +02:00
|
|
|
// implementation(dependencies.platform(npm("follow-redirects", "^1.14.8")))
|
|
|
|
|
// implementation(dependencies.platform(npm("nanoid", "^3.1.31")))
|
|
|
|
|
// implementation(dependencies.platform(npm("minimist", "^1.2.6")))
|
|
|
|
|
// implementation(dependencies.platform(npm("async", "^2.6.4")))
|
|
|
|
|
// implementation(dependencies.platform(npm("node-forge", "^1.3.0")))
|
2022-06-19 10:16:37 +02:00
|
|
|
// implementation(dependencies.platform(npm("socket.io", "^4.5.1")))
|
|
|
|
|
// implementation(dependencies.platform(devNpm("http-proxy-middleware", "^3.0.0-beta.0")))
|
|
|
|
|
// implementation(dependencies.platform(devNpm("webpack-dev-server", "4.9.1")))
|
2021-12-06 22:15:26 +01:00
|
|
|
}
|
|
|
|
|
|
2022-05-14 12:23:58 +02:00
|
|
|
resources.srcDir("src/main/web")
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-19 10:16:37 +02:00
|
|
|
|
|
|
|
|
test {
|
2021-12-06 22:15:26 +01:00
|
|
|
dependencies {
|
2022-07-06 16:18:48 +02:00
|
|
|
implementation(kotlin("test"))
|
2022-01-04 15:09:50 +01:00
|
|
|
|
|
|
|
|
kvision("kvision-testutils")
|
2022-06-19 10:16:37 +02:00
|
|
|
// implementation(npm("karma", "^6.3.16"))
|
2021-12-06 22:15:26 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-01-04 15:09:50 +01:00
|
|
|
|
|
|
|
|
fun KotlinDependencyHandler.kvision(
|
|
|
|
|
module: String,
|
|
|
|
|
version: Provider<String> = libs.versions.kvision,
|
|
|
|
|
configure: ExternalModuleDependency.() -> Unit = {
|
2022-01-09 17:39:24 +01:00
|
|
|
// isChanging = true
|
2022-01-04 15:09:50 +01:00
|
|
|
}
|
|
|
|
|
) {
|
|
|
|
|
implementation("io.kvision:$module:${version.get()}", configure)
|
|
|
|
|
}
|
2022-04-20 16:30:23 +02:00
|
|
|
|
2022-06-19 10:16:37 +02:00
|
|
|
////// https://youtrack.jetbrains.com/issue/KT-42420
|
2022-05-01 09:41:49 +02:00
|
|
|
//afterEvaluate {
|
|
|
|
|
// yarn {
|
2022-06-19 10:16:37 +02:00
|
|
|
//// resolution("mocha", "9.2.2")
|
|
|
|
|
//// resolution("follow-redirects", "1.14.8")
|
|
|
|
|
//// resolution("nanoid", "3.1.31")
|
|
|
|
|
//// resolution("minimist", "1.2.6")
|
|
|
|
|
//// resolution("async", "2.6.4")
|
|
|
|
|
//// resolution("node-forge", "1.3.0")
|
|
|
|
|
//// resolution("socket.io", "^4.5.1")
|
|
|
|
|
//// resolution("http-proxy-middleware", "^3.0.0-beta.0")
|
|
|
|
|
// resolution("webpack-dev-server", "4.9.1")
|
2022-05-01 09:41:49 +02:00
|
|
|
// }
|
|
|
|
|
//}
|