[package]
authors.workspace = true
description = "Nushell's internal protocols, including its abstract syntax tree"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-protocol"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
name = "nu-protocol"
version.workspace = true
autotests = false
[lib]
bench = false
harness = false
[[test]]
name = "tests"
path = "tests/main.rs"
harness = false
[lints]
workspace = true
[dependencies]
nu-derive-value.workspace = true
nu-glob.workspace = true
nu-path.workspace = true
nu-system.workspace = true
nu-utils.workspace = true
nu-experimental.workspace = true
nu-config.workspace = true
brotli = { workspace = true, optional = true }
bstr = { workspace = true }
bytes = { workspace = true }
chrono = { workspace = true, features = ["serde", "std", "unstable-locales"], default-features = false }
chrono-humanize = { workspace = true }
dirs = { workspace = true }
derive_more = { workspace = true, features = ["debug"] }
fancy-regex = { workspace = true }
heck = { workspace = true }
humantime = { workspace = true }
indexmap = { workspace = true }
lru = { workspace = true }
memchr = { workspace = true }
miette = { workspace = true, features = ["fancy-no-backtrace"] }
num-format = { workspace = true }
rmp-serde = { workspace = true, optional = true }
serde = { workspace = true }
serde_json = { workspace = true }
strum = { workspace = true }
strum_macros = { workspace = true }
thiserror = { workspace = true }
typetag = "0.2"
os_pipe = { workspace = true, optional = true, features = ["io_safety"] }
log = { workspace = true }
semver = { version = "1.0", features = ["serde"] }
web-time = { workspace = true }
winnow = { workspace = true }
[target.'cfg(unix)'.dependencies]
nix = { workspace = true, default-features = false, features = ["signal"] }
[target.'cfg(windows)'.dependencies]
dirs-sys = { workspace = true }
windows-sys = { workspace = true, features = ["Win32_UI_Shell"] }
windows = { workspace = true }
[features]
default = ["os"]
os = [
"nu-utils/os",
"os_pipe",
]
plugin = [
"brotli",
"nu-config/plugin",
"os",
"rmp-serde",
]
sqlite = []
[dev-dependencies]
nu-test-support = { path = "../nu-test-support", features = ["os"] }
nu-utils.workspace = true
indoc = { workspace = true }
os_pipe = { workspace = true }
pretty_assertions = { workspace = true }
rstest = { workspace = true }
serde_json = { workspace = true }
tempfile = { workspace = true }
[package.metadata.docs.rs]
all-features = true