[package]
edition = "2024"
rust-version = "1.95.0"
name = "event_hex"
version = "0.0.3"
authors = ["develnk <develnk@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pragmatic Rust toolkit for Domain-Driven Design with first-class support for event sourcing and CQRS."
homepage = "https://github.com/develnk/event_hex.git"
documentation = "https://docs.rs/event_hex"
readme = "README.md"
keywords = [
"hexagonal",
"architecture",
"ddd",
"event-sourcing",
"cqrs",
]
categories = [
"data-structures",
"asynchronous",
"rust-patterns",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/develnk/event_hex.git"
[features]
default = []
kafka = ["rdkafka"]
mongo = [
"mongodb",
"bson",
]
postgres = [
"sqlx",
"sqlx/postgres",
]
rabbit = ["lapin"]
[lib]
name = "event_hex"
path = "src/lib.rs"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.bb8]
version = "0.9.1"
[dependencies.bincode]
version = "2.0.1"
features = ["serde"]
[dependencies.bson]
version = "3.1.0"
features = [
"uuid-1",
"serde_with-3",
"serde",
]
optional = true
[dependencies.chrono]
version = "0.4.44"
features = ["serde"]
[dependencies.config]
version = "0.15.22"
optional = true
[dependencies.derive-getters]
version = "0.5.0"
[dependencies.downcast-rs]
version = "2.0.2"
[dependencies.erased-serde]
version = "0.4.10"
[dependencies.futures]
version = "0.3.32"
[dependencies.lapin]
version = "4.7.2"
optional = true
[dependencies.mongodb]
version = "3.6.0"
features = ["bson-3"]
optional = true
[dependencies.rdkafka]
version = "0.39.0"
features = ["ssl-vendored"]
optional = true
[dependencies.serde]
version = "1.0.228"
features = [
"derive",
"serde_derive",
]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.serde_with]
version = "3.20.0"
[dependencies.sha2]
version = "0.11.0"
[dependencies.sqlx]
version = "0.8.0"
features = [
"runtime-tokio-native-tls",
"uuid",
"json",
"chrono",
]
optional = true
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.52.3"
features = [
"macros",
"rt-multi-thread",
]
[dependencies.tracing]
version = "0.1"
[dependencies.typed-builder]
version = "0.23.2"
[dependencies.uuid]
version = "1.23.1"
features = [
"serde",
"v4",
"fast-rng",
"v7",
]
[dev-dependencies.mockall]
version = "0.14"
[dev-dependencies.tokio]
version = "1.52.3"
features = ["full"]
[profile.dev]
opt-level = 0
lto = false
codegen-units = 256
debug = 2
debug-assertions = true
rpath = false
panic = "unwind"
overflow-checks = true
incremental = true
strip = "none"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
debug-assertions = false
panic = "abort"
overflow-checks = false
strip = "symbols"