[package]
name = "errcraft"
version = "0.1.0"
edition = "2021"
rust-version = "1.70"
authors = ["Eshan Roy <eshanized@tonmoy.zip>"]
description = "Beautiful, structured, and colorful error handling for Rust."
readme = "README.md"
repository = "https://gitlab.com/TIVisionOSS/crates/errcraft"
documentation = "https://docs.rs/errcraft"
license = "MIT"
keywords = ["error", "anyhow", "thiserror", "backtrace", "diagnostics"]
categories = ["rust-patterns", "development-tools::debugging"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["std", "colors-owo", "backtrace"]
std = []
no_std = []
backtrace = ["std"]
serde = ["dep:serde", "dep:serde_json"]
markdown = []
tracing = ["dep:tracing"]
anyhow = ["dep:anyhow"]
eyre = ["dep:eyre"]
thiserror = ["dep:thiserror"]
axum = ["dep:axum", "dep:http", "serde"]
emoji = []
colors-owo = ["dep:owo-colors"]
colors-yansi = ["dep:yansi"]
colors-anstyle = ["dep:anstyle"]
[dependencies]
owo-colors = { version = "4", optional = true }
yansi = { version = "1", optional = true }
anstyle = { version = "1", optional = true }
serde = { version = "1", optional = true, features = ["derive"] }
serde_json = { version = "1", optional = true }
tracing = { version = "0.1", optional = true }
anyhow = { version = "1", optional = true }
eyre = { version = "0.6", optional = true }
thiserror = { version = "1", optional = true }
axum = { version = "0.7", optional = true, default-features = false, features = ["json"] }
http = { version = "1", optional = true }
is-terminal = { version = "0.4", optional = true }
[dev-dependencies]
insta = { version = "1", default-features = false, features = ["glob"] }
trybuild = "1"
tokio = { version = "1", features = ["full"] }
chrono = "0.4"