[package]
edition = "2021"
name = "romm-cli"
version = "0.39.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust-based CLI and TUI for the ROMM API"
readme = "README.md"
keywords = [
"romm",
"terminal",
"tui",
"emulator",
"games",
]
categories = [
"command-line-utilities",
"emulators",
]
license = "MIT"
repository = "https://github.com/patricksmill/romm-cli"
[features]
default = ["tui"]
tui = [
"dep:ratatui",
"dep:ratatui-themekit",
"dep:crossterm",
"dep:unicode-normalization",
"dep:ratatui-image",
"dep:image",
]
[lib]
name = "romm_cli"
path = "src/lib.rs"
[[bin]]
name = "romm-cli"
path = "src/main.rs"
[[bin]]
name = "romm-complete-gen"
path = "tools/generate_completions.rs"
[[bin]]
name = "romm-openapi-gen"
path = "tools/openapi_gen.rs"
[[bin]]
name = "romm-tui"
path = "src/bin/romm_tui.rs"
required-features = ["tui"]
[[test]]
name = "cli_api"
path = "tests/cli_api.rs"
[[test]]
name = "cli_auth"
path = "tests/cli_auth.rs"
[[test]]
name = "cli_cache"
path = "tests/cli_cache.rs"
[[test]]
name = "cli_completions"
path = "tests/cli_completions.rs"
[[test]]
name = "cli_download"
path = "tests/cli_download.rs"
[[test]]
name = "cli_exit_codes"
path = "tests/cli_exit_codes.rs"
[[test]]
name = "cli_init"
path = "tests/cli_init.rs"
[[test]]
name = "cli_output"
path = "tests/cli_output.rs"
[[test]]
name = "cli_platforms"
path = "tests/cli_platforms.rs"
[[test]]
name = "cli_roms"
path = "tests/cli_roms.rs"
[[test]]
name = "cli_scan"
path = "tests/cli_scan.rs"
[[test]]
name = "cli_sync"
path = "tests/cli_sync.rs"
[[test]]
name = "openapi_registry"
path = "tests/openapi_registry.rs"
[[test]]
name = "release_check"
path = "tests/release_check.rs"
[[test]]
name = "tui_app"
path = "tests/tui_app.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.base64]
version = "0.22"
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.clap_complete]
version = "4.5"
[dependencies.crossterm]
version = "0.29"
optional = true
[dependencies.dialoguer]
version = "0.12"
features = ["password"]
default-features = false
[dependencies.dirs]
version = "6.0"
[dependencies.image]
version = "0.25.10"
optional = true
[dependencies.indicatif]
version = "0.18.4"
[dependencies.keyring]
version = "4.0.1"
[dependencies.keyring-core]
version = "1.0.0"
[dependencies.md5]
version = "0.8"
[dependencies.percent-encoding]
version = "2.3"
[dependencies.ratatui]
version = "0.30"
optional = true
[dependencies.ratatui-image]
version = "11.0.2"
features = [
"crossterm",
"image-defaults",
]
optional = true
default-features = false
[dependencies.ratatui-themekit]
version = "0.6"
features = ["serde"]
optional = true
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"multipart",
"query",
"rustls",
"http2",
]
default-features = false
[dependencies.self_update]
version = "0.44.0"
features = [
"reqwest",
"rustls",
"archive-zip",
"archive-tar",
"compression-flate2",
"compression-zip-deflate",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.11"
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
features = ["formatting"]
[dependencies.tokio]
version = "1.37"
features = [
"macros",
"rt-multi-thread",
"fs",
"io-util",
"time",
"signal",
]
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]
[dependencies.unicode-normalization]
version = "0.1"
optional = true
[dependencies.zip]
version = "8.5.1"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.httpmock]
version = "0.7"
[dev-dependencies.predicates]
version = "3.1"
[dev-dependencies.wiremock]
version = "0.6.5"
[profile.release]
strip = true