@deepbrainspace/nx-surrealdb
Version:
NX plugin for SurrealDB migrations with modular architecture
36 lines (35 loc) • 1.13 kB
TypeScript
export interface ModuleConfig {
name: string;
description?: string;
dependencies: string[];
locked?: boolean;
lockReason?: string;
}
export interface MigrationsConfig {
modules: Record<string, ModuleConfig>;
environments?: string[];
settings?: {
configFormat?: 'json' | 'yaml';
useTransactions?: boolean;
defaultNamespace?: string;
defaultDatabase?: string;
};
}
export interface ConfigValidationError {
field: string;
message: string;
value?: unknown;
}
export declare class ConfigLoader {
private static readonly DEFAULT_CONFIG_FILES;
private static readonly MODULE_PATTERN;
static loadConfig(basePath: string, configPath?: string): Promise<MigrationsConfig | null>;
static findConfigFile(basePath: string): Promise<string | null>;
private static parseConfig;
private static parseSimpleYaml;
private static validateConfig;
private static validateModule;
private static validateDependencies;
private static detectCircularDependencies;
static createDefaultConfig(modules: string[]): MigrationsConfig;
}