[workspace] members = [ "flake8_to_ruff", "ruff_dev", "ruff_cli", ] default-members = [".", "ruff_cli"] [package] name = "ruff" version = "0.0.232" authors = ["Charlie Marsh "] edition = "2021" rust-version = "1.65.0" documentation = "https://github.com/charliermarsh/ruff" homepage = "https://github.com/charliermarsh/ruff" repository = "https://github.com/charliermarsh/ruff" readme = "README.md" license = "MIT" [lib] name = "ruff" crate-type = ["cdylib", "rlib"] doctest = false [dependencies] anyhow = { version = "1.0.66" } bitflags = { version = "1.3.2" } cfg-if = { version = "1.0.0" } chrono = { version = "0.4.21", default-features = false, features = ["clock"] } clap = { version = "4.0.1", features = ["derive", "env"] } colored = { version = "2.0.0" } dirs = { version = "4.0.0" } fern = { version = "0.6.1" } glob = { version = "0.3.0" } globset = { version = "0.4.9" } ignore = { version = "0.4.18" } imperative = { version = "1.0.3" } itertools = { version = "0.10.5" } libcst = { git = "https://github.com/charliermarsh/LibCST", rev = "f2f0b7a487a8725d161fe8b3ed73a6758b21e177" } log = { version = "0.4.17" } natord = { version = "1.0.9" } nohash-hasher = { version = "0.2.0" } num-bigint = { version = "0.4.3" } num-traits = "0.2.15" once_cell = { version = "1.16.0" } path-absolutize = { version = "3.0.14", features = ["once_cell_cache", "use_unix_paths_on_wasm"] } regex = { version = "1.6.0" } ruff_macros = { version = "0.0.232", path = "ruff_macros" } rustc-hash = { version = "1.1.0" } rustpython-ast = { features = ["unparse"], git = "https://github.com/RustPython/RustPython.git", rev = "4f38cb68e4a97aeea9eb19673803a0bd5f655383" } rustpython-common = { git = "https://github.com/RustPython/RustPython.git", rev = "4f38cb68e4a97aeea9eb19673803a0bd5f655383" } rustpython-parser = { features = ["lalrpop"], git = "https://github.com/RustPython/RustPython.git", rev = "4f38cb68e4a97aeea9eb19673803a0bd5f655383" } schemars = { version = "0.8.11" } semver = { version = "1.0.16" } serde = { version = "1.0.147", features = ["derive"] } shellexpand = { version = "3.0.0" } smallvec = { version = "1.10.0" } strum = { version = "0.24.1", features = ["strum_macros"] } strum_macros = { version = "0.24.3" } textwrap = { version = "0.16.0" } thiserror = { version = "1.0" } titlecase = { version = "2.2.1" } toml = { version = "0.6.0", features= ["parse"] } # https://docs.rs/getrandom/0.2.7/getrandom/#webassembly-support # For (future) wasm-pack support [target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dependencies] getrandom = { version = "0.2.7", features = ["js"] } console_error_panic_hook = { version = "0.1.7" } console_log = { version = "0.2.0" } serde-wasm-bindgen = { version = "0.4" } js-sys = { version = "0.3.60" } wasm-bindgen = { version = "0.2.83" } [dev-dependencies] insta = { version = "1.19.1", features = ["yaml"] } test-case = { version = "2.2.2" } wasm-bindgen-test = { version = "0.3.33" } [target.'cfg(not(target_family = "wasm"))'.dev-dependencies] criterion = { version = "0.4.0" } [profile.release] panic = "abort" lto = "thin" codegen-units = 1 opt-level = 3 [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.rustpython-parser] opt-level = 1