Cargo.toml
Rama master · réplica de lectura del repositorio original.
[workspace]
resolver = "2"
members = [
"crates/focuser-common",
"crates/focuser-core",
"crates/focuser-app",
"crates/focuser-devserver",
"crates/focuser-cli",
"crates/focuser-native",
"crates/focuser-ui",
]
[workspace.package]
version = "0.11.5"
edition = "2024"
license = "MIT"
repository = "https://github.com/aadeshrao123/Focuser"
description = "Open-source cross-platform website and application blocker"
[workspace.dependencies]
# Shared across crates
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
thiserror = "2"
anyhow = "1"
chrono = { version = "0.4", features = ["serde"] }
rusqlite = { version = "0.32", features = ["bundled", "serde_json"] }
uuid = { version = "1", features = ["v4", "serde"] }
directories = "6"
clap = { version = "4", features = ["derive"] }
regex = "1"
glob-match = "0.2"
argon2 = "0.5"
# Pulled in transitively by argon2; declared explicitly to turn on
# `getrandom` so its re-exported `rand_core::OsRng` is available for
# generating unlock challenges too, rather than adding a second RNG crate.
password-hash = { version = "0.5", features = ["getrandom"] }
# Rust -> TypeScript type/command generation.
# Pinned with `=` because the v2 line is pre-release; v1 supports Tauri v1 only,
# so it is not an option here. Upgrade deliberately, never by caret.
specta = { version = "=2.0.0-rc.25", features = ["derive", "chrono", "uuid"] }
specta-typescript = "0.0.12"
tauri-specta = { version = "=2.0.0-rc.25", features = ["derive", "typescript"] }
# Internal crates
focuser-common = { path = "crates/focuser-common" }
focuser-core = { path = "crates/focuser-core" }
focuser-app = { path = "crates/focuser-app" }