[package]
name = "zellij-server"
version = "0.43.0"
authors = ["Kunal Mohan <kunalmohan99@gmail.com>"]
edition = "2021"
description = "The server-side library for Zellij"
license = "MIT"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
ansi_term = { workspace = true }
anyhow = { workspace = true }
arrayvec = { version = "0.7.2", default-features = false, features = ["std"] }
async-channel = { version = "1.8.0", default-features = false }
async-std = { workspace = true }
async-trait = { version = "0.1.50", default-features = false }
base64 = { version = "0.13.0", default-features = false, features = ["std"] }
byteorder = { version = "1.4.3", default-features = false, features = ["std"] }
bytes = { version = "1.6.0", default-features = false, features = ["std"] }
cassowary = { version = "0.3.0", default-features = false }
chrono = { version = "0.4.19", default-features = false, features = ["std", "clock"] }
close_fds = { version = "0.3.2", default-features = false }
daemonize = { workspace = true }
highway = { version = "0.6.4", default-features = false, features = ["std"] }
interprocess = { workspace = true }
isahc = { workspace = true }
lazy_static = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
nix = { workspace = true }
notify-debouncer-full = { workspace = true }
prost = { workspace = true }
regex = { workspace = true }
semver = { version = "0.11.0", default-features = false }
serde = { workspace = true }
serde_json = { workspace = true }
signal-hook = { workspace = true }
sixel-image = { version = "0.1.0", default-features = false }
sixel-tokenizer = { version = "0.1.0", default-features = false }
sysinfo = { version = "0.22.5", default-features = false }
tempfile = { workspace = true }
typetag = { version = "0.1.7", default-features = false }
unicode-width = { workspace = true }
url = { workspace = true }
uuid = { workspace = true }
vte = { workspace = true }
wasmtime-wasi = { version = "29.0.1", default-features = false, features = ["preview1"] } # Keep in sync with wasmtime
zellij-utils = { workspace = true }

[dependencies.wasmtime]
version = "29.0.1" # Keep in sync with wasmtime-wasi
default-features = false
features = [
  'addr2line',
  'cranelift',
  'demangle',
  'gc',
  'gc-drc',
  'parallel-compilation',
  'runtime',
  'std',
]

[dev-dependencies]
insta = "1.6.0"
tempfile = "3.2.0"
wasmtime = { version = "29.0.1", features = ["winch"] } # Keep in sync with the other wasmtime dep

[features]
singlepass = ["wasmtime/winch"]
web_server_capability = ["zellij-utils/web_server_capability"]
