@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
190 lines • 5.61 kB
TypeScript
/**
* 🔄 AUDIT DATA ADAPTER - LEGACY TO STRICT CONVERSION
*
* Diese Adapter-Schicht transformiert die bestehenden flexiblen/lockeren
* Audit-Datenstrukturen in strikt validierte, vollständige Strukturen.
* Sie fungiert als Bridge zwischen dem bestehenden System und dem neuen
* strikten Validierungs-System.
*/
import { StrictAuditData } from '../types/strict-audit-types';
export interface LegacyAuditResult {
metadata?: {
version?: string;
timestamp?: string;
sitemapUrl?: string;
toolVersion?: string;
duration?: number;
maxPages?: number;
timeout?: number;
standard?: string;
features?: string[];
};
summary?: {
totalPages?: number;
testedPages?: number;
passedPages?: number;
failedPages?: number;
crashedPages?: number;
redirectPages?: number;
totalErrors?: number;
totalWarnings?: number;
averageScore?: number;
overallGrade?: 'A' | 'B' | 'C' | 'D' | 'F';
};
pages?: LegacyPageResult[];
systemPerformance?: {
memoryUsageMB?: number;
};
}
export interface LegacyPageResult {
url?: string;
title?: string;
status?: string;
duration?: number;
testedAt?: string;
accessibility?: LegacyAccessibilityResult;
performance?: LegacyPerformanceResult;
seo?: LegacySEOResult;
contentWeight?: LegacyContentWeightResult;
mobileFriendliness?: LegacyMobileFriendlinessResult;
}
export interface LegacyAccessibilityResult {
score?: number;
errors?: any[];
warnings?: any[];
notices?: any[];
}
export interface LegacyPerformanceResult {
score?: number;
grade?: string;
coreWebVitals?: any;
issues?: any[];
}
export interface LegacySEOResult {
score?: number;
grade?: string;
metaTags?: any;
issues?: any[];
recommendations?: any[];
}
export interface LegacyContentWeightResult {
score?: number;
grade?: string;
resources?: any;
optimizations?: any[];
}
export interface LegacyMobileFriendlinessResult {
overallScore?: number;
grade?: string;
recommendations?: any[];
}
export type AuditResult = LegacyAuditResult;
export type PageResult = LegacyPageResult;
export type AccessibilityResult = LegacyAccessibilityResult;
export type PerformanceResult = LegacyPerformanceResult;
export type SEOResult = LegacySEOResult;
export type ContentWeightResult = LegacyContentWeightResult;
export type MobileFriendlinessResult = LegacyMobileFriendlinessResult;
/**
* Adapter: Konvertiert Legacy AuditResult zu StrictAuditData
*/
export declare class AuditDataAdapter {
/**
* Hauptkonvertierung: Legacy AuditResult → StrictAuditData
*/
static convertToStrict(legacyResult: AuditResult): StrictAuditData;
/**
* Legacy-Struktur zu Intermediate-Format transformieren
*/
private static transformLegacyStructure;
/**
* Legacy PageResult zu Strict-kompatiblem Format transformieren
*/
private static transformLegacyPage;
/**
* Normalisiert Page Status zu erlaubten Werten
*/
private static normalizePageStatus;
/**
* Legacy Accessibility zu Strict-Format transformieren
*/
private static transformAccessibilityResult;
/**
* Transformiert Accessibility-Issues zu Strict-Format
*/
private static transformAccessibilityIssues;
/**
* Legacy Performance zu Strict-Format transformieren
*/
private static transformPerformanceResult;
/**
* Core Web Vitals transformieren mit Fallback-Werten
*/
private static transformCoreWebVitals;
/**
* Standard Core Web Vitals für fehlende Performance-Daten
*/
private static createDefaultCoreWebVitals;
/**
* Legacy SEO zu Strict-Format transformieren
*/
private static transformSEOResult;
/**
* SEO Meta-Tags transformieren
*/
private static transformSEOMetaTags;
/**
* Standard SEO-Daten für fehlende SEO-Analyse
*/
private static createDefaultSEOData;
/**
* Legacy Content Weight zu Strict-Format transformieren
*/
private static transformContentWeightResult;
/**
* Content Weight Resources transformieren
*/
private static transformContentWeightResources;
/**
* Standard Content Weight Daten für fehlende Analyse
*/
private static createDefaultContentWeightData;
/**
* Legacy Mobile Friendliness zu Strict-Format transformieren
*/
private static transformMobileFriendlinessResult;
/**
* Mobile Recommendations transformieren
*/
private static transformMobileRecommendations;
/**
* Score zu Grade konvertieren
*/
private static scoreToGrade;
/**
* Diagnose-Funktion: Analysiert Legacy-Daten auf Vollständigkeit
*/
static diagnoseLegacyData(legacyResult: AuditResult): {
isComplete: boolean;
missingFields: string[];
warnings: string[];
pageAnalysis: {
url: string;
missingAnalyses: string[];
}[];
};
}
/**
* High-level Convenience-Function: Konvertiert und validiert Legacy-Daten
*/
export declare function convertAndValidateAuditData(legacyResult: AuditResult): StrictAuditData;
/**
* Safe Conversion: Versucht Konvertierung, fängt Fehler ab
*/
export declare function safeConvertAuditData(legacyResult: AuditResult): {
success: boolean;
data?: StrictAuditData;
error?: string;
warnings: string[];
};
//# sourceMappingURL=audit-data-adapter.d.ts.map