[package]
name = "auroraview-core"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "AuroraView Core: Shared utilities and assets for WebView applications"
keywords = ["webview", "gui", "rust", "utilities"]
categories = ["gui", "development-tools"]

[lib]
name = "auroraview_core"
path = "src/lib.rs"

[dependencies]
# Plugin system
auroraview-plugins = { path = "../auroraview-plugins" }

# Signal system (Qt-style signals/slots)
aurora-signals = { path = "../aurora-signals" }

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# File path handling
dunce = "1.0"
path-clean = "1.0"

# Embed static assets
rust-embed = "8.5"

# Serialization (for config and JSON)
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Note: Using 0.13 for compatibility with Rust 1.80 (0.15+ requires edition2024)
simd-json = "0.17"

# MIME type detection
mime_guess = "2.0"

# HTTP types (for protocol handlers)
http = "1.1"

# URL handling (for CLI utils)
url = "2.5"
regex = "1.11"
thiserror = "2.0"

# Service Discovery
mdns-sd = "0.17"
parking_lot = "0.12"
tokio = { version = "1", features = ["sync", "net", "rt-multi-thread", "macros"] }
warp = "0.3"

# Templates
askama = "0.14"

# Window utilities
active-win-pos-rs = "0.9"

# Image processing (for icon utilities)
# Note: Using 0.24 for compatibility with Rust 1.77+ (0.25+ requires edition2024 via pxfm)
image = { version = "0.24", default-features = false, features = ["png", "ico"] }

# WebView (optional, for builder extensions)
wry = { version = "0.53.5", optional = true }

[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.61", features = ["Win32_Foundation", "Win32_UI_WindowsAndMessaging", "Win32_System_Com", "Win32_Graphics_Dwm", "Win32_UI_Controls"] }

[features]
default = []
# Enable wry-based builder extensions
wry-builder = ["wry"]

[dev-dependencies]
rstest = "0.24"
tempfile = "3.15"

