structure-validation
Version:
A Node.js CLI tool for validating codebase folder and file structure using a clean declarative configuration. Part of the guardz ecosystem for comprehensive TypeScript development.
45 lines • 1.44 kB
TypeScript
/**
* Domain types for structure validation
*/
export interface ValidationRule {
readonly folder: string;
readonly patterns: readonly string[];
}
import { ValidationRule as ValidationRuleEntity } from '../entities/ValidationRule';
export interface ValidationConfig {
readonly rules: readonly ValidationRuleEntity[];
readonly root?: string;
}
export interface StructureValidationConfig {
readonly root?: string;
readonly structure: Record<string, readonly string[]>;
}
export interface FileInfo {
readonly path: string;
readonly relativePath: string;
readonly folder: string;
readonly filename: string;
}
export interface ValidationResult {
readonly isValid: boolean;
readonly errors: readonly ValidationError[];
readonly suggestions: readonly ValidationSuggestion[];
}
export interface ValidationError {
readonly file: FileInfo;
readonly type: 'pattern_mismatch' | 'folder_mismatch';
readonly message: string;
readonly expectedPatterns?: readonly string[];
readonly expectedFolder?: string | undefined;
}
export interface ValidationSuggestion {
readonly file: FileInfo;
readonly suggestedFolder: string;
readonly reason: string;
}
export interface GitDiffResult {
readonly changedFiles: readonly string[];
readonly hasChanges: boolean;
}
export type ValidationScope = 'all' | 'staged' | 'changes';
//# sourceMappingURL=validation.types.d.ts.map