* Normalize a version string for comparison. * Strips leading "v", dev suffixes like "-devel+hash", and build metadata. * Example: "v2.28.6+df47153" → "2.28.6"
(v: string)
| 58 | * Example: "v2.28.6+df47153" → "2.28.6" |
| 59 | */ |
| 60 | function normalizeVersion(v: string): string { |
| 61 | return v |
| 62 | .replace(/^v/i, "") // Strip leading v/V |
| 63 | .split("-")[0] // Remove pre-release suffix |
| 64 | .split("+")[0]; // Remove build metadata |
| 65 | } |
| 66 | |
| 67 | /** |
| 68 | * Compare two semver versions. Returns: |