Skip to content

Commit 409fb20

Browse files
authored
Merge pull request #150 from snyk/feature/retain-purls-in-tree-2
fix(legacy): retain purl information when converting from graph to tree
2 parents c9a520f + 54bc6f7 commit 409fb20

3 files changed

Lines changed: 29 additions & 0 deletions

File tree

src/legacy/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,9 @@ async function buildSubtree(
325325
const depTree: DepTree = {};
326326
depTree.name = nodePkg.name;
327327
depTree.version = nodePkg.version;
328+
if (nodePkg.purl) {
329+
depTree.purl = nodePkg.purl;
330+
}
328331
if (nodeInfo.versionProvenance) {
329332
depTree.versionProvenance = nodeInfo.versionProvenance;
330333
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "github.com/example/project",
3+
"version": "0.0.0",
4+
"packageFormatVersion": "gomodules:0.0.1",
5+
"purl": "pkg:golang/github.com/example/project@0.0.0",
6+
"dependencies": {
7+
"github.com/aws/aws-sdk-go": {
8+
"name": "github.com/aws/aws-sdk-go",
9+
"version": "1.29.4",
10+
"purl": "pkg:golang/github.com/aws/aws-sdk-go@v1.29.4",
11+
"dependencies": {
12+
"github.com/jmespath/go-jmespath": {
13+
"name": "github.com/jmespath/go-jmespath",
14+
"version": "0.4.0",
15+
"purl": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0"
16+
}
17+
}
18+
}
19+
}
20+
}

test/legacy/to-dep-tree.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ describe('dep-trees survive serialisation through dep-graphs', () => {
9999
pkgManagerName: 'maven',
100100
pkgType: 'maven',
101101
},
102+
{
103+
description: 'gomodules dep-tree with purls',
104+
path: 'gomodules-dep-tree-with-purls.json',
105+
pkgManagerName: 'gomodules',
106+
pkgType: 'gomodules',
107+
},
102108
];
103109

104110
// Recursively delete named properties and properties pointing to

0 commit comments

Comments
 (0)