yumechi-no-kuni-proxy-worker/Cargo.toml

98 lines
3.5 KiB
TOML
Raw Normal View History

[package]
name = "yumechi-no-kuni-proxy-worker"
description = "A Misskey proxy worker for ゆめちのくに (Yumechi-no-kuni) instance."
repository = "https://forge.yumechi.jp/yume/yumechi-no-kuni-proxy-worker"
license = "Apache-2.0"
version = "0.1.0"
edition = "2021"
authors = [ "eternal-flame-AD <yume@yumechi.jp>" ]
[package.metadata.release]
release = false
[lib]
crate-type = ["cdylib", "rlib"]
[profile.release]
lto = true
strip = true
opt-level = "z"
codegen-units = 1
panic = "abort"
[profile.release-local]
inherits = "release"
opt-level = 3
strip = false
panic = "unwind"
[features]
default = []
env-local = ["axum/http1", "axum/http2",
"axum-server",
"reqwest", "tokio",
"env_logger",
"governor",
"clap", "toml",
"image/ico",
"lossy-webp",
"tower-http",
"svg-text", "resvg/system-fonts", "resvg/raster-images", "fontdb/fontconfig"
]
reuse-port = []
cf-worker = ["dep:worker", "dep:worker-macros"]
cf-worker-paid = ["cf-worker", "resvg/raster-images", "resvg/text", "image/ico", "panic-console-error"]
panic-console-error = ["dep:console_error_panic_hook"]
apparmor = ["dep:siphasher", "dep:libc"]
reqwest = ["dep:reqwest", "dep:url"]
svg-text = ["resvg/text", "dep:fontdb"]
tokio = ["dep:tokio", "axum/tokio", "dep:libc"]
env_logger = ["dep:env_logger"]
governor = ["dep:governor"]
axum-server = ["dep:axum-server", "tower-http"]
lossy-webp = ["dep:webp"]
tower-http = ["dep:tower-http"]
[dependencies]
worker = { version="0.4.2", features=['http', 'axum'], optional = true }
worker-macros = { version="0.4.2", features=['http'], optional = true }
axum = { version = "0.7", default-features = false, features = ["query", "json"] }
tower-service = "0.3"
console_error_panic_hook = { version = "0.1.1", optional = true }
serde = { version = "1", features = ["derive"] }
futures = { version = "0.3.31", default-features = false, features = ["std"] }
image = { version = "0.25.5", default-features = false, features = ["avif", "bmp", "gif", "jpeg", "png", "webp"] }
reqwest = { version = "0.12.9", features = ["brotli", "gzip", "stream", "zstd"], optional = true }
getrandom = { version = "0.2", features = ["js"] }
siphasher = { version = "1.0.1", optional = true }
tokio = { version = "1.41.1", features = ["rt", "rt-multi-thread", "macros", "sync", "signal"], optional = true }
clap = { version = "4.5.20", features = ["derive"], optional = true }
toml = { version = "0.8", optional = true }
log = "0.4"
env_logger = { version = "0.11", optional = true }
governor = { version = "0.7.0", features = ["dashmap"], optional = true }
resvg = { version = "0.44.0", default-features = false, features = ["gif", "image-webp"] }
thiserror = "2.0"
serde_json = "1"
wasm-bindgen = { version = "0.2" }
libc = { version = "0.2.162", optional = true }
axum-server = { version = "0.7.1", optional = true }
fontdb = { version = "0.23", optional = true }
webp = { version = "0.3.0", optional = true }
url = { version = "2", optional = true }
tower-http = { version = "0.6.2", features = ["catch-panic", "timeout"], optional = true }
[patch.crates-io]
# licensing and webp dependencies
resvg = { git = "https://github.com/linebender/resvg", rev = "ac767218d791fa42bb6da3a8cc85f0a4454685f1" }
[build-dependencies]
chumsky = "0.9.3"
quote = "1.0.37"
serde = { version = "1.0.214", features = ["derive"] }
serde_json = "1.0.132"
[[bin]]
name = "yumechi-no-kuni-proxy-worker"
required-features = ["env-local"]