Skip to main content

Crate fallow_config

Crate fallow_config 

Source

Modules§

glob_validation
Validation of user-supplied glob patterns from the config file.
levenshtein
Levenshtein-distance helpers for typo detection across config surfaces.

Structs§

AuditConfig
AuthoredRule
Pre-expansion rule preserved on a LogicalGroup.
AutoImportRule
A single convention-based auto-import: a bare identifier name that resolves to an export in source by framework convention, with no explicit import statement in the consuming file.
BoundaryCallsConfig
Boundary forbidden-call policy. Applies only to files classified into a zone; unzoned files are unrestricted, matching the import rules.
BoundaryConfig
Architecture boundary configuration.
BoundaryCoverageConfig
Boundary zone coverage policy.
BoundaryRule
An import rule between zones.
BoundaryZone
A zone grouping files by directory pattern.
CacheConfig
CatalogFixConfig
CompiledIgnoreCatalogReferenceRule
IgnoreCatalogReferenceRule with the optional consumer glob pre-compiled.
CompiledIgnoreDependencyOverrideRule
IgnoreDependencyOverrideRule ready for matching.
CompiledIgnoreExportRule
IgnoreExportRule with the glob pre-compiled into a matcher.
ConfigOverride
Per-file override entry.
DuplicatesConfig
Configuration for code duplication detection.
ExternalPluginDef
A declarative plugin definition loaded from a standalone file or inline config.
ExternalUsedExport
Exports considered used for files matching a pattern.
FallowConfig
FixConfig
FlagsConfig
Feature flag detection configuration.
ForbiddenCallRule
One forbidden-call entry: files in zone from may not call callees matching callee.
HealthConfig
Configuration for complexity health metrics (fallow health).
IgnoreCatalogReferenceRule
Rule for suppressing an unresolved-catalog-reference finding.
IgnoreDependencyOverrideRule
Rule for suppressing dependency-override findings.
IgnoreExportRule
Rule for ignoring specific exports.
IgnoreExportsUsedInFileByKind
InvalidForbiddenCallee
One rejected boundaries.calls.forbidden[] callee pattern.
LogicalGroup
A user-declared zone that fanned out via autoDiscover.
NapiConfig
NormalizationConfig
Fine-grained normalization overrides.
OwnershipConfig
Configuration for ownership analysis (fallow health --hotspots --ownership).
PackageJson
Parsed package.json with fields relevant to fallow.
ParsedOverrideKey
Parsed structure of an override key.
PartialRulesConfig
Partial per-issue-type severity for overrides. All fields optional.
PerAnalysisProductionConfig
PnpmCatalog
A single catalog (the default or a named one).
PnpmCatalogData
Structured catalog data extracted from a pnpm-workspace.yaml file.
PnpmCatalogEntry
A single entry inside a catalog.
PnpmCatalogGroup
A named catalog group under catalogs: with no package entries.
PnpmOverrideData
Structured override data extracted from one source.
PnpmOverrideEntry
A single override entry.
RedundantRootPrefix
One redundant-root-prefix pattern in a boundaries.zones[] entry.
RegressionBaseline
RegressionConfig
ResolveConfig
Module resolver configuration.
ResolvedBoundaryConfig
Resolved boundary config with pre-compiled glob matchers.
ResolvedBoundaryCoverageConfig
Resolved boundary zone coverage policy.
ResolvedBoundaryRule
A resolved boundary rule.
ResolvedConfig
Fully resolved configuration with all globs pre-compiled.
ResolvedNormalization
Resolved normalization flags: mode defaults merged with user overrides.
ResolvedOverride
Resolved override with pre-compiled glob matchers.
ResolvedZone
A zone with pre-compiled glob matchers.
RulePackDef
A declarative rule pack loaded from a standalone JSON or JSONC file listed in the rulePacks config key.
RulePackError
One rule-pack load or validation failure, anchored at the offending pack file.
RulePackRule
One declarative policy rule inside a rule pack.
RulesConfig
Per-issue-type severity configuration.
ScopedUsedClassMemberRule
A heritage-constrained usedClassMembers rule.
SdkPattern
A custom SDK call pattern for feature flag detection.
SecurityCategories
Include/exclude lists scoping the active security categories. When include is set, only those categories are active; exclude removes categories from the admitted set. Both unset admits catalogue categories. hardcoded-secret still requires explicit inclusion.
SecurityConfig
Scopes fallow security catalogue behavior. An absent category block admits every catalogue category. hardcoded-secret is include-required and only runs when explicitly listed in security.categories.include.
UnknownZoneRef
One offending zone-name reference in a boundaries.rules[] entry.
WorkspaceConfig
Workspace configuration for monorepo support.
WorkspaceDiagnostic
A diagnostic about a workspace-discovery candidate.
WorkspaceInfo
Discovered workspace info from package.json, pnpm-workspace.yaml, or tsconfig.json references.

Enums§

AuditGate
AutoImportKind
Which export shape a convention auto-import credits when its name is referenced without an explicit import statement.
BoundaryPreset
Built-in architecture presets.
CatalogPrecedingCommentPolicy
ConfigWriteError
DetectionMode
Detection mode controlling how aggressively tokens are normalized.
EmailMode
Privacy mode for author emails emitted in ownership output.
EntryPointRole
How a plugin’s discovered entry points contribute to coverage reachability.
ForbiddenCallee
One callee pattern or a list of patterns for a single from zone.
IgnoreExportsUsedInFileConfig
LogicalGroupStatus
Discovery outcome for a LogicalGroup.
MisconfigReason
Why an override entry is misconfigured.
OutputFormat
Output format for results.
OverrideSource
Where an override entry was declared.
PluginDetection
How to detect if a plugin should be activated.
ProductionAnalysis
ProductionConfig
RulePackRuleKind
Which check a rule-pack rule performs.
Severity
Severity level for rules.
UsedClassMemberRule
A usedClassMembers entry from config or an external plugin.
WorkspaceDiagnosticKind
Why a workspace-discovery candidate was rejected, or why a sibling directory looked workspace-like but was not declared.
WorkspaceLoadError
Workspace-discovery failures that prevent analysis from proceeding.
ZoneReferenceKind
Which BoundaryRule field carries an unknown zone name.
ZoneValidationError
Validation error from FallowConfig::validate_resolved_boundaries.

Constants§

DEFAULT_MAX_FILE_SIZE_BYTES
DEFAULT_MAX_FILE_SIZE_MB expressed in bytes.
DEFAULT_MAX_FILE_SIZE_MB
Default per-file size ceiling (in megabytes) for source discovery. A value chosen so hand-written source effectively never reaches it while generated API clients, vendored bundles, and minified blobs do. See issue #1086.

Functions§

add_ignore_exports_rule
Append ignoreExports rules to an existing fallow config file.
add_ignore_exports_rule_to_string
Render the proposed content of a fallow config after appending ignoreExports rules.
append_workspace_diagnostics
Append additions to the workspace-discovery diagnostics for root, skipping any entry whose (kind id, canonical path) is already present.
atomic_write
Atomically write content to a file via a temporary file and rename.
clear_source_discovery_diagnostics
Remove all source-discovery diagnostics (see WorkspaceDiagnosticKind::is_source_discovery) for root from the registry, keeping the workspace-discovery set intact.
discover_and_validate_external_plugins
Discover external plugin definitions AND validate their user-supplied glob patterns. Accumulates all errors across all loaded plugins so the user sees every problem in one run.
discover_external_plugins
Discover and load external plugin definitions for a project.
discover_workspaces
Discover all workspace packages in a monorepo.
discover_workspaces_with_diagnostics
Discover workspace packages and return any diagnostics produced along the way.
find_undeclared_workspaces
Find directories containing package.json that are not declared as workspaces.
find_undeclared_workspaces_with_ignores
Find directories containing package.json that are not declared as workspaces, excluding candidates covered by the supplied ignore globset.
is_valid_override_value
Check whether value is a valid pnpm override right-hand side, even if it is not a semver range. Returns false when the value is empty, contains a raw newline, or is otherwise garbage.
load_rule_packs
Load and validate every rule pack listed in the rulePacks config key.
override_misconfig_reason
Convenience: is this entry effectively a misconfiguration the user should see as an error?
override_source_label
Source-name string for diagnostics.
parse_override_key
Parse an override key into parent, target, and optional version selectors. Returns None when the key cannot be split into a recognised shape (empty key, parent or target missing).
parse_pnpm_catalog_data
Parse the catalog sections of a pnpm-workspace.yaml file.
parse_pnpm_package_json_overrides
Parse the pnpm.overrides section of a root package.json. Returns an empty PnpmOverrideData when the file has no overrides, when the JSON is malformed, or when the section is present but empty.
parse_pnpm_workspace_overrides
Parse the overrides: section of pnpm-workspace.yaml. Returns an empty PnpmOverrideData when the file has no overrides, when the YAML is malformed, or when the section is present but empty.
parse_tsconfig_root_dir
Parse tsconfig.json at the project root and extract compilerOptions.rootDir.
preserve_target_mode
Copy the target file’s existing permissions onto the temp file.
resolve_max_file_size_bytes
Convert a user-supplied megabyte ceiling into the byte limit stored on ResolvedConfig::max_file_size_bytes. Some(0) means “no limit” (None); any other Some(n) is n MB in bytes; None (unset) keeps the built-in DEFAULT_MAX_FILE_SIZE_BYTES.
stash_workspace_diagnostics
Replace the workspace-discovery diagnostics for root with diagnostics, PRESERVING any source-discovery diagnostics (see WorkspaceDiagnosticKind::is_source_discovery) already appended for the root.
workspace_diagnostics_for
Read the workspace-discovery diagnostics produced by the most recent stash_workspace_diagnostics + any subsequent append_workspace_diagnostics calls for root. Returns an empty vector when nothing has been stashed for this root yet (e.g. programmatic callers bypassing the standard loader).

Type Aliases§

ConfigWriteResult