dependabot-npm_and_yarn 0.95.82 → 0.95.83

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c04fb2ba7f2632dc8159cf2be99f24d4f949a7a8dfbc6738d551cc2c2b6020f
4
- data.tar.gz: c04b1c58c497c4b4a28b3de57325d589d73a8be3db5283ce7c2d01945d66822c
3
+ metadata.gz: a872d462e943cd40480ea3242735c9cc9a95cc833050d30922d7dd5c5b3fe8af
4
+ data.tar.gz: e37c32ae14918bfd96a7a29d032dcf9e1732f6d2be6dd730554d0bf2f843103f
5
5
  SHA512:
6
- metadata.gz: 80211607d26b0716d20d8139507facfbcd30dee333b929c3161c9693b58e457b02befdcd551815a51505389b17b7ddbab964d4912715c62ec7026820f0d4880e
7
- data.tar.gz: a3140e211477be1ab3e83cd22fec142efc6e5ae4b1182fa621cb6b5751a963c359ee3fb7425a7063f30bc495dc7af19a9c3a60a1fc3f6be8ab5bf0ae149fe0c0
6
+ metadata.gz: 443f6b6fb7053a54d9a434c4dbfc7d26f4feca3cf0a8e293c66e17a1e81742a3660b4ac3cceeb1194c88ab07fa7546ff15afe82fb9fe67046ff277dd5f1f4c5f
7
+ data.tar.gz: 60b7d6668ec95bb4dcc40d015ba91c889fa4f0dd6bf742e4b7fe0487627e7acfe499288b3d039fe8a059ee55d03c412340eaf25b3a9b657ee0e6e2b44a5a1277
@@ -8,6 +8,8 @@ require "dependabot/file_parsers/base"
8
8
  require "dependabot/shared_helpers"
9
9
  require "dependabot/npm_and_yarn/native_helpers"
10
10
  require "dependabot/npm_and_yarn/version"
11
+ require "dependabot/git_metadata_fetcher"
12
+ require "dependabot/git_commit_checker"
11
13
  require "dependabot/errors"
12
14
 
13
15
  module Dependabot
@@ -151,8 +153,11 @@ module Dependabot
151
153
 
152
154
  def version_for(name, requirement)
153
155
  if git_url_with_semver?(requirement)
154
- semver_version_for(name, requirement) ||
155
- git_revision_for(name, requirement)
156
+ semver_version = semver_version_for(name, requirement)
157
+ return semver_version if semver_version
158
+
159
+ git_revision = git_revision_for(name, requirement)
160
+ version_from_git_revision(requirement, git_revision) || git_revision
156
161
  elsif git_url?(requirement)
157
162
  git_revision_for(name, requirement)
158
163
  else
@@ -180,6 +185,29 @@ module Dependabot
180
185
  nil
181
186
  end
182
187
 
188
+ def version_from_git_revision(requirement, git_revision)
189
+ tags =
190
+ Dependabot::GitMetadataFetcher.new(
191
+ url: git_source_for(requirement).fetch(:url),
192
+ credentials: credentials
193
+ ).tags.
194
+ select { |t| [t.commit_sha, t.tag_sha].include?(git_revision) }
195
+
196
+ tags.each do |t|
197
+ next unless t.name.match?(Dependabot::GitCommitChecker::VERSION_REGEX)
198
+
199
+ version = t.name.match(Dependabot::GitCommitChecker::VERSION_REGEX).
200
+ named_captures.fetch("version")
201
+ next unless NpmAndYarn::Version.correct?(version)
202
+
203
+ return version
204
+ end
205
+
206
+ nil
207
+ rescue Dependabot::GitDependenciesNotReachable
208
+ nil
209
+ end
210
+
183
211
  def semver_version_for(name, requirement)
184
212
  lock_version = lockfile_parser.lockfile_details(
185
213
  dependency_name: name,
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.95.82
4
+ version: 0.95.83
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.95.82
19
+ version: 0.95.83
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.95.82
26
+ version: 0.95.83
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement