[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"]