sicua
Version:
A tool for analyzing project structure and dependencies
127 lines (126 loc) • 3.79 kB
TypeScript
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[];
};
}