class Dependabot::NpmAndYarn::SubDependencyFilesFilterer
Attributes
dependency_files[R]
updated_dependencies[R]
Public Class Methods
new(dependency_files:, updated_dependencies:)
click to toggle source
# File lib/dependabot/npm_and_yarn/sub_dependency_files_filterer.rb, line 14 def initialize(dependency_files:, updated_dependencies:) @dependency_files = dependency_files @updated_dependencies = updated_dependencies end
Public Instance Methods
files_requiring_update()
click to toggle source
# File lib/dependabot/npm_and_yarn/sub_dependency_files_filterer.rb, line 19 def files_requiring_update @files_requiring_update ||= lockfiles.select do |lockfile| lockfile_dependencies(lockfile).any? do |sub_dep| updated_dependencies.any? do |updated_dep| next false unless sub_dep.name == updated_dep.name version_class.new(updated_dep.version) > version_class.new(sub_dep.version) end end end end
Private Instance Methods
lockfile?(file)
click to toggle source
# File lib/dependabot/npm_and_yarn/sub_dependency_files_filterer.rb, line 49 def lockfile?(file) file.name.end_with?( "package-lock.json", "yarn.lock", "npm-shrinkwrap.json" ) end
lockfile_dependencies(lockfile)
click to toggle source
# File lib/dependabot/npm_and_yarn/sub_dependency_files_filterer.rb, line 37 def lockfile_dependencies(lockfile) @lockfile_dependencies ||= {} @lockfile_dependencies[lockfile.name] ||= NpmAndYarn::FileParser::LockfileParser.new( dependency_files: [lockfile] ).parse end
lockfiles()
click to toggle source
# File lib/dependabot/npm_and_yarn/sub_dependency_files_filterer.rb, line 45 def lockfiles dependency_files.select { |file| lockfile?(file) } end
version_class()
click to toggle source
# File lib/dependabot/npm_and_yarn/sub_dependency_files_filterer.rb, line 57 def version_class NpmAndYarn::Version end