sarif-explorer
Version:
A modern SARIF report viewer that converts SARIF files into interactive, shareable HTML reports with file explorer, collapsible issue lists, and code snippets.
84 lines • 2.08 kB
TypeScript
import { Violation, FileViolations } from '../types/sarif.js';
/**
* Analyze code quality and provide insights based on SARIF violations
*/
export declare class CodeAnalyzer {
private violations;
constructor(violations: Violation[]);
/**
* Get code quality score (0-100)
*/
getQualityScore(): number;
/**
* Get severity distribution
*/
getSeverityDistribution(): {
error: number;
warning: number;
info: number;
note: number;
none: number;
};
/**
* Get most problematic rules
*/
getProblematicRules(limit?: number): Array<{
ruleId: string;
count: number;
severity: string;
}>;
/**
* Get code hotspots (files with most violations)
*/
getCodeHotspots(fileViolations: FileViolations, limit?: number): Array<{
file: string;
violations: number;
score: number;
}>;
/**
* Get improvement recommendations
*/
getRecommendations(): Array<{
type: string;
message: string;
priority: 'high' | 'medium' | 'low';
}>;
/**
* Get trend analysis (if historical data is available)
*/
getTrendAnalysis(previousViolations?: Violation[]): {
trend: 'improving' | 'declining' | 'stable';
change: number;
};
/**
* Get compliance status
*/
getComplianceStatus(): {
compliant: boolean;
issues: string[];
};
/**
* Get file type analysis
*/
getFileTypeAnalysis(fileViolations: FileViolations): Map<string, {
count: number;
violations: number;
avgViolations: number;
}>;
/**
* Get line density analysis
*/
getLineDensityAnalysis(): {
highDensityLines: number[];
densityMap: Map<number, number>;
};
/**
* Helper method to get severity weight
*/
private getSeverityWeight;
/**
* Helper method to get file extension
*/
private getFileExtension;
}
//# sourceMappingURL=code-analyzer.d.ts.map