Skip to content

Commit 111eb71

Browse files
authored
Export generateReleaseNotesFromPRs and parsePR (#3802)
1 parent 44cac8d commit 111eb71

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

scripts/release/prReleaseNotesCommon.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
215225
async 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

Comments
 (0)