From 05d644c4b7b44e46cb01f1b745ce3b622bd3a3f7 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Mon, 7 Feb 2022 18:28:15 +0300 Subject: [PATCH 1/2] fix: import .mjs with vitestnode, decoupling vitenode from vitest --- packages/vite-node/src/externalize.ts | 5 +---- packages/vitest/src/node/config.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/vite-node/src/externalize.ts b/packages/vite-node/src/externalize.ts index 6909bf17a872..4049b64f5dd1 100644 --- a/packages/vite-node/src/externalize.ts +++ b/packages/vite-node/src/externalize.ts @@ -7,9 +7,6 @@ const ESM_EXT_RE = /\.(es|esm|esm-browser|esm-bundler|es6|module)\.js$/ const ESM_FOLDER_RE = /\/esm\/(.*\.js)$/ const defaultInline = [ - /\/vitest\/dist\//, - // yarn's .store folder - /vitest-virtual-\w+\/dist/, /virtual:/, /\.ts$/, ESM_EXT_RE, @@ -17,7 +14,7 @@ const defaultInline = [ ] const depsExternal = [ - /\.cjs.js$/, + /\.cjs\.js$/, /\.mjs$/, ] diff --git a/packages/vitest/src/node/config.ts b/packages/vitest/src/node/config.ts index 5c8ce57dd780..8aafc2c6b467 100644 --- a/packages/vitest/src/node/config.ts +++ b/packages/vitest/src/node/config.ts @@ -62,6 +62,16 @@ export function resolveConfig( resolved.coverage = resolveC8Options(resolved.coverage, resolved.root) resolved.deps = resolved.deps || {} + // vitenode will try to import such file with native node, + // but then our mocker will not work properly + resolved.deps.inline ??= [] + resolved.deps.inline.push( + /\.mjs$/, + /\.cjs\.js$/, + /\/vitest\/dist\//, + // yarn's .store folder + /vitest-virtual-\w+\/dist/, + ) resolved.environment = resolved.environment || 'node' resolved.threads = resolved.threads ?? true From 83da75f88ed3eb9e6870eca9109fad108fc917bd Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Wed, 9 Feb 2022 12:51:10 +0300 Subject: [PATCH 2/2] fix: process only local mjs and cjs.js --- packages/vitest/src/node/config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vitest/src/node/config.ts b/packages/vitest/src/node/config.ts index 8aafc2c6b467..5b7025f88c40 100644 --- a/packages/vitest/src/node/config.ts +++ b/packages/vitest/src/node/config.ts @@ -66,8 +66,8 @@ export function resolveConfig( // but then our mocker will not work properly resolved.deps.inline ??= [] resolved.deps.inline.push( - /\.mjs$/, - /\.cjs\.js$/, + /^(?!.*(?:node_modules)).*\.mjs$/, + /^(?!.*(?:node_modules)).*\.cjs\.js$/, /\/vitest\/dist\//, // yarn's .store folder /vitest-virtual-\w+\/dist/,