From 574cc7d0d20833eab545eb62a1f0eb5d62b79405 Mon Sep 17 00:00:00 2001 From: Wojciech Maj Date: Tue, 5 Dec 2023 11:24:55 +0100 Subject: [PATCH] fix: fix ensurePackageInstalled on Yarn PnP (#4657) --- packages/vitest/src/node/pkg.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/vitest/src/node/pkg.ts b/packages/vitest/src/node/pkg.ts index 642378033868..783264b9c6e3 100644 --- a/packages/vitest/src/node/pkg.ts +++ b/packages/vitest/src/node/pkg.ts @@ -1,4 +1,5 @@ import url from 'node:url' +import { createRequire } from 'node:module' import c from 'picocolors' import { isPackageExists } from 'local-pkg' import { EXIT_CODE_RESTART } from '../constants' @@ -10,6 +11,16 @@ export async function ensurePackageInstalled( dependency: string, root: string, ) { + if (process.versions.pnp) { + const targetRequire = createRequire(__dirname) + try { + targetRequire.resolve(dependency, { paths: [root, __dirname] }) + return true + } + catch (error) { + } + } + if (isPackageExists(dependency, { paths: [root, __dirname] })) return true