mirror of
https://github.com/loot/loot-condition-interpreter.git
synced 2026-07-27 14:16:09 -07:00
Using only the standard library (i.e. without pelite). This commit keeps the pelite dependency and uses it to check that the new parser gives the same result. The next commit will remove pelite. I've verified that both parsers give the same result for the following files that are referenced in the masterlists' version conditions: Starfield.exe sfse_1_15_222.dll SkyrimSE.exe skse64_loader.exe skseVR_loader.exe ENBHelperSE.dll d3d11.dll EngineFixes.dll QuickLootEE.dll FalloutNV.exe nvse_1_4.dll nvse_1_4ng.dll nvse_1_1.dll Fallout3.exe fose_1_7.dll fose_1_7ng.dll nvac.dll Fallout4.exe f4se_loader.exe f4sevr_loader.exe place.dll obse_1_2_416.dll TESV.exe skse_loader.exe The only referenced files that I couldn't test against were SkyrimVR.exe and Fallout4VR.exe, because I don't own those games.
129 lines
3.3 KiB
TOML
129 lines
3.3 KiB
TOML
[package]
|
|
name = "loot-condition-interpreter"
|
|
description = "Parse and evaluate LOOT metadata condition strings."
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
crc32fast = "1"
|
|
esplugin = "6"
|
|
nom = "8"
|
|
pelite = ">= 0.9.0, < 0.11"
|
|
regex = ">= 0.2.7, < 2"
|
|
unicase = "2"
|
|
|
|
[dev-dependencies]
|
|
criterion = ">= 0.1.2, < 0.8"
|
|
tempfile = "3"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[[bench]]
|
|
name = "eval"
|
|
harness = false
|
|
|
|
[workspace]
|
|
members = ["ffi"]
|
|
|
|
[workspace.package]
|
|
version = "5.3.3"
|
|
authors = ["Oliver Hamlet <oliver@ortham.net>"]
|
|
repository = "https://github.com/loot/loot-condition-interpreter.git"
|
|
license = "MIT"
|
|
edition = "2021"
|
|
|
|
# Deny some rustc lints that are allow-by-default.
|
|
[workspace.lints.rust]
|
|
ambiguous_negative_literals = "forbid"
|
|
impl_trait_overcaptures = "forbid"
|
|
let_underscore_drop = "forbid"
|
|
missing_copy_implementations = "forbid"
|
|
missing_debug_implementations = "forbid"
|
|
non_ascii_idents = "forbid"
|
|
redundant_imports = "forbid"
|
|
redundant_lifetimes = "forbid"
|
|
trivial_casts = "forbid"
|
|
trivial_numeric_casts = "forbid"
|
|
unit_bindings = "forbid"
|
|
unreachable_pub = "forbid"
|
|
unsafe_code = "deny"
|
|
|
|
[workspace.lints.clippy]
|
|
pedantic = { level = "deny", priority = -1 }
|
|
allow_attributes = "deny"
|
|
as_conversions = "deny"
|
|
as_underscore = "forbid"
|
|
assertions_on_result_states = "deny"
|
|
big_endian_bytes = "forbid"
|
|
cfg_not_test = "forbid"
|
|
clone_on_ref_ptr = "forbid"
|
|
create_dir = "forbid"
|
|
dbg_macro = "forbid"
|
|
decimal_literal_representation = "forbid"
|
|
default_numeric_fallback = "forbid"
|
|
doc_include_without_cfg = "forbid"
|
|
empty_drop = "forbid"
|
|
error_impl_error = "deny"
|
|
exit = "forbid"
|
|
exhaustive_enums = "deny"
|
|
expect_used = "forbid"
|
|
filetype_is_file = "deny"
|
|
float_cmp_const = "forbid"
|
|
fn_to_numeric_cast_any = "forbid"
|
|
get_unwrap = "forbid"
|
|
host_endian_bytes = "forbid"
|
|
if_then_some_else_none = "forbid"
|
|
indexing_slicing = "deny"
|
|
infinite_loop = "forbid"
|
|
integer_division = "deny"
|
|
integer_division_remainder_used = "deny"
|
|
iter_over_hash_type = "deny"
|
|
let_underscore_must_use = "forbid"
|
|
lossy_float_literal = "forbid"
|
|
map_err_ignore = "forbid"
|
|
map_with_unused_argument_over_ranges = "forbid"
|
|
mem_forget = "forbid"
|
|
missing_assert_message = "deny"
|
|
missing_asserts_for_indexing = "deny"
|
|
mixed_read_write_in_expression = "forbid"
|
|
multiple_inherent_impl = "deny"
|
|
multiple_unsafe_ops_per_block = "deny"
|
|
mutex_atomic = "forbid"
|
|
mutex_integer = "forbid"
|
|
needless_raw_strings = "forbid"
|
|
non_ascii_literal = "forbid"
|
|
non_zero_suggestions = "forbid"
|
|
panic = "deny"
|
|
panic_in_result_fn = "forbid"
|
|
partial_pub_fields = "forbid"
|
|
pathbuf_init_then_push = "forbid"
|
|
precedence_bits = "forbid"
|
|
print_stderr = "forbid"
|
|
print_stdout = "forbid"
|
|
rc_buffer = "forbid"
|
|
rc_mutex = "forbid"
|
|
redundant_type_annotations = "forbid"
|
|
ref_patterns = "forbid"
|
|
rest_pat_in_fully_bound_structs = "forbid"
|
|
str_to_string = "forbid"
|
|
string_lit_chars_any = "forbid"
|
|
string_slice = "forbid"
|
|
suspicious_xor_used_as_pow = "forbid"
|
|
tests_outside_test_module = "forbid"
|
|
todo = "forbid"
|
|
try_err = "forbid"
|
|
undocumented_unsafe_blocks = "deny"
|
|
unimplemented = "forbid"
|
|
unnecessary_safety_comment = "forbid"
|
|
unneeded_field_pattern = "forbid"
|
|
unreachable = "forbid"
|
|
unused_result_ok = "forbid"
|
|
unwrap_in_result = "forbid"
|
|
unwrap_used = "deny"
|
|
use_debug = "deny"
|
|
verbose_file_reads = "forbid"
|