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.
69 lines • 2.35 kB
TypeScript
/**
* Interface for Conan lock file entry
*/
interface ConanLockEntry {
packageRef: string;
hash: string;
timestamp: string;
}
/**
* Service for managing conan.win.lock file updates
*/
export declare class ConanLockService {
private readonly filePath;
constructor(workingDirectory?: string);
/**
* Check if conan.win.lock exists
*/
exists(): boolean;
/**
* Read and parse conan.win.lock content
*/
readContent(): string;
/**
* Parse lock file entry from string
* @param lockEntry Entry like "zterm/1.0.0.24#9bbcb882c9c62af94fcfd21f98e3b711%1756995353.576"
* @returns Parsed entry object
*/
private parseLockEntry;
/**
* Build lock entry string from components
*/
private buildLockEntry;
/**
* Update package version in conan.win.lock
* @param packageName Package name (e.g., "zterm")
* @param newVersion New version (e.g., "1.0.0.25")
* @param newRevision New revision hash (e.g., "9bbcb882c9c62af94fcfd21f98e3b711")
* @param newTimestamp New timestamp (e.g., "1757090078.826")
* @returns Updated content
*/
updatePackageVersion(packageName: string, newVersion: string, newRevision: string, newTimestamp: string): string;
/**
* Write updated content to conan.win.lock
*/
writeContent(content: string): void;
/**
* Update package version and save file
* @param packageName Package name
* @param newVersion New version
* @param newRevision New revision hash
* @param newTimestamp New timestamp
*/
updateAndSave(packageName: string, newVersion: string, newRevision: string, newTimestamp: string): void;
/**
* Get current package info from conan.win.lock
* @param packageName Package name
* @returns Current lock entry info or null if not found
*/
getCurrentLockInfo(packageName: string): ConanLockEntry | null;
/**
* Extract timestamp from package version info (if available from ConanService)
* This is a helper method to generate timestamp from lastModified date
* @param lastModifiedISO ISO date string from ConanService
* @returns Timestamp string for lock file
*/
static generateTimestamp(lastModifiedISO: string): string;
}
export {};
//# sourceMappingURL=conanlock-service.d.ts.map