UNPKG

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
/** * 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