File tree Expand file tree Collapse file tree 2 files changed +60
-1
lines changed Expand file tree Collapse file tree 2 files changed +60
-1
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import styled from 'styled-components'
33import { Button , Popover } from 'antd'
44import semver from 'semver/preload'
55import queryString from 'query-string'
6- import R from 'ramda'
6+ import * as R from 'ramda'
77
88import { RELEASES_URL } from '../../utils'
99import { Select } from './'
@@ -120,8 +120,10 @@ export const filterReleases = (
120120
121121 switch ( showRCs ) {
122122 case 'all' :
123+ // show all rcs
123124 break
124125 case 'latest' : {
126+ // show only latest version's rcs
125127 let latestRelease = filteredReleases [ 0 ]
126128 let earliestLatestReleaseIndex = R . findIndex (
127129 release =>
@@ -140,12 +142,29 @@ export const filterReleases = (
140142 break
141143 }
142144 case 'none' :
145+ // don't show any rcs
143146 filteredReleases = R . reject ( isRC ) ( filteredReleases )
144147 break
145148 default :
146149 break
147150 }
148151
152+ if ( maxVersion !== undefined ) {
153+ // drop all versions later than `maxVersion`
154+ filteredReleases = R . dropWhile (
155+ release =>
156+ semver . compare ( semver . coerce ( release ) , semver . coerce ( maxVersion ) ) > 0
157+ ) ( filteredReleases )
158+ }
159+
160+ if ( minVersion !== undefined ) {
161+ // take all versions later or equal to `minVersion`
162+ filteredReleases = R . takeWhile (
163+ release =>
164+ semver . compare ( semver . coerce ( release ) , semver . coerce ( minVersion ) ) >= 0
165+ ) ( filteredReleases )
166+ }
167+
149168 return filteredReleases
150169}
151170
Original file line number Diff line number Diff line change @@ -30,6 +30,34 @@ const releasesNoRCsWithLatestReleaseRCs = [
3030 '0.63.2-rc.0' ,
3131 ...releasesNoRCs
3232]
33+ const releasesBeforeMax = [
34+ '0.62.4' ,
35+ '0.62.4-rc.1' ,
36+ '0.62.4-rc.0' ,
37+ '0.62.3' ,
38+ '0.62.1' ,
39+ '0.62.0' ,
40+ '0.62.0-rc.1' ,
41+ '0.61.3'
42+ ]
43+ const releasesAfterMin = [
44+ '0.63.2-rc.1' ,
45+ '0.63.2-rc.0' ,
46+ '0.63.1' ,
47+ '0.63.0' ,
48+ '0.62.4' ,
49+ '0.62.4-rc.1' ,
50+ '0.62.4-rc.0' ,
51+ '0.62.3' ,
52+ '0.62.1'
53+ ]
54+ const releasesBetweenMinAndMax = [
55+ '0.62.4' ,
56+ '0.62.4-rc.1' ,
57+ '0.62.4-rc.0' ,
58+ '0.62.3' ,
59+ '0.62.1'
60+ ]
3361
3462describe ( 'release filtering' , ( ) => {
3563 it ( 'should return the correct releases' , ( ) => {
@@ -41,5 +69,17 @@ describe('release filtering', () => {
4169 expect ( filterReleases ( releases , { showRCs : 'latest' } ) ) . toEqual (
4270 releasesNoRCsWithLatestReleaseRCs
4371 )
72+
73+ expect ( filterReleases ( releases , { maxVersion : '0.62.4' } ) ) . toEqual (
74+ releasesBeforeMax
75+ )
76+
77+ expect ( filterReleases ( releases , { minVersion : '0.62.1' } ) ) . toEqual (
78+ releasesAfterMin
79+ )
80+
81+ expect (
82+ filterReleases ( releases , { minVersion : '0.62.1' , maxVersion : '0.62.4' } )
83+ ) . toEqual ( releasesBetweenMinAndMax )
4484 } )
4585} )
You can’t perform that action at this time.
0 commit comments