Files
ComfyUI_frontend/src/utils/versioning.ts

38 lines
970 B
TypeScript

import { electronAPI, isElectron } from '@/utils/envUtil'
/**
* Compare two semantic version strings.
* @param a - First version string
* @param b - Second version string
* @returns 0 if equal, 1 if a > b, -1 if a < b
*/
export function compareVersions(a: string, b: string): number {
const parseVersion = (version: string) => {
return version.split('.').map((v) => parseInt(v, 10) || 0)
}
const versionA = parseVersion(a)
const versionB = parseVersion(b)
for (let i = 0; i < Math.max(versionA.length, versionB.length); i++) {
const numA = versionA[i] || 0
const numB = versionB[i] || 0
if (numA > numB) return 1
if (numA < numB) return -1
}
return 0
}
/**
* Get the current ComfyUI version for version tracking
*/
export function getCurrentVersion(): string {
if (isElectron()) {
return electronAPI().getComfyUIVersion()
}
// For web version, fallback to frontend version
return __COMFYUI_FRONTEND_VERSION__
}