Files
Archive/clash-nyanpasu/backend/tauri/Cargo.toml
T
2024-11-24 19:33:47 +01:00

228 lines
6.2 KiB
TOML

[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"
[lib]
name = "app_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2.0.1", features = [] }
serde = "1"
simd-json = "0.14.1"
chrono = "0.4"
rustc_version = "0.4"
semver = "1.0"
[dependencies]
# Local Dependencies
nyanpasu-ipc = { git = "https://github.com/libnyanpasu/nyanpasu-service.git", features = [
"client",
] } # IPC bridge between the UI process and service process
nyanpasu-macro = { path = "../nyanpasu-macro" }
nyanpasu-utils = { git = "https://github.com/libnyanpasu/nyanpasu-utils.git" }
# Common Utilities
tokio = { version = "1", features = ["full"] }
futures = "0.3"
glob = "0.3.1"
timeago = "0.4"
humansize = "2.1.3"
convert_case = "0.6.0"
anyhow = "1.0"
pretty_assertions = "1.4.0"
chrono = "0.4.31"
once_cell = "1.19.0"
async-trait = "0.1.77"
dyn-clone = "1.0.16"
thiserror = { workspace = true }
parking_lot = { version = "0.12.1" }
itertools = "0.13.0" # sweet iterator utilities
rayon = "1.10" # for iterator parallel processing
ambassador = "0.4.1" # for trait delegation
derive_builder = "0.20" # for builder pattern
strum = { version = "0.26", features = ["derive"] } # for enum string conversion
# Data Structures
dashmap = "6"
indexmap = { version = "2.2.3", features = ["serde"] }
bimap = "0.6.3"
# Terminal Utilities
ansi-str = "0.8" # for ansi str stripped
ctrlc = "3.4.2"
colored = "2.1.0"
clap = { version = "4.5.4", features = ["derive"] }
# GUI Utilities
rfd = { version = "0.15", default-features = false, features = [
"tokio",
"gtk3",
"common-controls-v6",
] } # cross platform dialog
# Internationalization
rust-i18n = "3"
# Networking Libraries
axum = "0.7"
url = "2"
mime = "0.3"
reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"] }
port_scanner = "0.1.5"
sysproxy = { git = "https://github.com/libnyanpasu/sysproxy-rs.git", version = "0.3" }
backon = { version = "1.0.1", features = ["tokio-sleep"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = { version = "0.10", package = "serde_yaml_ng", git = "https://github.com/libnyanpasu/serde-yaml-ng.git" }
bincode = "1"
bytes = { version = "1", features = ["serde"] }
semver = "1.0"
# Compression & Encoding
flate2 = "1.0"
zip = "2.0.0"
zip-extensions = "0.8.0"
base64 = "0.22"
adler = "1.0.2"
hex = "0.4"
percent-encoding = "2.3.1"
# Algorithms
uuid = "1.7.0"
rand = "0.8"
md-5 = "0.10.6"
sha2 = "0.10"
nanoid = "0.4.0"
rs-snowflake = "0.6"
simd-json = "0.14.1"
atomic_enum = "0.3.0"
enumflags2 = "0.7"
# System Utilities
auto-launch = { git = "https://github.com/libnyanpasu/auto-launch.git", version = "0.5" }
delay_timer = { version = "0.11", git = "https://github.com/libnyanpasu/delay-timer.git" } # Task scheduler with timer
dunce = "1.0.4" # for cross platform path normalization
runas = { git = "https://github.com/libnyanpasu/rust-runas.git" }
single-instance = "0.3.3"
which = "7"
dirs = "5.0.1"
open = "5.0.1"
sysinfo = "0.32"
num_cpus = "1"
tempfile = "3.9.0"
fs_extra = "1.3.0"
os_pipe = "1.2.0"
whoami = "1.5.1"
# Database
redb = "2.0.0"
# Logging & Tracing
log = "0.4.20"
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"] }
test-log = { version = "0.2.16", features = ["trace"] }
# Image & Graphics
image = "0.25.0"
fast_image_resize = "5"
display-info = "0.5.0" # should be removed after upgrading to tauri v2
# OXC (The Oxidation Compiler)
# We use it to parse and transpile the old script profile to esm based script profile
oxc_parser = "0.37"
oxc_allocator = "0.37"
oxc_span = "0.37"
oxc_ast = "0.37"
oxc_syntax = "0.37"
# Lua Integration
mlua = { version = "0.10", features = [
"lua54",
"async",
"serialize",
"vendored",
"error-send",
] }
# JavaScript Integration
boa_utils = { path = "../boa_utils" } # should be removed when boa support console customize
boa_engine.workspace = true
# Tauri Dependencies
tauri = { version = "2.0.1", features = [
"tray-icon",
"image-png",
"image-ico",
] }
tauri-plugin-deep-link = { path = "../tauri-plugin-deep-link", version = "0.1.2" } # This should be migrated to official tauri plugin
tauri-plugin-os = "2.0.1"
tauri-plugin-clipboard-manager = "2.0.1"
tauri-plugin-fs = "2.0.1"
tauri-plugin-dialog = "2.0.1"
tauri-plugin-process = "2.0.1"
tauri-plugin-updater = "2.0.2"
tauri-plugin-shell = "2.0.1"
tauri-plugin-notification = "2.0.1"
window-vibrancy = { version = "0.5.2" }
[target."cfg(not(any(target_os = \"android\", target_os = \"ios\")))".dependencies]
tauri-plugin-global-shortcut = "2.0.1"
[target.'cfg(all(target_os = "linux", target_arch = "aarch64"))'.dependencies]
openssl = { version = "0.10", features = ["vendored"] }
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = "0.5.2"
objc2-app-kit = { version = "0.2.2", features = [
"NSApplication",
"NSResponder",
"NSRunningApplication",
"NSWindow",
"NSView",
] }
objc2-foundation = { version = "0.2.2", features = ["NSGeometry"] }
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29.0", features = ["user", "fs"] }
[target.'cfg(windows)'.dependencies]
deelevate = "0.2.0"
winreg = { version = "0.52", features = ["transactions"] }
windows-registry = "0.3"
windows-sys = { version = "0.59", features = [
"Win32_System_LibraryLoader",
"Win32_System_SystemInformation",
] }
windows-core = "0.58.0"
webview2-com = "0.33"
[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"]