@code-pushup/coverage-plugin 0.99.0 → 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-pushup/coverage-plugin",
3
- "version": "0.99.0",
3
+ "version": "0.100.0",
4
4
  "description": "Code PushUp plugin for tracking code coverage ☂",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-coverage#readme",
@@ -34,8 +34,8 @@
34
34
  },
35
35
  "type": "module",
36
36
  "dependencies": {
37
- "@code-pushup/models": "0.99.0",
38
- "@code-pushup/utils": "0.99.0",
37
+ "@code-pushup/models": "0.100.0",
38
+ "@code-pushup/utils": "0.100.0",
39
39
  "parse-lcov": "^1.0.4",
40
40
  "zod": "^4.0.5"
41
41
  },
@@ -1,5 +1,5 @@
1
1
  import path from 'node:path';
2
- import { capitalize, exists, formatAsciiTable, getGitRoot, logger, objectFromEntries, objectToEntries, pluralize, pluralizeToken, readTextFile, toUnixNewlines, truncatePaths, } from '@code-pushup/utils';
2
+ import { aggregateCoverageStats, capitalize, exists, formatAsciiTable, formatCoveragePercentage, getGitRoot, logger, objectFromEntries, objectToEntries, pluralize, pluralizeToken, readTextFile, toUnixNewlines, truncatePaths, } from '@code-pushup/utils';
3
3
  import { ALL_COVERAGE_TYPES } from '../../constants.js';
4
4
  import { mergeLcovResults } from './merge-lcov.js';
5
5
  import { parseLcov } from './parse-lcov.js';
@@ -126,7 +126,7 @@ function logLcovRecords(recordsPerReport) {
126
126
  const groups = groupLcovRecordsByCoverageType(records, ALL_COVERAGE_TYPES);
127
127
  const stats = objectFromEntries(objectToEntries(groups).map(([type, files = []]) => [
128
128
  type,
129
- formatCoverageSum(files),
129
+ formatCoveragePercentage(aggregateCoverageStats(files)),
130
130
  ]));
131
131
  const report = truncatedPaths[idx] ?? reportPath;
132
132
  return { report, filesCount: records.length, ...stats };
@@ -134,17 +134,6 @@ function logLcovRecords(recordsPerReport) {
134
134
  }));
135
135
  logger.newline();
136
136
  }
137
- function formatCoverageSum(files) {
138
- const { covered, total } = files.reduce((acc, file) => ({
139
- covered: acc.covered + file.covered,
140
- total: acc.total + file.total,
141
- }), { covered: 0, total: 0 });
142
- if (total === 0) {
143
- return 'n/a';
144
- }
145
- const percentage = (covered / total) * 100;
146
- return `${percentage.toFixed(1)}%`;
147
- }
148
137
  function logMergedRecords(counts) {
149
138
  if (counts.before === counts.after) {
150
139
  logger.debug(counts.after === 1
@@ -1 +1 @@
1
- {"version":3,"file":"lcov-runner.js","sourceRoot":"","sources":["../../../../../src/lib/runner/lcov/lcov-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lcov-runner.js","sourceRoot":"","sources":["../../../../../src/lib/runner/lcov/lcov-runner.ts"],"names":[],"mappings":"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"}