From 9e1c4518a869a8af138cf4548e8f4b07082b879f Mon Sep 17 00:00:00 2001 From: Pat Cavit Date: Tue, 1 Sep 2026 13:19:09 -0700 Subject: [PATCH 1/3] fix: vite@8 build compatibility Rolldown doesn't support `moduleSideEffects : "no-treeshake"`, so just always return `true` to ensure nothing gets removed. --- packages/vite/vite.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/vite/vite.js b/packages/vite/vite.js index be66268e4..c8a0bda0e 100644 --- a/packages/vite/vite.js +++ b/packages/vite/vite.js @@ -253,9 +253,8 @@ module.exports = ( code : result, map : emptyMappings, - // Disable tree-shaking for CSS modules w/o any classes/values to export - // to make sure they're included in the bundle - moduleSideEffects : Boolean(namedExports.length) || "no-treeshake", + // Disable tree-shaking for CSS modules to make sure they're included in the bundle + moduleSideEffects : true, }; }, }; From d625d1bf301298d354556f1b9ed0c036f5d5c54d Mon Sep 17 00:00:00 2001 From: Pat Cavit Date: Tue, 1 Sep 2026 13:20:36 -0700 Subject: [PATCH 2/3] chore: fix lint issue --- packages/vite/vite.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/vite.js b/packages/vite/vite.js index c8a0bda0e..a24f8e0cd 100644 --- a/packages/vite/vite.js +++ b/packages/vite/vite.js @@ -220,7 +220,7 @@ module.exports = ( return this.error(e); } - const { code : css, namedExports, warnings } = transform(file, processor, pluginOptions); + const { code : css, warnings } = transform(file, processor, pluginOptions); warnings.forEach((warning) => { this.warn(warning); From 8d9a761689c01932fb989467b47ac6d0888f3a1c Mon Sep 17 00:00:00 2001 From: Pat Cavit Date: Tue, 1 Sep 2026 13:23:17 -0700 Subject: [PATCH 3/3] docs: add changeset --- .changeset/funny-banks-bet.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/funny-banks-bet.md diff --git a/.changeset/funny-banks-bet.md b/.changeset/funny-banks-bet.md new file mode 100644 index 000000000..c0434bf46 --- /dev/null +++ b/.changeset/funny-banks-bet.md @@ -0,0 +1,7 @@ +--- +"@modular-css/vite": patch +--- + +fix: vite@8 build compatibility + +Vite plugins can return `moduleSideEffects` from their `transform` hook, but with the switch to Rolldown for built output the valid arguments changed.