Phase 1 - Code Quality: - Rename script/script.rs to script/types.rs (module inception fix) - Apply Clippy lint fixes (is_none_or, is_some_and, char patterns, etc.) - Implement FromStr for CatalogFile and Category - Add filtered_targets() and filtered_repos() helpers to Config Phase 2 - Validation & Error Handling: - Add validate_repo_identifier() for GitHub shorthand validation - Fix first-run setup to fail gracefully if no targets configured - Improve import to collect failures and only save on success - Add AssetInstallResult for detailed install failure tracking - Fix lockfile timestamp documentation (Unix epoch, not RFC 3339) - Add comprehensive RevType heuristics documentation - Add checkout warning when local modifications will be discarded Phase 3 - Test Coverage: - Add tempfile, assert_cmd, predicates dev dependencies - Add security tests (symlink boundaries, copy mode) - Add git operations tests (init, head_commit, RevType parsing) - Add lockfile tests (roundtrip, lock/get operations) - Add CLI integration tests (help, validation, duplicates) - Add config validation tests for new helper methods All 48 tests pass, clippy clean, release build verified.
43 lines
803 B
TOML
43 lines
803 B
TOML
[package]
|
|
name = "empeve"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Plugin manager for mpv"
|
|
authors = ["vikingowl"]
|
|
license = "MIT"
|
|
repository = "https://somegit.dev/vikingowl/empeve"
|
|
keywords = ["mpv", "scripts", "package-manager", "cli"]
|
|
categories = ["command-line-utilities", "multimedia"]
|
|
|
|
[dependencies]
|
|
clap = { version = "4", features = ["derive"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
toml = "0.8"
|
|
git2 = "0.19"
|
|
dirs = "5"
|
|
thiserror = "1"
|
|
walkdir = "2"
|
|
colored = "2"
|
|
indicatif = "0.17"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
assert_cmd = "2"
|
|
predicates = "3"
|
|
|
|
[features]
|
|
default = []
|
|
tui = ["ratatui", "crossterm"]
|
|
|
|
[dependencies.ratatui]
|
|
version = "0.28"
|
|
optional = true
|
|
|
|
[dependencies.crossterm]
|
|
version = "0.28"
|
|
optional = true
|
|
|
|
[[bin]]
|
|
name = "empeve"
|
|
path = "src/main.rs"
|