veas
Version: 
Veas CLI - Command-line interface for Veas platform
77 lines • 2.32 kB
TypeScript
export interface VeasConfigFolder {
    local: string;
    remote: string;
    description?: string;
    tags?: string[];
}
export interface VeasConfigPublication {
    name: string;
    description?: string;
    slug?: string;
    organization_id?: string;
    organization_slug?: string;
    tags?: string[];
}
export interface VeasConfigSyncMetadata {
    frontmatter: boolean;
    defaults?: {
        status?: 'draft' | 'published' | 'archived';
        tags?: string[];
    };
}
export interface VeasConfigSyncBehavior {
    missing_remote?: 'create' | 'skip' | 'warn';
    missing_local?: 'archive' | 'delete' | 'skip' | 'warn';
    update_strategy?: 'always' | 'modified' | 'never';
    preserve_remote?: string[];
}
export interface VeasConfigSyncWatch {
    enabled?: boolean;
    debounce?: number;
}
export interface VeasConfigSyncRoot {
    path: string;
    include?: string[];
    exclude?: string[];
    folders?: VeasConfigFolder[];
    tags?: string[];
}
export interface VeasConfigSync {
    roots?: VeasConfigSyncRoot[];
    include?: string[];
    exclude?: string[];
    folders?: VeasConfigFolder[];
    metadata?: VeasConfigSyncMetadata;
    watch?: VeasConfigSyncWatch;
    behavior?: VeasConfigSyncBehavior;
}
export interface VeasConfig {
    version: number;
    publication?: VeasConfigPublication;
    sync: VeasConfigSync;
}
export declare class VeasConfigParser {
    private configPath;
    private config?;
    private static instance;
    constructor(configPath?: string);
    private findConfigFile;
    load(): Promise<VeasConfig>;
    private mergeWithDefaults;
    private validateConfig;
    getSyncRoots(): Array<{
        root: VeasConfigSyncRoot;
        absolutePath: string;
    }>;
    getConfig(): VeasConfig;
    shouldIncludeFile(filePath: string, rootPath: string): boolean;
    private matchesPattern;
    getRemoteFolder(localPath: string, rootPath: string, rootConfig: VeasConfigSyncRoot): string | undefined;
    static createSampleConfig(targetPath?: string): Promise<void>;
    static getInstance(configPath?: string): VeasConfigParser;
    save(config?: VeasConfig): Promise<void>;
    getPublication(): VeasConfigPublication | undefined;
    getSyncConfig(): VeasConfigSync;
    resolveGlobs(): Promise<string[]>;
}
//# sourceMappingURL=veas-config-parser.d.ts.map