1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
[package]
name = "filamento"
version = "0.1.0"
edition = "2024"
[features]
serde = [
"dep:serde",
"jid/serde",
"uuid/serde",
"chrono/serde",
"lampada/serde",
]
opfs = ["dep:web-sys"]
reactive_stores = ["dep:reactive_stores"]
[dependencies]
futures = "0.3.30"
lampada = { version = "0.1.0", path = "../lampada" }
thiserror = "2.0.11"
stanza = { version = "0.1.0", path = "../stanza", features = [
"rfc_6121",
"xep_0203",
"xep_0030",
"xep_0060",
"xep_0172",
"xep_0390",
"xep_0128",
"xep_0115",
"xep_0084",
] }
# TODO: re-export jid?
jid = { version = "0.1.0", path = "../jid", features = ["rusqlite"] }
uuid = { version = "1.13.1", features = ["v4"] }
rusqlite = { git = "https://github.com/Spxg/rusqlite.git", branch = "wasm-demo", features = [
"uuid",
"chrono",
] }
tracing = "0.1.41"
chrono = "0.4.40"
sha2 = "0.10.8"
sha3 = "0.10.8"
base64 = "0.22.1"
sha1 = "0.10.6"
image = "0.25.6"
hex = "0.4.3"
serde = { version = "1.0.219", features = ["derive"], optional = true }
reactive_stores = { version = "0.2.2", optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { workspace = true, features = ["sync", "time", "rt", "fs", "io-std"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio = { workspace = true, features = ["sync", "time", "rt"] }
web-sys = { version = "0.3", features = [
"FileSystemDirectoryHandle",
"FileSystemWritableFileStream",
"FileSystemGetDirectoryOptions",
"FileSystemFileHandle",
"StorageManager",
"File",
"Url",
"Window",
"Navigator",
], optional = true }
jid = { version = "0.1.0", path = "../jid", features = ["rusqlite"] }
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
rusqlite = { git = "https://github.com/Spxg/rusqlite.git", branch = "wasm-demo", features = [
"uuid",
"chrono",
"precompiled-wasm",
] }
tokio_with_wasm = { version = "0.8.2", features = ["sync", "time", "rt"] }
[dev-dependencies]
tracing-subscriber = "0.3.19"
peanuts = { version = "0.1.0", git = "https://bunny.garden/peanuts" }
tracing-wasm = "0.2.1"
tokio_with_wasm = { version = "0.8.2", features = ["sync", "time", "rt"] }
wasm-bindgen-test = "0.3.0"
[[example]]
name = "example"
|