diff --git a/buildSrc/src/main/kotlin/kord-internal-multiplatform-module.gradle.kts b/buildSrc/src/main/kotlin/kord-internal-multiplatform-module.gradle.kts index bf1d80fd0b61..2ad0bbd272be 100644 --- a/buildSrc/src/main/kotlin/kord-internal-multiplatform-module.gradle.kts +++ b/buildSrc/src/main/kotlin/kord-internal-multiplatform-module.gradle.kts @@ -10,6 +10,7 @@ kotlin { jvm() js { nodejs() + useCommonJs() } jvmToolchain(Jvm.target) diff --git a/buildSrc/src/main/kotlin/kord-multiplatform-module.gradle.kts b/buildSrc/src/main/kotlin/kord-multiplatform-module.gradle.kts index 8e9837e167c5..f56faf4bc48f 100644 --- a/buildSrc/src/main/kotlin/kord-multiplatform-module.gradle.kts +++ b/buildSrc/src/main/kotlin/kord-multiplatform-module.gradle.kts @@ -28,6 +28,7 @@ kotlin { jvm() js { nodejs() + useCommonJs() } jvmToolchain(Jvm.target) diff --git a/gateway/src/jsMain/kotlin/DefaultGateway.kt b/gateway/src/jsMain/kotlin/DefaultGateway.kt index bfcfc0333f3b..c4d0d9eacf87 100644 --- a/gateway/src/jsMain/kotlin/DefaultGateway.kt +++ b/gateway/src/jsMain/kotlin/DefaultGateway.kt @@ -1,6 +1,7 @@ package dev.kord.gateway import io.ktor.client.plugins.websocket.* +import node.process.process internal actual fun Throwable.isTimeout() = this is WebSocketException && "ENOTFOUND" in toString() -internal actual val os: String get() = js("process.platform") as String +internal actual val os: String get() = process.platform.toString() diff --git a/gateway/src/jsMain/kotlin/internal/JsInflater.kt b/gateway/src/jsMain/kotlin/internal/JsInflater.kt index 37941e95f5a0..2d5fa569e611 100644 --- a/gateway/src/jsMain/kotlin/internal/JsInflater.kt +++ b/gateway/src/jsMain/kotlin/internal/JsInflater.kt @@ -1,5 +1,4 @@ @file:JsModule("fast-zlib") -@file:JsNonModule package dev.kord.gateway.internal diff --git a/test-kit/src/jsMain/kotlin/Platform.kt b/test-kit/src/jsMain/kotlin/Platform.kt index 42653d1a79b6..bf7bcae63bb7 100644 --- a/test-kit/src/jsMain/kotlin/Platform.kt +++ b/test-kit/src/jsMain/kotlin/Platform.kt @@ -1,6 +1,7 @@ package dev.kord.test import io.ktor.utils.io.* +import node.process.process actual object Platform { actual const val IS_JVM: Boolean = false @@ -10,7 +11,7 @@ actual object Platform { ) as Boolean } -actual fun getEnv(name: String) = js("process.env[name]") as String? +actual fun getEnv(name: String) = process.env[name] actual suspend fun file(project: String, path: String): String = if (Platform.IS_NODE) nodeFile(project, path) else TODO("Browser JS is not supported yet") diff --git a/test-kit/src/jsMain/kotlin/Platform.node.kt b/test-kit/src/jsMain/kotlin/Platform.node.kt index 1ead96300b18..2e53169286e5 100644 --- a/test-kit/src/jsMain/kotlin/Platform.node.kt +++ b/test-kit/src/jsMain/kotlin/Platform.node.kt @@ -3,8 +3,9 @@ package dev.kord.test import io.ktor.utils.io.* import node.buffer.BufferEncoding import node.fs.readFile +import node.process.process internal suspend fun nodeFile(project: String, path: String): String = - readFile("${js("process.env[\"PROJECT_ROOT\"]")}/$project/src/commonTest/resources/$path", BufferEncoding.utf8) + readFile("${process.env["PROJECT_ROOT"]}/$project/src/commonTest/resources/$path", BufferEncoding.utf8) internal suspend fun nodeReadFile(project: String, path: String) = ByteReadChannel(nodeFile(project, path))