Skip to content

Commit 8100063

Browse files
authored
fix: move the getBuiltins check (#8765)
1 parent da7ce17 commit 8100063

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import type { DevEnvironment } from 'vite'
22
import type { ResolvedConfig } from '../types/config'
33
import type { VitestFetchFunction } from './fetchModule'
4+
import { builtinModules } from 'node:module'
45
import { VitestModuleEvaluator } from '#module-evaluator'
56
import { ModuleRunner } from 'vite/module-runner'
67
import { normalizeResolvedIdToUrl } from './normalizeUrl'
78

9+
const nodeBuiltins = builtinModules.filter(id => !id.includes(':'))
10+
811
export class ServerModuleRunner extends ModuleRunner {
912
constructor(
1013
private environment: DevEnvironment,
@@ -19,7 +22,13 @@ export class ServerModuleRunner extends ModuleRunner {
1922
if (event.type !== 'custom') {
2023
throw new Error(`Vitest Module Runner doesn't support Vite HMR events.`)
2124
}
22-
const { data } = event.data
25+
const { name, data } = event.data
26+
if (name === 'getBuiltins') {
27+
return { result: [...nodeBuiltins, /^node:/] }
28+
}
29+
if (name !== 'fetchModule') {
30+
return { error: new Error(`Unknown method: ${name}. Expected "fetchModule".`) }
31+
}
2332
try {
2433
const result = await fetcher(data[0], data[1], environment, false, data[2])
2534
return { result }

packages/vitest/src/runtime/moduleRunner/moduleTransport.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ export class VitestTransport implements ModuleRunnerTransport {
2020
return { error: new Error(`Vitest Module Runner doesn't support ${event.event} event.`) }
2121
}
2222
const { name, data } = event.data
23-
if (name !== 'fetchModule') {
24-
return { error: new Error(`Unknown method: ${name}. Expected "fetchModule".`) }
25-
}
2623
if (name === 'getBuiltins') {
2724
return { result: [...nodeBuiltins, /^node:/] }
2825
}
26+
if (name !== 'fetchModule') {
27+
return { error: new Error(`Unknown method: ${name}. Expected "fetchModule".`) }
28+
}
2929
try {
3030
const result = await this.options.fetchModule(...data as Parameters<FetchFunction>)
3131
return { result }

0 commit comments

Comments
 (0)