Files
web/packages/common/utils/getSemver.ts
Joakim Jäderberg 1ba94ff70a Merged in chore/fix-semver (pull request #3393)
Chore/fix semver

* fix semver versioning

* fix semver versioning

* Merge branch 'chore/fix-semver' of bitbucket.org:scandic-swap/web into chore/fix-semver

* Merge branch 'master' of bitbucket.org:scandic-swap/web into chore/fix-semver

* reset to master


Approved-by: Linus Flood
2026-01-07 10:49:14 +00:00

33 lines
706 B
TypeScript

const namedBranches = ["release", "master", "test", "stage", "prod"] as const
type NamedBranch = (typeof namedBranches)[number] | (string & {})
export function getSemver(
version: string | undefined,
branch: NamedBranch
): string | undefined {
if (!version || typeof version !== "string") {
return undefined
}
if (version.startsWith("v")) {
version = version.substring(1)
}
if (!/^\d+\.\d+\.\d+/.test(version)) {
return undefined
}
if (!namedBranches.includes(branch as any)) {
let cleanedBranch = branch
.substring(0, 20)
.trim()
.replace(/[^a-zA-Z0-9]/g, "-")
.toLowerCase()
return `${version}-${cleanedBranch}`
}
return version
}