diff --git a/lib/modules/manager/nuget/extract.spec.ts b/lib/modules/manager/nuget/extract.spec.ts index 69c2cb01e1b0052e190f78236b28a99d63fcf97b..ca0aa58e026787274bfc9d87e84d276248ad39d8 100644 --- a/lib/modules/manager/nuget/extract.spec.ts +++ b/lib/modules/manager/nuget/extract.spec.ts @@ -296,9 +296,7 @@ describe('modules/manager/nuget/extract', () => { it('extracts msbuild-sdks from global.json', async () => { const packageFile = 'msbuild-sdk-files/global.json'; const contents = Fixtures.get(packageFile); - expect( - await extractPackageFile(contents, packageFile, config), - ).toMatchObject({ + expect(await extractPackageFile(contents, packageFile, config)).toEqual({ deps: [ { currentValue: '5.0.302', @@ -313,24 +311,26 @@ describe('modules/manager/nuget/extract', () => { depType: 'msbuild-sdk', }, ], + extractedConstraints: { 'dotnet-sdk': '5.0.302' }, }); }); it('extracts dotnet-sdk from global.json', async () => { const packageFile = 'msbuild-sdk-files/global.1.json'; const contents = Fixtures.get(packageFile); - expect( - await extractPackageFile(contents, 'global.json', config), - ).toMatchObject({ - deps: [ - { - currentValue: '5.0.302', - depName: 'dotnet-sdk', - depType: 'dotnet-sdk', - datasource: DotnetVersionDatasource.id, - }, - ], - }); + expect(await extractPackageFile(contents, 'global.json', config)).toEqual( + { + deps: [ + { + currentValue: '5.0.302', + depName: 'dotnet-sdk', + depType: 'dotnet-sdk', + datasource: DotnetVersionDatasource.id, + }, + ], + extractedConstraints: { 'dotnet-sdk': '5.0.302' }, + }, + ); }); it('handles malformed global.json', async () => { diff --git a/lib/modules/manager/nuget/extract/global-manifest.ts b/lib/modules/manager/nuget/extract/global-manifest.ts index 45c66a29e0682ce4f6ca18d0ea10ad54fdc22c65..7484dbb6a240b515706ca541446840d4bd577665 100644 --- a/lib/modules/manager/nuget/extract/global-manifest.ts +++ b/lib/modules/manager/nuget/extract/global-manifest.ts @@ -16,7 +16,7 @@ export function extractMsbuildGlobalManifest( ): PackageFileContent | null { const deps: PackageDependency[] = []; let manifest: MsbuildGlobalManifest; - + let extractedConstraints: Record<string, string> | undefined; try { manifest = JSON.parse(content); } catch (err) { @@ -36,6 +36,8 @@ export function extractMsbuildGlobalManifest( currentValue: manifest.sdk?.version, datasource: DotnetVersionDatasource.id, }); + + extractedConstraints = { 'dotnet-sdk': manifest.sdk?.version }; } if (manifest['msbuild-sdks']) { @@ -54,5 +56,5 @@ export function extractMsbuildGlobalManifest( } } - return { deps }; + return { deps, ...(extractedConstraints && { extractedConstraints }) }; }