97 lines
3.1 KiB
TOML

[package]
name = "ruma-common"
version = "0.10.5"
description = "Common types for other ruma crates."
homepage = "https://www.ruma.io/"
keywords = ["matrix", "chat", "messaging", "ruma"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/ruma/ruma"
edition = "2021"
rust-version = "1.64"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
# These feature gates exist only for the tests. Disabling them results in a
# compile error.
default = ["client", "server"]
client = []
server = []
api = ["dep:http"]
canonical-json = []
compat = ["ruma-macros/compat", "ruma-identifiers-validation/compat"]
events = []
js = ["dep:js-sys", "getrandom?/js", "uuid?/js"]
markdown = ["pulldown-cmark"]
rand = ["dep:rand", "dep:uuid"]
unstable-exhaustive-types = []
unstable-msc1767 = []
unstable-msc2448 = []
unstable-msc2677 = []
unstable-msc2746 = []
unstable-msc2870 = []
unstable-msc3245 = ["unstable-msc3246"]
unstable-msc3246 = ["unstable-msc3551"]
unstable-msc3381 = ["unstable-msc1767"]
unstable-msc3488 = ["unstable-msc1767"]
unstable-msc3551 = ["unstable-msc1767"]
unstable-msc3552 = ["unstable-msc3551"]
unstable-msc3553 = ["unstable-msc3552"]
unstable-msc3554 = ["unstable-msc1767"]
unstable-msc3783 = []
unstable-msc3931 = []
unstable-msc3932 = ["unstable-msc3931"]
unstable-pdu = []
unstable-sanitize = ["dep:html5ever", "dep:phf"]
unstable-unspecified = []
[dependencies]
base64 = { workspace = true }
bytes = "1.0.1"
form_urlencoded = "1.0.0"
getrandom = { version = "0.2.6", optional = true }
html5ever = { version = "0.26.0", optional = true }
http = { workspace = true, optional = true }
indexmap = { version = "1.9.1", features = ["serde", "std"] }
js_int = { workspace = true, features = ["serde"] }
js_option = "0.1.0"
# FIXME: Upgrade once MSRV >= 1.65
konst = { version = "0.2.19", features = ["rust_1_64", "alloc"] }
percent-encoding = "2.1.0"
phf = { version = "0.11.1", features = ["macros"], optional = true }
pulldown-cmark = { version = "0.9.1", default-features = false, optional = true }
rand = { version = "0.8.3", optional = true }
regex = { version = "1.5.6", default-features = false, features = ["std", "perf"] }
ruma-identifiers-validation = { version = "0.9.0", path = "../ruma-identifiers-validation", default-features = false }
ruma-macros = { version = "0.10.5", path = "../ruma-macros" }
serde = { workspace = true }
serde_html_form = { workspace = true }
serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true }
tracing = { workspace = true, features = ["attributes"] }
url = "2.2.2"
uuid = { version = "1.0.0", optional = true, features = ["v4"] }
wildmatch = "2.0.0"
# dev-dependencies can't be optional, so this is a regular dependency
criterion = { workspace = true, optional = true }
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
js-sys = { version = "0.3", optional = true }
[dev-dependencies]
assert_matches = { workspace = true }
assign = { workspace = true }
http = { workspace = true }
maplit = { workspace = true }
trybuild = "1.0.71"
[[bench]]
name = "event_deserialize"
harness = false
required-features = ["criterion", "events"]