# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2024" rust-version = "1.94" name = "loco-rs" version = "1.0.1" build = "build.rs" autolib = false autobins = false autoexamples = false autotests = false autobenches = false description = "The one-person framework for Rust" homepage = "https://loco.rs/" documentation = "https://docs.rs/loco-rs" readme = "README.md" license = "Apache-2.0" repository = "https://github.com/loco-rs/loco" [package.metadata.docs.rs] features = ["testing"] [features] all_storage = [ "storage_aws_s3", "storage_azure", "storage_gcp", ] auth = [ "dep:jsonwebtoken", "jsonwebtoken/rust_crypto", ] cache_inmem = ["dep:moka"] cache_redis = [ "dep:bb8-redis", "dep:bb8", ] cli = ["dep:clap"] default = [ "auth", "cli", "with-db", "cache_inmem", "worker", ] embedded_assets = [] redis_tls = [ "redis/tokio-rustls-comp", "redis/tls-rustls-webpki-roots", "dep:rustls", ] storage_aws_s3 = ["opendal/services-s3"] storage_azure = ["opendal/services-azblob"] storage_gcp = ["opendal/services-gcs"] testing = [ "dep:axum-test", "dep:scraper", "dep:tree-fs", ] with-db = [ "dep:sea-orm", "dep:sea-orm-migration", "dep:sqlx", "loco-gen/with-db", ] worker = [ "dep:sqlx", "dep:ulid", ] worker_redis = [ "worker", "dep:redis", ] [lib] name = "loco_rs" path = "src/lib.rs" [[test]] name = "mod" path = "tests/mod.rs" [dependencies.argon2] version = "0.5" features = ["std"] [dependencies.async-trait] version = "0.1.74" [dependencies.axum] version = "0.8.1" features = [ "macros", "multipart", ] [dependencies.axum-client-ip] version = "1.3" features = ["forwarded-header"] [dependencies.axum-extra] version = "0.10" features = ["cookie"] [dependencies.axum-test] version = "17.0.1" optional = true [dependencies.backtrace_printer] version = "1.3.0" [dependencies.bb8] version = "0.9" optional = true [dependencies.bb8-redis] version = "0.26" optional = true [dependencies.byte-unit] version = "5.1" [dependencies.bytes] version = "1.11" [dependencies.cargo-lock] version = "11" default-features = false [dependencies.chrono] version = "0.4" features = ["serde"] [dependencies.clap] version = "4.4.7" features = ["derive"] optional = true [dependencies.colored] version = "3.0" [dependencies.cruet] version = "1.0" [dependencies.dashmap] version = "6" [dependencies.duct] version = "1.0.0" [dependencies.english-to-cron] version = "0.1.2" [dependencies.futures-util] version = "0.3" [dependencies.heck] version = "0.5.0" [dependencies.include_dir] version = "0.7.3" [dependencies.jsonwebtoken] version = "10.3.0" optional = true default-features = false [dependencies.lettre] version = "0.11.4" features = [ "builder", "hostname", "smtp-transport", "tokio1-rustls-tls", ] default-features = false [dependencies.loco-gen] version = "1.0.0" [dependencies.moka] version = "0.12.7" features = ["future"] optional = true [dependencies.notify] version = "8.1.0" [dependencies.opendal] version = "0.57" features = [ "services-memory", "services-fs", "layers-retry", ] default-features = false [dependencies.rand] version = "0.9" features = ["std"] [dependencies.redis] version = "1" features = [ "aio", "tokio-comp", ] optional = true [dependencies.regex] version = "1" [dependencies.rustls] version = "0.23" features = ["ring"] optional = true default-features = false [dependencies.scraper] version = "0.25.0" features = ["deterministic"] optional = true [dependencies.sea-orm] version = "2.0" features = [ "sqlx-postgres", "sqlx-sqlite", "runtime-tokio-rustls", "macros", ] optional = true [dependencies.sea-orm-migration] version = "2.0" features = [ "runtime-tokio-rustls", "sqlx-postgres", "sqlx-sqlite", ] optional = true [dependencies.semver] version = "1" [dependencies.serde] version = "1" [dependencies.serde_json] version = "1" [dependencies.serde_variant] version = "0.1.2" [dependencies.serde_yaml] version = "0.10" package = "serde_yaml_ng" [dependencies.sqlx] version = "0.9" features = [ "json", "postgres", "chrono", "sqlite", "tls-rustls-ring-webpki", ] optional = true default-features = false [dependencies.tera] version = "1.19.1" [dependencies.thiserror] version = "2" [dependencies.tokio] version = "1.45" default-features = false [dependencies.tokio-cron-scheduler] version = "0.15" features = ["signal"] [dependencies.tokio-util] version = "0.7" [dependencies.toml] version = "0.8" [dependencies.tower] version = "0.5" [dependencies.tower-http] version = "0.6.8" features = [ "trace", "catch-panic", "timeout", "add-extension", "cors", "fs", "set-header", "compression-full", ] [dependencies.tracing] version = "0.1.40" [dependencies.tracing-appender] version = "0.2.3" default-features = false [dependencies.tracing-subscriber] version = "0.3.16" features = [ "env-filter", "json", "ansi", ] default-features = false [dependencies.tree-fs] version = "0.3" optional = true [dependencies.ulid] version = "1" optional = true [dependencies.url] version = "2" [dependencies.uuid] version = "1.10.0" features = [ "v4", "fast-rng", ] [dependencies.validator] version = "0.20.0" features = ["derive"] [dev-dependencies.insta] version = "1.34.0" features = [ "redactions", "yaml", "filters", ] [dev-dependencies.reqwest] version = "0.12.7" features = ["json"] [dev-dependencies.rstest] version = "0.26.1" [dev-dependencies.serial_test] version = "3.5.0" [dev-dependencies.sqlx] version = "0.9" features = [ "macros", "json", "postgres", "chrono", "sqlite", "migrate", ] default-features = false [dev-dependencies.testcontainers] version = "0.27" [dev-dependencies.tower] version = "0.5" features = ["util"] [dev-dependencies.tree-fs] version = "0.3"