pub struct ResolvedConfig {Show 34 fields
pub root: PathBuf,
pub entry_patterns: Vec<String>,
pub ignore_patterns: GlobSet,
pub output: OutputFormat,
pub cache_dir: PathBuf,
pub threads: usize,
pub no_cache: bool,
pub cache_max_size_mb: Option<u32>,
pub cache_config_hash: u64,
pub ignore_dependencies: Vec<String>,
pub ignore_export_rules: Vec<IgnoreExportRule>,
pub compiled_ignore_exports: Vec<CompiledIgnoreExportRule>,
pub compiled_ignore_catalog_references: Vec<CompiledIgnoreCatalogReferenceRule>,
pub compiled_ignore_dependency_overrides: Vec<CompiledIgnoreDependencyOverrideRule>,
pub ignore_exports_used_in_file: IgnoreExportsUsedInFileConfig,
pub used_class_members: Vec<UsedClassMemberRule>,
pub ignore_decorators: Vec<String>,
pub duplicates: DuplicatesConfig,
pub health: HealthConfig,
pub rules: RulesConfig,
pub boundaries: ResolvedBoundaryConfig,
pub production: bool,
pub quiet: bool,
pub external_plugins: Vec<ExternalPluginDef>,
pub dynamically_loaded: Vec<String>,
pub overrides: Vec<ResolvedOverride>,
pub regression: Option<RegressionConfig>,
pub audit: AuditConfig,
pub codeowners: Option<String>,
pub public_packages: Vec<String>,
pub flags: FlagsConfig,
pub fix: FixConfig,
pub resolve: ResolveConfig,
pub include_entry_exports: bool,
}Expand description
Fully resolved configuration with all globs pre-compiled.
Fields§
§root: PathBuf§entry_patterns: Vec<String>§ignore_patterns: GlobSet§output: OutputFormat§cache_dir: PathBuf§threads: usize§no_cache: bool§cache_max_size_mb: Option<u32>Resolved on-disk cache cap in megabytes. None selects the default
(fallow_extract::cache::DEFAULT_CACHE_MAX_SIZE, 256 MB). Computed
at the CLI layer as FALLOW_CACHE_MAX_SIZE env var (if set), else
cache.maxSizeMb in the config file. Stored in MB rather than
bytes so that the config crate has no dependency on
fallow-extract; the bytes resolution happens at the callsite
(fallow_core::lib::analyze_full).
cache_config_hash: u64Stable u64 hash of extraction-affecting config fields (currently the
active external plugin names + inline framework definition names).
Threaded into CacheStore::load and CacheStore::save so a config
change discards the stale cache without requiring a CACHE_VERSION
bump. See ADR-009 for the ingredient list and the contract for
adding new ingredients in the future. Zero when no_cache is set
(the bookkeeping is skipped to avoid unnecessary work when caching
is disabled).
ignore_dependencies: Vec<String>§ignore_export_rules: Vec<IgnoreExportRule>§compiled_ignore_exports: Vec<CompiledIgnoreExportRule>Pre-compiled glob matchers for ignoreExports.
Populated alongside ignore_export_rules so detectors that need to test
“does this file match a configured ignoreExports glob?” can read the
compiled matchers without re-running globset::Glob::new per call.
compiled_ignore_catalog_references: Vec<CompiledIgnoreCatalogReferenceRule>Pre-compiled rules for suppressing unresolved-catalog-reference findings.
compiled_ignore_dependency_overrides: Vec<CompiledIgnoreDependencyOverrideRule>Pre-compiled rules for suppressing dependency-override findings (both
unused-dependency-override and misconfigured-dependency-override).
ignore_exports_used_in_file: IgnoreExportsUsedInFileConfigWhether same-file references should suppress unused-export findings.
used_class_members: Vec<UsedClassMemberRule>Class member names that should never be flagged as unused-class-members. Union of top-level config and active plugin contributions; merged during config resolution so analysis code reads a single list.
ignore_decorators: Vec<String>Decorator paths the user has opted out of the default skip-all-decorated
behavior for unused-class-members. See FallowConfig::ignore_decorators
for matching semantics. Passed through unchanged from the user config
(no glob compilation; small set, linear scan at the call site).
duplicates: DuplicatesConfig§health: HealthConfig§rules: RulesConfig§boundaries: ResolvedBoundaryConfigResolved architecture boundary configuration with pre-compiled glob matchers.
production: boolWhether production mode is active.
quiet: boolSuppress progress output and non-essential stderr messages.
external_plugins: Vec<ExternalPluginDef>External plugin definitions (from plugin files + inline framework definitions).
dynamically_loaded: Vec<String>Glob patterns for dynamically loaded files (treated as always-used).
overrides: Vec<ResolvedOverride>Per-file rule overrides with pre-compiled glob matchers.
regression: Option<RegressionConfig>Regression config (passed through from user config, not resolved).
audit: AuditConfigAudit baseline paths (passed through from user config, not resolved).
codeowners: Option<String>Optional CODEOWNERS file path (passed through for --group-by owner).
public_packages: Vec<String>Workspace package name patterns that are public libraries. Exported API surface from these packages is not flagged as unused.
flags: FlagsConfigFeature flag detection configuration.
fix: FixConfigAuto-fix behavior settings.
resolve: ResolveConfigModule resolver configuration (user-supplied import/export conditions).
include_entry_exports: boolWhen true, entry file exports are subject to unused-export detection
instead of being automatically marked as used. Set via the global CLI flag
--include-entry-exports or via includeEntryExports: true in the fallow
config file; the CLI flag ORs with the config value (CLI wins when set).
Implementations§
Source§impl ResolvedConfig
impl ResolvedConfig
Sourcepub fn resolve_rules_for_path(&self, path: &Path) -> RulesConfig
pub fn resolve_rules_for_path(&self, path: &Path) -> RulesConfig
Resolve the effective rules for a given file path. Starts with base rules and applies matching overrides in order.