@@ -71,6 +71,7 @@ async function fetchMergedPRs(postMergedDate, _repo, isPatchRelease) {
71
71
info : parsePR ( pr . body )
72
72
} ;
73
73
} catch {
74
+ // eslint-disable-next-line no-restricted-syntax
74
75
console . error ( 'Failed parsing PR: ' , pr . url ) ;
75
76
return null ;
76
77
}
@@ -164,9 +165,7 @@ function getReleaseNotesForType(PRs, title) {
164
165
return releaseNotes ;
165
166
}
166
167
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 ) {
170
169
if ( ! PRs ) {
171
170
return ;
172
171
}
@@ -198,10 +197,20 @@ async function _generateReleaseNotes(latestVersion, newVersion, fileNamePrefix,
198
197
199
198
releaseNotes += getTitle ( ':bulb: Deprecations & Migrations' ) ;
200
199
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
+
201
209
fs . writeFileSync ( `${ process . env . HOME } /Downloads/${ fileNamePrefix } -release-notes_${ newVersion } .txt` , releaseNotes , {
202
210
encoding : 'utf8'
203
211
} ) ;
204
212
213
+ // eslint-disable-next-line max-len
205
214
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` ) ;
206
215
}
207
216
@@ -212,6 +221,7 @@ function isPatchRelease(lastVersion, newVersion) {
212
221
return lastMajor === newMajor && lastMinor === newMinor && newPatch - lastPatch > 0 ;
213
222
}
214
223
224
+ // eslint-disable-next-line max-params
215
225
async function generateReleaseNotes ( latestVersion ,
216
226
newVersion ,
217
227
fileNamePrefix ,
@@ -238,8 +248,9 @@ async function generateReleaseNotes(latestVersion,
238
248
const header = getHeader ( newVer ) ;
239
249
console . info ( `Current latest version is v${ latestVer } ` ) ;
240
250
console . info ( `Generating release notes out or PRs for v${ newVer } ` ) ;
251
+ // eslint-disable-next-line max-len
241
252
_generateReleaseNotes ( latestVer , newVer , fileNamePrefix , repo , header , tagPrefix , categories , isPatchRelease ( latestVer , newVer ) ) ;
242
253
} ) ;
243
254
}
244
255
245
- module . exports = { generateReleaseNotes} ;
256
+ module . exports = { generateReleaseNotes, generateReleaseNotesFromPRs , parsePR } ;
0 commit comments