From 179f39d90c3295641ff612845695d3bcf64069d0 Mon Sep 17 00:00:00 2001 From: Wojciech Maj Date: Mon, 4 Dec 2023 23:56:26 +0100 Subject: [PATCH] fix: fix ensurePackageInstalled on Yarn PnP close #899 close #4575 partially #4413 --- 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 f1de8b90d01c..fbd94308cff3 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