[workspace] resolver = "2" members = [ "crates/pvm-api", "crates/pvm-core", "crates/pvm-auth", "crates/pvm-types", ] [workspace.package] version = "0.1.0" edition = "2024" license = "UNLICENSED" [workspace.dependencies] # Async runtime tokio = { version = "1", features = ["full"] } # Web framework axum = { version = "0.8", features = ["ws", "macros"] } axum-extra = { version = "0.10", features = ["typed-header", "cookie"] } tower = "0.5" tower-http = { version = "0.6", features = ["cors", "trace", "compression-gzip"] } # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" # Auth / JWT jsonwebtoken = "9" # Database sqlx = { version = "0.8", features = ["runtime-tokio", "postgres", "sqlite", "chrono", "uuid"] } # Logging / Tracing tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } # Error handling thiserror = "2" anyhow = "1" # OpenAPI utoipa = { version = "5", features = ["axum_extras", "uuid", "chrono"] } utoipa-axum = "0.2" utoipa-swagger-ui = { version = "9", features = ["axum"] } # Misc chrono = { version = "0.4", features = ["serde"] } uuid = { version = "1", features = ["v4", "serde"] } dotenvy = "0.15" reqwest = { version = "0.12", features = ["json"] }