romm-cli 0.10.1

Rust-based CLI and TUI for the ROMM API
Documentation
[package]

name = "romm-cli"

version = "0.10.1"

edition = "2021"

description = "Rust-based CLI and TUI for the ROMM API"

repository = "https://github.com/patricksmill/romm-cli"

license = "MIT"

keywords = ["romm", "terminal", "tui", "emulator", "games"]

categories = ["command-line-utilities", "emulators"]

readme = "README.md"



[dependencies]

# default-features = false avoids native-tls/openssl-sys (breaks aarch64-linux cross-builds in CI).

reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "http2"] }

serde = { version = "1.0", features = ["derive"] }

serde_json = "1.0"

clap = { version = "4.5", features = ["derive"] }

dotenvy = "0.15"

anyhow = "1.0"

tokio = { version = "1.37", features = ["macros", "rt-multi-thread", "fs", "io-util"] }

base64 = "0.22"

sha2 = "0.10"

percent-encoding = "2.3"

dirs = "6.0"

dialoguer = { version = "0.11", default-features = false, features = ["password"] }

tracing = "0.1.44"

tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }

indicatif = "0.18.4"

keyring = "3.6.3"

self_update = { version = "0.43.1", default-features = false, features = [

    "reqwest",

    "rustls", 

    "archive-zip", 

    "archive-tar", 

    "compression-flate2"

] }



# TUI Optional Dependencies

ratatui = { version = "0.26", optional = true }

crossterm = { version = "0.27", optional = true }

unicode-normalization = { version = "0.1", optional = true }



[features]

default = ["tui"]

tui = ["dep:ratatui", "dep:crossterm", "dep:unicode-normalization"]



[[bin]]

name = "romm-cli"

path = "src/main.rs"



[[bin]]

name = "romm-tui"

path = "src/bin/romm_tui.rs"

required-features = ["tui"]



[dev-dependencies]

mockall = "0.13"

assert_cmd = "2.0"

httpmock = "0.7"

predicates = "3.1"