Add wasmJs target

This commit is contained in:
Maria Chernova 2025-02-02 21:31:53 +03:00 committed by kildishevps
parent db7453fbb2
commit 7e52a72c6a
2 changed files with 25 additions and 5 deletions

View File

@ -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

View File

@ -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")
}
}
}
}