diff --git a/README.md b/README.md index b68b61c..74e1cc3 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,10 @@ Please see the current documentation [here](https://code.sergeych.net/docs/crypt - All moder browsers, including mobile - Node.js +## WasmJs + +- All moder browsers, including mobile + ## JVM - Android diff --git a/build.gradle.kts b/build.gradle.kts index 6700b04..64f5234 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,5 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { @@ -15,6 +16,7 @@ repositories { mavenCentral() maven("https://maven.universablockchain.com/") maven("https://gitea.sergeych.net/api/packages/SergeychWorks/maven") + maven("https://gitea.sergeych.net/api/packages/YoungBlood/maven") mavenLocal() } @@ -38,9 +40,11 @@ kotlin { iosArm64() iosSimulatorArm64() mingwX64() -// @OptIn(ExperimentalWasmDsl::class) -// wasmJs() //no libsodium bindings yet (strangely) -// val ktor_version = "2.3.6" + @OptIn(ExperimentalWasmDsl::class) + wasmJs { + browser() + } + val ktor_version = "2.3.6" sourceSets { all { @@ -55,7 +59,6 @@ kotlin { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.0") - implementation("com.ionspin.kotlin:multiplatform-crypto-libsodium-bindings:0.9.2") implementation(project.dependencies.platform("org.kotlincrypto.hash:bom:0.5.1")) implementation("org.kotlincrypto.hash:sha3") api("com.ionspin.kotlin:bignum:0.3.9") @@ -73,15 +76,28 @@ kotlin { val native by creating { dependsOn(commonMain) dependencies { + implementation("com.ionspin.kotlin:multiplatform-crypto-libsodium-bindings:0.9.2") } } val jvmMain by getting { dependencies { + implementation("net.sergeych:multiplatform-crypto-libsodium-bindings:0.9.4-SNAPSHOT") } } val jvmTest by getting - for (platform in listOf(linuxMain, macosMain, iosMain, mingwMain)) + for (platform in listOf(linuxX64Main, linuxArm64Main, macosX64Main, macosArm64Main, iosX64Main, iosArm64Main, iosSimulatorArm64Main, mingwX64Main)) platform { dependsOn(native) } + + val jsMain by getting { + dependencies { + implementation("net.sergeych:multiplatform-crypto-libsodium-bindings:0.9.4-SNAPSHOT") + } + } + val wasmJsMain by getting { + dependencies { + implementation("net.sergeych:multiplatform-crypto-libsodium-bindings:0.9.4-SNAPSHOT") + } + } } }