From e83447209cb5ce46eeddb2612e3224695181a971 Mon Sep 17 00:00:00 2001 From: Milos Djermanovic Date: Mon, 1 Jan 2024 21:20:15 +0100 Subject: [PATCH] build: update docs files when publishing prereleases --- Makefile.js | 50 +++++++------------------------------------------- 1 file changed, 7 insertions(+), 43 deletions(-) diff --git a/Makefile.js b/Makefile.js index 5e5352895bc..44a3c6922ea 100644 --- a/Makefile.js +++ b/Makefile.js @@ -274,15 +274,17 @@ function publishSite() { /** * Updates the changelog, bumps the version number in package.json, creates a local git commit and tag, * and generates the site in an adjacent `website` folder. + * @param {string} [prereleaseId] The prerelease identifier (alpha, beta, etc.). If `undefined`, this is + * a regular release. * @returns {void} */ -function generateRelease() { - ReleaseOps.generateRelease(); +function generateRelease(prereleaseId) { + ReleaseOps.generateRelease(prereleaseId); const releaseInfo = JSON.parse(cat(".eslint-release-info.json")); echo("Generating site"); target.gensite(); - generateBlogPost(releaseInfo); + generateBlogPost(releaseInfo, prereleaseId ? semver.inc(releaseInfo.version, "major") : void 0); commitSiteToGit(`v${releaseInfo.version}`); echo("Updating version in docs package"); @@ -297,44 +299,6 @@ function generateRelease() { exec(`git tag -a -f v${releaseInfo.version} -m ${releaseInfo.version}`); } -/** - * Updates the changelog, bumps the version number in package.json, creates a local git commit and tag, - * and generates the site in an adjacent `website` folder. - * @param {string} prereleaseId The prerelease identifier (alpha, beta, etc.) - * @returns {void} - */ -function generatePrerelease(prereleaseId) { - ReleaseOps.generateRelease(prereleaseId); - const releaseInfo = JSON.parse(cat(".eslint-release-info.json")); - const nextMajor = semver.inc(releaseInfo.version, "major"); - - echo("Generating site"); - - // always write docs into the next major directory (so 2.0.0-alpha.0 writes to 2.0.0) - target.gensite(nextMajor); - - /* - * Premajor release should have identical "next major version". - * Preminor and prepatch release will not. - * 5.0.0-alpha.0 --> next major = 5, current major = 5 - * 4.4.0-alpha.0 --> next major = 5, current major = 4 - * 4.0.1-alpha.0 --> next major = 5, current major = 4 - */ - if (semver.major(releaseInfo.version) === semver.major(nextMajor)) { - - /* - * This prerelease is for a major release (not preminor/prepatch). - * Blog post generation logic needs to be aware of this (as well as - * know what the next major version is actually supposed to be). - */ - generateBlogPost(releaseInfo, nextMajor); - } else { - generateBlogPost(releaseInfo); - } - - commitSiteToGit(`v${releaseInfo.version}`); -} - /** * Publishes a generated release to npm and GitHub, and pushes changes to the adjacent `website` repo * to remote repo. @@ -1105,6 +1069,6 @@ target.perf = function() { }); }; -target.generateRelease = generateRelease; -target.generatePrerelease = ([prereleaseType]) => generatePrerelease(prereleaseType); +target.generateRelease = () => generateRelease(); +target.generatePrerelease = ([prereleaseType]) => generateRelease(prereleaseType); target.publishRelease = publishRelease;