Class: Dependabot::Bun::UpdateChecker::DependencyFilesBuilder

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

Instance Method Summary collapse

Constructor Details

#initialize(dependency:, dependency_files:, credentials:) ⇒ DependencyFilesBuilder

Returns a new instance of DependencyFilesBuilder.



23
24
25
26
27
# File 'lib/dependabot/bun/update_checker/dependency_files_builder.rb', line 23

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

Instance Method Details

#bun_locksObject



43
44
45
46
47
48
49
# File 'lib/dependabot/bun/update_checker/dependency_files_builder.rb', line 43

def bun_locks
  @bun_locks ||= T.let(
    dependency_files
    .select { |f| f.name.end_with?("bun.lock") },
    T.nilable(T::Array[Dependabot::DependencyFile])
  )
end

#lockfilesObject



61
62
63
# File 'lib/dependabot/bun/update_checker/dependency_files_builder.rb', line 61

def lockfiles
  [*bun_locks]
end

#package_filesObject



66
67
68
69
70
71
72
# File 'lib/dependabot/bun/update_checker/dependency_files_builder.rb', line 66

def package_files
  @package_files ||= T.let(
    dependency_files
    .select { |f| f.name.end_with?("package.json") },
    T.nilable(T::Array[Dependabot::DependencyFile])
  )
end

#root_bun_lockObject



52
53
54
55
56
57
58
# File 'lib/dependabot/bun/update_checker/dependency_files_builder.rb', line 52

def root_bun_lock
  @root_bun_lock ||= T.let(
    dependency_files
    .find { |f| f.name == "bun.lock" },
    T.nilable(Dependabot::DependencyFile)
  )
end

#write_temporary_dependency_filesObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/dependabot/bun/update_checker/dependency_files_builder.rb', line 30

def write_temporary_dependency_files
  write_lockfiles

  File.write(".npmrc", npmrc_content)

  package_files.each do |file|
    path = file.name
    FileUtils.mkdir_p(Pathname.new(path).dirname)
    File.write(file.name, prepared_package_json_content(file))
  end
end