dependabot-uv 0.387.0 → 0.388.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: 0e349c3717f1c1313ae8c8ffdda0c47958424c03c79d5c02a54940233bce875f
4
- data.tar.gz: a7762b490962b760db62ee1134ccd0134c3f0b2351d49755e437f5f243cc975e
3
+ metadata.gz: fda1b90d861ae8ba886593936b74d7c6172d90067b1f134148a703ca6a75a517
4
+ data.tar.gz: 3c4321de425ebb554694d0fc3636383978a79f9b8c8a4fdda0d29f6d174ca672
5
5
  SHA512:
6
- metadata.gz: 29defe68539a011531569503d466773eb1ef0c62c8af5252f86707d51337d0c2034706b2fbf31adeb87b9c3cb4384054645bf53d593b306db3229a06c9da83f1
7
- data.tar.gz: dcc79395354cf217097e8e158cd5ae57f104d9e635359fb6bc9d192d8bc3d962531eac7f9fd95b9abc14dce523e3f6f8892adb2c26ababf541cd1f38f80cbc73
6
+ metadata.gz: 6bd4784e6ff2ab8c9a18c8824a5dce8d344b55f4b0c924452d441be9d48fdf995c5733cf35a46724da061d78255b0c8ea476eaa09de36002d35883bc4136135d
7
+ data.tar.gz: 3f2d360fd9efb8afd3d23a3d41977763e04e5e193e210f04be6d0f863358a36b4dc824d03b41f1cfa32d86c55b328808fa9f20307b907e2dc65d8f73f779a61c
@@ -22,14 +22,35 @@ module Dependabot
22
22
 
23
23
  # uv.lock is guaranteed to be present when graphing runs - the
24
24
  # dependabot-api EcosystemFileDetector only routes UV jobs when it sees
25
- # a uv.lock in the repo. We override prepare! to parse uv.lock directly
26
- # rather than delegating to FileParser, so the graph reflects only what
27
- # uv actually resolved (no requirements.txt / pyproject.toml inputs).
25
+ # a uv.lock in the repo. We parse uv.lock directly rather than
26
+ # delegating to FileParser, so the graph reflects only what uv resolved.
28
27
  sig { override.void }
29
28
  def prepare!
30
29
  raise DependabotError, "No uv.lock present; uv graphing requires a lockfile." unless uv_lock
31
30
 
32
- parsed = TomlRB.parse(T.must(T.must(uv_lock).content))
31
+ prepare_from_lockfile!
32
+ end
33
+
34
+ private
35
+
36
+ sig { override.params(dependency: Dependabot::Dependency).returns(T::Array[String]) }
37
+ def fetch_subdependencies(dependency)
38
+ dependency_names = @dependencies.map(&:name)
39
+ package_relationships.fetch(dependency.name, []).select { |child| dependency_names.include?(child) }
40
+ end
41
+
42
+ sig { returns(T::Hash[String, T::Array[String]]) }
43
+ def package_relationships
44
+ @package_relationships ||= T.let(
45
+ package_relationships_from_lockfile(T.must(T.must(uv_lock).content)),
46
+ T.nilable(T::Hash[String, T::Array[String]])
47
+ )
48
+ end
49
+
50
+ sig { void }
51
+ def prepare_from_lockfile!
52
+ lockfile = T.must(uv_lock)
53
+ parsed = TomlRB.parse(lockfile.content)
33
54
  packages = T.cast(parsed.fetch("package", []), T::Array[T.untyped])
34
55
  manifest = parsed.fetch("manifest", {})
35
56
 
@@ -40,8 +61,6 @@ module Dependabot
40
61
  build_dependency(pkg, root_names, direct_runtime, direct_dev)
41
62
  end
42
63
  @prepared = true
43
- rescue DependabotError
44
- raise
45
64
  rescue StandardError => e
46
65
  # If uv.lock is unparseable we can't build a graph at all, but we still
47
66
  # want the rest of the submission flow to continue (matching the prior
@@ -54,22 +73,6 @@ module Dependabot
54
73
  @prepared = true
55
74
  end
56
75
 
57
- private
58
-
59
- sig { override.params(dependency: Dependabot::Dependency).returns(T::Array[String]) }
60
- def fetch_subdependencies(dependency)
61
- dependency_names = @dependencies.map(&:name)
62
- package_relationships.fetch(dependency.name, []).select { |child| dependency_names.include?(child) }
63
- end
64
-
65
- sig { returns(T::Hash[String, T::Array[String]]) }
66
- def package_relationships
67
- @package_relationships ||= T.let(
68
- package_relationships_from_lockfile(T.must(T.must(uv_lock).content)),
69
- T.nilable(T::Hash[String, T::Array[String]])
70
- )
71
- end
72
-
73
76
  sig { params(lockfile_content: String).returns(T::Hash[String, T::Array[String]]) }
74
77
  def package_relationships_from_lockfile(lockfile_content)
75
78
  lockfile_packages(lockfile_content).each_with_object({}) do |package_data, rels|
@@ -269,7 +272,8 @@ module Dependabot
269
272
  return @uv_lock if defined?(@uv_lock)
270
273
 
271
274
  @uv_lock = T.let(
272
- dependency_files.find { |f| f.name == "uv.lock" },
275
+ dependency_files.find { |f| f.name == "uv.lock" } ||
276
+ dependency_files.find { |f| f.name.end_with?("/uv.lock") },
273
277
  T.nilable(Dependabot::DependencyFile)
274
278
  )
275
279
  end
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.387.0
4
+ version: 0.388.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.387.0
18
+ version: 0.388.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.387.0
25
+ version: 0.388.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.387.0
32
+ version: 0.388.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.387.0
39
+ version: 0.388.0
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: debug
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -301,7 +301,7 @@ licenses:
301
301
  - MIT
302
302
  metadata:
303
303
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
304
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.387.0
304
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.388.0
305
305
  rdoc_options: []
306
306
  require_paths:
307
307
  - lib