[package]
name = "rustyx"
version = "0.2.0"
edition = "2021"
authors = ["Mohammad Bilal <bilalmalik1561@gmail.com>"]
description = "A Rust web framework inspired by ExpressJS with ORM support for MongoDB, MySQL, SQLite, and PostgreSQL"
license = "MIT"
repository = "https://github.com/Mohammad007/rustyx"
documentation = "https://docs.rs/rustyx"
readme = "README.md"
keywords = ["web", "framework", "express", "api", "upload"]
categories = ["web-programming", "web-programming::http-server", "database"]
[lib]
name = "rustyx"
path = "src/lib.rs"
[dependencies]
tokio = { version = "1.35", features = ["full"] }
hyper = { version = "1.1", features = ["full"] }
hyper-util = { version = "0.1", features = ["full"] }
http-body-util = "0.1"
matchit = "0.7"
mime = "0.3"
url = "2.5"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sqlx = { version = "0.7", features = ["runtime-tokio", "tls-rustls"], optional = true }
mongodb = { version = "2.8", optional = true }
async-trait = "0.1"
thiserror = "1.0"
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.6", features = ["v4", "serde"] }
once_cell = "1.19"
parking_lot = "0.12"
futures = "0.3"
bytes = "1.5"
pin-project-lite = "0.2"
[features]
default = ["sqlite"]
full = ["mysql", "postgres", "sqlite", "mongodb"]
mysql = ["sqlx/mysql"]
postgres = ["sqlx/postgres"]
sqlite = ["sqlx/sqlite"]
mongodb = ["dep:mongodb"]
[dev-dependencies]
tokio-test = "0.4"
reqwest = { version = "0.11", features = ["json"] }
[profile.release]
opt-level = 3
lto = true