[package]
name = "clash-nyanpasu"
version = "0.1.0"
description = "clash verge"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
default-run = "clash-nyanpasu"
edition = { workspace = true }
build = "build.rs"

[build-dependencies]
tauri-build = { version = "1", features = [] }
serde = "1"
simd-json = "0.13"
chrono = "0.4"
rustc_version = "0.4"
semver = "1.0"

[dependencies]
nyanpasu-ipc = { git = "https://github.com/LibNyanpasu/nyanpasu-service.git", features = [
  "client",
] }
nyanpasu-utils = { git = "https://github.com/LibNyanpasu/nyanpasu-utils.git" }
boa_utils = { path = "../boa_utils" } # should be removed when boa support console customize
pretty_assertions = "1.4.0"
which = "6"
anyhow = "1.0"
dirs = "5.0.1"
open = "5.0.1"
log = "0.4.20"
ctrlc = "3.4.2"
dunce = "1.0.4"
nanoid = "0.4.0"
chrono = "0.4.31"
sysinfo = "0.31"
sysproxy = { git = "https://github.com/LibNyanpasu/sysproxy-rs.git", version = "0.3" }
serde_json = "1.0"
serde_yaml = "0.9"
auto-launch = "0.5"
once_cell = "1.19.0"
port_scanner = "0.1.5"
delay_timer = "0.11.5"
parking_lot = { version = "0.12.1" }
tokio = { version = "1", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"] }
relative-path = "1.9"
tauri = { version = "1.5.4", features = [
  "dialog-all",
  "updater",
  "fs-all",
  "clipboard-all",
  "os-all",
  "global-shortcut-all",
  "notification-all",
  "process-all",
  "shell-all",
  "system-tray",
  "window-all",
] }
window-vibrancy = { version = "0.5.0" }
window-shadows = { version = "0.2.2" }
axum = "0.7"
mime = "0.3"
bincode = "1"
bytes = { version = "1", features = ["serde"] }
wry = { version = "0.24.6" }
semver = "1.0"
zip = "2.0.0"
zip-extensions = "0.8.0"
flate2 = "1.0"
tempfile = "3.9.0"
glob = "0.3.1"
async-trait = "0.1.77"
dyn-clone = "1.0.16"
rs-snowflake = "0.6"
thiserror = { workspace = true }
simd-json = "0.13.8"
runas = { git = "https://github.com/libnyanpasu/rust-runas.git" }
backon = { version = "1.0.1", features = ["tokio-sleep"] }
rust-i18n = "3"
adler = "1.0.2"
rfd = "0.10" # should bump to v0.14 when clarify why the rfd v0.10 from tauri breaks build
indexmap = { version = "2.2.3", features = ["serde"] }
tracing = { workspace = true }
tracing-attributes = "0.1"
tracing-futures = "0.2"
tracing-subscriber = { version = "0.3", features = [
  "env-filter",
  "json",
  "parking_lot",
] }
tracing-error = "0.2"
tracing-log = { version = "0.2" }
tracing-appender = { version = "0.2", features = ["parking_lot"] }
base64 = "0.22"
single-instance = "0.3.3"
tauri-plugin-deep-link = { path = "../tauri-plugin-deep-link", version = "0.1.2" }
uuid = "1.7.0"
image = "0.25.0"
fast_image_resize = "4"
display-info = "0.5.0" # should be removed after upgrading to tauri v2
dashmap = "6"
clap = { version = "4.5.4", features = ["derive"] } # add supports for commands
percent-encoding = "2.3.1"
fs_extra = "1.3.0"
redb = "2.0.0"
regex = "1.10.4"
futures = "0.3"
num_cpus = "1"
url = "2"
derive_builder = "0.20"
test-log = { version = "0.2.16", features = ["trace"] }
md-5 = "0.10.6"
hex = "0.4"
rand = "0.8"
colored = "2.1.0"
timeago = "0.4"
ansi-str = "0.8"
humansize = "2.1.3"
convert_case = "0.6.0"
os_pipe = "1.2.0"
whoami = "1.5.1"
atomic_enum = "0.3.0"
boa_engine.workspace = true
oxc_parser = "0.27"
oxc_allocator = "0.27"
oxc_span = "0.27"
oxc_ast = "0.27"
oxc_syntax = "0.27"
mlua = { version = "0.9", features = [
  "lua54",
  "async",
  "serialize",
  "parking_lot",
  "vendored",
] }
enumflags2 = "0.7"
sha2 = "0.10"

[target.'cfg(all(target_os = "linux", target_arch = "aarch64"))'.dependencies]
openssl = { version = "0.10", features = ["vendored"] }

[target.'cfg(target_os = "macos")'.dependencies]
cocoa = "0.25.0"
objc = "0.2.7"

[target.'cfg(windows)'.dependencies]
deelevate = "0.2.0"
winreg = { version = "0.52", features = ["transactions"] }
windows-sys = { version = "0.59", features = [
  "Win32_System_LibraryLoader",
  "Win32_System_SystemInformation",
] }
webview2-com-bridge = { path = "../webview2-com-bridge" }

[target.'cfg(windows)'.dependencies.tauri]
version = "1.5.4"
features = [
  "global-shortcut-all",
  "icon-png",
  "process-all",
  "dialog-all",
  "shell-all",
  "system-tray",
  "updater",
  "window-all",
]

[target.'cfg(linux)'.dependencies.tauri]
version = "1.5.4"
features = [
  "global-shortcut-all",
  "process-all",
  "dialog-all",
  "shell-all",
  "system-tray",
  "updater",
  "window-all",
  "native-tls-vendored",
  "reqwest-native-tls-vendored",
]

[features]
default = ["custom-protocol", "default-meta"]
nightly = ["devtools", "deadlock-detection"]
custom-protocol = ["tauri/custom-protocol"]
verge-dev = []
default-meta = []
devtools = ["tauri/devtools"]
deadlock-detection = ["parking_lot/deadlock_detection"]
openssl_vendored = ["openssl/vendored"]
