[package]
name = "rari"
version = "0.8.8"
authors = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
description = "rari: Runtime Accelerated Rendering Infrastructure - A high-performance React Server Components framework powered by Rust"
keywords = [
  "react",
  "server-components",
  "rsc",
  "ssr",
  "framework"
]
categories = [
  "web-programming",
  "web-programming::http-server"
]
readme = "../../README.md"
homepage = "https://github.com/rari-build/rari"
documentation = "https://github.com/rari-build/rari/tree/main/web"

[package.metadata.cargo-machete]
ignored = [
  "num-bigint-dig",
  "windows-sys"
]

[lib]
crate-type = [ "rlib" ]
doctest = false

[[bin]]
name = "rari"
path = "src/bin/rari.rs"

[dependencies]
# === Core Runtime Dependencies ===
deno_core = "0.382.0"
deno_error = "=0.7.1"
deno_features = "0.26.0"
deno_bundle_runtime = "0.16.0"
deno_runtime = "0.237.0"
deno_permissions = "0.88.0"
deno_process = "0.44.0"

# === Essential Web APIs ===
deno_cache = "0.162.0"
deno_crypto = "0.243.0"
deno_fetch = "0.253.0"
deno_web = "0.260.0"
deno_webidl = "0.229.0"
deno_webstorage = "0.224.0"

# === Network & HTTP ===
deno_http = "0.227.0"
deno_net = "0.221.0"
deno_tls = "0.216.0"
deno_websocket = "0.234.0"

# === File System & I/O ===
deno_fs = "0.139.0"
deno_io = "0.139.0"

# === Advanced Features ===
deno_telemetry = "0.51.0"
deno_terminal = "=0.2.3"
deno_webgpu = "0.196.0"
deno_kv = "0.137.0"
deno_cron = "0.109.0"

# === Node.js Integration ===
deno_node = "0.167.0"
deno_resolver = "0.60.0"
node_resolver = "0.67.0"
num-bigint-dig = "0.8.2"

# === FFI & NAPI ===
deno_ffi = "0.216.0"
deno_napi = "0.160.0"

# === Async & Concurrency ===
async-stream = "0.3.6"
async-trait = "0.1.89"
futures = "0.3.31"
futures-util = "0.3.31"
tokio = { version = "1.49.0", features = [
  "rt-multi-thread",
  "macros",
  "sync",
  "time",
  "fs",
  "net",
  "io-util",
] }
async-compression = { version = "0.4.37", features = [
  "tokio",
  "zstd",
  "brotli",
  "gzip",
] }

# === Serialization ===
serde = { workspace = true }
serde_json = { workspace = true }
base64 = "0.22.1"
rkyv = "0.8.14"

# === HTTP Client & Server ===
http = "1.4.0"
reqwest = { version = "0.13.1", default-features = false, features = [
  "stream",
  "rustls",
  "blocking",
] }
axum = { version = "0.8.8", features = [
  "ws",
  "macros"
] }
tower = { version = "0.5.3", default-features = false, features = [ "util" ] }
tower-http = { version = "0.6.8", features = [
  "fs",
  "compression-full"
] }
tower_governor = "0.8.0"
governor = "0.10.4"
colored = { workspace = true }
url = "2.5.8"
urlencoding = "2.1.3"
tokio-tungstenite = "0.28.0"
tungstenite = "0.28.0"

# === Utilities ===
bytes = "1.11.0"
cow-utils = "0.1.3"
dashmap = "6.1.0"
parking_lot = "0.12.5"
smallvec = "1.15.1"
regex = { workspace = true }
rustc-hash = "2.1.1"
lru = "0.16.3"
uuid = { version = "1.20.0", features = [ "v4" ] }
thiserror = "2.0.18"

# === Image Processing & Layout ===
image = { version = "0.25.9", default-features = false, features = [
  "jpeg",
  "png",
  "gif",
  "webp",
  "avif"
] }
webp = "0.3.1"

# Layout and text rendering
taffy = "0.9.2"
parley = "0.7.0"
swash = "0.2.6"
zeno = "0.3.3"
wuff = "0.2.3"

# === System Integration ===
hyper-util = { version = "0.1.19", features = [
  "tokio",
  "client-legacy",
] }
libc = "0.2.180"
nix = { version = "=0.27.1", features = [ "term" ] }
sys_traits = "=0.1.22"
sysinfo = "0.38.0"

# === Development Tools ===
rustyline = "=13.0.0"
deno_ast = { version = "=0.52.0", features = [ "transpiling" ] }
deno_package_json = { version = "0.31.0", default-features = false }
deno_semver = "=0.9.1"

# === Platform-specific Dependencies ===
winapi = { version = "0.3.9", features = [
  "wincon",
  "handleapi",
  "consoleapi",
  "minwindef",
] }
windows-sys = { version = "0.59.0", features = [
  "Win32_Networking",
  "Win32_Networking_WinSock",
  "Win32_System_SystemInformation",
] }

# === CLI & Logging ===
clap = { workspace = true }
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.22", features = [ "env-filter" ] }

# === TLS & Crypto ===
rustls = { version = "=0.23.28", default-features = false, features = [
  "std",
  "aws_lc_rs",
] }
hmac = "0.12.1"
sha2 = "0.10.9"
hex = "0.4.3"
rand = "0.9.2"

[dev-dependencies]
tracing-test = "0.2.5"
tempfile = "3.24.0"
