[package] name = "noosphere-storage" version = "0.10.1" edition = "2021" description = "Pluggable backing storage for the Rust Noosphere implementation" keywords = ["storage", "noosphere", "sled", "ipld", "indexeddb"] categories = [ "asynchronous", "file-system", "web-programming", "web-assembly" ] rust-version = "1.60.0" license = "MIT OR Apache-2.0" documentation = "https://docs.rs/noosphere-storage" repository = "https://github.com/subconsciousnetwork/noosphere" homepage = "https://github.com/subconsciousnetwork/noosphere" readme = "README.md" [dependencies] anyhow = { workspace = true } async-trait = "~0.1" async-stream = { workspace = true } tokio-stream = { workspace = true } cid = { workspace = true } noosphere-common = { version = "0.1.2", path = "../noosphere-common" } tracing = "~0.1" ucan = { workspace = true } libipld-core = { workspace = true } libipld-cbor = { workspace = true } serde = { workspace = true } base64 = { workspace = true } url = { version = "^2" } [dev-dependencies] witty-phrase-generator = "~0.2" wasm-bindgen-test = { workspace = true } rand = { workspace = true } noosphere-core-dev = { path = "../noosphere-core", features = ["helpers"], package = "noosphere-core" } noosphere-common = { path = "../noosphere-common", features = ["helpers"] } instant = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tempfile = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] sled = "~0.34" tokio = { workspace = true, features = ["full"] } rocksdb = { version = "0.21.0", optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] tokio = { workspace = true, features = ["sync", "macros"] } wasm-bindgen = { workspace = true, features = ["serde-serialize"] } wasm-bindgen-futures = { workspace = true } serde-wasm-bindgen = { workspace = true } js-sys = { workspace = true } rexie = { version = "~0.5" } [target.'cfg(target_arch = "wasm32")'.dependencies.web-sys] version = "~0.3" features = [ "Window", "DedicatedWorkerGlobalScope", "StorageManager", "Navigator", ] [features] default = [] rocksdb = ["dep:rocksdb"] rocksdb-multi-thread = ["dep:rocksdb"] [[example]] name = "bench"