[package]
name = "claude-prism-desktop"
version = "1.1.6"
description = "AI-powered LaTeX writing workspace"
edition = "2021"

[lib]
name = "claude_prism_desktop_lib"
crate-type = ["staticlib", "cdylib", "rlib"]

[build-dependencies]
tauri-build = { version = "2", features = [] }
dotenvy = "0.15"

[dependencies]
tauri = { version = "2", features = ["devtools"] }
tauri-plugin-dialog = "2"
tauri-plugin-fs = "2"
tauri-plugin-shell = "2"
tauri-plugin-process = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
tokio = { version = "1", features = ["full"] }
dirs = "5"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
hmac = "0.12"
sha1 = "0.10"
base64 = "0.22"
dotenvy = "0.15"
git2 = { version = "0.20", default-features = false, features = ["vendored-libgit2"] }
chrono = "0.4"
uuid = { version = "1", features = ["v4"] }
which = "7"
tectonic = { version = "0.15", default-features = true, features = ["external-harfbuzz"] }
# NOTE: Building tectonic requires external harfbuzz/graphite2/icu/freetype:
#   macOS:   brew install icu4c harfbuzz pkg-config
#   Linux:   apt install libicu-dev libgraphite2-dev libharfbuzz-dev libfreetype-dev libfontconfig-dev
#   Windows: vcpkg install harfbuzz[graphite2] freetype icu fontconfig (with TECTONIC_DEP_BACKEND=vcpkg)
flate2 = "1"
tar = "0.4"

[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"

[dev-dependencies]
tempfile = "3"

[target.'cfg(target_os = "macos")'.dependencies]
objc2 = "0.6"
objc2-app-kit = { version = "0.3", features = ["NSApplication", "NSImage", "NSRunningApplication"] }
objc2-foundation = { version = "0.3", features = ["NSData"] }

[target.'cfg(target_os = "windows")'.dependencies]
winreg = "0.55"
windows-sys = { version = "0.52", features = ["Win32_System_Environment"] }

[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
tauri-plugin-updater = "2"
