[package]
name = "forgex"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
readme = "README.md"
description = "CLI and runtime for the Forge full-stack framework"
keywords = ["framework", "postgresql", "full-stack", "cli"]
categories = ["web-programming", "command-line-utilities"]
include = [
"Cargo.toml",
"build.rs",
"generated/examples.tar",
"README.md",
"src/**",
".sqlx/**",
]
[lints]
workspace = true
[lib]
name = "forge"
path = "src/lib.rs"
[[bin]]
name = "forge"
path = "src/main.rs"
[dependencies]
forge-core = { version = "0.9.0", path = "../forge-core" }
forge-runtime = { version = "0.9.0", path = "../forge-runtime" }
forge-codegen = { version = "0.9.0", path = "../forge-codegen" }
forge-macros = { version = "0.9.0", path = "../forge-macros" }
tokio = { workspace = true }
tokio-util = "0.7"
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tracing-opentelemetry = { workspace = true }
opentelemetry = { workspace = true }
opentelemetry_sdk = { workspace = true }
opentelemetry-otlp = { workspace = true }
anyhow = { workspace = true }
chrono = { workspace = true }
uuid = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
clap = { version = "4.5", features = ["derive"] }
console = "0.16"
dotenvy = "0.15"
toml = { workspace = true }
sqlx = { workspace = true }
reqwest = { workspace = true }
axum = { workspace = true }
tower = { workspace = true }
tower-http = { workspace = true }
include_dir = "0.7"
inventory = { workspace = true }
rust-embed = { workspace = true, optional = true }
mime_guess = { workspace = true, optional = true }
[features]
testcontainers = ["forge-core/testcontainers"]
embedded-frontend = ["dep:rust-embed", "dep:mime_guess"]
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", features = ["signal", "hostname"] }
[dev-dependencies]
tempfile = "3"
[build-dependencies]
tar = "0.4"