[package]
edition = "2024"
name = "perl-module"
version = "0.16.0"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Perl module resolution, import analysis, and refactoring — unified facade"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/EffortlessMetrics/perl-lsp"
resolver = "2"
[lib]
name = "perl_module"
path = "src/lib.rs"
[[test]]
name = "boundary_comprehensive_unit_tests"
path = "tests/boundary_comprehensive_unit_tests.rs"
[[test]]
name = "coverage_gaps_unit_tests"
path = "tests/coverage_gaps_unit_tests.rs"
[[test]]
name = "dispatch_semantics"
path = "tests/dispatch_semantics.rs"
[[test]]
name = "extended_unit_tests"
path = "tests/extended_unit_tests.rs"
[[test]]
name = "facade_api_completeness"
path = "tests/facade_api_completeness.rs"
[[test]]
name = "import_comprehensive_unit_tests"
path = "tests/import_comprehensive_unit_tests.rs"
[[test]]
name = "module_boundary_bdd"
path = "tests/module_boundary_bdd.rs"
[[test]]
name = "module_boundary_fuzz"
path = "tests/module_boundary_fuzz.rs"
[[test]]
name = "module_boundary_integration"
path = "tests/module_boundary_integration.rs"
[[test]]
name = "module_boundary_prop"
path = "tests/module_boundary_prop.rs"
[[test]]
name = "module_import_bdd"
path = "tests/module_import_bdd.rs"
[[test]]
name = "module_import_fuzz"
path = "tests/module_import_fuzz.rs"
[[test]]
name = "module_import_integration"
path = "tests/module_import_integration.rs"
[[test]]
name = "module_import_match_bdd"
path = "tests/module_import_match_bdd.rs"
[[test]]
name = "module_import_match_fuzz"
path = "tests/module_import_match_fuzz.rs"
[[test]]
name = "module_import_match_integration"
path = "tests/module_import_match_integration.rs"
[[test]]
name = "module_import_match_prop"
path = "tests/module_import_match_prop.rs"
[[test]]
name = "module_import_prop"
path = "tests/module_import_prop.rs"
[[test]]
name = "module_name_bdd"
path = "tests/module_name_bdd.rs"
[[test]]
name = "module_name_fuzz"
path = "tests/module_name_fuzz.rs"
[[test]]
name = "module_name_integration"
path = "tests/module_name_integration.rs"
[[test]]
name = "module_name_prop"
path = "tests/module_name_prop.rs"
[[test]]
name = "module_reference_bdd"
path = "tests/module_reference_bdd.rs"
[[test]]
name = "module_reference_fuzz"
path = "tests/module_reference_fuzz.rs"
[[test]]
name = "module_reference_integration"
path = "tests/module_reference_integration.rs"
[[test]]
name = "module_reference_prop"
path = "tests/module_reference_prop.rs"
[[test]]
name = "module_rename_bdd"
path = "tests/module_rename_bdd.rs"
[[test]]
name = "module_rename_fuzz"
path = "tests/module_rename_fuzz.rs"
[[test]]
name = "module_rename_integration"
path = "tests/module_rename_integration.rs"
[[test]]
name = "module_rename_prop"
path = "tests/module_rename_prop.rs"
[[test]]
name = "module_resolution_bdd"
path = "tests/module_resolution_bdd.rs"
[[test]]
name = "module_resolution_comprehensive"
path = "tests/module_resolution_comprehensive.rs"
[[test]]
name = "module_resolution_edge_cases"
path = "tests/module_resolution_edge_cases.rs"
[[test]]
name = "module_resolution_fuzz"
path = "tests/module_resolution_fuzz.rs"
[[test]]
name = "module_resolution_goto_definition"
path = "tests/module_resolution_goto_definition.rs"
[[test]]
name = "module_resolution_integration"
path = "tests/module_resolution_integration.rs"
[[test]]
name = "module_resolution_path_bdd"
path = "tests/module_resolution_path_bdd.rs"
[[test]]
name = "module_resolution_path_fuzz"
path = "tests/module_resolution_path_fuzz.rs"
[[test]]
name = "module_resolution_path_integration"
path = "tests/module_resolution_path_integration.rs"
[[test]]
name = "module_resolution_path_prop"
path = "tests/module_resolution_path_prop.rs"
[[test]]
name = "module_resolution_prop"
path = "tests/module_resolution_prop.rs"
[[test]]
name = "module_resolution_uri_bdd"
path = "tests/module_resolution_uri_bdd.rs"
[[test]]
name = "module_resolution_uri_fuzz"
path = "tests/module_resolution_uri_fuzz.rs"
[[test]]
name = "module_resolution_uri_integration"
path = "tests/module_resolution_uri_integration.rs"
[[test]]
name = "module_resolution_uri_prop"
path = "tests/module_resolution_uri_prop.rs"
[[test]]
name = "module_resolution_use_require"
path = "tests/module_resolution_use_require.rs"
[[test]]
name = "module_token_bdd"
path = "tests/module_token_bdd.rs"
[[test]]
name = "module_token_core_bdd"
path = "tests/module_token_core_bdd.rs"
[[test]]
name = "module_token_core_fuzz"
path = "tests/module_token_core_fuzz.rs"
[[test]]
name = "module_token_core_integration"
path = "tests/module_token_core_integration.rs"
[[test]]
name = "module_token_core_prop"
path = "tests/module_token_core_prop.rs"
[[test]]
name = "module_token_fuzz"
path = "tests/module_token_fuzz.rs"
[[test]]
name = "module_token_integration"
path = "tests/module_token_integration.rs"
[[test]]
name = "module_token_prop"
path = "tests/module_token_prop.rs"
[[test]]
name = "module_token_scan_bdd"
path = "tests/module_token_scan_bdd.rs"
[[test]]
name = "module_token_scan_fuzz"
path = "tests/module_token_scan_fuzz.rs"
[[test]]
name = "module_token_scan_integration"
path = "tests/module_token_scan_integration.rs"
[[test]]
name = "module_token_scan_prop"
path = "tests/module_token_scan_prop.rs"
[[test]]
name = "name_comprehensive_unit_tests"
path = "tests/name_comprehensive_unit_tests.rs"
[[test]]
name = "path_comprehensive_unit_tests"
path = "tests/path_comprehensive_unit_tests.rs"
[[test]]
name = "path_prop"
path = "tests/path_prop.rs"
[[test]]
name = "rename_comprehensive_unit_tests"
path = "tests/rename_comprehensive_unit_tests.rs"
[[test]]
name = "require_import_extractor"
path = "tests/require_import_extractor.rs"
[[test]]
name = "resolution_uri_comprehensive_unit_tests"
path = "tests/resolution_uri_comprehensive_unit_tests.rs"
[[test]]
name = "token_comprehensive_unit_tests"
path = "tests/token_comprehensive_unit_tests.rs"
[[test]]
name = "token_core_comprehensive_unit_tests"
path = "tests/token_core_comprehensive_unit_tests.rs"
[[test]]
name = "use_lib_resolution_fuzz"
path = "tests/use_lib_resolution_fuzz.rs"
[[test]]
name = "use_lib_resolution_unit_tests"
path = "tests/use_lib_resolution_unit_tests.rs"
[dependencies.perl-parser-core]
version = "0.16.0"
[dependencies.perl-workspace]
version = "0.16.0"
[dependencies.url]
version = "2.5.8"
[lints.clippy]
collapsible_if = "allow"
dbg_macro = "deny"
decimal_bitwise_operands = "warn"
duration_suboptimal_units = "warn"
expect_used = "deny"
manual_ilog2 = "warn"
needless_type_cast = "warn"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
todo = "deny"
unimplemented = "deny"
unnecessary_trailing_comma = "warn"
unwrap_used = "deny"
[lints.clippy.collapsible_match]
level = "allow"
priority = 1
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(ci)",
'cfg(feature, values("slow_tests"))',
]