Skip to content

Commit 8978a23

Browse files
authored
fix: process sourcemaps for stack traces from globalSetup files (#8534)
1 parent 969456b commit 8978a23

File tree

7 files changed

+16
-3
lines changed

7 files changed

+16
-3
lines changed

packages/utils/src/source-map.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,9 @@ export function parseSingleV8Stack(raw: string): ParsedStack | null {
178178
: resolve(file)
179179

180180
if (method) {
181-
method = method.replace(/__vite_ssr_import_\d+__\./g, '')
181+
method = method
182+
.replace(/__vite_ssr_import_\d+__\./g, '')
183+
.replace(/(Object\.)?__vite_ssr_export_default__\s?/g, '')
182184
}
183185

184186
return {

packages/vitest/src/node/environments/serverRunner.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ export class ServerModuleRunner extends ModuleRunner {
1919
super(
2020
{
2121
hmr: false,
22-
sourcemapInterceptor: 'node',
2322
transport: {
2423
async invoke(event) {
2524
if (event.type !== 'custom') {

packages/vitest/src/node/project.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,10 @@ export class TestProject {
512512
this.clearTmpDir(),
513513
].filter(Boolean),
514514
).then(() => {
515+
if (!this.runner.isClosed()) {
516+
return this.runner.close()
517+
}
518+
}).then(() => {
515519
this._provided = {} as any
516520
this._vite = undefined
517521
})
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
interface _Test {
2+
method: () => void
3+
}
4+
15
export default function () {
26
throw new Error('error')
37
}

test/cli/fixtures/global-setup-fail/vitest.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default defineConfig({
55
test: {
66
globals: true,
77
globalSetup: [
8-
resolve(import.meta.dirname, './globalSetup/error.js'),
8+
resolve(import.meta.dirname, './globalSetup/error.ts'),
99
],
1010
},
1111
})

test/cli/test/global-setup-fail.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ it('should fail', async () => {
1414
.find(i => i.includes('Error: '))
1515
?.trim()
1616
expect(msg).toBe('Error: error')
17+
expect(stderr).not.toContain('__vite_ssr_export_default__')
18+
expect(stderr).toContain('globalSetup/error.ts:6:9')
1719
}, 50000)

test/coverage-test/test/run-dynamic-coverage.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ test('enableCoverage() collects coverage after being called', async () => {
77
// Run a minimal suite where coverage starts disabled, then enable it and rerun.
88
const { ctx } = await runVitest({
99
include: ['fixtures/test/math.test.ts'],
10+
watch: true,
1011
coverage: {
1112
// start disabled and turn on dynamically
1213
enabled: false,
@@ -28,6 +29,7 @@ test('enableCoverage() collects coverage after being called', async () => {
2829
test('disableCoverage() stops collecting coverage going forward', async () => {
2930
const { ctx } = await runVitest({
3031
include: ['fixtures/test/math.test.ts'],
32+
watch: true,
3133
coverage: {
3234
enabled: true,
3335
reporter: 'json',

0 commit comments

Comments
 (0)