dependabot-nuget 0.230.0 → 0.231.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcbeaa88c97126a22d02f477c4a2545756b3b43967b47ae4186ad2a7862e0a88
4
- data.tar.gz: 0ca6ee04360b67f2c1bf12a2d53e155b1c75ff066355edf2800b673ead4de82b
3
+ metadata.gz: 608f0d97c405be7a8f527e34e436ce218bf3e7921ef697352f96e9bb50e348b5
4
+ data.tar.gz: a57f339fabc51be6fb38520a14777b544a4318f695f654538f6e5974e3b19707
5
5
  SHA512:
6
- metadata.gz: 61ccb7b282f7c59d76ad6bb0df15d3e69c6f90bb08836c9a2937249d9d7a637be0ad005050fe48b5af2b29282ec0971f6bbc4cc6e6bb8b6f1be448e49d7a660e
7
- data.tar.gz: 1504d65aa04fbb9193b60b706d737e8b30f517abd794b5f2bd92c8d3c5a908c2f823ee1d33b6ba8c999e5b04395fb7fa24536b448688db319d8abb11dafbad20
6
+ metadata.gz: c519c1e1afeea8c81820fffab374e9b8943bb6bd6463b57ffb30fbe58b72a1a33a78480031498c10598e89dd95c5cd37c1f3ae3e5ccad6df3eac40f72e4392ae
7
+ data.tar.gz: e80994506a551c678d419b4e02962b7e257ad908f80e7b913b41ff83fd0367b5de8ea60c91d73d4b82917565c9d891c239dee26f7e70e93d4efd87477e3d2858
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "pathname"
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "dependabot/file_fetchers"
@@ -77,8 +78,8 @@ module Dependabot
77
78
 
78
79
  @packages_config_files ||=
79
80
  candidate_paths.filter_map do |dir|
80
- file = repo_contents(dir: dir).
81
- find { |f| f.name.casecmp("packages.config").zero? }
81
+ file = repo_contents(dir: dir)
82
+ .find { |f| f.name.casecmp("packages.config").zero? }
82
83
  fetch_file_from_host(File.join(dir, file.name)) if file
83
84
  end
84
85
  end
@@ -90,9 +91,9 @@ module Dependabot
90
91
 
91
92
  # If there are no sln files but there is a src directory, check that dir
92
93
  if sln_files.none? && src_dir
93
- sln_files = repo_contents(dir: "src").
94
- select { |f| f.name.end_with?(".sln") }.map(&:dup).
95
- map { |file| file.tap { |f| f.name = "src/" + f.name } }
94
+ sln_files = repo_contents(dir: "src")
95
+ .select { |f| f.name.end_with?(".sln") }.map(&:dup)
96
+ .map { |file| file.tap { |f| f.name = "src/" + f.name } }
96
97
  end
97
98
 
98
99
  # Return `nil` if no sln files were found
@@ -156,9 +157,9 @@ module Dependabot
156
157
  @sln_project_files ||=
157
158
  begin
158
159
  paths = sln_files.flat_map do |sln_file|
159
- SlnProjectPathsFinder.
160
- new(sln_file: sln_file).
161
- project_paths
160
+ SlnProjectPathsFinder
161
+ .new(sln_file: sln_file)
162
+ .project_paths
162
163
  end
163
164
 
164
165
  paths.filter_map do |path|
@@ -177,9 +178,9 @@ module Dependabot
177
178
  return unless sln_file_names
178
179
 
179
180
  @sln_files ||=
180
- sln_file_names.
181
- map { |sln_file_name| fetch_file_from_host(sln_file_name) }.
182
- select { |file| file.content.valid_encoding? }
181
+ sln_file_names
182
+ .map { |sln_file_name| fetch_file_from_host(sln_file_name) }
183
+ .select { |file| file.content.valid_encoding? }
183
184
  end
184
185
 
185
186
  def csproj_file
@@ -231,8 +232,8 @@ module Dependabot
231
232
  break if visited_directories.include?(dir)
232
233
 
233
234
  visited_directories << dir
234
- file = repo_contents(dir: dir).
235
- find { |f| f.name.casecmp("nuget.config").zero? }
235
+ file = repo_contents(dir: dir)
236
+ .find { |f| f.name.casecmp("nuget.config").zero? }
236
237
  if file
237
238
  file = fetch_file_from_host(File.join(dir, file.name))
238
239
  file&.tap { |f| f.support_file = true }
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "json"
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "json"
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -127,8 +128,8 @@ module Dependabot
127
128
  if prop_name
128
129
  # Get the root property name unless no details could be found,
129
130
  # in which case use the top-level name to ease debugging
130
- root_prop_name = details_for_property(prop_name, project_file)&.
131
- fetch(:root_property_name) || prop_name
131
+ root_prop_name = details_for_property(prop_name, project_file)
132
+ &.fetch(:root_property_name) || prop_name
132
133
  requirement[:metadata] = { property_name: root_prop_name }
133
134
  end
134
135
 
@@ -185,9 +186,9 @@ module Dependabot
185
186
 
186
187
  return unless raw_requirement.match?(PROPERTY_REGEX)
187
188
 
188
- raw_requirement.
189
- match(PROPERTY_REGEX).
190
- named_captures.fetch("property")
189
+ raw_requirement
190
+ .match(PROPERTY_REGEX)
191
+ .named_captures.fetch("property")
191
192
  end
192
193
 
193
194
  # rubocop:disable Metrics/PerceivedComplexity
@@ -206,8 +207,8 @@ module Dependabot
206
207
  def evaluated_value(value, project_file)
207
208
  return value unless value.match?(PROPERTY_REGEX)
208
209
 
209
- property_name = value.match(PROPERTY_REGEX).
210
- named_captures.fetch("property")
210
+ property_name = value.match(PROPERTY_REGEX)
211
+ .named_captures.fetch("property")
211
212
  property_details = details_for_property(property_name, project_file)
212
213
 
213
214
  # Don't halt parsing for a missing property value until we're
@@ -218,8 +219,8 @@ module Dependabot
218
219
  end
219
220
 
220
221
  def details_for_property(property_name, project_file)
221
- property_value_finder.
222
- property_details(
222
+ property_value_finder
223
+ .property_details(
223
224
  property_name: property_name,
224
225
  callsite_file: project_file
225
226
  )
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "dependabot/nuget/file_fetcher/import_paths_finder"
@@ -53,11 +54,11 @@ module Dependabot
53
54
  end
54
55
 
55
56
  def check_next_level_of_stack(node_details, stack)
56
- property_name = node_details.fetch(:value).
57
- match(PROPERTY_REGEX).
58
- named_captures.fetch("property")
59
- callsite_file = dependency_files.
60
- find { |f| f.name == node_details.fetch(:file) }
57
+ property_name = node_details.fetch(:value)
58
+ .match(PROPERTY_REGEX)
59
+ .named_captures.fetch("property")
60
+ callsite_file = dependency_files
61
+ .find { |f| f.name == node_details.fetch(:file) }
61
62
 
62
63
  raise "Circular reference!" if stack.include?([property_name, callsite_file.name])
63
64
 
@@ -82,17 +83,17 @@ module Dependabot
82
83
 
83
84
  # Otherwise, we need to look in an imported file
84
85
  import_path_finder =
85
- Nuget::FileFetcher::ImportPathsFinder.
86
- new(project_file: file)
86
+ Nuget::FileFetcher::ImportPathsFinder
87
+ .new(project_file: file)
87
88
 
88
89
  import_paths = [
89
90
  *import_path_finder.import_paths,
90
91
  *import_path_finder.project_reference_paths
91
92
  ]
92
93
 
93
- file = import_paths.
94
- filter_map { |p| dependency_files.find { |f| f.name == p } }.
95
- find { |f| deep_find_prop_node(property: property, file: f) }
94
+ file = import_paths
95
+ .filter_map { |p| dependency_files.find { |f| f.name == p } }
96
+ .find { |f| deep_find_prop_node(property: property, file: f) }
96
97
 
97
98
  return unless file
98
99
 
@@ -137,8 +138,8 @@ module Dependabot
137
138
  Pathname.new(base + "/Directory.Build.targets").cleanpath.to_path
138
139
  end.reverse + ["Directory.Build.targets"]
139
140
 
140
- path = possible_paths.uniq.
141
- find { |p| dependency_files.find { |f| f.name == p } }
141
+ path = possible_paths.uniq
142
+ .find { |p| dependency_files.find { |f| f.name == p } }
142
143
 
143
144
  dependency_files.find { |f| f.name == path }
144
145
  end
@@ -154,8 +155,8 @@ module Dependabot
154
155
  end.reverse + ["Directory.Build.props"]
155
156
 
156
157
  path =
157
- possible_paths.uniq.
158
- find { |p| dependency_files.find { |f| f.name.casecmp(p).zero? } }
158
+ possible_paths.uniq
159
+ .find { |p| dependency_files.find { |f| f.name.casecmp(p).zero? } }
159
160
 
160
161
  dependency_files.find { |f| f.name == path }
161
162
  end
@@ -170,8 +171,8 @@ module Dependabot
170
171
  Pathname.new(base + "/Directory.Packages.props").cleanpath.to_path
171
172
  end.reverse + ["Directory.Packages.props"]
172
173
 
173
- path = possible_paths.uniq.
174
- find { |p| dependency_files.find { |f| f.name == p } }
174
+ path = possible_paths.uniq
175
+ .find { |p| dependency_files.find { |f| f.name == p } }
175
176
 
176
177
  dependency_files.find { |f| f.name == path }
177
178
  end
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -20,8 +21,8 @@ module Dependabot
20
21
  @packages_config = packages_config
21
22
  @declaring_requirement = declaring_requirement
22
23
 
23
- if declaring_requirement[:file].split("/").last.
24
- casecmp("packages.config").zero?
24
+ if declaring_requirement[:file].split("/").last
25
+ .casecmp("packages.config").zero?
25
26
  return
26
27
  end
27
28
 
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -17,8 +18,8 @@ module Dependabot
17
18
  def update_files_for_property_change(property_name:, updated_value:,
18
19
  callsite_file:)
19
20
  declaration_details =
20
- property_value_finder.
21
- property_details(
21
+ property_value_finder
22
+ .property_details(
22
23
  property_name: property_name,
23
24
  callsite_file: callsite_file
24
25
  )
@@ -47,8 +48,8 @@ module Dependabot
47
48
 
48
49
  def property_value_finder
49
50
  @property_value_finder ||=
50
- Nuget::FileParser::PropertyValueFinder.
51
- new(dependency_files: dependency_files)
51
+ Nuget::FileParser::PropertyValueFinder
52
+ .new(dependency_files: dependency_files)
52
53
  end
53
54
 
54
55
  def update_file(file:, content:)
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "dependabot/file_updaters"
@@ -72,8 +73,8 @@ module Dependabot
72
73
  def update_files_for_dependency(files:, dependency:)
73
74
  # The UpdateChecker ensures the order of requirements is preserved
74
75
  # when updating, so we can zip them together in new/old pairs.
75
- reqs = dependency.requirements.zip(dependency.previous_requirements).
76
- reject { |new_req, old_req| new_req == old_req }
76
+ reqs = dependency.requirements.zip(dependency.previous_requirements)
77
+ .reject { |new_req, old_req| new_req == old_req }
77
78
 
78
79
  # Loop through each changed requirement and update the files
79
80
  reqs.each do |new_req, old_req|
@@ -97,9 +98,9 @@ module Dependabot
97
98
  files = files.dup
98
99
  property_name = req.fetch(:metadata).fetch(:property_name)
99
100
 
100
- PropertyValueUpdater.
101
- new(dependency_files: files).
102
- update_files_for_property_change(
101
+ PropertyValueUpdater
102
+ .new(dependency_files: files)
103
+ .update_files_for_property_change(
103
104
  property_name: property_name,
104
105
  updated_value: req.fetch(:requirement),
105
106
  callsite_file: file
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "nokogiri"
@@ -55,10 +56,10 @@ module Dependabot
55
56
  end
56
57
 
57
58
  def extract_search_url(body)
58
- JSON.parse(body).
59
- fetch("resources", []).
60
- find { |r| r.fetch("@type") == "SearchQueryService" }&.
61
- fetch("@id")
59
+ JSON.parse(body)
60
+ .fetch("resources", [])
61
+ .find { |r| r.fetch("@type") == "SearchQueryService" }
62
+ &.fetch("@id")
62
63
  end
63
64
 
64
65
  def extract_source_repo(body)
@@ -80,8 +81,8 @@ module Dependabot
80
81
 
81
82
  def look_up_source_in_nuspec(nuspec)
82
83
  potential_source_urls = [
83
- nuspec.at_css("package > metadata > repository")&.
84
- attribute("url")&.value,
84
+ nuspec.at_css("package > metadata > repository")
85
+ &.attribute("url")&.value,
85
86
  nuspec.at_css("package > metadata > repository > url")&.content,
86
87
  nuspec.at_css("package > metadata > projectUrl")&.content,
87
88
  nuspec.at_css("package > metadata > licenseUrl")&.content
@@ -95,8 +96,8 @@ module Dependabot
95
96
 
96
97
  def source_from_anywhere_in_nuspec(nuspec)
97
98
  github_urls = []
98
- nuspec.to_s.force_encoding(Encoding::UTF_8).
99
- scan(Source::SOURCE_REGEX) do
99
+ nuspec.to_s.force_encoding(Encoding::UTF_8)
100
+ .scan(Source::SOURCE_REGEX) do
100
101
  github_urls << Regexp.last_match.to_s
101
102
  end
102
103
 
@@ -118,15 +119,15 @@ module Dependabot
118
119
  end
119
120
 
120
121
  def dependency_nuspec_url
121
- source = dependency.requirements.
122
- find { |r| r&.fetch(:source) }&.fetch(:source)
122
+ source = dependency.requirements
123
+ .find { |r| r&.fetch(:source) }&.fetch(:source)
123
124
 
124
125
  source.fetch(:nuspec_url) if source&.key?(:nuspec_url)
125
126
  end
126
127
 
127
128
  def dependency_source_url
128
- source = dependency.requirements.
129
- find { |r| r&.fetch(:source) }&.fetch(:source)
129
+ source = dependency.requirements
130
+ .find { |r| r&.fetch(:source) }&.fetch(:source)
130
131
 
131
132
  return unless source
132
133
  return source.fetch(:source_url) if source.key?(:source_url)
@@ -136,14 +137,14 @@ module Dependabot
136
137
 
137
138
  # rubocop:disable Metrics/PerceivedComplexity
138
139
  def auth_header
139
- source = dependency.requirements.
140
- find { |r| r&.fetch(:source) }&.fetch(:source)
140
+ source = dependency.requirements
141
+ .find { |r| r&.fetch(:source) }&.fetch(:source)
141
142
  url = source&.fetch(:url, nil) || source&.fetch("url")
142
143
 
143
- token = credentials.
144
- select { |cred| cred["type"] == "nuget_feed" }.
145
- find { |cred| cred["url"] == url }&.
146
- fetch("token", nil)
144
+ token = credentials
145
+ .select { |cred| cred["type"] == "nuget_feed" }
146
+ .find { |cred| cred["url"] == url }
147
+ &.fetch("token", nil)
147
148
 
148
149
  return {} unless token
149
150
 
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "dependabot/utils"
@@ -101,5 +102,5 @@ module Dependabot
101
102
  end
102
103
  end
103
104
 
104
- Dependabot::Utils.
105
- register_requirement_class("nuget", Dependabot::Nuget::Requirement)
105
+ Dependabot::Utils
106
+ .register_requirement_class("nuget", Dependabot::Nuget::Requirement)
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "dependabot/nuget/file_parser"
@@ -19,8 +20,8 @@ module Dependabot
19
20
  @ignored_versions = ignored_versions
20
21
  @raise_on_ignored = raise_on_ignored
21
22
  @target_version = target_version_details&.fetch(:version)
22
- @source_details = target_version_details&.
23
- slice(:nuspec_url, :repo_url, :source_url)
23
+ @source_details = target_version_details
24
+ &.slice(:nuspec_url, :repo_url, :source_url)
24
25
  end
25
26
 
26
27
  def update_possible?
@@ -75,9 +76,9 @@ module Dependabot
75
76
  end
76
77
 
77
78
  def property_name
78
- @property_name ||= dependency.requirements.
79
- find { |r| r.dig(:metadata, :property_name) }&.
80
- dig(:metadata, :property_name)
79
+ @property_name ||= dependency.requirements
80
+ .find { |r| r.dig(:metadata, :property_name) }
81
+ &.dig(:metadata, :property_name)
81
82
 
82
83
  raise "No requirement with a property name!" unless @property_name
83
84
 
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "excon"
@@ -77,25 +78,25 @@ module Dependabot
77
78
  end
78
79
 
79
80
  def base_url_from_v3_metadata(metadata)
80
- metadata.
81
- fetch("resources", []).
82
- find { |r| r.fetch("@type") == "PackageBaseAddress/3.0.0" }&.
83
- fetch("@id")
81
+ metadata
82
+ .fetch("resources", [])
83
+ .find { |r| r.fetch("@type") == "PackageBaseAddress/3.0.0" }
84
+ &.fetch("@id")
84
85
  end
85
86
 
86
87
  def search_url_from_v3_metadata(metadata)
87
- metadata.
88
- fetch("resources", []).
89
- find { |r| r.fetch("@type") == "SearchQueryService" }&.
90
- fetch("@id")
88
+ metadata
89
+ .fetch("resources", [])
90
+ .find { |r| r.fetch("@type") == "SearchQueryService" }
91
+ &.fetch("@id")
91
92
  end
92
93
 
93
94
  def build_v2_url(response, repo_details)
94
95
  doc = Nokogiri::XML(response.body)
95
96
 
96
97
  doc.remove_namespaces!
97
- base_url = doc.at_xpath("service")&.attributes&.
98
- fetch("base", nil)&.value
98
+ base_url = doc.at_xpath("service")&.attributes
99
+ &.fetch("base", nil)&.value
99
100
 
100
101
  base_url ||= repo_details.fetch(:url)
101
102
 
@@ -137,9 +138,9 @@ module Dependabot
137
138
 
138
139
  def credential_repositories
139
140
  @credential_repositories ||=
140
- credentials.
141
- select { |cred| cred["type"] == "nuget_feed" }.
142
- map { |c| { url: c.fetch("url"), token: c["token"] } }
141
+ credentials
142
+ .select { |cred| cred["type"] == "nuget_feed" }
143
+ .map { |c| { url: c.fetch("url"), token: c["token"] } }
143
144
  end
144
145
 
145
146
  def config_file_repositories
@@ -226,13 +227,13 @@ module Dependabot
226
227
  "> #{tag} > add")
227
228
 
228
229
  username =
229
- creds_nodes.
230
- find { |n| n.attribute("key")&.value == "Username" }&.
231
- attribute("value")&.value
230
+ creds_nodes
231
+ .find { |n| n.attribute("key")&.value == "Username" }
232
+ &.attribute("value")&.value
232
233
  password =
233
- creds_nodes.
234
- find { |n| n.attribute("key")&.value == "ClearTextPassword" }&.
235
- attribute("value")&.value
234
+ creds_nodes
235
+ .find { |n| n.attribute("key")&.value == "ClearTextPassword" }
236
+ &.attribute("value")&.value
236
237
 
237
238
  # NOTE: We have to look for plain text passwords, as we have no
238
239
  # way of decrypting encrypted passwords. For the same reason we
@@ -250,9 +251,9 @@ module Dependabot
250
251
  # rubocop:enable Metrics/PerceivedComplexity
251
252
 
252
253
  def remove_wrapping_zero_width_chars(string)
253
- string.force_encoding("UTF-8").encode.
254
- gsub(/\A[\u200B-\u200D\uFEFF]/, "").
255
- gsub(/[\u200B-\u200D\uFEFF]\Z/, "")
254
+ string.force_encoding("UTF-8").encode
255
+ .gsub(/\A[\u200B-\u200D\uFEFF]/, "")
256
+ .gsub(/[\u200B-\u200D\uFEFF]\Z/, "")
256
257
  end
257
258
 
258
259
  def auth_header_for_token(token)
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  #######################################################################
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "excon"
@@ -75,8 +76,8 @@ module Dependabot
75
76
  ignored_versions.each do |req|
76
77
  ignore_req = requirement_class.new(parse_requirement_string(req))
77
78
  filtered =
78
- filtered.
79
- reject { |v| ignore_req.satisfied_by?(v.fetch(:version)) }
79
+ filtered
80
+ .reject { |v| ignore_req.satisfied_by?(v.fetch(:version)) }
80
81
  end
81
82
 
82
83
  if @raise_on_ignored && filter_lower_versions(filtered).empty? &&
@@ -103,13 +104,13 @@ module Dependabot
103
104
 
104
105
  def available_v3_versions
105
106
  v3_nuget_listings.flat_map do |listing|
106
- listing.
107
- fetch("versions", []).
108
- map do |v|
107
+ listing
108
+ .fetch("versions", [])
109
+ .map do |v|
109
110
  listing_details = listing.fetch("listing_details")
110
- nuspec_url = listing_details.
111
- fetch(:versions_url, nil)&.
112
- gsub(/index\.json$/, "#{v}/#{sanitized_name}.nuspec")
111
+ nuspec_url = listing_details
112
+ .fetch(:versions_url, nil)
113
+ &.gsub(/index\.json$/, "#{v}/#{sanitized_name}.nuspec")
113
114
 
114
115
  {
115
116
  version: version_class.new(v),
@@ -133,8 +134,8 @@ module Dependabot
133
134
 
134
135
  entry_details = dependency_details_from_v2_entry(entry)
135
136
  entry_details.merge(
136
- repo_url: listing.fetch("listing_details").
137
- fetch(:repository_url)
137
+ repo_url: listing.fetch("listing_details")
138
+ .fetch(:repository_url)
138
139
  )
139
140
  end
140
141
  end
@@ -173,9 +174,9 @@ module Dependabot
173
174
  return true if reqs.any?("*-*")
174
175
  next unless reqs.any? { |r| r.include?("-") }
175
176
 
176
- requirement_class.
177
- requirements_array(req.fetch(:requirement)).
178
- any? do |r|
177
+ requirement_class
178
+ .requirements_array(req.fetch(:requirement))
179
+ .any? do |r|
179
180
  r.requirements.any? { |a| a.last.release == version.release }
180
181
  end
181
182
  rescue Gem::Requirement::BadRequirementError
@@ -189,9 +190,9 @@ module Dependabot
189
190
  return @v3_nuget_listings unless @v3_nuget_listings.nil?
190
191
 
191
192
  @v3_nuget_listings ||=
192
- dependency_urls.
193
- select { |details| details.fetch(:repository_type) == "v3" }.
194
- filter_map do |url_details|
193
+ dependency_urls
194
+ .select { |details| details.fetch(:repository_type) == "v3" }
195
+ .filter_map do |url_details|
195
196
  versions = versions_for_v3_repository(url_details)
196
197
  next unless versions
197
198
 
@@ -203,10 +204,10 @@ module Dependabot
203
204
  return @v2_nuget_listings unless @v2_nuget_listings.nil?
204
205
 
205
206
  @v2_nuget_listings ||=
206
- dependency_urls.
207
- select { |details| details.fetch(:repository_type) == "v2" }.
208
- flat_map { |url_details| fetch_paginated_v2_nuget_listings(url_details) }.
209
- filter_map do |url_details, response|
207
+ dependency_urls
208
+ .select { |details| details.fetch(:repository_type) == "v2" }
209
+ .flat_map { |url_details| fetch_paginated_v2_nuget_listings(url_details) }
210
+ .filter_map do |url_details, response|
210
211
  next unless response.status == 200
211
212
 
212
213
  {
@@ -277,10 +278,10 @@ module Dependabot
277
278
  return unless response.status == 200
278
279
 
279
280
  body = remove_wrapping_zero_width_chars(response.body)
280
- JSON.parse(body).fetch("data").
281
- find { |d| d.fetch("id").casecmp(sanitized_name).zero? }&.
282
- fetch("versions")&.
283
- map { |d| d.fetch("version") }
281
+ JSON.parse(body).fetch("data")
282
+ .find { |d| d.fetch("id").casecmp(sanitized_name).zero? }
283
+ &.fetch("versions")
284
+ &.map { |d| d.fetch("version") }
284
285
  rescue Excon::Error::Timeout, Excon::Error::Socket
285
286
  repo_url = repository_details[:repository_url]
286
287
  raise if repo_url == RepositoryFinder::DEFAULT_REPOSITORY_URL
@@ -315,9 +316,9 @@ module Dependabot
315
316
  end
316
317
 
317
318
  def remove_wrapping_zero_width_chars(string)
318
- string.force_encoding("UTF-8").encode.
319
- gsub(/\A[\u200B-\u200D\uFEFF]/, "").
320
- gsub(/[\u200B-\u200D\uFEFF]\Z/, "")
319
+ string.force_encoding("UTF-8").encode
320
+ .gsub(/\A[\u200B-\u200D\uFEFF]/, "")
321
+ .gsub(/[\u200B-\u200D\uFEFF]\Z/, "")
321
322
  end
322
323
 
323
324
  def excon_options
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "dependabot/nuget/file_parser"
@@ -41,8 +42,8 @@ module Dependabot
41
42
  RequirementsUpdater.new(
42
43
  requirements: dependency.requirements,
43
44
  latest_version: preferred_resolvable_version&.to_s,
44
- source_details: preferred_version_details&.
45
- slice(:nuspec_url, :repo_url, :source_url)
45
+ source_details: preferred_version_details
46
+ &.slice(:nuspec_url, :repo_url, :source_url)
46
47
  ).updated_requirements
47
48
  end
48
49
 
@@ -132,8 +133,8 @@ module Dependabot
132
133
 
133
134
  def declarations_using_a_property
134
135
  @declarations_using_a_property ||=
135
- dependency.requirements.
136
- select { |req| req.dig(:metadata, :property_name) }
136
+ dependency.requirements
137
+ .select { |req| req.dig(:metadata, :property_name) }
137
138
  end
138
139
 
139
140
  def all_property_based_dependencies
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  require "dependabot/version"
@@ -51,15 +52,15 @@ module Dependabot
51
52
  # rubocop:disable Metrics/PerceivedComplexity
52
53
  def compare_prerelease_part(other)
53
54
  release_str = @version_string.split("-").first || ""
54
- prerelease_string = @version_string.
55
- sub(release_str, "").
56
- sub("-", "")
55
+ prerelease_string = @version_string
56
+ .sub(release_str, "")
57
+ .sub("-", "")
57
58
  prerelease_string = nil if prerelease_string == ""
58
59
 
59
60
  other_release_str = other.to_s.split("-").first || ""
60
- other_prerelease_string = other.to_s.
61
- sub(other_release_str, "").
62
- sub("-", "")
61
+ other_prerelease_string = other.to_s
62
+ .sub(other_release_str, "")
63
+ .sub("-", "")
63
64
  other_prerelease_string = nil if other_prerelease_string == ""
64
65
 
65
66
  return -1 if prerelease_string && !other_prerelease_string
@@ -1,3 +1,4 @@
1
+ # typed: false
1
2
  # frozen_string_literal: true
2
3
 
3
4
  # These all need to be required so the various classes can be registered in a
@@ -11,8 +12,8 @@ require "dependabot/nuget/requirement"
11
12
  require "dependabot/nuget/version"
12
13
 
13
14
  require "dependabot/pull_request_creator/labeler"
14
- Dependabot::PullRequestCreator::Labeler.
15
- register_label_details("nuget", name: ".NET", colour: "7121c6")
15
+ Dependabot::PullRequestCreator::Labeler
16
+ .register_label_details("nuget", name: ".NET", colour: "7121c6")
16
17
 
17
18
  require "dependabot/dependency"
18
19
  Dependabot::Dependency.register_production_check(
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.230.0
4
+ version: 0.231.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-08 00:00:00.000000000 Z
11
+ date: 2023-09-12 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.230.0
19
+ version: 0.231.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.230.0
26
+ version: 0.231.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.19.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-sorbet
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.7.3
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.7.3
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: stackprof
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -213,7 +227,7 @@ licenses:
213
227
  - Nonstandard
214
228
  metadata:
215
229
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
216
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.230.0
230
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.231.0
217
231
  post_install_message:
218
232
  rdoc_options: []
219
233
  require_paths: