[package]
edition = "2024"
rust-version = "1.96"
name = "stella-docx-kernel"
version = "0.5.2"
build = false
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bounded DOCX package projection and WordprocessingML scanning"
readme = "README.md"
keywords = [
"docx",
"ooxml",
"wasm",
"wordprocessingml",
]
categories = [
"parser-implementations",
"wasm",
]
license = "Apache-2.0"
repository = "https://github.com/stella/folio"
[features]
default = []
wasm = [
"dep:js-sys",
"dep:wasm-bindgen",
]
[lib]
name = "stella_docx_kernel"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "projection"
path = "tests/projection.rs"
[dependencies.js-sys]
version = "0.3.103"
optional = true
[dependencies.miniz_oxide]
version = "0.9.1"
features = ["with-alloc"]
default-features = false
[dependencies.quick-xml]
version = "0.41"
default-features = false
[dependencies.rawzip]
version = "0.5.1"
features = ["alloc"]
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.wasm-bindgen]
version = "0.2.126"
optional = true
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.zip]
version = "8.3.0"
features = ["deflate-flate2-zlib-rs"]
default-features = false
[lints.clippy]
arithmetic_side_effects = "warn"
as_conversions = "warn"
clone_on_ref_ptr = "deny"
create_dir = "deny"
dbg_macro = "deny"
disallowed_macros = "deny"
disallowed_methods = "deny"
disallowed_types = "deny"
empty_enum_variants_with_brackets = "deny"
empty_structs_with_brackets = "deny"
enum_glob_use = "deny"
exit = "deny"
expect_used = "deny"
filetype_is_file = "deny"
float_cmp = "warn"
fn_to_numeric_cast_any = "deny"
format_collect = "deny"
if_then_some_else_none = "deny"
implicit_clone = "deny"
indexing_slicing = "warn"
inefficient_to_string = "deny"
integer_division = "warn"
large_enum_variant = "deny"
large_stack_arrays = "deny"
large_stack_frames = "deny"
manual_let_else = "deny"
manual_memcpy = "deny"
map_unwrap_or = "deny"
mem_forget = "deny"
missing_assert_message = "warn"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
needless_collect = "deny"
needless_continue = "deny"
needless_pass_by_ref_mut = "deny"
needless_pass_by_value = "deny"
or_fun_call = "deny"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
redundant_clone = "deny"
same_name_method = "deny"
self_named_module_files = "allow"
semicolon_if_nothing_returned = "deny"
shadow_reuse = "allow"
shadow_same = "warn"
shadow_unrelated = "warn"
std_instead_of_alloc = "allow"
std_instead_of_core = "allow"
string_slice = "warn"
tests_outside_test_module = "allow"
todo = "deny"
trivially_copy_pass_by_ref = "deny"
unimplemented = "deny"
unnecessary_wraps = "deny"
unneeded_field_pattern = "deny"
unreachable = "deny"
unused_async = "deny"
unused_self = "deny"
unwrap_used = "deny"
use_self = "warn"
used_underscore_binding = "deny"
verbose_file_reads = "deny"
wildcard_imports = "deny"
[lints.clippy.all]
level = "deny"
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 = "deny"
unreachable_code = "deny"
unreachable_patterns = "deny"
unreachable_pub = "deny"
unsafe_code = "deny"
unused_imports = "deny"
unused_macros = "deny"
unused_mut = "deny"
unused_variables = "deny"
[lints.rust.future_incompatible]
level = "deny"
priority = -1
[lints.rust.nonstandard_style]
level = "deny"
priority = -1
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1
[lints.rust.warnings]
level = "deny"
priority = -1
[lints.rustdoc]
bare_urls = "deny"
broken_intra_doc_links = "deny"