[package] name = "pakker" version = "1.0.0" edition = "2024" authors = [ "NotAShelf " ] description = "A fast, reliable multiplatform modpack manager for Minecraft" keywords = [ "minecraft", "modpack", "modrinth", "curseforge", "package-manager" ] categories = [ "command-line-utilities", "games" ] rust-version = "1.94.0" readme = true [dependencies] anyhow = "1.0.102" async-trait = "0.1.89" clap = { version = "4.6.1", features = [ "derive" ] } comfy-table = "7.2.2" dialoguer = "0.12.0" env_logger = "0.11.10" futures = "0.3.32" git2 = "0.20.4" glob = "0.3.3" indicatif = "0.18.4" keyring = "3.6.3" libc = "0.2.185" log = "0.4.29" md-5 = "0.11.0" rand = "0.10.1" regex = "1.12.3" reqwest = { version = "0.13.2", features = [ "json" ] } semver = "1.0.28" serde = { version = "1.0.228", features = [ "derive" ] } serde_json = "1.0.149" sha1 = "0.11.0" sha2 = "0.11.0" strsim = "0.11.1" tempfile = "3.27.0" textwrap = "0.16.2" thiserror = "2.0.18" tokio = { version = "1.52.1", features = [ "full" ] } walkdir = "2.5.0" yansi = "1.0.1" zip = "8.5.1" [dev-dependencies] mockito = "1.7.2" tempfile = "3.27.0" [lints.clippy] cargo = { level = "warn", priority = -1 } complexity = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 } perf = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } # The lint groups above enable some less-than-desirable rules, we should manually # enable those to keep our sanity. absolute_paths = "allow" arbitrary_source_item_ordering = "allow" enum_variant_names = "allow" implicit_return = "allow" missing_docs_in_private_items = "allow" non_ascii_literal = "allow" pattern_type_mismatch = "allow" print_stdout = "allow" question_mark_used = "allow" similar_names = "allow" single_call_fn = "allow" std_instead_of_core = "allow" struct_excessive_bools = "allow" too_long_first_doc_paragraph = "allow" too_many_lines = "allow" unused_trait_names = "allow" # In the honor of a recent Cloudflare regression # Let's get rid of them, what the hell panic = "deny" unwrap_used = "deny" # Less dangerous, but we'd like to know expect_used = "warn" todo = "warn" unimplemented = "warn" unreachable = "warn" # Optimize crypto stuff. Building them with optimizations makes that build script # run ~5x faster, more than offsetting the additional build time added to the # libraries themselves. [profile.dev.package.sha2] opt-level = 3 [profile.dev.package.sha1] opt-level = 3 [profile.dev.package.md-5] opt-level = 3 [profile.release] lto = true opt-level = 3 strip = true