mirror of
https://github.com/nushell/nushell
synced 2025-01-13 05:38:57 +00:00
4b1f4e63c3
# Description The `std::time::Instant` type panics in the WASM context. To prevent this, I replaced all uses of `std::time::Instant` in WASM-relevant crates with `web_time::Instant`. This ensures commands using `Instant` work in WASM without issues. For non-WASM targets, `web-time` simply reexports `std::time`, so this change doesn’t affect regular builds ([docs](https://docs.rs/web-time/latest/web_time/)). To ensure future code doesn't reintroduce `std::time::Instant` in WASM contexts, I added a `clippy wasm` command to the toolkit. This runs `cargo clippy` with a `clippy.toml` configured to disallow `std::time::Instant`. Since `web-time` aliases `std::time` by default, the `clippy.toml` is stored in `clippy/wasm` and is only loaded when targeting WASM. I also added a new CI job that tests this too. # User-Facing Changes None.
77 lines
No EOL
2.2 KiB
TOML
77 lines
No EOL
2.2 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.101.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-utils = { path = "../nu-utils", version = "0.101.1", default-features = false }
|
|
nu-path = { path = "../nu-path", version = "0.101.1" }
|
|
nu-system = { path = "../nu-system", version = "0.101.1" }
|
|
nu-derive-value = { path = "../nu-derive-value", version = "0.101.1" }
|
|
|
|
brotli = { workspace = true, optional = true }
|
|
bytes = { workspace = true }
|
|
byte-unit = { version = "5.1" }
|
|
chrono = { workspace = true, features = [ "serde", "std", "unstable-locales" ], default-features = false }
|
|
chrono-humanize = { workspace = true }
|
|
dirs = { workspace = true }
|
|
fancy-regex = { workspace = true }
|
|
heck = { workspace = true }
|
|
indexmap = { workspace = true }
|
|
lru = { workspace = true }
|
|
miette = { workspace = true, features = ["fancy-no-backtrace"]}
|
|
num-format = { workspace = true }
|
|
rmp-serde = { workspace = true, optional = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = "2.0"
|
|
typetag = "0.2"
|
|
os_pipe = { workspace = true, optional = true, features = ["io_safety"] }
|
|
log = { workspace = true }
|
|
web-time = { workspace = true }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
nix = { workspace = true, default-features = false, features = ["signal"] }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
dirs-sys = { workspace = true }
|
|
windows-sys = { workspace = true }
|
|
|
|
[features]
|
|
default = ["os"]
|
|
os = [
|
|
"nu-utils/os",
|
|
"os_pipe",
|
|
]
|
|
|
|
plugin = [
|
|
"brotli",
|
|
"os",
|
|
"rmp-serde",
|
|
]
|
|
|
|
[dev-dependencies]
|
|
serde_json = { workspace = true }
|
|
strum = "0.26"
|
|
strum_macros = "0.26"
|
|
nu-test-support = { path = "../nu-test-support", version = "0.101.1" }
|
|
nu-utils = { path = "../nu-utils", version = "0.101.1" }
|
|
pretty_assertions = { workspace = true }
|
|
rstest = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
os_pipe = { workspace = true }
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true |