feat: initial commit

This commit is contained in:
eric
2026-03-12 22:16:34 +01:00
parent 8555b02752
commit f13f4a9a69
155 changed files with 11988 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
package updates
import (
"fmt"
"strings"
"golang.org/x/mod/semver"
)
func NormalizeVersion(version string) (string, error) {
trimmed := strings.TrimSpace(version)
if trimmed == "" {
return "", ErrInvalidVersion
}
if !strings.HasPrefix(trimmed, "v") {
trimmed = "v" + trimmed
}
if !semver.IsValid(trimmed) {
return "", fmt.Errorf("%w: %s", ErrInvalidVersion, version)
}
return trimmed, nil
}
func CompareVersions(left string, right string) (int, error) {
normalizedLeft, err := NormalizeVersion(left)
if err != nil {
return 0, err
}
normalizedRight, err := NormalizeVersion(right)
if err != nil {
return 0, err
}
return semver.Compare(normalizedLeft, normalizedRight), nil
}