From 24a6d01c2d3d29108fa082f41b3b3c57f256d915 Mon Sep 17 00:00:00 2001 From: Craig Broadman Date: Fri, 24 Nov 2023 15:23:41 +0000 Subject: [PATCH] fix: handle-single-packages-in-cobertura-files --- src/reports/cobertura/parser/index.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/reports/cobertura/parser/index.ts b/src/reports/cobertura/parser/index.ts index 48194b6..1c48788 100644 --- a/src/reports/cobertura/parser/index.ts +++ b/src/reports/cobertura/parser/index.ts @@ -8,17 +8,19 @@ import { import {Cobertura, Package} from '../types' export default async function parse(cobertura: Cobertura): Promise { - const fileList = cobertura.coverage.packages.package.map( + const packages = cobertura.coverage.packages.package + const packageArray = Array.isArray(packages) ? packages : [packages] + + const fileList = packageArray.map( ({'@_name': name}) => { return name } ) - const basePath = `${determineCommonBasePath(fileList)}` const r = new RegExp(`^${escapeRegExp(`${basePath}/`)}`) return { - files: cobertura.coverage.packages.package.reduce( + files: packageArray.reduce( (previous, {'@_name': name, '@_line-rate': lineRate}: Package) => ({ ...previous, [createHash(name.replace(r, ''))]: {