116 lines
3.7 KiB
TOML
116 lines
3.7 KiB
TOML
[package]
|
|
name = "ruma-common"
|
|
version = "0.11.3"
|
|
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 = { workspace = true }
|
|
|
|
[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 = []
|
|
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-msc2747 = []
|
|
unstable-msc2870 = []
|
|
unstable-msc3245 = ["unstable-msc3246"]
|
|
unstable-msc3246 = ["unstable-msc3927"]
|
|
unstable-msc3381 = ["unstable-msc1767"]
|
|
unstable-msc3488 = ["unstable-msc1767"]
|
|
unstable-msc3551 = ["unstable-msc3956"]
|
|
unstable-msc3552 = ["unstable-msc3551"]
|
|
unstable-msc3553 = ["unstable-msc3552"]
|
|
unstable-msc3554 = ["unstable-msc1767"]
|
|
unstable-msc3927 = ["unstable-msc3551"]
|
|
unstable-msc3931 = []
|
|
unstable-msc3932 = ["unstable-msc3931"]
|
|
unstable-msc3954 = ["unstable-msc1767"]
|
|
unstable-msc3955 = ["unstable-msc1767"]
|
|
unstable-msc3956 = ["unstable-msc1767"]
|
|
unstable-pdu = []
|
|
unstable-sanitize = ["dep:html5ever", "dep:phf"]
|
|
unstable-unspecified = []
|
|
|
|
# Don't validate the version part in `KeyId`.
|
|
compat-key-id = ["ruma-identifiers-validation/compat-key-id"]
|
|
|
|
# Allow some user IDs that are invalid even with the specified historical
|
|
# user ID scheme.
|
|
compat-user-id = ["ruma-identifiers-validation/compat-user-id"]
|
|
|
|
# Allow some mandatory fields to be missing, defaulting them to an empty string
|
|
# in deserialization.
|
|
compat-empty-string-null = []
|
|
|
|
# Allow certain fields to be `null` for compatibility, treating that the same as
|
|
# the field being absent.
|
|
compat-null = []
|
|
|
|
# Allow certain fields to be absent even though the spec marks them as
|
|
# mandatory. Deserialization will yield a default value like an empty string.
|
|
compat-optional = []
|
|
|
|
[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 = "2.0.0", features = ["serde"] }
|
|
js_int = { workspace = true, features = ["serde"] }
|
|
js_option = "0.1.0"
|
|
konst = { version = "0.3.5", features = ["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 = { workspace = true }
|
|
ruma-macros = { workspace = true }
|
|
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_matches2 = { 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"]
|