@code-pushup/coverage-plugin 0.121.0 → 0.122.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 +3 -3
- package/src/lib/binding.d.ts +1 -1
- package/src/lib/binding.js +24 -32
- package/src/lib/binding.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/coverage-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.122.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.
|
|
38
|
-
"@code-pushup/utils": "0.
|
|
37
|
+
"@code-pushup/models": "0.122.0",
|
|
38
|
+
"@code-pushup/utils": "0.122.0",
|
|
39
39
|
"magicast": "^0.3.5",
|
|
40
40
|
"parse-lcov": "^1.0.4",
|
|
41
41
|
"zod": "^4.2.1"
|
package/src/lib/binding.d.ts
CHANGED
package/src/lib/binding.js
CHANGED
|
@@ -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
|
|
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
|
|
95
|
-
const lcovConfigured = await configureLcovReporter(
|
|
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(
|
|
101
|
-
...(
|
|
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:
|
|
113
|
-
configFile:
|
|
114
|
-
reportPath:
|
|
115
|
-
testCommand:
|
|
116
|
-
types:
|
|
117
|
-
|
|
118
|
-
|
|
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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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';
|
package/src/lib/binding.js.map
CHANGED
|
@@ -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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"}
|