[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