[package]
name = "watchexec-cli"
version = "2.3.3"
authors = ["Félix Saparelli <felix@passcod.name>", "Matt Green <mattgreenrocks@gmail.com>"]
license = "Apache-2.0"
description = "Executes commands in response to file modifications"
keywords = ["watcher", "filesystem", "cli", "watchexec"]
categories = ["command-line-utilities"]
documentation = "https://watchexec.github.io/docs/#watchexec"
homepage = "https://watchexec.github.io"
repository = "https://github.com/watchexec/watchexec"
readme = "README.md"
edition = "2021"
default-run = "watchexec"
[[bin]]
name = "watchexec"
path = "src/main.rs"
[dependencies]
argfile = "0.2.0"
chrono = "0.4.31"
clap_complete = "4.5.44"
clap_complete_nushell = "4.4.2"
clap_mangen = "0.2.15"
clearscreen = "4.0.1"
dashmap = "6.1.0"
dirs = "6.0.0"
dunce = "1.0.4"
foldhash = "0.1.5"
futures = "0.3.29"
humantime = "2.1.0"
indexmap = "2.10.0"
jaq-core = "2.1.0"
jaq-json = { version = "1.1.0", features = ["serde_json"] }
jaq-std = "2.1.0"
notify-rust = "4.11.7"
serde_json = "1.0.138"
tempfile = "3.16.0"
termcolor = "1.4.0"
tracing = "0.1.40"
tracing-appender = "0.2.3"
which = "8.0.0"
[dependencies.blake3]
version = "1.3.3"
features = ["rayon"]
[dependencies.clap]
version = "4.4.7"
features = ["cargo", "derive", "env", "wrap_help"]
[dependencies.console-subscriber]
version = "0.5.0"
optional = true
[dependencies.eyra]
version = "0.22.0"
features = ["log", "env_logger"]
optional = true
[dependencies.ignore-files]
version = "3.0.5"
path = "../ignore-files"
[dependencies.miette]
version = "7.5.0"
features = ["fancy"]
[dependencies.pid1]
version = "0.1.1"
optional = true
[dependencies.project-origins]
version = "1.4.2"
path = "../project-origins"
[dependencies.watchexec]
version = "8.0.1"
path = "../lib"
[dependencies.watchexec-events]
version = "6.0.0"
path = "../events"
features = ["serde"]
[dependencies.watchexec-signals]
version = "5.0.1"
path = "../signals"
[dependencies.watchexec-filterer-globset]
version = "8.0.0"
path = "../filterer/globset"
[dependencies.tokio]
version = "1.33.0"
features = [
"fs",
"io-std",
"process",
"net",
"rt",
"rt-multi-thread",
"signal",
"sync",
]
[dependencies.tracing-subscriber]
version = "0.3.6"
features = [
"env-filter",
"fmt",
"json",
"tracing-log",
"ansi",
]
[target.'cfg(unix)'.dependencies]
libc = "0.2.74"
nix = { version = "0.30.1", features = ["net"] }
[target.'cfg(windows)'.dependencies]
socket2 = "0.6.1"
uuid = { version = "1.13.1", features = ["v4"] }
windows-sys = { version = ">= 0.59.0, < 0.62.0", features = ["Win32_Networking_WinSock"] }
[target.'cfg(target_env = "musl")'.dependencies]
mimalloc = "0.1.39"
[build-dependencies]
embed-resource = "3.0.1"
[build-dependencies.bosion]
version = "2.0.0"
path = "../bosion"
[dev-dependencies]
tracing-test = "0.2.4"
uuid = { workspace = true, features = [ "v4", "fast-rng" ] }
rand = { workspace = true }
[features]
default = ["pid1"]
eyra = ["dep:eyra"]
pid1 = ["dep:pid1"]
pid1-withlog = ["pid1"]
dev-console = ["dep:console-subscriber"]
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/watchexec-{ version }-{ target }.{ archive-format }"
bin-dir = "watchexec-{ version }-{ target }/{ bin }{ binary-ext }"
pkg-fmt = "txz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
[package.metadata.deb]
maintainer = "Félix Saparelli <felix@passcod.name>"
license-file = ["../../LICENSE", "0"]
section = "utility"
depends = "libc6, libgcc-s1"
assets = [
["../../target/release/watchexec", "usr/bin/watchexec", "755"],
["README.md", "usr/share/doc/watchexec/README", "644"],
["../../doc/watchexec.1.md", "usr/share/doc/watchexec/watchexec.1.md", "644"],
["../../doc/watchexec.1", "usr/share/man/man1/watchexec.1", "644"],
["../../completions/bash", "usr/share/bash-completion/completions/watchexec", "644"],
["../../completions/fish", "usr/share/fish/vendor_completions.d/watchexec.fish", "644"],
["../../completions/zsh", "usr/share/zsh/site-functions/_watchexec", "644"],
["../../doc/logo.svg", "usr/share/icons/hicolor/scalable/apps/watchexec.svg", "644"],
]
[package.metadata.generate-rpm]
assets = [
{ source = "../../target/release/watchexec", dest = "/usr/bin/watchexec", mode = "755" },
{ source = "README.md", dest = "/usr/share/doc/watchexec/README", mode = "644", doc = true },
{ source = "../../doc/watchexec.1.md", dest = "/usr/share/doc/watchexec/watchexec.1.md", mode = "644", doc = true },
{ source = "../../doc/watchexec.1", dest = "/usr/share/man/man1/watchexec.1", mode = "644" },
{ source = "../../completions/bash", dest = "/usr/share/bash-completion/completions/watchexec", mode = "644" },
{ source = "../../completions/fish", dest = "/usr/share/fish/vendor_completions.d/watchexec.fish", mode = "644" },
{ source = "../../completions/zsh", dest = "/usr/share/zsh/site-functions/_watchexec", mode = "644" },
{ source = "../../doc/logo.svg", dest = "/usr/share/icons/hicolor/scalable/apps/watchexec.svg", mode = "644" },
]
auto-req = "disabled"
[package.metadata.generate-rpm.requires]
glibc = "*"
libgcc = "*"
[lints.clippy]
nursery = "warn"
pedantic = "warn"
module_name_repetitions = "allow"
similar_names = "allow"
cognitive_complexity = "allow"
too_many_lines = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
default_trait_access = "allow"
enum_glob_use = "allow"
option_if_let_else = "allow"
blocks_in_conditions = "allow"
doc_markdown = "allow"