Replace changelog versions in ./scripts/draft-blog-post.js (#9058)
This commit is contained in:
1 parent
77c8da7691
commit
5a12f52bbe
2 files changed
+30
-33
No files matched your search
+30
-16
@@ -5,10 +5,12 @@
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const rimraf = require("rimraf");
|
||||
const semver = require("semver");
|
||||
|
||||
const changelogUnreleasedDir = path.join(__dirname, "../changelog_unreleased");
|
||||
const blogDir = path.join(__dirname, "../website/blog");
|
||||
const introFile = path.join(changelogUnreleasedDir, "blog-post-intro.md");
|
||||
const previousVersion = require("prettier/package.json").version;
|
||||
const version = require("../package.json").version.replace(/-.+/, "");
|
||||
const postGlob = path.join(blogDir, `????-??-??-${version}.md`);
|
||||
const postFile = path.join(
|
||||
@@ -80,22 +82,24 @@ rimraf.sync(postGlob);
|
||||
|
||||
fs.writeFileSync(
|
||||
postFile,
|
||||
[
|
||||
fs.readFileSync(introFile, "utf8").trim(),
|
||||
"<!--truncate-->",
|
||||
...printEntries({
|
||||
title: "Highlights",
|
||||
filter: (entry) => entry.highlight,
|
||||
}),
|
||||
...printEntries({
|
||||
title: "Breaking changes",
|
||||
filter: (entry) => entry.breaking && !entry.highlight,
|
||||
}),
|
||||
...printEntries({
|
||||
title: "Other changes",
|
||||
filter: (entry) => !entry.breaking && !entry.highlight,
|
||||
}),
|
||||
].join("\n\n") + "\n"
|
||||
replaceVersions(
|
||||
[
|
||||
fs.readFileSync(introFile, "utf8").trim(),
|
||||
"<!--truncate-->",
|
||||
...printEntries({
|
||||
title: "Highlights",
|
||||
filter: (entry) => entry.highlight,
|
||||
}),
|
||||
...printEntries({
|
||||
title: "Breaking changes",
|
||||
filter: (entry) => entry.breaking && !entry.highlight,
|
||||
}),
|
||||
...printEntries({
|
||||
title: "Other changes",
|
||||
filter: (entry) => !entry.breaking && !entry.highlight,
|
||||
}),
|
||||
].join("\n\n") + "\n"
|
||||
)
|
||||
);
|
||||
|
||||
function printEntries({ title, filter }) {
|
||||
@@ -115,3 +119,13 @@ function printEntries({ title, filter }) {
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function formatVersion(version) {
|
||||
return `${semver.major(version)}.${semver.minor(version)}`;
|
||||
}
|
||||
|
||||
function replaceVersions(data) {
|
||||
return data
|
||||
.replace(/prettier stable/gi, `Prettier ${formatVersion(previousVersion)}`)
|
||||
.replace(/prettier master/gi, `Prettier ${formatVersion(version)}`);
|
||||
}
|
||||
@@ -30,18 +30,6 @@ 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);
|
||||
|
||||
@@ -53,11 +41,6 @@ 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;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user