Files
movies-diary/Cargo.toml

151 lines
4.7 KiB
TOML

[workspace]
default-members = [
"crates/adapters/auth",
"crates/adapters/event-publisher",
"crates/adapters/metadata",
"crates/adapters/poster-fetcher",
"crates/adapters/object-storage",
"crates/adapters/rss",
"crates/adapters/sqlite",
"crates/adapters/sqlite-federation",
"crates/adapters/activitypub",
"crates/adapters/export",
"crates/adapters/nats",
"crates/adapters/tmdb-enrichment",
"crates/adapters/image-converter",
"crates/adapters/http-axum",
"crates/adapters/importer",
"crates/adapters/media-server",
"crates/event-payload",
"crates/api-types",
"crates/application",
"crates/domain",
"crates/bootstrap",
"crates/server",
"crates/worker",
"crates/config",
]
members = [
"crates/adapters/auth",
"crates/adapters/event-publisher",
"crates/adapters/metadata",
"crates/adapters/poster-fetcher",
"crates/adapters/object-storage",
"crates/adapters/rss",
"crates/adapters/sqlite",
"crates/adapters/sqlite-federation",
"crates/adapters/activitypub",
"crates/adapters/export",
"crates/event-payload",
"crates/adapters/nats",
"crates/api-types",
"crates/application",
"crates/adapters/tmdb-enrichment",
"crates/adapters/image-converter",
"crates/domain",
"crates/bootstrap",
"crates/adapters/http-axum",
"crates/server",
"crates/tui",
"crates/worker",
"crates/adapters/importer",
"crates/adapters/media-server",
"crates/config",
]
resolver = "2"
[workspace.package]
edition = "2024"
[workspace.dependencies]
tokio = { version = "1.0", default-features = false }
bytes = "1"
futures = "0.3"
async-stream = "0.3"
dotenvy = "0.15"
serde = { version = "1.0", default-features = false, features = ["std"] }
serde_json = "1.0"
anyhow = "1.0"
thiserror = "2.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3.23", default-features = false }
async-trait = "0.1.92"
uuid = { version = "1.23.0", default-features = false, features = ["std"] }
chrono = { version = "0.4", default-features = false, features = ["std"] }
chrono-tz = "0.10"
sqlx = { version = "0.8.6", default-features = false, features = [
"runtime-tokio",
"sqlite",
"uuid",
"derive",
"migrate",
] }
rand = "0.9"
tempfile = "3"
reqwest = { version = "0.13", default-features = false, features = ["json", "query", "charset", "http2", "system-proxy", "rustls-no-provider"] }
sha2 = "0.10"
hex = "0.4"
object_store = { version = "0.11", default-features = false, features = ["aws"] }
axum = { version = "0.8.8", default-features = false }
csv = "1"
figment = { version = "0.10", features = ["toml"] }
rustls = { version = "0.23", default-features = false }
tower = { version = "0.5", default-features = false }
tower-http = { version = "0.6.8", default-features = false }
utoipa = "5.5.0"
utoipa-swagger-ui = "9.0.2"
askama = "0.16.0"
infer = "0.19.0"
percent-encoding = "2"
axum-governor = "2"
email_address = "0.2.9"
jsonwebtoken = "9"
argon2 = { version = "0.5", default-features = false }
rand_core = { version = "0.6", default-features = false }
async-nats = "0.48.0"
k-ap = { version = "0.5.1", registry = "gitea" }
url = "2"
ammonia = "4"
calamine = "0.35"
image = { version = "0.25", default-features = false }
ravif = { version = "0.11", default-features = false }
webp = "0.3"
rss-feed = { package = "rss", version = "2" }
ratatui = "0.30.0"
keyring-core = "1.0.0"
directories = "6"
api-types = { path = "crates/api-types" }
domain = { path = "crates/domain" }
tmdb-enrichment = { path = "crates/adapters/tmdb-enrichment" }
application = { path = "crates/application" }
bootstrap = { path = "crates/bootstrap" }
http-axum = { path = "crates/adapters/http-axum" }
auth = { path = "crates/adapters/auth" }
metadata = { path = "crates/adapters/metadata" }
poster-fetcher = { path = "crates/adapters/poster-fetcher" }
object-storage = { path = "crates/adapters/object-storage" }
event-publisher = { path = "crates/adapters/event-publisher" }
rss = { path = "crates/adapters/rss" }
export = { path = "crates/adapters/export" }
sqlite = { path = "crates/adapters/sqlite" }
sqlite-federation = { path = "crates/adapters/sqlite-federation" }
activitypub = { path = "crates/adapters/activitypub" }
event-payload = { path = "crates/event-payload" }
media-server = { path = "crates/adapters/media-server" }
nats = { path = "crates/adapters/nats" }
importer = { path = "crates/adapters/importer" }
image-converter = { path = "crates/adapters/image-converter" }
config = { path = "crates/config" }
[profile.dev]
debug = 1 # line tables only — still debuggable, much faster linking
[profile.dev.package."*"]
opt-level = 2 # compile deps faster at runtime; paid once, cached after
[profile.release]
codegen-units = 1
lto = "thin"
strip = true