[package] name = "tmi" version = "0.7.2" authors = ["jprochazk "] description = "twitch.tv messaging interface" repository = "https://github.com/jprochazk/tmi-rs" edition = "2021" license = "MIT" exclude = ["src/**/*.snap", "/.vscode", "/.github", "/benches/data.txt"] [features] default = ["simd", "client", "message-types"] # Enable strongly-typed Twitch IRC message types. message-types = ["dep:chrono", "dep:smallvec"] # Enable SIMD-accelerated parser. simd = [] # Enable the client API. client = [ "dep:futures-util", "dep:rand", "dep:rustls-native-certs", "dep:tokio", "dep:tokio-rustls", "dep:tokio-stream", "dep:tracing", ] # Enable serializing message types. serde = ["dep:serde", "chrono/serde"] [dependencies] # `message-types` feature chrono = { version = "0.4.31", optional = true, default-features = false, features = [ "std", "clock", ] } smallvec = { version = "1.11.1", optional = true, default-features = false } # `client` feature futures-util = { version = "0.3.28", optional = true } rand = { version = "0.8.5", optional = true } rustls-native-certs = { version = "0.6.3", optional = true } tokio = { version = "1.28.2", optional = true, features = [ "net", "rt", "signal", "time", "io-util", ] } tokio-rustls = { version = "0.24.1", optional = true } tokio-stream = { version = "0.1.14", optional = true, features = ["io-util"] } tracing = { version = "0.1.37", optional = true } # `serde` feature serde = { version = "1.0", optional = true, features = ["derive"] } cfg-if = "1.0.0" [dev-dependencies] mimalloc = { version = "0.1.37", default-features = false } criterion = "0.5.1" tokio = { version = "1.28.2", features = ["full"] } tracing-subscriber = "0.3.17" insta = "1.33.0" clap = { version = "4.4.6", features = ["derive"] } anyhow = "1.0.75" serde_json = "1.0.108" [profile.bench] lto = "fat" debug = true [profile.release] lto = "fat" [lib] bench = false [[bench]] name = "parse" harness = false [workspace]