Files
firezone/rust/gui-client/src-common/Cargo.toml
Thomas Eizinger be250f1e00 refactor(connlib): repurpose connlib-shared as connlib-model (#6919)
The `connlib-shared` crate has become a bit of a dependency magnet
without a clear purpose. It hosts utilities like `get_user_agent`,
messages for the client and gateway to communicate with the portal and
domain types like `ResourceId`.

To create a better dependency structure in our workspace, we repurpose
`connlib-shared` as a `connlib-model` crate. Its purpose is to host
domain-specific model types that multiple crates may want to use. For
that purpose, we rename the `callbacks::ResourceDescription` type to
`ResourceView`, designating that this is a _view_ onto a resource as
seen by `connlib`. The message types which currently double up as
connlib-internal model thus become an implementation detail of
`firezone-tunnel` and shouldn't be used for anything else.

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-10-03 14:47:58 +00:00

55 lines
1.9 KiB
TOML

[package]
name = "firezone-gui-client-common"
# mark:next-gui-version
version = "1.3.8"
edition = "2021"
[dependencies]
anyhow = { version = "1.0" }
arboard = { version = "3.4.0", default-features = false }
atomicwrites = { workspace = true }
connlib-model = { workspace = true }
firezone-bin-shared = { workspace = true }
firezone-headless-client = { path = "../../headless-client" }
firezone-logging = { workspace = true }
firezone-telemetry = { workspace = true }
futures = { version = "0.3", default-features = false }
hex = "0.4.3"
native-dialog = "0.7.0"
output_vt100 = "0.1"
png = "0.17.13" # `png` is mostly free since we already need it for Tauri
rand = "0.8.5"
reqwest = { version = "0.12.5", default-features = false, features = ["stream", "rustls-tls"] }
sadness-generator = "0.6.0"
secrecy = { workspace = true }
semver = { version = "1.0.22", features = ["serde"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
subtle = "2.5.0"
thiserror = { version = "1.0", default-features = false }
time = { version = "0.3.36", features = ["formatting"] }
tokio = { workspace = true }
tracing = { workspace = true }
tracing-log = "0.2"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
url = { version = "2.5.2" }
uuid = { version = "1.10.0", features = ["v4"] }
zip = { version = "2", features = ["deflate", "time"], default-features = false }
[dependencies.keyring]
version = "3.2.1"
features = [
"crypto-rust", # Don't rely on OpenSSL
"sync-secret-service", # Can't use Tokio because of <https://github.com/hwchen/keyring-rs/issues/132>
"windows-native", # Yes, really, we must actually explicitly ask for every platform. Otherwise it defaults to an in-memory mock store. Really. That's really how `keyring` 3.x is designed.
]
[target.'cfg(target_os = "linux")'.dependencies]
dirs = "5.0.1"
[target.'cfg(target_os = "windows")'.dependencies]
winreg = "0.52.0"
[lints]
workspace = true