mirror of
https://github.com/j178/prek.git
synced 2026-03-13 09:04:03 +02:00
217 lines
6.0 KiB
TOML
217 lines
6.0 KiB
TOML
[workspace]
|
|
members = ["crates/*"]
|
|
resolver = "3"
|
|
|
|
[workspace.package]
|
|
version = "0.3.5"
|
|
edition = "2024"
|
|
rust-version = "1.91"
|
|
repository = "https://github.com/j178/prek"
|
|
homepage = "https://prek.j178.dev/"
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
prek-consts = { path = "crates/prek-consts", version = "0.3.5" }
|
|
prek-identify = { path = "crates/prek-identify", version = "0.3.5" }
|
|
prek-pty = { path = "crates/prek-pty", version = "0.3.5" }
|
|
|
|
anstream = { version = "0.6.15" }
|
|
anstyle-query = { version = "1.1.5" }
|
|
anyhow = { version = "1.0.86" }
|
|
async-compression = { version = "0.4.18", features = ["gzip", "xz", "tokio"] }
|
|
async_zip = { version = "0.0.17", package = "astral_async_zip", features = [
|
|
"deflate",
|
|
"tokio",
|
|
] }
|
|
axoupdater = { version = "0.10.0", default-features = false, features = [
|
|
"github_releases",
|
|
] }
|
|
bstr = { version = "1.11.0" }
|
|
cargo_metadata = { version = "0.23.1" }
|
|
clap = { version = "4.5.16", features = [
|
|
"derive",
|
|
"env",
|
|
"string",
|
|
"wrap_help",
|
|
] }
|
|
clap_complete = { version = "4.5.37", features = ["unstable-dynamic"] }
|
|
ctrlc = { version = "3.4.5" }
|
|
dunce = { version = "1.0.5" }
|
|
etcetera = { version = "0.11.0" }
|
|
fancy-regex = { version = "0.17.0" }
|
|
fs-err = { version = "3.1.0", features = ["tokio"] }
|
|
futures = { version = "0.3.31" }
|
|
hex = { version = "0.4.3" }
|
|
http = { version = "1.1.0" }
|
|
ignore = { version = "0.4.23" }
|
|
indicatif = { version = "0.18.0" }
|
|
indoc = { version = "2.0.5" }
|
|
itertools = { version = "0.14.0" }
|
|
json5 = { version = "1.3.0" }
|
|
lazy-regex = { version = "3.4.2" }
|
|
levenshtein = { version = "1.0.5" }
|
|
libc = { version = "0.2.182" }
|
|
# Enable static linking for liblzma
|
|
# This is required for the `xz` feature in `async-compression`
|
|
liblzma = { version = "0.4.5", features = ["static"] }
|
|
mea = { version = "0.6.3" }
|
|
memchr = { version = "2.7.5" }
|
|
owo-colors = { version = "4.1.0" }
|
|
path-clean = { version = "1.0.1" }
|
|
phf = { version = "0.13.1", default-features = false, features = ["macros"] }
|
|
pprof = { version = "0.15.0" }
|
|
quick-xml = { version = "0.39" }
|
|
rand = { version = "0.10.0" }
|
|
rayon = { version = "1.10.0" }
|
|
reqwest = { version = "0.13.2", default-features = false, features = [
|
|
"http2",
|
|
"stream",
|
|
"json",
|
|
"rustls",
|
|
"system-proxy",
|
|
"socks",
|
|
] }
|
|
rustc-hash = { version = "2.1.1" }
|
|
rustix = { version = "1.0.8", features = ["pty", "process", "fs", "termios"] }
|
|
same-file = { version = "1.0.6" }
|
|
semver = { version = "1.0.24", features = ["serde"] }
|
|
serde = { version = "1.0.210", features = ["derive"] }
|
|
serde_json = { version = "1.0.132", features = [
|
|
"preserve_order",
|
|
"unbounded_depth",
|
|
] }
|
|
serde_stacker = { version = "0.1.12" }
|
|
serde-saphyr = { version = "0.0.20", default-features = false }
|
|
shlex = { version = "1.3.0" }
|
|
globset = { version = "0.4.18" }
|
|
strum = { version = "0.28.0", features = ["derive"] }
|
|
target-lexicon = { version = "0.13.0" }
|
|
tempfile = { version = "3.25.0" }
|
|
thiserror = { version = "2.0.11" }
|
|
tokio = { version = "1.47.1", features = [
|
|
"fs",
|
|
"io-std",
|
|
"process",
|
|
"rt",
|
|
"sync",
|
|
"macros",
|
|
"net",
|
|
] }
|
|
tokio-tar = { version = "0.5.6", package = "astral-tokio-tar" }
|
|
tokio-util = { version = "0.7.13" }
|
|
toml = { version = "1.0.1", default-features = false, features = [
|
|
"fast_hash",
|
|
"parse",
|
|
"preserve_order",
|
|
"serde",
|
|
] }
|
|
toml_edit = { version = "0.25.1" }
|
|
tracing = { version = "0.1.40" }
|
|
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
|
|
unicode-width = { version = "0.2.0", default-features = false }
|
|
walkdir = { version = "2.5.0" }
|
|
webpki-root-certs = { version = "1.0.6" }
|
|
which = { version = "8.0.0" }
|
|
|
|
# dev-dependencies
|
|
assert_cmd = { version = "2.0.16", features = ["color"] }
|
|
assert_fs = { version = "1.1.2" }
|
|
insta = { version = "1.40.0", features = ["filters"] }
|
|
insta-cmd = { version = "0.6.0" }
|
|
markdown = { version = "1.0.0" }
|
|
predicates = { version = "3.1.2" }
|
|
pretty_assertions = { version = "1.4.1" }
|
|
regex = { version = "1.11.0" }
|
|
schemars = { version = "1.1.0" }
|
|
textwrap = { version = "0.16.0" }
|
|
|
|
[workspace.lints.rust]
|
|
dead_code = "allow"
|
|
|
|
[workspace.lints.clippy]
|
|
pedantic = { level = "warn", priority = -2 }
|
|
# Allowed pedantic lints
|
|
collapsible_else_if = "allow"
|
|
collapsible_if = "allow"
|
|
if_not_else = "allow"
|
|
implicit_hasher = "allow"
|
|
map_unwrap_or = "allow"
|
|
match_same_arms = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
similar_names = "allow"
|
|
too_many_arguments = "allow"
|
|
too_many_lines = "allow"
|
|
used_underscore_binding = "allow"
|
|
items_after_statements = "allow"
|
|
iter-without-into-iter = "allow"
|
|
# Disallowed restriction lints
|
|
print_stdout = "warn"
|
|
print_stderr = "warn"
|
|
dbg_macro = "warn"
|
|
empty_drop = "warn"
|
|
empty_structs_with_brackets = "warn"
|
|
exit = "warn"
|
|
get_unwrap = "warn"
|
|
rc_buffer = "warn"
|
|
rc_mutex = "warn"
|
|
rest_pat_in_fully_bound_structs = "warn"
|
|
|
|
[workspace.metadata.typos.default]
|
|
extend-ignore-re = [
|
|
'(?s)-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----',
|
|
]
|
|
|
|
[workspace.metadata.typos.default.extend-words]
|
|
edn = "edn"
|
|
styl = "styl"
|
|
jod = "jod"
|
|
|
|
[workspace.metadata.typos.files]
|
|
extend-exclude = ["scripts/macports"]
|
|
|
|
[workspace.metadata.cargo-shear]
|
|
ignored = ["liblzma"]
|
|
|
|
[profile.dev.package]
|
|
# Insta suggests compiling these packages in opt mode for faster testing.
|
|
# See https://docs.rs/insta/latest/insta/#optional-faster-runs.
|
|
insta.opt-level = 3
|
|
similar.opt-level = 3
|
|
|
|
# Profile for fast test execution: Skip debug info generation, and
|
|
# apply basic optimization, which speed up build and running tests.
|
|
[profile.fast-build]
|
|
inherits = "dev"
|
|
debug = 0
|
|
strip = "debuginfo"
|
|
|
|
# Profile for faster builds: Skip debug info generation, for faster
|
|
# builds of smaller binaries.
|
|
[profile.no-debug]
|
|
inherits = "dev"
|
|
debug = 0
|
|
strip = "debuginfo"
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
strip = false
|
|
debug = "full"
|
|
lto = false
|
|
codegen-units = 16
|
|
|
|
[profile.minimal-size]
|
|
inherits = "release"
|
|
# Enable Full LTO for the best optimizations
|
|
lto = "fat"
|
|
# Reduce codegen units to 1 for better optimizations
|
|
codegen-units = 1
|
|
strip = true
|
|
panic = "abort"
|
|
|
|
# The profile that 'cargo dist' will build with
|
|
[profile.dist]
|
|
inherits = "minimal-size"
|