[package]
name = "lemmy_api_common"
version.workspace = true
edition.workspace = true
description.workspace = true
license.workspace = true
homepage.workspace = true
documentation.workspace = true
repository.workspace = true

[lib]
name = "lemmy_api_common"
path = "src/lib.rs"
doctest = false

[lints]
workspace = true

[features]
full = [
  "tracing",
  "rosetta-i18n",
  "lemmy_db_views/full",
  "lemmy_db_views_actor/full",
  "lemmy_db_views_moderator/full",
  "lemmy_utils/full",
  "activitypub_federation",
  "encoding",
  "reqwest-middleware",
  "webpage",
  "ts-rs",
  "tokio",
  "uuid",
  "reqwest",
  "actix-web",
  "futures",
  "once_cell",
  "jsonwebtoken",
  "mime",
]

[dependencies]
lemmy_db_views = { workspace = true }
lemmy_db_views_moderator = { workspace = true }
lemmy_db_views_actor = { workspace = true }
lemmy_db_schema = { workspace = true }
lemmy_utils = { workspace = true }
activitypub_federation = { workspace = true, optional = true }
serde = { workspace = true }
serde_with = { workspace = true }
url = { workspace = true }
chrono = { workspace = true }
tracing = { workspace = true, optional = true }
reqwest-middleware = { workspace = true, optional = true }
regex = { workspace = true }
rosetta-i18n = { workspace = true, optional = true }
futures = { workspace = true, optional = true }
uuid = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
reqwest = { workspace = true, optional = true }
ts-rs = { workspace = true, optional = true }
moka.workspace = true
anyhow.workspace = true
once_cell = { workspace = true, optional = true }
actix-web = { workspace = true, optional = true }
enum-map = { workspace = true }
urlencoding = { workspace = true }
mime = { version = "0.3.17", optional = true }
webpage = { version = "1.6", default-features = false, features = [
  "serde",
], optional = true }
encoding = { version = "0.2.33", optional = true }
jsonwebtoken = { version = "8.3.0", optional = true }
# necessary for wasmt compilation
getrandom = { version = "0.2.14", features = ["js"] }

[package.metadata.cargo-machete]
ignored = ["getrandom"]

[dev-dependencies]
serial_test = { workspace = true }
reqwest-middleware = { workspace = true }
pretty_assertions = { workspace = true }
