forked from extern/nushell
# Description This is a test PR to see if we can remove dependencies. The crates to remove was generated from cargo machete. If ci works, I'll update the PR to remove deps instead of comment them out. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect -A clippy::result_large_err` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass - `cargo run -- crates/nu-std/tests/run.nu` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. -->
165 lines
4.9 KiB
TOML
165 lines
4.9 KiB
TOML
[package]
|
|
authors = ["The Nushell Project Developers"]
|
|
default-run = "nu"
|
|
description = "A new type of shell"
|
|
documentation = "https://www.nushell.sh/book/"
|
|
edition = "2021"
|
|
exclude = ["images"]
|
|
homepage = "https://www.nushell.sh"
|
|
license = "MIT"
|
|
name = "nu"
|
|
repository = "https://github.com/nushell/nushell"
|
|
rust-version = "1.60"
|
|
version = "0.80.1"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[package.metadata.binstall]
|
|
pkg-url = "{ repo }/releases/download/{ version }/{ name }-{ version }-{ target }.{ archive-format }"
|
|
pkg-fmt = "tgz"
|
|
|
|
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
|
|
pkg-fmt = "zip"
|
|
|
|
[workspace]
|
|
members = [
|
|
"crates/nu-cli",
|
|
"crates/nu-engine",
|
|
"crates/nu-parser",
|
|
"crates/nu-system",
|
|
"crates/nu-cmd-lang",
|
|
"crates/nu-command",
|
|
"crates/nu-protocol",
|
|
"crates/nu-plugin",
|
|
"crates/nu_plugin_inc",
|
|
"crates/nu_plugin_gstat",
|
|
"crates/nu_plugin_example",
|
|
"crates/nu_plugin_query",
|
|
"crates/nu_plugin_custom_values",
|
|
"crates/nu_plugin_formats",
|
|
"crates/nu-std",
|
|
"crates/nu-utils",
|
|
]
|
|
|
|
[dependencies]
|
|
nu-cli = { path = "./crates/nu-cli", version = "0.80.1" }
|
|
nu-color-config = { path = "./crates/nu-color-config", version = "0.80.1" }
|
|
nu-cmd-lang = { path = "./crates/nu-cmd-lang", version = "0.80.1" }
|
|
nu-command = { path = "./crates/nu-command", version = "0.80.1" }
|
|
nu-engine = { path = "./crates/nu-engine", version = "0.80.1" }
|
|
nu-json = { path = "./crates/nu-json", version = "0.80.1" }
|
|
nu-parser = { path = "./crates/nu-parser", version = "0.80.1" }
|
|
nu-path = { path = "./crates/nu-path", version = "0.80.1" }
|
|
nu-plugin = { path = "./crates/nu-plugin", optional = true, version = "0.80.1" }
|
|
nu-pretty-hex = { path = "./crates/nu-pretty-hex", version = "0.80.1" }
|
|
nu-protocol = { path = "./crates/nu-protocol", version = "0.80.1" }
|
|
nu-system = { path = "./crates/nu-system", version = "0.80.1" }
|
|
nu-table = { path = "./crates/nu-table", version = "0.80.1" }
|
|
nu-term-grid = { path = "./crates/nu-term-grid", version = "0.80.1" }
|
|
nu-std = { path = "./crates/nu-std", version = "0.80.1" }
|
|
nu-utils = { path = "./crates/nu-utils", version = "0.80.1" }
|
|
nu-ansi-term = "0.47.0"
|
|
reedline = { version = "0.19.1", features = ["bashisms", "sqlite"]}
|
|
|
|
crossterm = "0.26"
|
|
ctrlc = "3.2.1"
|
|
log = "0.4"
|
|
miette = { version = "5.7.0", features = ["fancy-no-backtrace"] }
|
|
serde_json = "1.0"
|
|
simplelog = "0.12.0"
|
|
time = "0.3.12"
|
|
|
|
[target.'cfg(not(target_os = "windows"))'.dependencies]
|
|
# Our dependencies don't use OpenSSL on Windows
|
|
openssl = { version = "0.10.48", features = ["vendored"], optional = true }
|
|
signal-hook = { version = "0.3.14", default-features = false }
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
winresource = "0.1"
|
|
|
|
[target.'cfg(target_family = "unix")'.dependencies]
|
|
nix = { version = "0.26", default-features = false, features = [
|
|
"signal",
|
|
"process",
|
|
"fs",
|
|
"term",
|
|
] }
|
|
atty = "0.2"
|
|
|
|
[dev-dependencies]
|
|
nu-test-support = { path = "./crates/nu-test-support", version = "0.80.1" }
|
|
tempfile = "3.5.0"
|
|
assert_cmd = "2.0.2"
|
|
criterion = "0.4"
|
|
pretty_assertions = "1.0.0"
|
|
serial_test = "1.0.0"
|
|
rstest = { version = "0.17.0", default-features = false }
|
|
|
|
[features]
|
|
plugin = [
|
|
"nu-plugin",
|
|
"nu-cli/plugin",
|
|
"nu-parser/plugin",
|
|
"nu-command/plugin",
|
|
"nu-protocol/plugin",
|
|
"nu-engine/plugin",
|
|
]
|
|
# extra used to be more useful but now it's the same as default. Leaving it in for backcompat with existing build scripts
|
|
extra = ["default"]
|
|
default = ["plugin", "which-support", "trash-support", "sqlite"]
|
|
stable = ["default"]
|
|
wasi = []
|
|
|
|
# Enable to statically link OpenSSL; otherwise the system version will be used. Not enabled by default because it takes a while to build
|
|
static-link-openssl = ["dep:openssl"]
|
|
|
|
# Stable (Default)
|
|
which-support = ["nu-command/which-support"]
|
|
trash-support = ["nu-command/trash-support"]
|
|
|
|
# Extra
|
|
|
|
# Dataframe feature for nushell
|
|
dataframe = ["nu-command/dataframe"]
|
|
|
|
# SQLite commands for nushell
|
|
sqlite = ["nu-command/sqlite"]
|
|
|
|
[profile.release]
|
|
opt-level = "s" # Optimize for size
|
|
strip = "debuginfo"
|
|
lto = "thin"
|
|
|
|
# build with `cargo build --profile profiling`
|
|
# to analyze performance with tooling like linux perf
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
strip = false
|
|
debug = true
|
|
|
|
# build with `cargo build --profile ci`
|
|
# to analyze performance with tooling like linux perf
|
|
[profile.ci]
|
|
inherits = "dev"
|
|
strip = false
|
|
debug = false
|
|
|
|
# Main nu binary
|
|
[[bin]]
|
|
name = "nu"
|
|
path = "src/main.rs"
|
|
bench = false
|
|
|
|
# To use a development version of a dependency please use a global override here
|
|
# changing versions in each sub-crate of the workspace is tedious
|
|
[patch.crates-io]
|
|
# reedline = { git = "https://github.com/nushell/reedline.git", branch = "main"}
|
|
# nu-ansi-term = {git = "https://github.com/nushell/nu-ansi-term.git", branch = "main"}
|
|
|
|
# Criterion benchmarking setup
|
|
# Run all benchmarks with `cargo bench`
|
|
# Run individual benchmarks like `cargo bench -- <regex>` e.g. `cargo bench -- parse`
|
|
[[bench]]
|
|
name = "benchmarks"
|
|
harness = false
|