Expand description
Shared types for fallow codebase intelligence.
This crate contains type definitions used across multiple fallow crates (core, CLI, LSP). It has no analysis logic, only data structures.
Modules§
- discover
- File discovery types: discovered files, file IDs, and entry points. File discovery types: discovered files, file IDs, and entry points.
- envelope
- JSON-output envelope and utility types:
SchemaVersion,ToolVersion,ElapsedMs,AuditIntroduced, plus the sharedMeta,BaselineDeltas,BaselineMatch,RegressionResult,EntryPoints, andCheckSummaryshapes referenced by every per-command envelope. The structs are always compiled (the JSON emission layer constructs them at runtime); theschemars::JsonSchemaderive is gated per-struct on theschemafeature. Typed envelope and utility-shape structs for the JSON output contract. - extract
- Module extraction types: exports, imports, re-exports, and member info. Module extraction types: exports, imports, re-exports, members, and parse results.
- output
- JSON-output augmentation types:
IssueActionenum + variants. Schema-side counterpart of the augmentations the JSON layer adds to each dead-code finding. The structs are always compiled (typed dead-code wrappers inoutput_dead_codeconsume them at runtime); theschemars::JsonSchemaderive is gated per-struct on theschemafeature. Types that describe fallow’s JSON output contract. - output_
dead_ code - Typed envelope wrappers for the simple 1:1 dead-code findings
(
UnusedFile,PrivateTypeLeak,UnresolvedImport,CircularDependency,BoundaryViolation). Each wrapper flattens the bare finding via#[serde(flatten)]and carries a typedactionsarray populated at construction time, replacing the per-finding post-pass injection that previously graftedactions[]andintroducedonto the schema. Theintroducedfield is set by the audit pass via JSON map insertion and isNonewhen serialized directly from Rust. Theschemars::JsonSchemaderive is gated per-struct on theschemafeature. Typed envelope wrappers for the simple 1:1 dead-code findings whose actions are entirely determined by the wrapper type (no per-instance discriminants beyond what the bare finding already exposes). - output_
health - Per-action types attached to health findings, hotspots, refactoring
targets, and coverage-gap entries. Separated from the generic
IssueActiontree in theoutputmodule so the health-specific variants live in a dedicated module. The structs are always compiled (the JSON emission layer constructs them through typed wrappers such asoutput_health::UntestedFileAction); theschemars::JsonSchemaderive is gated per-struct on theschemafeature. Per-action types attached to each health finding by the JSON output layer. - results
- Analysis result types: unused files, exports, dependencies, and members. Analysis result types for all issue categories.
- serde_
path - Custom serde serializers for cross-platform path output.
Custom serde serializers for
PathBufandVec<PathBuf>that always output forward slashes, regardless of platform. This ensures consistent JSON/SARIF output on Windows. - suppress
- Inline suppression comment types and issue kind definitions. Inline suppression comment types and issue kind definitions.