[package]
edition = "2024"
rust-version = "1.98"
name = "cratefield-runtime-native"
version = "0.4.7"
build = false
include = [
"src/**/*",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Native (tokio) runtime for the Cratefield harness: axum on a TcpListener, reqwest over rustls, Redis ports, in-process cron"
readme = "README.md"
keywords = [
"cratefield",
"tokio",
"axum",
"redis",
"self-hosted",
]
categories = ["web-programming"]
license = "MIT"
repository = "https://github.com/Cratefield/harness"
[features]
push = ["dep:cratefield-push-wiring"]
[lib]
name = "cratefield_runtime_native"
path = "src/lib.rs"
[dependencies.async-trait]
version = "0.1.92"
[dependencies.axum]
version = "0.8.9"
features = [
"json",
"query",
"form",
"matched-path",
"original-uri",
"tokio",
"http1",
]
default-features = false
[dependencies.bytes]
version = "1.12.1"
[dependencies.cratefield-auth-client]
version = "0.4.1"
[dependencies.cratefield-core]
version = "0.10"
[dependencies.cratefield-push-wiring]
version = "0.3.2"
optional = true
[dependencies.futures-core]
version = "0.3.34"
[dependencies.futures-util]
version = "0.3.34"
features = [
"async-await",
"std",
]
default-features = false
[dependencies.http]
version = "1.5.0"
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.thiserror]
version = "2.0.20"
[dependencies.time]
version = "0.3.45"
features = [
"std",
"formatting",
"parsing",
"wasm-bindgen",
]
default-features = false
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.bytes]
version = "1.12.1"
[dev-dependencies.http]
version = "1.5.0"
[dev-dependencies.serde_json]
version = "1.0.151"
[dev-dependencies.tokio]
version = "1.53.1"
features = [
"rt-multi-thread",
"macros",
"test-util",
]
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies.chrono]
version = "0.4.42"
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies.croner]
version = "4.0.0"
features = ["chrono"]
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies.redis]
version = "1.7.0"
features = [
"tokio-comp",
"connection-manager",
"script",
]
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies.reqwest]
version = "0.12.28"
features = ["rustls-tls"]
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies.tokio]
version = "1.53.1"
features = [
"rt-multi-thread",
"macros",
"time",
"net",
"signal",
"fs",
"sync",
]
default-features = false
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies.tokio-util]
version = "0.7.19"
features = ["io"]
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"fmt",
"env-filter",
"std",
]
default-features = false
[lints.clippy]
all = "warn"
pedantic = "warn"
[lints.clippy.must_use_candidate]
level = "allow"
priority = 1
[lints.rust]
trivial_numeric_casts = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"