From 29d6b22eae29cebcd88acb69d4607e75514dfbdd Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Wed, 19 Aug 2020 20:18:16 +0900 Subject: [PATCH] Add script to replace `Prettier stable`/`Prettier master` with the actual versions (#8984) * Add a script replaces 'Prettier stable' => 'Prettier x.x' * Fix by prettier * Implement replaceVersionInBlogPost in release steps * Update scripts/release/steps/update-changelog.js Co-authored-by: fisker Cheung * Fix from review * Format version * Update scripts/release/steps/update-changelog.js Co-authored-by: fisker Cheung * `ver` -> `version` * `Version` -> `Versions` Co-authored-by: fisker Cheung --- scripts/release/steps/update-changelog.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scripts/release/steps/update-changelog.js b/scripts/release/steps/update-changelog.js index 76cfad53a..d6218f789 100644 --- a/scripts/release/steps/update-changelog.js +++ b/scripts/release/steps/update-changelog.js @@ -30,6 +30,18 @@ function writeChangelog({ version, previousVersion, releaseNotes }) { fs.writeFileSync("CHANGELOG.md", newEntry + "\n\n" + changelog); } +function formatVersion(version) { + return `${semver.major(version)}.${semver.minor(version)}`; +} + +function replaceVersionsInBlogPost({ blogPost, version, previousVersion }) { + const blogPostData = fs.readFileSync(blogPost, "utf-8"); + const newBlogPostData = blogPostData + .replace(/prettier stable/gi, `Prettier ${formatVersion(previousVersion)}`) + .replace(/prettier master/gi, `Prettier ${formatVersion(version)}`); + fs.writeFileSync(blogPost, newBlogPostData); +} + module.exports = async function ({ version, previousVersion }) { const semverDiff = semver.diff(version, previousVersion); @@ -41,6 +53,11 @@ module.exports = async function ({ version, previousVersion }) { releaseNotes: `🔗 [Release Notes](https://prettier.io/${blogPost.path})`, }); if (fs.existsSync(blogPost.file)) { + replaceVersionsInBlogPost({ + blogPost: blogPost.file, + version, + previousVersion, + }); // Everything is fine, this step is finished return; }