Files

94 lines
2.8 KiB
TOML

[package]
name = "rvlite"
version = "0.3.0"
edition = "2021"
description = "Standalone vector database with SQL, SPARQL, and Cypher - powered by RuVector WASM"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ruvnet/ruvector"
authors = ["RuVector Contributors"]
[lib]
crate-type = ["cdylib", "rlib"]
[dependencies]
# ===== 100% REUSE - Existing WASM Crates =====
ruvector-core = { version = "2.0.1", path = "../ruvector-core", default-features = false, features = ["memory-only"] }
# Note: ruvector-wasm, ruvector-graph-wasm, ruvector-gnn-wasm will be added after validating they exist
# Optional features (to be enabled after basic integration works)
# sona = { path = "../sona", features = ["wasm"], optional = true }
# micro-hnsw-wasm = { path = "../micro-hnsw-wasm", optional = true }
# ===== NEW - SQL Engine (to be added later) =====
# sqlparser = { version = "0.49", optional = true }
# ===== WASM Bindings =====
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
web-sys = { version = "0.3", features = [
"console",
"Window",
"Event",
"EventTarget",
"DomException",
"DomStringList",
"IdbDatabase",
"IdbFactory",
"IdbObjectStore",
"IdbObjectStoreParameters",
"IdbTransaction",
"IdbTransactionMode",
"IdbRequest",
"IdbOpenDbRequest",
"IdbKeyRange",
"IdbCursorDirection",
] }
serde-wasm-bindgen = "0.6"
console_error_panic_hook = "0.1"
# ===== RVF Backend (optional) =====
rvf-runtime = { path = "../rvf/rvf-runtime", features = ["std"], optional = true }
rvf-types = { path = "../rvf/rvf-types", features = ["std"], optional = true }
fs2 = { version = "0.4", optional = true }
# ===== Standard Dependencies =====
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
anyhow = "1.0"
parking_lot = "0.12"
once_cell = "1.19"
[dev-dependencies]
wasm-bindgen-test = "0.3"
# Ensure getrandom uses js feature for WASM
# Note: We use a direct dependency instead of workspace to specify version
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }
[features]
default = []
rvf-backend = ["dep:rvf-runtime", "dep:rvf-types", "dep:fs2"]
# Feature flags to be added later
# sql = ["dep:sqlparser"]
# sparql = []
# cypher = []
# gnn = []
# learning = ["dep:sona"]
# full = ["sql", "sparql", "cypher", "gnn", "learning"]
[profile.release]
opt-level = "z" # Optimize for size
lto = true # Link-time optimization
codegen-units = 1 # Single codegen unit (better optimization)
panic = "abort" # No unwinding (saves space)
strip = true # Strip debug symbols
[profile.release.package."*"]
opt-level = "z" # Apply to all dependencies
[package.metadata.wasm-pack.profile.release]
wasm-opt = false # Disabled temporarily due to validation error