59 lines
1.3 KiB
TypeScript
Raw Normal View History

/**
* Audit categories available in Lighthouse
*/
export enum AuditCategory {
ACCESSIBILITY = "accessibility",
PERFORMANCE = "performance",
SEO = "seo",
2025-02-27 12:54:48 +01:00
BEST_PRACTICES = "best-practices", // Not yet implemented
PWA = "pwa", // Not yet implemented
}
/**
* Base interface for Lighthouse report metadata
*/
export interface LighthouseReport {
metadata: {
url: string;
timestamp: string; // ISO 8601, e.g., "2025-02-27T14:30:00Z"
device: string; // e.g., "mobile", "desktop"
lighthouseVersion: string; // e.g., "10.4.0"
};
overallScore: number;
failedAuditsCount: number;
passedAuditsCount: number;
manualAuditsCount: number;
informativeAuditsCount: number;
notApplicableAuditsCount: number;
failedAudits: any[];
}
/**
* Configuration options for Lighthouse audits
*/
export interface LighthouseConfig {
flags: {
output: string[];
onlyCategories: string[];
formFactor: string;
port: number | undefined;
screenEmulation: {
mobile: boolean;
width: number;
height: number;
deviceScaleFactor: number;
disabled: boolean;
};
};
config: {
extends: string;
settings: {
onlyCategories: string[];
emulatedFormFactor: string;
throttling: {
cpuSlowdownMultiplier: number;
};
};
};
}