[package] name = 'nx' version = '0.1.0' edition = '2024' [profile.release-wasi] codegen-units = 16 debug = 'full' inherits = "release" lto = "thin" opt-level = "z" strip = "none" [dependencies] tokio = { version = "1.44.0", features = [ "sync", "macros", "io-util", "rt", "time", ] } anyhow = "1.0.71" better-panic = "0.3.0" colored = "2" color-eyre = "0.6.3" crossbeam-channel = '0.5' dashmap = { version = "5.5.3", features = ["rayon"] } dunce = "1" flate2 = "1.1.1" fs_extra = "1.3.0" futures = "0.3.28" globset = "0.4.10" hashbrown = { version = "0.14.5", features = ["rayon", "rkyv"] } ignore = '0.4' itertools = "0.10.5" jsonc-parser = { version = "0.32.3", features = ["serde"] } once_cell = "1.18.0" parking_lot = { version = "0.12.1", features = ["send_guard"] } napi = { version = "3.8.3", default-features = false, features = [ "error_anyhow", "napi4", "tokio_rt", "async", "chrono_date", "serde-json", ] } napi-derive = '3.5.2' nom = '7.1.3' regex = "1.9.1" rayon = "1.7.0" rkyv = { version = "0.7", features = ["validation"] } swc_common = "0.31.16" swc_ecma_parser = { version = "0.137.1", features = ["typescript"] } swc_ecma_visit = "0.93.0" swc_ecma_ast = "0.107.0" sysinfo = "0.39.1" rand = "0.9.0" tar = "0.4.44" terminal-colorsaurus = "0.4.0" thiserror = "1.0.40" tracing = { version = "0.1.37", features = ["log"] } tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } tokio-util = "0.7.9" tracing-appender = "0.2" tui-logger = { version = "0.18.2", features = ["tracing-support"] } urlencoding = "2.1" uuid = { version = "1.0", features = ["v4"] } tui-term = { version = "0.3.4", default-features = false } walkdir = '2.3.3' xxhash-rust = { version = '0.8.5', features = ['xxh3', 'xxh64'] } vt100-ctt = { git = "https://github.com/JamesHenry/vt100-rust", rev = "b15dc3b0f7db94167a9c584f1d403899c0cc871d", default-features = false } serde = "=1.0.219" serde_json = "1.0.140" static_assertions = "1.1" wrap-ansi = "0.1" [target.'cfg(windows)'.dependencies] winapi = { version = "0.3", features = [ "fileapi", "psapi", # Used by the metrics collector to detect Job Object CPU rate, affinity, # and memory limits — Windows analog to the Linux cgroup detection. "jobapi", "jobapi2", "processthreadsapi", "winbase", "winnt", ] } [target.'cfg(windows)'.build-dependencies] winres = "0.1" # Windows excluded: tikv-jemalloc-sys fails to build with MSVC (spaces in cl.exe path break configure). # Track https://github.com/tikv/jemallocator/pull/99 for upstream fix. [target.'cfg(any(target_os = "linux", target_os = "macos"))'.dependencies] tikv-jemallocator = { version = "0.6", features = ["disable_initial_exec_tls"] } [target.'cfg(target_os = "macos")'.dependencies] uuid = "1" [target.'cfg(all(not(windows), not(target_family = "wasm")))'.dependencies] mio = "1.0" nix = { version = "0.30.0", features = ["fs", "process", "signal"] } # Used by the metrics collector to read sched_getaffinity directly, bypassing # std::thread::available_parallelism's floor-rounded cgroup quota handling. [target.'cfg(target_os = "linux")'.dependencies] libc = "0.2" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] arboard = { version = "3.4.1", features = ["wayland-data-control"] } crossterm = { version = "0.29.0", features = ["event-stream", "use-dev-tty"] } portable-pty = { git = "https://github.com/cammisuli/wezterm", rev = "b538ee29e1e89eeb4832fb35ae095564dce34c29" } fs4 = "0.12.0" ratatui = { version = "0.30", features = ["unstable-rendered-line-info"] } reqwest = { version = "0.12.22", default-features = false, features = [ "rustls-tls-native-roots", ] } rusqlite = { version = "0.32.1", features = ["bundled", "array", "vtab"] } notify = "8" machine-uid = "0.5.2" interprocess = { version = "=2.2.3", features = ["tokio"] } jsonrpsee = { version = "0.25.1", features = [ "client-core", "async-client", "macros", "http-client", ] } [lib] crate-type = ['cdylib', 'rlib'] [build-dependencies] napi-build = '2.3.1' static_vcruntime = '3.0' [dev-dependencies] assert_fs = "1.0.10" insta = "1.42.2" # This is only used for unit tests swc_ecma_dep_graph = "0.109.1" tempfile = "3.13.0" uuid = { version = "1.0", features = ["v4"] }