Jesús Pérez 9cef9b8d57 refactor: consolidate configuration directories
Merge _configs/ into config/ for single configuration directory.
Update all path references.

Changes:
- Move _configs/* to config/
- Update .gitignore for new patterns
- No code references to _configs/ found

Impact: -1 root directory (layout_conventions.md compliance)
2025-12-26 18:36:23 +00:00

65 lines
1.5 KiB
TOML

[package]
name = "shared-api-lib"
version = "0.1.0"
edition = "2021"
[lib]
name = "shared_api_lib"
path = "src/lib.rs"
[features]
default = ["metrics", "auth", "rate-limit", "websocket"]
metrics = ["prometheus"]
auth = ["jsonwebtoken", "uuid"]
rate-limit = []
websocket = ["tokio-tungstenite", "futures"]
tls = ["tokio-rustls", "rustls", "rustls-pemfile"]
[dependencies]
# Web framework
axum = { version = "0.8", features = ["ws"] }
tokio = { version = "1.48", features = ["full"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["trace", "cors"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.9"
chrono = { version = "0.4", features = ["serde"] }
# Error handling
thiserror = "2.0"
anyhow = "1.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# Utilities
http = "1.3"
hyper = "1.8"
ipnetwork = "0.21"
# Optional: Metrics
prometheus = { version = "0.14", optional = true }
# Optional: Auth
jsonwebtoken = { version = "10.2", features = ["aws_lc_rs"], optional = true }
uuid = { version = "1.18", features = ["v4", "serde"], optional = true }
# Optional: WebSocket
tokio-tungstenite = { version = "0.28", optional = true }
futures = { version = "0.3", optional = true }
# Optional: TLS
tokio-rustls = { version = "0.26", optional = true }
rustls = { version = "0.23", optional = true }
rustls-pemfile = { version = "2.2", optional = true }
# Testing
[dev-dependencies]
mockito = "1.7"
proptest = "1.9"