fix(vite-plugin): set rollupOptions.platform: "neutral"
on rolldown-vite
#9891
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes vitejs/rolldown-vite#248
The issue is reported on rolldown-vite repository vitejs/rolldown-vite#248. Rolldown has esbuild-like
platform
option to control the default behavior such asrequire
polyfill. Rolldown-vite server build usesplatform: "node"
by default and it causes an issue with cloudflare plugin due tonode:module
appearing inresolveId
, which gets externalized and not being tree-shaken (cf. #9609). By settingplatform: "neutral"
, it avoids cloudflare plugin to seeresolveId("node:module")
and fixes the issue (though tree-shaking issue still exists when nodejs_compat is not enabled).There's also new
optimizeDeps.rollupOptions.platform
, but rolldown-vite automatically copies it fromoptimizeDeps.esbuildOptions.platform
, so it's not necessary to be changed yet.I manually tested the local build with my reproduction.