chorus/Cargo.toml

94 lines
2.9 KiB
TOML

[package]
name = "chorus"
description = "A library for interacting with multiple Spacebar-compatible Instances at once."
version = "0.16.0"
license = "MPL-2.0"
edition = "2021"
repository = "https://github.com/polyphony-chat/chorus"
readme = "README.md"
keywords = ["spacebar", "discord", "polyphony"]
website = ["https://discord.com/invite/m3FpcapGDD"]
rust-version = "1.70.0"
[features]
default = ["client", "rt-multi-thread"]
backend = ["poem", "sqlx", "sqlx-pg-uint"]
rt-multi-thread = ["tokio/rt-multi-thread"]
rt = ["tokio/rt"]
client = ["flate2"]
voice = ["voice_udp", "voice_gateway"]
voice_udp = ["dep:discortp", "dep:crypto_secretbox"]
voice_gateway = []
sqlx-pg-uint = ["dep:sqlx-pg-uint", "sqlx-pg-uint/serde"]
[dependencies]
tokio = { version = "1.39.3", features = ["macros", "sync"] }
serde = { version = "1.0.209", features = ["derive", "rc"] }
serde_json = { version = "1.0.127", features = ["raw_value"] }
serde-aux = "4.5.0"
serde_with = "3.9.0"
serde_repr = "0.1.19"
reqwest = { features = [
"multipart",
"json",
"rustls-tls-webpki-roots",
], version = "=0.11.26", default-features = false }
url = "2.5.2"
chrono = { version = "0.4.38", features = ["serde"] }
regex = "1.10.6"
custom_error = "1.9.2"
futures-util = "0.3.30"
http = "0.2.12"
base64 = "0.21.7"
bitflags = { version = "2.6.0", features = ["serde"] }
lazy_static = "1.5.0"
poem = { version = "3.0.1", features = ["multipart"], optional = true }
thiserror = "1.0.63"
jsonwebtoken = "8.3.0"
log = "0.4.22"
async-trait = "0.1.81"
chorus-macros = { path = "./chorus-macros", version = "0" } # Note: version here is used when releasing. This will use the latest release. Make sure to republish the crate when code in macros is changed!
sqlx = { version = "0.8.1", features = [
"json",
"chrono",
"ipnetwork",
"runtime-tokio-rustls",
"postgres",
"bigdecimal",
], optional = true }
discortp = { version = "0.5.0", optional = true, features = [
"rtp",
"discord",
"demux",
] }
crypto_secretbox = { version = "0.1.1", optional = true }
rand = "0.8.5"
flate2 = { version = "1.0.33", optional = true }
webpki-roots = "0.26.3"
pubserve = { version = "1.1.0", features = ["async", "send"] }
sqlx-pg-uint = { version = "0.5.0", features = ["serde"], optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
rustls = "0.21.12"
tokio-tungstenite = { version = "0.20.1", features = [
"rustls-tls-webpki-roots",
] }
hostname = "0.3.1"
getrandom = { version = "0.2.15" }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2.15", features = ["js"] }
ws_stream_wasm = "0.7.4"
wasm-bindgen-futures = "0.4.43"
wasmtimer = "0.2.0"
[dev-dependencies]
lazy_static = "1.5.0"
wasm-bindgen-test = "0.3.43"
wasm-bindgen = "0.2.93"
simple_logger = { version = "5.0.0", default-features = false }
[lints.rust]
unexpected_cfgs = { level = "allow", check-cfg = ['cfg(tarpaulin_include)'] }