-
-
Notifications
You must be signed in to change notification settings - Fork 6.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: support safari14
by default for wider ES2020 compatibility
#9063
Conversation
From vitejs#9062, it sounds like the goal is to support ES2020 by default. However, the browser list was set to `safari13`, which means that big ints (an ES2020 feature) produced an error by default. This PR updates from `safari13` to `safari14` (released September 2020) to support that. Thanks for any consideration of this change!
✅ Deploy Preview for vite-docs-main ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
safari13
to safari14
in the default target listsafari13
to safari14
in the default target list, for wider ES2020 compatibility
Hey @lgarron, thanks for the PR. For reference, we updated Safari from 13.1 to 13 so we still transpile nullish coallesing in: IIUC safari 13.1 still doesn't support big int (https://caniuse.com/?search=BigInt), so you should be getting the same problem in 2.9 if only setting the es2020 target. Would you check that? The other option is to leave Safari as 13 and downgrade Firefox to 71 (also not transpiling nullish coallesing). We have planned a v3 release today so changing to Safari 14 isn't an option for Vite v3. But Vite v4 will be released in a few months after upgrading to rollup v3, so we will have another opportunity to review the targets there. |
I see, that's more of a hack than actually intended to declare the target Safari compat?
Yeah, I had issues with Vite 2, and it sounds like the answer from #9062 is "use Vite 3".
Hmm, that sounds like the answer is "actually, use Vite 4". I guess if it's too late to add default big int compat to Vite 3, then we just won't be able to recommend it as a bundler, and have to document caveats. I can certainly understand if shipping Vite 3 soon is more important than wider ES2020 compat, though.
Do you mean |
@@ -18,7 +18,7 @@ export const ESBUILD_MODULES_TARGET = [ | |||
'edge88', | |||
'firefox78', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you mean this?
(+ undoing the other change)
'firefox78', | |
'firefox71', // transpile nullish coalescing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean reverting to safari 13.1, as you said this issue wasn't present in v2.9 + es2020. But I think safari 14 is needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, Safari 13.1 wouldn't help for compat in this case: https://caniuse.com/bigint
I mean firefox71 + safari13.1, but I dont see how that would help. We could use Do you mean firefox71 + safari14 in v4, and during the next months better document the config needed as you suggest |
Yeah, that wouldn't. 😔
Yeah, I appreciate that goal, but unfortunately we really want to recommend a bundler that works out of the box, with no configuration. We can't hang our hat waiting on a future Vite 4 release, so we'll probably have to figure out another choice. Thanks for the due consideration! |
Interestingly, it looks like So it might be possible to replace the workaround with: Or it would work for us to set |
Here's an approach that avoids Safari 14 while explicitly setting those two: main...lgarron:vite:esbuild-supported-features It compiles, but I still haven't managed to figure out how to test it, though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also need to update the docs at
Line 11 in 892916d
- Safari >=13 |
Besides that LGTM!
I'm probably on the side that we don't need to lower any version so that nullish coalescing gets transpiled. It's supported by most browsers since Q1 2020. If there's a compelling request after 4.0 we could still do so too in a non-breaking way.
safari13
to safari14
in the default target list, for wider ES2020 compatibilitysafari14
by default for wider ES2020 compatibility
safari14
by default for wider ES2020 compatibilitysafari14
by default for wider ES2020 compatibility
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with your call @bluwy. For reference https://caniuse.com/?search=nullish%20coalescing. This should help also reduce some projects' size in prod, which is great.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`3.2.4` -> `4.0.1`](https://renovatebot.com/diffs/npm/vite/3.2.4/4.0.1) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.0.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.0.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.0.1/compatibility-slim/3.2.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.0.1/confidence-slim/3.2.4)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite</summary> ### [`v4.0.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small401-2022-12-12-small) [Compare Source](https://togithub.com/vitejs/vite/compare/566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f...v4.0.1) - feat: show server url by pressing `u` ([#​11319](https://togithub.com/vitejs/vite/issues/11319)) ([8c0bb7b](https://togithub.com/vitejs/vite/commit/8c0bb7b)), closes [#​11319](https://togithub.com/vitejs/vite/issues/11319) - feat(html): clickable error position for html parse error ([#​11334](https://togithub.com/vitejs/vite/issues/11334)) ([2e15f3d](https://togithub.com/vitejs/vite/commit/2e15f3d)), closes [#​11334](https://togithub.com/vitejs/vite/issues/11334) - fix: ?inline warning for .css.js file ([#​11347](https://togithub.com/vitejs/vite/issues/11347)) ([729fb1a](https://togithub.com/vitejs/vite/commit/729fb1a)), closes [#​11347](https://togithub.com/vitejs/vite/issues/11347) - fix: check if build exists so preview doesn't show 404s due to nonexistent build ([#​10564](https://togithub.com/vitejs/vite/issues/10564)) ([0a1db8c](https://togithub.com/vitejs/vite/commit/0a1db8c)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) - fix: derive `useDefineForClassFields` value from `tsconfig.compilerOptions.target` (fixes [#​10296](https://togithub.com/vitejs/vite/issues/10296)) (# ([42976d8](https://togithub.com/vitejs/vite/commit/42976d8)), closes [#​10296](https://togithub.com/vitejs/vite/issues/10296) [#​11301](https://togithub.com/vitejs/vite/issues/11301) - fix: preview fallback ([#​11312](https://togithub.com/vitejs/vite/issues/11312)) ([cfedf9c](https://togithub.com/vitejs/vite/commit/cfedf9c)), closes [#​11312](https://togithub.com/vitejs/vite/issues/11312) - fix: respect base when using `/__open-in-editor` ([#​11337](https://togithub.com/vitejs/vite/issues/11337)) ([8856c2e](https://togithub.com/vitejs/vite/commit/8856c2e)), closes [#​11337](https://togithub.com/vitejs/vite/issues/11337) - fix: wrongly resolve to optimized doppelganger ([#​11290](https://togithub.com/vitejs/vite/issues/11290)) ([34fec41](https://togithub.com/vitejs/vite/commit/34fec41)), closes [#​11290](https://togithub.com/vitejs/vite/issues/11290) - fix(env): test NODE_ENV override before expand ([#​11309](https://togithub.com/vitejs/vite/issues/11309)) ([d0a9281](https://togithub.com/vitejs/vite/commit/d0a9281)), closes [#​11309](https://togithub.com/vitejs/vite/issues/11309) - fix(preview): Revert [#​10564](https://togithub.com/vitejs/vite/issues/10564) - throw Error on missing outDir ([#​11335](https://togithub.com/vitejs/vite/issues/11335)) ([3aaa0ea](https://togithub.com/vitejs/vite/commit/3aaa0ea)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) [#​11335](https://togithub.com/vitejs/vite/issues/11335) [#​10564](https://togithub.com/vitejs/vite/issues/10564) - docs: fix banner image in CHANGELOG.md ([#​11336](https://togithub.com/vitejs/vite/issues/11336)) ([45b66f4](https://togithub.com/vitejs/vite/commit/45b66f4)), closes [#​11336](https://togithub.com/vitejs/vite/issues/11336) - chore: enable `@typescript-eslint/ban-ts-comment` ([#​11326](https://togithub.com/vitejs/vite/issues/11326)) ([e58a4f0](https://togithub.com/vitejs/vite/commit/e58a4f0)), closes [#​11326](https://togithub.com/vitejs/vite/issues/11326) - chore: fix format ([#​11311](https://togithub.com/vitejs/vite/issues/11311)) ([9c2b1c0](https://togithub.com/vitejs/vite/commit/9c2b1c0)), closes [#​11311](https://togithub.com/vitejs/vite/issues/11311) - chore: update changelog release notes for 4.0 ([#​11285](https://togithub.com/vitejs/vite/issues/11285)) ([83abd37](https://togithub.com/vitejs/vite/commit/83abd37)), closes [#​11285](https://togithub.com/vitejs/vite/issues/11285) - chore(deps): update all non-major dependencies ([#​11321](https://togithub.com/vitejs/vite/issues/11321)) ([dcc0004](https://togithub.com/vitejs/vite/commit/dcc0004)), closes [#​11321](https://togithub.com/vitejs/vite/issues/11321) - chore(esbuild): add test for configuration overrides ([#​11267](https://togithub.com/vitejs/vite/issues/11267)) ([f897b64](https://togithub.com/vitejs/vite/commit/f897b64)), closes [#​11267](https://togithub.com/vitejs/vite/issues/11267) ### [`v4.0.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#​400-2022-12-09) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.5...566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f) ![Vite 4 Announcement Cover Image](https://vitejs.dev/og-image-announcing-vite4.png) Read the announcement blog post: [Announcing Vite 4](https://vitejs.dev/blog/announcing-vite4) Quick links: - [Docs](https://vitejs.dev) - [Migration Guide](https://vitejs.dev/guide/migration) Docs in other languages: - [简体中文](https://cn.vitejs.dev/) - [日本語](https://ja.vitejs.dev/) - [Español](https://es.vitejs.dev/) ##### 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](https://togithub.com/vitejs/vite/issues/9870), which allowed us to simplify Vite's internal asset handling and has many improvements. See the [Rollup 3 release notes here](https://togithub.com/rollup/rollup/releases). ##### Framework Plugins out of the Vite core monorepo [`@vitejs/plugin-vue`](https://togithub.com/vitejs/vite-plugin-vue) and [`@vitejs/plugin-react`](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/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](https://togithub.com/vitejs/vite/pull/11158). 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`](https://togithub.com/vitejs/vite-plugin-vue) and [`vitejs/vite-plugin-react`](https://togithub.com/vitejs/vite-plugin-react). ##### New React plugin using SWC during development [SWC](https://swc.rs/) is now a mature replacement for [Babel](https://babeljs.io/), 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](https://togithub.com/vitejs/plugin-react) [@​vitejs/plugin-react](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/plugin-react-swc) (new) [@​vitejs/plugin-react-swc](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/vite/issues/9063)). This means that modern builds can now use [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) and that the [nullish coallessing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) isn't transpiled anymore. If you need to support older browsers, you can add [`@vitejs/plugin-legacy`](https://togithub.com/vitejs/vite/tree/main/packages/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. ```ts import cssString from './global.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](https://togithub.com/vitejs/vite/issues/11094). The `?inline` query suffix modifier needs to be used in this case, as that doesn't emit the imported `.css` styles. ```ts import stuff from './global.css?inline' ``` ##### Other features - Support for patch-package when pre bundling dependencies ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) - Cleaner build logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) and switch to `kB` to align with browser dev tools ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) - Improved error messages during SSR ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ##### Features - feat: add CLI keyboard shortcuts ([#​11228](https://togithub.com/vitejs/vite/issues/11228)) ([87973f1](https://togithub.com/vitejs/vite/commit/87973f1)), closes [#​11228](https://togithub.com/vitejs/vite/issues/11228) - feat: export error message generator ([#​11155](https://togithub.com/vitejs/vite/issues/11155)) ([493ba1e](https://togithub.com/vitejs/vite/commit/493ba1e)), closes [#​11155](https://togithub.com/vitejs/vite/issues/11155) - feat(node/plugins): esbuild options ([#​11049](https://togithub.com/vitejs/vite/issues/11049)) ([735b98b](https://togithub.com/vitejs/vite/commit/735b98b)), closes [#​11049](https://togithub.com/vitejs/vite/issues/11049) - feat: improve the error message of `expand` ([#​11141](https://togithub.com/vitejs/vite/issues/11141)) ([825c793](https://togithub.com/vitejs/vite/commit/825c793)), closes [#​11141](https://togithub.com/vitejs/vite/issues/11141) - feat: update [@​types/node](https://togithub.com/types/node) to v18 ([#​11195](https://togithub.com/vitejs/vite/issues/11195)) ([4ec9f53](https://togithub.com/vitejs/vite/commit/4ec9f53)), closes [#​11195](https://togithub.com/vitejs/vite/issues/11195) - feat(client)!: remove never implemented hot.decline ([#​11036](https://togithub.com/vitejs/vite/issues/11036)) ([e257e3b](https://togithub.com/vitejs/vite/commit/e257e3b)), closes [#​11036](https://togithub.com/vitejs/vite/issues/11036) - feat!: support `safari14` by default for wider ES2020 compatibility ([#​9063](https://togithub.com/vitejs/vite/issues/9063)) ([3cc65d7](https://togithub.com/vitejs/vite/commit/3cc65d7)), closes [#​9063](https://togithub.com/vitejs/vite/issues/9063) - feat!: support multiline values in env files ([#​10826](https://togithub.com/vitejs/vite/issues/10826)) ([606e60d](https://togithub.com/vitejs/vite/commit/606e60d)), closes [#​10826](https://togithub.com/vitejs/vite/issues/10826) - feat(ssr)!: remove dedupe and mode support for CJS ([#​11101](https://togithub.com/vitejs/vite/issues/11101)) ([3090564](https://togithub.com/vitejs/vite/commit/3090564)), closes [#​11101](https://togithub.com/vitejs/vite/issues/11101) - feat: align object interface for `transformIndexHtml` hook ([#​9669](https://togithub.com/vitejs/vite/issues/9669)) ([1db52bf](https://togithub.com/vitejs/vite/commit/1db52bf)), closes [#​9669](https://togithub.com/vitejs/vite/issues/9669) - feat(build): cleaner logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) ([7d24b5f](https://togithub.com/vitejs/vite/commit/7d24b5f)), closes [#​10895](https://togithub.com/vitejs/vite/issues/10895) - feat(css): deprecate css default export ([#​11094](https://togithub.com/vitejs/vite/issues/11094)) ([01dee1b](https://togithub.com/vitejs/vite/commit/01dee1b)), closes [#​11094](https://togithub.com/vitejs/vite/issues/11094) - feat(optimizer): support patch-package ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) ([4fb7ad0](https://togithub.com/vitejs/vite/commit/4fb7ad0)), closes [#​10286](https://togithub.com/vitejs/vite/issues/10286) - feat(build): Use kB in build reporter ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) ([b57acfa](https://togithub.com/vitejs/vite/commit/b57acfa)), closes [#​10982](https://togithub.com/vitejs/vite/issues/10982) - feat(css): upgrade postcss-modules ([#​10987](https://togithub.com/vitejs/vite/issues/10987)) ([892916d](https://togithub.com/vitejs/vite/commit/892916d)), closes [#​10987](https://togithub.com/vitejs/vite/issues/10987) - feat(hmr): invalidate message ([#​10946](https://togithub.com/vitejs/vite/issues/10946)) ([0d73473](https://togithub.com/vitejs/vite/commit/0d73473)), closes [#​10946](https://togithub.com/vitejs/vite/issues/10946) - feat(client): expose hot.prune API ([#​11016](https://togithub.com/vitejs/vite/issues/11016)) ([f40c18d](https://togithub.com/vitejs/vite/commit/f40c18d)), closes [#​11016](https://togithub.com/vitejs/vite/issues/11016) - feat(hmr): deduplicate paths and join them with commas ([#​10891](https://togithub.com/vitejs/vite/issues/10891)) ([967299a](https://togithub.com/vitejs/vite/commit/967299a)), closes [#​10891](https://togithub.com/vitejs/vite/issues/10891) - feat: base without trailing slash ([#​10723](https://togithub.com/vitejs/vite/issues/10723)) ([8f87282](https://togithub.com/vitejs/vite/commit/8f87282)), closes [#​10723](https://togithub.com/vitejs/vite/issues/10723) - feat: handle static assets in case-sensitive manner ([#​10475](https://togithub.com/vitejs/vite/issues/10475)) ([c1368c3](https://togithub.com/vitejs/vite/commit/c1368c3)), closes [#​10475](https://togithub.com/vitejs/vite/issues/10475) - feat(cli): build --profile ([#​10719](https://togithub.com/vitejs/vite/issues/10719)) ([9c808cd](https://togithub.com/vitejs/vite/commit/9c808cd)), closes [#​10719](https://togithub.com/vitejs/vite/issues/10719) - feat(env): support dotenv-expand to contains process env ([#​10370](https://togithub.com/vitejs/vite/issues/10370)) ([d5fe92c](https://togithub.com/vitejs/vite/commit/d5fe92c)), closes [#​10370](https://togithub.com/vitejs/vite/issues/10370) - feat!: set esbuild default charset to utf8 ([#​10753](https://togithub.com/vitejs/vite/issues/10753)) ([4caf4b6](https://togithub.com/vitejs/vite/commit/4caf4b6)), closes [#​10753](https://togithub.com/vitejs/vite/issues/10753) - feat: rollup 3 ([#​9870](https://togithub.com/vitejs/vite/issues/9870)) ([beb7166](https://togithub.com/vitejs/vite/commit/beb7166)), closes [#​9870](https://togithub.com/vitejs/vite/issues/9870) ##### Bug Fixes - fix: add `\0` to virtual files id ([#​11261](https://togithub.com/vitejs/vite/issues/11261)) ([02cdfa9](https://togithub.com/vitejs/vite/commit/02cdfa9)), closes [#​11261](https://togithub.com/vitejs/vite/issues/11261) - fix: skip shortcuts on non-tty stdin ([#​11263](https://togithub.com/vitejs/vite/issues/11263)) ([9602686](https://togithub.com/vitejs/vite/commit/9602686)), closes [#​11263](https://togithub.com/vitejs/vite/issues/11263) - fix(ssr): skip rewriting stack trace if it's already rewritten (fixes [#​11037](https://togithub.com/vitejs/vite/issues/11037)) ([#​11070](https://togithub.com/vitejs/vite/issues/11070)) ([feb8ce0](https://togithub.com/vitejs/vite/commit/feb8ce0)), closes [#​11037](https://togithub.com/vitejs/vite/issues/11037) [#​11070](https://togithub.com/vitejs/vite/issues/11070) - refactor(optimizer): await depsOptimizer.scanProcessing ([#​11251](https://togithub.com/vitejs/vite/issues/11251)) ([fa64c8e](https://togithub.com/vitejs/vite/commit/fa64c8e)), closes [#​11251](https://togithub.com/vitejs/vite/issues/11251) - fix: improve CLI shortcuts help display ([#​11247](https://togithub.com/vitejs/vite/issues/11247)) ([bb235b2](https://togithub.com/vitejs/vite/commit/bb235b2)), closes [#​11247](https://togithub.com/vitejs/vite/issues/11247) - fix: less promises for scanning and await with allSettled ([#​11245](https://togithub.com/vitejs/vite/issues/11245)) ([45b170e](https://togithub.com/vitejs/vite/commit/45b170e)), closes [#​11245](https://togithub.com/vitejs/vite/issues/11245) - fix(optimizer): escape entrypoints when running scanner ([#​11250](https://togithub.com/vitejs/vite/issues/11250)) ([b61894e](https://togithub.com/vitejs/vite/commit/b61894e)), closes [#​11250](https://togithub.com/vitejs/vite/issues/11250) - fix: await scanner ([#​11242](https://togithub.com/vitejs/vite/issues/11242)) ([52a6732](https://togithub.com/vitejs/vite/commit/52a6732)), closes [#​11242](https://togithub.com/vitejs/vite/issues/11242) - fix(css): fix css lang regex ([#​11237](https://togithub.com/vitejs/vite/issues/11237)) ([a55d0b3](https://togithub.com/vitejs/vite/commit/a55d0b3)), closes [#​11237](https://togithub.com/vitejs/vite/issues/11237) - fix: don't print urls on restart with default port ([#​11230](https://togithub.com/vitejs/vite/issues/11230)) ([5aaecb6](https://togithub.com/vitejs/vite/commit/5aaecb6)), closes [#​11230](https://togithub.com/vitejs/vite/issues/11230) - fix: serialize bundleWorkerEntry ([#​11218](https://togithub.com/vitejs/vite/issues/11218)) ([306bed0](https://togithub.com/vitejs/vite/commit/306bed0)), closes [#​11218](https://togithub.com/vitejs/vite/issues/11218) - fix(config): resolve dynamic import as esm ([#​11220](https://togithub.com/vitejs/vite/issues/11220)) ([f8c1ed0](https://togithub.com/vitejs/vite/commit/f8c1ed0)), closes [#​11220](https://togithub.com/vitejs/vite/issues/11220) - fix(env): prevent env expand on process.env ([#​11213](https://togithub.com/vitejs/vite/issues/11213)) ([d4a1e2b](https://togithub.com/vitejs/vite/commit/d4a1e2b)), closes [#​11213](https://togithub.com/vitejs/vite/issues/11213) - fix: add type for function localsConvention value ([#​11152](https://togithub.com/vitejs/vite/issues/11152)) ([c9274b4](https://togithub.com/vitejs/vite/commit/c9274b4)), closes [#​11152](https://togithub.com/vitejs/vite/issues/11152) - fix: cacheDir should be ignored from watch ([#​10242](https://togithub.com/vitejs/vite/issues/10242)) ([75dbca2](https://togithub.com/vitejs/vite/commit/75dbca2)), closes [#​10242](https://togithub.com/vitejs/vite/issues/10242) - fix: don't check .yarn/patches for computing dependencies hash ([#​11168](https://togithub.com/vitejs/vite/issues/11168)) ([65bcccf](https://togithub.com/vitejs/vite/commit/65bcccf)), closes [#​11168](https://togithub.com/vitejs/vite/issues/11168) - fix: formatError() outside rollup context ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ([2aee2eb](https://togithub.com/vitejs/vite/commit/2aee2eb)), closes [#​11156](https://togithub.com/vitejs/vite/issues/11156) - fix: Revert "fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476))" ([#​11](https://togithub.com/vitejs/vite/issues/11) ([fdc6f3a](https://togithub.com/vitejs/vite/commit/fdc6f3a)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) [#​11144](https://togithub.com/vitejs/vite/issues/11144) - fix: Dev SSR dep optimization + respect optimizeDeps.include ([#​11123](https://togithub.com/vitejs/vite/issues/11123)) ([515caa5](https://togithub.com/vitejs/vite/commit/515caa5)), closes [#​11123](https://togithub.com/vitejs/vite/issues/11123) - fix: export preprocessCSS in CJS ([#​11067](https://togithub.com/vitejs/vite/issues/11067)) ([793255d](https://togithub.com/vitejs/vite/commit/793255d)), closes [#​11067](https://togithub.com/vitejs/vite/issues/11067) - fix: glob import parsing ([#​10949](https://togithub.com/vitejs/vite/issues/10949)) ([#​11056](https://togithub.com/vitejs/vite/issues/11056)) ([ac2cfd6](https://togithub.com/vitejs/vite/commit/ac2cfd6)), closes [#​10949](https://togithub.com/vitejs/vite/issues/10949) [#​11056](https://togithub.com/vitejs/vite/issues/11056) - fix: import.meta.env and process.env undefined variable replacement (fix [#​8663](https://togithub.com/vitejs/vite/issues/8663)) ([#​10958](https://togithub.com/vitejs/vite/issues/10958)) ([3e0cd3d](https://togithub.com/vitejs/vite/commit/3e0cd3d)), closes [#​8663](https://togithub.com/vitejs/vite/issues/8663) [#​10958](https://togithub.com/vitejs/vite/issues/10958) - fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476)) ([3fa96f6](https://togithub.com/vitejs/vite/commit/3fa96f6)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) - fix: preserve default export from externalized packages (fixes [#​10258](https://togithub.com/vitejs/vite/issues/10258)) ([#​10406](https://togithub.com/vitejs/vite/issues/10406)) ([88b001b](https://togithub.com/vitejs/vite/commit/88b001b)), closes [#​10258](https://togithub.com/vitejs/vite/issues/10258) [#​10406](https://togithub.com/vitejs/vite/issues/10406) - fix: reset global regex before match ([#​11132](https://togithub.com/vitejs/vite/issues/11132)) ([db8df14](https://togithub.com/vitejs/vite/commit/db8df14)), closes [#​11132](https://togithub.com/vitejs/vite/issues/11132) - fix(css): handle environment with browser globals ([#​11079](https://togithub.com/vitejs/vite/issues/11079)) ([e92d025](https://togithub.com/vitejs/vite/commit/e92d025)), closes [#​11079](https://togithub.com/vitejs/vite/issues/11079) - fix(deps): update all non-major dependencies ([#​11091](https://togithub.com/vitejs/vite/issues/11091)) ([073a4bf](https://togithub.com/vitejs/vite/commit/073a4bf)), closes [#​11091](https://togithub.com/vitejs/vite/issues/11091) - fix(esbuild): handle inline sourcemap option ([#​11120](https://togithub.com/vitejs/vite/issues/11120)) ([4c85c0a](https://togithub.com/vitejs/vite/commit/4c85c0a)), closes [#​11120](https://togithub.com/vitejs/vite/issues/11120) - fix(importGlob): don't warn when CSS default import is not used ([#​11121](https://togithub.com/vitejs/vite/issues/11121)) ([97f8b4d](https://togithub.com/vitejs/vite/commit/97f8b4d)), closes [#​11121](https://togithub.com/vitejs/vite/issues/11121) - fix(importGlob): preserve line count for sourcemap ([#​11122](https://togithub.com/vitejs/vite/issues/11122)) ([14980a1](https://togithub.com/vitejs/vite/commit/14980a1)), closes [#​11122](https://togithub.com/vitejs/vite/issues/11122) - fix(importGlob): warn on default import css ([#​11103](https://togithub.com/vitejs/vite/issues/11103)) ([fc0d9e3](https://togithub.com/vitejs/vite/commit/fc0d9e3)), closes [#​11103](https://togithub.com/vitejs/vite/issues/11103) - fix(plugin-vue): support scss/sass/less... hmr on custom template languages (fix [#​10677](https://togithub.com/vitejs/vite/issues/10677)) ([#​10844](https://togithub.com/vitejs/vite/issues/10844)) ([d413848](https://togithub.com/vitejs/vite/commit/d413848)), closes [#​10677](https://togithub.com/vitejs/vite/issues/10677) [#​10844](https://togithub.com/vitejs/vite/issues/10844) - fix(ssr): preserve require for external node ([#​11057](https://togithub.com/vitejs/vite/issues/11057)) ([1ec0176](https://togithub.com/vitejs/vite/commit/1ec0176)), closes [#​11057](https://togithub.com/vitejs/vite/issues/11057) - fix(worker): disable build reporter plugin when bundling worker ([#​11058](https://togithub.com/vitejs/vite/issues/11058)) ([7b72069](https://togithub.com/vitejs/vite/commit/7b72069)), closes [#​11058](https://togithub.com/vitejs/vite/issues/11058) - fix!: make `NODE_ENV` more predictable ([#​10996](https://togithub.com/vitejs/vite/issues/10996)) ([8148af7](https://togithub.com/vitejs/vite/commit/8148af7)), closes [#​10996](https://togithub.com/vitejs/vite/issues/10996) - fix(config)!: support development build ([#​11045](https://togithub.com/vitejs/vite/issues/11045)) ([8b3d656](https://togithub.com/vitejs/vite/commit/8b3d656)), closes [#​11045](https://togithub.com/vitejs/vite/issues/11045) - refactor: use function to eval worker and glob options ([#​10999](https://togithub.com/vitejs/vite/issues/10999)) ([f4c1264](https://togithub.com/vitejs/vite/commit/f4c1264)), closes [#​10999](https://togithub.com/vitejs/vite/issues/10999) - refactor(client): simplify fetchUpdate code ([#​11004](https://togithub.com/vitejs/vite/issues/11004)) ([f777b55](https://togithub.com/vitejs/vite/commit/f777b55)), closes [#​11004](https://togithub.com/vitejs/vite/issues/11004) - fix(html): transform relative path with long base in /index.html ([#​10990](https://togithub.com/vitejs/vite/issues/10990)) ([752740c](https://togithub.com/vitejs/vite/commit/752740c)), closes [#​10990](https://togithub.com/vitejs/vite/issues/10990) - fix(mpa): support mpa fallback ([#​10985](https://togithub.com/vitejs/vite/issues/10985)) ([61165f0](https://togithub.com/vitejs/vite/commit/61165f0)), closes [#​10985](https://togithub.com/vitejs/vite/issues/10985) - feat: align default chunk and asset file names with rollup ([#​10927](https://togithub.com/vitejs/vite/issues/10927)) ([cc2adb3](https://togithub.com/vitejs/vite/commit/cc2adb3)), closes [#​10927](https://togithub.com/vitejs/vite/issues/10927) - fix: make `addWatchFile()` work (fix [#​7024](https://togithub.com/vitejs/vite/issues/7024)) ([#​9723](https://togithub.com/vitejs/vite/issues/9723)) ([34db08b](https://togithub.com/vitejs/vite/commit/34db08b)), closes [#​7024](https://togithub.com/vitejs/vite/issues/7024) [#​9723](https://togithub.com/vitejs/vite/issues/9723) - fix(config): exclude config.assetsInclude empty array ([#​10941](https://togithub.com/vitejs/vite/issues/10941)) ([18c71dc](https://togithub.com/vitejs/vite/commit/18c71dc)), closes [#​10941](https://togithub.com/vitejs/vite/issues/10941) - fix(ssr): skip optional peer dep resolve ([#​10593](https://togithub.com/vitejs/vite/issues/10593)) ([0a69985](https://togithub.com/vitejs/vite/commit/0a69985)), closes [#​10593](https://togithub.com/vitejs/vite/issues/10593) - perf: regexp perf issues, refactor regexp stylistic issues ([#​10905](https://togithub.com/vitejs/vite/issues/10905)) ([fc007df](https://togithub.com/vitejs/vite/commit/fc007df)), closes [#​10905](https://togithub.com/vitejs/vite/issues/10905) - refactor: move CSS emitFile logic closer to rollup ([#​10909](https://togithub.com/vitejs/vite/issues/10909)) ([92a206b](https://togithub.com/vitejs/vite/commit/92a206b)), closes [#​10909](https://togithub.com/vitejs/vite/issues/10909) - refactor: use rollup hashing when emitting assets ([#​10878](https://togithub.com/vitejs/vite/issues/10878)) ([78c77be](https://togithub.com/vitejs/vite/commit/78c77be)), closes [#​10878](https://togithub.com/vitejs/vite/issues/10878) - fix: don't throw on malformed URLs ([#​10901](https://togithub.com/vitejs/vite/issues/10901)) ([feb9b10](https://togithub.com/vitejs/vite/commit/feb9b10)), closes [#​10901](https://togithub.com/vitejs/vite/issues/10901) - fix: gracefully handle forbidden filesystem access ([#​10793](https://togithub.com/vitejs/vite/issues/10793)) ([92637a2](https://togithub.com/vitejs/vite/commit/92637a2)), closes [#​10793](https://togithub.com/vitejs/vite/issues/10793) - fix(types): remove `null` from `CSSModulesOptions.localsConvention` ([#​10904](https://togithub.com/vitejs/vite/issues/10904)) ([a9978dd](https://togithub.com/vitejs/vite/commit/a9978dd)), closes [#​10904](https://togithub.com/vitejs/vite/issues/10904) - refactor(types)!: remove facade type files ([#​10903](https://togithub.com/vitejs/vite/issues/10903)) ([a309058](https://togithub.com/vitejs/vite/commit/a309058)), closes [#​10903](https://togithub.com/vitejs/vite/issues/10903) - fix: inconsistent handling of non-ASCII `base` in `resolveConfig` and dev server ([#​10247](https://togithub.com/vitejs/vite/issues/10247)) ([16e4123](https://togithub.com/vitejs/vite/commit/16e4123)), closes [#​10247](https://togithub.com/vitejs/vite/issues/10247) - fix: prevent cache on optional package resolve ([#​10812](https://togithub.com/vitejs/vite/issues/10812)) ([c599a2e](https://togithub.com/vitejs/vite/commit/c599a2e)), closes [#​10812](https://togithub.com/vitejs/vite/issues/10812) - fix: relocated logger to respect config. ([#​10787](https://togithub.com/vitejs/vite/issues/10787)) ([52e64eb](https://togithub.com/vitejs/vite/commit/52e64eb)), closes [#​10787](https://togithub.com/vitejs/vite/issues/10787) - fix: throw missing name error only when 'umd' or 'iife' are used ([#​9886](https://togithub.com/vitejs/vite/issues/9886)) ([b8aa825](https://togithub.com/vitejs/vite/commit/b8aa825)), closes [#​9886](https://togithub.com/vitejs/vite/issues/9886) - fix(deps): update all non-major dependencies ([#​10804](https://togithub.com/vitejs/vite/issues/10804)) ([f686afa](https://togithub.com/vitejs/vite/commit/f686afa)), closes [#​10804](https://togithub.com/vitejs/vite/issues/10804) - fix(ssr): improve missing file error ([#​10880](https://togithub.com/vitejs/vite/issues/10880)) ([5451a34](https://togithub.com/vitejs/vite/commit/5451a34)), closes [#​10880](https://togithub.com/vitejs/vite/issues/10880) ##### Previous Changelogs ##### [4.0.0-beta.7](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.6....v4.0.0-beta.7) (2022-12-08) See [4.0.0-beta.7 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.6](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.5....v4.0.0-beta.6) (2022-12-08) See [4.0.0-beta.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.5](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.4....v4.0.0-beta.5) (2022-12-08) See [4.0.0-beta.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.4](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.3....v4.0.0-beta.4) (2022-12-07) See [4.0.0-beta.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.3](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.2....v4.0.0-beta.3) (2022-12-07) See [4.0.0-beta.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.2](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.1....v4.0.0-beta.2) (2022-12-07) See [4.0.0-beta.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.1](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.0....v4.0.0-beta.1) (2022-12-06) See [4.0.0-beta.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.0](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.6....v4.0.0-beta.0) (2022-12-05) See [4.0.0-beta.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.6](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.6) (2022-11-30) See [4.0.0-alpha.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.6/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.5](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.5) (2022-11-22) See [4.0.0-alpha.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.5/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.4](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.3....v4.0.0-alpha.4) (2022-11-17) See [4.0.0-alpha.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.4/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.3](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.2....v4.0.0-alpha.3) (2022-11-15) See [4.0.0-alpha.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.3/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.2](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.1....v4.0.0-alpha.2) (2022-11-13) See [4.0.0-alpha.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.2/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.1](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.0....v4.0.0-alpha.1) (2022-11-12) See [4.0.0-alpha.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.1/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.0](https://togithub.com/vitejs/vite/compare/v3.2.5....v4.0.0-alpha.0) (2022-11-07) See [4.0.0-alpha.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.0/packages/vite/CHANGELOG.md) ### [`v3.2.5`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small325-2022-12-05-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.4...v3.2.5) - chore: cherry pick more v4 bug fixes to v3 ([#​11189](https://togithub.com/vitejs/vite/issues/11189)) ([eba9b42](https://togithub.com/vitejs/vite/commit/eba9b42)), closes [#​11189](https://togithub.com/vitejs/vite/issues/11189) [#​10949](https://togithub.com/vitejs/vite/issues/10949) [#​11056](https://togithub.com/vitejs/vite/issues/11056) [#​8663](https://togithub.com/vitejs/vite/issues/8663) [#​10958](https://togithub.com/vitejs/vite/issues/10958) [#​11120](https://togithub.com/vitejs/vite/issues/11120) [#​11122](https://togithub.com/vitejs/vite/issues/11122) [#​11123](https://togithub.com/vitejs/vite/issues/11123) [#​11132](https://togithub.com/vitejs/vite/issues/11132) - chore: cherry pick v4 bug fix to v3 ([#​11110](https://togithub.com/vitejs/vite/issues/11110)) ([c93a526](https://togithub.com/vitejs/vite/commit/c93a526)), closes [#​11110](https://togithub.com/vitejs/vite/issues/11110) [#​10941](https://togithub.com/vitejs/vite/issues/10941) [#​10987](https://togithub.com/vitejs/vite/issues/10987) [#​10985](https://togithub.com/vitejs/vite/issues/10985) [#​11067](https://togithub.com/vitejs/vite/issues/11067) - fix: relocated logger to respect config. ([#​10787](https://togithub.com/vitejs/vite/issues/10787)) ([#​10967](https://togithub.com/vitejs/vite/issues/10967)) ([bc3b5a9](https://togithub.com/vitejs/vite/commit/bc3b5a9)), closes [#​10787](https://togithub.com/vitejs/vite/issues/10787) [#​10967](https://togithub.com/vitejs/vite/issues/10967) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/singlestone/sugar). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNTQuMiJ9-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`^3.2.5` -> `^4.0.0`](https://renovatebot.com/diffs/npm/vite/3.2.5/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.0.0/compatibility-slim/3.2.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.0.0/confidence-slim/3.2.5)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite</summary> ### [`v4.0.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#​400-2022-12-09) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.5...566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f) ![Vite 4 Announcement Cover Image](https://vitejs.dev/og-image-announcing-vite4.png) Read the announcement blog post: [Announcing Vite 4](https://vitejs.dev/blog/announcing-vite4) Quick links: - [Docs](https://vitejs.dev) - [Migration Guide](https://vitejs.dev/guide/migration) Docs in other languages: - [简体中文](https://cn.vitejs.dev/) - [日本語](https://ja.vitejs.dev/) - [Español](https://es.vitejs.dev/) ##### 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](https://togithub.com/vitejs/vite/issues/9870), which allowed us to simplify Vite's internal asset handling and has many improvements. See the [Rollup 3 release notes here](https://togithub.com/rollup/rollup/releases). ##### Framework Plugins out of the Vite core monorepo [`@vitejs/plugin-vue`](https://togithub.com/vitejs/vite-plugin-vue) and [`@vitejs/plugin-react`](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/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](https://togithub.com/vitejs/vite/pull/11158). 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`](https://togithub.com/vitejs/vite-plugin-vue) and [`vitejs/vite-plugin-react`](https://togithub.com/vitejs/vite-plugin-react). ##### New React plugin using SWC during development [SWC](https://swc.rs/) is now a mature replacement for [Babel](https://babeljs.io/), 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](https://togithub.com/vitejs/plugin-react) [@​vitejs/plugin-react](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/plugin-react-swc) (new) [@​vitejs/plugin-react-swc](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/vite/issues/9063)). This means that modern builds can now use [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) and that the [nullish coallessing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) isn't transpiled anymore. If you need to support older browsers, you can add [`@vitejs/plugin-legacy`](https://togithub.com/vitejs/vite/tree/main/packages/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. ```ts import cssString from './global.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](https://togithub.com/vitejs/vite/issues/11094). The `?inline` query suffix modifier needs to be used in this case, as that doesn't emit the imported `.css` styles. ```ts import stuff from './global.css?inline' ``` ##### Other features - Support for patch-package when pre bundling dependencies ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) - Cleaner build logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) and switch to `kB` to align with browser dev tools ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) - Improved error messages during SSR ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ##### Features - feat: add CLI keyboard shortcuts ([#​11228](https://togithub.com/vitejs/vite/issues/11228)) ([87973f1](https://togithub.com/vitejs/vite/commit/87973f1)), closes [#​11228](https://togithub.com/vitejs/vite/issues/11228) - feat: export error message generator ([#​11155](https://togithub.com/vitejs/vite/issues/11155)) ([493ba1e](https://togithub.com/vitejs/vite/commit/493ba1e)), closes [#​11155](https://togithub.com/vitejs/vite/issues/11155) - feat(node/plugins): esbuild options ([#​11049](https://togithub.com/vitejs/vite/issues/11049)) ([735b98b](https://togithub.com/vitejs/vite/commit/735b98b)), closes [#​11049](https://togithub.com/vitejs/vite/issues/11049) - feat: improve the error message of `expand` ([#​11141](https://togithub.com/vitejs/vite/issues/11141)) ([825c793](https://togithub.com/vitejs/vite/commit/825c793)), closes [#​11141](https://togithub.com/vitejs/vite/issues/11141) - feat: update [@​types/node](https://togithub.com/types/node) to v18 ([#​11195](https://togithub.com/vitejs/vite/issues/11195)) ([4ec9f53](https://togithub.com/vitejs/vite/commit/4ec9f53)), closes [#​11195](https://togithub.com/vitejs/vite/issues/11195) - feat(client)!: remove never implemented hot.decline ([#​11036](https://togithub.com/vitejs/vite/issues/11036)) ([e257e3b](https://togithub.com/vitejs/vite/commit/e257e3b)), closes [#​11036](https://togithub.com/vitejs/vite/issues/11036) - feat!: support `safari14` by default for wider ES2020 compatibility ([#​9063](https://togithub.com/vitejs/vite/issues/9063)) ([3cc65d7](https://togithub.com/vitejs/vite/commit/3cc65d7)), closes [#​9063](https://togithub.com/vitejs/vite/issues/9063) - feat!: support multiline values in env files ([#​10826](https://togithub.com/vitejs/vite/issues/10826)) ([606e60d](https://togithub.com/vitejs/vite/commit/606e60d)), closes [#​10826](https://togithub.com/vitejs/vite/issues/10826) - feat(ssr)!: remove dedupe and mode support for CJS ([#​11101](https://togithub.com/vitejs/vite/issues/11101)) ([3090564](https://togithub.com/vitejs/vite/commit/3090564)), closes [#​11101](https://togithub.com/vitejs/vite/issues/11101) - feat: align object interface for `transformIndexHtml` hook ([#​9669](https://togithub.com/vitejs/vite/issues/9669)) ([1db52bf](https://togithub.com/vitejs/vite/commit/1db52bf)), closes [#​9669](https://togithub.com/vitejs/vite/issues/9669) - feat(build): cleaner logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) ([7d24b5f](https://togithub.com/vitejs/vite/commit/7d24b5f)), closes [#​10895](https://togithub.com/vitejs/vite/issues/10895) - feat(css): deprecate css default export ([#​11094](https://togithub.com/vitejs/vite/issues/11094)) ([01dee1b](https://togithub.com/vitejs/vite/commit/01dee1b)), closes [#​11094](https://togithub.com/vitejs/vite/issues/11094) - feat(optimizer): support patch-package ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) ([4fb7ad0](https://togithub.com/vitejs/vite/commit/4fb7ad0)), closes [#​10286](https://togithub.com/vitejs/vite/issues/10286) - feat(build): Use kB in build reporter ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) ([b57acfa](https://togithub.com/vitejs/vite/commit/b57acfa)), closes [#​10982](https://togithub.com/vitejs/vite/issues/10982) - feat(css): upgrade postcss-modules ([#​10987](https://togithub.com/vitejs/vite/issues/10987)) ([892916d](https://togithub.com/vitejs/vite/commit/892916d)), closes [#​10987](https://togithub.com/vitejs/vite/issues/10987) - feat(hmr): invalidate message ([#​10946](https://togithub.com/vitejs/vite/issues/10946)) ([0d73473](https://togithub.com/vitejs/vite/commit/0d73473)), closes [#​10946](https://togithub.com/vitejs/vite/issues/10946) - feat(client): expose hot.prune API ([#​11016](https://togithub.com/vitejs/vite/issues/11016)) ([f40c18d](https://togithub.com/vitejs/vite/commit/f40c18d)), closes [#​11016](https://togithub.com/vitejs/vite/issues/11016) - feat(hmr): deduplicate paths and join them with commas ([#​10891](https://togithub.com/vitejs/vite/issues/10891)) ([967299a](https://togithub.com/vitejs/vite/commit/967299a)), closes [#​10891](https://togithub.com/vitejs/vite/issues/10891) - feat: base without trailing slash ([#​10723](https://togithub.com/vitejs/vite/issues/10723)) ([8f87282](https://togithub.com/vitejs/vite/commit/8f87282)), closes [#​10723](https://togithub.com/vitejs/vite/issues/10723) - feat: handle static assets in case-sensitive manner ([#​10475](https://togithub.com/vitejs/vite/issues/10475)) ([c1368c3](https://togithub.com/vitejs/vite/commit/c1368c3)), closes [#​10475](https://togithub.com/vitejs/vite/issues/10475) - feat(cli): build --profile ([#​10719](https://togithub.com/vitejs/vite/issues/10719)) ([9c808cd](https://togithub.com/vitejs/vite/commit/9c808cd)), closes [#​10719](https://togithub.com/vitejs/vite/issues/10719) - feat(env): support dotenv-expand to contains process env ([#​10370](https://togithub.com/vitejs/vite/issues/10370)) ([d5fe92c](https://togithub.com/vitejs/vite/commit/d5fe92c)), closes [#​10370](https://togithub.com/vitejs/vite/issues/10370) - feat!: set esbuild default charset to utf8 ([#​10753](https://togithub.com/vitejs/vite/issues/10753)) ([4caf4b6](https://togithub.com/vitejs/vite/commit/4caf4b6)), closes [#​10753](https://togithub.com/vitejs/vite/issues/10753) - feat: rollup 3 ([#​9870](https://togithub.com/vitejs/vite/issues/9870)) ([beb7166](https://togithub.com/vitejs/vite/commit/beb7166)), closes [#​9870](https://togithub.com/vitejs/vite/issues/9870) ##### Bug Fixes - fix: add `\0` to virtual files id ([#​11261](https://togithub.com/vitejs/vite/issues/11261)) ([02cdfa9](https://togithub.com/vitejs/vite/commit/02cdfa9)), closes [#​11261](https://togithub.com/vitejs/vite/issues/11261) - fix: skip shortcuts on non-tty stdin ([#​11263](https://togithub.com/vitejs/vite/issues/11263)) ([9602686](https://togithub.com/vitejs/vite/commit/9602686)), closes [#​11263](https://togithub.com/vitejs/vite/issues/11263) - fix(ssr): skip rewriting stack trace if it's already rewritten (fixes [#​11037](https://togithub.com/vitejs/vite/issues/11037)) ([#​11070](https://togithub.com/vitejs/vite/issues/11070)) ([feb8ce0](https://togithub.com/vitejs/vite/commit/feb8ce0)), closes [#​11037](https://togithub.com/vitejs/vite/issues/11037) [#​11070](https://togithub.com/vitejs/vite/issues/11070) - refactor(optimizer): await depsOptimizer.scanProcessing ([#​11251](https://togithub.com/vitejs/vite/issues/11251)) ([fa64c8e](https://togithub.com/vitejs/vite/commit/fa64c8e)), closes [#​11251](https://togithub.com/vitejs/vite/issues/11251) - fix: improve CLI shortcuts help display ([#​11247](https://togithub.com/vitejs/vite/issues/11247)) ([bb235b2](https://togithub.com/vitejs/vite/commit/bb235b2)), closes [#​11247](https://togithub.com/vitejs/vite/issues/11247) - fix: less promises for scanning and await with allSettled ([#​11245](https://togithub.com/vitejs/vite/issues/11245)) ([45b170e](https://togithub.com/vitejs/vite/commit/45b170e)), closes [#​11245](https://togithub.com/vitejs/vite/issues/11245) - fix(optimizer): escape entrypoints when running scanner ([#​11250](https://togithub.com/vitejs/vite/issues/11250)) ([b61894e](https://togithub.com/vitejs/vite/commit/b61894e)), closes [#​11250](https://togithub.com/vitejs/vite/issues/11250) - fix: await scanner ([#​11242](https://togithub.com/vitejs/vite/issues/11242)) ([52a6732](https://togithub.com/vitejs/vite/commit/52a6732)), closes [#​11242](https://togithub.com/vitejs/vite/issues/11242) - fix(css): fix css lang regex ([#​11237](https://togithub.com/vitejs/vite/issues/11237)) ([a55d0b3](https://togithub.com/vitejs/vite/commit/a55d0b3)), closes [#​11237](https://togithub.com/vitejs/vite/issues/11237) - fix: don't print urls on restart with default port ([#​11230](https://togithub.com/vitejs/vite/issues/11230)) ([5aaecb6](https://togithub.com/vitejs/vite/commit/5aaecb6)), closes [#​11230](https://togithub.com/vitejs/vite/issues/11230) - fix: serialize bundleWorkerEntry ([#​11218](https://togithub.com/vitejs/vite/issues/11218)) ([306bed0](https://togithub.com/vitejs/vite/commit/306bed0)), closes [#​11218](https://togithub.com/vitejs/vite/issues/11218) - fix(config): resolve dynamic import as esm ([#​11220](https://togithub.com/vitejs/vite/issues/11220)) ([f8c1ed0](https://togithub.com/vitejs/vite/commit/f8c1ed0)), closes [#​11220](https://togithub.com/vitejs/vite/issues/11220) - fix(env): prevent env expand on process.env ([#​11213](https://togithub.com/vitejs/vite/issues/11213)) ([d4a1e2b](https://togithub.com/vitejs/vite/commit/d4a1e2b)), closes [#​11213](https://togithub.com/vitejs/vite/issues/11213) - fix: add type for function localsConvention value ([#​11152](https://togithub.com/vitejs/vite/issues/11152)) ([c9274b4](https://togithub.com/vitejs/vite/commit/c9274b4)), closes [#​11152](https://togithub.com/vitejs/vite/issues/11152) - fix: cacheDir should be ignored from watch ([#​10242](https://togithub.com/vitejs/vite/issues/10242)) ([75dbca2](https://togithub.com/vitejs/vite/commit/75dbca2)), closes [#​10242](https://togithub.com/vitejs/vite/issues/10242) - fix: don't check .yarn/patches for computing dependencies hash ([#​11168](https://togithub.com/vitejs/vite/issues/11168)) ([65bcccf](https://togithub.com/vitejs/vite/commit/65bcccf)), closes [#​11168](https://togithub.com/vitejs/vite/issues/11168) - fix: formatError() outside rollup context ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ([2aee2eb](https://togithub.com/vitejs/vite/commit/2aee2eb)), closes [#​11156](https://togithub.com/vitejs/vite/issues/11156) - fix: Revert "fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476))" ([#​11](https://togithub.com/vitejs/vite/issues/11) ([fdc6f3a](https://togithub.com/vitejs/vite/commit/fdc6f3a)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) [#​11144](https://togithub.com/vitejs/vite/issues/11144) - fix: Dev SSR dep optimization + respect optimizeDeps.include ([#​11123](https://togithub.com/vitejs/vite/issues/11123)) ([515caa5](https://togithub.com/vitejs/vite/commit/515caa5)), closes [#​11123](https://togithub.com/vitejs/vite/issues/11123) - fix: export preprocessCSS in CJS ([#​11067](https://togithub.com/vitejs/vite/issues/11067)) ([793255d](https://togithub.com/vitejs/vite/commit/793255d)), closes [#​11067](https://togithub.com/vitejs/vite/issues/11067) - fix: glob import parsing ([#​10949](https://togithub.com/vitejs/vite/issues/10949)) ([#​11056](https://togithub.com/vitejs/vite/issues/11056)) ([ac2cfd6](https://togithub.com/vitejs/vite/commit/ac2cfd6)), closes [#​10949](https://togithub.com/vitejs/vite/issues/10949) [#​11056](https://togithub.com/vitejs/vite/issues/11056) - fix: import.meta.env and process.env undefined variable replacement (fix [#​8663](https://togithub.com/vitejs/vite/issues/8663)) ([#​10958](https://togithub.com/vitejs/vite/issues/10958)) ([3e0cd3d](https://togithub.com/vitejs/vite/commit/3e0cd3d)), closes [#​8663](https://togithub.com/vitejs/vite/issues/8663) [#​10958](https://togithub.com/vitejs/vite/issues/10958) - fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476)) ([3fa96f6](https://togithub.com/vitejs/vite/commit/3fa96f6)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) - fix: preserve default export from externalized packages (fixes [#​10258](https://togithub.com/vitejs/vite/issues/10258)) ([#​10406](https://togithub.com/vitejs/vite/issues/10406)) ([88b001b](https://togithub.com/vitejs/vite/commit/88b001b)), closes [#​10258](https://togithub.com/vitejs/vite/issues/10258) [#​10406](https://togithub.com/vitejs/vite/issues/10406) - fix: reset global regex before match ([#​11132](https://togithub.com/vitejs/vite/issues/11132)) ([db8df14](https://togithub.com/vitejs/vite/commit/db8df14)), closes [#​11132](https://togithub.com/vitejs/vite/issues/11132) - fix(css): handle environment with browser globals ([#​11079](https://togithub.com/vitejs/vite/issues/11079)) ([e92d025](https://togithub.com/vitejs/vite/commit/e92d025)), closes [#​11079](https://togithub.com/vitejs/vite/issues/11079) - fix(deps): update all non-major dependencies ([#​11091](https://togithub.com/vitejs/vite/issues/11091)) ([073a4bf](https://togithub.com/vitejs/vite/commit/073a4bf)), closes [#​11091](https://togithub.com/vitejs/vite/issues/11091) - fix(esbuild): handle inline sourcemap option ([#​11120](https://togithub.com/vitejs/vite/issues/11120)) ([4c85c0a](https://togithub.com/vitejs/vite/commit/4c85c0a)), closes [#​11120](https://togithub.com/vitejs/vite/issues/11120) - fix(importGlob): don't warn when CSS default import is not used ([#​11121](https://togithub.com/vitejs/vite/issues/11121)) ([97f8b4d](https://togithub.com/vitejs/vite/commit/97f8b4d)), closes [#​11121](https://togithub.com/vitejs/vite/issues/11121) - fix(importGlob): preserve line count for sourcemap ([#​11122](https://togithub.com/vitejs/vite/issues/11122)) ([14980a1](https://togithub.com/vitejs/vite/commit/14980a1)), closes [#​11122](https://togithub.com/vitejs/vite/issues/11122) - fix(importGlob): warn on default import css ([#​11103](https://togithub.com/vitejs/vite/issues/11103)) ([fc0d9e3](https://togithub.com/vitejs/vite/commit/fc0d9e3)), closes [#​11103](https://togithub.com/vitejs/vite/issues/11103) - fix(plugin-vue): support scss/sass/less... hmr on custom template languages (fix [#​10677](https://togithub.com/vitejs/vite/issues/10677)) ([#​10844](https://togithub.com/vitejs/vite/issues/10844)) ([d413848](https://togithub.com/vitejs/vite/commit/d413848)), closes [#​10677](https://togithub.com/vitejs/vite/issues/10677) [#​10844](https://togithub.com/vitejs/vite/issues/10844) - fix(ssr): preserve require for external node ([#​11057](https://togithub.com/vitejs/vite/issues/11057)) ([1ec0176](https://togithub.com/vitejs/vite/commit/1ec0176)), closes [#​11057](https://togithub.com/vitejs/vite/issues/11057) - fix(worker): disable build reporter plugin when bundling worker ([#​11058](https://togithub.com/vitejs/vite/issues/11058)) ([7b72069](https://togithub.com/vitejs/vite/commit/7b72069)), closes [#​11058](https://togithub.com/vitejs/vite/issues/11058) - fix!: make `NODE_ENV` more predictable ([#​10996](https://togithub.com/vitejs/vite/issues/10996)) ([8148af7](https://togithub.com/vitejs/vite/commit/8148af7)), closes [#​10996](https://togithub.com/vitejs/vite/issues/10996) - fix(config)!: support development build ([#​11045](https://togithub.com/vitejs/vite/issues/11045)) ([8b3d656](https://togithub.com/vitejs/vite/commit/8b3d656)), closes [#​11045](https://togithub.com/vitejs/vite/issues/11045) - refactor: use function to eval worker and glob options ([#​10999](https://togithub.com/vitejs/vite/issues/10999)) ([f4c1264](https://togithub.com/vitejs/vite/commit/f4c1264)), closes [#​10999](https://togithub.com/vitejs/vite/issues/10999) - refactor(client): simplify fetchUpdate code ([#​11004](https://togithub.com/vitejs/vite/issues/11004)) ([f777b55](https://togithub.com/vitejs/vite/commit/f777b55)), closes [#​11004](https://togithub.com/vitejs/vite/issues/11004) - fix(html): transform relative path with long base in /index.html ([#​10990](https://togithub.com/vitejs/vite/issues/10990)) ([752740c](https://togithub.com/vitejs/vite/commit/752740c)), closes [#​10990](https://togithub.com/vitejs/vite/issues/10990) - fix(mpa): support mpa fallback ([#​10985](https://togithub.com/vitejs/vite/issues/10985)) ([61165f0](https://togithub.com/vitejs/vite/commit/61165f0)), closes [#​10985](https://togithub.com/vitejs/vite/issues/10985) - feat: align default chunk and asset file names with rollup ([#​10927](https://togithub.com/vitejs/vite/issues/10927)) ([cc2adb3](https://togithub.com/vitejs/vite/commit/cc2adb3)), closes [#​10927](https://togithub.com/vitejs/vite/issues/10927) - fix: make `addWatchFile()` work (fix [#​7024](https://togithub.com/vitejs/vite/issues/7024)) ([#​9723](https://togithub.com/vitejs/vite/issues/9723)) ([34db08b](https://togithub.com/vitejs/vite/commit/34db08b)), closes [#​7024](https://togithub.com/vitejs/vite/issues/7024) [#​9723](https://togithub.com/vitejs/vite/issues/9723) - fix(config): exclude config.assetsInclude empty array ([#​10941](https://togithub.com/vitejs/vite/issues/10941)) ([18c71dc](https://togithub.com/vitejs/vite/commit/18c71dc)), closes [#​10941](https://togithub.com/vitejs/vite/issues/10941) - fix(ssr): skip optional peer dep resolve ([#​10593](https://togithub.com/vitejs/vite/issues/10593)) ([0a69985](https://togithub.com/vitejs/vite/commit/0a69985)), closes [#​10593](https://togithub.com/vitejs/vite/issues/10593) - perf: regexp perf issues, refactor regexp stylistic issues ([#​10905](https://togithub.com/vitejs/vite/issues/10905)) ([fc007df](https://togithub.com/vitejs/vite/commit/fc007df)), closes [#​10905](https://togithub.com/vitejs/vite/issues/10905) - refactor: move CSS emitFile logic closer to rollup ([#​10909](https://togithub.com/vitejs/vite/issues/10909)) ([92a206b](https://togithub.com/vitejs/vite/commit/92a206b)), closes [#​10909](https://togithub.com/vitejs/vite/issues/10909) - refactor: use rollup hashing when emitting assets ([#​10878](https://togithub.com/vitejs/vite/issues/10878)) ([78c77be](https://togithub.com/vitejs/vite/commit/78c77be)), closes [#​10878](https://togithub.com/vitejs/vite/issues/10878) - fix: don't throw on malformed URLs ([#​10901](https://togithub.com/vitejs/vite/issues/10901)) ([feb9b10](https://togithub.com/vitejs/vite/commit/feb9b10)), closes [#​10901](https://togithub.com/vitejs/vite/issues/10901) - fix: gracefully handle forbidden filesystem access ([#​10793](https://togithub.com/vitejs/vite/issues/10793)) ([92637a2](https://togithub.com/vitejs/vite/commit/92637a2)), closes [#​10793](https://togithub.com/vitejs/vite/issues/10793) - fix(types): remove `null` from `CSSModulesOptions.localsConvention` ([#​10904](https://togithub.com/vitejs/vite/issues/10904)) ([a9978dd](https://togithub.com/vitejs/vite/commit/a9978dd)), closes [#​10904](https://togithub.com/vitejs/vite/issues/10904) - refactor(types)!: remove facade type files ([#​10903](https://togithub.com/vitejs/vite/issues/10903)) ([a309058](https://togithub.com/vitejs/vite/commit/a309058)), closes [#​10903](https://togithub.com/vitejs/vite/issues/10903) - fix: inconsistent handling of non-ASCII `base` in `resolveConfig` and dev server ([#​10247](https://togithub.com/vitejs/vite/issues/10247)) ([16e4123](https://togithub.com/vitejs/vite/commit/16e4123)), closes [#​10247](https://togithub.com/vitejs/vite/issues/10247) - fix: prevent cache on optional package resolve ([#​10812](https://togithub.com/vitejs/vite/issues/10812)) ([c599a2e](https://togithub.com/vitejs/vite/commit/c599a2e)), closes [#​10812](https://togithub.com/vitejs/vite/issues/10812) - fix: relocated logger to respect config. ([#​10787](https://togithub.com/vitejs/vite/issues/10787)) ([52e64eb](https://togithub.com/vitejs/vite/commit/52e64eb)), closes [#​10787](https://togithub.com/vitejs/vite/issues/10787) - fix: throw missing name error only when 'umd' or 'iife' are used ([#​9886](https://togithub.com/vitejs/vite/issues/9886)) ([b8aa825](https://togithub.com/vitejs/vite/commit/b8aa825)), closes [#​9886](https://togithub.com/vitejs/vite/issues/9886) - fix(deps): update all non-major dependencies ([#​10804](https://togithub.com/vitejs/vite/issues/10804)) ([f686afa](https://togithub.com/vitejs/vite/commit/f686afa)), closes [#​10804](https://togithub.com/vitejs/vite/issues/10804) - fix(ssr): improve missing file error ([#​10880](https://togithub.com/vitejs/vite/issues/10880)) ([5451a34](https://togithub.com/vitejs/vite/commit/5451a34)), closes [#​10880](https://togithub.com/vitejs/vite/issues/10880) ##### Previous Changelogs ##### [4.0.0-beta.7](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.6....v4.0.0-beta.7) (2022-12-08) See [4.0.0-beta.7 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.6](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.5....v4.0.0-beta.6) (2022-12-08) See [4.0.0-beta.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.5](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.4....v4.0.0-beta.5) (2022-12-08) See [4.0.0-beta.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.4](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.3....v4.0.0-beta.4) (2022-12-07) See [4.0.0-beta.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.3](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.2....v4.0.0-beta.3) (2022-12-07) See [4.0.0-beta.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.2](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.1....v4.0.0-beta.2) (2022-12-07) See [4.0.0-beta.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.1](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.0....v4.0.0-beta.1) (2022-12-06) See [4.0.0-beta.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.0](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.6....v4.0.0-beta.0) (2022-12-05) See [4.0.0-beta.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.6](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.6) (2022-11-30) See [4.0.0-alpha.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.6/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.5](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.5) (2022-11-22) See [4.0.0-alpha.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.5/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.4](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.3....v4.0.0-alpha.4) (2022-11-17) See [4.0.0-alpha.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.4/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.3](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.2....v4.0.0-alpha.3) (2022-11-15) See [4.0.0-alpha.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.3/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.2](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.1....v4.0.0-alpha.2) (2022-11-13) See [4.0.0-alpha.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.2/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.1](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.0....v4.0.0-alpha.1) (2022-11-12) See [4.0.0-alpha.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.1/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.0](https://togithub.com/vitejs/vite/compare/v3.2.5....v4.0.0-alpha.0) (2022-11-07) See [4.0.0-alpha.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.0/packages/vite/CHANGELOG.md) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/js-library-template).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`^3.0.2` -> `^4.0.2`](https://renovatebot.com/diffs/npm/vite/3.0.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.0.2/compatibility-slim/3.0.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.0.2/confidence-slim/3.0.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite</summary> ### [`v4.0.2`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small402-2022-12-18-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v4.0.1...v4.0.2) - fix: fix the error message in the `toOutputFilePathWithoutRuntime` function ([#​11367](https://togithub.com/vitejs/vite/issues/11367)) ([8820f75](https://togithub.com/vitejs/vite/commit/8820f75)), closes [#​11367](https://togithub.com/vitejs/vite/issues/11367) - fix: make `vite optimize` prebundle for dev ([#​11387](https://togithub.com/vitejs/vite/issues/11387)) ([b4ced0f](https://togithub.com/vitejs/vite/commit/b4ced0f)), closes [#​11387](https://togithub.com/vitejs/vite/issues/11387) - fix: revert [#​11290](https://togithub.com/vitejs/vite/issues/11290) ([#​11412](https://togithub.com/vitejs/vite/issues/11412)) ([6587d2f](https://togithub.com/vitejs/vite/commit/6587d2f)), closes [#​11290](https://togithub.com/vitejs/vite/issues/11290) [#​11412](https://togithub.com/vitejs/vite/issues/11412) - fix: server and preview open fails to add slash before relative path ([#​11394](https://togithub.com/vitejs/vite/issues/11394)) ([57276b7](https://togithub.com/vitejs/vite/commit/57276b7)), closes [#​11394](https://togithub.com/vitejs/vite/issues/11394) - fix: skip applescript when no Chromium browser found (fixes [#​11205](https://togithub.com/vitejs/vite/issues/11205)) ([#​11406](https://togithub.com/vitejs/vite/issues/11406)) ([274d1f3](https://togithub.com/vitejs/vite/commit/274d1f3)), closes [#​11205](https://togithub.com/vitejs/vite/issues/11205) [#​11406](https://togithub.com/vitejs/vite/issues/11406) - fix(deps): update dependency ufo to v1 ([#​11372](https://togithub.com/vitejs/vite/issues/11372)) ([4288300](https://togithub.com/vitejs/vite/commit/4288300)), closes [#​11372](https://togithub.com/vitejs/vite/issues/11372) - chore: typecheck create-vite ([#​11295](https://togithub.com/vitejs/vite/issues/11295)) ([af86e5b](https://togithub.com/vitejs/vite/commit/af86e5b)), closes [#​11295](https://togithub.com/vitejs/vite/issues/11295) - chore(deps): update dependency convert-source-map to v2 ([#​10548](https://togithub.com/vitejs/vite/issues/10548)) ([8dc6528](https://togithub.com/vitejs/vite/commit/8dc6528)), closes [#​10548](https://togithub.com/vitejs/vite/issues/10548) - chore(deps): update dependency mlly to v1 ([#​11370](https://togithub.com/vitejs/vite/issues/11370)) ([9662d4d](https://togithub.com/vitejs/vite/commit/9662d4d)), closes [#​11370](https://togithub.com/vitejs/vite/issues/11370) ### [`v4.0.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small401-2022-12-12-small) [Compare Source](https://togithub.com/vitejs/vite/compare/566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f...v4.0.1) - feat: show server url by pressing `u` ([#​11319](https://togithub.com/vitejs/vite/issues/11319)) ([8c0bb7b](https://togithub.com/vitejs/vite/commit/8c0bb7b)), closes [#​11319](https://togithub.com/vitejs/vite/issues/11319) - feat(html): clickable error position for html parse error ([#​11334](https://togithub.com/vitejs/vite/issues/11334)) ([2e15f3d](https://togithub.com/vitejs/vite/commit/2e15f3d)), closes [#​11334](https://togithub.com/vitejs/vite/issues/11334) - fix: ?inline warning for .css.js file ([#​11347](https://togithub.com/vitejs/vite/issues/11347)) ([729fb1a](https://togithub.com/vitejs/vite/commit/729fb1a)), closes [#​11347](https://togithub.com/vitejs/vite/issues/11347) - fix: check if build exists so preview doesn't show 404s due to nonexistent build ([#​10564](https://togithub.com/vitejs/vite/issues/10564)) ([0a1db8c](https://togithub.com/vitejs/vite/commit/0a1db8c)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) - fix: derive `useDefineForClassFields` value from `tsconfig.compilerOptions.target` (fixes [#​10296](https://togithub.com/vitejs/vite/issues/10296)) (# ([42976d8](https://togithub.com/vitejs/vite/commit/42976d8)), closes [#​10296](https://togithub.com/vitejs/vite/issues/10296) [#​11301](https://togithub.com/vitejs/vite/issues/11301) - fix: preview fallback ([#​11312](https://togithub.com/vitejs/vite/issues/11312)) ([cfedf9c](https://togithub.com/vitejs/vite/commit/cfedf9c)), closes [#​11312](https://togithub.com/vitejs/vite/issues/11312) - fix: respect base when using `/__open-in-editor` ([#​11337](https://togithub.com/vitejs/vite/issues/11337)) ([8856c2e](https://togithub.com/vitejs/vite/commit/8856c2e)), closes [#​11337](https://togithub.com/vitejs/vite/issues/11337) - fix: wrongly resolve to optimized doppelganger ([#​11290](https://togithub.com/vitejs/vite/issues/11290)) ([34fec41](https://togithub.com/vitejs/vite/commit/34fec41)), closes [#​11290](https://togithub.com/vitejs/vite/issues/11290) - fix(env): test NODE_ENV override before expand ([#​11309](https://togithub.com/vitejs/vite/issues/11309)) ([d0a9281](https://togithub.com/vitejs/vite/commit/d0a9281)), closes [#​11309](https://togithub.com/vitejs/vite/issues/11309) - fix(preview): Revert [#​10564](https://togithub.com/vitejs/vite/issues/10564) - throw Error on missing outDir ([#​11335](https://togithub.com/vitejs/vite/issues/11335)) ([3aaa0ea](https://togithub.com/vitejs/vite/commit/3aaa0ea)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) [#​11335](https://togithub.com/vitejs/vite/issues/11335) [#​10564](https://togithub.com/vitejs/vite/issues/10564) - docs: fix banner image in CHANGELOG.md ([#​11336](https://togithub.com/vitejs/vite/issues/11336)) ([45b66f4](https://togithub.com/vitejs/vite/commit/45b66f4)), closes [#​11336](https://togithub.com/vitejs/vite/issues/11336) - chore: enable `@typescript-eslint/ban-ts-comment` ([#​11326](https://togithub.com/vitejs/vite/issues/11326)) ([e58a4f0](https://togithub.com/vitejs/vite/commit/e58a4f0)), closes [#​11326](https://togithub.com/vitejs/vite/issues/11326) - chore: fix format ([#​11311](https://togithub.com/vitejs/vite/issues/11311)) ([9c2b1c0](https://togithub.com/vitejs/vite/commit/9c2b1c0)), closes [#​11311](https://togithub.com/vitejs/vite/issues/11311) - chore: update changelog release notes for 4.0 ([#​11285](https://togithub.com/vitejs/vite/issues/11285)) ([83abd37](https://togithub.com/vitejs/vite/commit/83abd37)), closes [#​11285](https://togithub.com/vitejs/vite/issues/11285) - chore(deps): update all non-major dependencies ([#​11321](https://togithub.com/vitejs/vite/issues/11321)) ([dcc0004](https://togithub.com/vitejs/vite/commit/dcc0004)), closes [#​11321](https://togithub.com/vitejs/vite/issues/11321) - chore(esbuild): add test for configuration overrides ([#​11267](https://togithub.com/vitejs/vite/issues/11267)) ([f897b64](https://togithub.com/vitejs/vite/commit/f897b64)), closes [#​11267](https://togithub.com/vitejs/vite/issues/11267) ### [`v4.0.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#​400-2022-12-09) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.5...566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f) ![Vite 4 Announcement Cover Image](https://vitejs.dev/og-image-announcing-vite4.png) Read the announcement blog post: [Announcing Vite 4](https://vitejs.dev/blog/announcing-vite4) Quick links: - [Docs](https://vitejs.dev) - [Migration Guide](https://vitejs.dev/guide/migration) Docs in other languages: - [简体中文](https://cn.vitejs.dev/) - [日本語](https://ja.vitejs.dev/) - [Español](https://es.vitejs.dev/) ##### 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](https://togithub.com/vitejs/vite/issues/9870), which allowed us to simplify Vite's internal asset handling and has many improvements. See the [Rollup 3 release notes here](https://togithub.com/rollup/rollup/releases). ##### Framework Plugins out of the Vite core monorepo [`@vitejs/plugin-vue`](https://togithub.com/vitejs/vite-plugin-vue) and [`@vitejs/plugin-react`](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/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](https://togithub.com/vitejs/vite/pull/11158). 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`](https://togithub.com/vitejs/vite-plugin-vue) and [`vitejs/vite-plugin-react`](https://togithub.com/vitejs/vite-plugin-react). ##### New React plugin using SWC during development [SWC](https://swc.rs/) is now a mature replacement for [Babel](https://babeljs.io/), 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](https://togithub.com/vitejs/plugin-react) [@​vitejs/plugin-react](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/plugin-react-swc) (new) [@​vitejs/plugin-react-swc](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/vite/issues/9063)). This means that modern builds can now use [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) and that the [nullish coallessing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) isn't transpiled anymore. If you need to support older browsers, you can add [`@vitejs/plugin-legacy`](https://togithub.com/vitejs/vite/tree/main/packages/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. ```ts import cssString from './global.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](https://togithub.com/vitejs/vite/issues/11094). The `?inline` query suffix modifier needs to be used in this case, as that doesn't emit the imported `.css` styles. ```ts import stuff from './global.css?inline' ``` ##### Other features - Support for patch-package when pre bundling dependencies ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) - Cleaner build logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) and switch to `kB` to align with browser dev tools ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) - Improved error messages during SSR ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ##### Features - feat: add CLI keyboard shortcuts ([#​11228](https://togithub.com/vitejs/vite/issues/11228)) ([87973f1](https://togithub.com/vitejs/vite/commit/87973f1)), closes [#​11228](https://togithub.com/vitejs/vite/issues/11228) - feat: export error message generator ([#​11155](https://togithub.com/vitejs/vite/issues/11155)) ([493ba1e](https://togithub.com/vitejs/vite/commit/493ba1e)), closes [#​11155](https://togithub.com/vitejs/vite/issues/11155) - feat(node/plugins): esbuild options ([#​11049](https://togithub.com/vitejs/vite/issues/11049)) ([735b98b](https://togithub.com/vitejs/vite/commit/735b98b)), closes [#​11049](https://togithub.com/vitejs/vite/issues/11049) - feat: improve the error message of `expand` ([#​11141](https://togithub.com/vitejs/vite/issues/11141)) ([825c793](https://togithub.com/vitejs/vite/commit/825c793)), closes [#​11141](https://togithub.com/vitejs/vite/issues/11141) - feat: update [@​types/node](https://togithub.com/types/node) to v18 ([#​11195](https://togithub.com/vitejs/vite/issues/11195)) ([4ec9f53](https://togithub.com/vitejs/vite/commit/4ec9f53)), closes [#​11195](https://togithub.com/vitejs/vite/issues/11195) - feat(client)!: remove never implemented hot.decline ([#​11036](https://togithub.com/vitejs/vite/issues/11036)) ([e257e3b](https://togithub.com/vitejs/vite/commit/e257e3b)), closes [#​11036](https://togithub.com/vitejs/vite/issues/11036) - feat!: support `safari14` by default for wider ES2020 compatibility ([#​9063](https://togithub.com/vitejs/vite/issues/9063)) ([3cc65d7](https://togithub.com/vitejs/vite/commit/3cc65d7)), closes [#​9063](https://togithub.com/vitejs/vite/issues/9063) - feat!: support multiline values in env files ([#​10826](https://togithub.com/vitejs/vite/issues/10826)) ([606e60d](https://togithub.com/vitejs/vite/commit/606e60d)), closes [#​10826](https://togithub.com/vitejs/vite/issues/10826) - feat(ssr)!: remove dedupe and mode support for CJS ([#​11101](https://togithub.com/vitejs/vite/issues/11101)) ([3090564](https://togithub.com/vitejs/vite/commit/3090564)), closes [#​11101](https://togithub.com/vitejs/vite/issues/11101) - feat: align object interface for `transformIndexHtml` hook ([#​9669](https://togithub.com/vitejs/vite/issues/9669)) ([1db52bf](https://togithub.com/vitejs/vite/commit/1db52bf)), closes [#​9669](https://togithub.com/vitejs/vite/issues/9669) - feat(build): cleaner logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) ([7d24b5f](https://togithub.com/vitejs/vite/commit/7d24b5f)), closes [#​10895](https://togithub.com/vitejs/vite/issues/10895) - feat(css): deprecate css default export ([#​11094](https://togithub.com/vitejs/vite/issues/11094)) ([01dee1b](https://togithub.com/vitejs/vite/commit/01dee1b)), closes [#​11094](https://togithub.com/vitejs/vite/issues/11094) - feat(optimizer): support patch-package ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) ([4fb7ad0](https://togithub.com/vitejs/vite/commit/4fb7ad0)), closes [#​10286](https://togithub.com/vitejs/vite/issues/10286) - feat(build): Use kB in build reporter ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) ([b57acfa](https://togithub.com/vitejs/vite/commit/b57acfa)), closes [#​10982](https://togithub.com/vitejs/vite/issues/10982) - feat(css): upgrade postcss-modules ([#​10987](https://togithub.com/vitejs/vite/issues/10987)) ([892916d](https://togithub.com/vitejs/vite/commit/892916d)), closes [#​10987](https://togithub.com/vitejs/vite/issues/10987) - feat(hmr): invalidate message ([#​10946](https://togithub.com/vitejs/vite/issues/10946)) ([0d73473](https://togithub.com/vitejs/vite/commit/0d73473)), closes [#​10946](https://togithub.com/vitejs/vite/issues/10946) - feat(client): expose hot.prune API ([#​11016](https://togithub.com/vitejs/vite/issues/11016)) ([f40c18d](https://togithub.com/vitejs/vite/commit/f40c18d)), closes [#​11016](https://togithub.com/vitejs/vite/issues/11016) - feat(hmr): deduplicate paths and join them with commas ([#​10891](https://togithub.com/vitejs/vite/issues/10891)) ([967299a](https://togithub.com/vitejs/vite/commit/967299a)), closes [#​10891](https://togithub.com/vitejs/vite/issues/10891) - feat: base without trailing slash ([#​10723](https://togithub.com/vitejs/vite/issues/10723)) ([8f87282](https://togithub.com/vitejs/vite/commit/8f87282)), closes [#​10723](https://togithub.com/vitejs/vite/issues/10723) - feat: handle static assets in case-sensitive manner ([#​10475](https://togithub.com/vitejs/vite/issues/10475)) ([c1368c3](https://togithub.com/vitejs/vite/commit/c1368c3)), closes [#​10475](https://togithub.com/vitejs/vite/issues/10475) - feat(cli): build --profile ([#​10719](https://togithub.com/vitejs/vite/issues/10719)) ([9c808cd](https://togithub.com/vitejs/vite/commit/9c808cd)), closes [#​10719](https://togithub.com/vitejs/vite/issues/10719) - feat(env): support dotenv-expand to contains process env ([#​10370](https://togithub.com/vitejs/vite/issues/10370)) ([d5fe92c](https://togithub.com/vitejs/vite/commit/d5fe92c)), closes [#​10370](https://togithub.com/vitejs/vite/issues/10370) - feat!: set esbuild default charset to utf8 ([#​10753](https://togithub.com/vitejs/vite/issues/10753)) ([4caf4b6](https://togithub.com/vitejs/vite/commit/4caf4b6)), closes [#​10753](https://togithub.com/vitejs/vite/issues/10753) - feat: rollup 3 ([#​9870](https://togithub.com/vitejs/vite/issues/9870)) ([beb7166](https://togithub.com/vitejs/vite/commit/beb7166)), closes [#​9870](https://togithub.com/vitejs/vite/issues/9870) ##### Bug Fixes - fix: add `\0` to virtual files id ([#​11261](https://togithub.com/vitejs/vite/issues/11261)) ([02cdfa9](https://togithub.com/vitejs/vite/commit/02cdfa9)), closes [#​11261](https://togithub.com/vitejs/vite/issues/11261) - fix: skip shortcuts on non-tty stdin ([#​11263](https://togithub.com/vitejs/vite/issues/11263)) ([9602686](https://togithub.com/vitejs/vite/commit/9602686)), closes [#​11263](https://togithub.com/vitejs/vite/issues/11263) - fix(ssr): skip rewriting stack trace if it's already rewritten (fixes [#​11037](https://togithub.com/vitejs/vite/issues/11037)) ([#​11070](https://togithub.com/vitejs/vite/issues/11070)) ([feb8ce0](https://togithub.com/vitejs/vite/commit/feb8ce0)), closes [#​11037](https://togithub.com/vitejs/vite/issues/11037) [#​11070](https://togithub.com/vitejs/vite/issues/11070) - refactor(optimizer): await depsOptimizer.scanProcessing ([#​11251](https://togithub.com/vitejs/vite/issues/11251)) ([fa64c8e](https://togithub.com/vitejs/vite/commit/fa64c8e)), closes [#​11251](https://togithub.com/vitejs/vite/issues/11251) - fix: improve CLI shortcuts help display ([#​11247](https://togithub.com/vitejs/vite/issues/11247)) ([bb235b2](https://togithub.com/vitejs/vite/commit/bb235b2)), closes [#​11247](https://togithub.com/vitejs/vite/issues/11247) - fix: less promises for scanning and await with allSettled ([#​11245](https://togithub.com/vitejs/vite/issues/11245)) ([45b170e](https://togithub.com/vitejs/vite/commit/45b170e)), closes [#​11245](https://togithub.com/vitejs/vite/issues/11245) - fix(optimizer): escape entrypoints when running scanner ([#​11250](https://togithub.com/vitejs/vite/issues/11250)) ([b61894e](https://togithub.com/vitejs/vite/commit/b61894e)), closes [#​11250](https://togithub.com/vitejs/vite/issues/11250) - fix: await scanner ([#​11242](https://togithub.com/vitejs/vite/issues/11242)) ([52a6732](https://togithub.com/vitejs/vite/commit/52a6732)), closes [#​11242](https://togithub.com/vitejs/vite/issues/11242) - fix(css): fix css lang regex ([#​11237](https://togithub.com/vitejs/vite/issues/11237)) ([a55d0b3](https://togithub.com/vitejs/vite/commit/a55d0b3)), closes [#​11237](https://togithub.com/vitejs/vite/issues/11237) - fix: don't print urls on restart with default port ([#​11230](https://togithub.com/vitejs/vite/issues/11230)) ([5aaecb6](https://togithub.com/vitejs/vite/commit/5aaecb6)), closes [#​11230](https://togithub.com/vitejs/vite/issues/11230) - fix: serialize bundleWorkerEntry ([#​11218](https://togithub.com/vitejs/vite/issues/11218)) ([306bed0](https://togithub.com/vitejs/vite/commit/306bed0)), closes [#​11218](https://togithub.com/vitejs/vite/issues/11218) - fix(config): resolve dynamic import as esm ([#​11220](https://togithub.com/vitejs/vite/issues/11220)) ([f8c1ed0](https://togithub.com/vitejs/vite/commit/f8c1ed0)), closes [#​11220](https://togithub.com/vitejs/vite/issues/11220) - fix(env): prevent env expand on process.env ([#​11213](https://togithub.com/vitejs/vite/issues/11213)) ([d4a1e2b](https://togithub.com/vitejs/vite/commit/d4a1e2b)), closes [#​11213](https://togithub.com/vitejs/vite/issues/11213) - fix: add type for function localsConvention value ([#​11152](https://togithub.com/vitejs/vite/issues/11152)) ([c9274b4](https://togithub.com/vitejs/vite/commit/c9274b4)), closes [#​11152](https://togithub.com/vitejs/vite/issues/11152) - fix: cacheDir should be ignored from watch ([#​10242](https://togithub.com/vitejs/vite/issues/10242)) ([75dbca2](https://togithub.com/vitejs/vite/commit/75dbca2)), closes [#​10242](https://togithub.com/vitejs/vite/issues/10242) - fix: don't check .yarn/patches for computing dependencies hash ([#​11168](https://togithub.com/vitejs/vite/issues/11168)) ([65bcccf](https://togithub.com/vitejs/vite/commit/65bcccf)), closes [#​11168](https://togithub.com/vitejs/vite/issues/11168) - fix: formatError() outside rollup context ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ([2aee2eb](https://togithub.com/vitejs/vite/commit/2aee2eb)), closes [#​11156](https://togithub.com/vitejs/vite/issues/11156) - fix: Revert "fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476))" ([#​11](https://togithub.com/vitejs/vite/issues/11) ([fdc6f3a](https://togithub.com/vitejs/vite/commit/fdc6f3a)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) [#​11144](https://togithub.com/vitejs/vite/issues/11144) - fix: Dev SSR dep optimization + respect optimizeDeps.include ([#​11123](https://togithub.com/vitejs/vite/issues/11123)) ([515caa5](https://togithub.com/vitejs/vite/commit/515caa5)), closes [#​11123](https://togithub.com/vitejs/vite/issues/11123) - fix: export preprocessCSS in CJS ([#​11067](https://togithub.com/vitejs/vite/issues/11067)) ([793255d](https://togithub.com/vitejs/vite/commit/793255d)), closes [#​11067](https://togithub.com/vitejs/vite/issues/11067) - fix: glob import parsing ([#​10949](https://togithub.com/vitejs/vite/issues/10949)) ([#​11056](https://togithub.com/vitejs/vite/issues/11056)) ([ac2cfd6](https://togithub.com/vitejs/vite/commit/ac2cfd6)), closes [#​10949](https://togithub.com/vitejs/vite/issues/10949) [#​11056](https://togithub.com/vitejs/vite/issues/11056) - fix: import.meta.env and process.env undefined variable replacement (fix [#​8663](https://togithub.com/vitejs/vite/issues/8663)) ([#​10958](https://togithub.com/vitejs/vite/issues/10958)) ([3e0cd3d](https://togithub.com/vitejs/vite/commit/3e0cd3d)), closes [#​8663](https://togithub.com/vitejs/vite/issues/8663) [#​10958](https://togithub.com/vitejs/vite/issues/10958) - fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476)) ([3fa96f6](https://togithub.com/vitejs/vite/commit/3fa96f6)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) - fix: preserve default export from externalized packages (fixes [#​10258](https://togithub.com/vitejs/vite/issues/10258)) ([#​10406](https://togithub.com/vitejs/vite/issues/10406)) ([88b001b](https://togithub.com/vitejs/vite/commit/88b001b)), closes [#​10258](https://togithub.com/vitejs/vite/issues/10258) [#​10406](https://togithub.com/vitejs/vite/issues/10406) - fix: reset global regex before match ([#​11132](https://togithub.com/vitejs/vite/issues/11132)) ([db8df14](https://togithub.com/vitejs/vite/commit/db8df14)), closes [#​11132](https://togithub.com/vitejs/vite/issues/11132) - fix(css): handle environment with browser globals ([#​11079](https://togithub.com/vitejs/vite/issues/11079)) ([e92d025](https://togithub.com/vitejs/vite/commit/e92d025)), closes [#​11079](https://togithub.com/vitejs/vite/issues/11079) - fix(deps): update all non-major dependencies ([#​11091](https://togithub.com/vitejs/vite/issues/11091)) ([073a4bf](https://togithub.com/vitejs/vite/commit/073a4bf)), closes [#​11091](https://togithub.com/vitejs/vite/issues/11091) - fix(esbuild): handle inline sourcemap option ([#​11120](https://togithub.com/vitejs/vite/issues/11120)) ([4c85c0a](https://togithub.com/vitejs/vite/commit/4c85c0a)), closes [#​11120](https://togithub.com/vitejs/vite/issues/11120) - fix(importGlob): don't warn when CSS default import is not used ([#​11121](https://togithub.com/vitejs/vite/issues/11121)) ([97f8b4d](https://togithub.com/vitejs/vite/commit/97f8b4d)), closes [#​11121](https://togithub.com/vitejs/vite/issues/11121) - fix(importGlob): preserve line count for sourcemap ([#​11122](https://togithub.com/vitejs/vite/issues/11122)) ([14980a1](https://togithub.com/vitejs/vite/commit/14980a1)), closes [#​11122](https://togithub.com/vitejs/vite/issues/11122) - fix(importGlob): warn on default import css ([#​11103](https://togithub.com/vitejs/vite/issues/11103)) ([fc0d9e3](https://togithub.com/vitejs/vite/commit/fc0d9e3)), closes [#​11103](https://togithub.com/vitejs/vite/issues/11103) - fix(plugin-vue): support scss/sass/less... hmr on custom template languages (fix [#​10677](https://togithub.com/vitejs/vite/issues/10677)) ([#​10844](https://togithub.com/vitejs/vite/issues/10844)) ([d413848](https://togithub.com/vitejs/vite/commit/d413848)), closes [#​10677](https://togithub.com/vitejs/vite/issues/10677) [#​10844](https://togithub.com/vitejs/vite/issues/10844) - fix(ssr): preserve require for external node ([#​11057](https://togithub.com/vitejs/vite/issues/11057)) ([1ec0176](https://togithub.com/vitejs/vite/commit/1ec0176)), closes [#​11057](https://togithub.com/vitejs/vite/issues/11057) - fix(worker): disable build reporter plugin when bundling worker ([#​11058](https://togithub.com/vitejs/vite/issues/11058)) ([7b72069](https://togithub.com/vitejs/vite/commit/7b72069)), closes [#​11058](https://togithub.com/vitejs/vite/issues/11058) - fix!: make `NODE_ENV` more predictable ([#​10996](https://togithub.com/vitejs/vite/issues/10996)) ([8148af7](https://togithub.com/vitejs/vite/commit/8148af7)), closes [#​10996](https://togithub.com/vitejs/vite/issues/10996) - fix(config)!: support development build ([#​11045](https://togithub.com/vitejs/vite/issues/11045)) ([8b3d656](https://togithub.com/vitejs/vite/commit/8b3d656)), closes [#​11045](https://togithub.com/vitejs/vite/issues/11045) - refactor: use function to eval worker and glob options ([#​10999](https://togithub.com/vitejs/vite/issues/10999)) ([f4c1264](https://togithub.com/vitejs/vite/commit/f4c1264)), closes [#​10999](https://togithub.com/vitejs/vite/issues/10999) - refactor(client): simplify fetchUpdate code ([#​11004](https://togithub.com/vitejs/vite/issues/11004)) ([f777b55](https://togithub.com/vitejs/vite/commit/f777b55)), closes [#​11004](https://togithub.com/vitejs/vite/issues/11004) - fix(html): transform relative path with long base in /index.html ([#​10990](https://togithub.com/vitejs/vite/issues/10990)) ([752740c](https://togithub.com/vitejs/vite/commit/752740c)), closes [#​10990](https://togithub.com/vitejs/vite/issues/10990) - fix(mpa): support mpa fallback ([#​10985](https://togithub.com/vitejs/vite/issues/10985)) ([61165f0](https://togithub.com/vitejs/vite/commit/61165f0)), closes [#​10985](https://togithub.com/vitejs/vite/issues/10985) - feat: align default chunk and asset file names with rollup ([#​10927](https://togithub.com/vitejs/vite/issues/10927)) ([cc2adb3](https://togithub.com/vitejs/vite/commit/cc2adb3)), closes [#​10927](https://togithub.com/vitejs/vite/issues/10927) - fix: make `addWatchFile()` work (fix [#​7024](https://togithub.com/vitejs/vite/issues/7024)) ([#​9723](https://togithub.com/vitejs/vite/issues/9723)) ([34db08b](https://togithub.com/vitejs/vite/commit/34db08b)), closes [#​7024](https://togithub.com/vitejs/vite/issues/7024) [#​9723](https://togithub.com/vitejs/vite/issues/9723) - fix(config): exclude config.assetsInclude empty array ([#​10941](https://togithub.com/vitejs/vite/issues/10941)) ([18c71dc](https://togithub.com/vitejs/vite/commit/18c71dc)), closes [#​10941](https://togithub.com/vitejs/vite/issues/10941) - fix(ssr): skip optional peer dep resolve ([#​10593](https://togithub.com/vitejs/vite/issues/10593)) ([0a69985](https://togithub.com/vitejs/vite/commit/0a69985)), closes [#​10593](https://togithub.com/vitejs/vite/issues/10593) - perf: regexp perf issues, refactor regexp stylistic issues ([#​10905](https://togithub.com/vitejs/vite/issues/10905)) ([fc007df](https://togithub.com/vitejs/vite/commit/fc007df)), closes [#​10905](https://togithub.com/vitejs/vite/issues/10905) - refactor: move CSS emitFile logic closer to rollup ([#​10909](https://togithub.com/vitejs/vite/issues/10909)) ([92a206b](https://togithub.com/vitejs/vite/commit/92a206b)), closes [#​10909](https://togithub.com/vitejs/vite/issues/10909) - refactor: use rollup hashing when emitting assets ([#​10878](https://togithub.com/vitejs/vite/issues/10878)) ([78c77be](https://togithub.com/vitejs/vite/commit/78c77be)), closes [#​10878](https://togithub.com/vitejs/vite/issues/10878) - fix: don't throw on malformed URLs ([#​10901](https://togithub.com/vitejs/vite/issues/10901)) ([feb9b10](https://togithub.com/vitejs/vite/commit/feb9b10)), closes [#​10901](https://togithub.com/vitejs/vite/issues/10901) - fix: gracefully handle forbidden filesystem access ([#​10793](https://togithub.com/vitejs/vite/issues/10793)) ([92637a2](https://togithub.com/vitejs/vite/commit/92637a2)), closes [#​10793](https://togithub.com/vitejs/vite/issues/10793) - fix(types): remove `null` from `CSSModulesOptions.localsConvention` ([#​10904](https://togithub.com/vitejs/vite/issues/10904)) ([a9978dd](https://togithub.com/vitejs/vite/commit/a9978dd)), closes [#​10904](https://togithub.com/vitejs/vite/issues/10904) - refactor(types)!: remove facade type files ([#​10903](https://togithub.com/vitejs/vite/issues/10903)) ([a309058](https://togithub.com/vitejs/vite/commit/a309058)), closes [#​10903](https://togithub.com/vitejs/vite/issues/10903) - fix: inconsistent handling of non-ASCII `base` in `resolveConfig` and dev server ([#​10247](https://togithub.com/vitejs/vite/issues/10247)) ([16e4123](https://togithub.com/vitejs/vite/commit/16e4123)), closes [#​10247](https://togithub.com/vitejs/vite/issues/10247) - fix: prevent cache on optional package resolve ([#​10812](https://togithub.com/vitejs/vite/issues/10812)) ([c599a2e](https://togithub.com/vitejs/vite/commit/c599a2e)), closes [#​10812](https://togithub.com/vitejs/vite/issues/10812) - fix: relocated logger to respect config. ([#​10787](https://togithub.com/vitejs/vite/issues/10787)) ([52e64eb](https://togithub.com/vitejs/vite/commit/52e64eb)), closes [#​10787](https://togithub.com/vitejs/vite/issues/10787) - fix: throw missing name error only when 'umd' or 'iife' are used ([#​9886](https://togithub.com/vitejs/vite/issues/9886)) ([b8aa825](https://togithub.com/vitejs/vite/commit/b8aa825)), closes [#​9886](https://togithub.com/vitejs/vite/issues/9886) - fix(deps): update all non-major dependencies ([#​10804](https://togithub.com/vitejs/vite/issues/10804)) ([f686afa](https://togithub.com/vitejs/vite/commit/f686afa)), closes [#​10804](https://togithub.com/vitejs/vite/issues/10804) - fix(ssr): improve missing file error ([#​10880](https://togithub.com/vitejs/vite/issues/10880)) ([5451a34](https://togithub.com/vitejs/vite/commit/5451a34)), closes [#​10880](https://togithub.com/vitejs/vite/issues/10880) ##### Previous Changelogs ##### [4.0.0-beta.7](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.6....v4.0.0-beta.7) (2022-12-08) See [4.0.0-beta.7 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.6](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.5....v4.0.0-beta.6) (2022-12-08) See [4.0.0-beta.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.5](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.4....v4.0.0-beta.5) (2022-12-08) See [4.0.0-beta.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.4](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.3....v4.0.0-beta.4) (2022-12-07) See [4.0.0-beta.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.3](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.2....v4.0.0-beta.3) (2022-12-07) See [4.0.0-beta.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.2](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.1....v4.0.0-beta.2) (2022-12-07) See [4.0.0-beta.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.1](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.0....v4.0.0-beta.1) (2022-12-06) See [4.0.0-beta.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.0](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.6....v4.0.0-beta.0) (2022-12-05) See [4.0.0-beta.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.6](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.6) (2022-11-30) See [4.0.0-alpha.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.6/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.5](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.5) (2022-11-22) See [4.0.0-alpha.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.5/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.4](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.3....v4.0.0-alpha.4) (2022-11-17) See [4.0.0-alpha.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.4/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.3](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.2....v4.0.0-alpha.3) (2022-11-15) See [4.0.0-alpha.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.3/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.2](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.1....v4.0.0-alpha.2) (2022-11-13) See [4.0.0-alpha.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.2/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.1](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.0....v4.0.0-alpha.1) (2022-11-12) See [4.0.0-alpha.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.1/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.0](https://togithub.com/vitejs/vite/compare/v3.2.5....v4.0.0-alpha.0) (2022-11-07) See [4.0.0-alpha.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.0/packages/vite/CHANGELOG.md) ### [`v3.2.5`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small325-2022-12-05-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.4...v3.2.5) - chore: cherry pick more v4 bug fixes to v3 ([#​11189](https://togithub.com/vitejs/vite/issues/11189)) ([eba9b42](https://togithub.com/vitejs/vite/commit/eba9b42)), closes [#​11189](https://togithub.com/vitejs/vite/issues/11189) [#​10949](https://togithub.com/vitejs/vite/issues/10949) [#​11056](https://togithub.com/vitejs/vite/issues/11056) [#​8663](https://togithub.com/vitejs/vite/issues/8663) [#​10958](https://togithub.com/vitejs/vite/issues/10958) [#​11120](https://togithub.com/vitejs/vite/issues/11120) [#​11122](https://togithub.com/vitejs/vite/issues/11122) [#​11123](https://togithub.com/vitejs/vite/issues/11123) [#​11132](https://togithub.com/vitejs/vite/issues/11132) - chore: cherry pick v4 bug fix to v3 ([#​11110](https://togithub.com/vitejs/vite/issues/11110)) ([c93a526](https://togithub.com/vitejs/vite/commit/c93a526)), closes [#​11110](https://togithub.com/vitejs/vite/issues/11110) [#​10941](https://togithub.com/vitejs/vite/issues/10941) [#​10987](https://togithub.com/vitejs/vite/issues/10987) [#​10985](https://togithub.com/vitejs/vite/issues/10985) [#​11067](https://togithub.com/vitejs/vite/issues/11067) - fix: relocated logger to respect config. ([#​10787](https://togithub.com/vitejs/vite/issues/10787)) ([#​10967](https://togithub.com/vitejs/vite/issues/10967)) ([bc3b5a9](https://togithub.com/vitejs/vite/commit/bc3b5a9)), closes [#​10787](https://togithub.com/vitejs/vite/issues/10787) [#​10967](https://togithub.com/vitejs/vite/issues/10967) ### [`v3.2.4`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small324-2022-11-15-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.3...v3.2.4) - fix: prevent cache on optional package resolve (v3) ([#​10812](https://togithub.com/vitejs/vite/issues/10812)) ([#​10845](https://togithub.com/vitejs/vite/issues/10845)) ([3ba45b9](https://togithub.com/vitejs/vite/commit/3ba45b9)), closes [#​10812](https://togithub.com/vitejs/vite/issues/10812) [#​10845](https://togithub.com/vitejs/vite/issues/10845) - fix(ssr): skip optional peer dep resolve (v3) ([#​10593](https://togithub.com/vitejs/vite/issues/10593)) ([#​10931](https://togithub.com/vitejs/vite/issues/10931)) ([7f59dcf](https://togithub.com/vitejs/vite/commit/7f59dcf)), closes [#​10593](https://togithub.com/vitejs/vite/issues/10593) [#​10931](https://togithub.com/vitejs/vite/issues/10931) [#​10593](https://togithub.com/vitejs/vite/issues/10593) ### [`v3.2.3`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small323-2022-11-07-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.2...v3.2.3) - refactor: change style.innerHTML to style.textContent ([#​10801](https://togithub.com/vitejs/vite/issues/10801)) ([8ea71b4](https://togithub.com/vitejs/vite/commit/8ea71b4)), closes [#​10801](https://togithub.com/vitejs/vite/issues/10801) - fix: add `@types/node` as an optional peer dependency ([#​10757](https://togithub.com/vitejs/vite/issues/10757)) ([57916a4](https://togithub.com/vitejs/vite/commit/57916a4)), closes [#​10757](https://togithub.com/vitejs/vite/issues/10757) - fix: transform import.meta.glob when scan JS/TS [#​10634](https://togithub.com/vitejs/vite/issues/10634) ([#​10635](https://togithub.com/vitejs/vite/issues/10635)) ([c53ffec](https://togithub.com/vitejs/vite/commit/c53ffec)), closes [#​10634](https://togithub.com/vitejs/vite/issues/10634) [#​10635](https://togithub.com/vitejs/vite/issues/10635) - fix(css): url() with variable in sass/less (fixes [#​3644](https://togithub.com/vitejs/vite/issues/3644), [#​7651](https://togithub.com/vitejs/vite/issues/7651)) ([#​10741](https://togithub.com/vitejs/vite/issues/10741)) ([fa2e47f](https://togithub.com/vitejs/vite/commit/fa2e47f)), closes [#​3644](https://togithub.com/vitejs/vite/issues/3644) [#​7651](https://togithub.com/vitejs/vite/issues/7651) [#​10741](https://togithub.com/vitejs/vite/issues/10741) - feat: add `vite:afterUpdate` event ([#​9810](https://togithub.com/vitejs/vite/issues/9810)) ([1f57f84](https://togithub.com/vitejs/vite/commit/1f57f84)), closes [#​9810](https://togithub.com/vitejs/vite/issues/9810) - perf: improve `multilineCommentsRE` regex (fix [#​10689](https://togithub.com/vitejs/vite/issues/10689)) ([#​10751](https://togithub.com/vitejs/vite/issues/10751)) ([51ed059](https://togithub.com/vitejs/vite/commit/51ed059)), closes [#​10689](https://togithub.com/vitejs/vite/issues/10689) [#​10751](https://togithub.com/vitejs/vite/issues/10751) - perf: Use only one ps exec to find a Chromium browser opened on Mac OS ([#​10588](https://togithub.com/vitejs/vite/issues/10588)) ([f199e90](https://togithub.com/vitejs/vite/commit/f199e90)), closes [#​10588](https://togithub.com/vitejs/vite/issues/10588) - chore: fix dev build replacing undefined ([#​10740](https://togithub.com/vitejs/vite/issues/10740)) ([1358a3c](https://togithub.com/vitejs/vite/commit/1358a3c)), closes [#​10740](https://togithub.com/vitejs/vite/issues/10740) - chore: remove non used type definitions ([#​10738](https://togithub.com/vitejs/vite/issues/10738)) ([ee8c7a6](https://togithub.com/vitejs/vite/commit/ee8c7a6)), closes [#​10738](https://togithub.com/vitejs/vite/issues/10738) - chore(deps): update dependency [@​rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs) to v23 ([#​10611](https://togithub.com/vitejs/vite/issues/10611)) ([cc4be70](https://togithub.com/vitejs/vite/commit/cc4be70)), closes [#​10611](https://togithub.com/vitejs/vite/issues/10611) - chore(deps): update dependency [@​rollup/plugin-dynamic-import-vars](https://togithub.com/rollup/plugin-dynamic-import-vars) to v2 ([#​10726](https://togithub.com/vitejs/vite/issues/10726)) ([326f782](https://togithub.com/vitejs/vite/commit/326f782)), closes [#​10726](https://togithub.com/vitejs/vite/issues/10726) ### [`v3.2.2`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small322-2022-10-31-small) [Compare Source](https://togithub.com/vitejs/vite/compare/47a78db49740daee873525de90d0e44b19883771...v3.2.2) - chore: remove src/client from package ([#​10703](https://togithub.com/vitejs/vite/issues/10703)) ([816842e](https://togithub.com/vitejs/vite/commit/816842e)), closes [#​10703](https://togithub.com/vitejs/vite/issues/10703) - chore(deps): update all non-major dependencies ([#​10725](https://togithub.com/vitejs/vite/issues/10725)) ([22cfad8](https://togithub.com/vitejs/vite/commit/22cfad8)), closes [#​10725](https://togithub.com/vitejs/vite/issues/10725) - fix: remove loaded input sourcemap (fixes [#​8411](https://togithub.com/vitejs/vite/issues/8411)) ([#​10705](https://togithub.com/vitejs/vite/issues/10705)) ([eb50e3a](https://togithub.com/vitejs/vite/commit/eb50e3a)), closes [#​8411](https://togithub.com/vitejs/vite/issues/8411) [#​10705](https://togithub.com/vitejs/vite/issues/10705) - fix: tsconfig `jsx` overrides esbuild options, reverts [#​10374](https://togithub.com/vitejs/vite/issues/10374) ([#​10714](https://togithub.com/vitejs/vite/issues/10714)) ([aacf6a4](https://togithub.com/vitejs/vite/commit/aacf6a4)), closes [#​10374](https://togithub.com/vitejs/vite/issues/10374) [#​10714](https://togithub.com/vitejs/vite/issues/10714) - docs(changelog): fix broken url ([#​10692](https://togithub.com/vitejs/vite/issues/10692)) ([f937ccc](https://togithub.com/vitejs/vite/commit/f937ccc)), closes [#​10692](https://togithub.com/vitejs/vite/issues/10692) ### [`v3.2.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small321-2022-10-28-small) [Compare Source](https://togithub.com/vitejs/vite/compare/4198e3428457b648aa622b665035bebe2821c660...47a78db49740daee873525de90d0e44b19883771) - fix: prioritize existing env over .env (fixes [#​10676](https://togithub.com/vitejs/vite/issues/10676)) ([#​10684](https://togithub.com/vitejs/vite/issues/10684)) ([e2ea6af](https://togithub.com/vitejs/vite/commit/e2ea6af)), closes [#​10676](https://togithub.com/vitejs/vite/issues/10676) [#​10684](https://togithub.com/vitejs/vite/issues/10684) - fix: remove picomatch type import (fixes [#​10656](https://togithub.com/vitejs/vite/issues/10656)) ([#​10678](https://togithub.com/vitejs/vite/issues/10678)) ([1128b4d](https://togithub.com/vitejs/vite/commit/1128b4d)), closes [#​10656](https://togithub.com/vitejs/vite/issues/10656) [#​10678](https://togithub.com/vitejs/vite/issues/10678) - fix(config): resolve externalized specifier with internal resolver ([#​10683](https://togithub.com/vitejs/vite/issues/10683)) ([b15d21c](https://togithub.com/vitejs/vite/commit/b15d21c)) - feat: Add support for imba in html scripts ([#​10679](https://togithub.com/vitejs/vite/issues/10679)) ([b823fd6](https://togithub.com/vitejs/vite/commit/b823fd6)), closes [#​10679](https://togithub.com/vitejs/vite/issues/10679) - chore: join URL segments more safely ([#​10590](https://togithub.com/vitejs/vite/issues/10590)) ([675bf07](https://togithub.com/vitejs/vite/commit/675bf07)), closes [#​10590](https://togithub.com/vitejs/vite/issues/10590) - chore: update changelog for 3.2 ([#​10646](https://togithub.com/vitejs/vite/issues/10646)) ([f787a60](https://togithub.com/vitejs/vite/commit/f787a60)), closes [#​10646](https://togithub.com/vitejs/vite/issues/10646) ### [`v3.2.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#​320-2022-10-26) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.1.8...4198e3428457b648aa622b665035bebe2821c660) ##### Main Changes ##### Multiple Entries for Library Mode Library mode now supports multiple entries: ```js lib: { entry: { primary: 'src/index.ts', secondary: 'src/secondary.ts' }, formats: ['es', 'cjs'] } // => primary.es.js, primary.cjs.js, secondary.es.js, secondary.cjs.js ``` Check out the PR [#​7047](https://togithub.com/vitejs/vite/issues/7047), and the [`build.lib` config docs](https://main.vitejs.dev/config/build-options.html#build-lib) ##### `build.modulePreload` options Vite now allows filtering and modifying module preload dependencies for each entry and async chunk. [`experimental.renderBuiltUrl`](https://vitejs.dev/guide/build.html#advanced-base-options) will also get called for preload asset paths. And `build.modulePreload.resolveDependencies` will be called both for JS dynamic imports preload lists and also for HTML preload lists for chunks imported from entry HTML files. Refer to the PR for more context [#​9938](https://togithub.com/vitejs/vite/issues/9938) and check out the [modulePreload config docs](https://vitejs.dev/config/build-options.html#build-modulepreload). Note: `build.modulePreloadPolyfill` is now deprecated, please migrate to `build.modulePreload.polyfill`. ##### Include Duplicate Assets in the Manifest Laravel and other backends integrations will now get entries for every asset file, even if they have been de-duplicated. See [#​9928](https://togithub.com/vitejs/vite/issues/9928) for more information. ##### Customizable ErrorOverlay You can now customize the ErrorOverlay by using [css parts](https://developer.mozilla.org/en-US/docs/Web/CSS/::part). Check out the PR for more details: [#​10234](https://togithub.com/vitejs/vite/issues/10234). ##### Features - feat(build): experimental copyPublicDir option ([#​10550](https://togithub.com/vitejs/vite/issues/10550)) ([4f4a39f](https://togithub.com/vitejs/vite/commit/4f4a39f)), closes [#​10550](https://togithub.com/vitejs/vite/issues/10550) - feat(css): export preprocessCSS API ([#​10429](https://togithub.com/vitejs/vite/issues/10429)) ([177b427](https://togithub.com/vitejs/vite/commit/177b427)), closes [#​10429](https://togithub.com/vitejs/vite/issues/10429) - feat(preview): support outDir option ([#​10418](https://togithub.com/vitejs/vite/issues/10418)) ([15b90b3](https://togithub.com/vitejs/vite/commit/15b90b3)), closes [#​10418](https://togithub.com/vitejs/vite/issues/10418) - feat: include line and column in error format ([#​10529](https://togithub.com/vitejs/vite/issues/10529)) ([d806c4a](https://togithub.com/vitejs/vite/commit/d806c4a)), closes [#​10529](https://togithub.com/vitejs/vite/issues/10529) - feat: reuse opening tab in chromium browsers when start dev server ([#​10485](https://togithub.com/vitejs/vite/issues/10485)) ([1a2e7a8](https://togithub.com/vitejs/vite/commit/1a2e7a8)), closes [#​10485](https://togithub.com/vitejs/vite/issues/10485) - feat: update esbuild compilation affecting fields ([#​10374](https://togithub.com/vitejs/vite/issues/10374)) ([f542727](https://togithub.com/vitejs/vite/commit/f542727)), closes [#​10374](https://togithub.com/vitejs/vite/issues/10374) - feat(proxy): Include URL of request in proxy errors ([#​10508](https://togithub.com/vitejs/vite/issues/10508)) ([27e2832](https://togithub.com/vitejs/vite/commit/27e2832)), closes [#​10508](https://togithub.com/vitejs/vite/issues/10508) - refactor: delete dependent pre built proxy modules ([#​10427](https://togithub.com/vitejs/vite/issues/10427)) ([b3b388d](https://togithub.com/vitejs/vite/commit/b3b388d)), closes [#​10427](https://togithub.com/vitejs/vite/issues/10427) - feat(server): invalidate module with hmr ([#​10333](https://togithub.com/vitejs/vite/issues/10333)) ([8328011](https://togithub.com/vitejs/vite/commit/8328011)), closes [#​10333](https://togithub.com/vitejs/vite/issues/10333) - feat: build.modulePreload options ([#​9938](https://togithub.com/vitejs/vite/issues/9938)) ([e223f84](https://togithub.com/vitejs/vite/commit/e223f84)), closes [#​9938](https://togithub.com/vitejs/vite/issues/9938) - feat: customize ErrorOverlay ([#​10234](https://togithub.com/vitejs/vite/issues/10234)) ([fe4dc8d](https://togithub.com/vitejs/vite/commit/fe4dc8d)), closes [#​10234](https://togithub.com/vitejs/vite/issues/10234) - feat: dynamic import support ?url and ?worker ([#​8261](https://togithub.com/vitejs/vite/issues/8261)) ([0cb01ca](https://togithub.com/vitejs/vite/commit/0cb01ca)), closes [#​8261](https://togithub.com/vitejs/vite/issues/8261) - feat: include duplicate assets in the manifest ([#​9928](https://togithub.com/vitejs/vite/issues/9928)) ([42ecf37](https://togithub.com/vitejs/vite/commit/42ecf37)), closes [#​9928](https://togithub.com/vitejs/vite/issues/9928) - feat: support import.meta.hot.invalidate ([#​10244](https://togithub.com/vitejs/vite/issues/10244)) ([fb8ab16](https://togithub.com/vitejs/vite/commit/fb8ab16)), closes [#​10244](https://togithub.com/vitejs/vite/issues/10244) - feat: support postcss sugarss ([#​6705](https://togithub.com/vitejs/vite/issues/6705)) ([8ede2f1](https://togithub.com/vitejs/vite/commit/8ede2f1)), closes [#​6705](https://togithub.com/vitejs/vite/issues/6705) - feat(assets): allow `new URL` to resolve package assets ([#​7837](https://togithub.com/vitejs/vite/issues/7837)) ([bafccf5](https://togithub.com/vitejs/vite/commit/bafccf5)), closes [#​7837](https://togithub.com/vitejs/vite/issues/7837) - feat(client): add data-vite-dev-id attribute to style elements ([#​10080](https://togithub.com/vitejs/vite/issues/10080)) ([ea09fde](https://togithub.com/vitejs/vite/commit/ea09fde)), closes [#​10080](https://togithub.com/vitejs/vite/issues/10080) - feat(lib): allow multiple entries ([#​7047](https://togithub.com/vitejs/vite/issues/7047)) ([65a0fad](https://togithub.com/vitejs/vite/commit/65a0fad)), closes [#​7047](https://togithub.com/vitejs/vite/issues/7047) - feat(optimizer): Support bun lockfile format ([#​10288](https://togithub.com/vitejs/vite/issues/10288)) ([931d69b](https://togithub.com/vitejs/vite/commit/931d69b)), closes [#​10288](https://togithub.com/vitejs/vite/issues/10288) - refactor(types): bundle client types ([#​9966](https://togithub.com/vitejs/vite/issues/9966)) ([da632bf](https://togithub.com/vitejs/vite/commit/da632bf)), closes [#​9966](https://togithub.com/vitejs/vite/issues/9966) - refactor(types): simplify type exports ([#​10243](https://togithub.com/vitejs/vite/issues/10243)) ([291174d](https://togithub.com/vitejs/vite/commit/291174d)), closes [#​10243](https://togithub.com/vitejs/vite/issues/10243) - perf: cache compiled glob for `server.fs.deny` ([#​10044](https://togithub.com/vitejs/vite/issues/10044)) ([df560b0](https://togithub.com/vitejs/vite/commit/df560b0)), closes [#​10044](https://togithub.com/vitejs/vite/issues/10044) ##### Bug Fixes - fix: add a warning if css urls not exist during build time (fix [#​9800](https://togithub.com/vitejs/vite/issues/9800)) ([#​10331](https://togithub.com/vitejs/vite/issues/10331)) ([9f268da](https://togithub.com/vitejs/vite/commit/9f268da)), closes [#​9800](https://togithub.com/vitejs/vite/issues/9800) [#​10331](https://togithub.com/vitejs/vite/issues/10331) - fix: increase error overlay z-index ([#​10603](https://togithub.com/vitejs/vite/issues/10603)) ([1157941](https://togithub.com/vitejs/vite/commit/1157941)), closes [#​10603](https://togithub.com/vitejs/vite/issues/10603) - fix: revert es-module-lexer version ([#​10614](https://togithub.com/vitejs/vite/issues/10614)) ([cffe5c9](https://togithub.com/vitejs/vite/commit/cffe5c9)), closes [#​10614](https://togithub.com/vitejs/vite/issues/10614) - fix: when the file path is an absolute path, parsing causes parameter loss ([#​10449](https://togithub.com/vitejs/vite/issues/10449)) ([df86990](https://togithub.com/vitejs/vite/commit/df86990)), closes [#​10449](https://togithub.com/vitejs/vite/issues/10449) - fix(config): resolve build options with fallback ([#​10645](https://togithub.com/vitejs/vite/issues/10645)) ([f7021e3](https://togithub.com/vitejs/vite/commit/f7021e3)), closes [#​10645](https://togithub.com/vitejs/vite/issues/10645) - fix(deps): update all non-major dependencies ([#​10610](https://togithub.com/vitejs/vite/issues/10610)) ([bb95467](https://togithub.com/vitejs/vite/commit/bb95467)), closes [#​10610](https://togithub.com/vitejs/vite/issues/10610) - fix(hmr): cannot reload after missing import on server startup ([#​9534](https://togithub.com/vitejs/vite/issues/9534)) ([#​10602](https://togithub.com/vitejs/vite/issues/10602)) ([ee7c28a](https://togithub.com/vitejs/vite/commit/ee7c28a)), closes [#​9534](https://togithub.com/vitejs/vite/issues/9534) [#​10602](https://togithub.com/vitejs/vite/issues/10602) - fix(css): strip BOM (fixes [#​10043](https://togithub.com/vitejs/vite/issues/10043)) ([#​10577](https://togithub.com/vitejs/vite/issues/10577)) ([e0463bd](https://togithub.com/vitejs/vite/commit/e0463bd)), closes [#​10043](https://togithub.com/vitejs/vite/issues/10043) [#​10577](https://togithub.com/vitejs/vite/issues/10577) - fix(ssr): resolve with isRequire true ([#​10569](https://togithub.com/vitejs/vite/issues/10569)) ([7b81210](https://togithub.com/vitejs/vite/commit/7b81210)), closes [#​10569](https://togithub.com/vitejs/vite/issues/10569) - fix: prefer exports when resolving ([#​10371](https://togithub.com/vitejs/vite/issues/10371)) ([3259006](https://togithub.com/vitejs/vite/commit/3259006)), closes [#​10371](https://togithub.com/vitejs/vite/issues/10371) - fix(config): partial deno support ([#​10446](https://togithub.com/vitejs/vite/issues/10446)) ([c4489ea](https://togithub.com/vitejs/vite/commit/c4489ea)), closes [#​10446](https://togithub.com/vitejs/vite/issues/10446) - fix(config): skip resolve builtin modules ([#​10420](https://togithub.com/vitejs/vite/issues/10420)) ([ecba3f8](https://togithub.com/vitejs/vite/commit/ecba3f8)), closes [#​10420](https://togithub.com/vitejs/vite/issues/10420) - fix(ssr): handle parallel hookNodeResolve ([#​10401](https://togithub.com/vitejs/vite/issues/10401)) ([1a961d9](https://togithub.com/vitejs/vite/commit/1a961d9)), closes [#​10401](https://togithub.com/vitejs/vite/issues/10401) - fix(cli): when the user enters the same command ([#​10474](https://togithub.com/vitejs/vite/issues/10474)) ([2326f4a](https://togithub.com/vitejs/vite/co </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 12pm every weekday,every weekend,before 5am every weekday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/js-library-template).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`3.2.5` -> `4.0.3`](https://renovatebot.com/diffs/npm/vite/3.2.5/4.0.3) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.0.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.0.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.0.3/compatibility-slim/3.2.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.0.3/confidence-slim/3.2.5)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite</summary> ### [`v4.0.3`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small403-2022-12-21-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v4.0.2...v4.0.3) - chore(deps): update dependency [@​rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs) to v24 ([#​11420](https://togithub.com/vitejs/vite/issues/11420)) ([241db16](https://togithub.com/vitejs/vite/commit/241db16)), closes [#​11420](https://togithub.com/vitejs/vite/issues/11420) - chore(typo): fix typo ([#​11445](https://togithub.com/vitejs/vite/issues/11445)) ([ed80ea5](https://togithub.com/vitejs/vite/commit/ed80ea5)), closes [#​11445](https://togithub.com/vitejs/vite/issues/11445) - fix(ssr): ignore module exports condition ([#​11409](https://togithub.com/vitejs/vite/issues/11409)) ([d3c9c0b](https://togithub.com/vitejs/vite/commit/d3c9c0b)), closes [#​11409](https://togithub.com/vitejs/vite/issues/11409) - feat: allow import.meta.hot define override ([#​8944](https://togithub.com/vitejs/vite/issues/8944)) ([857d578](https://togithub.com/vitejs/vite/commit/857d578)), closes [#​8944](https://togithub.com/vitejs/vite/issues/8944) ### [`v4.0.2`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small402-2022-12-18-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v4.0.1...v4.0.2) - fix: fix the error message in the `toOutputFilePathWithoutRuntime` function ([#​11367](https://togithub.com/vitejs/vite/issues/11367)) ([8820f75](https://togithub.com/vitejs/vite/commit/8820f75)), closes [#​11367](https://togithub.com/vitejs/vite/issues/11367) - fix: make `vite optimize` prebundle for dev ([#​11387](https://togithub.com/vitejs/vite/issues/11387)) ([b4ced0f](https://togithub.com/vitejs/vite/commit/b4ced0f)), closes [#​11387](https://togithub.com/vitejs/vite/issues/11387) - fix: revert [#​11290](https://togithub.com/vitejs/vite/issues/11290) ([#​11412](https://togithub.com/vitejs/vite/issues/11412)) ([6587d2f](https://togithub.com/vitejs/vite/commit/6587d2f)), closes [#​11290](https://togithub.com/vitejs/vite/issues/11290) [#​11412](https://togithub.com/vitejs/vite/issues/11412) - fix: server and preview open fails to add slash before relative path ([#​11394](https://togithub.com/vitejs/vite/issues/11394)) ([57276b7](https://togithub.com/vitejs/vite/commit/57276b7)), closes [#​11394](https://togithub.com/vitejs/vite/issues/11394) - fix: skip applescript when no Chromium browser found (fixes [#​11205](https://togithub.com/vitejs/vite/issues/11205)) ([#​11406](https://togithub.com/vitejs/vite/issues/11406)) ([274d1f3](https://togithub.com/vitejs/vite/commit/274d1f3)), closes [#​11205](https://togithub.com/vitejs/vite/issues/11205) [#​11406](https://togithub.com/vitejs/vite/issues/11406) - fix(deps): update dependency ufo to v1 ([#​11372](https://togithub.com/vitejs/vite/issues/11372)) ([4288300](https://togithub.com/vitejs/vite/commit/4288300)), closes [#​11372](https://togithub.com/vitejs/vite/issues/11372) - chore: typecheck create-vite ([#​11295](https://togithub.com/vitejs/vite/issues/11295)) ([af86e5b](https://togithub.com/vitejs/vite/commit/af86e5b)), closes [#​11295](https://togithub.com/vitejs/vite/issues/11295) - chore(deps): update dependency convert-source-map to v2 ([#​10548](https://togithub.com/vitejs/vite/issues/10548)) ([8dc6528](https://togithub.com/vitejs/vite/commit/8dc6528)), closes [#​10548](https://togithub.com/vitejs/vite/issues/10548) - chore(deps): update dependency mlly to v1 ([#​11370](https://togithub.com/vitejs/vite/issues/11370)) ([9662d4d](https://togithub.com/vitejs/vite/commit/9662d4d)), closes [#​11370](https://togithub.com/vitejs/vite/issues/11370) ### [`v4.0.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small401-2022-12-12-small) [Compare Source](https://togithub.com/vitejs/vite/compare/566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f...v4.0.1) - feat: show server url by pressing `u` ([#​11319](https://togithub.com/vitejs/vite/issues/11319)) ([8c0bb7b](https://togithub.com/vitejs/vite/commit/8c0bb7b)), closes [#​11319](https://togithub.com/vitejs/vite/issues/11319) - feat(html): clickable error position for html parse error ([#​11334](https://togithub.com/vitejs/vite/issues/11334)) ([2e15f3d](https://togithub.com/vitejs/vite/commit/2e15f3d)), closes [#​11334](https://togithub.com/vitejs/vite/issues/11334) - fix: ?inline warning for .css.js file ([#​11347](https://togithub.com/vitejs/vite/issues/11347)) ([729fb1a](https://togithub.com/vitejs/vite/commit/729fb1a)), closes [#​11347](https://togithub.com/vitejs/vite/issues/11347) - fix: check if build exists so preview doesn't show 404s due to nonexistent build ([#​10564](https://togithub.com/vitejs/vite/issues/10564)) ([0a1db8c](https://togithub.com/vitejs/vite/commit/0a1db8c)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) - fix: derive `useDefineForClassFields` value from `tsconfig.compilerOptions.target` (fixes [#​10296](https://togithub.com/vitejs/vite/issues/10296)) (# ([42976d8](https://togithub.com/vitejs/vite/commit/42976d8)), closes [#​10296](https://togithub.com/vitejs/vite/issues/10296) [#​11301](https://togithub.com/vitejs/vite/issues/11301) - fix: preview fallback ([#​11312](https://togithub.com/vitejs/vite/issues/11312)) ([cfedf9c](https://togithub.com/vitejs/vite/commit/cfedf9c)), closes [#​11312](https://togithub.com/vitejs/vite/issues/11312) - fix: respect base when using `/__open-in-editor` ([#​11337](https://togithub.com/vitejs/vite/issues/11337)) ([8856c2e](https://togithub.com/vitejs/vite/commit/8856c2e)), closes [#​11337](https://togithub.com/vitejs/vite/issues/11337) - fix: wrongly resolve to optimized doppelganger ([#​11290](https://togithub.com/vitejs/vite/issues/11290)) ([34fec41](https://togithub.com/vitejs/vite/commit/34fec41)), closes [#​11290](https://togithub.com/vitejs/vite/issues/11290) - fix(env): test NODE_ENV override before expand ([#​11309](https://togithub.com/vitejs/vite/issues/11309)) ([d0a9281](https://togithub.com/vitejs/vite/commit/d0a9281)), closes [#​11309](https://togithub.com/vitejs/vite/issues/11309) - fix(preview): Revert [#​10564](https://togithub.com/vitejs/vite/issues/10564) - throw Error on missing outDir ([#​11335](https://togithub.com/vitejs/vite/issues/11335)) ([3aaa0ea](https://togithub.com/vitejs/vite/commit/3aaa0ea)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) [#​11335](https://togithub.com/vitejs/vite/issues/11335) [#​10564](https://togithub.com/vitejs/vite/issues/10564) - docs: fix banner image in CHANGELOG.md ([#​11336](https://togithub.com/vitejs/vite/issues/11336)) ([45b66f4](https://togithub.com/vitejs/vite/commit/45b66f4)), closes [#​11336](https://togithub.com/vitejs/vite/issues/11336) - chore: enable `@typescript-eslint/ban-ts-comment` ([#​11326](https://togithub.com/vitejs/vite/issues/11326)) ([e58a4f0](https://togithub.com/vitejs/vite/commit/e58a4f0)), closes [#​11326](https://togithub.com/vitejs/vite/issues/11326) - chore: fix format ([#​11311](https://togithub.com/vitejs/vite/issues/11311)) ([9c2b1c0](https://togithub.com/vitejs/vite/commit/9c2b1c0)), closes [#​11311](https://togithub.com/vitejs/vite/issues/11311) - chore: update changelog release notes for 4.0 ([#​11285](https://togithub.com/vitejs/vite/issues/11285)) ([83abd37](https://togithub.com/vitejs/vite/commit/83abd37)), closes [#​11285](https://togithub.com/vitejs/vite/issues/11285) - chore(deps): update all non-major dependencies ([#​11321](https://togithub.com/vitejs/vite/issues/11321)) ([dcc0004](https://togithub.com/vitejs/vite/commit/dcc0004)), closes [#​11321](https://togithub.com/vitejs/vite/issues/11321) - chore(esbuild): add test for configuration overrides ([#​11267](https://togithub.com/vitejs/vite/issues/11267)) ([f897b64](https://togithub.com/vitejs/vite/commit/f897b64)), closes [#​11267](https://togithub.com/vitejs/vite/issues/11267) ### [`v4.0.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#​400-2022-12-09) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.5...566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f) ![Vite 4 Announcement Cover Image](https://vitejs.dev/og-image-announcing-vite4.png) Read the announcement blog post: [Announcing Vite 4](https://vitejs.dev/blog/announcing-vite4) Quick links: - [Docs](https://vitejs.dev) - [Migration Guide](https://vitejs.dev/guide/migration) Docs in other languages: - [简体中文](https://cn.vitejs.dev/) - [日本語](https://ja.vitejs.dev/) - [Español](https://es.vitejs.dev/) ##### 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](https://togithub.com/vitejs/vite/issues/9870), which allowed us to simplify Vite's internal asset handling and has many improvements. See the [Rollup 3 release notes here](https://togithub.com/rollup/rollup/releases). ##### Framework Plugins out of the Vite core monorepo [`@vitejs/plugin-vue`](https://togithub.com/vitejs/vite-plugin-vue) and [`@vitejs/plugin-react`](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/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](https://togithub.com/vitejs/vite/pull/11158). 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`](https://togithub.com/vitejs/vite-plugin-vue) and [`vitejs/vite-plugin-react`](https://togithub.com/vitejs/vite-plugin-react). ##### New React plugin using SWC during development [SWC](https://swc.rs/) is now a mature replacement for [Babel](https://babeljs.io/), 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](https://togithub.com/vitejs/plugin-react) [@​vitejs/plugin-react](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/plugin-react-swc) (new) [@​vitejs/plugin-react-swc](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/vite/issues/9063)). This means that modern builds can now use [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) and that the [nullish coallessing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) isn't transpiled anymore. If you need to support older browsers, you can add [`@vitejs/plugin-legacy`](https://togithub.com/vitejs/vite/tree/main/packages/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. ```ts import cssString from './global.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](https://togithub.com/vitejs/vite/issues/11094). The `?inline` query suffix modifier needs to be used in this case, as that doesn't emit the imported `.css` styles. ```ts import stuff from './global.css?inline' ``` ##### Other features - Support for patch-package when pre bundling dependencies ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) - Cleaner build logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) and switch to `kB` to align with browser dev tools ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) - Improved error messages during SSR ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ##### Features - feat: add CLI keyboard shortcuts ([#​11228](https://togithub.com/vitejs/vite/issues/11228)) ([87973f1](https://togithub.com/vitejs/vite/commit/87973f1)), closes [#​11228](https://togithub.com/vitejs/vite/issues/11228) - feat: export error message generator ([#​11155](https://togithub.com/vitejs/vite/issues/11155)) ([493ba1e](https://togithub.com/vitejs/vite/commit/493ba1e)), closes [#​11155](https://togithub.com/vitejs/vite/issues/11155) - feat(node/plugins): esbuild options ([#​11049](https://togithub.com/vitejs/vite/issues/11049)) ([735b98b](https://togithub.com/vitejs/vite/commit/735b98b)), closes [#​11049](https://togithub.com/vitejs/vite/issues/11049) - feat: improve the error message of `expand` ([#​11141](https://togithub.com/vitejs/vite/issues/11141)) ([825c793](https://togithub.com/vitejs/vite/commit/825c793)), closes [#​11141](https://togithub.com/vitejs/vite/issues/11141) - feat: update [@​types/node](https://togithub.com/types/node) to v18 ([#​11195](https://togithub.com/vitejs/vite/issues/11195)) ([4ec9f53](https://togithub.com/vitejs/vite/commit/4ec9f53)), closes [#​11195](https://togithub.com/vitejs/vite/issues/11195) - feat(client)!: remove never implemented hot.decline ([#​11036](https://togithub.com/vitejs/vite/issues/11036)) ([e257e3b](https://togithub.com/vitejs/vite/commit/e257e3b)), closes [#​11036](https://togithub.com/vitejs/vite/issues/11036) - feat!: support `safari14` by default for wider ES2020 compatibility ([#​9063](https://togithub.com/vitejs/vite/issues/9063)) ([3cc65d7](https://togithub.com/vitejs/vite/commit/3cc65d7)), closes [#​9063](https://togithub.com/vitejs/vite/issues/9063) - feat!: support multiline values in env files ([#​10826](https://togithub.com/vitejs/vite/issues/10826)) ([606e60d](https://togithub.com/vitejs/vite/commit/606e60d)), closes [#​10826](https://togithub.com/vitejs/vite/issues/10826) - feat(ssr)!: remove dedupe and mode support for CJS ([#​11101](https://togithub.com/vitejs/vite/issues/11101)) ([3090564](https://togithub.com/vitejs/vite/commit/3090564)), closes [#​11101](https://togithub.com/vitejs/vite/issues/11101) - feat: align object interface for `transformIndexHtml` hook ([#​9669](https://togithub.com/vitejs/vite/issues/9669)) ([1db52bf](https://togithub.com/vitejs/vite/commit/1db52bf)), closes [#​9669](https://togithub.com/vitejs/vite/issues/9669) - feat(build): cleaner logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) ([7d24b5f](https://togithub.com/vitejs/vite/commit/7d24b5f)), closes [#​10895](https://togithub.com/vitejs/vite/issues/10895) - feat(css): deprecate css default export ([#​11094](https://togithub.com/vitejs/vite/issues/11094)) ([01dee1b](https://togithub.com/vitejs/vite/commit/01dee1b)), closes [#​11094](https://togithub.com/vitejs/vite/issues/11094) - feat(optimizer): support patch-package ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) ([4fb7ad0](https://togithub.com/vitejs/vite/commit/4fb7ad0)), closes [#​10286](https://togithub.com/vitejs/vite/issues/10286) - feat(build): Use kB in build reporter ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) ([b57acfa](https://togithub.com/vitejs/vite/commit/b57acfa)), closes [#​10982](https://togithub.com/vitejs/vite/issues/10982) - feat(css): upgrade postcss-modules ([#​10987](https://togithub.com/vitejs/vite/issues/10987)) ([892916d](https://togithub.com/vitejs/vite/commit/892916d)), closes [#​10987](https://togithub.com/vitejs/vite/issues/10987) - feat(hmr): invalidate message ([#​10946](https://togithub.com/vitejs/vite/issues/10946)) ([0d73473](https://togithub.com/vitejs/vite/commit/0d73473)), closes [#​10946](https://togithub.com/vitejs/vite/issues/10946) - feat(client): expose hot.prune API ([#​11016](https://togithub.com/vitejs/vite/issues/11016)) ([f40c18d](https://togithub.com/vitejs/vite/commit/f40c18d)), closes [#​11016](https://togithub.com/vitejs/vite/issues/11016) - feat(hmr): deduplicate paths and join them with commas ([#​10891](https://togithub.com/vitejs/vite/issues/10891)) ([967299a](https://togithub.com/vitejs/vite/commit/967299a)), closes [#​10891](https://togithub.com/vitejs/vite/issues/10891) - feat: base without trailing slash ([#​10723](https://togithub.com/vitejs/vite/issues/10723)) ([8f87282](https://togithub.com/vitejs/vite/commit/8f87282)), closes [#​10723](https://togithub.com/vitejs/vite/issues/10723) - feat: handle static assets in case-sensitive manner ([#​10475](https://togithub.com/vitejs/vite/issues/10475)) ([c1368c3](https://togithub.com/vitejs/vite/commit/c1368c3)), closes [#​10475](https://togithub.com/vitejs/vite/issues/10475) - feat(cli): build --profile ([#​10719](https://togithub.com/vitejs/vite/issues/10719)) ([9c808cd](https://togithub.com/vitejs/vite/commit/9c808cd)), closes [#​10719](https://togithub.com/vitejs/vite/issues/10719) - feat(env): support dotenv-expand to contains process env ([#​10370](https://togithub.com/vitejs/vite/issues/10370)) ([d5fe92c](https://togithub.com/vitejs/vite/commit/d5fe92c)), closes [#​10370](https://togithub.com/vitejs/vite/issues/10370) - feat!: set esbuild default charset to utf8 ([#​10753](https://togithub.com/vitejs/vite/issues/10753)) ([4caf4b6](https://togithub.com/vitejs/vite/commit/4caf4b6)), closes [#​10753](https://togithub.com/vitejs/vite/issues/10753) - feat: rollup 3 ([#​9870](https://togithub.com/vitejs/vite/issues/9870)) ([beb7166](https://togithub.com/vitejs/vite/commit/beb7166)), closes [#​9870](https://togithub.com/vitejs/vite/issues/9870) ##### Bug Fixes - fix: add `\0` to virtual files id ([#​11261](https://togithub.com/vitejs/vite/issues/11261)) ([02cdfa9](https://togithub.com/vitejs/vite/commit/02cdfa9)), closes [#​11261](https://togithub.com/vitejs/vite/issues/11261) - fix: skip shortcuts on non-tty stdin ([#​11263](https://togithub.com/vitejs/vite/issues/11263)) ([9602686](https://togithub.com/vitejs/vite/commit/9602686)), closes [#​11263](https://togithub.com/vitejs/vite/issues/11263) - fix(ssr): skip rewriting stack trace if it's already rewritten (fixes [#​11037](https://togithub.com/vitejs/vite/issues/11037)) ([#​11070](https://togithub.com/vitejs/vite/issues/11070)) ([feb8ce0](https://togithub.com/vitejs/vite/commit/feb8ce0)), closes [#​11037](https://togithub.com/vitejs/vite/issues/11037) [#​11070](https://togithub.com/vitejs/vite/issues/11070) - refactor(optimizer): await depsOptimizer.scanProcessing ([#​11251](https://togithub.com/vitejs/vite/issues/11251)) ([fa64c8e](https://togithub.com/vitejs/vite/commit/fa64c8e)), closes [#​11251](https://togithub.com/vitejs/vite/issues/11251) - fix: improve CLI shortcuts help display ([#​11247](https://togithub.com/vitejs/vite/issues/11247)) ([bb235b2](https://togithub.com/vitejs/vite/commit/bb235b2)), closes [#​11247](https://togithub.com/vitejs/vite/issues/11247) - fix: less promises for scanning and await with allSettled ([#​11245](https://togithub.com/vitejs/vite/issues/11245)) ([45b170e](https://togithub.com/vitejs/vite/commit/45b170e)), closes [#​11245](https://togithub.com/vitejs/vite/issues/11245) - fix(optimizer): escape entrypoints when running scanner ([#​11250](https://togithub.com/vitejs/vite/issues/11250)) ([b61894e](https://togithub.com/vitejs/vite/commit/b61894e)), closes [#​11250](https://togithub.com/vitejs/vite/issues/11250) - fix: await scanner ([#​11242](https://togithub.com/vitejs/vite/issues/11242)) ([52a6732](https://togithub.com/vitejs/vite/commit/52a6732)), closes [#​11242](https://togithub.com/vitejs/vite/issues/11242) - fix(css): fix css lang regex ([#​11237](https://togithub.com/vitejs/vite/issues/11237)) ([a55d0b3](https://togithub.com/vitejs/vite/commit/a55d0b3)), closes [#​11237](https://togithub.com/vitejs/vite/issues/11237) - fix: don't print urls on restart with default port ([#​11230](https://togithub.com/vitejs/vite/issues/11230)) ([5aaecb6](https://togithub.com/vitejs/vite/commit/5aaecb6)), closes [#​11230](https://togithub.com/vitejs/vite/issues/11230) - fix: serialize bundleWorkerEntry ([#​11218](https://togithub.com/vitejs/vite/issues/11218)) ([306bed0](https://togithub.com/vitejs/vite/commit/306bed0)), closes [#​11218](https://togithub.com/vitejs/vite/issues/11218) - fix(config): resolve dynamic import as esm ([#​11220](https://togithub.com/vitejs/vite/issues/11220)) ([f8c1ed0](https://togithub.com/vitejs/vite/commit/f8c1ed0)), closes [#​11220](https://togithub.com/vitejs/vite/issues/11220) - fix(env): prevent env expand on process.env ([#​11213](https://togithub.com/vitejs/vite/issues/11213)) ([d4a1e2b](https://togithub.com/vitejs/vite/commit/d4a1e2b)), closes [#​11213](https://togithub.com/vitejs/vite/issues/11213) - fix: add type for function localsConvention value ([#​11152](https://togithub.com/vitejs/vite/issues/11152)) ([c9274b4](https://togithub.com/vitejs/vite/commit/c9274b4)), closes [#​11152](https://togithub.com/vitejs/vite/issues/11152) - fix: cacheDir should be ignored from watch ([#​10242](https://togithub.com/vitejs/vite/issues/10242)) ([75dbca2](https://togithub.com/vitejs/vite/commit/75dbca2)), closes [#​10242](https://togithub.com/vitejs/vite/issues/10242) - fix: don't check .yarn/patches for computing dependencies hash ([#​11168](https://togithub.com/vitejs/vite/issues/11168)) ([65bcccf](https://togithub.com/vitejs/vite/commit/65bcccf)), closes [#​11168](https://togithub.com/vitejs/vite/issues/11168) - fix: formatError() outside rollup context ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ([2aee2eb](https://togithub.com/vitejs/vite/commit/2aee2eb)), closes [#​11156](https://togithub.com/vitejs/vite/issues/11156) - fix: Revert "fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476))" ([#​11](https://togithub.com/vitejs/vite/issues/11) ([fdc6f3a](https://togithub.com/vitejs/vite/commit/fdc6f3a)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) [#​11144](https://togithub.com/vitejs/vite/issues/11144) - fix: Dev SSR dep optimization + respect optimizeDeps.include ([#​11123](https://togithub.com/vitejs/vite/issues/11123)) ([515caa5](https://togithub.com/vitejs/vite/commit/515caa5)), closes [#​11123](https://togithub.com/vitejs/vite/issues/11123) - fix: export preprocessCSS in CJS ([#​11067](https://togithub.com/vitejs/vite/issues/11067)) ([793255d](https://togithub.com/vitejs/vite/commit/793255d)), closes [#​11067](https://togithub.com/vitejs/vite/issues/11067) - fix: glob import parsing ([#​10949](https://togithub.com/vitejs/vite/issues/10949)) ([#​11056](https://togithub.com/vitejs/vite/issues/11056)) ([ac2cfd6](https://togithub.com/vitejs/vite/commit/ac2cfd6)), closes [#​10949](https://togithub.com/vitejs/vite/issues/10949) [#​11056](https://togithub.com/vitejs/vite/issues/11056) - fix: import.meta.env and process.env undefined variable replacement (fix [#​8663](https://togithub.com/vitejs/vite/issues/8663)) ([#​10958](https://togithub.com/vitejs/vite/issues/10958)) ([3e0cd3d](https://togithub.com/vitejs/vite/commit/3e0cd3d)), closes [#​8663](https://togithub.com/vitejs/vite/issues/8663) [#​10958](https://togithub.com/vitejs/vite/issues/10958) - fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476)) ([3fa96f6](https://togithub.com/vitejs/vite/commit/3fa96f6)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) - fix: preserve default export from externalized packages (fixes [#​10258](https://togithub.com/vitejs/vite/issues/10258)) ([#​10406](https://togithub.com/vitejs/vite/issues/10406)) ([88b001b](https://togithub.com/vitejs/vite/commit/88b001b)), closes [#​10258](https://togithub.com/vitejs/vite/issues/10258) [#​10406](https://togithub.com/vitejs/vite/issues/10406) - fix: reset global regex before match ([#​11132](https://togithub.com/vitejs/vite/issues/11132)) ([db8df14](https://togithub.com/vitejs/vite/commit/db8df14)), closes [#​11132](https://togithub.com/vitejs/vite/issues/11132) - fix(css): handle environment with browser globals ([#​11079](https://togithub.com/vitejs/vite/issues/11079)) ([e92d025](https://togithub.com/vitejs/vite/commit/e92d025)), closes [#​11079](https://togithub.com/vitejs/vite/issues/11079) - fix(deps): update all non-major dependencies ([#​11091](https://togithub.com/vitejs/vite/issues/11091)) ([073a4bf](https://togithub.com/vitejs/vite/commit/073a4bf)), closes [#​11091](https://togithub.com/vitejs/vite/issues/11091) - fix(esbuild): handle inline sourcemap option ([#​11120](https://togithub.com/vitejs/vite/issues/11120)) ([4c85c0a](https://togithub.com/vitejs/vite/commit/4c85c0a)), closes [#​11120](https://togithub.com/vitejs/vite/issues/11120) - fix(importGlob): don't warn when CSS default import is not used ([#​11121](https://togithub.com/vitejs/vite/issues/11121)) ([97f8b4d](https://togithub.com/vitejs/vite/commit/97f8b4d)), closes [#​11121](https://togithub.com/vitejs/vite/issues/11121) - fix(importGlob): preserve line count for sourcemap ([#​11122](https://togithub.com/vitejs/vite/issues/11122)) ([14980a1](https://togithub.com/vitejs/vite/commit/14980a1)), closes [#​11122](https://togithub.com/vitejs/vite/issues/11122) - fix(importGlob): warn on default import css ([#​11103](https://togithub.com/vitejs/vite/issues/11103)) ([fc0d9e3](https://togithub.com/vitejs/vite/commit/fc0d9e3)), closes [#​11103](https://togithub.com/vitejs/vite/issues/11103) - fix(plugin-vue): support scss/sass/less... hmr on custom template languages (fix [#​10677](https://togithub.com/vitejs/vite/issues/10677)) ([#​10844](https://togithub.com/vitejs/vite/issues/10844)) ([d413848](https://togithub.com/vitejs/vite/commit/d413848)), closes [#​10677](https://togithub.com/vitejs/vite/issues/10677) [#​10844](https://togithub.com/vitejs/vite/issues/10844) - fix(ssr): preserve require for external node ([#​11057](https://togithub.com/vitejs/vite/issues/11057)) ([1ec0176](https://togithub.com/vitejs/vite/commit/1ec0176)), closes [#​11057](https://togithub.com/vitejs/vite/issues/11057) - fix(worker): disable build reporter plugin when bundling worker ([#​11058](https://togithub.com/vitejs/vite/issues/11058)) ([7b72069](https://togithub.com/vitejs/vite/commit/7b72069)), closes [#​11058](https://togithub.com/vitejs/vite/issues/11058) - fix!: make `NODE_ENV` more predictable ([#​10996](https://togithub.com/vitejs/vite/issues/10996)) ([8148af7](https://togithub.com/vitejs/vite/commit/8148af7)), closes [#​10996](https://togithub.com/vitejs/vite/issues/10996) - fix(config)!: support development build ([#​11045](https://togithub.com/vitejs/vite/issues/11045)) ([8b3d656](https://togithub.com/vitejs/vite/commit/8b3d656)), closes [#​11045](https://togithub.com/vitejs/vite/issues/11045) - refactor: use function to eval worker and glob options ([#​10999](https://togithub.com/vitejs/vite/issues/10999)) ([f4c1264](https://togithub.com/vitejs/vite/commit/f4c1264)), closes [#​10999](https://togithub.com/vitejs/vite/issues/10999) - refactor(client): simplify fetchUpdate code ([#​11004](https://togithub.com/vitejs/vite/issues/11004)) ([f777b55](https://togithub.com/vitejs/vite/commit/f777b55)), closes [#​11004](https://togithub.com/vitejs/vite/issues/11004) - fix(html): transform relative path with long base in /index.html ([#​10990](https://togithub.com/vitejs/vite/issues/10990)) ([752740c](https://togithub.com/vitejs/vite/commit/752740c)), closes [#​10990](https://togithub.com/vitejs/vite/issues/10990) - fix(mpa): support mpa fallback ([#​10985](https://togithub.com/vitejs/vite/issues/10985)) ([61165f0](https://togithub.com/vitejs/vite/commit/61165f0)), closes [#​10985](https://togithub.com/vitejs/vite/issues/10985) - feat: align default chunk and asset file names with rollup ([#​10927](https://togithub.com/vitejs/vite/issues/10927)) ([cc2adb3](https://togithub.com/vitejs/vite/commit/cc2adb3)), closes [#​10927](https://togithub.com/vitejs/vite/issues/10927) - fix: make `addWatchFile()` work (fix [#​7024](https://togithub.com/vitejs/vite/issues/7024)) ([#​9723](https://togithub.com/vitejs/vite/issues/9723)) ([34db08b](https://togithub.com/vitejs/vite/commit/34db08b)), closes [#​7024](https://togithub.com/vitejs/vite/issues/7024) [#​9723](https://togithub.com/vitejs/vite/issues/9723) - fix(config): exclude config.assetsInclude empty array ([#​10941](https://togithub.com/vitejs/vite/issues/10941)) ([18c71dc](https://togithub.com/vitejs/vite/commit/18c71dc)), closes [#​10941](https://togithub.com/vitejs/vite/issues/10941) - fix(ssr): skip optional peer dep resolve ([#​10593](https://togithub.com/vitejs/vite/issues/10593)) ([0a69985](https://togithub.com/vitejs/vite/commit/0a69985)), closes [#​10593](https://togithub.com/vitejs/vite/issues/10593) - perf: regexp perf issues, refactor regexp stylistic issues ([#​10905](https://togithub.com/vitejs/vite/issues/10905)) ([fc007df](https://togithub.com/vitejs/vite/commit/fc007df)), closes [#​10905](https://togithub.com/vitejs/vite/issues/10905) - refactor: move CSS emitFile logic closer to rollup ([#​10909](https://togithub.com/vitejs/vite/issues/10909)) ([92a206b](https://togithub.com/vitejs/vite/commit/92a206b)), closes [#​10909](https://togithub.com/vitejs/vite/issues/10909) - refactor: use rollup hashing when emitting assets ([#​10878](https://togithub.com/vitejs/vite/issues/10878)) ([78c77be](https://togithub.com/vitejs/vite/commit/78c77be)), closes [#​10878](https://togithub.com/vitejs/vite/issues/10878) - fix: don't throw on malformed URLs ([#​10901](https://togithub.com/vitejs/vite/issues/10901)) ([feb9b10](https://togithub.com/vitejs/vite/commit/feb9b10)), closes [#​10901](https://togithub.com/vitejs/vite/issues/10901) - fix: gracefully handle forbidden filesystem access ([#​10793](https://togithub.com/vitejs/vite/issues/10793)) ([92637a2](https://togithub.com/vitejs/vite/commit/92637a2)), closes [#​10793](https://togithub.com/vitejs/vite/issues/10793) - fix(types): remove `null` from `CSSModulesOptions.localsConvention` ([#​10904](https://togithub.com/vitejs/vite/issues/10904)) ([a9978dd](https://togithub.com/vitejs/vite/commit/a9978dd)), closes [#​10904](https://togithub.com/vitejs/vite/issues/10904) - refactor(types)!: remove facade type files ([#​10903](https://togithub.com/vitejs/vite/issues/10903)) ([a309058](https://togithub.com/vitejs/vite/commit/a309058)), closes [#​10903](https://togithub.com/vitejs/vite/issues/10903) - fix: inconsistent handling of non-ASCII `base` in `resolveConfig` and dev server ([#​10247](https://togithub.com/vitejs/vite/issues/10247)) ([16e4123](https://togithub.com/vitejs/vite/commit/16e4123)), closes [#​10247](https://togithub.com/vitejs/vite/issues/10247) - fix: prevent cache on optional package resolve ([#​10812](https://togithub.com/vitejs/vite/issues/10812)) ([c599a2e](https://togithub.com/vitejs/vite/commit/c599a2e)), closes [#​10812](https://togithub.com/vitejs/vite/issues/10812) - fix: relocated logger to respect config. ([#​10787](https://togithub.com/vitejs/vite/issues/10787)) ([52e64eb](https://togithub.com/vitejs/vite/commit/52e64eb)), closes [#​10787](https://togithub.com/vitejs/vite/issues/10787) - fix: throw missing name error only when 'umd' or 'iife' are used ([#​9886](https://togithub.com/vitejs/vite/issues/9886)) ([b8aa825](https://togithub.com/vitejs/vite/commit/b8aa825)), closes [#​9886](https://togithub.com/vitejs/vite/issues/9886) - fix(deps): update all non-major dependencies ([#​10804](https://togithub.com/vitejs/vite/issues/10804)) ([f686afa](https://togithub.com/vitejs/vite/commit/f686afa)), closes [#​10804](https://togithub.com/vitejs/vite/issues/10804) - fix(ssr): improve missing file error ([#​10880](https://togithub.com/vitejs/vite/issues/10880)) ([5451a34](https://togithub.com/vitejs/vite/commit/5451a34)), closes [#​10880](https://togithub.com/vitejs/vite/issues/10880) ##### Previous Changelogs ##### [4.0.0-beta.7](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.6....v4.0.0-beta.7) (2022-12-08) See [4.0.0-beta.7 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.6](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.5....v4.0.0-beta.6) (2022-12-08) See [4.0.0-beta.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.5](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.4....v4.0.0-beta.5) (2022-12-08) See [4.0.0-beta.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.4](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.3....v4.0.0-beta.4) (2022-12-07) See [4.0.0-beta.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.3](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.2....v4.0.0-beta.3) (2022-12-07) See [4.0.0-beta.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.2](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.1....v4.0.0-beta.2) (2022-12-07) See [4.0.0-beta.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.1](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.0....v4.0.0-beta.1) (2022-12-06) See [4.0.0-beta.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.0](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.6....v4.0.0-beta.0) (2022-12-05) See [4.0.0-beta.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.6](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.6) (2022-11-30) See [4.0.0-alpha.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.6/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.5](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.5) (2022-11-22) See [4.0.0-alpha.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.5/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.4](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.3....v4.0.0-alpha.4) (2022-11-17) See [4.0.0-alpha.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.4/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.3](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.2....v4.0.0-alpha.3) (2022-11-15) See [4.0.0-alpha.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.3/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.2](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.1....v4.0.0-alpha.2) (2022-11-13) See [4.0.0-alpha.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.2/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.1](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.0....v4.0.0-alpha.1) (2022-11-12) See [4.0.0-alpha.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.1/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.0](https://togithub.com/vitejs/vite/compare/v3.2.5....v4.0.0-alpha.0) (2022-11-07) See [4.0.0-alpha.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.0/packages/vite/CHANGELOG.md) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://togithub.com/vitejs/vite/tree/main/#readme) ([source](https://togithub.com/vitejs/vite)) | [`^3.2.5` -> `^4.0.3`](https://renovatebot.com/diffs/npm/vite/3.2.5/4.0.3) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.0.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.0.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.0.3/compatibility-slim/3.2.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.0.3/confidence-slim/3.2.5)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite</summary> ### [`v4.0.3`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small403-2022-12-21-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v4.0.2...v4.0.3) - chore(deps): update dependency [@​rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs) to v24 ([#​11420](https://togithub.com/vitejs/vite/issues/11420)) ([241db16](https://togithub.com/vitejs/vite/commit/241db16)), closes [#​11420](https://togithub.com/vitejs/vite/issues/11420) - chore(typo): fix typo ([#​11445](https://togithub.com/vitejs/vite/issues/11445)) ([ed80ea5](https://togithub.com/vitejs/vite/commit/ed80ea5)), closes [#​11445](https://togithub.com/vitejs/vite/issues/11445) - fix(ssr): ignore module exports condition ([#​11409](https://togithub.com/vitejs/vite/issues/11409)) ([d3c9c0b](https://togithub.com/vitejs/vite/commit/d3c9c0b)), closes [#​11409](https://togithub.com/vitejs/vite/issues/11409) - feat: allow import.meta.hot define override ([#​8944](https://togithub.com/vitejs/vite/issues/8944)) ([857d578](https://togithub.com/vitejs/vite/commit/857d578)), closes [#​8944](https://togithub.com/vitejs/vite/issues/8944) ### [`v4.0.2`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small402-2022-12-18-small) [Compare Source](https://togithub.com/vitejs/vite/compare/v4.0.1...v4.0.2) - fix: fix the error message in the `toOutputFilePathWithoutRuntime` function ([#​11367](https://togithub.com/vitejs/vite/issues/11367)) ([8820f75](https://togithub.com/vitejs/vite/commit/8820f75)), closes [#​11367](https://togithub.com/vitejs/vite/issues/11367) - fix: make `vite optimize` prebundle for dev ([#​11387](https://togithub.com/vitejs/vite/issues/11387)) ([b4ced0f](https://togithub.com/vitejs/vite/commit/b4ced0f)), closes [#​11387](https://togithub.com/vitejs/vite/issues/11387) - fix: revert [#​11290](https://togithub.com/vitejs/vite/issues/11290) ([#​11412](https://togithub.com/vitejs/vite/issues/11412)) ([6587d2f](https://togithub.com/vitejs/vite/commit/6587d2f)), closes [#​11290](https://togithub.com/vitejs/vite/issues/11290) [#​11412](https://togithub.com/vitejs/vite/issues/11412) - fix: server and preview open fails to add slash before relative path ([#​11394](https://togithub.com/vitejs/vite/issues/11394)) ([57276b7](https://togithub.com/vitejs/vite/commit/57276b7)), closes [#​11394](https://togithub.com/vitejs/vite/issues/11394) - fix: skip applescript when no Chromium browser found (fixes [#​11205](https://togithub.com/vitejs/vite/issues/11205)) ([#​11406](https://togithub.com/vitejs/vite/issues/11406)) ([274d1f3](https://togithub.com/vitejs/vite/commit/274d1f3)), closes [#​11205](https://togithub.com/vitejs/vite/issues/11205) [#​11406](https://togithub.com/vitejs/vite/issues/11406) - fix(deps): update dependency ufo to v1 ([#​11372](https://togithub.com/vitejs/vite/issues/11372)) ([4288300](https://togithub.com/vitejs/vite/commit/4288300)), closes [#​11372](https://togithub.com/vitejs/vite/issues/11372) - chore: typecheck create-vite ([#​11295](https://togithub.com/vitejs/vite/issues/11295)) ([af86e5b](https://togithub.com/vitejs/vite/commit/af86e5b)), closes [#​11295](https://togithub.com/vitejs/vite/issues/11295) - chore(deps): update dependency convert-source-map to v2 ([#​10548](https://togithub.com/vitejs/vite/issues/10548)) ([8dc6528](https://togithub.com/vitejs/vite/commit/8dc6528)), closes [#​10548](https://togithub.com/vitejs/vite/issues/10548) - chore(deps): update dependency mlly to v1 ([#​11370](https://togithub.com/vitejs/vite/issues/11370)) ([9662d4d](https://togithub.com/vitejs/vite/commit/9662d4d)), closes [#​11370](https://togithub.com/vitejs/vite/issues/11370) ### [`v4.0.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small401-2022-12-12-small) [Compare Source](https://togithub.com/vitejs/vite/compare/566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f...v4.0.1) - feat: show server url by pressing `u` ([#​11319](https://togithub.com/vitejs/vite/issues/11319)) ([8c0bb7b](https://togithub.com/vitejs/vite/commit/8c0bb7b)), closes [#​11319](https://togithub.com/vitejs/vite/issues/11319) - feat(html): clickable error position for html parse error ([#​11334](https://togithub.com/vitejs/vite/issues/11334)) ([2e15f3d](https://togithub.com/vitejs/vite/commit/2e15f3d)), closes [#​11334](https://togithub.com/vitejs/vite/issues/11334) - fix: ?inline warning for .css.js file ([#​11347](https://togithub.com/vitejs/vite/issues/11347)) ([729fb1a](https://togithub.com/vitejs/vite/commit/729fb1a)), closes [#​11347](https://togithub.com/vitejs/vite/issues/11347) - fix: check if build exists so preview doesn't show 404s due to nonexistent build ([#​10564](https://togithub.com/vitejs/vite/issues/10564)) ([0a1db8c](https://togithub.com/vitejs/vite/commit/0a1db8c)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) - fix: derive `useDefineForClassFields` value from `tsconfig.compilerOptions.target` (fixes [#​10296](https://togithub.com/vitejs/vite/issues/10296)) (# ([42976d8](https://togithub.com/vitejs/vite/commit/42976d8)), closes [#​10296](https://togithub.com/vitejs/vite/issues/10296) [#​11301](https://togithub.com/vitejs/vite/issues/11301) - fix: preview fallback ([#​11312](https://togithub.com/vitejs/vite/issues/11312)) ([cfedf9c](https://togithub.com/vitejs/vite/commit/cfedf9c)), closes [#​11312](https://togithub.com/vitejs/vite/issues/11312) - fix: respect base when using `/__open-in-editor` ([#​11337](https://togithub.com/vitejs/vite/issues/11337)) ([8856c2e](https://togithub.com/vitejs/vite/commit/8856c2e)), closes [#​11337](https://togithub.com/vitejs/vite/issues/11337) - fix: wrongly resolve to optimized doppelganger ([#​11290](https://togithub.com/vitejs/vite/issues/11290)) ([34fec41](https://togithub.com/vitejs/vite/commit/34fec41)), closes [#​11290](https://togithub.com/vitejs/vite/issues/11290) - fix(env): test NODE_ENV override before expand ([#​11309](https://togithub.com/vitejs/vite/issues/11309)) ([d0a9281](https://togithub.com/vitejs/vite/commit/d0a9281)), closes [#​11309](https://togithub.com/vitejs/vite/issues/11309) - fix(preview): Revert [#​10564](https://togithub.com/vitejs/vite/issues/10564) - throw Error on missing outDir ([#​11335](https://togithub.com/vitejs/vite/issues/11335)) ([3aaa0ea](https://togithub.com/vitejs/vite/commit/3aaa0ea)), closes [#​10564](https://togithub.com/vitejs/vite/issues/10564) [#​11335](https://togithub.com/vitejs/vite/issues/11335) [#​10564](https://togithub.com/vitejs/vite/issues/10564) - docs: fix banner image in CHANGELOG.md ([#​11336](https://togithub.com/vitejs/vite/issues/11336)) ([45b66f4](https://togithub.com/vitejs/vite/commit/45b66f4)), closes [#​11336](https://togithub.com/vitejs/vite/issues/11336) - chore: enable `@typescript-eslint/ban-ts-comment` ([#​11326](https://togithub.com/vitejs/vite/issues/11326)) ([e58a4f0](https://togithub.com/vitejs/vite/commit/e58a4f0)), closes [#​11326](https://togithub.com/vitejs/vite/issues/11326) - chore: fix format ([#​11311](https://togithub.com/vitejs/vite/issues/11311)) ([9c2b1c0](https://togithub.com/vitejs/vite/commit/9c2b1c0)), closes [#​11311](https://togithub.com/vitejs/vite/issues/11311) - chore: update changelog release notes for 4.0 ([#​11285](https://togithub.com/vitejs/vite/issues/11285)) ([83abd37](https://togithub.com/vitejs/vite/commit/83abd37)), closes [#​11285](https://togithub.com/vitejs/vite/issues/11285) - chore(deps): update all non-major dependencies ([#​11321](https://togithub.com/vitejs/vite/issues/11321)) ([dcc0004](https://togithub.com/vitejs/vite/commit/dcc0004)), closes [#​11321](https://togithub.com/vitejs/vite/issues/11321) - chore(esbuild): add test for configuration overrides ([#​11267](https://togithub.com/vitejs/vite/issues/11267)) ([f897b64](https://togithub.com/vitejs/vite/commit/f897b64)), closes [#​11267](https://togithub.com/vitejs/vite/issues/11267) ### [`v4.0.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#​400-2022-12-09) [Compare Source](https://togithub.com/vitejs/vite/compare/v3.2.5...566d4c7bb51cf56550a5374ee46e1e1cbea1cf1f) ![Vite 4 Announcement Cover Image](https://vitejs.dev/og-image-announcing-vite4.png) Read the announcement blog post: [Announcing Vite 4](https://vitejs.dev/blog/announcing-vite4) Quick links: - [Docs](https://vitejs.dev) - [Migration Guide](https://vitejs.dev/guide/migration) Docs in other languages: - [简体中文](https://cn.vitejs.dev/) - [日本語](https://ja.vitejs.dev/) - [Español](https://es.vitejs.dev/) ##### 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](https://togithub.com/vitejs/vite/issues/9870), which allowed us to simplify Vite's internal asset handling and has many improvements. See the [Rollup 3 release notes here](https://togithub.com/rollup/rollup/releases). ##### Framework Plugins out of the Vite core monorepo [`@vitejs/plugin-vue`](https://togithub.com/vitejs/vite-plugin-vue) and [`@vitejs/plugin-react`](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/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](https://togithub.com/vitejs/vite/pull/11158). 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`](https://togithub.com/vitejs/vite-plugin-vue) and [`vitejs/vite-plugin-react`](https://togithub.com/vitejs/vite-plugin-react). ##### New React plugin using SWC during development [SWC](https://swc.rs/) is now a mature replacement for [Babel](https://babeljs.io/), 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](https://togithub.com/vitejs/plugin-react) [@​vitejs/plugin-react](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/plugin-react-swc) (new) [@​vitejs/plugin-react-swc](https://togithub.com/vitejs/vite-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](https://togithub.com/vitejs/vite/issues/9063)). This means that modern builds can now use [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) and that the [nullish coallessing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) isn't transpiled anymore. If you need to support older browsers, you can add [`@vitejs/plugin-legacy`](https://togithub.com/vitejs/vite/tree/main/packages/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. ```ts import cssString from './global.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](https://togithub.com/vitejs/vite/issues/11094). The `?inline` query suffix modifier needs to be used in this case, as that doesn't emit the imported `.css` styles. ```ts import stuff from './global.css?inline' ``` ##### Other features - Support for patch-package when pre bundling dependencies ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) - Cleaner build logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) and switch to `kB` to align with browser dev tools ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) - Improved error messages during SSR ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ##### Features - feat: add CLI keyboard shortcuts ([#​11228](https://togithub.com/vitejs/vite/issues/11228)) ([87973f1](https://togithub.com/vitejs/vite/commit/87973f1)), closes [#​11228](https://togithub.com/vitejs/vite/issues/11228) - feat: export error message generator ([#​11155](https://togithub.com/vitejs/vite/issues/11155)) ([493ba1e](https://togithub.com/vitejs/vite/commit/493ba1e)), closes [#​11155](https://togithub.com/vitejs/vite/issues/11155) - feat(node/plugins): esbuild options ([#​11049](https://togithub.com/vitejs/vite/issues/11049)) ([735b98b](https://togithub.com/vitejs/vite/commit/735b98b)), closes [#​11049](https://togithub.com/vitejs/vite/issues/11049) - feat: improve the error message of `expand` ([#​11141](https://togithub.com/vitejs/vite/issues/11141)) ([825c793](https://togithub.com/vitejs/vite/commit/825c793)), closes [#​11141](https://togithub.com/vitejs/vite/issues/11141) - feat: update [@​types/node](https://togithub.com/types/node) to v18 ([#​11195](https://togithub.com/vitejs/vite/issues/11195)) ([4ec9f53](https://togithub.com/vitejs/vite/commit/4ec9f53)), closes [#​11195](https://togithub.com/vitejs/vite/issues/11195) - feat(client)!: remove never implemented hot.decline ([#​11036](https://togithub.com/vitejs/vite/issues/11036)) ([e257e3b](https://togithub.com/vitejs/vite/commit/e257e3b)), closes [#​11036](https://togithub.com/vitejs/vite/issues/11036) - feat!: support `safari14` by default for wider ES2020 compatibility ([#​9063](https://togithub.com/vitejs/vite/issues/9063)) ([3cc65d7](https://togithub.com/vitejs/vite/commit/3cc65d7)), closes [#​9063](https://togithub.com/vitejs/vite/issues/9063) - feat!: support multiline values in env files ([#​10826](https://togithub.com/vitejs/vite/issues/10826)) ([606e60d](https://togithub.com/vitejs/vite/commit/606e60d)), closes [#​10826](https://togithub.com/vitejs/vite/issues/10826) - feat(ssr)!: remove dedupe and mode support for CJS ([#​11101](https://togithub.com/vitejs/vite/issues/11101)) ([3090564](https://togithub.com/vitejs/vite/commit/3090564)), closes [#​11101](https://togithub.com/vitejs/vite/issues/11101) - feat: align object interface for `transformIndexHtml` hook ([#​9669](https://togithub.com/vitejs/vite/issues/9669)) ([1db52bf](https://togithub.com/vitejs/vite/commit/1db52bf)), closes [#​9669](https://togithub.com/vitejs/vite/issues/9669) - feat(build): cleaner logs output ([#​10895](https://togithub.com/vitejs/vite/issues/10895)) ([7d24b5f](https://togithub.com/vitejs/vite/commit/7d24b5f)), closes [#​10895](https://togithub.com/vitejs/vite/issues/10895) - feat(css): deprecate css default export ([#​11094](https://togithub.com/vitejs/vite/issues/11094)) ([01dee1b](https://togithub.com/vitejs/vite/commit/01dee1b)), closes [#​11094](https://togithub.com/vitejs/vite/issues/11094) - feat(optimizer): support patch-package ([#​10286](https://togithub.com/vitejs/vite/issues/10286)) ([4fb7ad0](https://togithub.com/vitejs/vite/commit/4fb7ad0)), closes [#​10286](https://togithub.com/vitejs/vite/issues/10286) - feat(build): Use kB in build reporter ([#​10982](https://togithub.com/vitejs/vite/issues/10982)) ([b57acfa](https://togithub.com/vitejs/vite/commit/b57acfa)), closes [#​10982](https://togithub.com/vitejs/vite/issues/10982) - feat(css): upgrade postcss-modules ([#​10987](https://togithub.com/vitejs/vite/issues/10987)) ([892916d](https://togithub.com/vitejs/vite/commit/892916d)), closes [#​10987](https://togithub.com/vitejs/vite/issues/10987) - feat(hmr): invalidate message ([#​10946](https://togithub.com/vitejs/vite/issues/10946)) ([0d73473](https://togithub.com/vitejs/vite/commit/0d73473)), closes [#​10946](https://togithub.com/vitejs/vite/issues/10946) - feat(client): expose hot.prune API ([#​11016](https://togithub.com/vitejs/vite/issues/11016)) ([f40c18d](https://togithub.com/vitejs/vite/commit/f40c18d)), closes [#​11016](https://togithub.com/vitejs/vite/issues/11016) - feat(hmr): deduplicate paths and join them with commas ([#​10891](https://togithub.com/vitejs/vite/issues/10891)) ([967299a](https://togithub.com/vitejs/vite/commit/967299a)), closes [#​10891](https://togithub.com/vitejs/vite/issues/10891) - feat: base without trailing slash ([#​10723](https://togithub.com/vitejs/vite/issues/10723)) ([8f87282](https://togithub.com/vitejs/vite/commit/8f87282)), closes [#​10723](https://togithub.com/vitejs/vite/issues/10723) - feat: handle static assets in case-sensitive manner ([#​10475](https://togithub.com/vitejs/vite/issues/10475)) ([c1368c3](https://togithub.com/vitejs/vite/commit/c1368c3)), closes [#​10475](https://togithub.com/vitejs/vite/issues/10475) - feat(cli): build --profile ([#​10719](https://togithub.com/vitejs/vite/issues/10719)) ([9c808cd](https://togithub.com/vitejs/vite/commit/9c808cd)), closes [#​10719](https://togithub.com/vitejs/vite/issues/10719) - feat(env): support dotenv-expand to contains process env ([#​10370](https://togithub.com/vitejs/vite/issues/10370)) ([d5fe92c](https://togithub.com/vitejs/vite/commit/d5fe92c)), closes [#​10370](https://togithub.com/vitejs/vite/issues/10370) - feat!: set esbuild default charset to utf8 ([#​10753](https://togithub.com/vitejs/vite/issues/10753)) ([4caf4b6](https://togithub.com/vitejs/vite/commit/4caf4b6)), closes [#​10753](https://togithub.com/vitejs/vite/issues/10753) - feat: rollup 3 ([#​9870](https://togithub.com/vitejs/vite/issues/9870)) ([beb7166](https://togithub.com/vitejs/vite/commit/beb7166)), closes [#​9870](https://togithub.com/vitejs/vite/issues/9870) ##### Bug Fixes - fix: add `\0` to virtual files id ([#​11261](https://togithub.com/vitejs/vite/issues/11261)) ([02cdfa9](https://togithub.com/vitejs/vite/commit/02cdfa9)), closes [#​11261](https://togithub.com/vitejs/vite/issues/11261) - fix: skip shortcuts on non-tty stdin ([#​11263](https://togithub.com/vitejs/vite/issues/11263)) ([9602686](https://togithub.com/vitejs/vite/commit/9602686)), closes [#​11263](https://togithub.com/vitejs/vite/issues/11263) - fix(ssr): skip rewriting stack trace if it's already rewritten (fixes [#​11037](https://togithub.com/vitejs/vite/issues/11037)) ([#​11070](https://togithub.com/vitejs/vite/issues/11070)) ([feb8ce0](https://togithub.com/vitejs/vite/commit/feb8ce0)), closes [#​11037](https://togithub.com/vitejs/vite/issues/11037) [#​11070](https://togithub.com/vitejs/vite/issues/11070) - refactor(optimizer): await depsOptimizer.scanProcessing ([#​11251](https://togithub.com/vitejs/vite/issues/11251)) ([fa64c8e](https://togithub.com/vitejs/vite/commit/fa64c8e)), closes [#​11251](https://togithub.com/vitejs/vite/issues/11251) - fix: improve CLI shortcuts help display ([#​11247](https://togithub.com/vitejs/vite/issues/11247)) ([bb235b2](https://togithub.com/vitejs/vite/commit/bb235b2)), closes [#​11247](https://togithub.com/vitejs/vite/issues/11247) - fix: less promises for scanning and await with allSettled ([#​11245](https://togithub.com/vitejs/vite/issues/11245)) ([45b170e](https://togithub.com/vitejs/vite/commit/45b170e)), closes [#​11245](https://togithub.com/vitejs/vite/issues/11245) - fix(optimizer): escape entrypoints when running scanner ([#​11250](https://togithub.com/vitejs/vite/issues/11250)) ([b61894e](https://togithub.com/vitejs/vite/commit/b61894e)), closes [#​11250](https://togithub.com/vitejs/vite/issues/11250) - fix: await scanner ([#​11242](https://togithub.com/vitejs/vite/issues/11242)) ([52a6732](https://togithub.com/vitejs/vite/commit/52a6732)), closes [#​11242](https://togithub.com/vitejs/vite/issues/11242) - fix(css): fix css lang regex ([#​11237](https://togithub.com/vitejs/vite/issues/11237)) ([a55d0b3](https://togithub.com/vitejs/vite/commit/a55d0b3)), closes [#​11237](https://togithub.com/vitejs/vite/issues/11237) - fix: don't print urls on restart with default port ([#​11230](https://togithub.com/vitejs/vite/issues/11230)) ([5aaecb6](https://togithub.com/vitejs/vite/commit/5aaecb6)), closes [#​11230](https://togithub.com/vitejs/vite/issues/11230) - fix: serialize bundleWorkerEntry ([#​11218](https://togithub.com/vitejs/vite/issues/11218)) ([306bed0](https://togithub.com/vitejs/vite/commit/306bed0)), closes [#​11218](https://togithub.com/vitejs/vite/issues/11218) - fix(config): resolve dynamic import as esm ([#​11220](https://togithub.com/vitejs/vite/issues/11220)) ([f8c1ed0](https://togithub.com/vitejs/vite/commit/f8c1ed0)), closes [#​11220](https://togithub.com/vitejs/vite/issues/11220) - fix(env): prevent env expand on process.env ([#​11213](https://togithub.com/vitejs/vite/issues/11213)) ([d4a1e2b](https://togithub.com/vitejs/vite/commit/d4a1e2b)), closes [#​11213](https://togithub.com/vitejs/vite/issues/11213) - fix: add type for function localsConvention value ([#​11152](https://togithub.com/vitejs/vite/issues/11152)) ([c9274b4](https://togithub.com/vitejs/vite/commit/c9274b4)), closes [#​11152](https://togithub.com/vitejs/vite/issues/11152) - fix: cacheDir should be ignored from watch ([#​10242](https://togithub.com/vitejs/vite/issues/10242)) ([75dbca2](https://togithub.com/vitejs/vite/commit/75dbca2)), closes [#​10242](https://togithub.com/vitejs/vite/issues/10242) - fix: don't check .yarn/patches for computing dependencies hash ([#​11168](https://togithub.com/vitejs/vite/issues/11168)) ([65bcccf](https://togithub.com/vitejs/vite/commit/65bcccf)), closes [#​11168](https://togithub.com/vitejs/vite/issues/11168) - fix: formatError() outside rollup context ([#​11156](https://togithub.com/vitejs/vite/issues/11156)) ([2aee2eb](https://togithub.com/vitejs/vite/commit/2aee2eb)), closes [#​11156](https://togithub.com/vitejs/vite/issues/11156) - fix: Revert "fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476))" ([#​11](https://togithub.com/vitejs/vite/issues/11) ([fdc6f3a](https://togithub.com/vitejs/vite/commit/fdc6f3a)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) [#​11144](https://togithub.com/vitejs/vite/issues/11144) - fix: Dev SSR dep optimization + respect optimizeDeps.include ([#​11123](https://togithub.com/vitejs/vite/issues/11123)) ([515caa5](https://togithub.com/vitejs/vite/commit/515caa5)), closes [#​11123](https://togithub.com/vitejs/vite/issues/11123) - fix: export preprocessCSS in CJS ([#​11067](https://togithub.com/vitejs/vite/issues/11067)) ([793255d](https://togithub.com/vitejs/vite/commit/793255d)), closes [#​11067](https://togithub.com/vitejs/vite/issues/11067) - fix: glob import parsing ([#​10949](https://togithub.com/vitejs/vite/issues/10949)) ([#​11056](https://togithub.com/vitejs/vite/issues/11056)) ([ac2cfd6](https://togithub.com/vitejs/vite/commit/ac2cfd6)), closes [#​10949](https://togithub.com/vitejs/vite/issues/10949) [#​11056](https://togithub.com/vitejs/vite/issues/11056) - fix: import.meta.env and process.env undefined variable replacement (fix [#​8663](https://togithub.com/vitejs/vite/issues/8663)) ([#​10958](https://togithub.com/vitejs/vite/issues/10958)) ([3e0cd3d](https://togithub.com/vitejs/vite/commit/3e0cd3d)), closes [#​8663](https://togithub.com/vitejs/vite/issues/8663) [#​10958](https://togithub.com/vitejs/vite/issues/10958) - fix: missing js sourcemaps with rewritten imports broke debugging ([#​7767](https://togithub.com/vitejs/vite/issues/7767)) ([#​9476](https://togithub.com/vitejs/vite/issues/9476)) ([3fa96f6](https://togithub.com/vitejs/vite/commit/3fa96f6)), closes [#​7767](https://togithub.com/vitejs/vite/issues/7767) [#​9476](https://togithub.com/vitejs/vite/issues/9476) - fix: preserve default export from externalized packages (fixes [#​10258](https://togithub.com/vitejs/vite/issues/10258)) ([#​10406](https://togithub.com/vitejs/vite/issues/10406)) ([88b001b](https://togithub.com/vitejs/vite/commit/88b001b)), closes [#​10258](https://togithub.com/vitejs/vite/issues/10258) [#​10406](https://togithub.com/vitejs/vite/issues/10406) - fix: reset global regex before match ([#​11132](https://togithub.com/vitejs/vite/issues/11132)) ([db8df14](https://togithub.com/vitejs/vite/commit/db8df14)), closes [#​11132](https://togithub.com/vitejs/vite/issues/11132) - fix(css): handle environment with browser globals ([#​11079](https://togithub.com/vitejs/vite/issues/11079)) ([e92d025](https://togithub.com/vitejs/vite/commit/e92d025)), closes [#​11079](https://togithub.com/vitejs/vite/issues/11079) - fix(deps): update all non-major dependencies ([#​11091](https://togithub.com/vitejs/vite/issues/11091)) ([073a4bf](https://togithub.com/vitejs/vite/commit/073a4bf)), closes [#​11091](https://togithub.com/vitejs/vite/issues/11091) - fix(esbuild): handle inline sourcemap option ([#​11120](https://togithub.com/vitejs/vite/issues/11120)) ([4c85c0a](https://togithub.com/vitejs/vite/commit/4c85c0a)), closes [#​11120](https://togithub.com/vitejs/vite/issues/11120) - fix(importGlob): don't warn when CSS default import is not used ([#​11121](https://togithub.com/vitejs/vite/issues/11121)) ([97f8b4d](https://togithub.com/vitejs/vite/commit/97f8b4d)), closes [#​11121](https://togithub.com/vitejs/vite/issues/11121) - fix(importGlob): preserve line count for sourcemap ([#​11122](https://togithub.com/vitejs/vite/issues/11122)) ([14980a1](https://togithub.com/vitejs/vite/commit/14980a1)), closes [#​11122](https://togithub.com/vitejs/vite/issues/11122) - fix(importGlob): warn on default import css ([#​11103](https://togithub.com/vitejs/vite/issues/11103)) ([fc0d9e3](https://togithub.com/vitejs/vite/commit/fc0d9e3)), closes [#​11103](https://togithub.com/vitejs/vite/issues/11103) - fix(plugin-vue): support scss/sass/less... hmr on custom template languages (fix [#​10677](https://togithub.com/vitejs/vite/issues/10677)) ([#​10844](https://togithub.com/vitejs/vite/issues/10844)) ([d413848](https://togithub.com/vitejs/vite/commit/d413848)), closes [#​10677](https://togithub.com/vitejs/vite/issues/10677) [#​10844](https://togithub.com/vitejs/vite/issues/10844) - fix(ssr): preserve require for external node ([#​11057](https://togithub.com/vitejs/vite/issues/11057)) ([1ec0176](https://togithub.com/vitejs/vite/commit/1ec0176)), closes [#​11057](https://togithub.com/vitejs/vite/issues/11057) - fix(worker): disable build reporter plugin when bundling worker ([#​11058](https://togithub.com/vitejs/vite/issues/11058)) ([7b72069](https://togithub.com/vitejs/vite/commit/7b72069)), closes [#​11058](https://togithub.com/vitejs/vite/issues/11058) - fix!: make `NODE_ENV` more predictable ([#​10996](https://togithub.com/vitejs/vite/issues/10996)) ([8148af7](https://togithub.com/vitejs/vite/commit/8148af7)), closes [#​10996](https://togithub.com/vitejs/vite/issues/10996) - fix(config)!: support development build ([#​11045](https://togithub.com/vitejs/vite/issues/11045)) ([8b3d656](https://togithub.com/vitejs/vite/commit/8b3d656)), closes [#​11045](https://togithub.com/vitejs/vite/issues/11045) - refactor: use function to eval worker and glob options ([#​10999](https://togithub.com/vitejs/vite/issues/10999)) ([f4c1264](https://togithub.com/vitejs/vite/commit/f4c1264)), closes [#​10999](https://togithub.com/vitejs/vite/issues/10999) - refactor(client): simplify fetchUpdate code ([#​11004](https://togithub.com/vitejs/vite/issues/11004)) ([f777b55](https://togithub.com/vitejs/vite/commit/f777b55)), closes [#​11004](https://togithub.com/vitejs/vite/issues/11004) - fix(html): transform relative path with long base in /index.html ([#​10990](https://togithub.com/vitejs/vite/issues/10990)) ([752740c](https://togithub.com/vitejs/vite/commit/752740c)), closes [#​10990](https://togithub.com/vitejs/vite/issues/10990) - fix(mpa): support mpa fallback ([#​10985](https://togithub.com/vitejs/vite/issues/10985)) ([61165f0](https://togithub.com/vitejs/vite/commit/61165f0)), closes [#​10985](https://togithub.com/vitejs/vite/issues/10985) - feat: align default chunk and asset file names with rollup ([#​10927](https://togithub.com/vitejs/vite/issues/10927)) ([cc2adb3](https://togithub.com/vitejs/vite/commit/cc2adb3)), closes [#​10927](https://togithub.com/vitejs/vite/issues/10927) - fix: make `addWatchFile()` work (fix [#​7024](https://togithub.com/vitejs/vite/issues/7024)) ([#​9723](https://togithub.com/vitejs/vite/issues/9723)) ([34db08b](https://togithub.com/vitejs/vite/commit/34db08b)), closes [#​7024](https://togithub.com/vitejs/vite/issues/7024) [#​9723](https://togithub.com/vitejs/vite/issues/9723) - fix(config): exclude config.assetsInclude empty array ([#​10941](https://togithub.com/vitejs/vite/issues/10941)) ([18c71dc](https://togithub.com/vitejs/vite/commit/18c71dc)), closes [#​10941](https://togithub.com/vitejs/vite/issues/10941) - fix(ssr): skip optional peer dep resolve ([#​10593](https://togithub.com/vitejs/vite/issues/10593)) ([0a69985](https://togithub.com/vitejs/vite/commit/0a69985)), closes [#​10593](https://togithub.com/vitejs/vite/issues/10593) - perf: regexp perf issues, refactor regexp stylistic issues ([#​10905](https://togithub.com/vitejs/vite/issues/10905)) ([fc007df](https://togithub.com/vitejs/vite/commit/fc007df)), closes [#​10905](https://togithub.com/vitejs/vite/issues/10905) - refactor: move CSS emitFile logic closer to rollup ([#​10909](https://togithub.com/vitejs/vite/issues/10909)) ([92a206b](https://togithub.com/vitejs/vite/commit/92a206b)), closes [#​10909](https://togithub.com/vitejs/vite/issues/10909) - refactor: use rollup hashing when emitting assets ([#​10878](https://togithub.com/vitejs/vite/issues/10878)) ([78c77be](https://togithub.com/vitejs/vite/commit/78c77be)), closes [#​10878](https://togithub.com/vitejs/vite/issues/10878) - fix: don't throw on malformed URLs ([#​10901](https://togithub.com/vitejs/vite/issues/10901)) ([feb9b10](https://togithub.com/vitejs/vite/commit/feb9b10)), closes [#​10901](https://togithub.com/vitejs/vite/issues/10901) - fix: gracefully handle forbidden filesystem access ([#​10793](https://togithub.com/vitejs/vite/issues/10793)) ([92637a2](https://togithub.com/vitejs/vite/commit/92637a2)), closes [#​10793](https://togithub.com/vitejs/vite/issues/10793) - fix(types): remove `null` from `CSSModulesOptions.localsConvention` ([#​10904](https://togithub.com/vitejs/vite/issues/10904)) ([a9978dd](https://togithub.com/vitejs/vite/commit/a9978dd)), closes [#​10904](https://togithub.com/vitejs/vite/issues/10904) - refactor(types)!: remove facade type files ([#​10903](https://togithub.com/vitejs/vite/issues/10903)) ([a309058](https://togithub.com/vitejs/vite/commit/a309058)), closes [#​10903](https://togithub.com/vitejs/vite/issues/10903) - fix: inconsistent handling of non-ASCII `base` in `resolveConfig` and dev server ([#​10247](https://togithub.com/vitejs/vite/issues/10247)) ([16e4123](https://togithub.com/vitejs/vite/commit/16e4123)), closes [#​10247](https://togithub.com/vitejs/vite/issues/10247) - fix: prevent cache on optional package resolve ([#​10812](https://togithub.com/vitejs/vite/issues/10812)) ([c599a2e](https://togithub.com/vitejs/vite/commit/c599a2e)), closes [#​10812](https://togithub.com/vitejs/vite/issues/10812) - fix: relocated logger to respect config. ([#​10787](https://togithub.com/vitejs/vite/issues/10787)) ([52e64eb](https://togithub.com/vitejs/vite/commit/52e64eb)), closes [#​10787](https://togithub.com/vitejs/vite/issues/10787) - fix: throw missing name error only when 'umd' or 'iife' are used ([#​9886](https://togithub.com/vitejs/vite/issues/9886)) ([b8aa825](https://togithub.com/vitejs/vite/commit/b8aa825)), closes [#​9886](https://togithub.com/vitejs/vite/issues/9886) - fix(deps): update all non-major dependencies ([#​10804](https://togithub.com/vitejs/vite/issues/10804)) ([f686afa](https://togithub.com/vitejs/vite/commit/f686afa)), closes [#​10804](https://togithub.com/vitejs/vite/issues/10804) - fix(ssr): improve missing file error ([#​10880](https://togithub.com/vitejs/vite/issues/10880)) ([5451a34](https://togithub.com/vitejs/vite/commit/5451a34)), closes [#​10880](https://togithub.com/vitejs/vite/issues/10880) ##### Previous Changelogs ##### [4.0.0-beta.7](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.6....v4.0.0-beta.7) (2022-12-08) See [4.0.0-beta.7 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.6](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.5....v4.0.0-beta.6) (2022-12-08) See [4.0.0-beta.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.5](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.4....v4.0.0-beta.5) (2022-12-08) See [4.0.0-beta.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.4](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.3....v4.0.0-beta.4) (2022-12-07) See [4.0.0-beta.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.3](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.2....v4.0.0-beta.3) (2022-12-07) See [4.0.0-beta.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.2](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.1....v4.0.0-beta.2) (2022-12-07) See [4.0.0-beta.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.1](https://togithub.com/vitejs/vite/compare/v4.0.0-beta.0....v4.0.0-beta.1) (2022-12-06) See [4.0.0-beta.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-beta.0](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.6....v4.0.0-beta.0) (2022-12-05) See [4.0.0-beta.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-beta.0/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.6](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.6) (2022-11-30) See [4.0.0-alpha.6 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.6/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.5](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.5....v4.0.0-alpha.5) (2022-11-22) See [4.0.0-alpha.5 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.5/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.4](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.3....v4.0.0-alpha.4) (2022-11-17) See [4.0.0-alpha.4 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.4/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.3](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.2....v4.0.0-alpha.3) (2022-11-15) See [4.0.0-alpha.3 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.3/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.2](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.1....v4.0.0-alpha.2) (2022-11-13) See [4.0.0-alpha.2 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.2/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.1](https://togithub.com/vitejs/vite/compare/v4.0.0-alpha.0....v4.0.0-alpha.1) (2022-11-12) See [4.0.0-alpha.1 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.1/packages/vite/CHANGELOG.md) ##### [4.0.0-alpha.0](https://togithub.com/vitejs/vite/compare/v3.2.5....v4.0.0-alpha.0) (2022-11-07) See [4.0.0-alpha.0 changelog](https://togithub.com/vitejs/vite/blob/v4.0.0-alpha.0/packages/vite/CHANGELOG.md) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/mheob/ef-calc).
…itejs#9063) Co-authored-by: bluwy <bjornlu.dev@gmail.com>
Description
From #9062, it sounds like the goal is to support ES2020 by default. However, the browser list was set to
safari13
, which means that big ints (an ES2020 feature) produced an error by default.This PR updates from
safari13
tosafari14
(released September 2020) to support that.Additional context
I help maintain a library with a feature that uses big ints. We'd like to recommend a "batteries included" bundler to use for our library, but Vite 3 requires this change to work out of the box.
(I've tested that this one-line change resolves the build error for big ints when using our library with Vite 3.)
What is the purpose of this pull request?
Before submitting the PR, please make sure you do the following
fixes #123
).