From 9133b4c46a5f58455a9b2862069b959eeaab3dce Mon Sep 17 00:00:00 2001 From: Mihkel Eidast Date: Tue, 24 Jan 2023 20:03:11 +0200 Subject: [PATCH 1/2] feat: deep resolve side effects --- packages/vite/src/node/packages.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/packages.ts b/packages/vite/src/node/packages.ts index e1fd0302290e31..935c3a195eab0e 100644 --- a/packages/vite/src/node/packages.ts +++ b/packages/vite/src/node/packages.ts @@ -100,7 +100,20 @@ export function loadPackageData( if (typeof sideEffects === 'boolean') { hasSideEffects = () => sideEffects } else if (Array.isArray(sideEffects)) { - hasSideEffects = createFilter(sideEffects, null, { resolve: pkgDir }) + const finalPackageSideEffects = sideEffects.map((sideEffect) => { + /* + * The array accepts simple glob patterns to the relevant files... Patterns like *.css, which do not include a /, will be treated like **\/*.css. + * https://webpack.js.org/guides/tree-shaking/ + */ + if (sideEffect.includes('/')) { + return sideEffect + } + return `**/${sideEffect}` + }) + + hasSideEffects = createFilter(finalPackageSideEffects, null, { + resolve: pkgDir, + }) } else { hasSideEffects = () => true } From 55576654973b2e162e91a25b023667fc4192356b Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 26 Jan 2023 10:31:53 +0100 Subject: [PATCH 2/2] chore: add link to the PR --- packages/vite/src/node/packages.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vite/src/node/packages.ts b/packages/vite/src/node/packages.ts index 935c3a195eab0e..d1a78a96d2ded6 100644 --- a/packages/vite/src/node/packages.ts +++ b/packages/vite/src/node/packages.ts @@ -104,6 +104,7 @@ export function loadPackageData( /* * The array accepts simple glob patterns to the relevant files... Patterns like *.css, which do not include a /, will be treated like **\/*.css. * https://webpack.js.org/guides/tree-shaking/ + * https://github.com/vitejs/vite/pull/11807 */ if (sideEffect.includes('/')) { return sideEffect