@@ -77,7 +77,7 @@ def latest_version_from_registry
77
77
def latest_version_with_no_unlock ( language_version : nil )
78
78
with_custom_registry_rescue do
79
79
return unless valid_npm_details?
80
- return version_from_dist_tags if specified_dist_tag_requirement?
80
+ return version_from_dist_tags &. version if specified_dist_tag_requirement?
81
81
82
82
super
83
83
end
@@ -100,8 +100,8 @@ def fetch_latest_version(language_version: nil)
100
100
with_custom_registry_rescue do
101
101
return unless valid_npm_details?
102
102
103
- tag_version = version_from_dist_tags
104
- return tag_version if tag_version
103
+ tag_release = version_from_dist_tags
104
+ return tag_release . version if tag_release
105
105
106
106
return if specified_dist_tag_requirement?
107
107
@@ -117,7 +117,7 @@ def fetch_latest_version(language_version: nil)
117
117
def fetch_latest_version_with_no_unlock ( language_version : nil )
118
118
with_custom_registry_rescue do
119
119
return unless valid_npm_details?
120
- return version_from_dist_tags if specified_dist_tag_requirement?
120
+ return version_from_dist_tags &. version if specified_dist_tag_requirement?
121
121
122
122
super
123
123
end
@@ -188,7 +188,7 @@ def fetch_lowest_security_fix_version(language_version:) # rubocop:disable Lint/
188
188
if specified_dist_tag_requirement?
189
189
[ version_from_dist_tags ] . compact
190
190
else
191
- possible_versions ( filter_ignored : false )
191
+ possible_releases ( filter_ignored : false )
192
192
end
193
193
194
194
secure_versions =
@@ -204,22 +204,22 @@ def fetch_lowest_security_fix_version(language_version:) # rubocop:disable Lint/
204
204
secure_versions = lazy_filter_yanked_versions_by_min_max ( secure_versions , check_max : false )
205
205
206
206
# Return the lowest non-yanked version
207
- secure_versions . max
207
+ secure_versions . max_by ( & :version ) &. version
208
208
end
209
209
end
210
210
211
211
sig do
212
- params ( versions_array : T ::Array [ Dependabot ::Version ] )
213
- . returns ( T ::Array [ Dependabot ::Version ] )
212
+ params ( releases : T ::Array [ Dependabot ::Package :: PackageRelease ] )
213
+ . returns ( T ::Array [ Dependabot ::Package :: PackageRelease ] )
214
214
end
215
- def filter_prerelease_versions ( versions_array )
216
- filtered = versions_array . reject do |v |
217
- v . prerelease? && !related_to_current_pre? ( v )
215
+ def filter_prerelease_versions ( releases )
216
+ filtered = releases . reject do |release |
217
+ release . version . prerelease? && !related_to_current_pre? ( release . version )
218
218
end
219
219
220
- if versions_array . count > filtered . count
220
+ if releases . count > filtered . count
221
221
Dependabot . logger . info (
222
- "Filtered out #{ versions_array . count - filtered . count } unrelated pre-release versions"
222
+ "Filtered out #{ releases . count - filtered . count } unrelated pre-release versions"
223
223
)
224
224
end
225
225
@@ -325,7 +325,7 @@ def valid_npm_details?
325
325
!!package_details &.releases &.any?
326
326
end
327
327
328
- sig { returns ( T . nilable ( Dependabot ::Version ) ) }
328
+ sig { returns ( T . nilable ( Dependabot ::Package :: PackageRelease ) ) }
329
329
def version_from_dist_tags # rubocop:disable Metrics/PerceivedComplexity
330
330
dist_tags = package_details &.dist_tags
331
331
return nil unless dist_tags
@@ -340,14 +340,14 @@ def version_from_dist_tags # rubocop:disable Metrics/PerceivedComplexity
340
340
341
341
if dist_tag_req
342
342
release = find_dist_tag_release ( dist_tag_req , releases )
343
- return release . version if release && !release . yanked?
343
+ return release if release && !release . yanked?
344
344
end
345
345
346
346
latest_release = find_dist_tag_release ( "latest" , releases )
347
347
348
348
return nil unless latest_release
349
349
350
- return latest_release . version if wants_latest_dist_tag? ( latest_release . version ) && !latest_release . yanked?
350
+ return latest_release if wants_latest_dist_tag? ( latest_release . version ) && !latest_release . yanked?
351
351
352
352
nil
353
353
end
0 commit comments