| 1 |
[package] |
| 2 |
name = "goingson-desktop" |
| 3 |
version = "0.4.2" |
| 4 |
edition = "2024" |
| 5 |
|
| 6 |
[[bin]] |
| 7 |
name = "goingson-desktop" |
| 8 |
path = "src/main.rs" |
| 9 |
|
| 10 |
[lib] |
| 11 |
name = "goingson_desktop" |
| 12 |
path = "src/lib.rs" |
| 13 |
crate-type = ["staticlib", "cdylib", "lib"] |
| 14 |
|
| 15 |
[build-dependencies] |
| 16 |
tauri-build = { workspace = true } |
| 17 |
|
| 18 |
[dependencies] |
| 19 |
goingson-core = { workspace = true } |
| 20 |
goingson-db-sqlite = { workspace = true } |
| 21 |
goingson-plugin-runtime = { workspace = true } |
| 22 |
synckit-client = { path = "../../../MNW/shared/synckit-client" } |
| 23 |
|
| 24 |
# Tauri |
| 25 |
tauri = { workspace = true, features = ["image-png"] } |
| 26 |
tauri-plugin-dialog = { workspace = true } |
| 27 |
|
| 28 |
# Async runtime |
| 29 |
tokio = { workspace = true } |
| 30 |
|
| 31 |
# Database |
| 32 |
sqlx = { workspace = true, features = ["sqlite"] } |
| 33 |
|
| 34 |
# Serialization |
| 35 |
serde = { workspace = true } |
| 36 |
serde_json = { workspace = true } |
| 37 |
|
| 38 |
# Utilities |
| 39 |
chrono = { workspace = true } |
| 40 |
chrono-tz = { workspace = true } |
| 41 |
uuid = { workspace = true } |
| 42 |
|
| 43 |
# Email |
| 44 |
async-imap = { workspace = true } |
| 45 |
tokio-native-tls = { workspace = true } |
| 46 |
tokio-util = { workspace = true } |
| 47 |
futures-util = { workspace = true } |
| 48 |
mailparse = { workspace = true } |
| 49 |
lettre = { workspace = true } |
| 50 |
|
| 51 |
reqwest = { workspace = true } |
| 52 |
thiserror = { workspace = true } |
| 53 |
|
| 54 |
# OAuth2 |
| 55 |
base64 = { workspace = true } |
| 56 |
rand = { workspace = true } |
| 57 |
sha2 = { workspace = true } |
| 58 |
async-trait = { workspace = true } |
| 59 |
|
| 60 |
# Logging |
| 61 |
tracing = { workspace = true } |
| 62 |
tracing-subscriber = { workspace = true } |
| 63 |
|
| 64 |
# iCalendar parsing (for .ics import) |
| 65 |
ical = { workspace = true } |
| 66 |
|
| 67 |
# Export/Backup |
| 68 |
csv = { workspace = true } |
| 69 |
icalendar = { workspace = true } |
| 70 |
flate2 = { workspace = true } |
| 71 |
|
| 72 |
# Theme loading |
| 73 |
theme-common = { workspace = true } |
| 74 |
toml = { workspace = true } |
| 75 |
# Browser opening |
| 76 |
open = { workspace = true } |
| 77 |
|
| 78 |
# Markdown rendering + HTML sanitization |
| 79 |
docengine = { workspace = true } |
| 80 |
|
| 81 |
# Secure credential storage |
| 82 |
keyring = { workspace = true } |
| 83 |
|
| 84 |
# HTML email to readable markdown |
| 85 |
pter = "0.1" |
| 86 |
|
| 87 |
# === Desktop-only dependencies (not available on iOS/Android) === |
| 88 |
|
| 89 |
# Desktop-only: plugins that require desktop window management |
| 90 |
[target.'cfg(not(any(target_os = "ios", target_os = "android")))'.dependencies] |
| 91 |
tauri-plugin-shell = { workspace = true } |
| 92 |
tauri-plugin-notification = { workspace = true } |
| 93 |
tauri-plugin-window-state = { workspace = true } |
| 94 |
tauri-plugin-updater = { workspace = true } |
| 95 |
tauri-plugin-process = { workspace = true } |
| 96 |
# File watching (for external DB changes) |
| 97 |
notify = { workspace = true } |
| 98 |
notify-debouncer-mini = { workspace = true } |
| 99 |
|
| 100 |
# Desktop-only: tray icon support |
| 101 |
[target.'cfg(not(any(target_os = "ios", target_os = "android")))'.dependencies.tauri] |
| 102 |
workspace = true |
| 103 |
features = ["image-png", "tray-icon"] |
| 104 |
|
| 105 |
# Android: bundle SQLite (system SQLite not accessible via NDK) |
| 106 |
# and vendor OpenSSL (native-tls deps need it for cross-compilation) |
| 107 |
[target.'cfg(target_os = "android")'.dependencies] |
| 108 |
libsqlite3-sys = { version = "0.30", features = ["bundled"] } |
| 109 |
openssl = { version = "0.10", features = ["vendored"] } |
| 110 |
|
| 111 |
[dev-dependencies] |
| 112 |
tempfile = "3" |
| 113 |
|
| 114 |
[features] |
| 115 |
default = ["custom-protocol"] |
| 116 |
custom-protocol = ["tauri/custom-protocol"] |
| 117 |
|