[package]
build = "build/mod.rs"
description = "A tool for managing git hooks"
documentation = "https://hk.jdx.dev"
edition = "2024"
homepage = "https://hk.jdx.dev"
include = [
  "/src/**/*",
  "/Cargo.toml",
  "/Cargo.lock",
  "/README.md",
  "/LICENSE",
  "/CHANGELOG.md",
  "/pkl",
  "/build/**/*",
  "/settings.toml",
]
license = "MIT"
name = "hk"
repository = "https://github.com/jdx/hk"
rust-version = "1.88.0"
version = "1.45.0"

[[bin]]
name = "generate-docs"
path = "bin/generate_docs.rs"

[dependencies]
arc-swap           = "1"
chrono             = "0.4"
clap               = { version = "4", features = ["derive"] }
clap_usage         = "2"
clx                = "2.0.1"
color-eyre         = "0.6"
console            = "0.16"
dashmap            = "6.1.0"
demand             = "2"
dirs               = "6"
ensembler          = "1.1"
expr-lang          = { version = "1.0.0", features = ["serde"] }
eyre               = "0.6"
git2               = { version = "0.20", features = ["vendored-libgit2"] }
globset            = "0.4"
ignore             = "0.4"
indexmap           = { version = "2", features = ["serde"] }
infer              = "0.19"
is_ci              = "1"
itertools          = "0.14"
libc               = "0.2"
log                = "0.4"
once_cell          = "1"
pklr               = "0.4.2"
regex              = "1"
semver             = "1"
serde              = { version = "1", features = ["derive"] }
serde_json         = { version = "1", features = ["preserve_order"] }
serde_with         = "3"
serde_yaml         = "0.9"
shell-quote        = "0.7"
shell-words        = "1"
similar            = "3"
siphasher          = "1"
strum              = { version = "0.28", features = ["derive"] }
tempfile           = "3"
tera               = "1"
thiserror          = "2"
tokio              = { version = "1", features = ["full", "rt-multi-thread"] }
tokio-util         = "0.7"
toml               = "1.0"
tracing            = "0.1"
tracing-error      = "0.2"
tracing-log        = "0.2"
tracing-serde      = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt"] }
xx                 = { version = "2.5.1", features = ["http", "hash", "rustls", "rustls-native-roots"] }

[build-dependencies]
codegen    = "0.3"
indexmap   = { version = "2", features = ["serde"] }
serde      = { version = "1", features = ["derive"] }
serde_json = "1"
toml       = "1.0"

[dev-dependencies]
clap-sort = "1"

[profile.serious]
inherits = "release"
lto      = true

[package.metadata.release]
pre-release-hook = ["mise", "run", "pre-release", "--version", "{{version}}"]
pre-release-replacements = [
  { file = "pkl/Config.pkl", search = 'min_hk_version = ".*"', replace = 'min_hk_version = "{{version | truncate(length=1)}}.0.0"' },
]

[profile.dev]
debug = 1
