MCPcopy Index your code
hub / github.com/github/docs / formatReleases

Function formatReleases

lib/release-notes-utils.js:9–37  ·  view source on GitHub ↗
(releaseNotes)

Source from the content-addressed store, hash-verified

7 * Into [{ version, patches: [ {notes, intro, date, sections... }] }]
8 */
9export function formatReleases(releaseNotes) {
10 // Get release note numbers in dot notation and sort from highest to lowest.
11 const sortedReleaseNumbers = Object.keys(releaseNotes)
12 .reverse()
13 .map((r) => r.replace(/-/g, '.'))
14
15 return sortedReleaseNumbers.map((releaseNumber) => {
16 const notesPerVersion = releaseNotes[releaseNumber.replace(/\./g, '-')]
17 const patches = Object.keys(notesPerVersion)
18 .filter((patchNumber) => !notesPerVersion[patchNumber].deprecated)
19 .map((patchNumber) => {
20 // Change version-rc1 to version-rc.1 to make these proper semver RC versions.
21 const patchNumberSemver = patchNumber.replace(/rc/, 'rc.')
22 return {
23 version: `${releaseNumber}.${patchNumberSemver}`,
24 patchVersion: patchNumberSemver,
25 downloadVersion: `${releaseNumber}.${patchNumber.replace(/-rc\d*$/, '')}`, // Remove RC
26 release: releaseNumber,
27 ...notesPerVersion[patchNumber],
28 }
29 })
30 .sort((a, b) => semver.compare(b.version, a.version))
31
32 return {
33 version: releaseNumber,
34 patches,
35 }
36 })
37}
38
39/**
40 * Render each note in the given patch, by looping through the

Callers 2

ghesReleaseNotesContextFunction · 0.90
ghaeReleaseNotesContextFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected