From 480da95d7cc9427313c81033ed5d723be6d69bd5 Mon Sep 17 00:00:00 2001 From: ci010 Date: Fri, 26 Mar 2021 18:20:12 +0800 Subject: [PATCH] fix(optimizer): ensure the js files in deps won't mark as external --- packages/vite/src/node/optimizer/esbuildDepPlugin.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts b/packages/vite/src/node/optimizer/esbuildDepPlugin.ts index 19d758c6c3fe53..ce220c6786acbb 100644 --- a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts +++ b/packages/vite/src/node/optimizer/esbuildDepPlugin.ts @@ -66,14 +66,18 @@ export function esbuildDepPlugin( return { name: 'vite:dep-pre-bundle', setup(build) { + const nonJsFileRE = new RegExp( + `\\.(` + externalTypes.join('|') + `)(\\?.*)?$` + ) // externalize assets and commonly known non-js file types build.onResolve( { - filter: new RegExp(`\\.(` + externalTypes.join('|') + `)(\\?.*)?$`) + filter: nonJsFileRE }, async ({ path: id, importer, kind }) => { const resolved = await resolve(id, importer, kind) - if (resolved) { + // ensure the files finally resolved as js won't be marked to external + if (resolved && nonJsFileRE.test(resolved)) { return { path: resolved, external: true