rusqlite_migration with a VACUUM INTO backup before upgrading; M2 adds GST registration, snapshot, cancellation and draft columns and backfills snapshots for existing invoices. Startup failures now show a native dialog instead of exiting silently. Adds single-instance and window-state plugins, minimum window 960x600, embedBootstrapper, DMABUF workaround on Linux and xbps dependency updates.
50 lines
1.3 KiB
TOML
50 lines
1.3 KiB
TOML
[package]
|
|
name = "voiced"
|
|
version = "0.1.0"
|
|
description = "Voiced — offline invoicing desktop app by Bongbetic"
|
|
authors = ["Bongbetic"]
|
|
edition = "2021"
|
|
rust-version = "1.95"
|
|
|
|
# The `_lib` suffix keeps the library name distinct from the binary name on Windows.
|
|
[lib]
|
|
name = "voiced_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-opener = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
rusqlite = { version = "0.40", features = ["bundled"] }
|
|
rusqlite_migration = "2.6"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
uuid = { version = "1", features = ["v4"] }
|
|
thiserror = "2"
|
|
base64 = "0.22"
|
|
|
|
# Desktop-only plugins (not available on mobile targets).
|
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
|
tauri-plugin-single-instance = "2"
|
|
tauri-plugin-window-state = "2"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
|
|
[features]
|
|
# Production builds embed the frontend and serve it over the custom asset
|
|
# protocol. Without this, the app expects a dev server on localhost:1420.
|
|
# DO NOT REMOVE.
|
|
custom-protocol = ["tauri/custom-protocol"]
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
lto = true
|
|
opt-level = "s"
|
|
panic = "abort"
|
|
strip = true
|