frontend-standards-checker
Version:
A comprehensive frontend standards validation tool with TypeScript support
136 lines • 3.77 kB
TypeScript
import type { IConfigLoader, ILogger, IStandardsConfiguration, IConfigurationExport, IDefaultRulesStructure } from '../types/index.js';
/**
* Configuration loader and manager
* Handles loading custom rules and project configuration
*/
export declare class ConfigLoader implements IConfigLoader {
readonly rootDir: string;
readonly logger: ILogger;
readonly configFileName: string;
private readonly helper;
constructor(rootDir: string, logger: ILogger);
/**
* Resolve the configuration file path
* @param customConfigPath Optional custom config path
* @returns Resolved config file path
*/
private resolveConfigPath;
/**
* Load configuration from file or use defaults
* @param customConfigPath Optional custom config path
* @returns Configuration object
*/
load(customConfigPath?: string | null): Promise<IStandardsConfiguration>;
/**
* Merge custom configuration with defaults
* @param customConfig Custom configuration
* @returns Merged configuration
*/
mergeWithDefaults(customConfig: IConfigurationExport): IStandardsConfiguration;
/**
* Handle function-based configuration
*/
private handleFunctionConfig;
/**
* Handle array-based configuration
*/
private handleArrayConfig;
/**
* Handle object-based configuration
*/
private handleObjectConfig;
/**
* Determine final rules based on configuration
*/
private determineFinalRules;
/**
* Check if a file is a configuration file that should be excluded from validation
* @param filePath The file path to check
* @returns True if the file is a configuration file
*/
private isConfigFile;
/**
* Get default configuration
* @returns Default configuration
*/
getDefaultConfig(): IStandardsConfiguration;
/**
* Get default rules organized by category
* @returns Default rules structure
*/
getDefaultRules(): IDefaultRulesStructure;
/**
* Get structure validation rules
* @returns Structure rules
*/
private getStructureRules;
/**
* Get naming validation rules
* @returns Naming rules
*/
private getNamingRules;
/**
* Get content validation rules
* @returns Content rules
*/
private getContentRules;
/**
* Convert object format rules to ValidationRule array
*/
private convertObjectRulesToArray;
/**
* Get style validation rules
* @returns Style rules
*/
private getStyleRules;
/**
* Get documentation validation rules
* @returns Documentation rules
*/
private getDocumentationRules;
/**
* Get TypeScript specific rules
*/
private getTypeScriptRules;
/**
* Get React specific rules
*/
private getReactRules;
/**
* Get import rules
*/
private getImportRules;
/**
* Get performance rules
*/
private getPerformanceRules;
/**
* Get accessibility rules
*/
private getAccessibilityRules;
/**
* Check if content has unused imports
*/
private hasUnusedImports;
/**
* Check if a specific import line contains unused imports
*/
private isUnusedImportLine;
/**
* Check if import is a common framework import that might be used implicitly
*/
private isFrameworkImport;
/**
* Extract imported names from an import line
*/
private extractImportedNames;
/**
* Check if any of the imported names are unused
*/
private hasAnyUnusedName;
/**
* Check if a specific imported name is unused
*/
private isNameUnused;
}
//# sourceMappingURL=config-loader.d.ts.map