[package]
edition = "2024"
rust-version = "1.88"
name = "mf2-catalog"
version = "2.0.0"
authors = ["Evan Carroll"]
build = false
exclude = [
"tests/manifest.rs",
"tests/roundtrip.rs",
"tests/skew.rs",
"package.txt",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The .mf2b binary catalog: a no_std client reader and (features) the writer, the model-rebuilding decoder and the manifest file."
homepage = "https://evancarroll.github.io/rust-mf2/"
documentation = "https://docs.rs/mf2-catalog"
readme = "README.md"
keywords = [
"messageformat",
"mf2",
"i18n",
"catalog",
"binary",
]
categories = [
"internationalization",
"localization",
"encoding",
"no-std",
"wasm",
]
license = "MIT"
repository = "https://github.com/EvanCarroll/rust-mf2"
[package.metadata.docs.rs]
features = [
"manifest",
"writer",
"decode",
"static-bytes",
"content-hash",
]
targets = ["x86_64-unknown-linux-gnu"]
[features]
content-hash = ["dep:sha2"]
decode = []
manifest = []
static-bytes = []
writer = [
"manifest",
"dep:unicode-normalization",
]
[lib]
name = "mf2_catalog"
path = "src/lib.rs"
[[test]]
name = "linear"
path = "tests/linear.rs"
required-features = [
"writer",
"decode",
]
[[test]]
name = "measure"
path = "tests/measure.rs"
required-features = ["writer"]
[[test]]
name = "number"
path = "tests/number.rs"
required-features = ["writer"]
[[test]]
name = "reader"
path = "tests/reader.rs"
required-features = [
"writer",
"decode",
]
[[test]]
name = "vectors"
path = "tests/vectors.rs"
required-features = [
"writer",
"decode",
]
[dependencies.mf2-model]
version = "=2.0.0"
[dependencies.sha2]
version = "0.11.0"
optional = true
[dependencies.thiserror]
version = "2.0.20"
default-features = false
[dependencies.unicode-normalization]
version = "0.1.25"
optional = true
default-features = false
[dev-dependencies.mf2-model]
version = "=2.0.0"
features = ["serde"]
[dev-dependencies.mf2-syntax]
version = "=2.0.0"
[dev-dependencies.serde_json]
version = "1.0.151"
[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
similar_names = "allow"
too_many_lines = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "allow"
unreachable_pub = "warn"
unsafe_code = "deny"