[package] name = "git-next" version = { workspace = true } edition = { workspace = true } license = { workspace = true } repository = { workspace = true } description = "git-next, the trunk-based development manager" authors = { workspace = true } rust-version = { workspace = true } documentation = { workspace = true } keywords = { workspace = true } categories = { workspace = true } [features] # default = ["forgejo", "github"] default = ["forgejo", "github", "tui"] forgejo = ["git-next-forge-forgejo"] github = ["git-next-forge-github"] tui = ["ratatui", "directories", "lazy_static", "tui-scrollview", "regex", "chrono"] [dependencies] git-next-core = { workspace = true } git-next-forge-forgejo = { workspace = true, optional = true } git-next-forge-github = { workspace = true, optional = true } # TUI ratatui = { workspace = true, optional = true } directories = { workspace = true, optional = true } lazy_static = { workspace = true, optional = true } color-eyre = { workspace = true } tui-scrollview = { workspace = true, optional = true } regex = { workspace = true, optional = true } chrono = { workspace = true, optional = true } # CLI parsing clap = { workspace = true } # fs/network kxio = { workspace = true } # logging tracing = { workspace = true } tracing-subscriber = { workspace = true } tracing-error.workspace = true # Conventional Commit check git-conventional = { workspace = true } # TOML parsing toml = { workspace = true } # Actors kameo = { workspace = true } tokio = { workspace = true } # boilerplate bon = { workspace = true } derive_more = { workspace = true } derive-with = { workspace = true } anyhow = { workspace = true } thiserror = { workspace = true } # Webhooks serde_json = { workspace = true } ulid = { workspace = true } time = { workspace = true } secrecy = { workspace = true } standardwebhooks = { workspace = true } bytes = { workspace = true } warp = { workspace = true } # file watcher (linux) notify = { workspace = true } # email lettre = { workspace = true } sendmail = { workspace = true } # desktop notifications notifica = { workspace = true } [dev-dependencies] # Testing assert2 = { workspace = true } test-log = { workspace = true } rand = { workspace = true } pretty_assertions = { workspace = true } mockall = { workspace = true } rstest = { workspace = true } [lints.clippy] nursery = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 } unwrap_used = "warn" expect_used = "warn" [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }