Update Vite to 5.x, accommodate ESM-only exports in Vite #6939
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.
Update display-test-app and display-performance-test-app to Vite 5.x.
Migration guide from Vite.
Notable, impacted changes from the guide above involves Vite dropping CJS support of their modules, and only exporting ESM.
Solutions are documented in Vite's official migration page, one involved changing package.json's
type
:module
, one involved changing vite.config.ts to vite.config.mts.I chose the latter, and here are the following changes:
rollup-plugin-external-globals
require.resolve
doesn't work by default, the solution I chose is to usecreateRequire
from themodule
module. There's also an experimentalimport.meta.resolve()
, but it's not a 1-1 implementation of require.resolve(), and the former is a more stable solution. We can look into using import.meta.resolve() in the future when it's not flagged as experimental.