pub struct ResolvedConfig {Show 36 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_unresolved_imports: Vec<GlobMatcher>,
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,
pub auto_imports: 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_unresolved_imports: Vec<GlobMatcher>Pre-compiled raw import specifier patterns for suppressing
unresolved-import findings.
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).
auto_imports: boolWhen true, framework plugins drop the convention entry patterns they can
resolve via auto_imports (today: Nuxt component directories), so
genuinely-unreferenced convention files are reported as unused-file.
Auto-import edge synthesis runs regardless of this flag; it only gates the
entry-pattern removal. Set via autoImports: true in the config. See
issue #704.
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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ResolvedConfig
impl RefUnwindSafe for ResolvedConfig
impl Send for ResolvedConfig
impl Sync for ResolvedConfig
impl Unpin for ResolvedConfig
impl UnsafeUnpin for ResolvedConfig
impl UnwindSafe for ResolvedConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more