UNPKG

iop

Version:
55 lines (54 loc) 1.62 kB
import { IopConfig } from "../config/types"; export interface ConfigValidationError { type: "port_conflict" | "invalid_port" | "configuration_error" | "reserved_name"; message: string; entries: string[]; server: string; port?: number; suggestions?: string[]; } export declare class ConfigValidator { private config; private static readonly RESERVED_NAMES; constructor(config: IopConfig); /** * Validates the entire configuration for common issues */ validate(): ConfigValidationError[]; /** * Checks for reserved command names being used as app/service names */ private checkReservedNames; /** * Checks for port conflicts within the same project configuration */ private checkIntraProjectPortConflicts; /** * Checks for invalid port configurations */ private checkInvalidPorts; /** * Validates a port specification format */ private isValidPortSpec; /** * Gets all entries from the services configuration */ private getAllEntries; /** * Generates suggestions for resolving reserved name conflicts */ private generateReservedNameSuggestions; /** * Generates suggestions for resolving port conflicts */ private generatePortConflictSuggestions; } /** * Validates a iop configuration and returns any errors found */ export declare function validateConfig(config: IopConfig): ConfigValidationError[]; /** * Formats validation errors for display */ export declare function formatValidationErrors(errors: ConfigValidationError[]): string[];