From 02635c54627cebd1291716bf643a8a21b7e7f640 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 7 Nov 2023 22:15:41 +0100 Subject: [PATCH 1/2] docs: ignore maintainer thanks on changelogs Signed-off-by: Camila Belo --- .changeset/backstage-changelog.js | 19 ++++++++++++++++++- .changeset/config.json | 8 +++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.changeset/backstage-changelog.js b/.changeset/backstage-changelog.js index 74d06f57ba..3425342405 100644 --- a/.changeset/backstage-changelog.js +++ b/.changeset/backstage-changelog.js @@ -32,7 +32,24 @@ async function getDependencyReleaseLine(changesets, dependenciesUpdated) { return ['- Updated dependencies', ...updatedDependenciesList].join('\n'); } +async function getReleaseLine(changeset, type, options) { + const { ignoreUserThanks: users = [] } = options ?? {}; + const releaseLine = await defaultChangelogFunctions.getReleaseLine( + changeset, + type, + options, + ); + return releaseLine.replace(/Thanks\s(.*)!\s/g, (_, group) => { + const links = group + .split(', ') + .filter(link => + users.every(user => `[@${user}](https://github.com/${user})` !== link), + ); + return links.length ? `Thanks ${links.join(', ')}! ` : ''; + }); +} + module.exports = { - getReleaseLine: defaultChangelogFunctions.getReleaseLine, + getReleaseLine, getDependencyReleaseLine, }; diff --git a/.changeset/config.json b/.changeset/config.json index 35d672a425..fe78edc9cf 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,12 @@ { "$schema": "https://unpkg.com/@changesets/config@1.3.0/schema.json", - "changelog": ["./backstage-changelog.js", { "repo": "backstage/backstage" }], + "changelog": [ + "./backstage-changelog.js", + { + "repo": "backstage/backstage", + "ignoreUserThanks": ["benjdlambert", "freben", "jhaals", "Rugvip"] + } + ], "commit": false, "linked": [], "access": "public", From e50d1990f84d152b415eeea77e7df8754f767281 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Thu, 9 Nov 2023 10:21:52 +0100 Subject: [PATCH 2/2] refactor: simplify ignored links filter Signed-off-by: Camila Belo --- .changeset/backstage-changelog.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.changeset/backstage-changelog.js b/.changeset/backstage-changelog.js index 3425342405..61734f9f67 100644 --- a/.changeset/backstage-changelog.js +++ b/.changeset/backstage-changelog.js @@ -34,17 +34,16 @@ async function getDependencyReleaseLine(changesets, dependenciesUpdated) { async function getReleaseLine(changeset, type, options) { const { ignoreUserThanks: users = [] } = options ?? {}; + const ignoredLinks = new Set( + users.map(user => `[@${user}](https://github.com/${user})`), + ); const releaseLine = await defaultChangelogFunctions.getReleaseLine( changeset, type, options, ); return releaseLine.replace(/Thanks\s(.*)!\s/g, (_, group) => { - const links = group - .split(', ') - .filter(link => - users.every(user => `[@${user}](https://github.com/${user})` !== link), - ); + const links = group.split(', ').filter(link => !ignoredLinks.has(link)); return links.length ? `Thanks ${links.join(', ')}! ` : ''; }); }