bms-table 0.12.1

BMS (Be-Music Source) difficulty table parser & fetcher
Documentation
[package]
name = "bms-table"
version = "0.12.1"
edition = "2024"
license = "Apache-2.0"
description = "BMS (Be-Music Source) difficulty table parser & fetcher"
authors = ["MiyakoMeow"]
repository = "https://github.com/MiyakoMeow/bms-table-rs"
documentation = "https://docs.rs/bms-table"
categories = ["data-structures", "games"]
keywords = ["bms", "table", "data", "fetch", "parser"]

[features]
default = ["serde", "scraper", "reqwest"]
serde = ["dep:serde", "dep:serde_json"]
scraper = ["serde", "dep:scraper", "dep:url"]

reqwest = ["scraper", "dep:reqwest"]

[dependencies]
anyhow = "1"
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }

scraper = { version = "0.25", optional = true }
url = { version = "2", features = ["serde"], optional = true }

reqwest = { version = "0.13", features = ["cookies"], optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread", "test-util"] }

[lints.rust]
missing_docs = "warn"

[lints.clippy]
# Documentation & API
doc_markdown = "warn"
missing_errors_doc = "warn"
missing_docs_in_private_items = "warn"

# API semantics & usability
must_use_candidate = "warn"
must_use_unit = "warn"
missing_const_for_fn = "warn"
missing_const_for_thread_local = "warn"
default_trait_access = "warn"
option_option = "warn"
ptr_arg = "warn"
incompatible_msrv = "warn"
panic_in_result_fn = "warn"

# Borrowing & cloning
redundant_clone = "warn"
clone_on_copy = "warn"
implicit_clone = "warn"
unnecessary_to_owned = "warn"
needless_borrow = "warn"
needless_borrows_for_generic_args = "warn"
needless_borrowed_reference = "warn"
trivially_copy_pass_by_ref = "warn"

# Code style
redundant_closure_for_method_calls = "warn"
redundant_closure = "warn"
redundant_closure_call = "warn"
redundant_else = "warn"
redundant_feature_names = "warn"
semicolon_if_nothing_returned = "warn"
module_name_repetitions = "warn"
match_bool = "warn"
match_same_arms = "warn"
collapsible_match = "warn"
option_if_let_else = "warn"
manual_map = "warn"
manual_filter = "warn"
bind_instead_of_map = "warn"
needless_range_loop = "warn"
shadow_unrelated = "warn"
macro_use_imports = "warn"
explicit_deref_methods = "warn"
significant_drop_in_scrutinee = "warn"

# Numeric comparisons
float_cmp = "warn"

# Concurrency & async
await_holding_lock = "warn"
async_yields_async = "warn"
future_not_send = "warn"
large_futures = "warn"
if_let_mutex = "warn"

# Performance & memory
manual_memcpy = "warn"

# Modules & imports
wildcard_imports = "warn"

# Safety & error handling
unwrap_used = "warn"
expect_used = "warn"
unnecessary_unwrap = "warn"
unreachable = "warn"
indexing_slicing = "warn"