176 lines
4.5 KiB
TOML
Raw Normal View History

2025-10-07 10:59:52 +01:00
[package]
name = "control-center-ui"
version.workspace = true
edition.workspace = true
description = "Control Center UI - Leptos CSR App for Cloud Infrastructure Management"
authors = ["Control Center Team"]
[lib]
crate-type = ["cdylib"]
[[bin]]
name = "control-center-ui"
path = "src/main.rs"
[dependencies]
# ============================================================================
# WORKSPACE DEPENDENCIES
# ============================================================================
# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true, features = ["js"] }
chrono = { workspace = true, features = ["wasm-bindgen"] }
# Error handling and async
thiserror = { workspace = true }
futures = { workspace = true }
# Logging and debugging
tracing = { workspace = true }
# Security and cryptography
base64 = { workspace = true }
regex = { workspace = true }
rand = { workspace = true }
sha2 = { workspace = true }
hmac = { workspace = true }
aes-gcm = { workspace = true, features = ["aes", "std"] }
# ============================================================================
# WASM-SPECIFIC DEPENDENCIES
# ============================================================================
# Leptos Framework with CSR features
leptos = { workspace = true }
leptos_meta = { workspace = true }
leptos_router = { workspace = true }
# WASM utilities
wasm-bindgen = { workspace = true }
# ============================================================================
# ADDITIONAL WORKSPACE DEPENDENCIES
# ============================================================================
# URL handling
url = { workspace = true }
# Icons and UI utilities
icondata = { workspace = true }
leptos_icons = { workspace = true }
# Authentication and cryptography
qrcode = { workspace = true }
image = { workspace = true }
totp-rs = { workspace = true }
# Serialization utilities
serde-wasm-bindgen = { workspace = true }
# Logging for WASM
tracing-wasm = { workspace = true }
console_error_panic_hook = { workspace = true }
# HTTP client and networking
gloo-net = { workspace = true }
gloo-storage = { workspace = true }
gloo-utils = { workspace = true }
gloo-timers = { workspace = true }
# Chart.js bindings and canvas utilities
plotters = { workspace = true }
plotters-canvas = { workspace = true }
# WASM utilities
wasm-bindgen-futures = { workspace = true }
js-sys = { workspace = true }
# Random number generation
getrandom = { workspace = true }
# ============================================================================
# PROJECT-SPECIFIC DEPENDENCIES (not in workspace)
# ============================================================================
# Web APIs
web-sys = { version = "0.3", features = [
"console",
"Window",
"Document",
"Element",
"HtmlElement",
"HtmlCanvasElement",
"CanvasRenderingContext2d",
"EventTarget",
"Event",
"DragEvent",
"DataTransfer",
"HtmlInputElement",
"HtmlSelectElement",
"HtmlTextAreaElement",
"HtmlButtonElement",
"HtmlDivElement",
"Storage",
"Location",
"History",
"Navigator",
"ServiceWorkerRegistration",
"ServiceWorker",
"NotificationPermission",
"Notification",
"Headers",
"Request",
"RequestInit",
"RequestMode",
"Response",
"AbortController",
"AbortSignal",
"WebSocket",
"MessageEvent",
"CloseEvent",
"ErrorEvent",
"Blob",
"Url",
"FileReader",
"File",
"HtmlAnchorElement",
"MouseEvent",
"TouchEvent",
"KeyboardEvent",
"ResizeObserver",
"ResizeObserverEntry",
"IntersectionObserver",
"IntersectionObserverEntry",
# Media Query APIs
"MediaQueryList",
"MediaQueryListEvent",
# WebAuthn APIs
"CredentialsContainer",
"PublicKeyCredential",
"PublicKeyCredentialCreationOptions",
"PublicKeyCredentialRequestOptions",
"AuthenticatorResponse",
"AuthenticatorAttestationResponse",
"AuthenticatorAssertionResponse",
# Crypto APIs
"Crypto",
"SubtleCrypto",
"CryptoKey",
] }
# HTTP client (project-specific for WASM features)
reqwest = { version = "0.12", features = ["json"] }
# Tokio with time features for WASM (project-specific version)
tokio = { version = "1.47", features = ["time"] }
# Profile configurations moved to workspace root
# WASM pack settings
[package.metadata.wasm-pack.profile.release]
wasm-opt = ['-Oz', '--enable-mutable-globals']
[package.metadata.wasm-pack.profile.dev]
wasm-opt = false