Skip to content

Commit 45b8da9

Browse files
klopfdrehbabblebeygr2m
authoredJul 8, 2024··
feat: use branch prerelease property for detection (#863)
* feat: use branch prerelease property for detection * Update lib/is-prerelease.js Co-authored-by: Gregor Martynus <39992+gr2m@users.noreply.github.com> --------- Co-authored-by: Olabode Lawal-Shittabey <babblebey@gmail.com> Co-authored-by: Gregor Martynus <39992+gr2m@users.noreply.github.com>
1 parent c31876b commit 45b8da9

File tree

2 files changed

+62
-2
lines changed

2 files changed

+62
-2
lines changed
 

‎lib/is-prerelease.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1-
export default function isPrerelease({ type, main }) {
2-
return type === "prerelease" || (type === "release" && !main);
1+
export default function isPrerelease({ type, main, prerelease }) {
2+
if (prerelease === false) {
3+
return false;
4+
}
5+
return (
6+
type === "prerelease" ||
7+
(type === "release" && !main) ||
8+
typeof prerelease == "string" ||
9+
prerelease === true
10+
);
311
}

‎test/is-prerelease.test.js

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import test from "ava";
2+
import isPrerelease from "../lib/is-prerelease.js";
3+
4+
test("Test for empty object", (t) => {
5+
const branch = {};
6+
t.is(isPrerelease(branch), false);
7+
});
8+
9+
test("Test if prerelease true property as boolean is used correctly", (t) => {
10+
const branch = {
11+
prerelease: true,
12+
};
13+
t.is(isPrerelease(branch), true);
14+
});
15+
16+
test("Test if prerelease false property as boolean is used correctly", (t) => {
17+
const branch = {
18+
prerelease: false,
19+
};
20+
t.is(isPrerelease(branch), false);
21+
});
22+
23+
test("Test if prerelease property as string is used correctly", (t) => {
24+
const branch = {
25+
prerelease: "rc",
26+
};
27+
t.is(isPrerelease(branch), true);
28+
});
29+
30+
test("Test if prerelease type is used correctly", (t) => {
31+
const branch = {
32+
type: "prerelease",
33+
};
34+
t.is(isPrerelease(branch), true);
35+
});
36+
37+
test("Test if prerelease type and main is used correctly", (t) => {
38+
const branch = {
39+
type: "release",
40+
main: false,
41+
};
42+
t.is(isPrerelease(branch), true);
43+
});
44+
45+
test("Test if prerelease type and main in addition to prerelease is used correctly", (t) => {
46+
const branch = {
47+
type: "release",
48+
main: false,
49+
prerelease: false,
50+
};
51+
t.is(isPrerelease(branch), false);
52+
});

0 commit comments

Comments
 (0)
Please sign in to comment.