diff --git a/packages/vitest/src/runtime/moduleRunner/moduleTransport.ts b/packages/vitest/src/runtime/moduleRunner/moduleTransport.ts index 8887a1e13b46..cb1915421e7b 100644 --- a/packages/vitest/src/runtime/moduleRunner/moduleTransport.ts +++ b/packages/vitest/src/runtime/moduleRunner/moduleTransport.ts @@ -1,11 +1,14 @@ import type { FetchFunction, ModuleRunnerTransport } from 'vite/module-runner' import type { ResolveFunctionResult } from '../../types/general' +import { builtinModules } from 'node:module' export interface VitestTransportOptions { fetchModule: FetchFunction resolveId: (id: string, importer?: string) => Promise } +const nodeBuiltins = builtinModules.filter(id => !id.includes(':')) + export class VitestTransport implements ModuleRunnerTransport { constructor(private options: VitestTransportOptions) {} @@ -20,6 +23,9 @@ export class VitestTransport implements ModuleRunnerTransport { if (name !== 'fetchModule') { return { error: new Error(`Unknown method: ${name}. Expected "fetchModule".`) } } + if (name === 'getBuiltins') { + return { result: [...nodeBuiltins, /^node:/] } + } try { const result = await this.options.fetchModule(...data as Parameters) return { result }