| 1 | [package] |
| 2 | name = "matrix-sdk-indexeddb" |
| 3 | version = "0.18.0" |
| 4 | repository = "https://github.com/matrix-org/matrix-rust-sdk" |
| 5 | description = "Web's IndexedDB Storage backend for matrix-sdk" |
| 6 | license = "Apache-2.0" |
| 7 | edition = "2024" |
| 8 | rust-version.workspace = true |
| 9 | readme = "README.md" |
| 10 | |
| 11 | [package.metadata.docs.rs] |
| 12 | all-features = true |
| 13 | default-target = "wasm32-unknown-unknown" |
| 14 | rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"] |
| 15 | |
| 16 | [features] |
| 17 | default = ["e2e-encryption", "state-store", "event-cache-store", "media-store"] |
| 18 | event-cache-store = ["dep:matrix-sdk-base", "media-store", "indexed-type-serializer"] |
| 19 | media-store = ["dep:matrix-sdk-base", "indexed-type-serializer"] |
| 20 | state-store = ["dep:matrix-sdk-base", "growable-bloom-filter", "safe-encode-traits"] |
| 21 | e2e-encryption = ["dep:matrix-sdk-base", "dep:matrix-sdk-crypto", "safe-encode-serializer"] |
| 22 | safe-encode-traits = [] |
| 23 | safe-encode-serializer = ["dep:matrix-sdk-crypto", "safe-encode-traits"] |
| 24 | indexed-type-serializer = ["safe-encode-serializer"] |
| 25 | testing = ["matrix-sdk-crypto?/testing"] |
| 26 | experimental-encrypted-state-events = [ |
| 27 | "matrix-sdk-crypto?/experimental-encrypted-state-events" |
| 28 | ] |
| 29 | experimental-push-secrets = [ |
| 30 | "matrix-sdk-crypto?/experimental-push-secrets" |
| 31 | ] |
| 32 | |
| 33 | [dependencies] |
| 34 | async-trait.workspace = true |
| 35 | base64.workspace = true |
| 36 | futures-util.workspace = true |
| 37 | gloo-utils.workspace = true |
| 38 | growable-bloom-filter = { workspace = true, optional = true } |
| 39 | hkdf.workspace = true |
| 40 | indexed_db_futures = { workspace = true, features = [ |
| 41 | "serde", |
| 42 | "cursors", |
| 43 | "indices", |
| 44 | "streams", |
| 45 | ]} |
| 46 | js-sys.workspace = true |
| 47 | matrix-sdk-base = { workspace = true, features = ["js"], optional = true } |
| 48 | matrix-sdk-crypto = { workspace = true, features = ["js"], optional = true } |
| 49 | matrix-sdk-store-encryption.workspace = true |
| 50 | rmp-serde.workspace = true |
| 51 | ruma.workspace = true |
| 52 | serde.workspace = true |
| 53 | serde-wasm-bindgen = { version = "0.6.5", default-features = false } |
| 54 | serde_json.workspace = true |
| 55 | sha2.workspace = true |
| 56 | thiserror.workspace = true |
| 57 | tokio.workspace = true |
| 58 | tracing.workspace = true |
| 59 | uuid = { workspace = true, features = ["js", "serde", "v4"] } |
| 60 | wasm-bindgen.workspace = true |
| 61 | web-sys = { workspace = true, features = ["IdbKeyRange"] } |
| 62 | zeroize.workspace = true |
| 63 | |
| 64 | [target.'cfg(target_family = "wasm")'.dependencies] |
| 65 | # for wasm32 we need to activate this |
| 66 | getrandom = { workspace = true, features = ["wasm_js"] } |
| 67 | |
| 68 | [dev-dependencies] |
| 69 | assert_matches.workspace = true |
| 70 | assert_matches2.workspace = true |
| 71 | gloo-timers = { workspace = true, features = ["futures"] } |
| 72 | matrix-sdk-base = { workspace = true, features = ["testing"] } |
| 73 | matrix-sdk-common = { workspace = true, features = ["js"] } |
| 74 | matrix-sdk-crypto = { workspace = true, features = ["js", "testing"] } |
| 75 | matrix-sdk-test.workspace = true |
| 76 | rand.workspace = true |
| 77 | tracing-subscriber = { workspace = true, features = [ |
| 78 | "registry", |
| 79 | "tracing-log", |
| 80 | ] } |
| 81 | wasm-bindgen-test.workspace = true |
| 82 | web-sys = { workspace = true, features = [ |
| 83 | "IdbKeyRange", |
| 84 | "Window", |
| 85 | "Performance", |
| 86 | ] } |
| 87 | |
| 88 | [lints] |
| 89 | workspace = true |