[package]
authors.workspace = true
categories.workspace = true
edition.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
description = "syndicationd backend api"
name = "synd-api"
readme = "README.md"
version = "0.2.6"
[[bin]]
name = "synd-api"
path = "src/main.rs"
[dependencies]
synd-auth = { path = "../synd_auth", version = "0.2.5" }
synd-feed = { path = "../synd_feed", version = "0.3.5", features = ["graphql"] }
synd-o11y = { path = "../synd_o11y", version = "0.1.9" }
synd-stdx = { path = "../synd_stdx", version = "0.1.1", features = ["color", "humantime"] }
anyhow = { workspace = true }
async-graphql = { workspace = true, features = ["tracing"] }
async-graphql-axum = { version = "7.0" }
async-trait = { workspace = true }
axum = { workspace = true }
axum-server = { workspace = true }
chrono = { workspace = true }
clap = { workspace = true, features = ["derive", "env"] }
fdlimit = { workspace = true }
feed-rs = { workspace = true }
futures-util = { workspace = true }
graphql_client = { workspace = true }
kvsd = { workspace = true }
moka = { workspace = true, features = ["future"] }
pin-project = "1.1.8"
reqwest = { workspace = true }
serde = { workspace = true }
serde_json = "1.0.136"
thiserror = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "sync"] }
tokio-metrics = { version = "0.4.0", default-features = false, features = ["rt"] }
tokio-util = { workspace = true }
tower = { version = "0.5.2", default-features = false, features = ["limit", "timeout"] }
tower-http = { version = "0.6.2", default-features = false, features = ["trace", "sensitive-headers", "cors", "limit"] }
tracing = { workspace = true }
[features]
integration = []
introspection = []
opentelemetry-stdout = ["synd-o11y/opentelemetry-stdout"]
[dev-dependencies]
synd-test = { path = "../synd_test" }
assert_cmd = { workspace = true }
insta = { workspace = true, features = ["yaml"] }
tracing-subscriber = { workspace = true }
[lints]
workspace = true
[package.metadata.release]
pre-release-hook = ["just", "changelog", "{{version}}"]
pre-release-replacements = [
{ file = "CHANGELOG.md", search = "unreleased", replace = "v{{version}}", min = 0 },
{ file = "CHANGELOG.md", search = "__release_date__", replace = "{{date}}", min = 0 },
{ file = "README.md", search = "/synd-api-v.*/", replace = "/{{crate_name}}-v{{version}}/", min = 0 },
]
tag-message = "chore: release {{crate_name}} version {{version}}"
[package.metadata.dist]
dist = false