[package] name = "rash_core" description = "Declarative shell scripting using Rust native bindings" authors.workspace = true edition.workspace = true homepage.workspace = true license-file.workspace = true readme.workspace = true repository.workspace = true rust-version.workspace = true version.workspace = true [lib] name = "rash_core" path = "src/lib.rs" [[bin]] name = "rash" path = "src/bin/rash.rs" [features] default = ["passwordstore"] docs = ["rash_derive/docs", "schemars"] passwordstore = ["prs-lib"] [dependencies] rash_derive = { path = "../rash_derive", version = "2.9.0" } log.workspace = true regex.workspace = true schemars = { workspace = true, optional = true } serde_json.workspace = true serde_yaml.workspace = true byte-unit = "5.1" console = "0.15" minijinja = { version = "2.5.0", features = ["loader", "json", "loop_controls"] } clap = { workspace = true, features = ["std", "color", "derive", "cargo"] } exec = "0.3.1" fern = { version = "0.7.0", features = ["colored"] } ignore = "0.4" # memfd brakes compatibility with kernels < 3.17 ipc-channel = { version = "0.19", features = ["memfd"] } itertools = "0.13" nix = { version = "0.29", features = ["process", "user"] } serde = { version = "1.0", features = ["derive"] } serde-error = "0.1.2" serde_with = "3.8" shlex = "1.3" similar = { version = "2.5", features = ["inline"] } strum = "0.26.2" strum_macros = "0.26.2" tempfile = "3.10" term_size = "1.0.0-beta.2" prs-lib = { version = "0.5.1", optional = true } [target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.jemallocator] version = "0.5.0" [dev-dependencies] criterion = "0.5.1" [[bench]] name = "docopt" harness = false [dev-dependencies.cargo-husky] version = "1.5.0" default-features = false # Disable features which are enabled by default features = ["user-hooks"]