lexa-framework 0.2.8

Framework web backend personnel par dessus Axum.
Documentation
[workspace]
members = [".", "macro"]

[workspace.package]
version = "0.2.8"
edition = "2021"
license = "MPL-2.0"
repository = "https://github.com/PhiSyX/lexa-framework"
description = "Framework web backend personnel par dessus Axum."

[package]
name = "lexa-framework"
version = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = { workspace = true }

[features]
# default = ["auth", "encryption-argon2", "uuid", "cors"]
auth = ["bitflags", "cookies", "database-postgres", "tower-http/auth", "time"]
cookies = ["axum-sessions", "tower-cookies"]
cors = ["tower-http/cors"]
database = []
database-postgres = [
	"database",
	"lexa-database/postgres-sgbd",
	"sqlb",
	"sqlx/postgres",
]
encryption-argon2 = ["rust-argon2"]
time = ["dep:time", "chrono"]
ulid = ["dep:ulid"]
uuid = ["dep:uuid"]

[dependencies]
lexa-database = { version = "^0.1" }
lexa-env = { version = "^0.1" }
lexa-framework-macro = { version = "^0.2" }
lexa-fs = { version = "^0.1" }
lexa-logger = { version = "^0.1", features = ["serde"] }
lexa-wildcard-matching = { version = "^0.1" }
async-trait = { version = "^0.1" }
axum = { version = "^0.6", features = ["headers"] }
axum-server = { version = "^0.5", features = ["tls-rustls"] }
axum-sessions = { version = "^0.5", optional = true }
bitflags = { version = "^2.4", features = ["serde"], optional = true }
chrono = { version = "^0.4", features = ["clock", "serde"], optional = true }
console = { version = "^0.15" }
html-escape = "^0.2"
hyper = { version = "^0.14" }
lazy_static = "^1.4"
log = { version = "^0.4" }
mime = "^0.3"
rust-argon2 = { version = "^1.0", optional = true }
serde = { version = "^1.0", features = ["derive"] }
serde_json = { version = "^1.0" }
sqlb = { version = "^0.3", git = "https://github.com/SerialForker/rust-sqlb.git", rev = "f22b32b6803c946608e7a55cb835b2d4feaa2286", features = [
	"chrono-support",
], optional = true }
sqlx = { version = "^0.7", features = ["chrono"] }
thiserror = { version = "^1.0" }
time = { version = "^0.3", features = ["serde"], optional = true }
tokio = { version = "^1.32", features = ["macros", "rt-multi-thread"] }
tower-cookies = { version = "^0.9", features = [
	"private",
	"signed",
], optional = true }
tower-layer = { version = "^0.3" }
tower-http = { version = "^0.4", features = ["fs"] }
tower-service = { version = "^0.3" }
ulid = { version = "^1.0", features = ["serde"], optional = true }
url = { version = "^2.4", features = ["serde"] }
uuid = { version = "^1.4", features = ["serde", "v4"], optional = true }

[dev-dependencies]
clap = { version = "^4.4", features = ["derive"] } # pour les exemples

[patch.crates-io]
# lexa-database = { path = "../lexa-database" }
# lexa-env = { path = "../lexa-env" }
# lexa-framework-macro = { path = "macro" }
# lexa-fs = { path = "../lexa-fs" }
# lexa-logger = { path = "../lexa-logger" }
# lexa-wildcard-matching = { path = "../lexa-wildcard-matching" }
sqlb = { path = "crates/rust-sqlb" }

[patch."https://github.com/SerialForker/rust-sqlb.git"]
sqlb = { path = "crates/rust-sqlb" }

[[example]]
name = "auth"
path = "examples/auth.rs"
required-features = ["auth", "encryption-argon2", "uuid"]

[[example]]
name = "crud"
path = "examples/crud.rs"
required-features = ["database-postgres", "time", "uuid"]