fix: PURLs with "nuget" type are dotnet packages (#2466)

Otherwise, Grype won't match on well-formed .NET purls from other SBOM
tools.

Signed-off-by: Will Murphy <will.murphy@anchore.com>
This commit is contained in:
William Murphy 2024-01-03 16:50:42 -05:00 committed by GitHub
parent 0e5fb8e01f
commit 7c67df397e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View file

@ -80,7 +80,7 @@ func LanguageByName(name string) Language {
return Rust
case packageurl.TypePub, string(DartPubPkg), string(Dart):
return Dart
case packageurl.TypeDotnet:
case packageurl.TypeDotnet, packageurl.TypeNuget:
return Dotnet
case packageurl.TypeCocoapods, packageurl.TypeSwift, string(CocoapodsPkg), string(SwiftPkg):
return Swift

View file

@ -38,6 +38,10 @@ func TestLanguageFromPURL(t *testing.T) {
purl: "pkg:dotnet/Microsoft.CodeAnalysis.Razor@2.2.0",
want: Dotnet,
},
{
purl: "pkg:nuget/Newtonsoft.Json@13.0.0",
want: Dotnet,
},
{
purl: "pkg:cargo/clap@2.33.0",
want: Rust,