diff --git a/lib/workers/repository/onboarding/pr/pr-list.js b/lib/workers/repository/onboarding/pr/pr-list.js index 26d44fe392d8cebdb38bc53f085bc8cba3dc4e16..9ded9028a3a3610f866b3b6fe133d5e2db3c2d26 100644 --- a/lib/workers/repository/onboarding/pr/pr-list.js +++ b/lib/workers/repository/onboarding/pr/pr-list.js @@ -23,30 +23,28 @@ function getPrList(config, branches) { prDesc += branch.baseBranch ? ` - Merge into: \`${branch.baseBranch}\`\n` : ''; + const seen = []; for (const upgrade of branch.upgrades) { + let text = ''; if (upgrade.updateType === 'lockFileMaintenance') { - prDesc += ' - Regenerates lock file to use latest dependency versions'; + text += ' - Regenerate lock files to use latest dependency versions'; } else { if (upgrade.updateType === 'pin') { - prDesc += ' - Pins '; + text += ' - Pin '; } else { - prDesc += ' - Upgrades '; + text += ' - Upgrade '; } if (upgrade.repositoryUrl) { - prDesc += `[${upgrade.depName}](${upgrade.repositoryUrl})`; + text += `[${upgrade.depName}](${upgrade.repositoryUrl})`; } else { - prDesc += upgrade.depName.replace(prTitleRe, '@​$1'); + text += upgrade.depName.replace(prTitleRe, '@​$1'); } - if (upgrade.depType) { - prDesc += ` in \`${upgrade.depType}\` `; - } else { - prDesc += ' '; - } - if (upgrade.updateType !== 'pin') { - prDesc += `from \`${upgrade.currentValue}\` `; - } - prDesc += `to \`${upgrade.newValue || upgrade.newDigest}\``; - prDesc += '\n'; + text += ` to \`${upgrade.newValue || upgrade.newDigest}\``; + text += '\n'; + } + if (!seen.includes(text)) { + prDesc += text; + seen.push(text); } } prDesc += '\n\n'; diff --git a/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap b/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap index a35d11bc93fbe7ca672f75d8cd2397a112576b08..b2297672d331bffaa20ec535b80d577e222c2100 100644 --- a/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap +++ b/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap @@ -18,8 +18,8 @@ With your current configuration, Renovate will create 2 Pull Requests: <summary>Pin dependencies</summary> - Branch name: \`renovate/pin-dependencies\` - - Pins [a](https://a) in \`devDependencies\` to \`1.1.0\` - - Pins b to \`1.5.3\` + - Pin [a](https://a) to \`1.1.0\` + - Pin b to \`1.5.3\` </details> @@ -28,7 +28,7 @@ With your current configuration, Renovate will create 2 Pull Requests: <summary>Update a to v2</summary> - Branch name: \`renovate/a-2.x\` - - Upgrades [a](https://a) in \`devDependencies\` from \`^1.0.0\` to \`2.0.1\` + - Upgrade [a](https://a) to \`2.0.1\` </details> @@ -47,7 +47,7 @@ With your current configuration, Renovate will create 1 Pull Request: - Schedule: [\\"before 5am\\"] - Branch name: \`renovate/lock-file-maintenance\` - - Regenerates lock file to use latest dependency versions + - Regenerate lock files to use latest dependency versions </details>