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.
This PR contains the following updates:
^3.2.5
->^4.0.0
Release Notes
vitejs/vite
v4.0.0
Compare Source
Read the announcement blog post: Announcing Vite 4
Quick links:
Docs in other languages:
Main Changes
This major is smaller in scope compared to Vite 3, with the main objective of upgrading to Rollup 3. We've worked with the ecosystem to ensure a smooth upgrade path for this new major.
Rollup 3
Vite is now using Rollup 3, which allowed us to simplify Vite's internal asset handling and has many improvements. See the Rollup 3 release notes here.
Framework Plugins out of the Vite core monorepo
@vitejs/plugin-vue
and@vitejs/plugin-react
have been part of Vite core monorepo since the first versions of Vite. This helped us to get a close feedback loop when making changes as we were getting both Core and the plugins tested and released together. With vite-ecosystem-ci we can get this feedback with these plugins developed on independent repositories, so from Vite 4, they have been moved out of the Vite core monorepo. This is meaningful for Vite's framework-agnostic story, and will allow us to build independent teams to maintain each of the plugins. If you have bugs to report or features to request, please create issues on the new repositories moving forward:vitejs/vite-plugin-vue
andvitejs/vite-plugin-react
.New React plugin using SWC during development
SWC is now a mature replacement for Babel, especially in the context of React projects. SWC's React Fast Refresh implementation is a lot faster than Babel, and for some projects, it is now a better alternative. From Vite 4, two plugins are available for React projects with different tradeoffs. We believe that both approaches are worth supporting at this point, and we'll continue to explore improvements to both plugins in the future.
@vitejs/plugin-react
@vitejs/plugin-react is a plugin that uses esbuild and Babel, achieving fast HMR with a small package footprint and the flexibility of being able to use the babel transform pipeline.
@vitejs/plugin-react-swc (new)
@vitejs/plugin-react-swc is a new plugin that uses esbuild during build, but replaces Babel with SWC during development. For big projects that don't require non-standard React extensions, cold start and Hot Module Replacement (HMR) can be significantly faster.
Compatibility
The modern browser build now targets
safari14
by default for wider ES2020 compatibility (https://github.com/vitejs/vite/issues/9063). This means that modern builds can now useBigInt
and that the nullish coallessing operator isn't transpiled anymore. If you need to support older browsers, you can add@vitejs/plugin-legacy
as usual.Importing CSS as a string
In Vite 3, importing the default export of a
.css
file could introduce a double loading of CSS.This double loading could occur since a
.css
file will be emitted and it's likely that the CSS string will also be used by the application code — for example, injected by the framework runtime. From Vite 4, the.css
default export has been deprecated. The?inline
query suffix modifier needs to be used in this case, as that doesn't emit the imported.css
styles.Other features
kB
to align with browser dev tools (#10982)Features
expand
(#11141) (825c793), closes #11141safari14
by default for wider ES2020 compatibility (#9063) (3cc65d7), closes #9063transformIndexHtml
hook (#9669) (1db52bf), closes #9669Bug Fixes
\0
to virtual files id (#11261) (02cdfa9), closes #11261NODE_ENV
more predictable (#10996) (8148af7), closes #10996addWatchFile()
work (fix #7024) (#9723) (34db08b), closes #7024 #9723null
fromCSSModulesOptions.localsConvention
(#10904) (a9978dd), closes #10904base
inresolveConfig
and dev server (#10247) (16e4123), closes #10247Previous Changelogs
4.0.0-beta.7 (2022-12-08)
See 4.0.0-beta.7 changelog
4.0.0-beta.6 (2022-12-08)
See 4.0.0-beta.6 changelog
4.0.0-beta.5 (2022-12-08)
See 4.0.0-beta.5 changelog
4.0.0-beta.4 (2022-12-07)
See 4.0.0-beta.4 changelog
4.0.0-beta.3 (2022-12-07)
See 4.0.0-beta.3 changelog
4.0.0-beta.2 (2022-12-07)
See 4.0.0-beta.2 changelog
4.0.0-beta.1 (2022-12-06)
See 4.0.0-beta.1 changelog
4.0.0-beta.0 (2022-12-05)
See 4.0.0-beta.0 changelog
4.0.0-alpha.6 (2022-11-30)
See 4.0.0-alpha.6 changelog
4.0.0-alpha.5 (2022-11-22)
See 4.0.0-alpha.5 changelog
4.0.0-alpha.4 (2022-11-17)
See 4.0.0-alpha.4 changelog
4.0.0-alpha.3 (2022-11-15)
See 4.0.0-alpha.3 changelog
4.0.0-alpha.2 (2022-11-13)
See 4.0.0-alpha.2 changelog
4.0.0-alpha.1 (2022-11-12)
See 4.0.0-alpha.1 changelog
4.0.0-alpha.0 (2022-11-07)
See 4.0.0-alpha.0 changelog
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.