94 lines
2.8 KiB
TOML
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
|