atagen

matrix-rust-sdk

public
Star0
Watch0
ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk.git
crates/matrix-sdk-indexeddb/Cargo.tomlToml89 lines2.9 KB
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