[package]
name = "extrablatt_v2"
version = "0.5.0"
license = "MIT OR Apache-2.0"
authors = ["Original author, Matthias Seitz <matthias.seitz@tum.de>", "Lopanov Dmitrii <sexykdi@gmail.com>"]
edition = "2024"
repository = "https://github.com/LdDl/extrablatt_v2"
categories = ["parsing"]
keywords = ["parser", "web", "news"]
description = "News, articles and text scraper"
documentation = "https://docs.rs/extrablatt_v2/"

[[bin]]
name = "extrablatt_v2"
path = "src/main.rs"
required-features = ["cli"]

[dependencies]
structopt = { version = "0.3", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = "1.0"
select = "0.6"
log = "0.4"
thiserror = "2.0"
reqwest = "0.12"
archiveis = { version = "0.4", optional = true }
regex = "1.12"
rss = { version = "2.0.12", optional = true }
lazy_static = "1.5"
chrono = "0.4"
dtparse = "2.0.1"
wasm-timer = "0.2"
fnv = "1.0"
url = "2.5"
bytes = "1.11"
futures = "0.3"
tokio = { version = "1.48", features = ["rt-multi-thread", "macros", "fs", "time"], optional = true }

[dev-dependencies]
tokio = { version = "1.48", features = ["rt-multi-thread", "macros", "time"] }
criterion = { version = "0.5", features = ["html_reports"] }
testcontainers = "0.25"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
tokio = { version = "1.48", features = ["rt-multi-thread", "macros", "time"] }

[features]
default = ["stopwords"]
cli = ["structopt", "serde0", "tokio"]
archive = ["archiveis"]
serde0 = ["serde", "url/serde", "chrono/serde"]
stopwords = []

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2"
js-sys = "0.3"
web-sys = "0.3"
chrono = { version = "0.4", features = ["wasmbind"] }

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3"

[workspace]
members = ["extrablatt-web"]

[profile.release]
opt-level = "s"

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