diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 63142ba..16ae992 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -23,7 +23,7 @@ jobs: cov: on cmd: "./gradlew :kmp-socketio:jvmTest --info" - os: macos-latest - cmd: "./gradlew :kmp-socketio:macosX64Test --info && ./kmp-socketio/src/jsTest/start_server.sh && ./gradlew :kmp-socketio:jsBrowserTest --info && ./kmp-socketio/src/jsTest/stop_server.sh" + cmd: "./gradlew :kmp-socketio:macosX64Test --info && ./kmp-socketio/src/webTest/start_server.sh && ./gradlew :kmp-socketio:jsBrowserTest --info && ./gradlew :kmp-socketio:wasmJsBrowserTest --info && ./kmp-socketio/src/webTest/stop_server.sh" - os: ubuntu-latest cmd: "./gradlew :kmp-socketio:linuxX64Test --info" - os: windows-latest diff --git a/README.md b/README.md index e503756..6e64fe6 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,15 @@ pod install Use Chrome CORS Unblock extension to workaround with CORS error. ```bash -./gradlew :example:shared:jsBrowserRun +./gradlew :example:shared:jsBrowserDevelopmentRun +``` + +### WasmJS + +Use Chrome CORS Unblock extension to workaround with CORS error. + +```bash +./gradlew :example:shared:wasmJsBrowserDevelopmentRun ``` ### Windows diff --git a/buildSrc/src/main/kotlin/Constants.kt b/buildSrc/src/main/kotlin/Constants.kt index 4689363..927cfc0 100644 --- a/buildSrc/src/main/kotlin/Constants.kt +++ b/buildSrc/src/main/kotlin/Constants.kt @@ -1,7 +1,7 @@ object Consts { const val releaseGroup = "com.piasy" const val releaseName = "kmp-socketio" - const val releaseVersion = "1.3.3" + const val releaseVersion = "1.4.0" val androidNS = "$releaseGroup.${releaseName.replace('-', '.')}" } diff --git a/example/shared/build.gradle.kts b/example/shared/build.gradle.kts index 822ae36..52e08ad 100644 --- a/example/shared/build.gradle.kts +++ b/example/shared/build.gradle.kts @@ -1,4 +1,6 @@ -import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig +@file:OptIn(ExperimentalWasmDsl::class) + +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl plugins { alias(libs.plugins.kmp) @@ -34,11 +36,22 @@ kotlin { } } - js(IR) { - browser { - } + js { + browser() + nodejs() + binaries.executable() + } + wasmJs { + browser() + nodejs() + d8() binaries.executable() } + // ktor doesn't support wasmWasi yet. +// wasmWasi { +// nodejs() +// binaries.executable() +// } listOf(linuxX64(), mingwX64()).forEach { it.binaries { diff --git a/example/shared/src/commonMain/kotlin/com/piasy/kmp/socketio/example/Greeting.kt b/example/shared/src/commonMain/kotlin/com/piasy/kmp/socketio/example/Greeting.kt index 1af648b..2fb88f7 100644 --- a/example/shared/src/commonMain/kotlin/com/piasy/kmp/socketio/example/Greeting.kt +++ b/example/shared/src/commonMain/kotlin/com/piasy/kmp/socketio/example/Greeting.kt @@ -10,7 +10,7 @@ import kotlinx.io.bytestring.unsafe.UnsafeByteStringOperations class Greeting { @OptIn(UnsafeByteStringApi::class) fun greet() { - IO.socket("http://172.16.11.25:3000", IO.Options()) { socket -> + IO.socket("http://172.16.11.186:3000", IO.Options()) { socket -> socket.on(Socket.EVENT_CONNECT) { args -> println("Greeting on connect ${args.joinToString()}") diff --git a/example/shared/src/jsMain/kotlin/com/piasy/kmp/socketio/example/Platform.kt b/example/shared/src/jsMain/kotlin/com/piasy/kmp/socketio/example/Platform.kt deleted file mode 100644 index bd13b45..0000000 --- a/example/shared/src/jsMain/kotlin/com/piasy/kmp/socketio/example/Platform.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.piasy.kmp.socketio.example - -import kotlinx.browser.document - -fun main() { - document.getElementById("text")?.innerHTML = "hello world" - Greeting().greet() -} diff --git a/example/shared/src/webMain/kotlin/com/piasy/kmp/socketio/example/Platform.kt b/example/shared/src/webMain/kotlin/com/piasy/kmp/socketio/example/Platform.kt new file mode 100644 index 0000000..646f15e --- /dev/null +++ b/example/shared/src/webMain/kotlin/com/piasy/kmp/socketio/example/Platform.kt @@ -0,0 +1,5 @@ +package com.piasy.kmp.socketio.example + +fun main() { + Greeting().greet() +} diff --git a/example/shared/src/jsMain/resources/index.html b/example/shared/src/webMain/resources/index.html similarity index 57% rename from example/shared/src/jsMain/resources/index.html rename to example/shared/src/webMain/resources/index.html index 8447392..a6c1c4d 100644 --- a/example/shared/src/jsMain/resources/index.html +++ b/example/shared/src/webMain/resources/index.html @@ -5,7 +5,8 @@