[package]
name = "lastfm-edit"
version = "0.3.1"
edition = "2021"
description = "Rust crate for programmatic access to Last.fm's scrobble editing functionality via web scraping"
license = "MIT"

[dependencies]
# Core dependencies
http-client = { version = "^6.6.3", package = "http-client-2", default-features = false }
http-types = { version = "^3.1.0", package = "http-types-2" }
scraper = { version = "0.23.1" }
chrono = { version = "0.4", features = ["serde"] }
thiserror = "1.0"
urlencoding = "2.1"
futures = "0.3"
regex = "1.0"
log = "0.4"
time = { version = "0.3", features = ["wasm-bindgen"] }

# Optional dependencies for CLI features
tokio = { version = "1.0", features = ["full"], optional = true }
ratatui = { version = "0.28", optional = true }
crossterm = { version = "0.28", optional = true }
env_logger = { version = "0.11", optional = true }

[features]
default = ["cli"]
cli = ["tokio", "ratatui", "crossterm", "env_logger"]
wasm = ["http-client/wasm_client"]
curl = ["http-client/curl_client"]

[dev-dependencies]
tokio-test = "0.4"

[[example]]
name = "login_test"
path = "examples/login_test.rs"

[[example]]
name = "list_tracks"
path = "examples/list_tracks.rs"

[[example]]
name = "list_album_tracks"
path = "examples/list_album_tracks.rs"

[[example]]
name = "rename_album"
path = "examples/rename_album.rs"

[[example]]
name = "clean_artist_tracks"
path = "examples/clean_artist_tracks.rs"

[[example]]
name = "tui"
path = "examples/tui.rs"

[[example]]
name = "remove_remaster"
path = "examples/remove_remaster.rs"

[[example]]
name = "rename_artist"
path = "examples/rename_artist.rs"

[[example]]
name = "list_recent_tracks"
path = "examples/list_recent_tracks.rs"

