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

187 lines 4.98 kB
import { AccessibilityResult } from './types'; import { MobileFriendlinessMetrics, QualityAnalysisOptions } from './types/enhanced-metrics'; /** * Enhanced result interface combining all analysis types */ export interface EnhancedAccessibilityResult extends AccessibilityResult { contentWeight?: { contentScore: number; grade: string; resourceAnalysis: { html: { size: number; count: number; }; css: { size: number; count: number; }; javascript: { size: number; count: number; }; images: { size: number; count: number; }; fonts: { size: number; count: number; }; }; contentMetrics: { textToCodeRatio: number; totalSize: number; contentSize: number; }; }; enhancedPerformance?: { performanceScore: number; grade: string; coreWebVitals: { fcp: { value: number; rating: string; }; lcp: { value: number; rating: string; }; cls: { value: number; rating: string; }; inp: { value: number; rating: string; }; }; metrics: { ttfb: { value: number; rating: string; }; fid: { value: number; rating: string; }; tbt: { value: number; rating: string; }; si: { value: number; rating: string; }; }; }; enhancedSEO?: { seoScore: number; grade: string; metaData: { title: string; titleLength: number; description: string; descriptionLength: number; keywords: string; }; headingStructure: { h1: number; h2: number; h3: number; h4: number; h5: number; h6: number; }; contentAnalysis: { wordCount: number; readabilityScore: number; textToCodeRatio: number; }; socialTags: { openGraph: number; twitterCard: number; }; technicalSEO: { internalLinks: number; externalLinks: number; altTextCoverage: number; }; }; mobileFriendliness?: MobileFriendlinessMetrics; qualityScore?: { score: number; grade: string; breakdown: { performance: number; seo: number; accessibility: number; content: number; mobile: number; }; }; } /** * Enhanced Accessibility Checker that combines standard accessibility analysis * with performance, SEO, and content weight analysis */ export declare class EnhancedAccessibilityChecker { private accessibilityChecker; private contentWeightAnalyzer; private performanceCollector; private seoAnalyzer; private mobileFriendlinessAnalyzer; private browser; constructor(options?: QualityAnalysisOptions); /** * Initialize all analyzers and launch browser if needed */ initialize(): Promise<void>; /** * Run comprehensive analysis including accessibility, performance, SEO, and content weight */ analyze(html: string, url: string | any): Promise<EnhancedAccessibilityResult>; /** * Analyze content weight using the ContentWeightAnalyzer */ private analyzeContentWeight; /** * Analyze performance using the EnhancedPerformanceCollector */ private analyzePerformance; /** * Analyze SEO using the EnhancedSEOAnalyzer */ private analyzeSEO; /** * Analyze mobile-friendliness using the MobileFriendlinessAnalyzer */ private analyzeMobileFriendliness; /** * Calculate overall quality score based on all analysis results */ private calculateQualityScore; /** * Helper methods */ private calculateContentScore; private calculateGrade; private rateMetric; /** * Get default content weight result for fallback */ private getDefaultContentWeightResult; /** * Get default performance result for fallback */ private getDefaultPerformanceResult; /** * Get default SEO result for fallback */ private getDefaultSEOResult; /** * Clean up resources */ cleanup(): Promise<void>; } //# sourceMappingURL=enhanced-accessibility-checker.d.ts.map