[package]
name = "scrape-core"
description = "High-performance HTML parsing library core"
publish = true
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"
include = [
"src/**/*",
"Cargo.toml",
"README.md",
"LICENSE-MIT",
"LICENSE-APACHE",
]
[dependencies]
cssparser.workspace = true
encoding_rs = { workspace = true, optional = true }
html5ever.workspace = true
lol_html = { workspace = true, optional = true }
markup5ever.workspace = true
markup5ever_rcdom.workspace = true
memchr.workspace = true
memmap2 = { workspace = true, optional = true }
precomputed-hash.workspace = true
rayon = { workspace = true, optional = true }
selectors.workspace = true
thiserror.workspace = true
[dev-dependencies]
criterion.workspace = true
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
[lints]
workspace = true
[features]
default = []
simd = []
parallel = ["rayon"]
streaming = ["lol_html", "encoding_rs"]
mmap = ["memmap2"]
full = ["streaming", "mmap", "simd", "parallel"]
[[bench]]
name = "parse"
harness = false
[[bench]]
name = "simd"
harness = false
[[bench]]
name = "selector_optimization"
harness = false
[[bench]]
name = "fragment_and_extraction"
harness = false
[[bench]]
name = "performance"
harness = false
[[bench]]
name = "streaming"
harness = false
[[bench]]
name = "batch_processing"
harness = false
[[bench]]
name = "streaming_memory"
harness = false
[[test]]
name = "integration"
path = "../../tests/integration/mod.rs"
[[bench]]
name = "comparison"
harness = false
path = "../../benches/comparison.rs"