mirror of
https://github.com/safedep/vet.git
synced 2025-12-11 09:25:44 -06:00
feat: Add npm package-lock.json graph parser fix: Npm graph parser path to root traversal fix: File naming convention for npm graph parser feat: Add reporter for graph visualization in dot format feat: Add support for showing dependency upgrade path in summary report fix: Bug in summary reporter related to random ordering of entries with same score chore: Add support for experimental flag in scanner config refactor: Test cases or npm package name extractor into utils feat: Add support for dependency graph data in CSV report generator fix: LFP npm handle package links test: Improve test for npm name extraction feat: Add support for reconstructing dependency graph using insights data fix: purl reader to use package manifest builder test: Add E2E for gradle dependency graph reconstruction fix: Handle root node marking heuristics for enriched dependency graph feat: Allow query command to generate dependency graph fix: Scanner dependency graph reconstruction using dependency distance fix: Test case for maven dependency graph reconstruction chore: Improve summary report text for dependency path to root refactor: Code re-use in npm graph to find by semver range
35 lines
763 B
Go
35 lines
763 B
Go
package exceptions
|
|
|
|
import (
|
|
"github.com/safedep/vet/pkg/common/logger"
|
|
"github.com/safedep/vet/pkg/models"
|
|
)
|
|
|
|
// AllowedPackages iterates over packages in the manifest and call handler
|
|
// only for packages not in the exempted by exception rules
|
|
func AllowedPackages(manifest *models.PackageManifest,
|
|
handler func(pkg *models.Package) error) error {
|
|
packages := manifest.GetPackages()
|
|
for _, pkg := range packages {
|
|
res, err := Apply(pkg)
|
|
if err != nil {
|
|
logger.Errorf("Failed to evaluate exception for %s: %v",
|
|
pkg.ShortName(), err)
|
|
continue
|
|
}
|
|
|
|
if res.Matched() {
|
|
logger.Debugf("Ignoring package:%s due to exception rule",
|
|
pkg.ShortName())
|
|
continue
|
|
}
|
|
|
|
err = handler(pkg)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|