UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

127 lines (126 loc) 3.79 kB
import { ComponentRelation } from "../../types"; import { SEOAnalysisResult } from "../../types/seoCoverageTypes"; import { SEOAnalysisOptions, PageComponentMap, MetaTagsMap, StructuredDataMap, RoutesMap } from "./types/internalTypes"; /** * Main analyzer for SEO-related aspects of React applications */ export declare class SEOAnalyzer { private components; private pageComponents; private metaTags; private structuredData; private routes; private options; /** * Create a new SEO analyzer * * @param components Array of component relations to analyze * @param options Optional analysis configuration */ constructor(components: ComponentRelation[], options?: SEOAnalysisOptions); /** * Run the comprehensive SEO analysis including new Next.js features */ analyze(): Promise<SEOAnalysisResult>; /** * Identify page components from all components */ private identifyPageComponents; private isUIComponent; /** * Analyze a single page component */ private analyzePageComponent; /** * Get comprehensive SEO improvement suggestions including new features */ getSEOImprovementSuggestions(): { metaTags: string[]; headings: string[]; landmarks: string[]; accessibility: string[]; content: string[]; routing: string[]; structuredData: string[]; appRouter: string[]; performance: string[]; imageOptimization: string[]; middleware: string[]; }; /** * Get overall SEO health score (0-100) */ calculateSEOHealthScore(): { overallScore: number; categoryScores: { metaTags: number; semanticStructure: number; performance: number; appRouter: number; imageOptimization: number; accessibility: number; }; criticalIssues: string[]; }; /** * Get Next.js specific recommendations */ getNextJSRecommendations(): { appRouterMigration: string[]; imageOptimization: string[]; performanceOptimization: string[]; middlewareOptimization: string[]; }; /** * Get all page components detected during analysis */ getPageComponents(): PageComponentMap; /** * Get all routes detected during analysis */ getRoutes(): RoutesMap; /** * Get detailed meta tag analysis for a specific page */ getPageMetaTags(pagePath: string): import("../../types").MetaTagAnalysis | undefined; /** * Get structured data for a specific page */ getPageStructuredData(pagePath: string): import("schema-dts").Graph | import("schema-dts").WithContext<import("schema-dts").Thing> | undefined; /** * Check if a component is a page component */ isPageComponent(component: ComponentRelation): boolean; /** * Get all meta tags analysis results */ getAllMetaTags(): MetaTagsMap; /** * Get all structured data analysis results */ getAllStructuredData(): StructuredDataMap; /** * Get performance insights for Core Web Vitals */ getCoreWebVitalsInsights(): { lcpIssues: number; clsIssues: number; fidIssues: number; recommendations: string[]; }; /** * Get bundle optimization insights */ getBundleOptimizationInsights(): { heavyImports: number; criticalResources: number; optimizationOpportunities: string[]; recommendations: string[]; }; getAppRouterReadiness(): { isUsingAppRouter: boolean; readinessScore: number; missingFeatures: string[]; recommendations: string[]; }; }