[package]
edition = "2021"
rust-version = "1.87"
name = "foundation_db"
version = "0.0.2"
authors = ["EweStudios Consulting Limited"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unified storage backend with Turso sync API, D1, R2, and in-memory fallback"
readme = false
keywords = [
"database",
"storage",
"turso",
"foundation",
]
license = "Apache-2.0"
repository = "https://github.com/ewe-studios/ewe_platform"
resolver = "3"
[features]
d1 = ["foundation_netio/multi"]
default = [
"turso",
"d1",
"r2",
]
libsql = [
"dep:libsql",
"multi",
]
multi = [
"foundation_core/multi",
"foundation_netio/multi",
]
r2 = ["foundation_netio/multi"]
turso = [
"dep:turso",
"multi",
]
wasm = ["chrono/wasmbind"]
wasm-bindgen-bindings = [
"dep:wasm-bindgen",
"dep:js-sys",
]
wasm-bindgen-storage = [
"wasm-bindgen-bindings",
"wasm",
"dep:wasm-bindgen-futures",
]
workers-rs = ["dep:worker"]
[lib]
name = "foundation_db"
path = "src/lib.rs"
[[test]]
name = "async_sql_document_store_tests"
path = "tests/async_sql_document_store_tests.rs"
[[test]]
name = "blobstore_tests"
path = "tests/blobstore_tests.rs"
[[test]]
name = "cleanup_tests"
path = "tests/cleanup_tests.rs"
[[test]]
name = "crypto_encryption"
path = "tests/crypto_encryption.rs"
[[test]]
name = "crypto_zeroize"
path = "tests/crypto_zeroize.rs"
[[test]]
name = "d1_kvstore_tests"
path = "tests/d1_kvstore_tests.rs"
[[test]]
name = "d1r2_conformance_tests"
path = "tests/d1r2_conformance_tests.rs"
[[test]]
name = "d1r2_document_store_tests"
path = "tests/d1r2_document_store_tests.rs"
[[test]]
name = "document_store_tests"
path = "tests/document_store_tests.rs"
[[test]]
name = "json_blobstore_tests"
path = "tests/json_blobstore_tests.rs"
[[test]]
name = "json_file_storage_tests"
path = "tests/json_file_storage_tests.rs"
[[test]]
name = "libsql_document_store_tests"
path = "tests/libsql_document_store_tests.rs"
[[test]]
name = "libsql_storage_tests"
path = "tests/libsql_storage_tests.rs"
[[test]]
name = "memory_document_store_tests"
path = "tests/memory_document_store_tests.rs"
[[test]]
name = "memory_json_store_tests"
path = "tests/memory_json_store_tests.rs"
[[test]]
name = "memory_storage_tests"
path = "tests/memory_storage_tests.rs"
[[test]]
name = "r2_blobstore_tests"
path = "tests/r2_blobstore_tests.rs"
[[test]]
name = "schema_migrations"
path = "tests/schema_migrations.rs"
[[test]]
name = "state_hash"
path = "tests/state_hash.rs"
[[test]]
name = "state_namespaced_tests"
path = "tests/state_namespaced_tests.rs"
[[test]]
name = "state_store_tests"
path = "tests/state_store_tests.rs"
[[test]]
name = "store_state_task"
path = "tests/store_state_task.rs"
[[test]]
name = "turso_storage_tests"
path = "tests/turso_storage_tests.rs"
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.derive_more]
version = "2.0"
features = [
"from",
"error",
"display",
]
[dependencies.foundation_compact]
version = "0.2.1"
features = ["crypto-chacha"]
[dependencies.foundation_core]
version = "0.0.4"
features = ["std"]
[dependencies.foundation_netio]
version = "0.0.2"
features = [
"standard",
"std",
]
default-features = false
[dependencies.futures-core]
version = "0.3"
[dependencies.futures-lite]
version = "2"
[dependencies.hex]
version = "0.4"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.tracing]
version = "0.1"
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.worker]
version = "0.8.3"
features = ["d1"]
optional = true
default-features = false
[dependencies.zeroize]
version = "1.8"
features = ["derive"]
[dev-dependencies.foundation_core]
version = "0.0.4"
features = [
"std",
"multi",
]
[dev-dependencies.ntest]
version = "0.9"
[dev-dependencies.serial_test]
version = "3.3.1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tracing-test]
version = "0.2"
features = ["no-env-filter"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libsql]
version = "0.6"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.turso]
version = "0.5.3"
optional = true
default-features = false
[target.'cfg(not(target_family = "wasm"))'.dependencies.foundation_netio]
version = "0.0.2"
features = [
"ssl",
"compression",
"wire-native",
"multi",
]
[lints.clippy.pedantic]
level = "warn"
priority = 0
[lints.rust.missing_debug_implementations]
level = "allow"
priority = 0
[lints.rust.missing_docs]
level = "allow"
priority = 0