Skip to content

Commit e84d805

Browse files
committed
update bun and npm_and_yarn release filters
1 parent 03520f1 commit e84d805

File tree

2 files changed

+32
-32
lines changed

2 files changed

+32
-32
lines changed

bun/lib/dependabot/bun/update_checker/latest_version_finder.rb

+16-16
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def latest_version_from_registry
7777
def latest_version_with_no_unlock(language_version: nil)
7878
with_custom_registry_rescue do
7979
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?
8181

8282
super
8383
end
@@ -100,8 +100,8 @@ def fetch_latest_version(language_version: nil)
100100
with_custom_registry_rescue do
101101
return unless valid_npm_details?
102102

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
105105

106106
return if specified_dist_tag_requirement?
107107

@@ -117,7 +117,7 @@ def fetch_latest_version(language_version: nil)
117117
def fetch_latest_version_with_no_unlock(language_version: nil)
118118
with_custom_registry_rescue do
119119
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?
121121

122122
super
123123
end
@@ -188,7 +188,7 @@ def fetch_lowest_security_fix_version(language_version:) # rubocop:disable Lint/
188188
if specified_dist_tag_requirement?
189189
[version_from_dist_tags].compact
190190
else
191-
possible_versions(filter_ignored: false)
191+
possible_releases(filter_ignored: false)
192192
end
193193

194194
secure_versions =
@@ -204,22 +204,22 @@ def fetch_lowest_security_fix_version(language_version:) # rubocop:disable Lint/
204204
secure_versions = lazy_filter_yanked_versions_by_min_max(secure_versions, check_max: false)
205205

206206
# Return the lowest non-yanked version
207-
secure_versions.max
207+
secure_versions.max_by(&:version)&.version
208208
end
209209
end
210210

211211
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])
214214
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)
218218
end
219219

220-
if versions_array.count > filtered.count
220+
if releases.count > filtered.count
221221
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"
223223
)
224224
end
225225

@@ -325,7 +325,7 @@ def valid_npm_details?
325325
!!package_details&.releases&.any?
326326
end
327327

328-
sig { returns(T.nilable(Dependabot::Version)) }
328+
sig { returns(T.nilable(Dependabot::Package::PackageRelease)) }
329329
def version_from_dist_tags # rubocop:disable Metrics/PerceivedComplexity
330330
dist_tags = package_details&.dist_tags
331331
return nil unless dist_tags
@@ -340,14 +340,14 @@ def version_from_dist_tags # rubocop:disable Metrics/PerceivedComplexity
340340

341341
if dist_tag_req
342342
release = find_dist_tag_release(dist_tag_req, releases)
343-
return release.version if release && !release.yanked?
343+
return release if release && !release.yanked?
344344
end
345345

346346
latest_release = find_dist_tag_release("latest", releases)
347347

348348
return nil unless latest_release
349349

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?
351351

352352
nil
353353
end

npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb

+16-16
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def latest_version_from_registry
7777
def latest_version_with_no_unlock(language_version: nil)
7878
with_custom_registry_rescue do
7979
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?
8181

8282
super
8383
end
@@ -100,8 +100,8 @@ def fetch_latest_version(language_version: nil)
100100
with_custom_registry_rescue do
101101
return unless valid_npm_details?
102102

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
105105

106106
return if specified_dist_tag_requirement?
107107

@@ -117,7 +117,7 @@ def fetch_latest_version(language_version: nil)
117117
def fetch_latest_version_with_no_unlock(language_version: nil)
118118
with_custom_registry_rescue do
119119
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?
121121

122122
super
123123
end
@@ -188,7 +188,7 @@ def fetch_lowest_security_fix_version(language_version:) # rubocop:disable Lint/
188188
if specified_dist_tag_requirement?
189189
[version_from_dist_tags].compact
190190
else
191-
possible_versions(filter_ignored: false)
191+
possible_releases(filter_ignored: false)
192192
end
193193

194194
secure_versions =
@@ -204,22 +204,22 @@ def fetch_lowest_security_fix_version(language_version:) # rubocop:disable Lint/
204204
secure_versions = lazy_filter_yanked_versions_by_min_max(secure_versions, check_max: false)
205205

206206
# Return the lowest non-yanked version
207-
secure_versions.max
207+
secure_versions.max_by(&:version)&.version
208208
end
209209
end
210210

211211
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])
214214
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)
218218
end
219219

220-
if versions_array.count > filtered.count
220+
if releases.count > filtered.count
221221
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"
223223
)
224224
end
225225

@@ -325,7 +325,7 @@ def valid_npm_details?
325325
!!package_details&.releases&.any?
326326
end
327327

328-
sig { returns(T.nilable(Dependabot::Version)) }
328+
sig { returns(T.nilable(Dependabot::Package::PackageRelease)) }
329329
def version_from_dist_tags # rubocop:disable Metrics/PerceivedComplexity
330330
dist_tags = package_details&.dist_tags
331331
return nil unless dist_tags
@@ -340,14 +340,14 @@ def version_from_dist_tags # rubocop:disable Metrics/PerceivedComplexity
340340

341341
if dist_tag_req
342342
release = find_dist_tag_release(dist_tag_req, releases)
343-
return release.version if release && !release.yanked?
343+
return release if release && !release.yanked?
344344
end
345345

346346
latest_release = find_dist_tag_release("latest", releases)
347347

348348
return nil unless latest_release
349349

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?
351351

352352
nil
353353
end

0 commit comments

Comments
 (0)