[package]
edition = "2021"
name = "oxvg_optimiser"
version = "0.0.6"
authors = ["Noah <noahwbaldwin@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The OXVG optimiser is library for optimising SVG documents."
readme = "readme.md"
keywords = [
"svg",
"svgo",
"optimisation",
]
license = "MIT"
repository = "https://github.com/noahbald/oxvg"
[features]
clap = ["dep:clap"]
default = ["serde"]
js_sys = ["dep:js-sys"]
napi = [
"dep:napi",
"dep:napi-derive",
"oxvg_path/napi",
]
serde = [
"dep:serde",
"dep:serde_json",
"dep:serde_with",
"oxvg_path/serde",
]
wasm = [
"serde",
"dep:wasm-bindgen",
"dep:serde-wasm-bindgen",
"dep:tsify",
"oxvg_path/wasm",
]
web_sys = ["js_sys"]
[lib]
name = "oxvg_optimiser"
path = "src/lib.rs"
[[bench]]
name = "default_jobs"
path = "benches/default_jobs.rs"
harness = false
[[bench]]
name = "parse"
path = "benches/parse.rs"
harness = false
[[bench]]
name = "path"
path = "benches/path.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.bitflags]
version = "2.7.0"
[dependencies.clap]
version = "4.5"
features = ["derive"]
optional = true
[dependencies.cssparser]
version = "0.36"
[dependencies.dashmap]
version = "6.1"
[dependencies.derive-where]
version = "1.2"
[dependencies.derive_more]
version = "2.0"
[dependencies.i_overlay]
version = "7.0"
[dependencies.itertools]
version = "0.14"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.lightningcss]
version = "1.0.0-alpha.71"
features = ["visitor"]
default-features = false
[dependencies.log]
version = "0.4"
[dependencies.napi]
version = "3.8"
features = ["napi7"]
optional = true
default-features = false
[dependencies.napi-derive]
version = "3.3"
optional = true
[dependencies.oxvg_ast]
version = ">=0.0"
features = [
"selectors",
"serialize",
"visitor",
]
[dependencies.oxvg_collections]
version = ">=0.0"
[dependencies.oxvg_path]
version = ">=0.0"
[dependencies.oxvg_serialize]
version = ">=0.0"
[dependencies.parcel_selectors]
version = "0.28"
[dependencies.phf]
version = "0.11"
features = ["macros"]
[dependencies.regex]
version = "1.11"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.serde_with]
version = "3.15"
optional = true
[dependencies.tsify]
version = "0.5"
features = ["js"]
optional = true
default-features = false
[dependencies.typed-arena]
version = "2.0"
[dependencies.urlencoding]
version = "2.1"
[dependencies.wasm-bindgen]
version = "=0.2.104"
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.ctor]
version = "0.2"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.insta]
version = "1.42"
[dev-dependencies.oxvg_ast]
version = ">=0.0"
features = [
"selectors",
"serialize",
"visitor",
"roxmltree",
]
[dev-dependencies.roxmltree]
version = "0.20"
[lints.clippy]
cast_lossless = "allow"
cast_possible_truncation = "allow"
dbg_macro = "warn"
float_cmp = "allow"
must_use_candidate = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust.missing_docs]
level = "warn"
priority = 0