Skip to content

Commit cf5641a

Browse files
authoredJan 26, 2024
fix(vitest): support older NodeJS with async import.meta.resolve (#5045)
1 parent 915d6c4 commit cf5641a

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed
 

‎packages/vitest/src/runtime/external-executor.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ export class ExternalModulesExecutor {
7171
}
7272

7373
public resolveModule = async (specifier: string, referencer: string) => {
74-
const identifier = this.resolve(specifier, referencer)
74+
let identifier = this.resolve(specifier, referencer) as string | Promise<string>
75+
76+
if (identifier instanceof Promise)
77+
identifier = await identifier
78+
7579
return await this.createModule(identifier)
7680
}
7781

@@ -81,6 +85,8 @@ export class ExternalModulesExecutor {
8185
if (id)
8286
return id
8387
}
88+
89+
// import.meta.resolve can be asynchronous in older +18 Node versions
8490
return nativeResolve(specifier, parent)
8591
}
8692

0 commit comments

Comments
 (0)
Please sign in to comment.