[package]
edition = "2021"
rust-version = "1.85.0"
name = "ripex"
version = "0.3.0"
build = false
exclude = [
"/target",
"/.graxus",
"graxus.yaml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "ripex"
description = "Multi-language structural parsing and fact extraction."
homepage = "https://github.com/astraive/ripex"
readme = "README.md"
keywords = [
"parser",
"parser-combinator",
"ast",
"code-analysis",
"recursive-descent",
]
categories = [
"parsing",
"development-tools",
]
license = "MIT"
repository = "https://github.com/astraive/ripex"
[package.metadata.security]
contact = "neerajcodz@gmail.com"
[features]
cli = [
"dep:anyhow",
"dep:clap",
"serde",
]
default = ["lang-all"]
lang-all = [
"lang-python",
"lang-go",
"lang-rust",
"lang-c",
"lang-cpp",
"lang-csharp",
"lang-js",
]
lang-c = []
lang-cpp = []
lang-csharp = []
lang-go = []
lang-js = []
lang-python = []
lang-rust = []
serde = ["dep:serde"]
[lib]
name = "ripex"
path = "src/lib.rs"
[[bin]]
name = "ripex"
path = "src/main.rs"
required-features = ["cli"]
[[example]]
name = "evidence_report"
path = "examples/evidence_report.rs"
required-features = ["lang-all"]
[[example]]
name = "probe"
path = "examples/probe.rs"
[[example]]
name = "probe_file"
path = "examples/probe_file.rs"
[[example]]
name = "scan"
path = "examples/scan.rs"
[[test]]
name = "cli_end_to_end"
path = "tests/cli_end_to_end.rs"
[[test]]
name = "codegen_reuse"
path = "tests/codegen_reuse.rs"
[[test]]
name = "compiler_check"
path = "tests/compiler_check.rs"
[[test]]
name = "fuzz_isolate"
path = "tests/fuzz_isolate.rs"
[[test]]
name = "fuzz_smoke"
path = "tests/fuzz_smoke.rs"
[[test]]
name = "js_crash_probe"
path = "tests/js_crash_probe.rs"
[[test]]
name = "oversized_input"
path = "tests/oversized_input.rs"
[[test]]
name = "public_api"
path = "tests/public_api.rs"
[[test]]
name = "ripex_lang_test_repos"
path = "tests/ripex_lang_test_repos.rs"
[[bench]]
name = "parse_all_langs"
path = "benches/parse_all_langs.rs"
harness = false
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.tree-sitter]
version = "0.25"
[dev-dependencies.tree-sitter-c]
version = "0.24"
[dev-dependencies.tree-sitter-c-sharp]
version = "0.23"
[dev-dependencies.tree-sitter-cpp]
version = "0.23"
[dev-dependencies.tree-sitter-go]
version = "0.23"
[dev-dependencies.tree-sitter-javascript]
version = "0.23"
[dev-dependencies.tree-sitter-python]
version = "0.23"
[dev-dependencies.tree-sitter-rust]
version = "0.24"
[dev-dependencies.tree-sitter-typescript]
version = "0.23"
[profile.bench]
opt-level = 3
lto = "thin"
codegen-units = 1
debug = 0
[profile.release]
opt-level = "z"
lto = "fat"
codegen-units = 1
panic = "abort"
strip = "symbols"