From 7f45bf2d3e94c1ee77884aade1548d3414111db4 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Tue, 1 Aug 2023 15:42:48 +0200 Subject: [PATCH] perf: deprecate deps.registerNodeLoader --- packages/vitest/src/node/config.ts | 12 +++++++++--- packages/vitest/src/types/config.ts | 3 +-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/vitest/src/node/config.ts b/packages/vitest/src/node/config.ts index 169c1f36a8e0..b5ea7d19cd19 100644 --- a/packages/vitest/src/node/config.ts +++ b/packages/vitest/src/node/config.ts @@ -184,9 +184,15 @@ export function resolveConfig( ?? resolve(resolved.root, resolved.runner) } - // disable loader for Yarn PnP until Node implements chain loader - // https://github.com/nodejs/node/pull/43772 - resolved.deps.registerNodeLoader ??= false + if (resolved.deps.registerNodeLoader) { + const transformMode = resolved.environment === 'happy-dom' || resolved.environment === 'jsdom' ? 'web' : 'ssr' + console.warn( + c.yellow( + `${c.inverse(c.yellow(' Vitest '))} "deps.registerNodeLoader" is deprecated.` + + `If you rely on aliases inside external packages, use "deps.optimizer.${transformMode}.include" instead.`, + ), + ) + } resolved.testNamePattern = resolved.testNamePattern ? resolved.testNamePattern instanceof RegExp diff --git a/packages/vitest/src/types/config.ts b/packages/vitest/src/types/config.ts index 9a46287dc555..670c50a410de 100644 --- a/packages/vitest/src/types/config.ts +++ b/packages/vitest/src/types/config.ts @@ -143,13 +143,13 @@ interface DepsOptions { * @default false * * @deprecated Use `server.deps.fallbackCJS` instead. - * */ fallbackCJS?: boolean /** * Use experimental Node loader to resolve imports inside node_modules using Vite resolve algorithm. * @default false + * @deprecated If you rely on aliases inside external packages, use `deps.optimizer.{web,ssr}.include` instead. */ registerNodeLoader?: boolean @@ -157,7 +157,6 @@ interface DepsOptions { * A list of directories relative to the config file that should be treated as module directories. * * @default ['node_modules'] - * */ moduleDirectories?: string[] }