UNPKG

@code-pushup/js-packages-plugin

Version:
43 lines 1.65 kB
import { objectFromEntries, objectToKeys, readJsonFile, } from '@code-pushup/utils'; import { dependencyGroupLong, } from './outdated/types.js'; export function filterAuditResult(result, key, referenceResult) { if (result.vulnerabilities.length === 0) { return result; } const uniqueResult = result.vulnerabilities.reduce((acc, ref) => { const matchReference = referenceResult ?? acc; const isMatch = matchReference.vulnerabilities .map(vulnerability => vulnerability[key]) .includes(ref[key]); if (isMatch) { return { vulnerabilities: acc.vulnerabilities, summary: { ...acc.summary, [ref.severity]: acc.summary[ref.severity] - 1, total: acc.summary.total - 1, }, }; } return { vulnerabilities: [...acc.vulnerabilities, ref], summary: acc.summary, }; }, { vulnerabilities: [], summary: result.summary }); return { vulnerabilities: uniqueResult.vulnerabilities, summary: uniqueResult.summary, }; } export async function getTotalDependencies(packageJsonPath) { const parsedDeps = await readJsonFile(packageJsonPath); const mergedDeps = objectFromEntries(dependencyGroupLong.map(group => { const deps = parsedDeps[group]; return [group, deps == null ? [] : objectToKeys(deps)]; })); return objectFromEntries(objectToKeys(mergedDeps).map(deps => [ deps, new Set(mergedDeps[deps]).size, ])); } //# sourceMappingURL=utils.js.map