Skip to content

Commit a047f6a

Browse files
committed
fix(api-history): change semver sign if backport is x.0.0
Reported-by: David Sanders <[email protected]>
1 parent cdd1eb3 commit a047f6a

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

src/components/ApiHistoryTable.tsx

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,17 @@ function generateTableRow(
3636
const backports = prReleaseVersions?.backports;
3737
if (backports) allVersions.push(...backports);
3838

39-
// Sort by major version number e.g. 30.0.0 -> 30 in descending order i.e. 30, 29, ...
40-
allVersions.sort((a, b) => Number(b.split('.')[0]) - Number(a.split('.')[0]));
39+
// Sort by major version number e.g. 30.0.0 -> 30 in ascending order i.e. 29, 30, ...
40+
allVersions.sort((a, b) => Number(a.split('.')[0]) - Number(b.split('.')[0]));
4141

42-
const formattedVersions = allVersions.map((version) => {
43-
return (
42+
const formattedVersions: JSX.Element[] = [];
43+
44+
for (const version of allVersions) {
45+
const [, minor, patch] = version.split('.');
46+
const isBackportMajor =
47+
release !== version && minor === '0' && patch === '0';
48+
49+
const formattedVersion = (
4450
<a
4551
key={version}
4652
href={change['pr-url']}
@@ -49,12 +55,20 @@ function generateTableRow(
4955
>
5056
{/* Semver shenanigans, feature backported to both ^7.1.0 and ^6.3.0 would not be present in 7.0.0 */}
5157
<pre>
52-
{release === version ? '>=' : '^'}
58+
{release === version || isBackportMajor ? '>=' : '^'}
5359
{version}
5460
</pre>
5561
</a>
5662
);
57-
});
63+
64+
formattedVersions.push(formattedVersion);
65+
66+
// If backport is a major (i.e. >=x.0.0), no need to include the release or any other backports
67+
if (isBackportMajor) break;
68+
}
69+
70+
// Reverse the order of the versions so that the latest version is first i.e. 30, 29, ...
71+
formattedVersions.reverse();
5872

5973
let changesJsx: JSX.Element | undefined;
6074

0 commit comments

Comments
 (0)