diff --git a/packages/utils/src/source-map.ts b/packages/utils/src/source-map.ts index 52baddbc7ed6..3f98c89db7bb 100644 --- a/packages/utils/src/source-map.ts +++ b/packages/utils/src/source-map.ts @@ -178,7 +178,9 @@ export function parseSingleV8Stack(raw: string): ParsedStack | null { : resolve(file) if (method) { - method = method.replace(/__vite_ssr_import_\d+__\./g, '') + method = method + .replace(/__vite_ssr_import_\d+__\./g, '') + .replace(/(Object\.)?__vite_ssr_export_default__\s?/g, '') } return { diff --git a/packages/vitest/src/node/environments/serverRunner.ts b/packages/vitest/src/node/environments/serverRunner.ts index 7dd8278ab48b..896f0b5990c3 100644 --- a/packages/vitest/src/node/environments/serverRunner.ts +++ b/packages/vitest/src/node/environments/serverRunner.ts @@ -19,7 +19,6 @@ export class ServerModuleRunner extends ModuleRunner { super( { hmr: false, - sourcemapInterceptor: 'node', transport: { async invoke(event) { if (event.type !== 'custom') { diff --git a/packages/vitest/src/node/project.ts b/packages/vitest/src/node/project.ts index 22e61bad661f..b68864d6e8f5 100644 --- a/packages/vitest/src/node/project.ts +++ b/packages/vitest/src/node/project.ts @@ -512,6 +512,10 @@ export class TestProject { this.clearTmpDir(), ].filter(Boolean), ).then(() => { + if (!this.runner.isClosed()) { + return this.runner.close() + } + }).then(() => { this._provided = {} as any this._vite = undefined }) diff --git a/test/cli/fixtures/global-setup-fail/globalSetup/error.js b/test/cli/fixtures/global-setup-fail/globalSetup/error.ts similarity index 58% rename from test/cli/fixtures/global-setup-fail/globalSetup/error.js rename to test/cli/fixtures/global-setup-fail/globalSetup/error.ts index cd07c86ea49c..4680726623e2 100644 --- a/test/cli/fixtures/global-setup-fail/globalSetup/error.js +++ b/test/cli/fixtures/global-setup-fail/globalSetup/error.ts @@ -1,3 +1,7 @@ +interface _Test { + method: () => void +} + export default function () { throw new Error('error') } diff --git a/test/cli/fixtures/global-setup-fail/vitest.config.ts b/test/cli/fixtures/global-setup-fail/vitest.config.ts index 703b1e39c299..5705e8757411 100644 --- a/test/cli/fixtures/global-setup-fail/vitest.config.ts +++ b/test/cli/fixtures/global-setup-fail/vitest.config.ts @@ -5,7 +5,7 @@ export default defineConfig({ test: { globals: true, globalSetup: [ - resolve(import.meta.dirname, './globalSetup/error.js'), + resolve(import.meta.dirname, './globalSetup/error.ts'), ], }, }) diff --git a/test/cli/test/global-setup-fail.test.ts b/test/cli/test/global-setup-fail.test.ts index 13225f0c4caa..94afa18844bc 100644 --- a/test/cli/test/global-setup-fail.test.ts +++ b/test/cli/test/global-setup-fail.test.ts @@ -14,4 +14,6 @@ it('should fail', async () => { .find(i => i.includes('Error: ')) ?.trim() expect(msg).toBe('Error: error') + expect(stderr).not.toContain('__vite_ssr_export_default__') + expect(stderr).toContain('globalSetup/error.ts:6:9') }, 50000) diff --git a/test/coverage-test/test/run-dynamic-coverage.test.ts b/test/coverage-test/test/run-dynamic-coverage.test.ts index aa30366f1ef6..7415494bfd03 100644 --- a/test/coverage-test/test/run-dynamic-coverage.test.ts +++ b/test/coverage-test/test/run-dynamic-coverage.test.ts @@ -7,6 +7,7 @@ test('enableCoverage() collects coverage after being called', async () => { // Run a minimal suite where coverage starts disabled, then enable it and rerun. const { ctx } = await runVitest({ include: ['fixtures/test/math.test.ts'], + watch: true, coverage: { // start disabled and turn on dynamically enabled: false, @@ -28,6 +29,7 @@ test('enableCoverage() collects coverage after being called', async () => { test('disableCoverage() stops collecting coverage going forward', async () => { const { ctx } = await runVitest({ include: ['fixtures/test/math.test.ts'], + watch: true, coverage: { enabled: true, reporter: 'json',