From 6863aecb9470e5746db3919f00195a2bc1c3e3a2 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 16 Feb 2021 14:18:05 -0500 Subject: [PATCH] fix(scan): ignore virtual entries during scan close #2047 --- packages/vite/src/node/optimizer/scan.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index 0bf9b05f7fe150..b5d554812a1327 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -13,10 +13,7 @@ import { externalRE, dataUrlRE } from '../utils' -import { - createPluginContainer, - PluginContainer -} from '../server/pluginContainer' +import { PluginContainer } from '../server/pluginContainer' import { init, parse } from 'es-module-lexer' import MagicString from 'magic-string' import { transformImportGlob } from '../importGlob' @@ -56,9 +53,12 @@ export async function scanImports( entries = await globEntries('**/*.html', config) } - // Non-supported entry file types should not be scanned for dependencies. + // Non-supported entry file types and virtual files should not be scanned for + // dependencies. entries = entries.filter( - (entry) => JS_TYPES_RE.test(entry) || htmlTypesRE.test(entry) + (entry) => + (JS_TYPES_RE.test(entry) || htmlTypesRE.test(entry)) && + fs.existsSync(entry) ) if (!entries.length) { @@ -71,7 +71,6 @@ export async function scanImports( const tempDir = path.join(config.optimizeCacheDir!, 'temp') const deps: Record = {} const missing: Record = {} - const container = await createPluginContainer(config) const plugin = esbuildScanPlugin(config, container, deps, missing, entries) const esbuildService = await ensureService()