[package]
edition = "2024"
rust-version = "1.88"
name = "scrape-core"
version = "0.2.2"
authors = ["Andrei G. <k05h31@gmail.com>"]
build = false
include = [
"src/**/*",
"Cargo.toml",
"README.md",
"LICENSE-MIT",
"LICENSE-APACHE",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance HTML parsing library core"
readme = "README.md"
keywords = [
"html",
"parser",
"scraping",
"css-selectors",
"dom",
]
categories = [
"parsing",
"web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/bug-ops/scrape-rs"
resolver = "2"
[features]
default = []
full = [
"streaming",
"mmap",
"simd",
"parallel",
]
mmap = ["memmap2"]
parallel = ["rayon"]
simd = []
streaming = [
"lol_html",
"encoding_rs",
]
[lib]
name = "scrape_core"
path = "src/lib.rs"
[dependencies.cssparser]
version = "0.36"
[dependencies.encoding_rs]
version = "0.8"
optional = true
[dependencies.html5ever]
version = "0.36"
[dependencies.lol_html]
version = "2.7"
optional = true
[dependencies.markup5ever]
version = "0.36"
[dependencies.markup5ever_rcdom]
version = "0.36"
[dependencies.memchr]
version = "2.7"
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.precomputed-hash]
version = "0.1"
[dependencies.rayon]
version = "1.11"
optional = true
[dependencies.selectors]
version = "0.35"
[dependencies.thiserror]
version = "2.0"
[dev-dependencies.criterion]
version = "0.8"
default-features = false
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"
[lints.clippy]
cargo_common_metadata = "allow"
doc_markdown = "allow"
missing_const_for_fn = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
return_self_not_must_use = "allow"
unused_self = "allow"
use_self = "allow"
used_underscore_binding = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
dead_code = "allow"
missing_docs = "warn"
unsafe_code = "warn"
unused_variables = "allow"