-
-
Notifications
You must be signed in to change notification settings - Fork 118
Description
Describe the bug
The dependency graph gathered from load_sbom does not accurately represent what is contained within the SBOM. If a package is both a direct dependency and transitive dependency at the same time, the listing will only show the package as a transitive dependency.
In the example given below, the package pkg:npm/%40angular/[email protected] is both a dependency to the global dejacode-demo representing the project and the package pkg:npm/@angular/[email protected]. This can be seen in the section:
"dependencies": [
{
"ref": "pkg:npm/dejacode-demo",
"dependsOn": [
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@jsverse/[email protected]",
"pkg:npm/@ngrx/[email protected]",
"pkg:npm/@ngrx/[email protected]",
"pkg:npm/[email protected]",
"pkg:npm/[email protected]",
"pkg:npm/[email protected]"
]
},
{
"ref": "pkg:npm/@angular/[email protected]",
"dependsOn": [
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/@angular/[email protected]",
"pkg:npm/[email protected]",
"pkg:npm/[email protected]"
]
},
However, the result in ScanCode.io only shows pkg:npm/@angular/[email protected] as a dependency of pkg:npm/@angular/[email protected].
System configuration
- ScanCode.io 35.4.0
- Running with custom Helm deployment
- Linux
- Using the following SBOM as input: 2025-10-23-deps-graph-debug-sbom-import.json
- Using
load_sbomas pipeline
To Reproduce
Steps to reproduce the behavior:
- Create a new project in ScanCode.io
- Upload the SBOM file
- Select
load_sbomas pipeline - Run the pipeline
- Once the job has completed open the dependencies
- Search for
pkg:npm/@angular/[email protected]and notice that there is only one occurrence in the tree
Expected behavior
The tree should accurately represent all dependency relationships found in the SBOM
Screenshots
