Files
mtgc/Cargo.toml
Garrett Mills 945e5ed766 Accent-insensitive card search
A fold() (lowercase + strip accents, using the same table as nucleo's own
normalization) is registered as a SQLite function and used by the name,
oracle-text and location filters, so "khazad-dum" finds Troll of
Khazad-dûm. The fuzzy name search folds the query too (accented queries
used to match nothing) and its exact-name promotion; decklist/ManaBox
import falls back to a folded name match; the deck quick filter and tag
suggestions fold client-side.

Closes #17
2026-10-23 23:05:19 -05:00

31 lines
1.1 KiB
TOML

[workspace]
resolver = "2"
members = ["crates/mtgc-core", "crates/mtgc-server", "src-tauri"]
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MIT"
[workspace.dependencies]
rusqlite = { version = "0.31", features = ["bundled", "functions"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
nucleo = "0.5"
ureq = { version = "2", features = ["json"] }
# Scryfall serves the bulk downloads as `.jsonl.gz` with `Content-Type:
# application/gzip` (not `Content-Encoding: gzip`), so ureq won't transparently
# decompress them — we do it ourselves. Pure-Rust backend, so it cross-compiles
# to Android without another C dependency.
flate2 = { version = "1", default-features = false, features = ["rust_backend"] }
anyhow = "1"
thiserror = "1"
# Lean, self-contained release binary (used by `cargo tauri build`).
# Trades a few minutes of extra build time for a smaller executable.
[profile.release]
strip = true # drop debug symbols
lto = true # link-time optimization
codegen-units = 1 # better optimization at the cost of parallelism
panic = "abort" # no unwinding machinery