[package]
edition = "2021"
name = "valknut-rs"
version = "1.5.1"
authors = ["Nathan Rice <nathan@sibylline.dev>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance Rust implementation of valknut code analysis algorithms"
readme = "README.md"
keywords = [
"code-analysis",
"refactoring",
"algorithms",
"performance",
]
categories = [
"development-tools",
"algorithms",
"science",
]
license = "MIT"
repository = "https://github.com/nathanricedev/valknut"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
benchmarks = ["criterion"]
default = [
"mimalloc",
"simd",
"parallel",
]
jemalloc = ["jemallocator"]
lto = []
parallel = ["rayon/web_spin_lock"]
property-testing = ["proptest"]
simd = []
vendored-openssl = ["openssl/vendored"]
[lib]
name = "valknut_rs"
crate-type = ["rlib"]
path = "src/lib.rs"
[[bin]]
name = "valknut"
path = "src/bin/valknut.rs"
[[example]]
name = "clone_verification"
path = "examples/clone_verification.rs"
[[example]]
name = "simplified_config_demo"
path = "examples/simplified_config_demo.rs"
[[example]]
name = "test_memory_pools"
path = "examples/test_memory_pools.rs"
[[example]]
name = "test_phase4_example"
path = "examples/test_phase4_example.rs"
[[test]]
name = "arena_analysis"
path = "tests/arena_analysis.rs"
[[test]]
name = "code_dictionary_coverage"
path = "tests/code_dictionary_coverage.rs"
[[test]]
name = "cpp_benchmark_eval"
path = "tests/cpp_benchmark_eval.rs"
[[test]]
name = "full_analysis"
path = "tests/full_analysis.rs"
[[test]]
name = "pipeline_result_types"
path = "tests/pipeline_result_types.rs"
[[bench]]
name = "performance"
path = "benchmarks/src/performance.rs"
harness = false
required-features = ["benchmarks"]
[dependencies.ahash]
version = "0.8"
[dependencies.aho-corasick]
version = "1.1"
[dependencies.anyhow]
version = "1.0"
[dependencies.arc-swap]
version = "1.6"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bincode]
version = "1.3"
[dependencies.bitvec]
version = "1.0"
[dependencies.blake3]
version = "1.5"
[dependencies.bloom]
version = "0.3"
[dependencies.bumpalo]
version = "3.19.0"
features = ["collections"]
[dependencies.bytemuck]
version = "1.14"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.0"
features = [
"derive",
"env",
"color",
]
[dependencies.config]
version = "0.13"
[dependencies.console]
version = "0.15"
[dependencies.criterion]
version = "0.5"
optional = true
[dependencies.crossbeam]
version = "0.8"
[dependencies.dashmap]
version = "5.5"
[dependencies.dialoguer]
version = "0.11"
[dependencies.dirs]
version = "5.0"
[dependencies.edit-distance]
version = "2.1"
[dependencies.fastembed]
version = "5"
[dependencies.fnv]
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.git2]
version = "0.18"
[dependencies.glob]
version = "0.3"
[dependencies.globset]
version = "0.4"
[dependencies.handlebars]
version = "4.5"
[dependencies.hashbrown]
version = "0.14"
[dependencies.hyperloglog]
version = "1.0"
[dependencies.ignore]
version = "0.4"
[dependencies.indexmap]
version = "2.0"
[dependencies.indicatif]
version = "0.17"
[dependencies.jemallocator]
version = "0.5"
optional = true
[dependencies.jsonrpsee]
version = "0.21"
features = [
"server",
"macros",
]
[dependencies.lasso]
version = "0.7.3"
features = ["multi-threaded"]
[dependencies.lazy_static]
version = "1.4"
[dependencies.mimalloc]
version = "0.1"
optional = true
[dependencies.nalgebra]
version = "0.32"
features = ["serde-serialize"]
[dependencies.ndarray]
version = "0.15"
features = [
"serde",
"rayon",
]
[dependencies.num-integer]
version = "0.1"
[dependencies.num-traits]
version = "0.2"
[dependencies.once_cell]
version = "1.21"
[dependencies.openssl]
version = "0.10"
optional = true
[dependencies.owo-colors]
version = "3.5"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pathfinding]
version = "4.0"
[dependencies.petgraph]
version = "0.6"
features = ["serde-1"]
[dependencies.probabilistic-collections]
version = "0.7"
[dependencies.proptest]
version = "1.0"
optional = true
[dependencies.quick-xml]
version = "0.31"
[dependencies.rayon]
version = "1.8"
[dependencies.reqwest]
version = "0.12.23"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.scribe-core]
version = "0.5.1"
[dependencies.seahash]
version = "4.1"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.smallvec]
version = "1.11"
features = ["serde"]
[dependencies.statrs]
version = "0.16"
[dependencies.tabled]
version = "0.14"
features = ["color"]
[dependencies.textwrap]
version = "0.16"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.35"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.tree-edit-distance]
version = "0.4"
[dependencies.tree-sitter]
version = "0.25"
[dependencies.tree-sitter-cpp]
version = "0.23"
[dependencies.tree-sitter-go]
version = "0.25"
[dependencies.tree-sitter-javascript]
version = "0.25"
[dependencies.tree-sitter-python]
version = "0.25"
[dependencies.tree-sitter-rust]
version = "0.24"
[dependencies.tree-sitter-typescript]
version = "0.23"
[dependencies.twox-hash]
version = "1.6"
[dependencies.unicode-segmentation]
version = "1.10"
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.6"
features = [
"v4",
"serde",
]
[dependencies.walkdir]
version = "2.4"
[dependencies.wide]
version = "0.7"
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.gag]
version = "1"
[dev-dependencies.predicates]
version = "3.0"
[dev-dependencies.proptest]
version = "1.0"
[dev-dependencies.quickcheck]
version = "1.0"
[dev-dependencies.quickcheck_macros]
version = "1.0"
[dev-dependencies.serial_test]
version = "2.0"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio-test]
version = "0.4"
[profile.bench]
opt-level = 3
lto = true
debug = 2
[profile.profiling]
lto = false
debug = 2
inherits = "release"
strip = false
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = "line-tables-only"
panic = "abort"
strip = false