hexser 0.6.0

Zero-boilerplate hexagonal architecture with graph-based introspection
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "hexser"
version = "0.6.0"
authors = ["N Lang Team"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Zero-boilerplate hexagonal architecture with graph-based introspection"
homepage = "https://github.com/squillo/hexser"
documentation = "https://docs.rs/hexser"
readme = "README.md"
keywords = [
    "hexagonal",
    "architecture",
    "ports",
    "adapters",
    "ddd",
]
categories = [
    "development-tools",
    "data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/squillo/hexser"

[package.metadata.docs.rs]
all-features = true

[features]
ai = [
    "serde",
    "serde_json",
]
async = [
    "tokio",
    "async-trait",
]
container = [
    "tokio",
    "async-trait",
]
default = [
    "macros",
    "static-di",
]
full = [
    "ai",
    "mcp",
    "async",
    "macros",
    "visualization",
    "container",
    "static-di",
]
macros = ["hexser_macros"]
mcp = [
    "ai",
    "serde",
    "serde_json",
]
serde = ["dep:serde"]
static-di = []
visualization = [
    "serde",
    "serde_json",
]

[lib]
name = "hexser"
path = "src/lib.rs"

[[bin]]
name = "hex-ai-export"
path = "src/bin/hex_ai_export.rs"
required-features = ["ai"]

[[bin]]
name = "hex-ai-pack"
path = "src/bin/hex_ai_pack.rs"
required-features = ["ai"]

[[bin]]
name = "hex-mcp-server"
path = "src/bin/hex_mcp_server.rs"
required-features = ["mcp"]

[[example]]
name = "architecture_visualization"
path = "examples/architecture_visualization.rs"

[[example]]
name = "auth_integration"
path = "examples/auth_integration.rs"

[[example]]
name = "composite_profile"
path = "examples/composite_profile.rs"

[[example]]
name = "container_example"
path = "examples/container_example.rs"

[[example]]
name = "cqrs_pattern"
path = "examples/cqrs_pattern.rs"

[[example]]
name = "graph_example"
path = "examples/graph_example.rs"

[[example]]
name = "simple_todo"
path = "examples/simple_todo.rs"

[[example]]
name = "test_serde_errors"
path = "examples/test_serde_errors.rs"

[[example]]
name = "transactional_order"
path = "examples/transactional_order.rs"

[[example]]
name = "tutorial_01_entity"
path = "examples/tutorial_01_entity.rs"

[[example]]
name = "tutorial_01_hello"
path = "examples/tutorial_01_hello.rs"

[[example]]
name = "tutorial_02_ports"
path = "examples/tutorial_02_ports.rs"

[[example]]
name = "tutorial_02_repository"
path = "examples/tutorial_02_repository.rs"

[[example]]
name = "tutorial_03_adapters"
path = "examples/tutorial_03_adapters.rs"

[[example]]
name = "tutorial_04_application"
path = "examples/tutorial_04_application.rs"

[[example]]
name = "visualization_tutorial"
path = "examples/visualization_tutorial.rs"
required-features = ["visualization"]

[[example]]
name = "weather_adapter"
path = "examples/weather_adapter.rs"

[[test]]
name = "container_integration_test"
path = "tests/container_integration_test.rs"

[[test]]
name = "derive_registration_test"
path = "tests/derive_registration_test.rs"

[[test]]
name = "env_controlled_serde_test"
path = "tests/env_controlled_serde_test.rs"

[[test]]
name = "graph_tests"
path = "tests/graph_tests.rs"

[[test]]
name = "integration_test"
path = "tests/integration_test.rs"

[[test]]
name = "macro_tests"
path = "tests/macro_tests.rs"

[[test]]
name = "readme_quickstart_test"
path = "tests/readme_quickstart_test.rs"

[[test]]
name = "trybuild_ui"
path = "tests/trybuild_ui.rs"

[[bench]]
name = "graph_benches"
path = "benches/graph_benches.rs"
harness = false
required-features = ["ai"]

[dependencies.arc-swap]
version = "1"

[dependencies.async-trait]
version = "0.1.89"
optional = true

[dependencies.hexser_macros]
version = "0.6.0"
optional = true

[dependencies.indexmap]
version = "2"
features = ["serde"]

[dependencies.inventory]
version = "0.3"

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.tokio]
version = "1.47.1"
features = ["sync"]
optional = true

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.reqwest]
version = "0.12"
features = [
    "blocking",
    "json",
]
default-features = false

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.serial_test]
version = "3"

[dev-dependencies.tokio]
version = "1.47.1"
features = [
    "sync",
    "macros",
    "rt-multi-thread",
    "time",
]

[dev-dependencies.trybuild]
version = "1.0"

[dev-dependencies.uuid]
version = "1.0"
features = ["v4"]