dependabot-uv 0.365.0 → 0.366.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: 6240bab6f9752f6e33cac15a9334ee0af6e9dc6b0ab055970dd45dec7ecec3ce
4
- data.tar.gz: dbb9a819d19fc1aae22864f589b90384bf76e2401ec7c07bc1961cb2094c6c62
3
+ metadata.gz: 6a921263a8493134f2d7e6670d06844e9f4f232f2e5afc2c76908bab64df9101
4
+ data.tar.gz: 8fa028c9a8b1184935ed65002de04664dbdccc85249abee4e1e8477b59fac9ee
5
5
  SHA512:
6
- metadata.gz: 33e3cb465420e534eb6137515ef2fa43a5fe2bbd370a99e39f24efe39bfdb81b0fc092ff8e26e2a94b6618fb5c0be99015d5a93f0c7225fc8db74885c0abfdbb
7
- data.tar.gz: 1bc5d384e74eb79a58dc5a302ed8f004b36ffbb16adf2330aa50eacd7802cdbeebeeb5c2b0c00f2b9fe95ef262d4d39c3b82a4c57d214d4f8121e94ea9f5fda0
6
+ metadata.gz: d42c942af66f282f399afff0125dda633772d2283932b900f4ac2521fbcd018b78de4b3d0ef41c6cf829572ca3eab0d17c09da9394b91620fb6cea7352468f95
7
+ data.tar.gz: b5d1fd02a5c9bfbdfeac365d307482719514464de17e1519dede2283da2b3e3fd9179b54dcf216ca823a7de810fe60818cae398a93ca7d36ae22b75daab4d3c5
@@ -6,6 +6,7 @@ require "sorbet-runtime"
6
6
  require "dependabot/dependency_graphers"
7
7
  require "dependabot/dependency_graphers/base"
8
8
  require "dependabot/uv/file_parser"
9
+ require "dependabot/uv/name_normaliser"
9
10
  require "toml-rb"
10
11
 
11
12
  module Dependabot
@@ -170,6 +171,13 @@ module Dependabot
170
171
  "pypi"
171
172
  end
172
173
 
174
+ # Strip extras (e.g. "[filecache]") from the dependency name for PURLs,
175
+ # since the PURL should reference the base package only.
176
+ sig { override.params(dependency: Dependabot::Dependency).returns(String) }
177
+ def purl_name_for(dependency)
178
+ NameNormaliser.normalise(dependency.name)
179
+ end
180
+
173
181
  sig { returns(T.nilable(Dependabot::DependencyFile)) }
174
182
  def pyproject_toml
175
183
  return @pyproject_toml if defined?(@pyproject_toml)
@@ -64,6 +64,11 @@ module Dependabot
64
64
  /Failed to parse:?\s*`?(?<file>[^`\n]+\.toml)`?|TOML parse error/i,
65
65
  Regexp
66
66
  )
67
+ # uv prefixes errors with interpreter info that should be stripped
68
+ USING_CPYTHON_LINE_REGEX = T.let(
69
+ /\AUsing CPython \S+ interpreter at: [^\n]+\n?/,
70
+ Regexp
71
+ )
67
72
  PYPROJECT_SCHEMA_ERROR_REGEX = T.let(
68
73
  /missing field `project`|missing.*\[project\].*table|Field `project\.name` is required/i,
69
74
  Regexp
@@ -110,6 +115,7 @@ module Dependabot
110
115
  handle_python_version_errors(message)
111
116
  handle_resource_errors(message)
112
117
  handle_package_not_found_errors(message)
118
+ handle_uv_fallback_error(message)
113
119
 
114
120
  raise error
115
121
  end
@@ -293,6 +299,13 @@ module Dependabot
293
299
  raise Dependabot::DependencyFileNotResolvable, clean_error_message(message)
294
300
  end
295
301
 
302
+ sig { params(message: String).void }
303
+ def handle_uv_fallback_error(message)
304
+ return unless message.match?(USING_CPYTHON_LINE_REGEX)
305
+
306
+ raise Dependabot::DependencyFileNotResolvable, clean_error_message(message)
307
+ end
308
+
296
309
  sig { params(match: T.untyped).returns(T.nilable(String)) }
297
310
  def extract_match_string(match)
298
311
  return nil unless match
@@ -311,6 +324,7 @@ module Dependabot
311
324
  sig { params(message: String).returns(String) }
312
325
  def clean_error_message(message)
313
326
  message
327
+ .sub(USING_CPYTHON_LINE_REGEX, "")
314
328
  .gsub(/#{Regexp.escape(Utils::BUMP_TMP_DIR_PATH)}[^\s]*/o, "")
315
329
  .lines
316
330
  .reject { |line| line.strip.empty? }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-uv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.365.0
4
+ version: 0.366.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,28 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.365.0
18
+ version: 0.366.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.365.0
25
+ version: 0.366.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: dependabot-python
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - '='
31
31
  - !ruby/object:Gem::Version
32
- version: 0.365.0
32
+ version: 0.366.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.365.0
39
+ version: 0.366.0
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: debug
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -300,7 +300,7 @@ licenses:
300
300
  - MIT
301
301
  metadata:
302
302
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
303
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.365.0
303
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.366.0
304
304
  rdoc_options: []
305
305
  require_paths:
306
306
  - lib