Skip to content

Commit 03d3424

Browse files
authored
revert: "fix(vite-node): circular import stuck" vitest-dev#3418 (vitest-dev#3479)
1 parent 9fb9dac commit 03d3424

3 files changed

Lines changed: 2 additions & 16 deletions

File tree

examples/mocks/src/main.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
import { funcA } from './A'
2-
import { funcB } from './B'
32

43
export function main() {
54
return funcA()
65
}
7-
8-
export function mainB() {
9-
return funcB()
10-
}
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,18 @@
11
import { expect, test, vi } from 'vitest'
2-
import { main, mainB } from '../src/main.js'
2+
import { main } from '../src/main.js'
33
import x from '../src/export-default-circle-index'
44

55
vi.mock('../src/A', async () => ({
66
...(await vi.importActual<any>('../src/A')),
77
funcA: () => 'mockedA',
88
}))
99

10-
vi.mock('../src/B', async () => ({
11-
...(await vi.importActual<any>('../src/B')),
12-
funcB: () => 'mockedB',
13-
}))
14-
1510
vi.mock('../src/export-default-circle-b')
1611

1712
test('can import actual inside mock factory', () => {
1813
expect(main()).toBe('mockedA')
1914
})
2015

21-
test('can import in top level and inside mock factory', () => {
22-
expect(mainB()).toBe('mockedB')
23-
})
24-
2516
test('can mock a circular dependency', () => {
2617
expect(x()).toBe(undefined)
2718
})

packages/vite-node/src/client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ export class ViteNodeRunner {
194194
const getStack = () => `stack:\n${[...callstack, fsPath].reverse().map(p => ` - ${p}`).join('\n')}`
195195

196196
// check circular dependency
197-
if (callstack.includes(fsPath) || callstack.some(c => this.moduleCache.get(c).importers?.has(fsPath)) || mod.importers.has(importee)) {
197+
if (callstack.includes(fsPath) || callstack.some(c => this.moduleCache.get(c).importers?.has(fsPath))) {
198198
if (mod.exports)
199199
return mod.exports
200200
}

0 commit comments

Comments
 (0)