diff --git a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap index a8591c70355bf0..1271188a38f143 100644 --- a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap +++ b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap @@ -8,6 +8,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "commitMessage": "", "constraints": {}, "depName": "some-dep", + "depTypes": undefined, "dependencyDashboardApproval": false, "dependencyDashboardPrApproval": false, "displayFrom": "", @@ -30,6 +31,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "branchName": "some-branch", "commitMessage": "", "depName": "some-dep", + "depTypes": undefined, "displayFrom": "", "displayPending": "", "displayTo": "0.6.0", @@ -49,6 +51,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "commitMessage": "", "datasource": "npm", "depName": "some-dep", + "depTypes": undefined, "displayFrom": "", "displayPending": "", "displayTo": "1.0.0", @@ -66,6 +69,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "branchName": "some-branch", "commitMessage": "", "depName": "@types/some-dep", + "depTypes": undefined, "displayFrom": "", "displayPending": "", "displayTo": "0.5.7", @@ -92,6 +96,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "constraints": {}, "datasource": "npm", "depName": "some-dep", + "depTypes": undefined, "dependencyDashboardApproval": false, "dependencyDashboardPrApproval": false, "displayFrom": "", @@ -114,6 +119,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "commitMessage": "", "datasource": "npm", "depName": "some-dep", + "depTypes": undefined, "displayFrom": "", "displayPending": "", "displayTo": "0.6.0", @@ -130,6 +136,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "commitMessage": "", "datasource": "npm", "depName": "some-dep", + "depTypes": undefined, "displayFrom": "", "displayPending": "", "displayTo": "1.0.0", @@ -148,6 +155,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles @typ "currentVersion": "0.5.7", "datasource": "npm", "depName": "@types/some-dep", + "depTypes": undefined, "displayFrom": "0.5.7", "displayPending": "", "displayTo": "0.5.8", @@ -171,6 +179,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles lock "branchName": "some-branch", "commitMessage": "", "constraints": {}, + "depTypes": undefined, "dependencyDashboardApproval": false, "dependencyDashboardPrApproval": false, "displayFrom": "", @@ -188,6 +197,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles lock { "branchName": "some-branch", "commitMessage": "", + "depTypes": undefined, "displayFrom": "", "displayPending": "", "displayTo": "", @@ -210,6 +220,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles lock "constraints": {}, "currentValue": "^1.0.0", "currentVersion": "1.0.0", + "depTypes": undefined, "dependencyDashboardApproval": false, "dependencyDashboardPrApproval": false, "displayFrom": "1.0.0", @@ -234,6 +245,7 @@ exports[`workers/repository/updates/generate generateBranchConfig() handles lock "commitMessage": "", "currentValue": "^1.0.0", "currentVersion": "1.0.0", + "depTypes": undefined, "displayFrom": "1.0.0", "displayPending": "", "displayTo": "1.0.1", diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts index 216a9cd2835398..f84c767c7be3e2 100644 --- a/lib/workers/repository/updates/generate.spec.ts +++ b/lib/workers/repository/updates/generate.spec.ts @@ -1467,5 +1467,35 @@ describe('workers/repository/updates/generate', () => { const res = generateBranchConfig(upgrades); expect(res.depTypes).toEqual(['dependencies', 'devDependencies']); }); + + it('depTypes is available on each branch upgrade object', () => { + const upgrades = [ + { + ...requiredDefaultOptions, + branchName: 'some-branch', + manager: 'some-manager', + depType: 'devDependencies', + }, + { + ...requiredDefaultOptions, + branchName: 'some-branch', + manager: 'some-manager', + depType: 'dependencies', + }, + { + ...requiredDefaultOptions, + branchName: 'some-branch', + manager: 'some-manager', + depType: 'devDependencies', + }, + ] satisfies BranchUpgradeConfig[]; + const res = generateBranchConfig(upgrades); + + expect(res.depTypes).toEqual(['dependencies', 'devDependencies']); + + for (const upgrade of res.upgrades) { + expect(upgrade.depTypes).toEqual(res.depTypes); + } + }); }); }); diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts index 473bd37819f4e0..81ea7801975905 100644 --- a/lib/workers/repository/updates/generate.ts +++ b/lib/workers/repository/updates/generate.ts @@ -148,9 +148,16 @@ export function generateBranchConfig( const useGroupSettings = hasGroupName && groupEligible; logger.trace(`useGroupSettings: ${useGroupSettings}`); let releaseTimestamp: string; + + if (depTypes.size) { + config.depTypes = Array.from(depTypes).sort(); + } + for (const branchUpgrade of branchUpgrades) { let upgrade: BranchUpgradeConfig = { ...branchUpgrade }; + upgrade.depTypes = config.depTypes; + // needs to be done for each upgrade, as we reorder them below if (newValue.length > 1 && !groupEligible) { upgrade.commitMessageExtra = `to v${toVersions[0]}`; @@ -426,8 +433,5 @@ export function generateBranchConfig( if (additionalReviewers.length > 0) { config.additionalReviewers = additionalReviewers; } - if (depTypes.size) { - config.depTypes = Array.from(depTypes).sort(); - } return config; } diff --git a/lib/workers/types.ts b/lib/workers/types.ts index df3916fb859678..013a53cd24fe6f 100644 --- a/lib/workers/types.ts +++ b/lib/workers/types.ts @@ -40,6 +40,7 @@ export interface BranchUpgradeConfig currentDigestShort?: string; currentValue?: string; depIndex?: number; + depTypes?: string[]; displayPending?: string; excludeCommitPaths?: string[];