Files
dependency-review-action/src/filter.ts
T

37 lines
910 B
TypeScript
Raw Normal View History

2022-06-01 12:09:11 +02:00
import {Changes} from './schemas'
import {Severity, SEVERITIES} from './schemas'
2022-06-01 12:09:11 +02:00
export function filterChangesBySeverity(
severity: Severity,
changes: Changes
): Changes {
const severityIdx = SEVERITIES.indexOf(severity)
2022-06-01 13:10:58 +02:00
let filteredChanges = []
2022-06-01 12:09:11 +02:00
for (let change of changes) {
if (
change === undefined ||
change.vulnerabilities === undefined ||
change.vulnerabilities.length === 0
) {
continue
}
2022-06-01 13:10:58 +02:00
let fChange = {
...change,
vulnerabilities: change.vulnerabilities.filter(vuln => {
const vulnIdx = SEVERITIES.indexOf(vuln.severity)
if (vulnIdx <= severityIdx) {
return true
}
})
}
filteredChanges.push(fChange)
2022-06-01 12:09:11 +02:00
}
2022-06-01 12:09:11 +02:00
// don't want to deal with changes with no vulnerabilities
2022-06-01 13:10:58 +02:00
filteredChanges = filteredChanges.filter(
2022-06-01 12:09:11 +02:00
change => change.vulnerabilities.length > 0
)
return filteredChanges
2022-05-31 16:54:59 +02:00
}