@code-pushup/coverage-plugin 0.121.0 → 0.122.1

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.121.0",
3
+ "version": "0.122.1",
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.121.0",
38
- "@code-pushup/utils": "0.121.0",
37
+ "@code-pushup/models": "0.122.1",
38
+ "@code-pushup/utils": "0.122.1",
39
39
  "magicast": "^0.3.5",
40
40
  "parse-lcov": "^1.0.4",
41
41
  "zod": "^4.2.1"
@@ -60,7 +60,7 @@ export declare const coverageSetupBinding: {
60
60
  moduleSpecifier: string;
61
61
  defaultImport: string;
62
62
  }[];
63
- pluginInit: string;
63
+ pluginInit: string[];
64
64
  }>;
65
65
  };
66
66
  declare function isRecommended(targetDir: string): Promise<boolean>;
@@ -1,7 +1,7 @@
1
1
  import { readdir } from 'node:fs/promises';
2
2
  import { createRequire } from 'node:module';
3
3
  import path from 'node:path';
4
- import { hasDependency, pluralize, readJsonFile, singleQuote, } from '@code-pushup/utils';
4
+ import { answerArray, answerBoolean, answerString, hasDependency, pluralize, readJsonFile, singleQuote, } from '@code-pushup/utils';
5
5
  import { addLcovReporter, hasLcovReporter } from './config-file.js';
6
6
  import { ALL_COVERAGE_TYPES, COVERAGE_PLUGIN_SLUG, COVERAGE_PLUGIN_TITLE, } from './constants.js';
7
7
  const { name: PACKAGE_NAME } = createRequire(import.meta.url)('../../package.json');
@@ -84,43 +84,33 @@ export const coverageSetupBinding = {
84
84
  },
85
85
  {
86
86
  key: 'coverage.categories',
87
- message: 'Add code coverage category?',
87
+ message: 'Add Code coverage categories?',
88
88
  type: 'confirm',
89
89
  default: true,
90
90
  },
91
91
  ];
92
92
  },
93
93
  generateConfig: async (answers, tree) => {
94
- const args = parseAnswers(answers);
95
- const lcovConfigured = await configureLcovReporter(args, tree);
94
+ const options = parseAnswers(answers);
95
+ const lcovConfigured = await configureLcovReporter(options, tree);
96
96
  return {
97
97
  imports: [
98
98
  { moduleSpecifier: PACKAGE_NAME, defaultImport: 'coveragePlugin' },
99
99
  ],
100
- pluginInit: formatPluginInit(args, lcovConfigured),
101
- ...(args.categories ? { categories: CATEGORIES } : {}),
100
+ pluginInit: formatPluginInit(options, lcovConfigured),
101
+ ...(options.categories ? { categories: CATEGORIES } : {}),
102
102
  };
103
103
  },
104
104
  };
105
105
  function parseAnswers(answers) {
106
- const string = (key) => {
107
- const value = answers[key];
108
- return typeof value === 'string' ? value : '';
109
- };
110
- const types = answers['coverage.types'];
111
106
  return {
112
- framework: string('coverage.framework'),
113
- configFile: string('coverage.configFile'),
114
- reportPath: string('coverage.reportPath') || DEFAULT_REPORT_PATH,
115
- testCommand: string('coverage.testCommand'),
116
- types: Array.isArray(types)
117
- ? types
118
- : (typeof types === 'string' ? types : '')
119
- .split(',')
120
- .map(item => item.trim())
121
- .filter(Boolean),
122
- continueOnFail: answers['coverage.continueOnFail'] !== false,
123
- categories: answers['coverage.categories'] !== false,
107
+ framework: answerString(answers, 'coverage.framework'),
108
+ configFile: answerString(answers, 'coverage.configFile'),
109
+ reportPath: answerString(answers, 'coverage.reportPath') || DEFAULT_REPORT_PATH,
110
+ testCommand: answerString(answers, 'coverage.testCommand'),
111
+ types: answerArray(answers, 'coverage.types'),
112
+ continueOnFail: answerBoolean(answers, 'coverage.continueOnFail'),
113
+ categories: answerBoolean(answers, 'coverage.categories'),
124
114
  };
125
115
  }
126
116
  /** Returns true if lcov reporter is already present or was successfully added. */
@@ -147,19 +137,21 @@ function formatPluginInit(options, lcovConfigured) {
147
137
  const { reportPath, testCommand, types, continueOnFail } = options;
148
138
  const hasCustomTypes = types.length > 0 && types.length < ALL_COVERAGE_TYPES.length;
149
139
  const body = [
150
- `reports: [${singleQuote(reportPath)}]`,
140
+ `reports: [${singleQuote(reportPath)}],`,
151
141
  testCommand
152
- ? `coverageToolCommand: { command: ${singleQuote(testCommand)} }`
142
+ ? `coverageToolCommand: { command: ${singleQuote(testCommand)} },`
153
143
  : '',
154
144
  hasCustomTypes
155
- ? `coverageTypes: [${types.map(singleQuote).join(', ')}]`
145
+ ? `coverageTypes: [${types.map(singleQuote).join(', ')}],`
156
146
  : '',
157
- continueOnFail ? '' : 'continueOnCommandFail: false',
158
- ]
159
- .filter(Boolean)
160
- .join(',\n ');
161
- const init = `await coveragePlugin({\n ${body},\n })`;
162
- return lcovConfigured ? init : `${LCOV_COMMENT}\n ${init}`;
147
+ continueOnFail ? '' : 'continueOnCommandFail: false,',
148
+ ].filter(Boolean);
149
+ const init = [
150
+ 'await coveragePlugin({',
151
+ ...body.map(line => ` ${line}`),
152
+ '}),',
153
+ ];
154
+ return lcovConfigured ? init : [LCOV_COMMENT, ...init];
163
155
  }
164
156
  async function isRecommended(targetDir) {
165
157
  return (await detectFramework(targetDir)) !== 'other';
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../../src/lib/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../../src/lib/binding.ts"],"names":[],"mappings":"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"}