mirror of https://github.com/astral-sh/ruff
179 lines
5.9 KiB
TOML
179 lines
5.9 KiB
TOML
[workspace]
|
|
members = ["crates/*"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
rust-version = "1.71"
|
|
homepage = "https://docs.astral.sh/ruff"
|
|
documentation = "https://docs.astral.sh/ruff"
|
|
repository = "https://github.com/astral-sh/ruff"
|
|
authors = ["Charlie Marsh <charlie.r.marsh@gmail.com>"]
|
|
license = "MIT"
|
|
|
|
[workspace.dependencies]
|
|
aho-corasick = { version = "1.1.2" }
|
|
annotate-snippets = { version = "0.9.2", features = ["color"] }
|
|
anyhow = { version = "1.0.79" }
|
|
argfile = { version = "0.1.6" }
|
|
assert_cmd = { version = "2.0.13" }
|
|
bincode = { version = "1.3.3" }
|
|
bitflags = { version = "2.4.1" }
|
|
bstr = { version = "1.9.0" }
|
|
cachedir = { version = "0.3.1" }
|
|
chrono = { version = "0.4.34", default-features = false, features = ["clock"] }
|
|
clap = { version = "4.4.18", features = ["derive"] }
|
|
clap_complete_command = { version = "0.5.1" }
|
|
clearscreen = { version = "2.0.0" }
|
|
codspeed-criterion-compat = { version = "2.3.3", default-features = false }
|
|
colored = { version = "2.1.0" }
|
|
configparser = { version = "3.0.3" }
|
|
console_error_panic_hook = { version = "0.1.7" }
|
|
console_log = { version = "1.0.0" }
|
|
countme = { version ="3.0.1"}
|
|
criterion = { version = "0.5.1", default-features = false }
|
|
dirs = { version = "5.0.0" }
|
|
drop_bomb = { version = "0.1.5" }
|
|
env_logger = { version ="0.10.1"}
|
|
fern = { version = "0.6.1" }
|
|
filetime = { version = "0.2.23" }
|
|
fs-err = { version ="2.11.0"}
|
|
glob = { version = "0.3.1" }
|
|
globset = { version = "0.4.14" }
|
|
hexf-parse = { version ="0.2.1"}
|
|
ignore = { version = "0.4.22" }
|
|
imara-diff ={ version = "0.1.5"}
|
|
imperative = { version = "1.0.4" }
|
|
indicatif ={ version = "0.17.8"}
|
|
indoc ={ version = "2.0.4"}
|
|
insta = { version = "1.34.0", feature = ["filters", "glob"] }
|
|
insta-cmd = { version = "0.4.0" }
|
|
is-macro = { version = "0.3.5" }
|
|
is-wsl = { version = "0.4.0" }
|
|
itertools = { version = "0.12.1" }
|
|
js-sys = { version = "0.3.67" }
|
|
lalrpop-util = { version = "0.20.0", default-features = false }
|
|
lexical-parse-float = { version = "0.8.0", features = ["format"] }
|
|
libcst = { version = "1.1.0", default-features = false }
|
|
log = { version = "0.4.17" }
|
|
memchr = { version = "2.7.1" }
|
|
mimalloc = { version ="0.1.39"}
|
|
natord = { version = "1.0.9" }
|
|
notify = { version = "6.1.1" }
|
|
once_cell = { version = "1.19.0" }
|
|
path-absolutize = { version = "3.1.1" }
|
|
pathdiff = { version = "0.2.1" }
|
|
pep440_rs = { version = "0.4.0", features = ["serde"] }
|
|
pretty_assertions = "1.3.0"
|
|
proc-macro2 = { version = "1.0.78" }
|
|
pyproject-toml = { version = "0.9.0" }
|
|
quick-junit = { version = "0.3.5" }
|
|
quote = { version = "1.0.23" }
|
|
rand = { version = "0.8.5" }
|
|
rayon = { version = "1.8.1" }
|
|
regex = { version = "1.10.2" }
|
|
result-like = { version = "0.5.0" }
|
|
rustc-hash = { version = "1.1.0" }
|
|
schemars = { version = "0.8.16" }
|
|
seahash = { version ="4.1.0"}
|
|
semver = { version = "1.0.21" }
|
|
serde = { version = "1.0.196", features = ["derive"] }
|
|
serde-wasm-bindgen = { version = "0.6.3" }
|
|
serde_json = { version = "1.0.113" }
|
|
serde_test = { version = "1.0.152" }
|
|
serde_with = { version = "3.6.0", default-features = false, features = ["macros"] }
|
|
shellexpand = { version = "3.0.0" }
|
|
shlex = { version ="1.3.0"}
|
|
similar = { version = "2.4.0", features = ["inline"] }
|
|
smallvec = { version = "1.13.1" }
|
|
static_assertions = "1.1.0"
|
|
strum = { version = "0.25.0", features = ["strum_macros"] }
|
|
strum_macros = { version = "0.25.3" }
|
|
syn = { version = "2.0.40" }
|
|
tempfile = { version ="3.9.0"}
|
|
test-case = { version = "3.3.1" }
|
|
thiserror = { version = "1.0.57" }
|
|
tikv-jemallocator = { version ="0.5.0"}
|
|
toml = { version = "0.8.9" }
|
|
tracing = { version = "0.1.40" }
|
|
tracing-indicatif = { version = "0.3.6" }
|
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
|
typed-arena = { version = "2.0.2" }
|
|
unic-ucd-category = { version ="0.9"}
|
|
unicode-ident = { version = "1.0.12" }
|
|
unicode-width = { version = "0.1.11" }
|
|
unicode_names2 = { version = "1.2.1" }
|
|
ureq = { version = "2.9.1" }
|
|
url = { version = "2.5.0" }
|
|
uuid = { version = "1.6.1", features = ["v4", "fast-rng", "macro-diagnostics", "js"] }
|
|
walkdir = { version = "2.3.2" }
|
|
wasm-bindgen = { version = "0.2.84" }
|
|
wasm-bindgen-test = { version = "0.3.40" }
|
|
wild = { version = "2" }
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "warn"
|
|
unreachable_pub = "warn"
|
|
|
|
[workspace.lints.clippy]
|
|
pedantic = { level = "warn", priority = -2 }
|
|
# Allowed pedantic lints
|
|
char_lit_as_u8 = "allow"
|
|
collapsible_else_if = "allow"
|
|
collapsible_if = "allow"
|
|
implicit_hasher = "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_lines = "allow"
|
|
# To allow `#[allow(clippy::all)]` in `crates/ruff_python_parser/src/python.rs`.
|
|
needless_raw_string_hashes = "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"
|
|
|
|
[profile.release]
|
|
# Note that we set these explicitly, and these values
|
|
# were chosen based on a trade-off between compile times
|
|
# and runtime performance[1].
|
|
#
|
|
# [1]: https://github.com/astral-sh/ruff/pull/9031
|
|
lto = "thin"
|
|
codegen-units = 16
|
|
|
|
# Some crates don't change as much but benefit more from
|
|
# more expensive optimization passes, so we selectively
|
|
# decrease codegen-units in some cases.
|
|
[profile.release.package.ruff_python_parser]
|
|
codegen-units = 1
|
|
[profile.release.package.ruff_python_ast]
|
|
codegen-units = 1
|
|
|
|
[profile.dev.package.insta]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.similar]
|
|
opt-level = 3
|
|
|
|
# Reduce complexity of a parser function that would trigger a locals limit in a wasm tool.
|
|
# https://github.com/bytecodealliance/wasm-tools/blob/b5c3d98e40590512a3b12470ef358d5c7b983b15/crates/wasmparser/src/limits.rs#L29
|
|
[profile.dev.package.ruff_python_parser]
|
|
opt-level = 1
|
|
|
|
# Use the `--profile profiling` flag to show symbols in release mode.
|
|
# e.g. `cargo build --profile profiling`
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
debug = 1
|