pub struct AnalysisResults {Show 18 fields
pub unused_files: Vec<UnusedFile>,
pub unused_exports: Vec<UnusedExport>,
pub unused_types: Vec<UnusedExport>,
pub unused_dependencies: Vec<UnusedDependency>,
pub unused_dev_dependencies: Vec<UnusedDependency>,
pub unused_optional_dependencies: Vec<UnusedDependency>,
pub unused_enum_members: Vec<UnusedMember>,
pub unused_class_members: Vec<UnusedMember>,
pub unresolved_imports: Vec<UnresolvedImport>,
pub unlisted_dependencies: Vec<UnlistedDependency>,
pub duplicate_exports: Vec<DuplicateExport>,
pub type_only_dependencies: Vec<TypeOnlyDependency>,
pub test_only_dependencies: Vec<TestOnlyDependency>,
pub circular_dependencies: Vec<CircularDependency>,
pub boundary_violations: Vec<BoundaryViolation>,
pub feature_flags: Vec<FeatureFlag>,
pub export_usages: Vec<ExportUsage>,
pub entry_point_summary: Option<EntryPointSummary>,
}Expand description
Complete analysis results.
§Examples
use fallow_types::results::{AnalysisResults, UnusedFile};
use std::path::PathBuf;
let mut results = AnalysisResults::default();
assert_eq!(results.total_issues(), 0);
assert!(!results.has_issues());
results.unused_files.push(UnusedFile {
path: PathBuf::from("src/dead.ts"),
});
assert_eq!(results.total_issues(), 1);
assert!(results.has_issues());Fields§
§unused_files: Vec<UnusedFile>Files not reachable from any entry point.
unused_exports: Vec<UnusedExport>Exports never imported by other modules.
unused_types: Vec<UnusedExport>Type exports never imported by other modules.
unused_dependencies: Vec<UnusedDependency>Dependencies listed in package.json but never imported.
unused_dev_dependencies: Vec<UnusedDependency>Dev dependencies listed in package.json but never imported.
unused_optional_dependencies: Vec<UnusedDependency>Optional dependencies listed in package.json but never imported.
unused_enum_members: Vec<UnusedMember>Enum members never accessed.
unused_class_members: Vec<UnusedMember>Class members never accessed.
unresolved_imports: Vec<UnresolvedImport>Import specifiers that could not be resolved.
unlisted_dependencies: Vec<UnlistedDependency>Dependencies used in code but not listed in package.json.
duplicate_exports: Vec<DuplicateExport>Exports with the same name across multiple modules.
type_only_dependencies: Vec<TypeOnlyDependency>Production dependencies only used via type-only imports (could be devDependencies). Only populated in production mode.
test_only_dependencies: Vec<TestOnlyDependency>Production dependencies only imported by test files (could be devDependencies).
circular_dependencies: Vec<CircularDependency>Circular dependency chains detected in the module graph.
boundary_violations: Vec<BoundaryViolation>Imports that cross architecture boundary rules.
feature_flags: Vec<FeatureFlag>Detected feature flag patterns. Advisory output, not included in issue counts. Skipped during default serialization: injected separately in JSON output when enabled.
export_usages: Vec<ExportUsage>Usage counts for all exports across the project. Used by the LSP for Code Lens. Not included in issue counts – this is metadata, not an issue type. Skipped during serialization: this is internal LSP data, not part of the JSON output schema.
entry_point_summary: Option<EntryPointSummary>Summary of detected entry points, grouped by discovery source. Not included in issue counts – this is informational metadata. Skipped during serialization: rendered separately in JSON output.
Implementations§
Source§impl AnalysisResults
impl AnalysisResults
Sourcepub const fn total_issues(&self) -> usize
pub const fn total_issues(&self) -> usize
Total number of issues found.
Sums across all issue categories (unused files, exports, types, dependencies, members, unresolved imports, unlisted deps, duplicates, type-only deps, circular deps, and boundary violations).
§Examples
use fallow_types::results::{AnalysisResults, UnusedFile, UnresolvedImport};
use std::path::PathBuf;
let mut results = AnalysisResults::default();
results.unused_files.push(UnusedFile { path: PathBuf::from("a.ts") });
results.unresolved_imports.push(UnresolvedImport {
path: PathBuf::from("b.ts"),
specifier: "./missing".to_string(),
line: 1,
col: 0,
specifier_col: 0,
});
assert_eq!(results.total_issues(), 2);Sourcepub const fn has_issues(&self) -> bool
pub const fn has_issues(&self) -> bool
Whether any issues were found.
Sourcepub fn sort(&mut self)
pub fn sort(&mut self)
Sort all result arrays for deterministic output ordering.
Parallel collection (rayon, FxHashMap iteration) does not guarantee
insertion order, so the same project can produce different orderings
across runs. This method canonicalises every result list by sorting on
(path, line, col, name) so that JSON/SARIF/human output is stable.
Trait Implementations§
Source§impl Clone for AnalysisResults
impl Clone for AnalysisResults
Source§fn clone(&self) -> AnalysisResults
fn clone(&self) -> AnalysisResults
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AnalysisResults
impl Debug for AnalysisResults
Source§impl Default for AnalysisResults
impl Default for AnalysisResults
Source§fn default() -> AnalysisResults
fn default() -> AnalysisResults
Auto Trait Implementations§
impl Freeze for AnalysisResults
impl RefUnwindSafe for AnalysisResults
impl Send for AnalysisResults
impl Sync for AnalysisResults
impl Unpin for AnalysisResults
impl UnsafeUnpin for AnalysisResults
impl UnwindSafe for AnalysisResults
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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