dependabot-common 0.113.15 → 0.113.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dependabot/file_fetchers/README.md +2 -2
- data/lib/dependabot/pull_request_creator/codecommit.rb +1 -1
- data/lib/dependabot/pull_request_creator/labeler.rb +2 -2
- data/lib/dependabot/pull_request_creator/message_builder/link_and_mention_sanitizer.rb +18 -1
- data/lib/dependabot/security_advisory.rb +1 -1
- data/lib/dependabot/shared_helpers.rb +1 -1
- data/lib/dependabot/update_checkers/README.md +1 -1
- data/lib/dependabot/update_checkers/base.rb +1 -1
- data/lib/dependabot/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e51134b9f6488cdad48fbfff83ec0642a6df80da5f000e782f8ce44bbe973adc
|
4
|
+
data.tar.gz: 3fc89575e2b712cc515d73868f41c633ed37df4b8ce15c2cd22d00d7b855c501
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6adc93e6d3b9d6d757c8da7bd7103aaa878eeb86878fe45b3a99ac109317fce006bf7958bb0719d50a04ca4cb1ff3f8290cf59ef158138c51ae3ebb009bd7762
|
7
|
+
data.tar.gz: a5f5b3c0316cee3dd602a7500f2bedc1abe63d3351cad8f9ba734bd280d6f7380980cda0f82aad1e25cfae8908ae9245b6fcdcb77f38c934482d5336095ddef8
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
File fetchers are used to fetch the relevant dependency files for a project
|
4
4
|
(e.g., the `Gemfile` and `Gemfile.lock`). They are also responsible for checking
|
5
|
-
whether a repo has an
|
5
|
+
whether a repo has an admissible set of requirement files.
|
6
6
|
|
7
7
|
There is a `Dependabot::FileFetchers` class for each language Dependabot
|
8
8
|
supports.
|
@@ -60,6 +60,6 @@ fetcher.
|
|
60
60
|
File fetchers tend to get complicated when the file requirements for an update
|
61
61
|
to run are non-trivial - for example, for Ruby we could accept
|
62
62
|
[`Gemfile`, `Gemfile.lock`] or [`Gemfile`, `example.gemspec`],
|
63
|
-
but not just [`Gemfile.lock`]. When adding a new
|
63
|
+
but not just [`Gemfile.lock`]. When adding a new language, it's normally easiest
|
64
64
|
to pick a single case and implement it for all the update steps (parsing, update
|
65
65
|
checking, etc.). You can then return and add other cases later.
|
@@ -94,7 +94,7 @@ module Dependabot
|
|
94
94
|
def update_type
|
95
95
|
return unless dependencies.any?(&:previous_version)
|
96
96
|
|
97
|
-
|
97
|
+
precision = dependencies.map do |dep|
|
98
98
|
new_version_parts = version(dep).split(".")
|
99
99
|
old_version_parts = previous_version(dep)&.split(".") || []
|
100
100
|
all_parts = new_version_parts.first(3) + old_version_parts.first(3)
|
@@ -105,7 +105,7 @@ module Dependabot
|
|
105
105
|
3
|
106
106
|
end.min
|
107
107
|
|
108
|
-
case
|
108
|
+
case precision
|
109
109
|
when 0 then "non-semver"
|
110
110
|
when 1 then "major"
|
111
111
|
when 2 then "minor"
|
@@ -13,7 +13,24 @@ module Dependabot
|
|
13
13
|
github\.com/(?<repo>#{GITHUB_USERNAME}/[^/\s]+)/
|
14
14
|
(?:issue|pull)s?/(?<number>\d+)
|
15
15
|
}x.freeze
|
16
|
-
|
16
|
+
# rubocop:disable Metrics/LineLength
|
17
|
+
# Context:
|
18
|
+
# - https://github.github.com/gfm/#fenced-code-block (``` or ~~~)
|
19
|
+
# (?<=\n|^) Positive look-behind to ensure we start at a line start
|
20
|
+
# (?>`{3,}|~{3,}) Atomic group marking the beginning of the block (3 or more chars)
|
21
|
+
# (?>\k<fenceopen>) Atomic group marking the end of the code block (same length as opening)
|
22
|
+
# - https://github.github.com/gfm/#code-span
|
23
|
+
# (?<codespanopen>`+) Capturing group marking the beginning of the span (1 or more chars)
|
24
|
+
# (?![^`]*?\n{2,}) Negative look-ahead to avoid empty lines inside code span
|
25
|
+
# (?:.|\n)*? Non-capturing group to consume code span content (non-eager)
|
26
|
+
# (?>\k<codespanopen>) Atomic group marking the end of the code span (same length as opening)
|
27
|
+
# rubocop:enable Metrics/LineLength
|
28
|
+
CODEBLOCK_REGEX = /
|
29
|
+
# fenced code block
|
30
|
+
(?<=\n|^)(?<fenceopen>(?>`{3,}|~{3,})).*?(?>\k<fenceopen>)|
|
31
|
+
# code span
|
32
|
+
(?<codespanopen>`+)(?![^`]*?\n{2,})(?:.|\n)*?(?>\k<codespanopen>)
|
33
|
+
/xm.freeze
|
17
34
|
# End of string
|
18
35
|
EOS_REGEX = /\z/.freeze
|
19
36
|
|
@@ -39,7 +39,7 @@ module Dependabot
|
|
39
39
|
return false if vulnerable_versions.any?
|
40
40
|
|
41
41
|
# Finally, if no vulnerable range provided, but a safe range provided,
|
42
|
-
# and this versions isn't included (checked
|
42
|
+
# and this versions isn't included (checked earlier), it's vulnerable
|
43
43
|
safe_versions.any?
|
44
44
|
end
|
45
45
|
|
@@ -170,7 +170,7 @@ module Dependabot
|
|
170
170
|
def self.configure_git_credentials(credentials)
|
171
171
|
# Then add a file-based credential store that loads a file in this repo.
|
172
172
|
# Under the hood this uses git credential-store, but it's invoked through
|
173
|
-
#
|
173
|
+
# a wrapper binary that only allows non-mutating commands. Without this,
|
174
174
|
# whenever the credentials are deemed to be invalid, they're erased.
|
175
175
|
credential_helper_path =
|
176
176
|
File.join(__dir__, "../../bin/git-credential-store-immutable")
|
@@ -14,7 +14,7 @@ Each `Dependabot::UpdateCheckers` class implements the following methods:
|
|
14
14
|
|------------------------------|-----------------------------------------------------------------------------------------------|
|
15
15
|
| `#up_to_date?` | Returns a boolean for whether the dependency this instance was created with is currently at the latest version. |
|
16
16
|
| `#can_update?` | Returns a boolean for whether the dependency this instance was created with needs updating. This will be true if the dependency and/or its requirements can be updated to support a newer version whilst keeping the dependency files it came from resolvable. |
|
17
|
-
| `#updated_dependencies` | Returns an array of updated `Dependabot::Dependency` instance with updated `version` and `requirements` attributes. The previous
|
17
|
+
| `#updated_dependencies` | Returns an array of updated `Dependabot::Dependency` instance with updated `version` and `requirements` attributes. The previous values are stored on the instance as `previous_version` and `previous_requirements`. |
|
18
18
|
| `#latest_version` | See the "Writing an update checker" section. |
|
19
19
|
| `#latest_resolvable_version` | See the "Writing an update checker" section. |
|
20
20
|
| `#updated_requirements` | See the "Writing an update checker" section. |
|
@@ -208,7 +208,7 @@ module Dependabot
|
|
208
208
|
|
209
209
|
# If a lockfile isn't out of date and the package has switched to a git
|
210
210
|
# source then we'll get a numeric version switching to a git SHA. In
|
211
|
-
# this case we treat the
|
211
|
+
# this case we treat the version as up-to-date so that it's ignored.
|
212
212
|
return true if latest_version.to_s.match?(/^[0-9a-f]{40}$/)
|
213
213
|
|
214
214
|
latest_version <= version_class.new(dependency.version)
|
data/lib/dependabot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.113.
|
4
|
+
version: 0.113.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-codecommit
|