Skip to content

Commit 961da87

Browse files
committed
Add support for projects with wasmJs target
1 parent 8350f0f commit 961da87

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

build.gradle.kts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
2+
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
3+
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask
4+
15
plugins {
26
@Suppress("DSL_SCOPE_VIOLATION")
37
alias(libs.plugins.android.library) apply false
@@ -22,3 +26,14 @@ allprojects {
2226
google()
2327
}
2428
}
29+
30+
// TODO: Remove once default NodeJS version supports wasm
31+
plugins.withType<NodeJsRootPlugin> {
32+
extensions.configure(NodeJsRootExtension::class) {
33+
nodeVersion = "21.0.0-v8-canary20231019bd785be450"
34+
nodeDownloadBaseUrl = "https://nodejs.org/download/v8-canary"
35+
}
36+
tasks.withType<KotlinNpmInstallTask> {
37+
args.add("--ignore-engines")
38+
}
39+
}

kmm-viewmodel-core/build.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
2+
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
23

34
plugins {
45
@Suppress("DSL_SCOPE_VIOLATION")
@@ -20,6 +21,7 @@ kotlin {
2021
withJs()
2122
group("linux")
2223
group("mingw")
24+
withWasm()
2325
}
2426
}
2527
}
@@ -50,6 +52,12 @@ kotlin {
5052
linuxArm64()
5153
linuxX64()
5254
mingwX64()
55+
@OptIn(ExperimentalWasmDsl::class)
56+
wasmJs {
57+
browser()
58+
nodejs()
59+
d8()
60+
}
5361
//endregion
5462

5563
targets.all {

0 commit comments

Comments
 (0)