@interopio/desktop-cli
Version:
io.Connect Desktop Seed Repository CLI Tools
34 lines • 1.69 kB
TypeScript
import { ModificationOperation } from '../../services/modification-manager';
import { ComponentConfig, ComponentProcessor } from '../../types/component';
/**
* Base implementation of ComponentProcessor providing common functionality
*/
export declare class BaseComponentProcessor implements ComponentProcessor {
readonly config: ComponentConfig;
constructor(config: ComponentConfig);
getComponentDir(): string;
getModificationDir(): string;
getConfigDir(): string;
scanModifications(): Promise<ModificationOperation[]>;
applyModifications(): Promise<void>;
validateModifications(): Promise<boolean>;
hasModifications(): Promise<boolean>;
protected applyOperation(operation: ModificationOperation): Promise<void>;
protected applyCopy(operation: ModificationOperation): Promise<void>;
protected applyDelete(operation: ModificationOperation): Promise<void>;
/**
* Scan for general override files placed directly under the component modification directory.
* This enables simple path mirroring e.g. modifications/iocd/config/app.json -> components/iocd/config/app.json
* No reserved directories - everything is treated as direct path mirroring.
*
* Behavior:
* - Default: Selective file replacement (preserves existing files)
* - Explicit markers for directory operations:
* - <dir>.delete: Delete entire directory
* - <dir>.replace: Replace entire directory (delete + copy)
* - Individual file markers:
* - <file>.delete: Delete specific file
*/
protected scanGeneralOverrides(): Promise<ModificationOperation[]>;
}
//# sourceMappingURL=base-component-processor.d.ts.map