Merged in chore/add-package-to-semver (pull request #3408)

add package-name to semver

* add package-name to semver


Approved-by: Linus Flood
This commit is contained in:
Joakim Jäderberg
2026-01-09 07:48:47 +00:00
parent 36ddbc4435
commit 411a8a2a2e
6 changed files with 38 additions and 21 deletions
+23 -15
View File
@@ -4,47 +4,55 @@ import { getSemver } from "./getSemver"
describe("getSemver", () => {
it("should return undefined if version is undefined", () => {
expect(getSemver(undefined, "master")).toBeUndefined()
expect(getSemver("package", undefined, "master")).toBeUndefined()
})
it("should return undefined if version is not a string", () => {
// @ts-expect-error Testing invalid input
expect(getSemver(123, "master")).toBeUndefined()
expect(getSemver("package", 123, "master")).toBeUndefined()
})
it("should strip 'v' prefix from version", () => {
expect(getSemver("v1.0.0", "master")).toBe("1.0.0")
expect(getSemver("package", "v1.0.0", "master")).toBe("package@1.0.0")
})
it("should return undefined if version format is invalid", () => {
expect(getSemver("invalid-version", "master")).toBeUndefined()
expect(getSemver("package", "invalid-version", "master")).toBeUndefined()
})
it("should return the version as-is for named branches", () => {
expect(getSemver("1.0.0", "release")).toBe("1.0.0")
expect(getSemver("1.0.0", "master")).toBe("1.0.0")
expect(getSemver("1.0.0", "test")).toBe("1.0.0")
expect(getSemver("1.0.0", "stage")).toBe("1.0.0")
expect(getSemver("1.0.0", "prod")).toBe("1.0.0")
expect(getSemver("package", "1.0.0", "release")).toBe("package@1.0.0")
expect(getSemver("package", "1.0.0", "master")).toBe("package@1.0.0")
expect(getSemver("package", "1.0.0", "test")).toBe("package@1.0.0")
expect(getSemver("package", "1.0.0", "stage")).toBe("package@1.0.0")
expect(getSemver("package", "1.0.0", "prod")).toBe("package@1.0.0")
})
it("should append cleaned branch name for non-named branches", () => {
expect(getSemver("1.0.0", "feature/my-feature")).toBe(
"1.0.0-feature-my-feature"
expect(getSemver("package", "1.0.0", "feature/my-feature")).toBe(
"package@1.0.0-feature-my-feature"
)
})
it("should handle special characters in non-named branches", () => {
expect(getSemver("1.0.0", "fix/bug#123")).toBe("1.0.0-fix-bug-123")
expect(getSemver("package", "1.0.0", "fix/bug#123")).toBe(
"package@1.0.0-fix-bug-123"
)
})
it("should lowercase and trim non-named branches", () => {
expect(getSemver("1.0.0", " MY-BRANCH ")).toBe("1.0.0-my-branch")
expect(getSemver("package", "1.0.0", " MY-BRANCH ")).toBe(
"package@1.0.0-my-branch"
)
})
it("should truncate long branch names", () => {
expect(
getSemver("1.0.0", "feature/very-long-branch-name-that-exceeds-limit")
).toBe("1.0.0-feature-very-long-br")
getSemver(
"package",
"1.0.0",
"feature/very-long-branch-name-that-exceeds-limit"
)
).toBe("package@1.0.0-feature-very-long-br")
})
})