[package]
edition = "2024"
name = "eventcore"
version = "0.7.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Type-driven event sourcing library for Rust with atomic multi-stream commands"
readme = false
license = "MIT"
repository = "https://github.com/jwilger/eventcore"
resolver = "2"
[features]
default = ["macros"]
macros = ["dep:eventcore-macros"]
postgres = ["dep:eventcore-postgres"]
sqlite = ["dep:eventcore-sqlite"]
[lib]
name = "eventcore"
path = "src/lib.rs"
[[test]]
name = "dynamic_stream_discovery_test"
path = "tests/dynamic_stream_discovery_test.rs"
[[test]]
name = "execute_future_is_send_test"
path = "tests/execute_future_is_send_test.rs"
[[test]]
name = "multi_stream_atomic_test"
path = "tests/multi_stream_atomic_test.rs"
[[test]]
name = "projection_config_test"
path = "tests/projection_config_test.rs"
[[test]]
name = "retry_policy_test"
path = "tests/retry_policy_test.rs"
[[test]]
name = "single_stream_command_test"
path = "tests/single_stream_command_test.rs"
[dependencies.chrono]
version = "0.4.42"
features = ["serde"]
[dependencies.eventcore-macros]
version = "0.7.0"
optional = true
[dependencies.eventcore-postgres]
version = "0.7.0"
optional = true
[dependencies.eventcore-sqlite]
version = "0.7.0"
optional = true
[dependencies.eventcore-types]
version = "0.7.0"
[dependencies.rand]
version = "0.9.2"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.48.0"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
]
[dependencies.tracing]
version = "0.1.44"
[dependencies.uuid]
version = "1.19.0"
features = [
"serde",
"v1",
"v7",
]
[dev-dependencies.nutype]
version = "0.6.2"
features = ["serde"]
[dev-dependencies.proptest]
version = "1.9.0"
[dev-dependencies.tracing-mock]
version = "0.1.0-beta.3"
[dev-dependencies.tracing-test]
version = "0.2.5"
[dev-dependencies.uuid]
version = "1.19.0"
features = ["v7"]
[lints.clippy]
allow_attributes = "deny"
[lints.rust]
dead_code = "forbid"
deprecated = "deny"
invalid_value = "forbid"
meta_variable_misuse = "deny"
non_ascii_idents = "deny"
non_camel_case_types = "deny"
non_snake_case = "deny"
non_upper_case_globals = "deny"
overflowing_literals = "forbid"
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unconditional_recursion = "forbid"
unreachable_code = "deny"
unreachable_pub = "forbid"
unsafe_code = "forbid"
unused_allocation = "forbid"
unused_assignments = "deny"
unused_attributes = "deny"
unused_extern_crates = "deny"
unused_imports = "deny"
unused_must_use = "deny"
unused_mut = "deny"
unused_parens = "deny"
unused_qualifications = "deny"
unused_results = "deny"
unused_variables = "deny"
warnings = "deny"
[lints.rust.bad_style]
level = "deny"
priority = -1
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1
[lints.rust.rust_2021_compatibility]
level = "deny"
priority = -1