[package]
name = "rustypipe"
version = "0.1.0"
edition = "2021"
authors = ["ThetaDev <t.testboy@gmail.com>"]
license = "GPL-3.0"
description = "Client for the public YouTube / YouTube Music API (Innertube), inspired by NewPipe"
keywords = ["youtube", "video", "music"]

include = ["/src", "README.md", "LICENSE", "!snapshots"]

[workspace]
members = [".", "codegen", "downloader", "cli"]

[features]
default = ["default-tls"]

rss = ["quick-xml"]

# Reqwest TLS options
default-tls = ["reqwest/default-tls"]
native-tls = ["reqwest/native-tls"]
native-tls-alpn = ["reqwest/native-tls-alpn"]
native-tls-vendored = ["reqwest/native-tls-vendored"]
rustls-tls-webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
rustls-tls-native-roots = ["reqwest/rustls-tls-native-roots"]

[dependencies]
quick-js-dtp = { version = "0.4.1", default-features = false, features = [
    "patch-dateparser",
] }
once_cell = "1.12.0"
regex = "1.6.0"
fancy-regex = "0.11.0"
thiserror = "1.0.36"
url = "2.2.2"
log = "0.4.17"
reqwest = { version = "0.11.11", default-features = false, features = [
    "json",
    "gzip",
    "brotli",
] }
tokio = { version = "1.20.0", features = ["macros", "time"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.82"
serde_with = { version = "3.0.0", default-features = false, features = [
    "macros",
    "json",
] }
serde_plain = "1.0.1"
rand = "0.8.5"
time = { version = "0.3.15", features = [
    "macros",
    "serde",
    "serde-well-known",
] }
futures = "0.3.21"
ress = "0.11.4"
phf = "0.11.1"
base64 = "0.21.0"
urlencoding = "2.1.2"
quick-xml = { version = "0.28.1", features = ["serialize"], optional = true }

[dev-dependencies]
env_logger = "0.10.0"
test-log = "0.2.11"
rstest = "0.17.0"
tokio-test = "0.4.2"
insta = { version = "1.17.1", features = ["ron", "redactions"] }
path_macro = "1.0.0"
