@@ -57,32 +57,32 @@ actions.addRelease = function( data, fn ) {
57
57
return fn ( error ) ;
58
58
}
59
59
60
- // this version is the latest if:
61
- // - this is the first version (there is no existing latest version)
62
- // - this version is stable and greater than the existing latest version
63
- // - both versions are unstable and the current version is greater
64
- var mainPage ,
65
- isLatest = ! versions . latest ||
66
- ( ( isStable ( package . version ) || ! isStable ( versions . latest ) ) &&
67
- semver . gt ( package . version , versions . latest ) ) ,
68
- latest = isLatest ? package . version : versions . latest ,
69
- listed = versions . listed
60
+ var mainPage , latest ,
61
+ listed = versions
70
62
. concat ( package . version )
71
- . sort ( semver . compare ) ;
72
-
73
- // if the latest is not stable, then all versions are not stable
74
- // if the latest is stable, remove any unstable versions less than latest
75
- if ( isStable ( latest ) ) {
76
- listed = listed . filter ( function ( version ) {
77
- return isStable ( version ) || semver . gt ( version , latest ) ;
78
- } ) ;
63
+ . sort ( semver . compare )
64
+ . reverse ( )
65
+ . filter ( function ( version ) {
66
+ if ( latest ) {
67
+ return isStable ( version ) ;
68
+ }
69
+ if ( isStable ( version ) ) {
70
+ latest = version ;
71
+ }
72
+ return true ;
73
+ } )
74
+ . reverse ( ) ;
75
+
76
+ // no stable relases yet, show latest pre-release
77
+ if ( ! latest ) {
78
+ latest = listed [ listed . length - 1 ] ;
79
79
}
80
80
81
81
this . parallel ( ) ( null , listed ) ;
82
82
this . parallel ( ) ( null , latest ) ;
83
83
this . parallel ( ) ( null , pageDetails ) ;
84
84
85
- if ( isLatest ) {
85
+ if ( latest === package . version ) {
86
86
mainPage = Object . create ( pageDetails ) ;
87
87
mainPage . name = package . name ;
88
88
mainPage . draft = true ;
0 commit comments