[package] name = "syrette" version = "0.5.1" license = "MIT OR Apache-2.0" authors = ["HampusM "] description = "The convenient dependency injection framework" repository = "https://github.com/HampusMat/Syrette" keywords = ["di", "dependency-injection", "ioc", "inversion-of-control"] edition = "2021" rust-version = "1.62.1" exclude = ["/.chglog", "/.circleci", "rustfmt.toml"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "doc_cfg", "--html-in-header", "docs-style.html"] [features] default = ["prevent-circular"] factory = ["syrette_macros/factory"] prevent-circular = ["syrette_macros/prevent-circular"] async = ["dep:async-trait", "syrette_macros/async"] [[example]] name = "factory" required-features = ["factory"] [[example]] name = "with-3rd-party" required-features = ["factory"] [[example]] name = "async" required-features = ["async", "factory"] [[example]] name = "async-factory" required-features = ["async", "factory"] [dependencies] syrette_macros = { path = "./macros", version = "0.5.1" } linkme = "0.3.0" once_cell = "1.4" ahash = "0.7.6" thiserror = "1.0.32" strum = "0.24.1" strum_macros = "0.24.3" paste = "1.0.8" async-trait = { version = "0.1.57", optional = true } [dev_dependencies] mockall = "0.11.4" anyhow = "1.0.62" third-party-lib = { path = "./examples/with-3rd-party/third-party-lib" } tokio = { version = "1.20.1", features = ["macros", "rt-multi-thread", "time"] } [workspace] members = [ "macros", "examples/with-3rd-party/third-party-lib", ]