dependabot-npm_and_yarn 0.331.0 → 0.333.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 +4 -4
- data/lib/dependabot/npm_and_yarn/bun_package_manager.rb +1 -0
- data/lib/dependabot/npm_and_yarn/file_fetcher.rb +29 -2
- data/lib/dependabot/npm_and_yarn/file_parser/bun_lock.rb +1 -4
- data/lib/dependabot/npm_and_yarn/file_parser/json_lock.rb +2 -35
- data/lib/dependabot/npm_and_yarn/file_parser/pnpm_lock.rb +2 -6
- data/lib/dependabot/npm_and_yarn/file_parser/yarn_lock.rb +1 -4
- data/lib/dependabot/npm_and_yarn/file_parser.rb +2 -8
- data/lib/dependabot/npm_and_yarn/file_updater/npm_lockfile_updater.rb +2 -4
- data/lib/dependabot/npm_and_yarn/file_updater/npmrc_builder.rb +1 -5
- data/lib/dependabot/npm_and_yarn/file_updater/package_json_updater.rb +1 -1
- data/lib/dependabot/npm_and_yarn/file_updater/pnpm_lockfile_updater.rb +4 -4
- data/lib/dependabot/npm_and_yarn/language.rb +1 -0
- data/lib/dependabot/npm_and_yarn/metadata_finder.rb +2 -2
- data/lib/dependabot/npm_and_yarn/npm_package_manager.rb +1 -0
- data/lib/dependabot/npm_and_yarn/pnpm_package_manager.rb +1 -0
- data/lib/dependabot/npm_and_yarn/update_checker/requirements_updater.rb +2 -2
- data/lib/dependabot/npm_and_yarn/update_checker.rb +2 -2
- data/lib/dependabot/npm_and_yarn/yarn_package_manager.rb +1 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7be0417677733584b0aa5f37a0c8633a20c930f0d97142aa5b40ff12ec8eddeb
|
4
|
+
data.tar.gz: 1bf3f2fb844f57104a4073c14cb7b02fa4eb5f48535161f0890c8d25f076db18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4638ea644ac982c9d4fe016b81b5b2b7e40a0fb286388eb6acf6abc1674531d6f71cb72536fb4963b104d0bd8f16c6e0ae2dc3f4dbb54624280e21386c88384d
|
7
|
+
data.tar.gz: 247ed7731f5ceac78c3886edb8fdf8ebaf4c98d6d955a186039fd320ddcce02c173a5e2c0503517e70c1910ce75f9348a0de176fe1d1059aa70aaefc48e5807c
|
@@ -7,6 +7,7 @@ require "dependabot/experiments"
|
|
7
7
|
require "dependabot/logger"
|
8
8
|
require "dependabot/file_fetchers"
|
9
9
|
require "dependabot/file_fetchers/base"
|
10
|
+
require "dependabot/file_filtering"
|
10
11
|
require "dependabot/npm_and_yarn/helpers"
|
11
12
|
require "dependabot/npm_and_yarn/package_manager"
|
12
13
|
require "dependabot/npm_and_yarn/file_parser"
|
@@ -89,7 +90,13 @@ module Dependabot
|
|
89
90
|
fetched_files += workspace_package_jsons
|
90
91
|
fetched_files += path_dependencies(fetched_files)
|
91
92
|
|
92
|
-
|
93
|
+
# Filter excluded files from final collection
|
94
|
+
filtered_files = fetched_files.uniq.reject do |file|
|
95
|
+
Dependabot::Experiments.enabled?(:enable_exclude_paths_subdirectory_manifest_files) &&
|
96
|
+
!@exclude_paths.empty? && Dependabot::FileFiltering.exclude_path?(file.name, @exclude_paths)
|
97
|
+
end
|
98
|
+
|
99
|
+
filtered_files
|
93
100
|
end
|
94
101
|
|
95
102
|
private
|
@@ -371,7 +378,7 @@ module Dependabot
|
|
371
378
|
|
372
379
|
# rubocop:disable Metrics/PerceivedComplexity
|
373
380
|
sig { params(fetched_files: T::Array[DependencyFile]).returns(T::Array[DependencyFile]) }
|
374
|
-
def path_dependencies(fetched_files)
|
381
|
+
def path_dependencies(fetched_files) # rubocop:disable Metrics/AbcSize
|
375
382
|
package_json_files = T.let([], T::Array[DependencyFile])
|
376
383
|
unfetchable_deps = T.let([], T::Array[[String, String]])
|
377
384
|
|
@@ -390,6 +397,16 @@ module Dependabot
|
|
390
397
|
cleaned_name = Pathname.new(filename).cleanpath.to_path
|
391
398
|
next if fetched_files.map(&:name).include?(cleaned_name)
|
392
399
|
|
400
|
+
# Skip excluded path dependencies
|
401
|
+
if Dependabot::Experiments.enabled?(:enable_exclude_paths_subdirectory_manifest_files) &&
|
402
|
+
!@exclude_paths.empty? && Dependabot::FileFiltering.exclude_path?(cleaned_name, @exclude_paths)
|
403
|
+
Dependabot.logger.warn(
|
404
|
+
"Skipping excluded path dependency '#{cleaned_name}' for package '#{name}'. " \
|
405
|
+
"This file is excluded by exclude_paths configuration: #{@exclude_paths}"
|
406
|
+
)
|
407
|
+
next
|
408
|
+
end
|
409
|
+
|
393
410
|
begin
|
394
411
|
file = fetch_file_from_host(filename, fetch_submodules: true)
|
395
412
|
package_json_files << file
|
@@ -610,6 +627,16 @@ module Dependabot
|
|
610
627
|
def fetch_package_json_if_present(workspace)
|
611
628
|
file = File.join(workspace, MANIFEST_FILENAME)
|
612
629
|
|
630
|
+
# Skip excluded workspace packages
|
631
|
+
if Dependabot::Experiments.enabled?(:enable_exclude_paths_subdirectory_manifest_files) &&
|
632
|
+
!@exclude_paths.empty? && Dependabot::FileFiltering.exclude_path?(file, @exclude_paths)
|
633
|
+
Dependabot.logger.info(
|
634
|
+
"Skipping excluded workspace package '#{file}' from workspace '#{workspace}'. " \
|
635
|
+
"This file is excluded by exclude_paths configuration: #{@exclude_paths}"
|
636
|
+
)
|
637
|
+
return nil
|
638
|
+
end
|
639
|
+
|
613
640
|
begin
|
614
641
|
fetch_file_from_host(file)
|
615
642
|
rescue Dependabot::DependencyFileNotFound
|
@@ -40,8 +40,6 @@ module Dependabot
|
|
40
40
|
def dependencies
|
41
41
|
dependency_set = Dependabot::FileParsers::Base::DependencySet.new
|
42
42
|
|
43
|
-
origin_file = Pathname.new(@dependency_file.directory).join(@dependency_file.name).to_s
|
44
|
-
|
45
43
|
# bun.lock v0 format:
|
46
44
|
# https://github.com/oven-sh/bun/blob/c130df6c589fdf28f9f3c7f23ed9901140bc9349/src/install/bun.lock.zig#L595-L605
|
47
45
|
|
@@ -64,8 +62,7 @@ module Dependabot
|
|
64
62
|
name: name,
|
65
63
|
version: semver.to_s,
|
66
64
|
package_manager: "npm_and_yarn",
|
67
|
-
requirements: []
|
68
|
-
origin_files: [origin_file]
|
65
|
+
requirements: []
|
69
66
|
)
|
70
67
|
end
|
71
68
|
|
@@ -15,9 +15,6 @@ module Dependabot
|
|
15
15
|
sig { params(dependency_file: DependencyFile).void }
|
16
16
|
def initialize(dependency_file)
|
17
17
|
@dependency_file = dependency_file
|
18
|
-
# Set this file to priority 1 to indicate it should override manifests for purposes of a graph
|
19
|
-
dependency_file.priority = 1
|
20
|
-
@direct_dependencies = T.let(fetch_direct_dependencies, T::Array[String])
|
21
18
|
end
|
22
19
|
|
23
20
|
sig { returns(T::Hash[String, T.untyped]) }
|
@@ -51,36 +48,11 @@ module Dependabot
|
|
51
48
|
|
52
49
|
private
|
53
50
|
|
54
|
-
# Only V3 lockfiles contain information on the package itself, so we use `npm ls` to generate
|
55
|
-
# a graph we can pluck the direct dependency list from at parse-time for this lockfile.
|
56
|
-
sig { returns(T::Array[String]) }
|
57
|
-
def fetch_direct_dependencies
|
58
|
-
# TODO(brrygrdn): Implement a 'verbose' flag that runs this extra step?
|
59
|
-
#
|
60
|
-
# For now, don't run this extra native command if we aren't using the submission experiment
|
61
|
-
return [] unless Dependabot::Experiments.enabled?(:enable_dependency_submission_poc)
|
62
|
-
|
63
|
-
SharedHelpers.in_a_temporary_repo_directory do |_|
|
64
|
-
write_temporary_dependency_files
|
65
|
-
|
66
|
-
npm_ls_json = Helpers.run_npm_command("ls --all --package-lock-only --json")
|
67
|
-
|
68
|
-
JSON.parse(npm_ls_json).fetch("dependencies", {}).keys
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
sig { void }
|
73
|
-
def write_temporary_dependency_files
|
74
|
-
path = @dependency_file.name
|
75
|
-
FileUtils.mkdir_p(Pathname.new(path).dirname)
|
76
|
-
File.write(path, @dependency_file.content)
|
77
|
-
end
|
78
|
-
|
79
51
|
sig do
|
80
52
|
params(object_with_dependencies: T::Hash[String, T.untyped])
|
81
53
|
.returns(Dependabot::FileParsers::Base::DependencySet)
|
82
54
|
end
|
83
|
-
def recursively_fetch_dependencies(object_with_dependencies)
|
55
|
+
def recursively_fetch_dependencies(object_with_dependencies)
|
84
56
|
dependency_set = Dependabot::FileParsers::Base::DependencySet.new
|
85
57
|
|
86
58
|
dependencies = object_with_dependencies["dependencies"]
|
@@ -95,18 +67,14 @@ module Dependabot
|
|
95
67
|
package_name = name.split("node_modules/").last
|
96
68
|
version = version.to_s
|
97
69
|
|
98
|
-
origin_file = Pathname.new(@dependency_file.directory).join(@dependency_file.name).to_s
|
99
|
-
|
100
70
|
dependency_args = {
|
101
71
|
name: package_name,
|
102
72
|
version: version,
|
103
73
|
package_manager: "npm_and_yarn",
|
104
74
|
requirements: [],
|
105
|
-
direct_relationship: @direct_dependencies.include?(package_name),
|
106
75
|
metadata: {
|
107
76
|
depends_on: details&.fetch("dependencies", {})&.keys || []
|
108
|
-
}
|
109
|
-
origin_files: [origin_file]
|
77
|
+
}
|
110
78
|
}
|
111
79
|
|
112
80
|
if details["bundled"]
|
@@ -123,7 +91,6 @@ module Dependabot
|
|
123
91
|
dependency_set += recursively_fetch_dependencies(details)
|
124
92
|
end
|
125
93
|
|
126
|
-
@dependency_file.dependencies = dependency_set.dependencies.to_set
|
127
94
|
dependency_set
|
128
95
|
end
|
129
96
|
|
@@ -75,8 +75,6 @@ module Dependabot
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
-
origin_file = Pathname.new(@dependency_file.directory).join(@dependency_file.name).to_s
|
79
|
-
|
80
78
|
# Add prioritized dependencies to the dependency set.
|
81
79
|
dependencies_with_specifiers.each do |dependency_args|
|
82
80
|
dependency_set << Dependency.new(
|
@@ -84,8 +82,7 @@ module Dependabot
|
|
84
82
|
version: dependency_args[:version],
|
85
83
|
package_manager: dependency_args[:package_manager],
|
86
84
|
requirements: dependency_args[:requirements],
|
87
|
-
subdependency_metadata: dependency_args[:subdependency_metadata]
|
88
|
-
origin_files: [origin_file]
|
85
|
+
subdependency_metadata: dependency_args[:subdependency_metadata]
|
89
86
|
)
|
90
87
|
end
|
91
88
|
|
@@ -95,8 +92,7 @@ module Dependabot
|
|
95
92
|
version: dependency_args[:version],
|
96
93
|
package_manager: dependency_args[:package_manager],
|
97
94
|
requirements: dependency_args[:requirements],
|
98
|
-
subdependency_metadata: dependency_args[:subdependency_metadata]
|
99
|
-
origin_files: [origin_file]
|
95
|
+
subdependency_metadata: dependency_args[:subdependency_metadata]
|
100
96
|
)
|
101
97
|
end
|
102
98
|
|
@@ -46,8 +46,6 @@ module Dependabot
|
|
46
46
|
def dependencies
|
47
47
|
dependency_set = Dependabot::FileParsers::Base::DependencySet.new
|
48
48
|
|
49
|
-
origin_file = Pathname.new(@dependency_file.directory).join(@dependency_file.name).to_s
|
50
|
-
|
51
49
|
parsed.each do |reqs, details|
|
52
50
|
reqs.split(", ").each do |req|
|
53
51
|
version = Version.semver_for(details["version"])
|
@@ -60,8 +58,7 @@ module Dependabot
|
|
60
58
|
name: T.must(req.split(/(?<=\w)\@/).first),
|
61
59
|
version: version.to_s,
|
62
60
|
package_manager: "npm_and_yarn",
|
63
|
-
requirements: []
|
64
|
-
origin_files: [origin_file]
|
61
|
+
requirements: []
|
65
62
|
)
|
66
63
|
end
|
67
64
|
end
|
@@ -226,10 +226,7 @@ module Dependabot
|
|
226
226
|
dep = build_dependency(
|
227
227
|
file: file, type: type, name: name, requirement: requirement
|
228
228
|
)
|
229
|
-
if dep
|
230
|
-
file.dependencies << dep
|
231
|
-
dependency_set << dep
|
232
|
-
end
|
229
|
+
dependency_set << dep if dep
|
233
230
|
end
|
234
231
|
end
|
235
232
|
|
@@ -302,8 +299,6 @@ module Dependabot
|
|
302
299
|
# Example: "my-fetch-factory@npm:fetch-factory"
|
303
300
|
return if aliased_package_name?(name)
|
304
301
|
|
305
|
-
origin_file = Pathname.new(file.directory).join(file.name).to_s
|
306
|
-
|
307
302
|
Dependency.new(
|
308
303
|
name: name,
|
309
304
|
version: converted_version,
|
@@ -313,8 +308,7 @@ module Dependabot
|
|
313
308
|
file: file.name,
|
314
309
|
groups: [type],
|
315
310
|
source: source_for(name, requirement, lockfile_details)
|
316
|
-
}]
|
317
|
-
origin_files: [origin_file]
|
311
|
+
}]
|
318
312
|
)
|
319
313
|
end
|
320
314
|
|
@@ -207,8 +207,7 @@ module Dependabot
|
|
207
207
|
version: d.previous_version,
|
208
208
|
previous_version: d.previous_version,
|
209
209
|
requirements: T.must(d.previous_requirements),
|
210
|
-
previous_requirements: d.previous_requirements
|
211
|
-
origin_files: d.origin_files
|
210
|
+
previous_requirements: d.previous_requirements
|
212
211
|
)
|
213
212
|
end
|
214
213
|
|
@@ -219,8 +218,7 @@ module Dependabot
|
|
219
218
|
version: d.previous_version,
|
220
219
|
previous_version: d.previous_version,
|
221
220
|
requirements: [],
|
222
|
-
previous_requirements: []
|
223
|
-
origin_files: d.origin_files
|
221
|
+
previous_requirements: []
|
224
222
|
)
|
225
223
|
end
|
226
224
|
|
@@ -167,7 +167,6 @@ module Dependabot
|
|
167
167
|
end
|
168
168
|
end
|
169
169
|
|
170
|
-
# rubocop:disable Metrics/AbcSize
|
171
170
|
sig { returns(T.nilable(T::Array[String])) }
|
172
171
|
def dependency_urls
|
173
172
|
return @dependency_urls if defined?(@dependency_urls)
|
@@ -191,8 +190,7 @@ module Dependabot
|
|
191
190
|
if npm_lockfile
|
192
191
|
@dependency_urls +=
|
193
192
|
T.must(npm_lockfile.content).scan(/"resolved"\s*:\s*"(.*)"/)
|
194
|
-
.flatten
|
195
|
-
.select { |url| url.is_a?(String) }
|
193
|
+
.flatten.grep(String)
|
196
194
|
.reject { |url| url.start_with?("git") }
|
197
195
|
end
|
198
196
|
if yarn_lock
|
@@ -210,8 +208,6 @@ module Dependabot
|
|
210
208
|
T.nilable(T::Array[String])
|
211
209
|
)
|
212
210
|
end
|
213
|
-
# rubocop:enable Metrics/AbcSize
|
214
|
-
|
215
211
|
sig { returns(String) }
|
216
212
|
def complete_npmrc_from_credentials
|
217
213
|
# removes attribute timeout to allow for job update,
|
@@ -60,7 +60,7 @@ module Dependabot
|
|
60
60
|
)
|
61
61
|
|
62
62
|
if Dependabot::Experiments.enabled?(:avoid_duplicate_updates_package_json) &&
|
63
|
-
|
63
|
+
content == new_content && unique_deps_count > 1
|
64
64
|
|
65
65
|
# (we observed that) package.json does not always contains the same dependencies compared to
|
66
66
|
# "dependencies" list, for example, dependencies object can contain same name dependency "dep"=> "1.0.0"
|
@@ -80,10 +80,10 @@ module Dependabot
|
|
80
80
|
IRRESOLVABLE_PACKAGE = "ERR_PNPM_NO_MATCHING_VERSION"
|
81
81
|
INVALID_REQUIREMENT = "ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER"
|
82
82
|
UNREACHABLE_GIT = %r{Command failed with exit code 128: git ls-remote (?<url>.*github\.com/[^/]+/[^ ]+)}
|
83
|
-
UNREACHABLE_GIT_V8 = %r{ERR_PNPM_FETCH_404[ [^:print
|
84
|
-
FORBIDDEN_PACKAGE = /ERR_PNPM_FETCH_403[ [^:print
|
85
|
-
MISSING_PACKAGE = /ERR_PNPM_FETCH_404[ [^:print
|
86
|
-
UNAUTHORIZED_PACKAGE = /ERR_PNPM_FETCH_401[ [^:print
|
83
|
+
UNREACHABLE_GIT_V8 = %r{ERR_PNPM_FETCH_404[ [^:print]]+GET (?<url>https://codeload\.github\.com/[^/]+/[^/]+)/}
|
84
|
+
FORBIDDEN_PACKAGE = /ERR_PNPM_FETCH_403[ [^:print]]+GET (?<dependency_url>.*): Forbidden - 403/
|
85
|
+
MISSING_PACKAGE = /ERR_PNPM_FETCH_404[ [^:print]]+GET (?<dependency_url>.*): (?:Not Found)? - 404/
|
86
|
+
UNAUTHORIZED_PACKAGE = /ERR_PNPM_FETCH_401[ [^:print]]+GET (?<dependency_url>.*): Unauthorized - 401/
|
87
87
|
|
88
88
|
# ERR_PNPM_FETCH ERROR CODES
|
89
89
|
ERR_PNPM_FETCH_401 = /ERR_PNPM_FETCH_401.*GET (?<dependency_url>.*):/
|
@@ -56,7 +56,7 @@ module Dependabot
|
|
56
56
|
def npm_releaser
|
57
57
|
all_version_listings
|
58
58
|
.find { |v, _| v == dependency.version }
|
59
|
-
&.last&.
|
59
|
+
&.last&.dig("_npmUser", "name")
|
60
60
|
end
|
61
61
|
|
62
62
|
sig { returns(T.nilable(T::Array[String])) }
|
@@ -73,7 +73,7 @@ module Dependabot
|
|
73
73
|
|
74
74
|
all_version_listings
|
75
75
|
.reject { |v, _| Time.parse(times[v]) > cutoff }
|
76
|
-
.filter_map { |_, d| d.
|
76
|
+
.filter_map { |_, d| d.dig("_npmUser", "name") }
|
77
77
|
end
|
78
78
|
|
79
79
|
sig { returns(T.nilable(Dependabot::Source)) }
|
@@ -154,7 +154,7 @@ module Dependabot
|
|
154
154
|
updated_requirement =
|
155
155
|
if reqs.any? { |r| r.match?(/(<|-\s)/i) }
|
156
156
|
update_range_requirement(current_requirement)
|
157
|
-
elsif current_requirement.strip.split(SEPARATOR).
|
157
|
+
elsif current_requirement.strip.split(SEPARATOR).one?
|
158
158
|
update_version_string(current_requirement)
|
159
159
|
else
|
160
160
|
current_requirement
|
@@ -174,7 +174,7 @@ module Dependabot
|
|
174
174
|
range_requirements =
|
175
175
|
req_string.split(SEPARATOR).select { |r| r.match?(/<|(\s+-\s+)/) }
|
176
176
|
|
177
|
-
if range_requirements.
|
177
|
+
if range_requirements.one?
|
178
178
|
range_requirement = T.must(range_requirements.first)
|
179
179
|
versions = range_requirement.scan(VERSION_REGEX)
|
180
180
|
version_objects = versions.map { |v| version_class.new(v.to_s) }
|
@@ -11,6 +11,7 @@ module Dependabot
|
|
11
11
|
module NpmAndYarn
|
12
12
|
class UpdateChecker < Dependabot::UpdateCheckers::Base # rubocop:disable Metrics/ClassLength
|
13
13
|
extend T::Sig
|
14
|
+
|
14
15
|
require_relative "update_checker/requirements_updater"
|
15
16
|
require_relative "update_checker/library_detector"
|
16
17
|
require_relative "update_checker/latest_version_finder"
|
@@ -31,7 +32,6 @@ module Dependabot
|
|
31
32
|
requirements_update_strategy: T.nilable(Dependabot::RequirementsUpdateStrategy),
|
32
33
|
dependency_group: T.nilable(Dependabot::DependencyGroup),
|
33
34
|
update_cooldown: T.nilable(Dependabot::Package::ReleaseCooldownOptions),
|
34
|
-
exclude_paths: T.nilable(T::Array[String]),
|
35
35
|
options: T::Hash[Symbol, T.untyped]
|
36
36
|
)
|
37
37
|
.void
|
@@ -40,7 +40,7 @@ module Dependabot
|
|
40
40
|
repo_contents_path: nil, ignored_versions: [],
|
41
41
|
raise_on_ignored: false, security_advisories: [],
|
42
42
|
requirements_update_strategy: nil, dependency_group: nil,
|
43
|
-
update_cooldown: nil,
|
43
|
+
update_cooldown: nil, options: {})
|
44
44
|
@latest_version = T.let(nil, T.nilable(T.any(String, Gem::Version)))
|
45
45
|
@latest_resolvable_version = T.let(nil, T.nilable(T.any(String, Dependabot::Version)))
|
46
46
|
@updated_requirements = T.let(nil, T.nilable(T::Array[T::Hash[Symbol, T.untyped]]))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-npm_and_yarn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.333.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.333.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.333.0
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: debug
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -211,14 +211,14 @@ dependencies:
|
|
211
211
|
requirements:
|
212
212
|
- - "~>"
|
213
213
|
- !ruby/object:Gem::Version
|
214
|
-
version: '3.
|
214
|
+
version: '3.25'
|
215
215
|
type: :development
|
216
216
|
prerelease: false
|
217
217
|
version_requirements: !ruby/object:Gem::Requirement
|
218
218
|
requirements:
|
219
219
|
- - "~>"
|
220
220
|
- !ruby/object:Gem::Version
|
221
|
-
version: '3.
|
221
|
+
version: '3.25'
|
222
222
|
- !ruby/object:Gem::Dependency
|
223
223
|
name: webrick
|
224
224
|
requirement: !ruby/object:Gem::Requirement
|
@@ -362,7 +362,7 @@ licenses:
|
|
362
362
|
- MIT
|
363
363
|
metadata:
|
364
364
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
365
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
365
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.333.0
|
366
366
|
rdoc_options: []
|
367
367
|
require_paths:
|
368
368
|
- lib
|