mirror of
https://github.com/nushell/nushell.git
synced 2024-11-22 16:33:37 +01:00
d2213d18fa
* Playground infraestructure (tests, etc) additions. A few things to note: * Nu can be started with a custom configuration file (`nu --config-file /path/to/sample_config.toml`). Useful for mocking the configuration on test runs. * When given a custom configuration file Nu will save any changes to the file supplied appropiately. * The `$nu.config-path` variable either shows the default configuration file (or the custom one, if given) * We can now run end to end tests with finer grained control (currently, since this is baseline work, standard out) This will allow to check things like exit status, assert the contents with a format, etc) * Remove (for another PR)
269 lines
7.9 KiB
TOML
269 lines
7.9 KiB
TOML
[package]
|
|
authors = ["The Nu Project Contributors"]
|
|
default-run = "nu"
|
|
description = "A new type of shell"
|
|
documentation = "https://www.nushell.sh/book/"
|
|
edition = "2018"
|
|
exclude = ["images"]
|
|
homepage = "https://www.nushell.sh"
|
|
license = "MIT"
|
|
name = "nu"
|
|
readme = "README.md"
|
|
repository = "https://github.com/nushell/nushell"
|
|
version = "0.28.0"
|
|
|
|
[workspace]
|
|
members = ["crates/*/"]
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
nu-cli = { version = "0.28.0", path = "./crates/nu-cli", default-features = false }
|
|
nu-command = { version = "0.28.0", path = "./crates/nu-command" }
|
|
nu-data = { version = "0.28.0", path = "./crates/nu-data" }
|
|
nu-engine = { version = "0.28.0", path = "./crates/nu-engine" }
|
|
nu-errors = { version = "0.28.0", path = "./crates/nu-errors" }
|
|
nu-parser = { version = "0.28.0", path = "./crates/nu-parser" }
|
|
nu-plugin = { version = "0.28.0", path = "./crates/nu-plugin" }
|
|
nu-protocol = { version = "0.28.0", path = "./crates/nu-protocol" }
|
|
nu-source = { version = "0.28.0", path = "./crates/nu-source" }
|
|
nu-value-ext = { version = "0.28.0", path = "./crates/nu-value-ext" }
|
|
|
|
nu_plugin_binaryview = { version = "0.28.0", path = "./crates/nu_plugin_binaryview", optional = true }
|
|
nu_plugin_chart = { version = "0.28.0", path = "./crates/nu_plugin_chart", optional = true }
|
|
nu_plugin_fetch = { version = "0.28.0", path = "./crates/nu_plugin_fetch", optional = true }
|
|
nu_plugin_from_bson = { version = "0.28.0", path = "./crates/nu_plugin_from_bson", optional = true }
|
|
nu_plugin_from_sqlite = { version = "0.28.0", path = "./crates/nu_plugin_from_sqlite", optional = true }
|
|
nu_plugin_inc = { version = "0.28.0", path = "./crates/nu_plugin_inc", optional = true }
|
|
nu_plugin_match = { version = "0.28.0", path = "./crates/nu_plugin_match", optional = true }
|
|
nu_plugin_post = { version = "0.28.0", path = "./crates/nu_plugin_post", optional = true }
|
|
nu_plugin_ps = { version = "0.28.0", path = "./crates/nu_plugin_ps", optional = true }
|
|
nu_plugin_s3 = { version = "0.28.0", path = "./crates/nu_plugin_s3", optional = true }
|
|
nu_plugin_selector = { version = "0.28.0", path = "./crates/nu_plugin_selector", optional = true }
|
|
nu_plugin_start = { version = "0.28.0", path = "./crates/nu_plugin_start", optional = true }
|
|
nu_plugin_sys = { version = "0.28.0", path = "./crates/nu_plugin_sys", optional = true }
|
|
nu_plugin_textview = { version = "0.28.0", path = "./crates/nu_plugin_textview", optional = true }
|
|
nu_plugin_to_bson = { version = "0.28.0", path = "./crates/nu_plugin_to_bson", optional = true }
|
|
nu_plugin_to_sqlite = { version = "0.28.0", path = "./crates/nu_plugin_to_sqlite", optional = true }
|
|
nu_plugin_tree = { version = "0.28.0", path = "./crates/nu_plugin_tree", optional = true }
|
|
nu_plugin_xpath = { version = "0.28.0", path = "./crates/nu_plugin_xpath", optional = true }
|
|
|
|
# Required to bootstrap the main binary
|
|
clap = "2.33.3"
|
|
ctrlc = { version = "3.1.7", optional = true }
|
|
futures = { version = "0.3.12", features = ["compat", "io-compat"] }
|
|
itertools = "0.10.0"
|
|
log = "0.4.14"
|
|
pretty_env_logger = "0.4.0"
|
|
|
|
[dev-dependencies]
|
|
nu-test-support = { version = "0.28.0", path = "./crates/nu-test-support" }
|
|
dunce = "1.0.1"
|
|
serial_test = "0.5.1"
|
|
hamcrest2 = "0.3.0"
|
|
|
|
|
|
[build-dependencies]
|
|
|
|
[features]
|
|
ctrlc-support = ["nu-cli/ctrlc", "nu-command/ctrlc"]
|
|
directories-support = [
|
|
"nu-cli/directories",
|
|
"nu-cli/dirs",
|
|
"nu-command/directories",
|
|
"nu-command/dirs",
|
|
"nu-data/directories",
|
|
"nu-data/dirs",
|
|
"nu-engine/dirs",
|
|
]
|
|
ptree-support = ["nu-cli/ptree", "nu-command/ptree"]
|
|
rustyline-support = ["nu-cli/rustyline-support", "nu-command/rustyline-support"]
|
|
term-support = ["nu-cli/term", "nu-command/term"]
|
|
uuid-support = ["nu-cli/uuid_crate", "nu-command/uuid_crate"]
|
|
which-support = [
|
|
"nu-cli/ichwh",
|
|
"nu-cli/which",
|
|
"nu-command/ichwh",
|
|
"nu-command/which",
|
|
"nu-engine/which"
|
|
]
|
|
|
|
default = [
|
|
"nu-cli/shadow-rs",
|
|
"sys",
|
|
"ps",
|
|
"textview",
|
|
"inc",
|
|
"directories-support",
|
|
"ctrlc-support",
|
|
"which-support",
|
|
"ptree-support",
|
|
"term-support",
|
|
"uuid-support",
|
|
"rustyline-support",
|
|
"match",
|
|
"post",
|
|
"fetch",
|
|
"zip-support",
|
|
]
|
|
|
|
stable = ["default"]
|
|
extra = [
|
|
"default",
|
|
"binaryview",
|
|
"tree",
|
|
"clipboard-cli",
|
|
"trash-support",
|
|
"start",
|
|
"bson",
|
|
"sqlite",
|
|
"s3",
|
|
"chart",
|
|
"xpath",
|
|
"selector",
|
|
]
|
|
|
|
wasi = ["inc", "match", "ptree-support", "match", "tree", "rustyline-support"]
|
|
|
|
trace = ["nu-parser/trace"]
|
|
|
|
# Stable (Default)
|
|
fetch = ["nu_plugin_fetch"]
|
|
inc = ["nu_plugin_inc"]
|
|
match = ["nu_plugin_match"]
|
|
post = ["nu_plugin_post"]
|
|
ps = ["nu_plugin_ps"]
|
|
sys = ["nu_plugin_sys"]
|
|
textview = ["nu_plugin_textview"]
|
|
zip-support = ["nu-cli/zip", "nu-command/zip"]
|
|
|
|
# Extra
|
|
binaryview = ["nu_plugin_binaryview"]
|
|
bson = ["nu_plugin_from_bson", "nu_plugin_to_bson"]
|
|
chart = ["nu_plugin_chart"]
|
|
clipboard-cli = ["nu-cli/clipboard-cli", "nu-command/clipboard-cli"]
|
|
s3 = ["nu_plugin_s3"]
|
|
selector = ["nu_plugin_selector"]
|
|
sqlite = ["nu_plugin_from_sqlite", "nu_plugin_to_sqlite"]
|
|
start = ["nu_plugin_start"]
|
|
trash-support = [
|
|
"nu-cli/trash-support",
|
|
"nu-command/trash-support",
|
|
"nu-engine/trash-support",
|
|
]
|
|
tree = ["nu_plugin_tree"]
|
|
xpath = ["nu_plugin_xpath"]
|
|
#This is disabled in extra for now
|
|
table-pager = ["nu-command/table-pager"]
|
|
|
|
[profile.release]
|
|
#strip = "symbols" #Couldn't get working +nightly
|
|
codegen-units = 1 #Reduce parallel codegen units
|
|
lto = true #Link Time Optimization
|
|
opt-level = 'z' #Optimize for size
|
|
|
|
# Core plugins that ship with `cargo install nu` by default
|
|
# Currently, Cargo limits us to installing only one binary
|
|
# unless we use [[bin]], so we use this as a workaround
|
|
[[bin]]
|
|
name = "nu_plugin_core_textview"
|
|
path = "src/plugins/nu_plugin_core_textview.rs"
|
|
required-features = ["textview"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_inc"
|
|
path = "src/plugins/nu_plugin_core_inc.rs"
|
|
required-features = ["inc"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_ps"
|
|
path = "src/plugins/nu_plugin_core_ps.rs"
|
|
required-features = ["ps"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_sys"
|
|
path = "src/plugins/nu_plugin_core_sys.rs"
|
|
required-features = ["sys"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_fetch"
|
|
path = "src/plugins/nu_plugin_core_fetch.rs"
|
|
required-features = ["fetch"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_match"
|
|
path = "src/plugins/nu_plugin_core_match.rs"
|
|
required-features = ["match"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_core_post"
|
|
path = "src/plugins/nu_plugin_core_post.rs"
|
|
required-features = ["post"]
|
|
|
|
# Extra plugins
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_binaryview"
|
|
path = "src/plugins/nu_plugin_extra_binaryview.rs"
|
|
required-features = ["binaryview"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_tree"
|
|
path = "src/plugins/nu_plugin_extra_tree.rs"
|
|
required-features = ["tree"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_start"
|
|
path = "src/plugins/nu_plugin_extra_start.rs"
|
|
required-features = ["start"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_s3"
|
|
path = "src/plugins/nu_plugin_extra_s3.rs"
|
|
required-features = ["s3"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_chart_bar"
|
|
path = "src/plugins/nu_plugin_extra_chart_bar.rs"
|
|
required-features = ["chart"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_chart_line"
|
|
path = "src/plugins/nu_plugin_extra_chart_line.rs"
|
|
required-features = ["chart"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_xpath"
|
|
path = "src/plugins/nu_plugin_extra_xpath.rs"
|
|
required-features = ["xpath"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_selector"
|
|
path = "src/plugins/nu_plugin_extra_selector.rs"
|
|
required-features = ["selector"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_from_bson"
|
|
path = "src/plugins/nu_plugin_extra_from_bson.rs"
|
|
required-features = ["bson"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_to_bson"
|
|
path = "src/plugins/nu_plugin_extra_to_bson.rs"
|
|
required-features = ["bson"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_from_sqlite"
|
|
path = "src/plugins/nu_plugin_extra_from_sqlite.rs"
|
|
required-features = ["sqlite"]
|
|
|
|
[[bin]]
|
|
name = "nu_plugin_extra_to_sqlite"
|
|
path = "src/plugins/nu_plugin_extra_to_sqlite.rs"
|
|
required-features = ["sqlite"]
|
|
|
|
# Main nu binary
|
|
[[bin]]
|
|
name = "nu"
|
|
path = "src/main.rs"
|