Files
meldestelle/frontend/core/local-db/build.gradle.kts
T
stefan 9e12018208 refactor(frontend, build): update PingViewModel initialization, resolve view model via Koin, and clean yarn dependencies
Injected `PingViewModel` via Koin to align with dependency injection best practices. Suppressed Gradle deprecation warnings and added the `frontend.core.sync` dependency. Cleaned up outdated packages in `yarn.lock`.
2026-01-12 19:47:59 +01:00

70 lines
1.6 KiB
Kotlin

@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.kotlinSerialization)
alias(libs.plugins.sqldelight)
}
kotlin {
// Toolchain is now handled centrally in the root build.gradle.kts
jvm()
js {
browser {
testTask { enabled = false }
}
binaries.executable()
}
// Wasm vorerst deaktiviert, um Stabilität mit JS zu gewährleisten
/*
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalWasmDsl::class)
wasmJs {
browser()
}
*/
sourceSets {
commonMain.dependencies {
implementation(libs.koin.core)
implementation(libs.bundles.kmp.common) // Coroutines, Serialization, DateTime
implementation(libs.sqldelight.runtime)
implementation(libs.sqldelight.coroutines)
}
jvmMain.dependencies {
implementation(libs.sqldelight.driver.sqlite)
}
jsMain.dependencies {
implementation(libs.sqldelight.driver.web)
// NPM deps used by `sqlite.worker.js` (OPFS-backed SQLite WASM worker)
implementation(npm("@sqlite.org/sqlite-wasm", "3.51.1-build2"))
}
/*
val wasmJsMain = getByName("wasmJsMain")
wasmJsMain.dependencies {
implementation(libs.sqldelight.driver.web)
}
*/
commonTest.dependencies {
implementation(libs.kotlin.test)
}
}
}
sqldelight {
databases {
create("AppDatabase") {
packageName.set("at.mocode.frontend.core.localdb")
generateAsync.set(true) // WICHTIG: Async-First für JS Support
}
}
}