MCPcopy Create free account
hub / github.com/nodejs/nodejs.org / generateReleaseData

Function generateReleaseData

apps/site/next-data/generators/releaseData.mjs:26–63  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

24 * @returns {Promise<Array<import('../../types').NodeRelease>>}
25 */
26const generateReleaseData = async () => {
27 const majors = await getMajorNodeReleases();
28
29 return majors.map(([, major]) => {
30 const versions = Object.values(major.releases);
31 const latestVersion = versions[0];
32 const initialVersion = versions[versions.length - 1];
33
34 // Get the major release status based on our Release Schedule
35 const status = getNodeReleaseStatus(
36 latestVersion,
37 major.support.phases.dates.end
38 );
39
40 const minorVersions = Object.entries(major.releases).map(([, release]) => ({
41 modules: release.modules.version || '',
42 npm: release.dependencies.npm || '',
43 releaseDate: release.releaseDate,
44 v8: release.dependencies.v8,
45 version: release.semver.raw,
46 versionWithPrefix: `v${release.semver.raw}`,
47 }));
48
49 return {
50 status,
51 major: latestVersion.semver.major,
52 version: latestVersion.semver.raw,
53 versionWithPrefix: `v${latestVersion.semver.raw}`,
54 codename: major.support.codename || '',
55 npm: latestVersion.dependencies.npm || '',
56 v8: latestVersion.dependencies.v8,
57 latestReleaseDate: latestVersion.releaseDate,
58 initialReleaseDate: initialVersion.releaseDate,
59 modules: latestVersion.modules.version || '',
60 minorVersions,
61 };
62 });
63};
64
65export default generateReleaseData;

Callers 1

runWithNodevuDataFunction · 0.85

Calls 2

getMajorNodeReleasesFunction · 0.85
getNodeReleaseStatusFunction · 0.85

Tested by 1

runWithNodevuDataFunction · 0.68