From e561a1d6d38769b621df53d433488ce439b4401e Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 9 Feb 2022 16:44:29 +0300 Subject: [PATCH] fix: import .mjs with vitestnode, decoupling vitenode from vitest (#689) --- 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..5b7025f88c40 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( + /^(?!.*(?:node_modules)).*\.mjs$/, + /^(?!.*(?:node_modules)).*\.cjs\.js$/, + /\/vitest\/dist\//, + // yarn's .store folder + /vitest-virtual-\w+\/dist/, + ) resolved.environment = resolved.environment || 'node' resolved.threads = resolved.threads ?? true