Refactor: Use workspace dependencies

This commit is contained in:
Rodrigo Rodriguez (Pragmatismo) 2026-01-23 09:37:42 -03:00
parent f8a907bd81
commit ed75b99a50

View file

@ -5,7 +5,7 @@ edition = "2021"
resolver = "2" resolver = "2"
[dependencies.botlib] [dependencies.botlib]
path = "../botlib" workspace = true
features = ["database", "i18n"] features = ["database", "i18n"]
[features] [features]
@ -99,160 +99,163 @@ minimal = ["chat"]
lightweight = ["chat", "drive", "tasks", "people"] lightweight = ["chat", "drive", "tasks", "people"]
[dependencies] [dependencies]
diesel_migrations = "2.1" diesel_migrations = { workspace = true }
bigdecimal = { version = "0.4", features = ["serde"] } bigdecimal = { workspace = true }
# === CORE RUNTIME === # === CORE RUNTIME ===
aes-gcm = "0.10" aes-gcm = { workspace = true }
anyhow = "1.0" anyhow = { workspace = true }
argon2 = "0.5" argon2 = { workspace = true }
async-lock = "2.8.0" async-lock = { workspace = true }
async-stream = "0.3" async-stream = { workspace = true }
async-trait = "0.1" async-trait = { workspace = true }
axum = { version = "0.7.5", features = ["ws", "multipart", "macros"] } axum = { workspace = true }
axum-server = { version = "0.7", features = ["tls-rustls"] } axum-server = { workspace = true }
base64 = "0.22" base64 = { workspace = true }
bytes = "1.8" bytes = { workspace = true }
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] } chrono = { workspace = true, features = ["clock", "std"] }
color-eyre = "0.6.5" color-eyre = { workspace = true }
diesel = { version = "2.1", features = ["postgres", "uuid", "chrono", "serde_json", "r2d2", "numeric"] } diesel = { workspace = true, features = ["postgres", "uuid", "chrono", "serde_json", "r2d2", "numeric"] }
dirs = "5.0" dirs = { workspace = true }
dotenvy = "0.15" dotenvy = { workspace = true }
env_logger = "0.11" env_logger = { workspace = true }
futures = "0.3" futures = { workspace = true }
futures-util = { version = "0.3", default-features = false } futures-util = { workspace = true }
tokio-util = { version = "0.7", default-features = false, features = ["codec"] } tokio-util = { workspace = true, features = ["codec"] }
hex = "0.4" hex = { workspace = true }
hmac = "0.12.1" hmac = { workspace = true }
hyper = { version = "1.4", default-features = false, features = ["client", "server", "http1", "http2"] } hyper = { workspace = true, features = ["client", "server", "http1", "http2"] }
hyper-rustls = { version = "0.27", default-features = false, features = ["http2"] } hyper-rustls = { workspace = true, features = ["http2"] }
log = "0.4" log = { workspace = true }
num-format = "0.4" num-format = { workspace = true }
once_cell = "1.18.0" once_cell = { workspace = true }
rand = "0.9.2" rand = { workspace = true }
regex = "1.11" regex = { workspace = true }
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "multipart", "stream", "json"] } reqwest = { workspace = true, features = ["rustls-tls", "multipart", "stream", "json"] }
serde = { version = "1.0", default-features = false, features = ["derive", "std"] } serde = { workspace = true, features = ["derive", "std"] }
serde_json = "1.0" serde_json = { workspace = true }
toml = "0.8" toml = { workspace = true }
sha2 = "0.10.9" sha2 = { workspace = true }
sha1 = "0.10.6" sha1 = { workspace = true }
tokio = { version = "1.41", default-features = false, features = ["full", "process", "process"] } tokio = { workspace = true, features = ["full", "process"] }
tokio-stream = "0.1" tokio-stream = { workspace = true }
tower = "0.4" tower = { workspace = true }
tower-http = { version = "0.5", default-features = false, features = ["cors", "fs", "trace"] } tower-http = { workspace = true, features = ["cors", "fs", "trace"] }
tracing = "0.1" tracing = { workspace = true }
tracing-subscriber = { version = "0.3", default-features = false } tracing-subscriber = { workspace = true }
urlencoding = "2.1" urlencoding = { workspace = true }
uuid = { version = "1.11", default-features = false, features = ["v4", "v5"] } uuid = { workspace = true, features = ["v4", "v5"] }
# === TLS/SECURITY DEPENDENCIES === # === TLS/SECURITY DEPENDENCIES ===
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] } rustls = { workspace = true, features = ["ring", "std", "tls12"] }
tokio-rustls = "0.26" tokio-rustls = { workspace = true }
rcgen = { version = "0.14", default-features = false, features = ["crypto", "ring", "pem"] } # Added ring and pem features rcgen = { workspace = true, features = ["crypto", "ring", "pem"] }
x509-parser = "0.15" x509-parser = { workspace = true }
rustls-native-certs = "0.8" rustls-native-certs = { workspace = true }
webpki-roots = "0.25" webpki-roots = { workspace = true }
ring = "0.17" ring = { workspace = true }
ciborium = "0.2" ciborium = { workspace = true }
time = { version = "0.3", default-features = false, features = ["formatting"] } time = { workspace = true, features = ["formatting"] }
jsonwebtoken = "9.3" jsonwebtoken = { workspace = true }
tower-cookies = "0.10" tower-cookies = { workspace = true }
# === APP-SPECIFIC DEPENDENCIES === # === APP-SPECIFIC DEPENDENCIES ===
# mail Integration (mail feature) # mail Integration (mail feature)
imap = { version = "3.0.0-alpha.15", optional = true } imap = { workspace = true, optional = true }
lettre = { version = "0.11", features = ["smtp-transport", "builder"], optional = true } lettre = { workspace = true, optional = true }
mailparse = { version = "0.15", optional = true } mailparse = { workspace = true, optional = true }
native-tls = { version = "0.2", optional = true } native-tls = { workspace = true, optional = true }
# Video Meetings (meet feature) # Video Meetings (meet feature)
livekit = { version = "0.7", optional = true } livekit = { workspace = true, optional = true }
# Vector Database (vectordb feature) # Vector Database (vectordb feature)
qdrant-client = { version = "1.12", optional = true } qdrant-client = { workspace = true, optional = true }
# Document Processing # Document Processing
docx-rs = { version = "0.4", optional = true } docx-rs = { workspace = true, optional = true }
ooxmlsdk = { version = "0.3", default-features = false, optional = true } ooxmlsdk = { workspace = true, optional = true }
calamine = { version = "0.26", optional = true } calamine = { workspace = true, optional = true }
spreadsheet-ods = { version = "1.0", optional = true } spreadsheet-ods = { workspace = true, optional = true }
# File Storage & Drive (drive feature) # File Storage & Drive (drive feature)
aws-config = { version = "1.8.8", default-features = false, features = ["behavior-version-latest", "rt-tokio", "rustls"], optional = true } aws-config = { workspace = true, features = ["behavior-version-latest", "rt-tokio", "rustls"], optional = true }
aws-sdk-s3 = { version = "1.109.0", default-features = false, features = ["rt-tokio", "rustls"], optional = true } aws-sdk-s3 = { workspace = true, features = ["rt-tokio", "rustls"], optional = true }
aws-smithy-async = { version = "1.2", features = ["rt-tokio"], optional = true } aws-smithy-async = { workspace = true, optional = true }
pdf-extract = { version = "0.10.0", optional = true } pdf-extract = { workspace = true, optional = true }
quick-xml = { version = "0.37", optional=true, features = ["serialize"] } quick-xml = { workspace = true, optional = true }
flate2 = { version = "1.0", optional = false } flate2 = { workspace = true }
zip = { version = "2.2", optional = false } zip = { workspace = true }
tar = { version = "0.4", optional = false } tar = { workspace = true }
# Task Management (tasks feature) # Task Management (tasks feature)
cron = { version = "0.15.0", optional = true } cron = { workspace = true, optional = true }
# Automation & Scripting (automation feature) # Automation & Scripting (automation feature)
rhai = { version = "1.23", features = ["sync"], optional = true } rhai = { workspace = true, optional = true }
# Compliance & Reporting (compliance feature) # Compliance & Reporting (compliance feature)
csv = { version = "1.3", optional = true } csv = { workspace = true, optional = true }
# Console/TUI (console feature) # Console/TUI (console feature)
crossterm = { version = "0.29.0", optional = true } crossterm = { workspace = true, optional = true }
ratatui = { version = "0.29", optional = true } ratatui = { workspace = true, optional = true }
# QR Code Generation # QR Code Generation
png = "0.18" png = { workspace = true }
qrcode = { version = "0.14", default-features = false } qrcode = { workspace = true }
# Error handling # Error handling
thiserror = "2.0" thiserror = { workspace = true }
# Caching/Sessions (cache feature) # Caching/Sessions (cache feature)
redis = { version = "0.27", default-features = false, features = ["tokio-comp"], optional = true } redis = { workspace = true, features = ["tokio-comp"], optional = true }
# System Monitoring (monitoring feature) # System Monitoring (monitoring feature)
sysinfo = { version = "0.37.2", optional = true } sysinfo = { workspace = true, optional = true }
# Networking/gRPC (grpc feature) # Networking/gRPC (grpc feature)
tonic = { version = "0.14.2", default-features = false, features = ["transport"], optional = true } tonic = { workspace = true, features = ["transport"], optional = true }
# UI Enhancement (progress-bars feature) # UI Enhancement (progress-bars feature)
indicatif = { version = "0.18.0", optional = true } indicatif = { workspace = true, optional = true }
smartstring = "1.0.1" smartstring = { workspace = true }
# Memory allocator (jemalloc feature) # Memory allocator (jemalloc feature)
tikv-jemallocator = { version = "0.6", optional = true } tikv-jemallocator = { workspace = true, optional = true }
tikv-jemalloc-ctl = { version = "0.6", default-features = false, optional = true } tikv-jemalloc-ctl = { workspace = true, optional = true }
scopeguard = "1.2.0" scopeguard = { workspace = true }
# Vault secrets management # Vault secrets management
vaultrs = "0.7" vaultrs = { workspace = true }
# Calendar standards (RFC 5545) # Calendar standards (RFC 5545)
icalendar = "0.17" icalendar = { workspace = true }
# Layered configuration # Layered configuration
figment = { version = "0.10", default-features = false, features = ["toml"] } figment = { workspace = true, features = ["toml"] }
# Rate limiting # Rate limiting
governor = "0.10" governor = { workspace = true }
# RSS feed parsing # RSS feed parsing
rss = "2.0" rss = { workspace = true }
# HTML parsing/web scraping # HTML parsing/web scraping
scraper = "0.25" scraper = { workspace = true }
walkdir = "2.5.0" walkdir = { workspace = true }
# Embedded static files # Embedded static files
rust-embed = "8.5" rust-embed = { workspace = true }
mime_guess = "2.0" mime_guess = { workspace = true }
hyper-util = { version = "0.1.19", default-features = false, features = ["client-legacy"] } hyper-util = { workspace = true, features = ["client-legacy"] }
http-body-util = "0.1.3" http-body-util = { workspace = true }
[dev-dependencies] [dev-dependencies]
mockito = "1.7.0" mockito = { workspace = true }
tempfile = "3" tempfile = { workspace = true }
bigdecimal = { workspace = true }
bigdecimal = { version = "0.4", features = ["serde"] } [lints]
workspace = true