Class: Dependabot::Bun::UpdateChecker::ConflictingDependencyResolver

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/bun/update_checker/conflicting_dependency_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(dependency_files:, credentials:) ⇒ ConflictingDependencyResolver

Returns a new instance of ConflictingDependencyResolver.



29
30
31
32
# File 'lib/dependabot/bun/update_checker/conflicting_dependency_resolver.rb', line 29

def initialize(dependency_files:, credentials:)
  @dependency_files = dependency_files
  @credentials = credentials
end

Instance Method Details

#conflicting_dependencies(dependency:, target_version:) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/dependabot/bun/update_checker/conflicting_dependency_resolver.rb', line 51

def conflicting_dependencies(dependency:, target_version:)
  SharedHelpers.in_a_temporary_directory do
    dependency_files_builder = DependencyFilesBuilder.new(
      dependency: dependency,
      dependency_files: dependency_files,
      credentials: credentials
    )
    dependency_files_builder.write_temporary_dependency_files

    T.cast(
      SharedHelpers.run_helper_subprocess(
        command: NativeHelpers.helper_path,
        function: "yarn:findConflictingDependencies",
        args: [Dir.pwd, dependency.name, target_version.to_s]
      ),
      T::Array[T::Hash[String, String]]
    )
  end
rescue SharedHelpers::HelperSubprocessFailed
  []
end