diff --git a/lib/manager/composer/utils.spec.ts b/lib/manager/composer/utils.spec.ts index 5553063184f3f3ffc8fc60ddfe0bfcbbd3d73061..ff972e6a9f301bd25970569ec3debe0042f85117 100644 --- a/lib/manager/composer/utils.spec.ts +++ b/lib/manager/composer/utils.spec.ts @@ -27,6 +27,18 @@ describe('manager/composer/utils', () => { ).toEqual({ composer: '1.1.0' }); }); + it('returns from composer platform require', () => { + expect( + extractContraints({ require: { php: '^8.1', composer: '2.2.0' } }, {}) + ).toEqual({ php: '^8.1', composer: '2.2.0' }); + }); + + it('returns from composer platform require-dev', () => { + expect( + extractContraints({ 'require-dev': { composer: '^2.2' } }, {}) + ).toEqual({ composer: '^2.2' }); + }); + it('returns from composer-runtime-api', () => { expect( extractContraints({ require: { 'composer-runtime-api': '^1.1.0' } }, {}) diff --git a/lib/manager/composer/utils.ts b/lib/manager/composer/utils.ts index 5b6b3a2c00292d8f9d3593d5668999e0ff7efc83..3841400c03235f7ccacd5db945a20d9607e7fa97 100644 --- a/lib/manager/composer/utils.ts +++ b/lib/manager/composer/utils.ts @@ -71,6 +71,12 @@ export function extractContraints( } else if (composerJson['require-dev']?.['composer/composer']) { res.composer = composerJson['require-dev']?.['composer/composer']; } + // composer platform package + else if (composerJson.require?.['composer']) { + res.composer = composerJson.require?.['composer']; + } else if (composerJson['require-dev']?.['composer']) { + res.composer = composerJson['require-dev']?.['composer']; + } // check last used composer version else if (lockParsed?.['plugin-api-version']) { const major = api.getMajor(lockParsed?.['plugin-api-version']);