pakker/Cargo.toml
NotAShelf 0fcb0d3e76
chore: tag 1.0.0
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4cdbb718508af5f4b03ce2d1643bb98b6a6a6964
2026-04-24 02:19:30 +03:00

102 lines
3 KiB
TOML

[package]
name = "pakker"
version = "1.0.0"
edition = "2024"
authors = [ "NotAShelf <raf@notashelf.dev>" ]
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