From efd9f740caa2ebdc7bfab27479193e1610b95ffc Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Wed, 3 May 2023 12:47:40 +0100 Subject: [PATCH] Tools: Fixed git-changelog logic --- packages/tools/git-changelog.test.ts | 4 +++- packages/tools/git-changelog.ts | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/tools/git-changelog.test.ts b/packages/tools/git-changelog.test.ts index b4c3b39609..e4a06d8cbb 100644 --- a/packages/tools/git-changelog.test.ts +++ b/packages/tools/git-changelog.test.ts @@ -37,6 +37,7 @@ describe('git-changelog', () => { ['Update typescript-eslint monorepo to v5 (#7291)', 'typescript-eslint', 'v5'], ['Update aws-sdk-js-v3 monorepo to v3.215.0', 'aws-sdk-js-v3', 'v3.215.0'], ['Update dependency moment to v2.29.4 (#7087)', 'moment', 'v2.29.4'], + ['Update aws (#8106)', 'aws', ''], ]; for (const testCase of testCases) { @@ -59,8 +60,9 @@ describe('git-changelog', () => { { package: 'sas', version: 'v1.2' }, { package: 'moment', version: 'v3.4' }, { package: 'eslint', version: 'v1.2' }, + { package: 'aws', version: '' }, ], - 'Updated packages moment (v3.4), sas (v1.2)', + 'Updated packages aws, moment (v3.4), sas (v1.2)', ], [ [ diff --git a/packages/tools/git-changelog.ts b/packages/tools/git-changelog.ts index 73c9bd016f..f3668cc3a0 100644 --- a/packages/tools/git-changelog.ts +++ b/packages/tools/git-changelog.ts @@ -130,6 +130,7 @@ export const parseRenovateMessage = (message: string): RenovateMessage => { const regexes = [ /^Update dependency ([^\s]+) to ([^\s]+)/, /^Update ([^\s]+) monorepo to ([^\s]+)/, + /^Update ([^\s]+)/, ]; for (const regex of regexes) { @@ -138,7 +139,7 @@ export const parseRenovateMessage = (message: string): RenovateMessage => { if (m) { return { package: m[1], - version: m[2], + version: m.length >= 3 ? m[2] : '', }; } } @@ -172,7 +173,7 @@ export const summarizeRenovateMessages = (messages: RenovateMessage[]): string = const temp: Record = {}; for (const message of messages) { - if (!temp[message.package]) { + if (!(message.package in temp)) { temp[message.package] = message.version; } else { if (message.version > temp[message.package]) { @@ -183,7 +184,8 @@ export const summarizeRenovateMessages = (messages: RenovateMessage[]): string = const temp2: string[] = []; for (const [pkg, version] of Object.entries(temp)) { - temp2.push(`${pkg} (${version})`); + const versionString = version ? ` (${version})` : ''; + temp2.push(`${pkg}${versionString}`); } temp2.sort();