Skip to content

Commit 290eeb2

Browse files
jdaltonclaude
andcommitted
Fix coverage script to suppress spinner output in JSON/simple modes
The coverage:percent script was outputting spinner text after JSON output, corrupting the JSON format when used with --json flag. This prevents proper parsing by CI workflows and other programmatic consumers. Changes: - Only start/stop spinner in default output mode - Suppress spinner completely when using --json or --simple flags - Ensures clean JSON output for programmatic consumption 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent c920b3e commit 290eeb2

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

scripts/get-coverage-percentage.mjs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,24 @@ async function logCoveragePercentage(argv) {
3131
// Get code coverage metrics (statements, branches, functions, lines).
3232
let codeCoverage
3333
try {
34-
if (!existsSync(coverageJsonPath)) {
35-
spinner.start('Generating coverage data...')
36-
} else {
37-
spinner.start('Reading coverage data...')
34+
// Only show spinner in default output mode (not JSON or simple).
35+
if (!argv.json && !argv.simple) {
36+
if (!existsSync(coverageJsonPath)) {
37+
spinner.start('Generating coverage data...')
38+
} else {
39+
spinner.start('Reading coverage data...')
40+
}
3841
}
3942

4043
codeCoverage = await getCodeCoverage()
4144

42-
spinner.stop()
45+
if (!argv.json && !argv.simple) {
46+
spinner.stop()
47+
}
4348
} catch (error) {
44-
spinner.stop()
49+
if (!argv.json && !argv.simple) {
50+
spinner.stop()
51+
}
4552
logger.error('Failed to get code coverage:', error.message)
4653
throw error
4754
}

0 commit comments

Comments
 (0)