dependabot-elm 0.364.0 → 0.365.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e9e41f54d5b97f943a9bf8e5e7da6b4af66a3a1e6d577ed0c9fb9b9127b156ab
|
|
4
|
+
data.tar.gz: 6f24cc10c0ba54c38215a2c62d9aceea0f8b62c515292c81b6afd83f8ff5ef4c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cbc603570ffa409f0b55b5358eb3cf3b5a2eb3f1718d55de0fde3398160c7fd5c2bc6227786a1068506a57f80096c3eca76cb0c2541e8afb65c83c5f36d4b8c5
|
|
7
|
+
data.tar.gz: 159c85588a710184e0058152b6ecd8dff5243505b6f59ae210c2c4a6d10ec52cfa8ecf58b0f2891c14fe877ce5de2b13e03e908b750b123af71e04b7f70fcb2d
|
|
@@ -117,12 +117,14 @@ module Dependabot
|
|
|
117
117
|
params(
|
|
118
118
|
dependency: Dependabot::Dependency,
|
|
119
119
|
dependency_files: T::Array[Dependabot::DependencyFile],
|
|
120
|
+
ignored_versions: T::Array[String],
|
|
120
121
|
cooldown_options: T.nilable(Dependabot::Package::ReleaseCooldownOptions)
|
|
121
122
|
).void
|
|
122
123
|
end
|
|
123
|
-
def initialize(dependency:, dependency_files:, cooldown_options: nil)
|
|
124
|
+
def initialize(dependency:, dependency_files:, ignored_versions: [], cooldown_options: nil)
|
|
124
125
|
@dependency = dependency
|
|
125
126
|
@dependency_files = dependency_files
|
|
127
|
+
@ignored_versions = ignored_versions
|
|
126
128
|
@cooldown_options = cooldown_options
|
|
127
129
|
|
|
128
130
|
@install_metadata = T.let(nil, T.nilable(T::Hash[String, Dependabot::Elm::Version]))
|
|
@@ -137,9 +139,17 @@ module Dependabot
|
|
|
137
139
|
# unlock requirements are `none`. Just return the current version.
|
|
138
140
|
return current_version if unlock_requirement == :none
|
|
139
141
|
|
|
140
|
-
|
|
141
|
-
#
|
|
142
|
-
fetch_latest_resolvable_version(unlock_requirement)
|
|
142
|
+
current = current_version
|
|
143
|
+
# Run the solver first so errors (unsupported deps, invalid layouts) propagate
|
|
144
|
+
resolved = fetch_latest_resolvable_version(unlock_requirement)
|
|
145
|
+
return current unless resolved
|
|
146
|
+
# If there is no current version (e.g., only a range in elm.json), treat any
|
|
147
|
+
# successfully resolved version as the candidate update.
|
|
148
|
+
return cap_at_max_allowed_version(resolved) unless current
|
|
149
|
+
return current unless resolved > current
|
|
150
|
+
|
|
151
|
+
# Cap the solver result at the highest non-ignored, non-cooldown version
|
|
152
|
+
cap_at_max_allowed_version(resolved)
|
|
143
153
|
end
|
|
144
154
|
|
|
145
155
|
sig { returns(T::Array[Dependabot::Dependency]) }
|
|
@@ -181,6 +191,27 @@ module Dependabot
|
|
|
181
191
|
sig { returns(T::Array[Dependabot::DependencyFile]) }
|
|
182
192
|
attr_reader :dependency_files
|
|
183
193
|
|
|
194
|
+
sig { returns(T::Array[String]) }
|
|
195
|
+
attr_reader :ignored_versions
|
|
196
|
+
|
|
197
|
+
sig { params(resolved: Dependabot::Elm::Version).returns(Dependabot::Elm::Version) }
|
|
198
|
+
def cap_at_max_allowed_version(resolved)
|
|
199
|
+
current = current_version
|
|
200
|
+
releases = package_releases
|
|
201
|
+
releases = filter_ignored_versions(T.must(releases))
|
|
202
|
+
releases = filter_by_cooldown(releases)
|
|
203
|
+
max_allowed = releases.max_by(&:version)&.version
|
|
204
|
+
|
|
205
|
+
return resolved unless current
|
|
206
|
+
return current unless max_allowed && max_allowed > current
|
|
207
|
+
|
|
208
|
+
if resolved > max_allowed
|
|
209
|
+
T.cast(max_allowed, Dependabot::Elm::Version)
|
|
210
|
+
else
|
|
211
|
+
resolved
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
|
|
184
215
|
sig { returns(T.nilable(T::Array[Dependabot::Package::PackageRelease])) }
|
|
185
216
|
def package_releases
|
|
186
217
|
T.let(
|
|
@@ -197,17 +228,6 @@ module Dependabot
|
|
|
197
228
|
result = check_install_result(changed_deps)
|
|
198
229
|
version_after_install = changed_deps.fetch(dependency.name)
|
|
199
230
|
|
|
200
|
-
# returns current version if new proposed version is in cooldown period
|
|
201
|
-
new_release = package_releases&.find { |release| release.version == version_after_install }
|
|
202
|
-
|
|
203
|
-
if cooldown_options && in_cooldown_period?(T.must(new_release))
|
|
204
|
-
Dependabot.logger.info(
|
|
205
|
-
"#{dependency.name} #{new_release} is in cooldown period," \
|
|
206
|
-
" returning current version #{current_version}"
|
|
207
|
-
)
|
|
208
|
-
return current_version
|
|
209
|
-
end
|
|
210
|
-
|
|
211
231
|
# If the install was clean then we can definitely update
|
|
212
232
|
return version_after_install if result == :clean_bump
|
|
213
233
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dependabot-elm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.365.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dependabot
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.
|
|
18
|
+
version: 0.365.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.
|
|
25
|
+
version: 0.365.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -261,7 +261,7 @@ licenses:
|
|
|
261
261
|
- MIT
|
|
262
262
|
metadata:
|
|
263
263
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
264
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
264
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.365.0
|
|
265
265
|
rdoc_options: []
|
|
266
266
|
require_paths:
|
|
267
267
|
- lib
|