@@ -71,6 +71,7 @@ async function fetchMergedPRs(postMergedDate, _repo, isPatchRelease) {
7171 info : parsePR ( pr . body )
7272 } ;
7373 } catch {
74+ // eslint-disable-next-line no-restricted-syntax
7475 console . error ( 'Failed parsing PR: ' , pr . url ) ;
7576 return null ;
7677 }
@@ -164,9 +165,7 @@ function getReleaseNotesForType(PRs, title) {
164165 return releaseNotes ;
165166}
166167
167- async function _generateReleaseNotes ( latestVersion , newVersion , fileNamePrefix , repo , header , tagPrefix , categories , isPatchRelease ) {
168- const latestReleaseDate = fetchLatestReleaseDate ( tagPrefix , latestVersion ) ;
169- const PRs = await fetchMergedPRs ( latestReleaseDate , repo , isPatchRelease ) ;
168+ function generateReleaseNotesFromPRs ( PRs , categories , header ) {
170169 if ( ! PRs ) {
171170 return ;
172171 }
@@ -198,10 +197,20 @@ async function _generateReleaseNotes(latestVersion, newVersion, fileNamePrefix,
198197
199198 releaseNotes += getTitle ( ':bulb: Deprecations & Migrations' ) ;
200199
200+ return releaseNotes ;
201+ }
202+
203+ // eslint-disable-next-line max-len, max-params
204+ async function _generateReleaseNotes ( latestVersion , newVersion , fileNamePrefix , repo , header , tagPrefix , categories , isPatchRelease ) {
205+ const latestReleaseDate = fetchLatestReleaseDate ( tagPrefix , latestVersion ) ;
206+ const PRs = await fetchMergedPRs ( latestReleaseDate , repo , isPatchRelease ) ;
207+ const releaseNotes = generateReleaseNotesFromPRs ( PRs , categories , header ) ;
208+
201209 fs . writeFileSync ( `${ process . env . HOME } /Downloads/${ fileNamePrefix } -release-notes_${ newVersion } .txt` , releaseNotes , {
202210 encoding : 'utf8'
203211 } ) ;
204212
213+ // eslint-disable-next-line max-len
205214 console . log ( `\x1b[1m\x1b[32m✔\x1b[0m \x1b[32m${ fileNamePrefix } -release-notes.txt was successfully written to ${ process . env . HOME } /Downloads\x1b[0m \x1b[1m\x1b[32m✔\x1b[0m` ) ;
206215}
207216
@@ -212,6 +221,7 @@ function isPatchRelease(lastVersion, newVersion) {
212221 return lastMajor === newMajor && lastMinor === newMinor && newPatch - lastPatch > 0 ;
213222}
214223
224+ // eslint-disable-next-line max-params
215225async function generateReleaseNotes ( latestVersion ,
216226 newVersion ,
217227 fileNamePrefix ,
@@ -238,8 +248,9 @@ async function generateReleaseNotes(latestVersion,
238248 const header = getHeader ( newVer ) ;
239249 console . info ( `Current latest version is v${ latestVer } ` ) ;
240250 console . info ( `Generating release notes out or PRs for v${ newVer } ` ) ;
251+ // eslint-disable-next-line max-len
241252 _generateReleaseNotes ( latestVer , newVer , fileNamePrefix , repo , header , tagPrefix , categories , isPatchRelease ( latestVer , newVer ) ) ;
242253 } ) ;
243254}
244255
245- module . exports = { generateReleaseNotes} ;
256+ module . exports = { generateReleaseNotes, generateReleaseNotesFromPRs , parsePR } ;
0 commit comments