qraft
Version:
A powerful CLI tool to qraft structured project setups from GitHub template repositories
102 lines • 3.19 kB
TypeScript
import { DirectoryComparison } from './contentComparison';
import { DiffSummary } from './diffGenerator';
export interface ChangeImpact {
level: 'low' | 'medium' | 'high' | 'critical';
description: string;
affectedFiles: string[];
recommendations: string[];
}
export interface FileChangeAnalysis {
path: string;
changeType: 'addition' | 'deletion' | 'modification' | 'rename';
impact: ChangeImpact;
riskFactors: string[];
size: {
before: number;
after: number;
change: number;
changePercent: number;
};
content: {
linesAdded: number;
linesDeleted: number;
similarity: number;
hasBreakingChanges: boolean;
};
}
export interface ManifestChangeAnalysis {
hasChanges: boolean;
changeType: 'version' | 'metadata' | 'missing' | 'corrupted' | 'none';
impact: ChangeImpact;
riskFactors: string[];
changes: {
versionChange?: {
from: string;
to: string;
isUpgrade: boolean;
isMajorChange: boolean;
};
metadataChanges?: Array<{
field: string;
from: any;
to: any;
impact: 'low' | 'medium' | 'high';
}>;
compatibilityIssues?: string[];
};
recommendations: string[];
}
export interface ChangeAnalysisResult {
overall: {
riskLevel: 'low' | 'medium' | 'high' | 'critical';
confidence: number;
requiresReview: boolean;
canAutoApply: boolean;
};
summary: {
totalFiles: number;
additions: number;
deletions: number;
modifications: number;
renames: number;
manifestChanges: number;
};
impacts: ChangeImpact[];
fileAnalyses: FileChangeAnalysis[];
manifestAnalysis?: ManifestChangeAnalysis;
recommendations: string[];
}
export declare class ChangeAnalysis {
analyzeChanges(comparison: DirectoryComparison, diffSummary: DiffSummary): ChangeAnalysisResult;
private analyzeFiles;
private analyzeManifestChanges;
private analyzeFile;
private identifyRiskFactors;
private isCriticalFile;
private isConfigurationFile;
private isExecutableFile;
private calculateFileImpact;
private generateImpactDescription;
private calculateSizeChange;
private analyzeContentChanges;
private detectBreakingChanges;
private isCodeFile;
private determineManifestChangeType;
private identifyManifestRiskFactors;
private isMajorVersionChange;
private calculateManifestImpact;
private generateManifestImpactDescription;
private analyzeManifestChanges_Details;
private isVersionUpgrade;
private getMetadataChangeImpact;
private identifyCompatibilityIssues;
private generateManifestRecommendations;
private mapChangeType;
private calculateImpacts;
private calculateOverallRisk;
private generateSummary;
private generateRecommendations;
getFilesRequiringReview(result: ChangeAnalysisResult): FileChangeAnalysis[];
getSafeFiles(result: ChangeAnalysisResult): FileChangeAnalysis[];
}
//# sourceMappingURL=changeAnalysis.d.ts.map