mirror of
https://github.com/nushell/nushell.git
synced 2025-02-23 05:51:28 +01:00
# Description Pre-cratification of `nu-command` we added tests that covered the whole command set to ensure consistent documentation style choices and that the search terms which are added are not uselessly redundant. These tests are now moved into the suite of the main binary to truly cover all commands. - **Move parser quickcheck "fuzz" to `nu-cmd-lang`** - **Factor out creation of full engine state for tests** - **Move all-command tests to main context creation** - **Fix all descriptions** - **Fix search term duplicate** # User-Facing Changes As a result I had to fix a few command argument descriptions. (Doesn't mean I fully stand behind this choice, but) positionals (rest/required/optional) and top level descriptions should start with a capital letter and end with a period. This is not enforced for flags. # Tests + Formatting Furthermore I moved our poor-peoples-fuzzer that runs in CI with `quicktest` over the parser to `nu-cmd-lang` reducing its command set to just the keywords (similar to https://github.com/nushell/nushell/pull/15036). Thus this should also run slightly faster (maybe a slight parallel build cost due to earlier dependency on quicktest)
203 lines
6.8 KiB
TOML
203 lines
6.8 KiB
TOML
[package]
|
|
authors = ["The Nushell Project Developers"]
|
|
description = "Nushell's built-in commands"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
name = "nu-command"
|
|
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-command"
|
|
version = "0.102.1"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
bench = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
nu-cmd-base = { path = "../nu-cmd-base", version = "0.102.1" }
|
|
nu-color-config = { path = "../nu-color-config", version = "0.102.1" }
|
|
nu-engine = { path = "../nu-engine", version = "0.102.1", default-features = false }
|
|
nu-glob = { path = "../nu-glob", version = "0.102.1" }
|
|
nu-json = { path = "../nu-json", version = "0.102.1" }
|
|
nu-parser = { path = "../nu-parser", version = "0.102.1" }
|
|
nu-path = { path = "../nu-path", version = "0.102.1" }
|
|
nu-pretty-hex = { path = "../nu-pretty-hex", version = "0.102.1" }
|
|
nu-protocol = { path = "../nu-protocol", version = "0.102.1", default-features = false }
|
|
nu-system = { path = "../nu-system", version = "0.102.1" }
|
|
nu-table = { path = "../nu-table", version = "0.102.1" }
|
|
nu-term-grid = { path = "../nu-term-grid", version = "0.102.1" }
|
|
nu-utils = { path = "../nu-utils", version = "0.102.1", default-features = false }
|
|
nu-ansi-term = { workspace = true }
|
|
nuon = { path = "../nuon", version = "0.102.1" }
|
|
|
|
alphanumeric-sort = { workspace = true }
|
|
base64 = { workspace = true }
|
|
bracoxide = { workspace = true }
|
|
brotli = { workspace = true }
|
|
byteorder = { workspace = true }
|
|
bytesize = { workspace = true }
|
|
calamine = { workspace = true, features = ["dates"] }
|
|
chardetng = { workspace = true }
|
|
chrono = { workspace = true, features = ["std", "unstable-locales", "clock"], default-features = false }
|
|
chrono-humanize = { workspace = true }
|
|
chrono-tz = { workspace = true }
|
|
crossterm = { workspace = true, optional = true }
|
|
csv = { workspace = true }
|
|
devicons = { workspace = true }
|
|
dialoguer = { workspace = true, default-features = false, features = ["fuzzy-select"] }
|
|
digest = { workspace = true, default-features = false }
|
|
dtparse = { workspace = true }
|
|
encoding_rs = { workspace = true }
|
|
fancy-regex = { workspace = true }
|
|
filesize = { workspace = true }
|
|
filetime = { workspace = true }
|
|
human-date-parser = { workspace = true }
|
|
indexmap = { workspace = true }
|
|
indicatif = { workspace = true }
|
|
itertools = { workspace = true }
|
|
log = { workspace = true }
|
|
lscolors = { workspace = true, default-features = false, features = ["nu-ansi-term"] }
|
|
md5 = { workspace = true }
|
|
mime = { workspace = true }
|
|
mime_guess = { workspace = true }
|
|
multipart-rs = { workspace = true, optional = true }
|
|
native-tls = { workspace = true, optional = true }
|
|
notify-debouncer-full = { workspace = true, default-features = false, optional = true }
|
|
num-format = { workspace = true }
|
|
num-traits = { workspace = true }
|
|
oem_cp = { workspace = true }
|
|
open = { workspace = true, optional = true }
|
|
os_pipe = { workspace = true, optional = true }
|
|
pathdiff = { workspace = true }
|
|
percent-encoding = { workspace = true }
|
|
print-positions = { workspace = true }
|
|
quick-xml = { workspace = true }
|
|
rand = { workspace = true, optional = true }
|
|
getrandom = { workspace = true, optional = true }
|
|
rayon = { workspace = true }
|
|
roxmltree = { workspace = true }
|
|
rusqlite = { workspace = true, features = ["bundled", "backup", "chrono"], optional = true }
|
|
rmp = { workspace = true }
|
|
scopeguard = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true, features = ["preserve_order"] }
|
|
serde_urlencoded = { workspace = true }
|
|
serde_yaml = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
sysinfo = { workspace = true }
|
|
tabled = { workspace = true, features = ["ansi"], default-features = false }
|
|
titlecase = { workspace = true }
|
|
toml = { workspace = true, features = ["preserve_order"] }
|
|
unicode-segmentation = { workspace = true }
|
|
update-informer = { workspace = true, optional = true }
|
|
ureq = { workspace = true, default-features = false, features = ["charset", "gzip", "json", "native-tls"], optional = true }
|
|
url = { workspace = true }
|
|
uu_cp = { workspace = true, optional = true }
|
|
uu_mkdir = { workspace = true, optional = true }
|
|
uu_mktemp = { workspace = true, optional = true }
|
|
uu_mv = { workspace = true, optional = true }
|
|
uu_touch = { workspace = true, optional = true }
|
|
uu_uname = { workspace = true, optional = true }
|
|
uu_whoami = { workspace = true, optional = true }
|
|
uuid = { workspace = true, features = ["v4"], optional = true }
|
|
v_htmlescape = { workspace = true }
|
|
wax = { workspace = true }
|
|
which = { workspace = true, optional = true }
|
|
unicode-width = { workspace = true }
|
|
data-encoding = { version = "2.7.0", features = ["alloc"] }
|
|
web-time = { workspace = true }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
winreg = { workspace = true }
|
|
|
|
[target.'cfg(all(not(windows), not(target_arch = "wasm32")))'.dependencies]
|
|
uucore = { workspace = true, features = ["mode"] }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
umask = { workspace = true }
|
|
nix = { workspace = true, default-features = false, features = ["user", "resource", "pthread"] }
|
|
|
|
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies]
|
|
procfs = { workspace = true }
|
|
|
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies.trash]
|
|
optional = true
|
|
workspace = true
|
|
|
|
[target.'cfg(windows)'.dependencies.windows]
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_Storage_FileSystem",
|
|
"Win32_System_Environment",
|
|
"Win32_System_SystemServices",
|
|
"Win32_Security",
|
|
"Win32_System_Threading",
|
|
]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = ["os"]
|
|
os = [
|
|
# include other features
|
|
"js",
|
|
"network",
|
|
"nu-protocol/os",
|
|
"nu-utils/os",
|
|
|
|
# os-dependant dependencies
|
|
"crossterm",
|
|
"notify-debouncer-full",
|
|
"open",
|
|
"os_pipe",
|
|
"uu_cp",
|
|
"uu_mkdir",
|
|
"uu_mktemp",
|
|
"uu_mv",
|
|
"uu_touch",
|
|
"uu_uname",
|
|
"uu_whoami",
|
|
"which",
|
|
]
|
|
|
|
# The dependencies listed below need 'getrandom'.
|
|
# They work with JS (usually with wasm-bindgen) or regular OS support.
|
|
# Hence they are also put under the 'os' feature to avoid repetition.
|
|
js = [
|
|
"getrandom",
|
|
"getrandom/js",
|
|
"rand",
|
|
"uuid",
|
|
]
|
|
|
|
# These dependencies require networking capabilities, especially the http
|
|
# interface requires openssl which is not easy to embed into wasm,
|
|
# using rustls could solve this issue.
|
|
network = [
|
|
"multipart-rs",
|
|
"native-tls",
|
|
"update-informer/native-tls",
|
|
"ureq",
|
|
"uuid",
|
|
]
|
|
|
|
plugin = [
|
|
"nu-parser/plugin",
|
|
"os",
|
|
]
|
|
sqlite = ["rusqlite"]
|
|
trash-support = ["trash"]
|
|
|
|
[dev-dependencies]
|
|
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.102.1" }
|
|
nu-test-support = { path = "../nu-test-support", version = "0.102.1" }
|
|
|
|
dirs = { workspace = true }
|
|
mockito = { workspace = true, default-features = false }
|
|
rstest = { workspace = true, default-features = false }
|
|
rstest_reuse = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
rand_chacha = { workspace = true }
|