dependabot-common 0.234.0 → 0.235.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: 621688a92a0526cbe086c2fe30d824e0827ba4d98f7a7f4218560f80311579a2
4
- data.tar.gz: 9643f1ea4eb456787c3b6db3962e0c5fe67cb793fff44415be1b4c6d1f6d79c0
3
+ metadata.gz: 0b22cec48025b20921f000f63975cfc9db22dac670fa8ef6710fda754c288f68
4
+ data.tar.gz: 901b6246fde924caa2adfdcba0bc19dbd86833133c6cf951967024b656f68918
5
5
  SHA512:
6
- metadata.gz: a3461d4923d3826280c52e4ddbb936e55ec13e2f1d448b8a99b66a2f0d6996a5db592f06810084b8f8a9795c1d4d7070d40f24bbe3e444b1563ac61cc58cd35f
7
- data.tar.gz: 9903829aa7321ee5c3f7840a62bc32baa9c6be48d3b4ad682c939b65a78d965d7ff0c6eefbe683a868b4af945aeb204d12c8c4a908fe9f597346a4ff08a4d6ce
6
+ metadata.gz: 819445f789764166001ff2f6ce532e6bd60ecb1a644eb4bb20ec00a15c433c58608af56e3c75bbccba479c2f6b81fd415298083f9d4e74c24ba382881a35280c
7
+ data.tar.gz: 3b5f7aa169756240055ded3136f8daae04cc52129a42f0566eddc90232a302427b889ef512534f5e865609d7a7ba526f82deb7cea2b59138c4533e61fa01971a
@@ -5,7 +5,7 @@ require "dependabot/utils"
5
5
 
6
6
  module Dependabot
7
7
  class DependabotError < StandardError
8
- BASIC_AUTH_REGEX = %r{://(?<auth>[^:]*:[^@%\s]+(@|%40))}
8
+ BASIC_AUTH_REGEX = %r{://(?<auth>[^:@]*:[^@%\s/]+(@|%40))}
9
9
  # Remove any path segment from fury.io sources
10
10
  FURY_IO_PATH_REGEX = %r{fury\.io/(?<path>.+)}
11
11
 
@@ -54,6 +54,15 @@ module Dependabot
54
54
  # Repo level errors #
55
55
  #####################
56
56
 
57
+ class DirectoryNotFound < DependabotError
58
+ attr_reader :directory_name
59
+
60
+ def initialize(directory_name, msg = nil)
61
+ @directory_name = directory_name
62
+ super(msg)
63
+ end
64
+ end
65
+
57
66
  class BranchNotFound < DependabotError
58
67
  attr_reader :branch_name
59
68
 
@@ -194,7 +194,7 @@ module Dependabot
194
194
  def repo_contents(dir: ".", ignore_base_directory: false,
195
195
  raise_errors: true, fetch_submodules: false)
196
196
  dir = File.join(directory, dir) unless ignore_base_directory
197
- path = Pathname.new(File.join(dir)).cleanpath.to_path.gsub(%r{^/*}, "")
197
+ path = Pathname.new(dir).cleanpath.to_path.gsub(%r{^/*}, "")
198
198
 
199
199
  @repo_contents ||= {}
200
200
  @repo_contents[dir] ||= if repo_contents_path
@@ -309,6 +309,8 @@ module Dependabot
309
309
 
310
310
  _fetch_repo_contents_fully_specified(provider, repo, tmp_path, commit)
311
311
  rescue *CLIENT_NOT_FOUND_ERRORS
312
+ raise Dependabot::DirectoryNotFound, directory if path == directory.gsub(%r{^/*}, "")
313
+
312
314
  result = raise_errors ? -> { raise } : -> { [] }
313
315
  retrying ||= false
314
316
 
@@ -1,18 +1,45 @@
1
- # typed: true
1
+ # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "sorbet-runtime"
5
+
4
6
  module Dependabot
5
7
  module FileUpdaters
6
8
  class Base
7
- attr_reader :dependencies, :dependency_files, :repo_contents_path,
8
- :credentials, :options
9
+ extend T::Sig
10
+ extend T::Helpers
11
+ abstract!
12
+
13
+ sig { returns(T::Array[Dependabot::Dependency]) }
14
+ attr_reader :dependencies
15
+
16
+ sig { returns(T::Array[Dependabot::DependencyFile]) }
17
+ attr_reader :dependency_files
18
+
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :repo_contents_path
9
21
 
22
+ sig { returns(T::Array[T::Hash[String, String]]) }
23
+ attr_reader :credentials
24
+
25
+ sig { returns(T::Hash[Symbol, T.untyped]) }
26
+ attr_reader :options
27
+
28
+ sig { overridable.returns(String) }
10
29
  def self.updated_files_regex
11
30
  raise NotImplementedError
12
31
  end
13
32
 
14
- def initialize(dependencies:, dependency_files:, repo_contents_path: nil,
15
- credentials:, options: {})
33
+ sig do
34
+ params(
35
+ dependencies: T::Array[Dependabot::Dependency],
36
+ dependency_files: T::Array[Dependabot::DependencyFile],
37
+ credentials: T::Array[T::Hash[String, String]],
38
+ repo_contents_path: T.nilable(String),
39
+ options: T::Hash[Symbol, T.untyped]
40
+ ).void
41
+ end
42
+ def initialize(dependencies:, dependency_files:, credentials:, repo_contents_path: nil, options: {})
16
43
  @dependencies = dependencies
17
44
  @dependency_files = dependency_files
18
45
  @repo_contents_path = repo_contents_path
@@ -22,31 +49,36 @@ module Dependabot
22
49
  check_required_files
23
50
  end
24
51
 
52
+ sig { overridable.returns(T::Array[::Dependabot::DependencyFile]) }
25
53
  def updated_dependency_files
26
54
  raise NotImplementedError
27
55
  end
28
56
 
29
57
  private
30
58
 
59
+ sig { overridable.void }
31
60
  def check_required_files
32
61
  raise NotImplementedError
33
62
  end
34
63
 
64
+ sig { params(filename: String).returns(T.nilable(Dependabot::DependencyFile)) }
35
65
  def get_original_file(filename)
36
66
  dependency_files.find { |f| f.name == filename }
37
67
  end
38
68
 
69
+ sig { params(file: Dependabot::DependencyFile).returns(T::Boolean) }
39
70
  def file_changed?(file)
40
71
  dependencies.any? { |dep| requirement_changed?(file, dep) }
41
72
  end
42
73
 
74
+ sig { params(file: Dependabot::DependencyFile, dependency: Dependabot::Dependency).returns(T::Boolean) }
43
75
  def requirement_changed?(file, dependency)
44
- changed_requirements =
45
- dependency.requirements - dependency.previous_requirements
76
+ changed_requirements = dependency.requirements - dependency.previous_requirements
46
77
 
47
78
  changed_requirements.any? { |f| f[:file] == file.name }
48
79
  end
49
80
 
81
+ sig { params(file: Dependabot::DependencyFile, content: String).returns(Dependabot::DependencyFile) }
50
82
  def updated_file(file:, content:)
51
83
  updated_file = file.dup
52
84
  updated_file.content = content
data/lib/dependabot.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Dependabot
5
- VERSION = "0.234.0"
5
+ VERSION = "0.235.0"
6
6
  end
@@ -1,6 +1,8 @@
1
1
  # typed: strong
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "sorbet-runtime"
5
+
4
6
  class WildcardMatcher
5
7
  extend T::Sig
6
8
 
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.234.0
4
+ version: 0.235.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-12 00:00:00.000000000 Z
11
+ date: 2023-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-codecommit
@@ -514,7 +514,7 @@ licenses:
514
514
  - Nonstandard
515
515
  metadata:
516
516
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
517
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.234.0
517
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.235.0
518
518
  post_install_message:
519
519
  rdoc_options: []
520
520
  require_paths: