rust-lib/Cargo.toml
Martin Berg Alstad f14543af6b
Some checks failed
Build & test / build (push) Has been cancelled
♻️ Removed Makefile, refactored schema in tests
2025-03-08 19:09:43 +01:00

90 lines
2.9 KiB
TOML

[workspace]
members = ["crates/*"]
exclude = ["examples"]
[workspace.package]
edition = "2024"
rust-version = "1.85"
authors = ["Martin Berg Alstad"]
homepage = "martials.no"
[package]
name = "lib"
version = "2.0.0"
description = "A library with utilities and helper fuctions."
edition = { workspace = true }
rust-version = { workspace = true }
authors = { workspace = true }
homepage = { workspace = true }
[lib]
[dependencies]
# Api
axum = { version = "0.8", optional = true, features = ["multipart"] }
tower = { version = "0.5", optional = true }
tower-http = { version = "0.6", optional = true, features = ["trace", "cors", "normalize-path"] }
mime = { version = "0.3", optional = true }
# Async
tokio = { workspace = true, optional = true, features = ["fs", "rt-multi-thread"] }
tokio-util = { version = "0.7", optional = true, features = ["io"] }
# Database
diesel = { workspace = true, optional = true, features = ["postgres"] }
diesel-async = { workspace = true, optional = true, features = ["postgres", "deadpool", "async-connection-wrapper"] }
diesel-crud-derive = { path = "crates/diesel_crud_derive", optional = true }
diesel-crud-trait = { path = "crates/diesel_crud_trait", optional = true }
diesel_migrations = { workspace = true, optional = true }
deadpool-diesel = { workspace = true, optional = true, features = ["postgres"] }
# Error handling
thiserror = { workspace = true, optional = true }
# Logging
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", optional = true }
# Parsing
nom = { version = "8.0", optional = true }
# Procedural macros
into-response-derive = { path = "crates/into_response_derive", optional = true }
read-files = { path = "crates/read_files", optional = true }
# Serialization / Deserialization
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_json = { version = "1.0", optional = true }
# Test
testcontainers-modules = { workspace = true, features = ["postgres"], optional = true }
# Time
chrono = { version = "0.4", optional = true, features = ["serde"] }
# Utils
derive_more = { workspace = true, features = ["from", "constructor"] }
[workspace.dependencies]
# Async
tokio = "1.40"
# Database
diesel = "2.2"
diesel-async = "0.5"
diesel_migrations = "2.2"
deadpool-diesel = "0.6"
# Error handling
thiserror = "2.0"
# Procedural macros
syn = "2.0"
quote = "1.0"
deluxe = "0.5"
proc-macro2 = "1.0"
# Test
testcontainers-modules = "0.11"
# Utils
derive_more = "2.0"
regex = "1.11"
[features]
axum = ["dep:axum", "dep:tower", "dep:tower-http", "dep:thiserror", "dep:tracing", "dep:tracing-subscriber", "dep:tokio", "dep:mime"]
diesel = ["dep:diesel-crud-trait", "dep:diesel", "dep:diesel-async", "dep:deadpool-diesel", "dep:diesel_migrations"]
io = ["dep:tokio", "dep:tokio-util"]
iter = []
nom = ["dep:nom"]
serde = ["dep:serde", "dep:serde_json"]
derive = ["dep:into-response-derive", "dep:diesel-crud-derive"]
read-files = ["dep:read-files"]
time = ["dep:chrono"]
test = ["dep:testcontainers-modules"]