82 lines
1.9 KiB
TOML
82 lines
1.9 KiB
TOML
[package]
|
|
name = "ruvector-graph-wasm"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
readme = "README.md"
|
|
description = "WebAssembly bindings for RuVector graph database with Neo4j-inspired API and Cypher support"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[dependencies]
|
|
ruvector-core = { version = "2.0", path = "../ruvector-core", default-features = false }
|
|
ruvector-graph = { version = "2.0", path = "../ruvector-graph", default-features = false, features = ["wasm"] }
|
|
parking_lot = { workspace = true }
|
|
getrandom = { workspace = true }
|
|
|
|
# Add getrandom 0.2 with js feature for WASM compatibility
|
|
getrandom02 = { package = "getrandom", version = "0.2", features = ["js"] }
|
|
|
|
# WASM
|
|
wasm-bindgen = { workspace = true }
|
|
wasm-bindgen-futures = { workspace = true }
|
|
js-sys = { workspace = true }
|
|
web-sys = { workspace = true, features = [
|
|
"console",
|
|
"Window",
|
|
"IdbDatabase",
|
|
"IdbFactory",
|
|
"IdbObjectStore",
|
|
"IdbRequest",
|
|
"IdbTransaction",
|
|
"IdbOpenDbRequest",
|
|
"Worker",
|
|
"MessagePort",
|
|
] }
|
|
|
|
# Error handling
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
|
|
# Serialization
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde-wasm-bindgen = "0.6"
|
|
|
|
# UUID support
|
|
uuid = { workspace = true }
|
|
|
|
# Utils
|
|
console_error_panic_hook = "0.1"
|
|
tracing-wasm = "0.2"
|
|
|
|
# Regex for basic Cypher parsing
|
|
regex = "1.10"
|
|
|
|
[dev-dependencies]
|
|
wasm-bindgen-test = "0.3"
|
|
|
|
[features]
|
|
default = []
|
|
simd = ["ruvector-core/simd"]
|
|
|
|
# Ensure getrandom uses wasm_js/js features for WASM
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
getrandom = { workspace = true, features = ["wasm_js"] }
|
|
|
|
[profile.release]
|
|
opt-level = "z"
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
|
|
[profile.release.package."*"]
|
|
opt-level = "z"
|
|
|
|
[package.metadata.wasm-pack.profile.release]
|
|
wasm-opt = false
|