dependabot-nuget 0.252.0 → 0.254.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +27 -9
  3. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +1 -1
  4. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +66 -65
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackagesConfigUpdater.cs +21 -5
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/SdkPackageUpdater.cs +44 -6
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +1 -1
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/JsonHelper.cs +4 -3
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +181 -93
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +18 -13
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +24 -6
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +18 -10
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +25 -0
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestBase.cs +10 -0
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs +1 -8
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +1 -1
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs +0 -5
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +0 -5
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +0 -5
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs +0 -5
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +55 -4
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Sdk.cs +30 -23
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/JsonHelperTests.cs +57 -0
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +44 -9
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs +1 -1
  26. data/lib/dependabot/nuget/discovery/discovery_json_reader.rb +0 -2
  27. data/lib/dependabot/nuget/file_parser.rb +14 -6
  28. metadata +16 -29
@@ -9,13 +9,64 @@ public partial class UpdateWorkerTests
9
9
  {
10
10
  public class PackagesConfig : UpdateWorkerTestBase
11
11
  {
12
- public PackagesConfig()
12
+ [Fact]
13
+ public async Task UpdateSingleDependencyInPackagesConfig()
13
14
  {
14
- MSBuildHelper.RegisterMSBuild();
15
+ // update Newtonsoft.Json from 7.0.1 to 13.0.1
16
+ await TestUpdateForProject("Newtonsoft.Json", "7.0.1", "13.0.1",
17
+ // existing
18
+ projectContents: """
19
+ <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
20
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
21
+ <PropertyGroup>
22
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
23
+ </PropertyGroup>
24
+ <ItemGroup>
25
+ <None Include="packages.config" />
26
+ </ItemGroup>
27
+ <ItemGroup>
28
+ <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
29
+ <HintPath>packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
30
+ <Private>True</Private>
31
+ </Reference>
32
+ </ItemGroup>
33
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
34
+ </Project>
35
+ """,
36
+ packagesConfigContents: """
37
+ <packages>
38
+ <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
39
+ </packages>
40
+ """,
41
+ // expected
42
+ expectedProjectContents: """
43
+ <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
44
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
45
+ <PropertyGroup>
46
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
47
+ </PropertyGroup>
48
+ <ItemGroup>
49
+ <None Include="packages.config" />
50
+ </ItemGroup>
51
+ <ItemGroup>
52
+ <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
53
+ <HintPath>packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
54
+ <Private>True</Private>
55
+ </Reference>
56
+ </ItemGroup>
57
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
58
+ </Project>
59
+ """,
60
+ expectedPackagesConfigContents: """
61
+ <?xml version="1.0" encoding="utf-8"?>
62
+ <packages>
63
+ <package id="Newtonsoft.Json" version="13.0.1" targetFramework="net45" />
64
+ </packages>
65
+ """);
15
66
  }
16
67
 
17
68
  [Fact]
18
- public async Task UpdateSingleDependencyInPackagesConfig()
69
+ public async Task UpdateSingleDependencyInPackagesConfig_ReferenceHasNoAssemblyVersion()
19
70
  {
20
71
  // update Newtonsoft.Json from 7.0.1 to 13.0.1
21
72
  await TestUpdateForProject("Newtonsoft.Json", "7.0.1", "13.0.1",
@@ -30,7 +81,7 @@ public partial class UpdateWorkerTests
30
81
  <None Include="packages.config" />
31
82
  </ItemGroup>
32
83
  <ItemGroup>
33
- <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
84
+ <Reference Include="Newtonsoft.Json">
34
85
  <HintPath>packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
35
86
  <Private>True</Private>
36
87
  </Reference>
@@ -8,11 +8,6 @@ public partial class UpdateWorkerTests
8
8
  {
9
9
  public class Sdk : UpdateWorkerTestBase
10
10
  {
11
- public Sdk()
12
- {
13
- MSBuildHelper.RegisterMSBuild();
14
- }
15
-
16
11
  [Theory]
17
12
  [InlineData("net472")]
18
13
  [InlineData("netstandard2.0")]
@@ -175,24 +170,6 @@ public partial class UpdateWorkerTests
175
170
  ]);
176
171
  }
177
172
 
178
- [Fact]
179
- public async Task NoChange_WhenPackageHasVersionConstraint()
180
- {
181
- // Dependency package has version constraint
182
- await TestNoChangeforProject("AWSSDK.Core", "3.3.21.19", "3.7.300.20",
183
- projectContents: $"""
184
- <Project Sdk="Microsoft.NET.Sdk">
185
- <PropertyGroup>
186
- <TargetFramework>netstandard2.0</TargetFramework>
187
- </PropertyGroup>
188
- <ItemGroup>
189
- <PackageReference Include="AWSSDK.S3" Version="3.3.17.3" />
190
- <PackageReference Include="AWSSDK.Core" Version="3.3.21.19" />
191
- </ItemGroup>
192
- </Project>
193
- """);
194
- }
195
-
196
173
  [Fact]
197
174
  public async Task UpdateVersionAttribute_InProjectFile_ForPackageReferenceInclude_Windows()
198
175
  {
@@ -2558,5 +2535,35 @@ public partial class UpdateWorkerTests
2558
2535
  """
2559
2536
  );
2560
2537
  }
2538
+
2539
+ [Fact]
2540
+ public async Task UpdatingPackageAlsoUpdatesAnythingWithADependencyOnTheUpdatedPackage()
2541
+ {
2542
+ // updating SpecFlow from 3.3.30 requires that SpecFlow.Tools.MsBuild.Generation also be updated
2543
+ await TestUpdateForProject("SpecFlow", "3.3.30", "3.4.3",
2544
+ projectContents: """
2545
+ <Project Sdk="Microsoft.NET.Sdk">
2546
+ <PropertyGroup>
2547
+ <TargetFramework>netstandard2.0</TargetFramework>
2548
+ </PropertyGroup>
2549
+ <ItemGroup>
2550
+ <PackageReference Include="SpecFlow" Version="3.3.30" />
2551
+ <PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.3.30" />
2552
+ </ItemGroup>
2553
+ </Project>
2554
+ """,
2555
+ expectedProjectContents: """
2556
+ <Project Sdk="Microsoft.NET.Sdk">
2557
+ <PropertyGroup>
2558
+ <TargetFramework>netstandard2.0</TargetFramework>
2559
+ </PropertyGroup>
2560
+ <ItemGroup>
2561
+ <PackageReference Include="SpecFlow" Version="3.4.3" />
2562
+ <PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.4.3" />
2563
+ </ItemGroup>
2564
+ </Project>
2565
+ """
2566
+ );
2567
+ }
2561
2568
  }
2562
2569
  }
@@ -1,5 +1,6 @@
1
1
  using System;
2
2
  using System.Collections.Generic;
3
+ using System.Text.Json;
3
4
 
4
5
  using NuGetUpdater.Core.Utilities;
5
6
 
@@ -9,6 +10,11 @@ namespace NuGetUpdater.Core.Test.Utilities;
9
10
 
10
11
  public class JsonHelperTests
11
12
  {
13
+ private static readonly JsonDocumentOptions DocumentOptions = new()
14
+ {
15
+ CommentHandling = JsonCommentHandling.Skip,
16
+ };
17
+
12
18
  [Theory]
13
19
  [MemberData(nameof(JsonUpdaterTestData))]
14
20
  public void UpdateJsonPreservingComments(string json, string[] propertyPath, string newValue, string expectedJson)
@@ -16,6 +22,8 @@ public class JsonHelperTests
16
22
  var updatedJson = JsonHelper.UpdateJsonProperty(json, propertyPath, newValue, StringComparison.OrdinalIgnoreCase).Replace("\r", string.Empty);
17
23
  expectedJson = expectedJson.Replace("\r", string.Empty);
18
24
  Assert.Equal(expectedJson, updatedJson);
25
+ using var document = JsonDocument.Parse(updatedJson, DocumentOptions);
26
+ Assert.Equal(JsonValueKind.Object, document.RootElement.ValueKind);
19
27
  }
20
28
 
21
29
  public static IEnumerable<object[]> JsonUpdaterTestData()
@@ -237,5 +245,54 @@ public class JsonHelperTests
237
245
  }
238
246
  """
239
247
  ];
248
+
249
+ // https://github.com/dependabot/dependabot-core/issues/9170
250
+ yield return
251
+ [
252
+ // original json
253
+ """
254
+ {
255
+ "sdk": {
256
+ "version": "8.0.201",
257
+ "allowPrerelease": true,
258
+ "rollForward": "major"
259
+ },
260
+
261
+ "tools": {
262
+ "dotnet": "8.0.201"
263
+ },
264
+
265
+ "msbuild-sdks": {
266
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23463.1",
267
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23463.1"
268
+ }
269
+ }
270
+ """,
271
+ // property path
272
+ new[]
273
+ {
274
+ "msbuild-sdks",
275
+ "Microsoft.DotNet.Helix.Sdk",
276
+ },
277
+ // new value
278
+ "8.0.0-beta.24123.1",
279
+ // expected json
280
+ """
281
+ {
282
+ "sdk": {
283
+ "version": "8.0.201",
284
+ "allowPrerelease": true,
285
+ "rollForward": "major"
286
+ },
287
+ "tools": {
288
+ "dotnet": "8.0.201"
289
+ },
290
+ "msbuild-sdks": {
291
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23463.1",
292
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24123.1"
293
+ }
294
+ }
295
+ """
296
+ ];
240
297
  }
241
298
  }
@@ -6,13 +6,8 @@ namespace NuGetUpdater.Core.Test.Utilities;
6
6
 
7
7
  using TestFile = (string Path, string Content);
8
8
 
9
- public class MSBuildHelperTests
9
+ public class MSBuildHelperTests : TestBase
10
10
  {
11
- public MSBuildHelperTests()
12
- {
13
- MSBuildHelper.RegisterMSBuild();
14
- }
15
-
16
11
  [Fact]
17
12
  public void GetRootedValue_FindsValue()
18
13
  {
@@ -110,15 +105,16 @@ public class MSBuildHelperTests
110
105
  [InlineData("<Project><PropertyGroup><TargetFrameworks>netstandard2.0</TargetFrameworks></PropertyGroup></Project>", "netstandard2.0", null)]
111
106
  [InlineData("<Project><PropertyGroup><TargetFrameworks> ; netstandard2.0 ; </TargetFrameworks></PropertyGroup></Project>", "netstandard2.0", null)]
112
107
  [InlineData("<Project><PropertyGroup><TargetFrameworks>netstandard2.0 ; netstandard2.1 ; </TargetFrameworks></PropertyGroup></Project>", "netstandard2.0", "netstandard2.1")]
113
- public void TfmsCanBeDeterminedFromProjectContents(string projectContents, string? expectedTfm1, string? expectedTfm2)
108
+ [InlineData("<Project><PropertyGroup><TargetFramework>netstandard2.0</TargetFramework><TargetFrameworkVersion Condition='False'>v4.7.2</TargetFrameworkVersion></PropertyGroup></Project>", "netstandard2.0", null)]
109
+ [InlineData("<Project><PropertyGroup><TargetFramework>$(PropertyThatCannotBeResolved)</TargetFramework></PropertyGroup></Project>", null, null)]
110
+ public async Task TfmsCanBeDeterminedFromProjectContents(string projectContents, string? expectedTfm1, string? expectedTfm2)
114
111
  {
115
112
  var projectPath = Path.GetTempFileName();
116
113
  try
117
114
  {
118
115
  File.WriteAllText(projectPath, projectContents);
119
116
  var expectedTfms = new[] { expectedTfm1, expectedTfm2 }.Where(tfm => tfm is not null).ToArray();
120
- var buildFile = ProjectBuildFile.Open(Path.GetDirectoryName(projectPath)!, projectPath);
121
- var actualTfms = MSBuildHelper.GetTargetFrameworkMonikers(ImmutableArray.Create(buildFile));
117
+ var (_buildFiles, actualTfms) = await MSBuildHelper.LoadBuildFilesAndTargetFrameworksAsync(Path.GetDirectoryName(projectPath)!, projectPath);
122
118
  AssertEx.Equal(expectedTfms, actualTfms);
123
119
  }
124
120
  finally
@@ -493,6 +489,45 @@ public class MSBuildHelperTests
493
489
  }
494
490
  }
495
491
 
492
+ [Fact]
493
+ public async Task DependencyConflictsCanBeResolved()
494
+ {
495
+ // the package `SpecFlow` was already updated from 3.3.30 to 3.4.3, but this causes a conflict with
496
+ // `SpecFlow.Tools.MsBuild.Generation` that needs to be resolved
497
+ var repoRoot = Directory.CreateTempSubdirectory($"test_{nameof(DependencyConflictsCanBeResolved)}_");
498
+ try
499
+ {
500
+ var projectPath = Path.Join(repoRoot.FullName, "project.csproj");
501
+ await File.WriteAllTextAsync(projectPath, """
502
+ <Project Sdk="Microsoft.NET.Sdk">
503
+ <PropertyGroup>
504
+ <TargetFramework>netstandard2.0</TargetFramework>
505
+ </PropertyGroup>
506
+ <ItemGroup>
507
+ <PackageReference Include="SpecFlow" Version="3.4.3" />
508
+ <PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.3.30" />
509
+ </ItemGroup>
510
+ </Project>
511
+ """);
512
+ var dependencies = new[]
513
+ {
514
+ new Dependency("SpecFlow", "3.4.3", DependencyType.PackageReference),
515
+ new Dependency("SpecFlow.Tools.MsBuild.Generation", "3.3.30", DependencyType.PackageReference),
516
+ };
517
+ var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflicts(repoRoot.FullName, projectPath, "netstandard2.0", dependencies, new Logger(true));
518
+ Assert.NotNull(resolvedDependencies);
519
+ Assert.Equal(2, resolvedDependencies.Length);
520
+ Assert.Equal("SpecFlow", resolvedDependencies[0].Name);
521
+ Assert.Equal("3.4.3", resolvedDependencies[0].Version);
522
+ Assert.Equal("SpecFlow.Tools.MsBuild.Generation", resolvedDependencies[1].Name);
523
+ Assert.Equal("3.4.3", resolvedDependencies[1].Version);
524
+ }
525
+ finally
526
+ {
527
+ repoRoot.Delete(recursive: true);
528
+ }
529
+ }
530
+
496
531
  public static IEnumerable<object[]> GetTopLevelPackageDependencyInfosTestData()
497
532
  {
498
533
  // simple case
@@ -167,7 +167,7 @@ namespace NuGetUpdater.Core.Test.Utilities
167
167
 
168
168
  private static async Task<string[]> LoadBuildFilesFromTemp(TemporaryDirectory temporaryDirectory, string relativeProjectPath)
169
169
  {
170
- var buildFiles = await MSBuildHelper.LoadBuildFilesAsync(temporaryDirectory.DirectoryPath, $"{temporaryDirectory.DirectoryPath}/{relativeProjectPath}");
170
+ var (buildFiles, _tfms) = await MSBuildHelper.LoadBuildFilesAndTargetFrameworksAsync(temporaryDirectory.DirectoryPath, $"{temporaryDirectory.DirectoryPath}/{relativeProjectPath}");
171
171
  var buildFilePaths = buildFiles.Select(f => f.RelativePath.NormalizePathToUnix()).ToArray();
172
172
  return buildFilePaths;
173
173
  }
@@ -65,8 +65,6 @@ module Dependabot
65
65
  @workspace_discovery ||= T.let(begin
66
66
  return nil unless discovery_json.content
67
67
 
68
- Dependabot.logger.info("Discovery JSON content: #{discovery_json.content}")
69
-
70
68
  parsed_json = T.let(JSON.parse(T.must(discovery_json.content)), T::Hash[String, T.untyped])
71
69
  WorkspaceDiscovery.from_json(parsed_json)
72
70
  end, T.nilable(WorkspaceDiscovery))
@@ -22,13 +22,19 @@ module Dependabot
22
22
  workspace_path = project_files.first&.directory
23
23
  return [] unless workspace_path
24
24
 
25
- # run discovery for the repo
26
- NativeHelpers.run_nuget_discover_tool(repo_root: T.must(repo_contents_path),
27
- workspace_path: workspace_path,
28
- output_path: DiscoveryJsonReader.discovery_file_path,
29
- credentials: credentials)
25
+ # `workspace_path` is the only unique value here so we use it as the cache key
26
+ cache = T.let(CacheManager.cache("file_parser.parse"), T::Hash[String, T::Array[Dependabot::Dependency]])
27
+ key = workspace_path
28
+ cache[key] ||= begin
29
+ # run discovery for the repo
30
+ NativeHelpers.run_nuget_discover_tool(repo_root: T.must(repo_contents_path),
31
+ workspace_path: workspace_path,
32
+ output_path: DiscoveryJsonReader.discovery_file_path,
33
+ credentials: credentials)
34
+ discovered_dependencies.dependencies
35
+ end
30
36
 
31
- discovered_dependencies.dependencies
37
+ T.must(cache[key])
32
38
  end
33
39
 
34
40
  private
@@ -38,6 +44,8 @@ module Dependabot
38
44
  discovery_json = DiscoveryJsonReader.discovery_json
39
45
  return DependencySet.new unless discovery_json
40
46
 
47
+ Dependabot.logger.info("Discovery JSON content: #{discovery_json.content}")
48
+
41
49
  DiscoveryJsonReader.new(
42
50
  discovery_json: discovery_json
43
51
  ).dependency_set
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-nuget
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.252.0
4
+ version: 0.254.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-11 00:00:00.000000000 Z
11
+ date: 2024-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.252.0
19
+ version: 0.254.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.252.0
26
+ version: 0.254.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubyzip
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 1.8.0
53
+ version: 1.9.2
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 1.8.0
60
+ version: 1.9.2
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: gpgme
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -134,70 +134,56 @@ dependencies:
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: 1.58.0
137
+ version: 1.63.2
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: 1.58.0
144
+ version: 1.63.2
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: rubocop-performance
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: 1.19.0
151
+ version: 1.21.0
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: 1.19.0
158
+ version: 1.21.0
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: rubocop-rspec
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: 2.27.1
165
+ version: 2.29.1
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: 2.27.1
172
+ version: 2.29.1
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: rubocop-sorbet
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: 0.7.3
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "~>"
185
- - !ruby/object:Gem::Version
186
- version: 0.7.3
187
- - !ruby/object:Gem::Dependency
188
- name: stackprof
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - "~>"
192
- - !ruby/object:Gem::Version
193
- version: 0.2.16
179
+ version: 0.8.1
194
180
  type: :development
195
181
  prerelease: false
196
182
  version_requirements: !ruby/object:Gem::Requirement
197
183
  requirements:
198
184
  - - "~>"
199
185
  - !ruby/object:Gem::Version
200
- version: 0.2.16
186
+ version: 0.8.1
201
187
  - !ruby/object:Gem::Dependency
202
188
  name: turbo_tests
203
189
  requirement: !ruby/object:Gem::Requirement
@@ -314,6 +300,7 @@ files:
314
300
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/SupportedFrameworkFacts.cs
315
301
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/NuGetUpdater.Core.Test.csproj
316
302
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TemporaryDirectory.cs
303
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestBase.cs
317
304
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestExtensions.cs
318
305
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs
319
306
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs
@@ -417,7 +404,7 @@ licenses:
417
404
  - Nonstandard
418
405
  metadata:
419
406
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
420
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.252.0
407
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.254.0
421
408
  post_install_message:
422
409
  rdoc_options: []
423
410
  require_paths: