dependabot-silent 0.243.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 +7 -0
- data/lib/dependabot/silent/file_fetcher.rb +22 -0
- data/lib/dependabot/silent/file_parser.rb +49 -0
- data/lib/dependabot/silent/file_updater.rb +67 -0
- data/lib/dependabot/silent/requirement.rb +20 -0
- data/lib/dependabot/silent/update_checker.rb +97 -0
- data/lib/dependabot/silent/version.rb +13 -0
- data/lib/dependabot/silent.rb +20 -0
- metadata +261 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 76ecae4d13c85ee5e3aa51b1b400e6bfdf8f5153ea9ec4e693d52decf365f4cf
|
|
4
|
+
data.tar.gz: 180c545d1ec400efd13b1bc0c9a2c4590a8beed77cc5ab1f523757388a23317c
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 742a70b1a4f95beef611f3f43a7edd72e3da77ffdb4e62550b49dd8aea46f4c24e21ad613481a665252dd277f1d35a7de7b485ccb33b8b0e2d0b98a3b58e11f9
|
|
7
|
+
data.tar.gz: f2028652dbfc3e842d2cdae2a9e6d2ae817079b45533bee72fd06bb0a952908db9f6e6f8bff03f2fbd48870529a6fb52648f7cda9f0262037d5088fadfcbe9fb
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "dependabot/file_fetchers"
|
|
5
|
+
require "dependabot/file_fetchers/base"
|
|
6
|
+
|
|
7
|
+
module SilentPackageManager
|
|
8
|
+
class FileFetcher < Dependabot::FileFetchers::Base
|
|
9
|
+
def fetch_files
|
|
10
|
+
[manifest].compact
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
def manifest
|
|
16
|
+
fetch_file_if_present("manifest.json")
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Dependabot::FileFetchers
|
|
22
|
+
.register("silent", SilentPackageManager::FileFetcher)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "dependabot/dependency"
|
|
5
|
+
require "dependabot/file_parsers"
|
|
6
|
+
require "dependabot/file_parsers/base"
|
|
7
|
+
|
|
8
|
+
module SilentPackageManager
|
|
9
|
+
class FileParser < Dependabot::FileParsers::Base
|
|
10
|
+
require "dependabot/file_parsers/base/dependency_set"
|
|
11
|
+
|
|
12
|
+
def parse
|
|
13
|
+
dependency_set = DependencySet.new
|
|
14
|
+
|
|
15
|
+
JSON.parse(manifest_content).each do |name, info|
|
|
16
|
+
dependency_set << Dependabot::Dependency.new(
|
|
17
|
+
name: name,
|
|
18
|
+
version: info["version"],
|
|
19
|
+
package_manager: "silent",
|
|
20
|
+
requirements: [{
|
|
21
|
+
requirement: info["version"],
|
|
22
|
+
file: T.must(dependency_files.first).name,
|
|
23
|
+
groups: [info["group"]].compact,
|
|
24
|
+
source: nil
|
|
25
|
+
}]
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
dependency_set.dependencies
|
|
30
|
+
rescue JSON::ParserError
|
|
31
|
+
raise Dependabot::DependencyFileNotParseable, T.must(dependency_files.first).path
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
def manifest_content
|
|
37
|
+
T.must(T.must(dependency_files.first).content)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def check_required_files
|
|
41
|
+
# Just check if there are any files at all.
|
|
42
|
+
return if dependency_files.any?
|
|
43
|
+
|
|
44
|
+
raise "No dependency files!"
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
Dependabot::FileParsers.register("silent", SilentPackageManager::FileParser)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "dependabot/file_updaters"
|
|
5
|
+
require "dependabot/file_updaters/base"
|
|
6
|
+
|
|
7
|
+
module SilentPackageManager
|
|
8
|
+
class FileUpdater < Dependabot::FileUpdaters::Base
|
|
9
|
+
def updated_dependency_files
|
|
10
|
+
return [] if dependency.name == "dont-update-any-files"
|
|
11
|
+
|
|
12
|
+
updated_files = []
|
|
13
|
+
dependency_files.each do |file|
|
|
14
|
+
next unless requirement_changed?(file, dependency)
|
|
15
|
+
|
|
16
|
+
updated_files << updated_file(file: file, content: updated_file_content(file))
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
updated_files.reject! { |f| dependency_files.include?(f) }
|
|
20
|
+
raise "No files changed!" if updated_files.none?
|
|
21
|
+
|
|
22
|
+
updated_files
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
def dependency
|
|
28
|
+
# Dockerfiles will only ever be updating a single dependency
|
|
29
|
+
dependencies.first
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def check_required_files
|
|
33
|
+
# Just check if there are any files at all.
|
|
34
|
+
return if dependency_files.any?
|
|
35
|
+
|
|
36
|
+
raise "No dependency files!"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def updated_file_content(file)
|
|
40
|
+
original_content = JSON.parse(file.content)
|
|
41
|
+
original_content.each do |name, info|
|
|
42
|
+
next unless name == dependency.name
|
|
43
|
+
|
|
44
|
+
info["version"] = requirements(file).first[:requirement]
|
|
45
|
+
if info["depends-on"]
|
|
46
|
+
# also bump dependants to the same version
|
|
47
|
+
original_content[info["depends-on"]]["version"] = requirements(file).first[:requirement]
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
c = JSON.pretty_generate(original_content)
|
|
51
|
+
puts c
|
|
52
|
+
c
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def requirements(file)
|
|
56
|
+
dependency.requirements
|
|
57
|
+
.select { |r| r[:file] == file.name }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def previous_requirements(file)
|
|
61
|
+
dependency.previous_requirements
|
|
62
|
+
.select { |r| r[:file] == file.name }
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
Dependabot::FileUpdaters.register("silent", SilentPackageManager::FileUpdater)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "dependabot/requirement"
|
|
5
|
+
require "dependabot/utils"
|
|
6
|
+
|
|
7
|
+
module SilentPackageManager
|
|
8
|
+
class Requirement < Dependabot::Requirement
|
|
9
|
+
AND_SEPARATOR = /(?<=[a-zA-Z0-9*])\s+(?:&+\s+)?(?!\s*[|-])/
|
|
10
|
+
|
|
11
|
+
def self.requirements_array(requirement_string)
|
|
12
|
+
requirements = requirement_string.split(AND_SEPARATOR).map(&:strip)
|
|
13
|
+
|
|
14
|
+
[new(*requirements)]
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
Dependabot::Utils
|
|
20
|
+
.register_requirement_class("silent", SilentPackageManager::Requirement)
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "dependabot/update_checkers"
|
|
5
|
+
require "dependabot/update_checkers/base"
|
|
6
|
+
require "dependabot/errors"
|
|
7
|
+
require "dependabot/update_checkers/version_filters"
|
|
8
|
+
|
|
9
|
+
module SilentPackageManager
|
|
10
|
+
class UpdateChecker < Dependabot::UpdateCheckers::Base
|
|
11
|
+
def latest_version
|
|
12
|
+
return next_git_version if git_dependency?
|
|
13
|
+
|
|
14
|
+
versions = available_versions
|
|
15
|
+
versions = filter_ignored_versions(versions)
|
|
16
|
+
versions.max.to_s
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def latest_version_resolvable_with_full_unlock?
|
|
20
|
+
# For ecosystems that have lockfiles, the updater allows an ecosystem to try progressively
|
|
21
|
+
# more aggressive approaches to dependency unlocking. This method represents the most aggressive
|
|
22
|
+
# approach that allows for updating all dependencies to try to get the target dependency to update.
|
|
23
|
+
# We're going to let the specs handle testing that logic, returning false here.
|
|
24
|
+
false
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def lowest_security_fix_version
|
|
28
|
+
versions = available_versions
|
|
29
|
+
versions = filter_lower_versions(versions)
|
|
30
|
+
Dependabot::UpdateCheckers::VersionFilters.filter_vulnerable_versions(
|
|
31
|
+
versions,
|
|
32
|
+
security_advisories
|
|
33
|
+
).min.to_s
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def lowest_resolvable_security_fix_version
|
|
37
|
+
raise "Dependency not vulnerable!" unless vulnerable?
|
|
38
|
+
|
|
39
|
+
lowest_security_fix_version
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def up_to_date?
|
|
43
|
+
dependency.version == latest_version
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def latest_resolvable_version
|
|
47
|
+
latest_version
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def updated_requirements
|
|
51
|
+
dependency.requirements.map do |req|
|
|
52
|
+
req.merge(requirement: preferred_resolvable_version)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
private
|
|
57
|
+
|
|
58
|
+
def git_dependency?
|
|
59
|
+
dependency.version&.length == 40
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def next_git_version
|
|
63
|
+
fetch_dependency_metadata["git"]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def filter_lower_versions(versions)
|
|
67
|
+
versions.reject { |v| v < version_class.new(dependency.version) }
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def filter_ignored_versions(versions)
|
|
71
|
+
filtered = versions.reject { |v| ignore_requirements.any? { |r| r.satisfied_by?(v) } }
|
|
72
|
+
return filtered unless versions.any? && filtered.empty? && raise_on_ignored
|
|
73
|
+
|
|
74
|
+
raise Dependabot::AllVersionsIgnored
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def fetch_dependency_metadata
|
|
78
|
+
version_file = File.join(repo_contents_path, dependency.name)
|
|
79
|
+
return { "versions" => [] } unless File.exist?(version_file)
|
|
80
|
+
|
|
81
|
+
# the available versions are stored in a file in the repo
|
|
82
|
+
# that's why this package manager is silent, makes no requests
|
|
83
|
+
JSON.parse(File.read(version_file))
|
|
84
|
+
rescue JSON::ParserError
|
|
85
|
+
raise Dependabot::DependencyFileNotParseable, dependency_files.first.path
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def available_versions
|
|
89
|
+
return @available_versions if defined? @available_versions
|
|
90
|
+
|
|
91
|
+
versions = fetch_dependency_metadata["versions"]
|
|
92
|
+
@available_versions = versions.map { |v| SilentPackageManager::Version.new(v) }
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
Dependabot::UpdateCheckers.register("silent", SilentPackageManager::UpdateChecker)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require "dependabot/version"
|
|
5
|
+
require "dependabot/utils"
|
|
6
|
+
|
|
7
|
+
module SilentPackageManager
|
|
8
|
+
class Version < Dependabot::Version
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
Dependabot::Utils
|
|
13
|
+
.register_version_class("silent", SilentPackageManager::Version)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# typed: strict
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
# These all need to be required so the various classes can be registered in a
|
|
5
|
+
# lookup table of package manager names to concrete classes.
|
|
6
|
+
require "dependabot/silent/file_fetcher"
|
|
7
|
+
require "dependabot/silent/file_parser"
|
|
8
|
+
require "dependabot/silent/update_checker"
|
|
9
|
+
require "dependabot/silent/file_updater"
|
|
10
|
+
# require "dependabot/silent/metadata_finder" TODO
|
|
11
|
+
require "dependabot/silent/requirement"
|
|
12
|
+
require "dependabot/silent/version"
|
|
13
|
+
|
|
14
|
+
require "dependabot/pull_request_creator/labeler"
|
|
15
|
+
Dependabot::PullRequestCreator::Labeler
|
|
16
|
+
.register_label_details("silent", name: "silent_package_manager", colour: "000000")
|
|
17
|
+
|
|
18
|
+
require "dependabot/dependency"
|
|
19
|
+
Dependabot::Dependency
|
|
20
|
+
.register_production_check("silent", ->(groups) { groups.empty? || groups.include?("prod") })
|
metadata
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: dependabot-silent
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.243.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Dependabot
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2024-02-13 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: dependabot-common
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - '='
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 0.243.0
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - '='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 0.243.0
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: debug
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 1.8.0
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 1.8.0
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: gpgme
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '2.0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '2.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rake
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '13'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '13'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rspec
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '3.12'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '3.12'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: rspec-its
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.3'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '1.3'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: rspec-sorbet
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 1.9.2
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 1.9.2
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: rubocop
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: 1.58.0
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: 1.58.0
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: rubocop-performance
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: 1.19.0
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
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
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: stackprof
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: 0.2.16
|
|
160
|
+
type: :development
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: 0.2.16
|
|
167
|
+
- !ruby/object:Gem::Dependency
|
|
168
|
+
name: turbo_tests
|
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - "~>"
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: 2.2.0
|
|
174
|
+
type: :development
|
|
175
|
+
prerelease: false
|
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - "~>"
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: 2.2.0
|
|
181
|
+
- !ruby/object:Gem::Dependency
|
|
182
|
+
name: vcr
|
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
|
184
|
+
requirements:
|
|
185
|
+
- - "~>"
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
version: '6.1'
|
|
188
|
+
type: :development
|
|
189
|
+
prerelease: false
|
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
191
|
+
requirements:
|
|
192
|
+
- - "~>"
|
|
193
|
+
- !ruby/object:Gem::Version
|
|
194
|
+
version: '6.1'
|
|
195
|
+
- !ruby/object:Gem::Dependency
|
|
196
|
+
name: webmock
|
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
|
198
|
+
requirements:
|
|
199
|
+
- - "~>"
|
|
200
|
+
- !ruby/object:Gem::Version
|
|
201
|
+
version: '3.18'
|
|
202
|
+
type: :development
|
|
203
|
+
prerelease: false
|
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
205
|
+
requirements:
|
|
206
|
+
- - "~>"
|
|
207
|
+
- !ruby/object:Gem::Version
|
|
208
|
+
version: '3.18'
|
|
209
|
+
- !ruby/object:Gem::Dependency
|
|
210
|
+
name: webrick
|
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
|
212
|
+
requirements:
|
|
213
|
+
- - ">="
|
|
214
|
+
- !ruby/object:Gem::Version
|
|
215
|
+
version: '1.7'
|
|
216
|
+
type: :development
|
|
217
|
+
prerelease: false
|
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
219
|
+
requirements:
|
|
220
|
+
- - ">="
|
|
221
|
+
- !ruby/object:Gem::Version
|
|
222
|
+
version: '1.7'
|
|
223
|
+
description: Silent ecosystem
|
|
224
|
+
email: opensource@github.com
|
|
225
|
+
executables: []
|
|
226
|
+
extensions: []
|
|
227
|
+
extra_rdoc_files: []
|
|
228
|
+
files:
|
|
229
|
+
- lib/dependabot/silent.rb
|
|
230
|
+
- lib/dependabot/silent/file_fetcher.rb
|
|
231
|
+
- lib/dependabot/silent/file_parser.rb
|
|
232
|
+
- lib/dependabot/silent/file_updater.rb
|
|
233
|
+
- lib/dependabot/silent/requirement.rb
|
|
234
|
+
- lib/dependabot/silent/update_checker.rb
|
|
235
|
+
- lib/dependabot/silent/version.rb
|
|
236
|
+
homepage: https://github.com/dependabot/dependabot-core
|
|
237
|
+
licenses:
|
|
238
|
+
- Nonstandard
|
|
239
|
+
metadata:
|
|
240
|
+
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
241
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.243.0
|
|
242
|
+
post_install_message:
|
|
243
|
+
rdoc_options: []
|
|
244
|
+
require_paths:
|
|
245
|
+
- lib
|
|
246
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
247
|
+
requirements:
|
|
248
|
+
- - ">="
|
|
249
|
+
- !ruby/object:Gem::Version
|
|
250
|
+
version: 3.1.0
|
|
251
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
252
|
+
requirements:
|
|
253
|
+
- - ">="
|
|
254
|
+
- !ruby/object:Gem::Version
|
|
255
|
+
version: 3.1.0
|
|
256
|
+
requirements: []
|
|
257
|
+
rubygems_version: 3.3.26
|
|
258
|
+
signing_key:
|
|
259
|
+
specification_version: 4
|
|
260
|
+
summary: Silent ecosystem
|
|
261
|
+
test_files: []
|