Skip to content

Commit c050b04

Browse files
committed
Render issues
1 parent edf65a6 commit c050b04

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

lib/commands/info/index.js

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,28 @@ async function fetchPackageData (pkgName, pkgVersion, { includeAllIssues, strict
145145
if (objectSome(severityCount)) {
146146
const issueSummary = formatSeverityCount(severityCount)
147147
spinner[strict ? 'fail' : 'succeed'](`Package has these issues: ${issueSummary}`)
148+
149+
// Return the alert types for critical and high alerts
150+
const issueDetails = result.data.filter(d => d.value?.severity === 'high' || d.value?.severity === 'critical')
151+
const uniqueIssues = issueDetails.reduce((/** @type {{ [key: string]: number }} */ acc, issue) => {
152+
const { type } = issue
153+
if (type) {
154+
let count = 0
155+
if (!acc[type]) {
156+
count += 1
157+
acc[type] = count
158+
} else {
159+
acc[type]++
160+
}
161+
}
162+
return acc
163+
}, {})
164+
Object.keys(uniqueIssues).map(issue => {
165+
if (uniqueIssues[issue] === 1) {
166+
return console.log(`- ${issue}`)
167+
}
168+
return console.log(`- ${issue}: ${uniqueIssues[issue]}`)
169+
})
148170
} else {
149171
spinner.succeed('Package has no issues')
150172
}
@@ -165,7 +187,7 @@ async function fetchPackageData (pkgName, pkgVersion, { includeAllIssues, strict
165187
if (outputJson) {
166188
console.log(JSON.stringify(data, undefined, 2))
167189
} else {
168-
console.log('\nPackage report card:\n')
190+
console.log('\nPackage report card:')
169191

170192
const scoreResult = {
171193
'Supply Chain Risk': Math.floor(score.supplyChainRisk.score * 100),

0 commit comments

Comments
 (0)