git-aiflow
Version:
🚀 An AI-powered workflow automation tool for effortless Git-based development, combining smart GitLab/GitHub merge & pull request creation with Conan package management.
54 lines • 2.22 kB
TypeScript
import { ConanService, ConanPackageVersion, ConanCompletePackageInfo } from './conan-service.js';
import { GitService } from './git-service.js';
/**
* Service for updating Conan package files and managing git operations
*/
export declare class FileUpdaterService {
private readonly conanDataService;
private readonly conanLockService;
private readonly conanService;
private readonly gitService;
constructor(conanService: ConanService, gitService: GitService, workingDirectory?: string);
/**
* Check if required files exist
*/
validateFiles(): void;
/**
* Get latest version for a package
* @param remote Remote repository name
* @param packageName Package name
* @returns Latest version info
*/
getLatestVersion(remote: string, packageName: string): Promise<ConanPackageVersion>;
/**
* Get complete package information including revision
* @param remote Remote repository name
* @param packageName Package name
* @returns Complete package info with revision
*/
getCompletePackageInfo(remote: string, packageName: string): Promise<ConanCompletePackageInfo>;
/**
* Check if package needs update (comparing both version and revision)
* @param packageName Package name
* @param completeInfo Complete package info with version and revision
* @returns True if update is needed
*/
needsUpdate(packageName: string, completeInfo: ConanCompletePackageInfo): boolean;
/**
* Update package in both files using complete package info
* @param completeInfo Complete package information with revision
*/
updatePackageFiles(completeInfo: ConanCompletePackageInfo): void;
/**
* Stage updated files for git commit
*/
stageFiles(): void;
/**
* Complete package update workflow (only update files, don't stage)
* @param remote Remote repository name
* @param packageName Package name to update
* @returns Complete package info if update was performed, null if no update needed
*/
updatePackage(remote: string, packageName: string): Promise<ConanCompletePackageInfo | null>;
}
//# sourceMappingURL=file-updater-service.d.ts.map