Class: Sbom::PurlType::Converter

Inherits:
Object
  • Object
show all
Defined in:
lib/sbom/purl_type/converter.rb

Constant Summary collapse

PACKAGE_MANAGER_TO_PURL_TYPE_MAP =
{
  'bundler' => 'gem',
  'yarn' => 'npm',
  'npm' => 'npm',
  'pnpm' => 'npm',
  'maven' => 'maven',
  'sbt' => 'maven',
  'gradle' => 'maven',
  'composer' => 'composer',
  'conan' => 'conan',
  'go' => 'golang',
  'gobinary' => 'golang', # this package manager is generated by trivy
  'nuget' => 'nuget',
  'pip' => 'pypi',
  'pipenv' => 'pypi',
  'setuptools' => 'pypi',
  'python-pkg' => 'pypi'  # this package manager is generated by trivy
}.with_indifferent_access.freeze

Class Method Summary collapse

Class Method Details

.purl_type_for_pkg_manager(package_manager) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/sbom/purl_type/converter.rb', line 25

def self.purl_type_for_pkg_manager(package_manager)
  matches = package_manager.match(TRIVY_PACKAGE_MANAGER_REGEX)

  package_manager = matches['trivy-package-manager-type'] if matches

  PACKAGE_MANAGER_TO_PURL_TYPE_MAP[package_manager]
end