| 1 |
[workspace] |
| 2 |
members = [ |
| 3 |
"crates/core", |
| 4 |
"crates/db-sqlite", |
| 5 |
"crates/plugin-runtime", |
| 6 |
"src-tauri", |
| 7 |
] |
| 8 |
default-members = ["src-tauri"] |
| 9 |
resolver = "2" |
| 10 |
|
| 11 |
[workspace.package] |
| 12 |
version = "0.4.0" |
| 13 |
edition = "2024" |
| 14 |
license-file = "LICENSE" |
| 15 |
|
| 16 |
[workspace.dependencies] |
| 17 |
# Core dependencies |
| 18 |
chrono = { version = "0.4.43", features = ["serde"] } |
| 19 |
chrono-tz = "0.10" |
| 20 |
uuid = { version = "1.16", features = ["v4", "v5", "serde"] } |
| 21 |
serde = { version = "1.0.228", features = ["derive"] } |
| 22 |
serde_json = "1.0.149" |
| 23 |
async-trait = "0.1" |
| 24 |
thiserror = "2" |
| 25 |
|
| 26 |
# Async runtime |
| 27 |
tokio = { version = "1.49", features = ["rt-multi-thread", "macros"] } |
| 28 |
|
| 29 |
# Database - SQLx |
| 30 |
sqlx = { version = "0.8", features = ["runtime-tokio"] } |
| 31 |
|
| 32 |
# Authentication |
| 33 |
argon2 = "0.5" |
| 34 |
|
| 35 |
# Email integration |
| 36 |
async-imap = { version = "0.11", default-features = false, features = ["runtime-tokio"] } |
| 37 |
tokio-native-tls = "0.3" |
| 38 |
tokio-util = "0.7" |
| 39 |
futures-util = { version = "0.3", default-features = false, features = ["std", "async-await"] } |
| 40 |
mailparse = "0.16" |
| 41 |
lettre = { version = "0.11", default-features = false, features = ["tokio1", "tokio1-native-tls", "smtp-transport", "builder"] } |
| 42 |
|
| 43 |
# HTTP client |
| 44 |
reqwest = { version = "0.12", default-features = false, features = ["json", "native-tls"] } |
| 45 |
|
| 46 |
# Security / OAuth |
| 47 |
rand = "0.9" |
| 48 |
base64 = "0.22" |
| 49 |
sha2 = "0.10" |
| 50 |
|
| 51 |
# Secure credential storage |
| 52 |
keyring = { version = "3", features = ["apple-native", "linux-native", "windows-native"] } |
| 53 |
|
| 54 |
# Tauri |
| 55 |
tauri = "2.10.2" |
| 56 |
tauri-build = "2.5.5" |
| 57 |
tauri-plugin-dialog = "2.6.0" |
| 58 |
tauri-plugin-shell = "2.3.5" |
| 59 |
tauri-plugin-notification = "2.3.3" |
| 60 |
tauri-plugin-window-state = "2.4.1" |
| 61 |
tauri-plugin-updater = "2" |
| 62 |
tauri-plugin-process = "2" |
| 63 |
|
| 64 |
# Plugin system |
| 65 |
rhai = { version = "1.17", features = ["sync", "serde"] } |
| 66 |
notify = "6.0" |
| 67 |
notify-debouncer-mini = "0.4" |
| 68 |
theme-common = { path = "../../MNW/shared/theme-common" } |
| 69 |
toml = "0.8" |
| 70 |
|
| 71 |
# Enums |
| 72 |
strum = "0.26" |
| 73 |
strum_macros = "0.26" |
| 74 |
|
| 75 |
# iCalendar parsing |
| 76 |
ical = "0.11" |
| 77 |
|
| 78 |
# CSV |
| 79 |
csv = "1.3" |
| 80 |
|
| 81 |
# Export/Backup |
| 82 |
icalendar = "0.16" |
| 83 |
flate2 = "1.0" |
| 84 |
|
| 85 |
# Browser opening |
| 86 |
open = "5" |
| 87 |
|
| 88 |
# Markdown rendering + HTML sanitization |
| 89 |
docengine = { path = "../../MNW/shared/docengine" } |
| 90 |
|
| 91 |
# Logging |
| 92 |
tracing = "0.1" |
| 93 |
tracing-subscriber = { version = "0.3", features = ["env-filter"] } |
| 94 |
|
| 95 |
# Tag standard |
| 96 |
tagtree = { path = "../../MNW/shared/tagtree" } |
| 97 |
|
| 98 |
# Internal crates |
| 99 |
goingson-core = { path = "crates/core" } |
| 100 |
goingson-db-sqlite = { path = "crates/db-sqlite" } |
| 101 |
goingson-plugin-runtime = { path = "crates/plugin-runtime" } |
| 102 |
|