Skip to content

Commit d9f70ec

Browse files
committed
fix(reporters): write buffered stdout/stderr on process exit
1 parent f1babdc commit d9f70ec

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

packages/vitest/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@
163163
"magic-string": "^0.30.12",
164164
"pathe": "^1.1.2",
165165
"restore-cursor": "^5.1.0",
166+
"signal-exit": "^4.1.0",
166167
"std-env": "^3.8.0",
167168
"tinybench": "^2.9.0",
168169
"tinyexec": "^0.3.1",

packages/vitest/src/node/reporters/renderers/windowedRenderer.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { Writable } from 'node:stream'
22
import type { Vitest } from '../../core'
33
import { stripVTControlCharacters } from 'node:util'
44
import restoreCursor from 'restore-cursor'
5+
import { onExit } from 'signal-exit'
56

67
const DEFAULT_RENDER_INTERVAL = 16
78

@@ -54,6 +55,9 @@ export class WindowRenderer {
5455
restoreCursor()
5556
this.write(HIDE_CURSOR, 'output')
5657

58+
// Write buffered content on unexpected exits, e.g. direct `process.exit()` calls
59+
onExit(() => this.flushBuffer())
60+
5761
this.start()
5862
}
5963

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)