forked from extern/nushell
356e05177c
I wanted to get the infrastructure in place for starters for our *nu-cmd-extra* crate... The plan is to put inside here the following commands... * bits * bytes * math I thought it would be easier to do one at a time as well as get the nu-cmd-extra crate out there on crates.io for this upcoming release... Once this lands the infrastructure will be in place to move over the other noted commands for now... And then add other stuff we do NOT want to be in 1.0.
169 lines
5.2 KiB
TOML
169 lines
5.2 KiB
TOML
[package]
|
|
authors = ["The Nushell Project Developers"]
|
|
build = "scripts/build.rs"
|
|
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-extra",
|
|
"crates/nu-cmd-lang",
|
|
"crates/nu-cmd-dataframe",
|
|
"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-cmd-dataframe = { path = "./crates/nu-cmd-dataframe", version = "0.80.1", optional = true }
|
|
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.2", features = ["bashisms", "sqlite"]}
|
|
reedline = { git = "https://github.com/nushell/reedline.git", features = ["bashisms", "sqlite"], branch = "main"}
|
|
|
|
crossterm = "0.26"
|
|
ctrlc = "3.2"
|
|
log = "0.4"
|
|
miette = { version = "5.9", features = ["fancy-no-backtrace"] }
|
|
serde_json = "1.0"
|
|
simplelog = "0.12"
|
|
time = "0.3"
|
|
|
|
[target.'cfg(not(target_os = "windows"))'.dependencies]
|
|
# Our dependencies don't use OpenSSL on Windows
|
|
openssl = { version = "0.10", features = ["vendored"], optional = true }
|
|
signal-hook = { version = "0.3", 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"
|
|
assert_cmd = "2.0"
|
|
criterion = "0.4"
|
|
pretty_assertions = "1.0"
|
|
serial_test = "1.0"
|
|
rstest = { version = "0.17", default-features = false }
|
|
|
|
[features]
|
|
plugin = [
|
|
"nu-plugin",
|
|
"nu-cli/plugin",
|
|
"nu-parser/plugin",
|
|
"nu-command/plugin",
|
|
"nu-protocol/plugin",
|
|
"nu-engine/plugin",
|
|
]
|
|
default = ["plugin", "which-support", "trash-support", "sqlite"]
|
|
stable = ["default"]
|
|
wasi = ["nu-cmd-lang/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", "nu-cmd-lang/static-link-openssl"]
|
|
|
|
# Stable (Default)
|
|
which-support = ["nu-command/which-support", "nu-cmd-lang/which-support"]
|
|
trash-support = ["nu-command/trash-support", "nu-cmd-lang/trash-support"]
|
|
|
|
# Extra feature for nushell
|
|
extra = ["nu-command/extra"]
|
|
|
|
# Dataframe feature for nushell
|
|
dataframe = ["nu-command/dataframe", "nu-cmd-lang/dataframe"]
|
|
|
|
# SQLite commands for nushell
|
|
sqlite = ["nu-command/sqlite", "nu-cmd-lang/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
|