@@ -47,12 +47,8 @@ const getVersionsInURL = () => {
47
47
}
48
48
}
49
49
50
- // Compare versions by removing the `rc` from them, e.g. `0.60.0-rc.1` becomes `0.60.0`
51
50
const compareReleaseCandidateVersions = ( { version, versionToCompare } ) =>
52
- semver . compare (
53
- semver . valid ( semver . coerce ( version ) ) ,
54
- semver . valid ( semver . coerce ( versionToCompare ) )
55
- ) === 0
51
+ [ 'prepatch' , null ] . includes ( semver . diff ( version , versionToCompare ) )
56
52
57
53
const getLatestMajorReleaseVersion = releasedVersions =>
58
54
semver . valid (
@@ -66,14 +62,11 @@ const getLatestMajorReleaseVersion = releasedVersions =>
66
62
)
67
63
68
64
// Check if `from` rc version is one of the latest major release (ie. 0.60.0)
69
- const isFromAValidReleaseCandidate = ( {
70
- fromVersion,
71
- latestMajorReleaseVersion
72
- } ) =>
73
- semver . prerelease ( fromVersion ) &&
65
+ const checkLatestReleaseCandidate = ( { version, latestVersion } ) =>
66
+ semver . prerelease ( version ) &&
74
67
compareReleaseCandidateVersions ( {
75
- version : latestMajorReleaseVersion ,
76
- versionToCompare : fromVersion
68
+ version : latestVersion ,
69
+ versionToCompare : version
77
70
} )
78
71
79
72
// Filters out release candidates from `releasedVersion` with the
@@ -86,17 +79,14 @@ const getReleasedVersionsWithCandidates = ({
86
79
} ) => {
87
80
const isToVersionAReleaseCandidate = semver . prerelease ( toVersion ) !== null
88
81
const isLatestAReleaseCandidate = semver . prerelease ( latestVersion ) !== null
89
- const latestMajorReleaseVersion = getLatestMajorReleaseVersion (
90
- releasedVersions
91
- )
92
82
93
83
return releasedVersions . filter ( releasedVersion => {
94
84
// Show the release candidates of the latest version
95
85
const isLatestReleaseCandidate =
96
86
showReleaseCandidates &&
97
- isFromAValidReleaseCandidate ( {
98
- fromVersion : releasedVersion ,
99
- latestMajorReleaseVersion
87
+ checkLatestReleaseCandidate ( {
88
+ version : releasedVersion ,
89
+ latestVersion
100
90
} )
101
91
102
92
return (
@@ -125,16 +115,14 @@ const getReleasedVersions = ({ releasedVersions, minVersion, maxVersion }) => {
125
115
version . includes ( 'rc' ) &&
126
116
semver . valid ( semver . coerce ( version ) ) === latestMajorReleaseVersion
127
117
128
- let result = releasedVersions . filter (
118
+ return releasedVersions . filter (
129
119
releasedVersion =>
130
120
releasedVersion . length > 0 &&
131
121
( ( maxVersion && semver . lt ( releasedVersion , maxVersion ) ) ||
132
122
( minVersion &&
133
123
semver . gt ( releasedVersion , minVersion ) &&
134
124
! isVersionAReleaseAndOfLatest ( releasedVersion ) ) )
135
125
)
136
-
137
- return result
138
126
}
139
127
140
128
// Finds the first minor release (which in react-native is the major) when compared to another version
0 commit comments