dependabot-uv 0.392.0 → 0.393.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b0b2c86fecd6361c11d682fd96da7135b08179f251f7a524d045824341ccbe9e
|
|
4
|
+
data.tar.gz: df43361f2dd0a76a17da2a6ea510086da7adadbe859d1d91975be7ebe84a61bc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3117ccb8929d12b1caff2b31607e8b459fbb61008495f3f9c5b195e7d4b888cabd0d2b47de2535d130660db0b4fe51fc2aede86b856bcd237d5f3e2eb20da37b
|
|
7
|
+
data.tar.gz: 162286da713782ed33c25c4fcea096c4365edcf219ad4da6bb93812fd64792a569e92e86b3c20d4f8814f10f141b1bf010ba0c3cf44a3c6e553c814e1006aad2
|
|
@@ -277,8 +277,8 @@ module Dependabot
|
|
|
277
277
|
normalized_directory = directory.gsub(%r{(^/|/$)}, "")
|
|
278
278
|
|
|
279
279
|
repo_contents(dir: base_dir, raise_errors: false)
|
|
280
|
-
.select { |file|
|
|
281
|
-
.map { |
|
|
280
|
+
.select { |file| file.type == "dir" }
|
|
281
|
+
.map { |file| file.path.gsub(%r{^/?#{Regexp.escape(normalized_directory)}/?}, "") }
|
|
282
282
|
end
|
|
283
283
|
|
|
284
284
|
sig { params(paths: T::Array[String], pattern: String).returns(T::Array[String]) }
|
|
@@ -276,7 +276,7 @@ module Dependabot
|
|
|
276
276
|
def req_files_for_dir(requirements_dir)
|
|
277
277
|
dir = directory.gsub(%r{(^/|/$)}, "")
|
|
278
278
|
relative_reqs_dir =
|
|
279
|
-
requirements_dir.path
|
|
279
|
+
requirements_dir.path.gsub(%r{^/?#{Regexp.escape(dir)}/?}, "")
|
|
280
280
|
|
|
281
281
|
fetch_requirement_files_from_path(relative_reqs_dir)
|
|
282
282
|
end
|
|
@@ -321,7 +321,7 @@ module Dependabot
|
|
|
321
321
|
sig { returns(T::Array[Dependabot::DependencyFile]) }
|
|
322
322
|
def fetch_requirement_files_from_dirs
|
|
323
323
|
repo_contents
|
|
324
|
-
.select { |f|
|
|
324
|
+
.select { |f| f.type == "dir" }
|
|
325
325
|
.flat_map { |dir| req_files_for_dir(dir) }
|
|
326
326
|
end
|
|
327
327
|
|
|
@@ -333,10 +333,10 @@ module Dependabot
|
|
|
333
333
|
end
|
|
334
334
|
def filter_requirement_files(contents, base_path: nil)
|
|
335
335
|
contents
|
|
336
|
-
.select { |f|
|
|
337
|
-
.select { |f| file_matches_requirement_pattern?(
|
|
338
|
-
.reject { |f|
|
|
339
|
-
.map { |f| fetch_file_with_path(
|
|
336
|
+
.select { |f| f.type == "file" }
|
|
337
|
+
.select { |f| file_matches_requirement_pattern?(f.name) }
|
|
338
|
+
.reject { |f| f.size > MAX_FILE_SIZE }
|
|
339
|
+
.map { |f| fetch_file_with_path(f.name, base_path) }
|
|
340
340
|
.select { |f| T.must(REQUIREMENT_FILE_PATTERNS[:filenames]).include?(f.name) || requirements_file?(f) }
|
|
341
341
|
end
|
|
342
342
|
|
|
@@ -109,7 +109,53 @@ module Dependabot
|
|
|
109
109
|
|
|
110
110
|
sig { returns(T::Array[Dependabot::DependencyFile]) }
|
|
111
111
|
def workspace_member_pyproject_files
|
|
112
|
-
|
|
112
|
+
return [] if workspace_member_patterns.empty?
|
|
113
|
+
|
|
114
|
+
dependency_files.select do |file|
|
|
115
|
+
next false unless file.support_file? && file.name.end_with?("pyproject.toml")
|
|
116
|
+
|
|
117
|
+
workspace_member_file?(file)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Only pyprojects declared under `[tool.uv.workspace].members` in the root
|
|
122
|
+
# manifest are true workspace members whose requirements should be updated.
|
|
123
|
+
# Editable `[tool.uv.sources]` path dependencies are separate packages that
|
|
124
|
+
# are fetched as support files for resolution but must not be modified.
|
|
125
|
+
sig { returns(T::Array[String]) }
|
|
126
|
+
def workspace_member_patterns
|
|
127
|
+
workspace_globs("members")
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# uv removes paths matching `[tool.uv.workspace].exclude` after expanding
|
|
131
|
+
# `members`, so an excluded directory is not a workspace member even when it
|
|
132
|
+
# matches a `members` glob.
|
|
133
|
+
sig { returns(T::Array[String]) }
|
|
134
|
+
def workspace_exclude_patterns
|
|
135
|
+
workspace_globs("exclude")
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
sig { params(key: String).returns(T::Array[String]) }
|
|
139
|
+
def workspace_globs(key)
|
|
140
|
+
return [] unless pyproject
|
|
141
|
+
|
|
142
|
+
globs = parsed_pyproject.dig("tool", "uv", "workspace", key)
|
|
143
|
+
globs.is_a?(Array) ? globs.grep(String) : []
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
sig { params(file: Dependabot::DependencyFile).returns(T::Boolean) }
|
|
147
|
+
def workspace_member_file?(file)
|
|
148
|
+
member_dir = File.dirname(file.name)
|
|
149
|
+
|
|
150
|
+
return false if workspace_exclude_patterns.any? { |pattern| glob_matches_dir?(pattern, member_dir) }
|
|
151
|
+
|
|
152
|
+
workspace_member_patterns.any? { |pattern| glob_matches_dir?(pattern, member_dir) }
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
sig { params(pattern: String, dir: String).returns(T::Boolean) }
|
|
156
|
+
def glob_matches_dir?(pattern, dir)
|
|
157
|
+
normalized_pattern = pattern.gsub(%r{^\./}, "").chomp("/")
|
|
158
|
+
File.fnmatch?(normalized_pattern, dir, File::FNM_PATHNAME)
|
|
113
159
|
end
|
|
114
160
|
|
|
115
161
|
sig { returns(Dependabot::FileParsers::Base::DependencySet) }
|
|
@@ -213,29 +213,6 @@ module Dependabot
|
|
|
213
213
|
)
|
|
214
214
|
end
|
|
215
215
|
|
|
216
|
-
sig { override.returns(T::Boolean) }
|
|
217
|
-
def library?
|
|
218
|
-
return false unless updating_pyproject?
|
|
219
|
-
return false unless library_details
|
|
220
|
-
|
|
221
|
-
return false if T.must(library_details)["name"].nil?
|
|
222
|
-
|
|
223
|
-
# Hit PyPi and check whether there are details for a library with a
|
|
224
|
-
# matching name and description
|
|
225
|
-
index_response = Dependabot::RegistryClient.get(
|
|
226
|
-
url: "https://pypi.org/pypi/#{normalised_name(T.must(library_details)['name'])}/json/"
|
|
227
|
-
)
|
|
228
|
-
|
|
229
|
-
return false unless index_response.status == 200
|
|
230
|
-
|
|
231
|
-
pypi_info = JSON.parse(index_response.body)["info"] || {}
|
|
232
|
-
pypi_info["summary"] == T.must(library_details)["description"]
|
|
233
|
-
rescue Excon::Error::Timeout, Excon::Error::Socket
|
|
234
|
-
false
|
|
235
|
-
rescue URI::InvalidURIError
|
|
236
|
-
false
|
|
237
|
-
end
|
|
238
|
-
|
|
239
216
|
sig { returns(T::Boolean) }
|
|
240
217
|
def updating_pyproject?
|
|
241
218
|
requirement_files.any? { |file| file.end_with?("pyproject.toml") }
|
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.
|
|
4
|
+
version: 0.393.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.
|
|
18
|
+
version: 0.393.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.
|
|
25
|
+
version: 0.393.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.
|
|
32
|
+
version: 0.393.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.
|
|
39
|
+
version: 0.393.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.
|
|
304
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.393.0
|
|
305
305
|
rdoc_options: []
|
|
306
306
|
require_paths:
|
|
307
307
|
- lib
|