[package]
edition = "2021"
name = "command-stream"
version = "0.9.5"
authors = ["link-foundation"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Modern shell command execution library with streaming, async iteration, and event support"
readme = "README.md"
keywords = [
"shell",
"command",
"streaming",
"async",
"process",
]
categories = [
"command-line-utilities",
"asynchronous",
]
license = "Unlicense"
repository = "https://github.com/link-foundation/command-stream"
[features]
default = []
json = [
"serde",
"serde_json",
]
[lib]
name = "command_stream"
path = "src/lib.rs"
[[bin]]
name = "command-stream"
path = "src/main.rs"
[[test]]
name = "builtin_commands"
path = "tests/builtin_commands.rs"
[[test]]
name = "events"
path = "tests/events.rs"
[[test]]
name = "macros"
path = "tests/macros.rs"
[[test]]
name = "pipeline"
path = "tests/pipeline.rs"
[[test]]
name = "process_runner"
path = "tests/process_runner.rs"
[[test]]
name = "shell_parser"
path = "tests/shell_parser.rs"
[[test]]
name = "state"
path = "tests/state.rs"
[[test]]
name = "stream"
path = "tests/stream.rs"
[[test]]
name = "utils"
path = "tests/utils.rs"
[[test]]
name = "virtual_commands"
path = "tests/virtual_commands.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
version = "0.4"
[dependencies.filetime]
version = "0.2"
[dependencies.glob]
version = "0.3"
[dependencies.libc]
version = "0.2"
[dependencies.nix]
version = "0.29"
features = [
"signal",
"process",
]
[dependencies.once_cell]
version = "1.20"
[dependencies.regex]
version = "1.11"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.43"
features = [
"full",
"process",
"signal",
]
[dependencies.which]
version = "7.0"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.tempfile]
version = "3.14"
[dev-dependencies.tokio-test]
version = "0.4"
[profile.release]
opt-level = 3
lto = true