UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

148 lines 3.55 kB
/** * 📊 FIXED AUDIT DATA STRUCTURE * * Definitive data structure for all reports. * Any missing data must immediately throw an error. */ export interface AuditMetadata { version: string; timestamp: string; sitemapUrl: string; toolVersion: string; duration: number; } export interface AuditSummary { totalPages: number; testedPages: number; passedPages: number; failedPages: number; crashedPages: number; redirectPages?: number; totalErrors: number; totalWarnings: number; overallScore?: number; overallGrade?: string; certificateLevel?: string; } export interface PageAccessibility { score: number; errors: any[]; warnings: any[]; notices: any[]; } export interface PagePerformance { score: number; grade: string; coreWebVitals: { largestContentfulPaint: number; firstContentfulPaint: number; cumulativeLayoutShift: number; timeToFirstByte: number; }; metrics: { domContentLoaded: number; loadComplete: number; firstPaint: number; }; issues?: any[]; } export interface PageSEO { score: number; grade: string; metaTags: any; headings: any; images: any; issues: any[]; url: string; title: string; overallSEOScore?: number; seoGrade?: string; semanticSEO?: any; voiceSearchOptimization?: any; eatAnalysis?: any; coreWebVitalsSEO?: any; } export interface PageContentWeight { score: number; grade: string; totalSize: number; resources: { html: { size: number; }; css: { size: number; files: number; }; javascript: { size: number; files: number; }; images: { size: number; files: number; }; other: { size: number; files: number; }; }; optimizations: any[]; } export interface PageMobileFriendliness { overallScore: number; grade: string; recommendations: any[]; } export interface AuditPage { url: string; title: string; status: 'passed' | 'failed' | 'crashed'; duration: number; accessibility: PageAccessibility; performance?: PagePerformance; seo?: PageSEO; contentWeight?: PageContentWeight; mobileFriendliness?: PageMobileFriendliness; } export interface SystemPerformance { testCompletionTimeSeconds: number; parallelProcessing: { pagesProcessed: number; concurrentWorkers: number; averageTimePerPageMs: number; throughputPagesPerMinute: number; }; memoryUsage: { peakUsageMB: number; heapUsedMB: number; rssUsageMB: number; externalMB: number; }; architecture: { eventDrivenParallel: boolean; comprehensiveAnalysis: boolean; browserPooling: boolean; persistenceEnabled: boolean; }; } /** * MAIN AUDIT DATA STRUCTURE * This is the definitive format for all reports */ export interface AuditData { metadata: AuditMetadata; summary: AuditSummary; pages: AuditPage[]; systemPerformance?: SystemPerformance; } /** * VALIDATION FUNCTIONS * Immediately throw errors if required data is missing */ export declare function validateAuditData(data: AuditData): void; /** * Check for comprehensive analysis data */ export declare function validateComprehensiveData(data: AuditData): void; //# sourceMappingURL=audit-data.d.ts.map