nushell/crates/nu-protocol/Cargo.toml
Stefan Holderbach 971f9ae0f0
Skip strum in regular nu-protocol build (#9445)
# Description
`derive(EnumIter)` is only required to run completeness tests.
Thus make the derive conditional on test and move `strum` and
`strum_macros` to the dev dependencies.

## Is it worth it?

Removing this derive does not change the binary size (checked via `cargo
bloat --crates` from `cargo-bloat`).
Compile time change is below a second so hard to judge based on a single
run of `cargo clean --profile dev; cargo build --timings`
Unsure if this negatively impacts how incremental compilation can
recompile when you switch between `cargo build`/`run` and `cargo test`
in your local workflow.

To get rid of `strum`/`strum_macros` as a proc macro crate we would need
to also remove it from `reedline`.
Further more a crate in the `polars` dependency tree uses `strum`
(curently not as relevant for the 1.0 build).
2023-06-25 20:28:37 +02:00

39 lines
1.1 KiB
TOML

[package]
authors = ["The Nushell Project Developers"]
description = "Nushell's internal protocols, including its abstract syntax tree"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-protocol"
edition = "2021"
license = "MIT"
name = "nu-protocol"
version = "0.81.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
bench = false
[dependencies]
nu-utils = { path = "../nu-utils", version = "0.81.1" }
byte-unit = "4.0"
chrono = { version = "0.4", features = [ "serde", "std", "unstable-locales" ], default-features = false }
chrono-humanize = "0.2"
fancy-regex = "0.11"
indexmap = { version = "1.7" }
lru = "0.10"
miette = { version = "5.9", features = ["fancy-no-backtrace"] }
num-format = "0.4"
serde = { version = "1.0", default-features = false }
serde_json = { version = "1.0", optional = true }
thiserror = "1.0"
typetag = "0.2"
[features]
plugin = ["serde_json"]
[dev-dependencies]
serde_json = "1.0"
strum = "0.24"
strum_macros = "0.24"
nu-test-support = { path = "../nu-test-support", version = "0.81.1" }