Skip to content

Commit 63552ff

Browse files
authored
Merge pull request #42 from RHEcosystemAppEng/hotfix/fix-wrong-purl
fix: purl of components in sbom sometimes wrongly shows [Object Object]
2 parents bc1ea9e + d845e42 commit 63552ff

File tree

2 files changed

+38
-68
lines changed

2 files changed

+38
-68
lines changed

src/cyclone_dx_sbom.js

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import {PackageURL} from "packageurl-js";
2+
13
/**
24
*
35
* @param component {PackageURL}
@@ -7,25 +9,32 @@
79
*/
810
function getComponent(component,type) {
911
let componentObject;
10-
if(component.namespace) {
11-
componentObject = {
12-
"group": component.namespace,
13-
"name": component.name,
14-
"version": component.version,
15-
"purl": component.toString(),
16-
"type": type,
17-
"bom-ref": component.toString()
12+
if(component instanceof PackageURL)
13+
{
14+
if(component.namespace) {
15+
componentObject = {
16+
"group": component.namespace,
17+
"name": component.name,
18+
"version": component.version,
19+
"purl": component.toString(),
20+
"type": type,
21+
"bom-ref": component.toString()
22+
}
23+
}
24+
else
25+
{
26+
componentObject = {
27+
"name": component.name,
28+
"version": component.version,
29+
"purl": component.toString(),
30+
"type": type,
31+
"bom-ref": component.toString()
32+
}
1833
}
1934
}
2035
else
2136
{
22-
componentObject = {
23-
"name": component.name,
24-
"version": component.version,
25-
"purl": component.toString(),
26-
"type": type,
27-
"bom-ref": component.toString()
28-
}
37+
componentObject = component
2938
}
3039
return componentObject
3140
}
@@ -76,7 +85,7 @@ export default class CycloneDxSbom {
7685
}
7786

7887
/**
79-
* @param {Component} sourceRef current target Component ( Starting from root component by clients)
88+
* @param {component} sourceRef current target Component ( Starting from root component by clients)
8089
* @param {PackageURL} targetRef current dependency to add to Dependencies list of component sourceRef
8190
* @return Sbom
8291
*/
@@ -139,7 +148,7 @@ export default class CycloneDxSbom {
139148

140149
/**
141150
*
142-
* @param {Component} theComponent - Component Object with purl field.
151+
* @param {component} theComponent - Component Object with purl field.
143152
* @return {int} index of the found component entry, if not found returns -1.
144153
* @private
145154
*/

test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_stack_analysis.json

Lines changed: 12 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,25 +1191,28 @@
11911191
"bom-ref": "pkg:golang/golang.org/x/[email protected]"
11921192
},
11931193
{
1194+
"group": "github.com/kr",
11941195
"name": "pretty",
11951196
"version": "v0.2.0",
1196-
"purl": "[object Object]",
1197+
"purl": "pkg:golang/github.com/kr/[email protected]",
11971198
"type": "library",
1198-
"bom-ref": "[object Object]"
1199+
"bom-ref": "pkg:golang/github.com/kr/[email protected]"
11991200
},
12001201
{
1202+
"group": "github.com/stoewer",
12011203
"name": "go-strcase",
12021204
"version": "v1.2.0",
1203-
"purl": "[object Object]",
1205+
"purl": "pkg:golang/github.com/stoewer/[email protected]",
12041206
"type": "library",
1205-
"bom-ref": "[object Object]"
1207+
"bom-ref": "pkg:golang/github.com/stoewer/[email protected]"
12061208
},
12071209
{
1210+
"group": "golang.org/x",
12081211
"name": "tools",
12091212
"version": "v0.0.0-20190524140312-2c0ae7006135",
1210-
"purl": "[object Object]",
1213+
"purl": "pkg:golang/golang.org/x/[email protected]",
12111214
"type": "library",
1212-
"bom-ref": "[object Object]"
1215+
"bom-ref": "pkg:golang/golang.org/x/[email protected]"
12131216
},
12141217
{
12151218
"group": "golang.org/x",
@@ -1219,13 +1222,6 @@
12191222
"type": "library",
12201223
"bom-ref": "pkg:golang/golang.org/x/[email protected]"
12211224
},
1222-
{
1223-
"name": "tools",
1224-
"version": "v0.0.0-20190524140312-2c0ae7006135",
1225-
"purl": "[object Object]",
1226-
"type": "library",
1227-
"bom-ref": "[object Object]"
1228-
},
12291225
{
12301226
"group": "golang.org/x",
12311227
"name": "sync",
@@ -1235,11 +1231,12 @@
12351231
"bom-ref": "pkg:golang/golang.org/x/[email protected]"
12361232
},
12371233
{
1234+
"group": "google.golang.org",
12381235
"name": "genproto",
12391236
"version": "v0.0.0-20201019141844-1ed22bb0c154",
1240-
"purl": "[object Object]",
1237+
"purl": "pkg:golang/google.golang.org/[email protected]",
12411238
"type": "library",
1242-
"bom-ref": "[object Object]"
1239+
"bom-ref": "pkg:golang/google.golang.org/[email protected]"
12431240
},
12441241
{
12451242
"group": "github.com/golang",
@@ -1249,13 +1246,6 @@
12491246
"type": "library",
12501247
"bom-ref": "pkg:golang/github.com/golang/[email protected]"
12511248
},
1252-
{
1253-
"name": "genproto",
1254-
"version": "v0.0.0-20201019141844-1ed22bb0c154",
1255-
"purl": "[object Object]",
1256-
"type": "library",
1257-
"bom-ref": "[object Object]"
1258-
},
12591249
{
12601250
"group": "golang.org/x",
12611251
"name": "lint",
@@ -1264,28 +1254,6 @@
12641254
"type": "library",
12651255
"bom-ref": "pkg:golang/golang.org/x/[email protected]"
12661256
},
1267-
{
1268-
"name": "genproto",
1269-
"version": "v0.0.0-20201019141844-1ed22bb0c154",
1270-
"purl": "[object Object]",
1271-
"type": "library",
1272-
"bom-ref": "[object Object]"
1273-
},
1274-
{
1275-
"group": "golang.org/x",
1276-
"name": "tools",
1277-
"version": "v0.0.0-20190524140312-2c0ae7006135",
1278-
"purl": "pkg:golang/golang.org/x/[email protected]",
1279-
"type": "library",
1280-
"bom-ref": "pkg:golang/golang.org/x/[email protected]"
1281-
},
1282-
{
1283-
"name": "genproto",
1284-
"version": "v0.0.0-20201019141844-1ed22bb0c154",
1285-
"purl": "[object Object]",
1286-
"type": "library",
1287-
"bom-ref": "[object Object]"
1288-
},
12891257
{
12901258
"group": "google.golang.org",
12911259
"name": "grpc",
@@ -1294,13 +1262,6 @@
12941262
"type": "library",
12951263
"bom-ref": "pkg:golang/google.golang.org/[email protected]"
12961264
},
1297-
{
1298-
"name": "genproto",
1299-
"version": "v0.0.0-20201019141844-1ed22bb0c154",
1300-
"purl": "[object Object]",
1301-
"type": "library",
1302-
"bom-ref": "[object Object]"
1303-
},
13041265
{
13051266
"group": "google.golang.org",
13061267
"name": "protobuf",

0 commit comments

Comments
 (0)