feat: Update Kotlin and JS dependencies and add Wasm target (#30)

- Upgraded Kotlin from `1.9.20` to `1.9.24`.
- Added a new Kotlin/Wasm target (`wasmJs`) for both browser and Node.js environments.
- Updated numerous JavaScript dependencies in `yarn.lock`, including major upgrades for `webpack`, `terser`, and various `@webpack-cli`, `@jridgewell`, and `@webassemblyjs` packages.
- Configured the Node.js version to `22.0.0` for JS and Wasm targets.
This commit is contained in:
2025-12-25 22:43:29 +01:00
committed by GitHub
parent d3086a5ced
commit 0fc7b16664
2 changed files with 351 additions and 363 deletions

View File

@@ -1,7 +1,11 @@
import org.jetbrains.kotlin.konan.properties.Properties
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmTargetDsl
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
plugins {
kotlin("multiplatform") version "1.9.20"
kotlin("multiplatform") version "1.9.24"
id("org.jetbrains.dokka") version "1.9.20"
id("com.vanniktech.maven.publish") version "0.34.0"
signing
@@ -77,6 +81,26 @@ kotlin {
nodejs()
}
@OptIn(ExperimentalWasmDsl::class)
wasmJs {
browser()
nodejs()
}
rootProject.plugins.withType<NodeJsRootPlugin> {
rootProject.extensions.getByType<NodeJsRootExtension>().nodeVersion = "22.0.0"
}
kotlin.targets.withType<KotlinJsIrTarget> {
if (name == "wasmJs") {
@Suppress("UNCHECKED_CAST")
(this as KotlinWasmTargetDsl).apply {
nodejs {
}
}
}
}
// iOS targets
iosX64()
iosArm64()
@@ -99,6 +123,8 @@ kotlin {
val jvmTest by getting
val jsMain by getting
val jsTest by getting
val wasmJsMain by getting
val wasmJsTest by getting
val nativeMain by getting
val nativeTest by getting

File diff suppressed because it is too large Load Diff