From 113eb3a13e566e828f8a4a3a991d7b25f7a2810e Mon Sep 17 00:00:00 2001 From: Kevin Schildhorn Date: Wed, 19 Nov 2025 13:53:53 -0500 Subject: [PATCH 1/4] Update build.gradle.kts --- samples/sample/wasm-browser/build.gradle.kts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/samples/sample/wasm-browser/build.gradle.kts b/samples/sample/wasm-browser/build.gradle.kts index 1e3230f3..8dd8d804 100644 --- a/samples/sample/wasm-browser/build.gradle.kts +++ b/samples/sample/wasm-browser/build.gradle.kts @@ -1,3 +1,7 @@ +@file:OptIn(ExperimentalWasmDsl::class) + +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl + /* * Copyright (c) 2024 Touchlab * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -11,17 +15,22 @@ plugins { kotlin("multiplatform") } +group = "co.touchlab" +version = "1.0" + val KERMIT_VERSION: String by project kotlin { - @Suppress("OPT_IN_USAGE") wasmJs { - browser() binaries.executable() + browser() } - sourceSets["wasmJsMain"].dependencies { - implementation(project(":shared")) - implementation("co.touchlab:kermit-simple:${KERMIT_VERSION}") + sourceSets { + wasmJsMain.dependencies { + implementation(project(":shared")) + implementation("co.touchlab:kermit-simple:${KERMIT_VERSION}") + implementation("org.jetbrains.kotlinx:kotlinx-browser-wasm-js:0.5.0") + } } } From 15fbe7bc327bbfe4a4733dc1217d43a0de524d8b Mon Sep 17 00:00:00 2001 From: Kevin Schildhorn Date: Wed, 19 Nov 2025 14:07:36 -0500 Subject: [PATCH 2/4] fixing resolution issue --- samples/sample/kotlin-js-store/wasm/package-lock.json | 4 ++-- samples/sample/wasm-browser/build.gradle.kts | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/samples/sample/kotlin-js-store/wasm/package-lock.json b/samples/sample/kotlin-js-store/wasm/package-lock.json index ab4a733d..759fffe7 100644 --- a/samples/sample/kotlin-js-store/wasm/package-lock.json +++ b/samples/sample/kotlin-js-store/wasm/package-lock.json @@ -5328,7 +5328,7 @@ "devDependencies": {} }, "packages/sample-wasm-browser": { - "version": "0.0.0-unspecified", + "version": "1.0.0", "devDependencies": { "kotlin-web-helpers": "2.0.0", "source-map-loader": "5.0.0", @@ -5338,7 +5338,7 @@ } }, "packages/sample-wasm-browser-test": { - "version": "0.0.0-unspecified", + "version": "1.0.0", "devDependencies": { "karma": "6.4.4", "karma-chrome-launcher": "3.2.0", diff --git a/samples/sample/wasm-browser/build.gradle.kts b/samples/sample/wasm-browser/build.gradle.kts index 8dd8d804..ce0c6e71 100644 --- a/samples/sample/wasm-browser/build.gradle.kts +++ b/samples/sample/wasm-browser/build.gradle.kts @@ -19,6 +19,13 @@ group = "co.touchlab" version = "1.0" val KERMIT_VERSION: String by project +val kotlinVersion = libs.versions.kotlin.get() + +configurations.all { + resolutionStrategy { + force("org.jetbrains.kotlin:kotlin-stdlib-wasm-js:${kotlinVersion}") + } +} kotlin { wasmJs { From c104869dfe100a7d2ff7555f9cff326c26f8a532 Mon Sep 17 00:00:00 2001 From: Kevin Schildhorn Date: Wed, 19 Nov 2025 14:21:54 -0500 Subject: [PATCH 3/4] tweaking some final changes --- samples/sample/app-browser/build.gradle.kts | 2 +- samples/sample/kotlin-js-store/package-lock.json | 8 ++------ samples/sample/kotlin-js-store/wasm/package-lock.json | 4 ++-- samples/sample/wasm-browser/build.gradle.kts | 5 +---- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/samples/sample/app-browser/build.gradle.kts b/samples/sample/app-browser/build.gradle.kts index 09c18115..cedee39b 100644 --- a/samples/sample/app-browser/build.gradle.kts +++ b/samples/sample/app-browser/build.gradle.kts @@ -22,7 +22,7 @@ kotlin { sourceSets { jsMain.dependencies { implementation(project(":shared")) - implementation("org.jetbrains.kotlinx:kotlinx-html-js:0.9.1") + implementation("org.jetbrains.kotlinx:kotlinx-html-js:0.12.0") implementation("co.touchlab:kermit-simple:${KERMIT_VERSION}") } } diff --git a/samples/sample/kotlin-js-store/package-lock.json b/samples/sample/kotlin-js-store/package-lock.json index d8d4f345..90cff4cd 100644 --- a/samples/sample/kotlin-js-store/package-lock.json +++ b/samples/sample/kotlin-js-store/package-lock.json @@ -11,8 +11,7 @@ "packages/sample-app-browser", "packages/sample-app-browser-test", "packages/sample-shared", - "packages/sample-shared-test", - "packages_imported/kotlin/1.8.20" + "packages/sample-shared-test" ], "devDependencies": {} }, @@ -2670,10 +2669,6 @@ "node": ">=0.10.0" } }, - "node_modules/kotlin": { - "resolved": "packages_imported/kotlin/1.8.20", - "link": true - }, "node_modules/kotlin-web-helpers": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/kotlin-web-helpers/-/kotlin-web-helpers-2.0.0.tgz", @@ -5203,6 +5198,7 @@ "packages_imported/kotlin/1.8.20": { "name": "kotlin", "version": "1.8.20", + "extraneous": true, "devDependencies": {} }, "packages/sample-app-browser": { diff --git a/samples/sample/kotlin-js-store/wasm/package-lock.json b/samples/sample/kotlin-js-store/wasm/package-lock.json index 759fffe7..ab4a733d 100644 --- a/samples/sample/kotlin-js-store/wasm/package-lock.json +++ b/samples/sample/kotlin-js-store/wasm/package-lock.json @@ -5328,7 +5328,7 @@ "devDependencies": {} }, "packages/sample-wasm-browser": { - "version": "1.0.0", + "version": "0.0.0-unspecified", "devDependencies": { "kotlin-web-helpers": "2.0.0", "source-map-loader": "5.0.0", @@ -5338,7 +5338,7 @@ } }, "packages/sample-wasm-browser-test": { - "version": "1.0.0", + "version": "0.0.0-unspecified", "devDependencies": { "karma": "6.4.4", "karma-chrome-launcher": "3.2.0", diff --git a/samples/sample/wasm-browser/build.gradle.kts b/samples/sample/wasm-browser/build.gradle.kts index ce0c6e71..35662cc1 100644 --- a/samples/sample/wasm-browser/build.gradle.kts +++ b/samples/sample/wasm-browser/build.gradle.kts @@ -15,9 +15,6 @@ plugins { kotlin("multiplatform") } -group = "co.touchlab" -version = "1.0" - val KERMIT_VERSION: String by project val kotlinVersion = libs.versions.kotlin.get() @@ -35,8 +32,8 @@ kotlin { sourceSets { wasmJsMain.dependencies { implementation(project(":shared")) - implementation("co.touchlab:kermit-simple:${KERMIT_VERSION}") implementation("org.jetbrains.kotlinx:kotlinx-browser-wasm-js:0.5.0") + implementation("co.touchlab:kermit-simple:${KERMIT_VERSION}") } } } From 7bdf6d9828f77b67f960b195555b980073be9d89 Mon Sep 17 00:00:00 2001 From: Kevin Schildhorn Date: Wed, 19 Nov 2025 14:24:02 -0500 Subject: [PATCH 4/4] Update build.gradle.kts --- samples/sample/wasm-browser/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/samples/sample/wasm-browser/build.gradle.kts b/samples/sample/wasm-browser/build.gradle.kts index 35662cc1..2c10d29a 100644 --- a/samples/sample/wasm-browser/build.gradle.kts +++ b/samples/sample/wasm-browser/build.gradle.kts @@ -18,6 +18,7 @@ plugins { val KERMIT_VERSION: String by project val kotlinVersion = libs.versions.kotlin.get() +// TODO: Kermit is running Kotlin 2.2.0, the Kotlin/Wasm standard library wants to use 2.2.20. So we need to manually set the wasm version configurations.all { resolutionStrategy { force("org.jetbrains.kotlin:kotlin-stdlib-wasm-js:${kotlinVersion}")