Files
2026-09-15 11:38:51 +00:00

108 lines
3.4 KiB
TOML

[workspace]
members = ["backend/*", "frontend", "shared"]
resolver = "2"
[workspace.package]
version = "3.3.113"
edition = "2021"
rust-version = "1.95.0"
[workspace.lints.clippy]
# Shared lint policy for every workspace crate.
# Extracted crates must not silently lose the lint level that previously
# existed only as a crate attribute on backend/app/src/main.rs.
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
wildcard_imports = "deny"
# Allows carried over verbatim from backend/app/src/main.rs. They were already
# accepted for the backend; moving the policy to the workspace must not change
# which warnings the backend emits.
module_name_repetitions = "allow"
must_use_candidate = "allow"
return_self_not_must_use = "allow"
missing_errors_doc = "allow"
large_futures = "allow"
[workspace.dependencies]
shared = { version = "3", path = "shared" }
tuliprox-hls = { version = "3", path = "backend/hls" }
tuliprox-auth = { version = "3", path = "backend/auth" }
tuliprox-dvr = { version = "3", path = "backend/dvr" }
tuliprox = { version = "3", path = "backend/app" }
tuliprox-mpegts = { version = "3", path = "backend/mpegts" }
tuliprox-iptv = { version = "3", path = "backend/iptv" }
tuliprox-parser = { version = "3", path = "backend/parser" }
tuliprox-metadata = { version = "3", path = "backend/metadata" }
tuliprox-messaging = { version = "3", path = "backend/messaging" }
tuliprox-processing = { version = "3", path = "backend/processing" }
tuliprox-btree = { version = "3", path = "backend/btree" }
tuliprox-config-loader = { version = "3", path = "backend/config-loader" }
tuliprox-session = { version = "3", path = "backend/session" }
tuliprox-media-server = { version = "3", path = "backend/media-server" }
tuliprox-repository = { version = "3", path = "backend/repository" }
tuliprox-core = { version = "3", path = "backend/core" }
tuliprox-curation = { version = "3", path = "backend/curation" }
tuliprox-library = { version = "3", path = "backend/library" }
serde = { version = "1.0.229", features = ["derive", "rc"] }
serde_json = { version = "1.0.151" }
regex = "1.13.1"
log = "0.4.34"
chrono = "0.4.45"
bytes = "1.12.1"
base64 = "0.23.1"
blake3 = "1.8.7"
fastrand = "2.5.0"
lz4_flex = "0.14.0"
brotli = "8.0.4"
indexmap = "2.14.0"
dashmap = "6.2.1"
arc-swap = "1.9.2"
paste = "1.0.15"
pest = "2.9.0"
pest_derive = "2.9.0"
zeroize = "1.9.0"
deunicode = "1.6.2"
path-clean = "1.0.1"
url = "2.5.8"
cron = "0.17.0"
futures = "0.3.34"
serde-saphyr = "0.0.26"
sha2 = "0.11.0"
hmac = "0.13.0"
thiserror = "2.0.20"
tokio = { version = "1.53.1" }
strum = "0.28.0"
strum_macros = "0.28.0"
dotenvy = "0.15.7"
[profile.release]
debug = false
opt-level = 3 # Maximal performance
lto = "fat" # Enable Link Time Optimization
codegen-units = 1 # Reduce number of codegen units to increase optimizations.
panic = 'abort' # Abort on panic
strip = true
incremental = false
[profile.dev]
lto = false
incremental = true
codegen-units = 256
[profile.dev-slim]
inherits = "dev"
opt-level = 0
strip = "none"
lto = "off"
debug = "line-tables-only"
[profile.dev-slim.package."*"]
debug = false
[profile.release.package.frontend]
opt-level = 'z' # Size optimization for frontend
[profile.release.package.shared]
opt-level = 3 # optimize shared for speed