@@ -934,7 +934,12 @@ class Gren {
934934 const loaded = utils . task ( this , 'Getting all merged pull requests' ) ;
935935 const since = releaseRanges [ releaseRanges . length - 1 ] [ 1 ] . date ;
936936 const prs = await this . _getMergedPullRequests ( since ) ;
937- const filteredPrs = Array . from ( prs ) . filter ( this . _filterPullRequest . bind ( this ) ) ;
937+ prs . sort (
938+ ( pr1 , pr2 ) => new Date ( pr2 . merged_at ) - new Date ( pr1 . merged_at )
939+ ) ;
940+ const filteredPrs = prs . filter (
941+ this . _filterPullRequest . bind ( this )
942+ ) ;
938943
939944 let totalPrs = 0 ;
940945 const release = releaseRanges
@@ -961,10 +966,14 @@ class Gren {
961966 let relevantIssues = [ ] ;
962967
963968 const re = new RegExp ( '([\\w-]+)/([\\w-]+)/issues/([0-9]+)' , 'gi' ) ;
969+ const prs = await this . _getMergedPullRequests ( since ) ;
970+ prs . sort (
971+ ( pr1 , pr2 ) => new Date ( pr2 . merged_at ) - new Date ( pr1 . merged_at )
972+ ) ;
964973
965- const prs = ( await this . _getMergedPullRequests ( since ) )
974+ const filteredPrs = prs
966975 . filter ( this . _filterPullRequest . bind ( this ) )
967- . map ( pr => {
976+ . map ( ( pr ) => {
968977 const matches = pr . body . match ( re ) ;
969978 const relatedIssues = matches && matches . map ( issue => {
970979 const [ user , repo , , number ] = issue . split ( '/' ) ;
@@ -973,13 +982,16 @@ class Gren {
973982 return Object . assign ( { } , pr , { relatedIssues } ) ;
974983 } ) ;
975984
976- const release = releaseRanges
977- . map ( range => {
978- const list = prs . filter ( this . _filterBlockPullRequest . bind ( this , range ) ) ;
979- list . forEach ( ( { relatedIssues } ) => { relevantIssues = relevantIssues . concat ( relatedIssues || [ ] ) ; } ) ;
980- loaded ( `Pull Requests found: ${ list . length } ` ) ;
981- return Object . assign ( { } , range , { list } ) ;
985+ const release = releaseRanges . map ( ( range ) => {
986+ const list = filteredPrs . filter (
987+ this . _filterBlockPullRequest . bind ( this , range )
988+ ) ;
989+ list . forEach ( ( { relatedIssues } ) => {
990+ relevantIssues = relevantIssues . concat ( relatedIssues || [ ] ) ;
982991 } ) ;
992+ loaded ( `Pull Requests found: ${ list . length } ` ) ;
993+ return Object . assign ( { } , range , { list } ) ;
994+ } ) ;
983995
984996 const issuesDetails = ( await Promise . all ( relevantIssues . map ( this . _getSingleIssue . bind ( this ) ) ) )
985997 . reduce ( ( acc , el ) => { acc [ el . number ] = el ; return acc ; } , { } ) ;
0 commit comments