[package]
name = "lode"
version = "0.1.0"
edition = "2024"
authors = ["Shannon Skipper"]
description = "A Ruby package manager"
license = "MIT"
repository = "https://github.com/havenwood/lode"
keywords = ["ruby", "gem", "package-manager", "bundler", "dependencies"]
categories = ["command-line-utilities", "development-tools"]
[[bin]]
name = "lode"
path = "src/main.rs"
[dependencies]
clap = { version = "4.5", features = ["derive", "cargo", "env"] }
clap_complete = "4.5"
tokio = { version = "1.40", features = ["macros", "rt-multi-thread", "sync", "fs", "io-util"] }
futures-util = "0.3"
reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls", "multipart"], default-features = false }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.9"
pubgrub = "0.3"
crossterm = "0.29"
tar = "0.4"
flate2 = "1.0"
marshal-rs = "1.1"
git2 = "0.20"
anyhow = "1.0"
thiserror = "2.0"
tempfile = "3.13"
dirs = "6.0"
chrono = "0.4"
sha2 = "0.10"
x509-verify = { version = "0.4", features = ["rsa", "sha2", "x509", "pem"] }
x509-cert = { version = "0.2", features = ["pem"] }
der = { version = "0.7", features = ["pem"] }
rcgen = "0.13"
time = "0.3"
unicode-width = "=0.2.0"
regex = "1.12.2"
semver = "1.0.27"
indicatif = "0.18.2"
rayon = "1.11.0"
walkdir = "2.5.0"
[dev-dependencies]
[package.metadata.cargo-machete]
ignored = ["unicode-width"]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[lints.clippy]
cargo = { level = "deny", priority = -1 }
correctness = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }
style = { level = "deny", priority = -1 }
suspicious = { level = "deny", priority = -1 }
redundant_pub_crate = "allow"
missing_const_for_fn = "allow"
multiple_crate_versions = "allow"
missing_errors_doc = "allow"
must_use_candidate = "allow"
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
cast_precision_loss = "allow"
too_many_lines = "allow"
similar_names = "allow"
struct_excessive_bools = "allow"
boxed_local = "deny"
clone_on_copy = "deny"
cognitive_complexity = "deny"
panic = "deny"
todo = "deny"
unimplemented = "deny"
undocumented_unsafe_blocks = "deny"
multiple_unsafe_ops_per_block = "deny"
indexing_slicing = "deny"
[lints.rust]
future_incompatible = { level = "deny", priority = -1 }
let_underscore = { level = "deny", priority = -1 }
nonstandard_style = { level = "deny", priority = -1 }
rust_2018_compatibility = { level = "deny", priority = -1 }
rust_2018_idioms = { level = "deny", priority = -1 }
rust_2021_compatibility = { level = "deny", priority = -1 }
rust_2024_compatibility = { level = "deny", priority = -1 }
unused = { level = "deny", priority = -1 }
missing_copy_implementations = "deny"
missing_debug_implementations = "deny"
single_use_lifetimes = "deny"
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unreachable_pub = "deny"
variant_size_differences = "deny"
unsafe_code = "deny"