
[package]
name = "adblock"
version = "0.1.28"
authors = ["Andrius Aucinas <aaucinas@brave.com>"]
edition = "2018"

description = "Native Rust module for Adblock Plus syntax (e.g. EasyList, EasyPrivacy) filter parsing and matching."
repository = "https://github.com/brave/adblock-rust/"
license = "MPL-2.0"
readme = "README.md"

exclude = [
    "data/requests.json",
    "data/matching-tests-requests.json",
    "data/ublock-matches.tsv",
    "data/easylist-parse-errors.log",
]


[dependencies]
addr = "0.2"
url = "1.7"
matches = "0.1"
lazy_static = "1.3"
regex = "1"
bitflags = "1.0"
itertools = "0.8"
idna = "0.1"
# fasthash = "0.4"
serde =  { version = "1.0.92", features = ["derive", "rc"] }
bincode = "1.1"
flate2 = { version = "1.0.9", features = ["rust_backend"], default-features = false }
seahash = "3"
twoway = "0.2"
base64 = "0.10"
rmp-serde = "0.13.7"
hashbrown = { version = "0.3", features = ["serde"], default-features = false }
lifeguard = { version = "0.6", optional = true }
memoffset = { version = "0.5.1" }
tempfile = "~3.0.8"

[dev-dependencies]
criterion = "0.2"
csv = "1"
serde_json = "1.0"

[lib]
bench = false

[[bench]]
name = "bench_regex"
harness = false

[[bench]]
name = "bench_matching"
harness = false

[[bench]]
name = "bench_url"
harness = false

[[bench]]
name = "bench_rules"
harness = false

[features]
default = ["full-regex-handling", "object-pooling"]
full-domain-matching = [] # feature has no explicit dependencies
metrics = []
full-regex-handling = []
object-pooling = ["lifeguard"]
