Skip to content
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

fix: resolve relative URL generated by renderBuiltUrl passed to module preload #16084

Merged

Conversation

sapphi-red
Copy link
Member

@sapphi-red sapphi-red commented Mar 3, 2024

Description

Built on top of #16083

When renderBuiltUrl returned a relative URL (e.g. /foo or foo), assetsURL function returned a relative URL. The preload function expects an absolute URL and inserted a duplicate CSS link tag.

This PR fixes that by changing the assetsURL function from function(dep, importerUrl) { return dep[0] === '.' ? new URL(dep, importerUrl).href : dep } to function(dep, importerUrl) { return new URL(dep, importerUrl).href }. This modification changes the behavior when a relative path that doesn't start with . is passed. If we want to keep the previous behavior, the function needs to be function(dep, importerUrl) { return dep[0] === '.' ? new URL(dep, importerUrl).href : new URL(dep, document.baseURI) }. But I think that behavior is confusing.

fixes #14463

Additional context


What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following

  • Read the Contributing Guidelines, especially the Pull Request Guidelines.
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Update the corresponding documentation if needed.
  • Ideally, include relevant tests that fail without this PR but pass with it.

@sapphi-red sapphi-red added has workaround p2-edge-case Bug, but has workaround or limited in scope (priority) labels Mar 3, 2024
Copy link

stackblitz bot commented Mar 3, 2024

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@sapphi-red sapphi-red force-pushed the fix/resolve-relative-render-build-uri-preload branch from 07d5903 to 000e4ac Compare May 31, 2024 14:10
@sapphi-red sapphi-red force-pushed the fix/resolve-relative-render-build-uri-preload branch from 000e4ac to ec82e19 Compare August 11, 2024 12:46
@sapphi-red sapphi-red marked this pull request as ready for review August 11, 2024 12:50
bluwy
bluwy previously approved these changes Aug 14, 2024
Copy link
Member

@bluwy bluwy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change seems fair to me. Maybe we should run ecosystem-ci to double check if this affects downstream

packages/vite/src/node/plugins/importAnalysisBuild.ts Outdated Show resolved Hide resolved
@bluwy
Copy link
Member

bluwy commented Aug 15, 2024

/ecosystem-ci run

@vite-ecosystem-ci
Copy link

@bluwy bluwy merged commit fac3a8e into vitejs:main Aug 15, 2024
12 checks passed
@sapphi-red sapphi-red deleted the fix/resolve-relative-render-build-uri-preload branch August 16, 2024 06:41
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Aug 21, 2024
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 5.2.6 | 5.4.2 |


## [v5.4.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small542-2024-08-20-small)

-   chore: remove stale TODOs ([#17866](vitejs/vite#17866)) ([e012f29](vitejs/vite@e012f29)), closes [#17866](vitejs/vite#17866)
-   refactor: remove redundant prepend/strip base ([#17887](vitejs/vite#17887)) ([3b8f03d](vitejs/vite@3b8f03d)), closes [#17887](vitejs/vite#17887)
-   fix: resolve relative URL generated by `renderBuiltUrl` passed to module preload ([#16084](vitejs/vite#16084)) ([fac3a8e](vitejs/vite@fac3a8e)), closes [#16084](vitejs/vite#16084)
-   feat: support originalFilename ([#17867](vitejs/vite#17867)) ([7d8c0e2](vitejs/vite@7d8c0e2)), closes [#17867](vitejs/vite#17867)


## [v5.4.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small541-2024-08-15-small)

-   fix: `build.modulePreload.resolveDependencies` is optimizable ([#16083](vitejs/vite#16083)) ([e961b31](vitejs/vite@e961b31)), closes [#16083](vitejs/vite#16083)
-   fix: align CorsOptions.origin type with [@types/cors](https://github.com/types/cors) ([#17836](vitejs/vite#17836)) ([1bda847](vitejs/vite@1bda847)), closes [#17836](vitejs/vite#17836)
-   fix: typings for vite:preloadError ([#17868](vitejs/vite#17868)) ([6700594](vitejs/vite@6700594)), closes [#17868](vitejs/vite#17868)
-   fix(build): avoid re-define `__vite_import_meta_env__` ([#17876](vitejs/vite#17876)) ([e686d74](vitejs/vite@e686d74)), closes [#17876](vitejs/vite#17876)
-   fix(deps): update all non-major dependencies ([#17869](vitejs/vite#17869)) ([d11711c](vitejs/vite@d11711c)), closes [#17869](vitejs/vite#17869)
-   fix(lightningcss): search for assets with correct base path ([#17856](vitejs/vite#17856)) ([4e5ce3c](vitejs/vite@4e5ce3c)), closes [#17856](vitejs/vite#17856)
-   fix(worker): handle self reference url worker in dependency for build ([#17846](vitejs/vite#17846)) ([391bb49](vitejs/vite@391bb49)), closes [#17846](vitejs/vite#17846)
-   chore: fix picocolors import for local dev ([#17884](vitejs/vite#17884)) ([9018255](vitejs/vite@9018255)), closes [#17884](vitejs/vite#17884)
-   refactor: remove `handleHotUpdate` from watch-package-data plugin ([#17865](vitejs/vite#17865)) ([e16bf1f](vitejs/vite@e16bf1f)), closes [#17865](vitejs/vite#17865)


## [v5.4.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#540-2024-08-07)

-   fix(build): windows platform build output path error ([#17818](vitejs/vite#17818)) ([6ae0615](vitejs/vite@6ae0615)), closes [#17818](vitejs/vite#17818)
-   fix(deps): update launch-editor to consume fix for windows paths ([#17828](vitejs/vite#17828)) ([cf2f90d](vitejs/vite@cf2f90d)), closes [#17828](vitejs/vite#17828)
-   fix(ssr): fix `global` variable name conflict ([#17809](vitejs/vite#17809)) ([6aa2206](vitejs/vite@6aa2206)), closes [#17809](vitejs/vite#17809)
-   fix(worker): fix `importScripts` injection breaking iife code ([#17827](vitejs/vite#17827)) ([bb4ba9f](vitejs/vite@bb4ba9f)), closes [#17827](vitejs/vite#17827)
-   chore: bump typescript-eslint to v8 ([#17624](vitejs/vite#17624)) ([d1891fd](vitejs/vite@d1891fd)), closes [#17624](vitejs/vite#17624)
-   chore(deps): update all non-major dependencies ([#17820](vitejs/vite#17820)) ([bb2f8bb](vitejs/vite@bb2f8bb)), closes [#17820](vitejs/vite#17820)
-   perf(ssr): do a single-pass over AST with node cache arrays ([#17812](vitejs/vite#17812)) ([81327eb](vitejs/vite@81327eb)), closes [#17812](vitejs/vite#17812)


## [v5.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small535-2024-07-25-small)

-   refactor(asset): remove rollup 3 public file watch workaround ([#16331](vitejs/vite#16331)) ([66bdb1d](vitejs/vite@66bdb1d)), closes [#16331](vitejs/vite#16331)
-   fix: make `server` type less restrictive (fix [#17627](vitejs/vite#17627)) ([#17628](vitejs/vite#17628)) ([b55c32f](vitejs/vite@b55c32f)), closes [#17627](vitejs/vite#17627) [#17628](vitejs/vite#17628)
-   fix: show error if vite client cannot be loaded ([#17419](vitejs/vite#17419)) ([db5ab1d](vitejs/vite@db5ab1d)), closes [#17419](vitejs/vite#17419)
-   fix(build): env output is not stable ([#17748](vitejs/vite#17748)) ([b240a83](vitejs/vite@b240a83)), closes [#17748](vitejs/vite#17748)
-   fix(client): fix vite error path ([#17744](vitejs/vite#17744)) ([3c1bde3](vitejs/vite@3c1bde3)), closes [#17744](vitejs/vite#17744)
-   fix(css): resolve url aliases with fragments (fix: [#17690](vitejs/vite#17690)) ([#17691](vitejs/vite#17691)) ([d906d3f](vitejs/vite@d906d3f))
-   fix(deps): update all non-major dependencies ([#17629](vitejs/vite#17629)) ([93281b0](vitejs/vite@93281b0)), closes [#17629](vitejs/vite#17629)
-   fix(importMetaGlob): handle alias that starts with hash ([#17743](vitejs/vite#17743)) ([b58b423](vitejs/vite@b58b423)), closes [#17743](vitejs/vite#17743)
-   fix(ssrTransform): sourcemaps with multiple sources ([#17677](vitejs/vite#17677)) ([f321fa8](vitejs/vite@f321fa8)), closes [#17677](vitejs/vite#17677)
-   chore: extend commit hash ([#17709](vitejs/vite#17709)) ([4fc9b64](vitejs/vite@4fc9b64)), closes [#17709](vitejs/vite#17709)
-   chore(deps): update all non-major dependencies ([#17734](vitejs/vite#17734)) ([9983731](vitejs/vite@9983731)), closes [#17734](vitejs/vite#17734)
-   chore(deps): update typescript ([#17699](vitejs/vite#17699)) ([df5ceb3](vitejs/vite@df5ceb3)), closes [#17699](vitejs/vite#17699)
-   revert: fix(logger): truncate log over 5000 characters long ([#16581](vitejs/vite#16581)) ([#17729](vitejs/vite#17729)) ([f4f488f](vitejs/vite@f4f488f)), closes [#16581](vitejs/vite#16581) [#17729](vitejs/vite#17729)


## [v5.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small534-2024-07-16-small)

-   fix: update Terser type definitions (fix [#17668](vitejs/vite#17668)) ([#17669](vitejs/vite#17669)) ([b723a75](vitejs/vite@b723a75)), closes [#17668](vitejs/vite#17668) [#17669](vitejs/vite#17669)
-   fix(build): skip preload treeshaking for nested braces ([#17687](vitejs/vite#17687)) ([4be96b4](vitejs/vite@4be96b4)), closes [#17687](vitejs/vite#17687)
-   fix(css): include `.css?url` in assets field of manifest ([#17623](vitejs/vite#17623)) ([1465b20](vitejs/vite@1465b20)), closes [#17623](vitejs/vite#17623)
-   fix(worker): nested inlined worker always fallbacked to data URI worker instead of using blob worker ([07bc489](vitejs/vite@07bc489)), closes [#17509](vitejs/vite#17509)
-   refactor: replace includes with logical operations ([#17620](vitejs/vite#17620)) ([c4a2227](vitejs/vite@c4a2227)), closes [#17620](vitejs/vite#17620)
-   chore: add callback to http-proxy.d.ts jsdoc ([#17646](vitejs/vite#17646)) ([d8a5d70](vitejs/vite@d8a5d70)), closes [#17646](vitejs/vite#17646)


## [v5.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small533-2024-07-03-small)

-   fix: lazily evaluate \__vite\_\_mapDeps files ([#17602](vitejs/vite#17602)) ([dafff4a](vitejs/vite@dafff4a)), closes [#17602](vitejs/vite#17602)
-   fix(deps): update all non-major dependencies ([#17590](vitejs/vite#17590)) ([012490c](vitejs/vite@012490c)), closes [#17590](vitejs/vite#17590)
-   fix(lib): remove pure CSS dynamic import ([#17601](vitejs/vite#17601)) ([055f1c1](vitejs/vite@055f1c1)), closes [#17601](vitejs/vite#17601)
-   fix(proxy): replace changeOrigin changes in 5.3.0 with new rewriteWsOrigin option ([#17563](vitejs/vite#17563)) ([14c3d49](vitejs/vite@14c3d49)), closes [#17563](vitejs/vite#17563)


## [v5.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small532-2024-06-27-small)

-   fix(client): uniform variable `location` ([#17528](vitejs/vite#17528)) ([a8e2f6f](vitejs/vite@a8e2f6f)), closes [#17528](vitejs/vite#17528)
-   fix(deps): update all non-major dependencies ([#17494](vitejs/vite#17494)) ([bf123f2](vitejs/vite@bf123f2)), closes [#17494](vitejs/vite#17494)
-   fix(typescript): correctly expand ${configDir} in tsconfig.json ([#17576](vitejs/vite#17576)) ([24c799b](vitejs/vite@24c799b)), closes [#17576](vitejs/vite#17576)
-   chore: fix some comments ([#17495](vitejs/vite#17495)) ([ec16a5e](vitejs/vite@ec16a5e)), closes [#17495](vitejs/vite#17495)
-   chore(deps): update all non-major dependencies ([#17553](vitejs/vite#17553)) ([a33a97f](vitejs/vite@a33a97f)), closes [#17553](vitejs/vite#17553)
-   chore(deps): update dependency eslint to v9 ([#16661](vitejs/vite#16661)) ([6c10662](vitejs/vite@6c10662)), closes [#16661](vitejs/vite#16661)
-   chore(deps): update es-module-lexer to 1.5.4 ([#17555](vitejs/vite#17555)) ([2d6672f](vitejs/vite@2d6672f)), closes [#17555](vitejs/vite#17555)
-   refactor(optimizer): use early continues ([#17551](vitejs/vite#17551)) ([7c06ef0](vitejs/vite@7c06ef0)), closes [#17551](vitejs/vite#17551)


## [v5.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small531-2024-06-14-small)

-   fix(build): handle preload treeshaking for braces ([#17479](vitejs/vite#17479)) ([d355568](vitejs/vite@d355568)), closes [#17479](vitejs/vite#17479)
-   fix(build): handle preload treeshaking for commas ([#17472](vitejs/vite#17472)) ([3e27071](vitejs/vite@3e27071)), closes [#17472](vitejs/vite#17472)
-   fix(build): preload treeshaking ignore equal ([#17480](vitejs/vite#17480)) ([6ced135](vitejs/vite@6ced135)), closes [#17480](vitejs/vite#17480)
-   chore: consolidate changelog for 5.3 ([#17476](vitejs/vite#17476)) ([1f09344](vitejs/vite@1f09344)), closes [#17476](vitejs/vite#17476)


## [v5.3.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#530-2024-06-13)

-   fix: typo in client log ([#17363](vitejs/vite#17363)) ([68aa9f8](vitejs/vite@68aa9f8)), closes [#17363](vitejs/vite#17363)
-   fix(ssrTransform): handle arbitrary module namespace identifiers ([#17446](vitejs/vite#17446)) ([0a76652](vitejs/vite@0a76652)), closes [#17446](vitejs/vite#17446)
-   test: disable isolate for unit test ([#17448](vitejs/vite#17448)) ([f16fae5](vitejs/vite@f16fae5)), closes [#17448](vitejs/vite#17448)
-   feat: asset type add bmp ([#17439](vitejs/vite#17439)) ([ec287f8](vitejs/vite@ec287f8)), closes [#17439](vitejs/vite#17439)


## [v5.2.13](https://github.com/vitejs/vite/releases/tag/v5.2.13)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v5.2.13/packages/vite/CHANGELOG.md) for details.


## [v5.2.12](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5212-2024-05-28-small)

-   chore: move to eslint flat config ([#16743](vitejs/vite#16743)) ([8f16765](vitejs/vite@8f16765)), closes [#16743](vitejs/vite#16743)
-   chore(deps): remove unused deps ([#17329](vitejs/vite#17329)) ([5a45745](vitejs/vite@5a45745)), closes [#17329](vitejs/vite#17329)
-   chore(deps): update all non-major dependencies ([#16722](vitejs/vite#16722)) ([b45922a](vitejs/vite@b45922a)), closes [#16722](vitejs/vite#16722)
-   fix: mention `build.rollupOptions.output.manualChunks` instead of  `build.rollupOutput.manualChunks` ([89378c0](vitejs/vite@89378c0)), closes [#16721](vitejs/vite#16721)
-   fix(build): make SystemJSWrapRE match lazy ([#16633](vitejs/vite#16633)) ([6583ad2](vitejs/vite@6583ad2)), closes [#16633](vitejs/vite#16633)
-   fix(css): avoid generating empty JS files when JS files becomes empty but has CSS files imported ([#1](vitejs/vite#1) ([95fe5a7](vitejs/vite@95fe5a7)), closes [#16078](vitejs/vite#16078)
-   fix(css): handle lightningcss compiled css in Deno ([#17301](vitejs/vite#17301)) ([8e4e932](vitejs/vite@8e4e932)), closes [#17301](vitejs/vite#17301)
-   fix(css): only use files the current bundle contains ([#16684](vitejs/vite#16684)) ([15a6ebb](vitejs/vite@15a6ebb)), closes [#16684](vitejs/vite#16684)
-   fix(css): page reload was not happening with .css?raw ([#16455](vitejs/vite#16455)) ([8041846](vitejs/vite@8041846)), closes [#16455](vitejs/vite#16455)
-   fix(deps): update all non-major dependencies ([#16603](vitejs/vite#16603)) ([6711553](vitejs/vite@6711553)), closes [#16603](vitejs/vite#16603)
-   fix(deps): update all non-major dependencies ([#16660](vitejs/vite#16660)) ([bf2f014](vitejs/vite@bf2f014)), closes [#16660](vitejs/vite#16660)
-   fix(deps): update all non-major dependencies ([#17321](vitejs/vite#17321)) ([4a89766](vitejs/vite@4a89766)), closes [#17321](vitejs/vite#17321)
-   fix(error-logging): rollup errors weren't displaying id and codeframe ([#16540](vitejs/vite#16540)) ([22dc196](vitejs/vite@22dc196)), closes [#16540](vitejs/vite#16540)
-   fix(hmr): normalize the path info ([#14255](vitejs/vite#14255)) ([6a085d0](vitejs/vite@6a085d0)), closes [#14255](vitejs/vite#14255)
-   fix(hmr): trigger page reload when calling invalidate on root module ([#16636](vitejs/vite#16636)) ([2b61cc3](vitejs/vite@2b61cc3)), closes [#16636](vitejs/vite#16636)
-   fix(logger): truncate log over 5000 characters long ([#16581](vitejs/vite#16581)) ([b0b839a](vitejs/vite@b0b839a)), closes [#16581](vitejs/vite#16581)
-   fix(optimizer): log dependencies added by plugins ([#16729](vitejs/vite#16729)) ([f0fb987](vitejs/vite@f0fb987)), closes [#16729](vitejs/vite#16729)
-   fix(sourcemap): improve sourcemap compatibility for vue2 ([#16594](vitejs/vite#16594)) ([913c040](vitejs/vite@913c040)), closes [#16594](vitejs/vite#16594)
-   docs: correct proxy shorthand example ([#15938](vitejs/vite#15938)) ([abf766e](vitejs/vite@abf766e)), closes [#15938](vitejs/vite#15938)
-   docs: deprecate server.hot ([#16741](vitejs/vite#16741)) ([e7d38ab](vitejs/vite@e7d38ab)), closes [#16741](vitejs/vite#16741)


## [v5.2.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5211-2024-05-02-small)

-   feat: improve dynamic import variable failure error message ([#16519](vitejs/vite#16519)) ([f8feeea](vitejs/vite@f8feeea)), closes [#16519](vitejs/vite#16519)
-   fix: dynamic-import-vars plugin normalize path issue ([#16518](vitejs/vite#16518)) ([f71ba5b](vitejs/vite@f71ba5b)), closes [#16518](vitejs/vite#16518)
-   fix: scripts and styles were missing from built HTML on Windows ([#16421](vitejs/vite#16421)) ([0e93f58](vitejs/vite@0e93f58)), closes [#16421](vitejs/vite#16421)
-   fix(deps): update all non-major dependencies ([#16488](vitejs/vite#16488)) ([2d50be2](vitejs/vite@2d50be2)), closes [#16488](vitejs/vite#16488)
-   fix(deps): update all non-major dependencies ([#16549](vitejs/vite#16549)) ([2d6a13b](vitejs/vite@2d6a13b)), closes [#16549](vitejs/vite#16549)
-   fix(dev): watch publicDir explicitly to include it outside the root ([#16502](vitejs/vite#16502)) ([4d83eb5](vitejs/vite@4d83eb5)), closes [#16502](vitejs/vite#16502)
-   fix(preload): skip preload for non-static urls ([#16556](vitejs/vite#16556)) ([bb79c9b](vitejs/vite@bb79c9b)), closes [#16556](vitejs/vite#16556)
-   fix(ssr): handle class declaration and expression name scoping ([#16569](vitejs/vite#16569)) ([c071eb3](vitejs/vite@c071eb3)), closes [#16569](vitejs/vite#16569)
-   fix(ssr): handle function expression name scoping ([#16563](vitejs/vite#16563)) ([02db947](vitejs/vite@02db947)), closes [#16563](vitejs/vite#16563)


## [v5.2.10](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5210-2024-04-20-small)

-   revert: perf: use workspace root for fs cache ([#15712](vitejs/vite#15712)) ([#16476](vitejs/vite#16476)) ([77e7359](vitejs/vite@77e7359)), closes [#15712](vitejs/vite#15712) [#16476](vitejs/vite#16476)
-   fix: add base to virtual html ([#16442](vitejs/vite#16442)) ([721f94d](vitejs/vite@721f94d)), closes [#16442](vitejs/vite#16442)
-   fix: adjust esm syntax judgment logic ([#16436](vitejs/vite#16436)) ([af72eab](vitejs/vite@af72eab)), closes [#16436](vitejs/vite#16436)
-   fix: don't add outDirs to watch.ignored if emptyOutDir is false ([#16453](vitejs/vite#16453)) ([6a127d6](vitejs/vite@6a127d6)), closes [#16453](vitejs/vite#16453)
-   fix(cspNonce): don't overwrite existing nonce values ([#16415](vitejs/vite#16415)) ([b872635](vitejs/vite@b872635)), closes [#16415](vitejs/vite#16415)
-   feat: show warning if root is in build.outDir ([#16454](vitejs/vite#16454)) ([11444dc](vitejs/vite@11444dc)), closes [#16454](vitejs/vite#16454)
-   feat: write cspNonce to style tags ([#16419](vitejs/vite#16419)) ([8e54bbd](vitejs/vite@8e54bbd)), closes [#16419](vitejs/vite#16419)
-   chore(deps): update dependency eslint-plugin-n to v17 ([#16381](vitejs/vite#16381)) ([6cccef7](vitejs/vite@6cccef7)), closes [#16381](vitejs/vite#16381)


## [v5.2.9](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small529-2024-04-15-small)

-   fix: `fsp.rm` removing files does not take effect ([#16032](vitejs/vite#16032)) ([b05c405](vitejs/vite@b05c405)), closes [#16032](vitejs/vite#16032)
-   fix: fix accumulated stacks in error overlay ([#16393](vitejs/vite#16393)) ([102c2fd](vitejs/vite@102c2fd)), closes [#16393](vitejs/vite#16393)
-   fix(deps): update all non-major dependencies ([#16376](vitejs/vite#16376)) ([58a2938](vitejs/vite@58a2938)), closes [#16376](vitejs/vite#16376)
-   chore: update region comment ([#16380](vitejs/vite#16380)) ([77562c3](vitejs/vite@77562c3)), closes [#16380](vitejs/vite#16380)
-   perf: reduce size of injected \__vite\_\_mapDeps code ([#16184](vitejs/vite#16184)) ([c0ec6be](vitejs/vite@c0ec6be)), closes [#16184](vitejs/vite#16184)
-   perf(css): only replace empty chunk if imported ([#16349](vitejs/vite#16349)) ([e2658ad](vitejs/vite@e2658ad)), closes [#16349](vitejs/vite#16349)


## [v5.2.8](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small528-2024-04-03-small)

-   fix: csp nonce injection when no closing tag ([#16281](vitejs/vite#16281)) ([#16282](vitejs/vite#16282)) ([3c85c6b](vitejs/vite@3c85c6b)), closes [#16281](vitejs/vite#16281) [#16282](vitejs/vite#16282)
-   fix: do not access document in `/@vite/client` when not defined ([#16318](vitejs/vite#16318)) ([646319c](vitejs/vite@646319c)), closes [#16318](vitejs/vite#16318)
-   fix: fix sourcemap when using object as `define` value  ([#15805](vitejs/vite#15805)) ([445c4f2](vitejs/vite@445c4f2)), closes [#15805](vitejs/vite#15805)
-   fix(css): unknown file error happened with lightningcss ([#16306](vitejs/vite#16306)) ([01af308](vitejs/vite@01af308)), closes [#16306](vitejs/vite#16306)
-   fix(hmr): multiple updates happened when invalidate is called while multiple tabs open ([#16307](vitejs/vite#16307)) ([21cc10b](vitejs/vite@21cc10b)), closes [#16307](vitejs/vite#16307)
-   fix(scanner): duplicate modules for same id if glob is used in html-like types ([#16305](vitejs/vite#16305)) ([eca68fa](vitejs/vite@eca68fa)), closes [#16305](vitejs/vite#16305)
-   chore(deps): update all non-major dependencies ([#16325](vitejs/vite#16325)) ([a78e265](vitejs/vite@a78e265)), closes [#16325](vitejs/vite#16325)
-   refactor: use types from sass instead of [@types/sass](https://github.com/types/sass) ([#16340](vitejs/vite#16340)) ([4581e83](vitejs/vite@4581e83)), closes [#16340](vitejs/vite#16340)


## [v5.2.7](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small527-2024-03-29-small)

-   chore: deprecate splitVendorChunkPlugin ([#16274](vitejs/vite#16274)) ([45a06da](vitejs/vite@45a06da)), closes [#16274](vitejs/vite#16274)
-   fix: skip injecting `__vite__mapDeps` when it's not used ([#16271](vitejs/vite#16271)) ([890538a](vitejs/vite@890538a)), closes [#16271](vitejs/vite#16271)
-   fix(deps): update all non-major dependencies ([#16258](vitejs/vite#16258)) ([7caef42](vitejs/vite@7caef42)), closes [#16258](vitejs/vite#16258)
-   fix(hmr): don't mutate module graph when collecting modules ([#16302](vitejs/vite#16302)) ([dfffea1](vitejs/vite@dfffea1)), closes [#16302](vitejs/vite#16302)
-   fix(hmr): trigger hmr for missing file import errored module after file creation ([#16303](vitejs/vite#16303)) ([ffedc06](vitejs/vite@ffedc06)), closes [#16303](vitejs/vite#16303)
-   fix(sourcemap): don't warn even if the sourcesContent is an empty string ([#16273](vitejs/vite#16273)) ([24e376a](vitejs/vite@24e376a)), closes [#16273](vitejs/vite#16273)
-   feat(hmr): reload when HTML file is created/deleted ([#16288](vitejs/vite#16288)) ([1f53796](vitejs/vite@1f53796)), closes [#16288](vitejs/vite#16288)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Aug 23, 2024
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 5.2.6 | 5.4.2 |


## [v5.4.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small542-2024-08-20-small)

-   chore: remove stale TODOs ([#17866](vitejs/vite#17866)) ([e012f29](vitejs/vite@e012f29)), closes [#17866](vitejs/vite#17866)
-   refactor: remove redundant prepend/strip base ([#17887](vitejs/vite#17887)) ([3b8f03d](vitejs/vite@3b8f03d)), closes [#17887](vitejs/vite#17887)
-   fix: resolve relative URL generated by `renderBuiltUrl` passed to module preload ([#16084](vitejs/vite#16084)) ([fac3a8e](vitejs/vite@fac3a8e)), closes [#16084](vitejs/vite#16084)
-   feat: support originalFilename ([#17867](vitejs/vite#17867)) ([7d8c0e2](vitejs/vite@7d8c0e2)), closes [#17867](vitejs/vite#17867)


## [v5.4.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small541-2024-08-15-small)

-   fix: `build.modulePreload.resolveDependencies` is optimizable ([#16083](vitejs/vite#16083)) ([e961b31](vitejs/vite@e961b31)), closes [#16083](vitejs/vite#16083)
-   fix: align CorsOptions.origin type with [@types/cors](https://github.com/types/cors) ([#17836](vitejs/vite#17836)) ([1bda847](vitejs/vite@1bda847)), closes [#17836](vitejs/vite#17836)
-   fix: typings for vite:preloadError ([#17868](vitejs/vite#17868)) ([6700594](vitejs/vite@6700594)), closes [#17868](vitejs/vite#17868)
-   fix(build): avoid re-define `__vite_import_meta_env__` ([#17876](vitejs/vite#17876)) ([e686d74](vitejs/vite@e686d74)), closes [#17876](vitejs/vite#17876)
-   fix(deps): update all non-major dependencies ([#17869](vitejs/vite#17869)) ([d11711c](vitejs/vite@d11711c)), closes [#17869](vitejs/vite#17869)
-   fix(lightningcss): search for assets with correct base path ([#17856](vitejs/vite#17856)) ([4e5ce3c](vitejs/vite@4e5ce3c)), closes [#17856](vitejs/vite#17856)
-   fix(worker): handle self reference url worker in dependency for build ([#17846](vitejs/vite#17846)) ([391bb49](vitejs/vite@391bb49)), closes [#17846](vitejs/vite#17846)
-   chore: fix picocolors import for local dev ([#17884](vitejs/vite#17884)) ([9018255](vitejs/vite@9018255)), closes [#17884](vitejs/vite#17884)
-   refactor: remove `handleHotUpdate` from watch-package-data plugin ([#17865](vitejs/vite#17865)) ([e16bf1f](vitejs/vite@e16bf1f)), closes [#17865](vitejs/vite#17865)


## [v5.4.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#540-2024-08-07)

-   fix(build): windows platform build output path error ([#17818](vitejs/vite#17818)) ([6ae0615](vitejs/vite@6ae0615)), closes [#17818](vitejs/vite#17818)
-   fix(deps): update launch-editor to consume fix for windows paths ([#17828](vitejs/vite#17828)) ([cf2f90d](vitejs/vite@cf2f90d)), closes [#17828](vitejs/vite#17828)
-   fix(ssr): fix `global` variable name conflict ([#17809](vitejs/vite#17809)) ([6aa2206](vitejs/vite@6aa2206)), closes [#17809](vitejs/vite#17809)
-   fix(worker): fix `importScripts` injection breaking iife code ([#17827](vitejs/vite#17827)) ([bb4ba9f](vitejs/vite@bb4ba9f)), closes [#17827](vitejs/vite#17827)
-   chore: bump typescript-eslint to v8 ([#17624](vitejs/vite#17624)) ([d1891fd](vitejs/vite@d1891fd)), closes [#17624](vitejs/vite#17624)
-   chore(deps): update all non-major dependencies ([#17820](vitejs/vite#17820)) ([bb2f8bb](vitejs/vite@bb2f8bb)), closes [#17820](vitejs/vite#17820)
-   perf(ssr): do a single-pass over AST with node cache arrays ([#17812](vitejs/vite#17812)) ([81327eb](vitejs/vite@81327eb)), closes [#17812](vitejs/vite#17812)


## [v5.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small535-2024-07-25-small)

-   refactor(asset): remove rollup 3 public file watch workaround ([#16331](vitejs/vite#16331)) ([66bdb1d](vitejs/vite@66bdb1d)), closes [#16331](vitejs/vite#16331)
-   fix: make `server` type less restrictive (fix [#17627](vitejs/vite#17627)) ([#17628](vitejs/vite#17628)) ([b55c32f](vitejs/vite@b55c32f)), closes [#17627](vitejs/vite#17627) [#17628](vitejs/vite#17628)
-   fix: show error if vite client cannot be loaded ([#17419](vitejs/vite#17419)) ([db5ab1d](vitejs/vite@db5ab1d)), closes [#17419](vitejs/vite#17419)
-   fix(build): env output is not stable ([#17748](vitejs/vite#17748)) ([b240a83](vitejs/vite@b240a83)), closes [#17748](vitejs/vite#17748)
-   fix(client): fix vite error path ([#17744](vitejs/vite#17744)) ([3c1bde3](vitejs/vite@3c1bde3)), closes [#17744](vitejs/vite#17744)
-   fix(css): resolve url aliases with fragments (fix: [#17690](vitejs/vite#17690)) ([#17691](vitejs/vite#17691)) ([d906d3f](vitejs/vite@d906d3f))
-   fix(deps): update all non-major dependencies ([#17629](vitejs/vite#17629)) ([93281b0](vitejs/vite@93281b0)), closes [#17629](vitejs/vite#17629)
-   fix(importMetaGlob): handle alias that starts with hash ([#17743](vitejs/vite#17743)) ([b58b423](vitejs/vite@b58b423)), closes [#17743](vitejs/vite#17743)
-   fix(ssrTransform): sourcemaps with multiple sources ([#17677](vitejs/vite#17677)) ([f321fa8](vitejs/vite@f321fa8)), closes [#17677](vitejs/vite#17677)
-   chore: extend commit hash ([#17709](vitejs/vite#17709)) ([4fc9b64](vitejs/vite@4fc9b64)), closes [#17709](vitejs/vite#17709)
-   chore(deps): update all non-major dependencies ([#17734](vitejs/vite#17734)) ([9983731](vitejs/vite@9983731)), closes [#17734](vitejs/vite#17734)
-   chore(deps): update typescript ([#17699](vitejs/vite#17699)) ([df5ceb3](vitejs/vite@df5ceb3)), closes [#17699](vitejs/vite#17699)
-   revert: fix(logger): truncate log over 5000 characters long ([#16581](vitejs/vite#16581)) ([#17729](vitejs/vite#17729)) ([f4f488f](vitejs/vite@f4f488f)), closes [#16581](vitejs/vite#16581) [#17729](vitejs/vite#17729)


## [v5.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small534-2024-07-16-small)

-   fix: update Terser type definitions (fix [#17668](vitejs/vite#17668)) ([#17669](vitejs/vite#17669)) ([b723a75](vitejs/vite@b723a75)), closes [#17668](vitejs/vite#17668) [#17669](vitejs/vite#17669)
-   fix(build): skip preload treeshaking for nested braces ([#17687](vitejs/vite#17687)) ([4be96b4](vitejs/vite@4be96b4)), closes [#17687](vitejs/vite#17687)
-   fix(css): include `.css?url` in assets field of manifest ([#17623](vitejs/vite#17623)) ([1465b20](vitejs/vite@1465b20)), closes [#17623](vitejs/vite#17623)
-   fix(worker): nested inlined worker always fallbacked to data URI worker instead of using blob worker ([07bc489](vitejs/vite@07bc489)), closes [#17509](vitejs/vite#17509)
-   refactor: replace includes with logical operations ([#17620](vitejs/vite#17620)) ([c4a2227](vitejs/vite@c4a2227)), closes [#17620](vitejs/vite#17620)
-   chore: add callback to http-proxy.d.ts jsdoc ([#17646](vitejs/vite#17646)) ([d8a5d70](vitejs/vite@d8a5d70)), closes [#17646](vitejs/vite#17646)


## [v5.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small533-2024-07-03-small)

-   fix: lazily evaluate \__vite\_\_mapDeps files ([#17602](vitejs/vite#17602)) ([dafff4a](vitejs/vite@dafff4a)), closes [#17602](vitejs/vite#17602)
-   fix(deps): update all non-major dependencies ([#17590](vitejs/vite#17590)) ([012490c](vitejs/vite@012490c)), closes [#17590](vitejs/vite#17590)
-   fix(lib): remove pure CSS dynamic import ([#17601](vitejs/vite#17601)) ([055f1c1](vitejs/vite@055f1c1)), closes [#17601](vitejs/vite#17601)
-   fix(proxy): replace changeOrigin changes in 5.3.0 with new rewriteWsOrigin option ([#17563](vitejs/vite#17563)) ([14c3d49](vitejs/vite@14c3d49)), closes [#17563](vitejs/vite#17563)


## [v5.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small532-2024-06-27-small)

-   fix(client): uniform variable `location` ([#17528](vitejs/vite#17528)) ([a8e2f6f](vitejs/vite@a8e2f6f)), closes [#17528](vitejs/vite#17528)
-   fix(deps): update all non-major dependencies ([#17494](vitejs/vite#17494)) ([bf123f2](vitejs/vite@bf123f2)), closes [#17494](vitejs/vite#17494)
-   fix(typescript): correctly expand ${configDir} in tsconfig.json ([#17576](vitejs/vite#17576)) ([24c799b](vitejs/vite@24c799b)), closes [#17576](vitejs/vite#17576)
-   chore: fix some comments ([#17495](vitejs/vite#17495)) ([ec16a5e](vitejs/vite@ec16a5e)), closes [#17495](vitejs/vite#17495)
-   chore(deps): update all non-major dependencies ([#17553](vitejs/vite#17553)) ([a33a97f](vitejs/vite@a33a97f)), closes [#17553](vitejs/vite#17553)
-   chore(deps): update dependency eslint to v9 ([#16661](vitejs/vite#16661)) ([6c10662](vitejs/vite@6c10662)), closes [#16661](vitejs/vite#16661)
-   chore(deps): update es-module-lexer to 1.5.4 ([#17555](vitejs/vite#17555)) ([2d6672f](vitejs/vite@2d6672f)), closes [#17555](vitejs/vite#17555)
-   refactor(optimizer): use early continues ([#17551](vitejs/vite#17551)) ([7c06ef0](vitejs/vite@7c06ef0)), closes [#17551](vitejs/vite#17551)


## [v5.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small531-2024-06-14-small)

-   fix(build): handle preload treeshaking for braces ([#17479](vitejs/vite#17479)) ([d355568](vitejs/vite@d355568)), closes [#17479](vitejs/vite#17479)
-   fix(build): handle preload treeshaking for commas ([#17472](vitejs/vite#17472)) ([3e27071](vitejs/vite@3e27071)), closes [#17472](vitejs/vite#17472)
-   fix(build): preload treeshaking ignore equal ([#17480](vitejs/vite#17480)) ([6ced135](vitejs/vite@6ced135)), closes [#17480](vitejs/vite#17480)
-   chore: consolidate changelog for 5.3 ([#17476](vitejs/vite#17476)) ([1f09344](vitejs/vite@1f09344)), closes [#17476](vitejs/vite#17476)


## [v5.3.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#530-2024-06-13)

-   fix: typo in client log ([#17363](vitejs/vite#17363)) ([68aa9f8](vitejs/vite@68aa9f8)), closes [#17363](vitejs/vite#17363)
-   fix(ssrTransform): handle arbitrary module namespace identifiers ([#17446](vitejs/vite#17446)) ([0a76652](vitejs/vite@0a76652)), closes [#17446](vitejs/vite#17446)
-   test: disable isolate for unit test ([#17448](vitejs/vite#17448)) ([f16fae5](vitejs/vite@f16fae5)), closes [#17448](vitejs/vite#17448)
-   feat: asset type add bmp ([#17439](vitejs/vite#17439)) ([ec287f8](vitejs/vite@ec287f8)), closes [#17439](vitejs/vite#17439)


## [v5.2.13](https://github.com/vitejs/vite/releases/tag/v5.2.13)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v5.2.13/packages/vite/CHANGELOG.md) for details.


## [v5.2.12](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5212-2024-05-28-small)

-   chore: move to eslint flat config ([#16743](vitejs/vite#16743)) ([8f16765](vitejs/vite@8f16765)), closes [#16743](vitejs/vite#16743)
-   chore(deps): remove unused deps ([#17329](vitejs/vite#17329)) ([5a45745](vitejs/vite@5a45745)), closes [#17329](vitejs/vite#17329)
-   chore(deps): update all non-major dependencies ([#16722](vitejs/vite#16722)) ([b45922a](vitejs/vite@b45922a)), closes [#16722](vitejs/vite#16722)
-   fix: mention `build.rollupOptions.output.manualChunks` instead of  `build.rollupOutput.manualChunks` ([89378c0](vitejs/vite@89378c0)), closes [#16721](vitejs/vite#16721)
-   fix(build): make SystemJSWrapRE match lazy ([#16633](vitejs/vite#16633)) ([6583ad2](vitejs/vite@6583ad2)), closes [#16633](vitejs/vite#16633)
-   fix(css): avoid generating empty JS files when JS files becomes empty but has CSS files imported ([#1](vitejs/vite#1) ([95fe5a7](vitejs/vite@95fe5a7)), closes [#16078](vitejs/vite#16078)
-   fix(css): handle lightningcss compiled css in Deno ([#17301](vitejs/vite#17301)) ([8e4e932](vitejs/vite@8e4e932)), closes [#17301](vitejs/vite#17301)
-   fix(css): only use files the current bundle contains ([#16684](vitejs/vite#16684)) ([15a6ebb](vitejs/vite@15a6ebb)), closes [#16684](vitejs/vite#16684)
-   fix(css): page reload was not happening with .css?raw ([#16455](vitejs/vite#16455)) ([8041846](vitejs/vite@8041846)), closes [#16455](vitejs/vite#16455)
-   fix(deps): update all non-major dependencies ([#16603](vitejs/vite#16603)) ([6711553](vitejs/vite@6711553)), closes [#16603](vitejs/vite#16603)
-   fix(deps): update all non-major dependencies ([#16660](vitejs/vite#16660)) ([bf2f014](vitejs/vite@bf2f014)), closes [#16660](vitejs/vite#16660)
-   fix(deps): update all non-major dependencies ([#17321](vitejs/vite#17321)) ([4a89766](vitejs/vite@4a89766)), closes [#17321](vitejs/vite#17321)
-   fix(error-logging): rollup errors weren't displaying id and codeframe ([#16540](vitejs/vite#16540)) ([22dc196](vitejs/vite@22dc196)), closes [#16540](vitejs/vite#16540)
-   fix(hmr): normalize the path info ([#14255](vitejs/vite#14255)) ([6a085d0](vitejs/vite@6a085d0)), closes [#14255](vitejs/vite#14255)
-   fix(hmr): trigger page reload when calling invalidate on root module ([#16636](vitejs/vite#16636)) ([2b61cc3](vitejs/vite@2b61cc3)), closes [#16636](vitejs/vite#16636)
-   fix(logger): truncate log over 5000 characters long ([#16581](vitejs/vite#16581)) ([b0b839a](vitejs/vite@b0b839a)), closes [#16581](vitejs/vite#16581)
-   fix(optimizer): log dependencies added by plugins ([#16729](vitejs/vite#16729)) ([f0fb987](vitejs/vite@f0fb987)), closes [#16729](vitejs/vite#16729)
-   fix(sourcemap): improve sourcemap compatibility for vue2 ([#16594](vitejs/vite#16594)) ([913c040](vitejs/vite@913c040)), closes [#16594](vitejs/vite#16594)
-   docs: correct proxy shorthand example ([#15938](vitejs/vite#15938)) ([abf766e](vitejs/vite@abf766e)), closes [#15938](vitejs/vite#15938)
-   docs: deprecate server.hot ([#16741](vitejs/vite#16741)) ([e7d38ab](vitejs/vite@e7d38ab)), closes [#16741](vitejs/vite#16741)


## [v5.2.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5211-2024-05-02-small)

-   feat: improve dynamic import variable failure error message ([#16519](vitejs/vite#16519)) ([f8feeea](vitejs/vite@f8feeea)), closes [#16519](vitejs/vite#16519)
-   fix: dynamic-import-vars plugin normalize path issue ([#16518](vitejs/vite#16518)) ([f71ba5b](vitejs/vite@f71ba5b)), closes [#16518](vitejs/vite#16518)
-   fix: scripts and styles were missing from built HTML on Windows ([#16421](vitejs/vite#16421)) ([0e93f58](vitejs/vite@0e93f58)), closes [#16421](vitejs/vite#16421)
-   fix(deps): update all non-major dependencies ([#16488](vitejs/vite#16488)) ([2d50be2](vitejs/vite@2d50be2)), closes [#16488](vitejs/vite#16488)
-   fix(deps): update all non-major dependencies ([#16549](vitejs/vite#16549)) ([2d6a13b](vitejs/vite@2d6a13b)), closes [#16549](vitejs/vite#16549)
-   fix(dev): watch publicDir explicitly to include it outside the root ([#16502](vitejs/vite#16502)) ([4d83eb5](vitejs/vite@4d83eb5)), closes [#16502](vitejs/vite#16502)
-   fix(preload): skip preload for non-static urls ([#16556](vitejs/vite#16556)) ([bb79c9b](vitejs/vite@bb79c9b)), closes [#16556](vitejs/vite#16556)
-   fix(ssr): handle class declaration and expression name scoping ([#16569](vitejs/vite#16569)) ([c071eb3](vitejs/vite@c071eb3)), closes [#16569](vitejs/vite#16569)
-   fix(ssr): handle function expression name scoping ([#16563](vitejs/vite#16563)) ([02db947](vitejs/vite@02db947)), closes [#16563](vitejs/vite#16563)


## [v5.2.10](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5210-2024-04-20-small)

-   revert: perf: use workspace root for fs cache ([#15712](vitejs/vite#15712)) ([#16476](vitejs/vite#16476)) ([77e7359](vitejs/vite@77e7359)), closes [#15712](vitejs/vite#15712) [#16476](vitejs/vite#16476)
-   fix: add base to virtual html ([#16442](vitejs/vite#16442)) ([721f94d](vitejs/vite@721f94d)), closes [#16442](vitejs/vite#16442)
-   fix: adjust esm syntax judgment logic ([#16436](vitejs/vite#16436)) ([af72eab](vitejs/vite@af72eab)), closes [#16436](vitejs/vite#16436)
-   fix: don't add outDirs to watch.ignored if emptyOutDir is false ([#16453](vitejs/vite#16453)) ([6a127d6](vitejs/vite@6a127d6)), closes [#16453](vitejs/vite#16453)
-   fix(cspNonce): don't overwrite existing nonce values ([#16415](vitejs/vite#16415)) ([b872635](vitejs/vite@b872635)), closes [#16415](vitejs/vite#16415)
-   feat: show warning if root is in build.outDir ([#16454](vitejs/vite#16454)) ([11444dc](vitejs/vite@11444dc)), closes [#16454](vitejs/vite#16454)
-   feat: write cspNonce to style tags ([#16419](vitejs/vite#16419)) ([8e54bbd](vitejs/vite@8e54bbd)), closes [#16419](vitejs/vite#16419)
-   chore(deps): update dependency eslint-plugin-n to v17 ([#16381](vitejs/vite#16381)) ([6cccef7](vitejs/vite@6cccef7)), closes [#16381](vitejs/vite#16381)


## [v5.2.9](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small529-2024-04-15-small)

-   fix: `fsp.rm` removing files does not take effect ([#16032](vitejs/vite#16032)) ([b05c405](vitejs/vite@b05c405)), closes [#16032](vitejs/vite#16032)
-   fix: fix accumulated stacks in error overlay ([#16393](vitejs/vite#16393)) ([102c2fd](vitejs/vite@102c2fd)), closes [#16393](vitejs/vite#16393)
-   fix(deps): update all non-major dependencies ([#16376](vitejs/vite#16376)) ([58a2938](vitejs/vite@58a2938)), closes [#16376](vitejs/vite#16376)
-   chore: update region comment ([#16380](vitejs/vite#16380)) ([77562c3](vitejs/vite@77562c3)), closes [#16380](vitejs/vite#16380)
-   perf: reduce size of injected \__vite\_\_mapDeps code ([#16184](vitejs/vite#16184)) ([c0ec6be](vitejs/vite@c0ec6be)), closes [#16184](vitejs/vite#16184)
-   perf(css): only replace empty chunk if imported ([#16349](vitejs/vite#16349)) ([e2658ad](vitejs/vite@e2658ad)), closes [#16349](vitejs/vite#16349)


## [v5.2.8](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small528-2024-04-03-small)

-   fix: csp nonce injection when no closing tag ([#16281](vitejs/vite#16281)) ([#16282](vitejs/vite#16282)) ([3c85c6b](vitejs/vite@3c85c6b)), closes [#16281](vitejs/vite#16281) [#16282](vitejs/vite#16282)
-   fix: do not access document in `/@vite/client` when not defined ([#16318](vitejs/vite#16318)) ([646319c](vitejs/vite@646319c)), closes [#16318](vitejs/vite#16318)
-   fix: fix sourcemap when using object as `define` value  ([#15805](vitejs/vite#15805)) ([445c4f2](vitejs/vite@445c4f2)), closes [#15805](vitejs/vite#15805)
-   fix(css): unknown file error happened with lightningcss ([#16306](vitejs/vite#16306)) ([01af308](vitejs/vite@01af308)), closes [#16306](vitejs/vite#16306)
-   fix(hmr): multiple updates happened when invalidate is called while multiple tabs open ([#16307](vitejs/vite#16307)) ([21cc10b](vitejs/vite@21cc10b)), closes [#16307](vitejs/vite#16307)
-   fix(scanner): duplicate modules for same id if glob is used in html-like types ([#16305](vitejs/vite#16305)) ([eca68fa](vitejs/vite@eca68fa)), closes [#16305](vitejs/vite#16305)
-   chore(deps): update all non-major dependencies ([#16325](vitejs/vite#16325)) ([a78e265](vitejs/vite@a78e265)), closes [#16325](vitejs/vite#16325)
-   refactor: use types from sass instead of [@types/sass](https://github.com/types/sass) ([#16340](vitejs/vite#16340)) ([4581e83](vitejs/vite@4581e83)), closes [#16340](vitejs/vite#16340)


## [v5.2.7](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small527-2024-03-29-small)

-   chore: deprecate splitVendorChunkPlugin ([#16274](vitejs/vite#16274)) ([45a06da](vitejs/vite@45a06da)), closes [#16274](vitejs/vite#16274)
-   fix: skip injecting `__vite__mapDeps` when it's not used ([#16271](vitejs/vite#16271)) ([890538a](vitejs/vite@890538a)), closes [#16271](vitejs/vite#16271)
-   fix(deps): update all non-major dependencies ([#16258](vitejs/vite#16258)) ([7caef42](vitejs/vite@7caef42)), closes [#16258](vitejs/vite#16258)
-   fix(hmr): don't mutate module graph when collecting modules ([#16302](vitejs/vite#16302)) ([dfffea1](vitejs/vite@dfffea1)), closes [#16302](vitejs/vite#16302)
-   fix(hmr): trigger hmr for missing file import errored module after file creation ([#16303](vitejs/vite#16303)) ([ffedc06](vitejs/vite@ffedc06)), closes [#16303](vitejs/vite#16303)
-   fix(sourcemap): don't warn even if the sourcesContent is an empty string ([#16273](vitejs/vite#16273)) ([24e376a](vitejs/vite@24e376a)), closes [#16273](vitejs/vite#16273)
-   feat(hmr): reload when HTML file is created/deleted ([#16288](vitejs/vite#16288)) ([1f53796](vitejs/vite@1f53796)), closes [#16288](vitejs/vite#16288)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Aug 24, 2024
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 5.2.6 | 5.4.2 |


## [v5.4.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small542-2024-08-20-small)

-   chore: remove stale TODOs ([#17866](vitejs/vite#17866)) ([e012f29](vitejs/vite@e012f29)), closes [#17866](vitejs/vite#17866)
-   refactor: remove redundant prepend/strip base ([#17887](vitejs/vite#17887)) ([3b8f03d](vitejs/vite@3b8f03d)), closes [#17887](vitejs/vite#17887)
-   fix: resolve relative URL generated by `renderBuiltUrl` passed to module preload ([#16084](vitejs/vite#16084)) ([fac3a8e](vitejs/vite@fac3a8e)), closes [#16084](vitejs/vite#16084)
-   feat: support originalFilename ([#17867](vitejs/vite#17867)) ([7d8c0e2](vitejs/vite@7d8c0e2)), closes [#17867](vitejs/vite#17867)


## [v5.4.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small541-2024-08-15-small)

-   fix: `build.modulePreload.resolveDependencies` is optimizable ([#16083](vitejs/vite#16083)) ([e961b31](vitejs/vite@e961b31)), closes [#16083](vitejs/vite#16083)
-   fix: align CorsOptions.origin type with [@types/cors](https://github.com/types/cors) ([#17836](vitejs/vite#17836)) ([1bda847](vitejs/vite@1bda847)), closes [#17836](vitejs/vite#17836)
-   fix: typings for vite:preloadError ([#17868](vitejs/vite#17868)) ([6700594](vitejs/vite@6700594)), closes [#17868](vitejs/vite#17868)
-   fix(build): avoid re-define `__vite_import_meta_env__` ([#17876](vitejs/vite#17876)) ([e686d74](vitejs/vite@e686d74)), closes [#17876](vitejs/vite#17876)
-   fix(deps): update all non-major dependencies ([#17869](vitejs/vite#17869)) ([d11711c](vitejs/vite@d11711c)), closes [#17869](vitejs/vite#17869)
-   fix(lightningcss): search for assets with correct base path ([#17856](vitejs/vite#17856)) ([4e5ce3c](vitejs/vite@4e5ce3c)), closes [#17856](vitejs/vite#17856)
-   fix(worker): handle self reference url worker in dependency for build ([#17846](vitejs/vite#17846)) ([391bb49](vitejs/vite@391bb49)), closes [#17846](vitejs/vite#17846)
-   chore: fix picocolors import for local dev ([#17884](vitejs/vite#17884)) ([9018255](vitejs/vite@9018255)), closes [#17884](vitejs/vite#17884)
-   refactor: remove `handleHotUpdate` from watch-package-data plugin ([#17865](vitejs/vite#17865)) ([e16bf1f](vitejs/vite@e16bf1f)), closes [#17865](vitejs/vite#17865)


## [v5.4.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#540-2024-08-07)

-   fix(build): windows platform build output path error ([#17818](vitejs/vite#17818)) ([6ae0615](vitejs/vite@6ae0615)), closes [#17818](vitejs/vite#17818)
-   fix(deps): update launch-editor to consume fix for windows paths ([#17828](vitejs/vite#17828)) ([cf2f90d](vitejs/vite@cf2f90d)), closes [#17828](vitejs/vite#17828)
-   fix(ssr): fix `global` variable name conflict ([#17809](vitejs/vite#17809)) ([6aa2206](vitejs/vite@6aa2206)), closes [#17809](vitejs/vite#17809)
-   fix(worker): fix `importScripts` injection breaking iife code ([#17827](vitejs/vite#17827)) ([bb4ba9f](vitejs/vite@bb4ba9f)), closes [#17827](vitejs/vite#17827)
-   chore: bump typescript-eslint to v8 ([#17624](vitejs/vite#17624)) ([d1891fd](vitejs/vite@d1891fd)), closes [#17624](vitejs/vite#17624)
-   chore(deps): update all non-major dependencies ([#17820](vitejs/vite#17820)) ([bb2f8bb](vitejs/vite@bb2f8bb)), closes [#17820](vitejs/vite#17820)
-   perf(ssr): do a single-pass over AST with node cache arrays ([#17812](vitejs/vite#17812)) ([81327eb](vitejs/vite@81327eb)), closes [#17812](vitejs/vite#17812)


## [v5.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small535-2024-07-25-small)

-   refactor(asset): remove rollup 3 public file watch workaround ([#16331](vitejs/vite#16331)) ([66bdb1d](vitejs/vite@66bdb1d)), closes [#16331](vitejs/vite#16331)
-   fix: make `server` type less restrictive (fix [#17627](vitejs/vite#17627)) ([#17628](vitejs/vite#17628)) ([b55c32f](vitejs/vite@b55c32f)), closes [#17627](vitejs/vite#17627) [#17628](vitejs/vite#17628)
-   fix: show error if vite client cannot be loaded ([#17419](vitejs/vite#17419)) ([db5ab1d](vitejs/vite@db5ab1d)), closes [#17419](vitejs/vite#17419)
-   fix(build): env output is not stable ([#17748](vitejs/vite#17748)) ([b240a83](vitejs/vite@b240a83)), closes [#17748](vitejs/vite#17748)
-   fix(client): fix vite error path ([#17744](vitejs/vite#17744)) ([3c1bde3](vitejs/vite@3c1bde3)), closes [#17744](vitejs/vite#17744)
-   fix(css): resolve url aliases with fragments (fix: [#17690](vitejs/vite#17690)) ([#17691](vitejs/vite#17691)) ([d906d3f](vitejs/vite@d906d3f))
-   fix(deps): update all non-major dependencies ([#17629](vitejs/vite#17629)) ([93281b0](vitejs/vite@93281b0)), closes [#17629](vitejs/vite#17629)
-   fix(importMetaGlob): handle alias that starts with hash ([#17743](vitejs/vite#17743)) ([b58b423](vitejs/vite@b58b423)), closes [#17743](vitejs/vite#17743)
-   fix(ssrTransform): sourcemaps with multiple sources ([#17677](vitejs/vite#17677)) ([f321fa8](vitejs/vite@f321fa8)), closes [#17677](vitejs/vite#17677)
-   chore: extend commit hash ([#17709](vitejs/vite#17709)) ([4fc9b64](vitejs/vite@4fc9b64)), closes [#17709](vitejs/vite#17709)
-   chore(deps): update all non-major dependencies ([#17734](vitejs/vite#17734)) ([9983731](vitejs/vite@9983731)), closes [#17734](vitejs/vite#17734)
-   chore(deps): update typescript ([#17699](vitejs/vite#17699)) ([df5ceb3](vitejs/vite@df5ceb3)), closes [#17699](vitejs/vite#17699)
-   revert: fix(logger): truncate log over 5000 characters long ([#16581](vitejs/vite#16581)) ([#17729](vitejs/vite#17729)) ([f4f488f](vitejs/vite@f4f488f)), closes [#16581](vitejs/vite#16581) [#17729](vitejs/vite#17729)


## [v5.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small534-2024-07-16-small)

-   fix: update Terser type definitions (fix [#17668](vitejs/vite#17668)) ([#17669](vitejs/vite#17669)) ([b723a75](vitejs/vite@b723a75)), closes [#17668](vitejs/vite#17668) [#17669](vitejs/vite#17669)
-   fix(build): skip preload treeshaking for nested braces ([#17687](vitejs/vite#17687)) ([4be96b4](vitejs/vite@4be96b4)), closes [#17687](vitejs/vite#17687)
-   fix(css): include `.css?url` in assets field of manifest ([#17623](vitejs/vite#17623)) ([1465b20](vitejs/vite@1465b20)), closes [#17623](vitejs/vite#17623)
-   fix(worker): nested inlined worker always fallbacked to data URI worker instead of using blob worker ([07bc489](vitejs/vite@07bc489)), closes [#17509](vitejs/vite#17509)
-   refactor: replace includes with logical operations ([#17620](vitejs/vite#17620)) ([c4a2227](vitejs/vite@c4a2227)), closes [#17620](vitejs/vite#17620)
-   chore: add callback to http-proxy.d.ts jsdoc ([#17646](vitejs/vite#17646)) ([d8a5d70](vitejs/vite@d8a5d70)), closes [#17646](vitejs/vite#17646)


## [v5.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small533-2024-07-03-small)

-   fix: lazily evaluate \__vite\_\_mapDeps files ([#17602](vitejs/vite#17602)) ([dafff4a](vitejs/vite@dafff4a)), closes [#17602](vitejs/vite#17602)
-   fix(deps): update all non-major dependencies ([#17590](vitejs/vite#17590)) ([012490c](vitejs/vite@012490c)), closes [#17590](vitejs/vite#17590)
-   fix(lib): remove pure CSS dynamic import ([#17601](vitejs/vite#17601)) ([055f1c1](vitejs/vite@055f1c1)), closes [#17601](vitejs/vite#17601)
-   fix(proxy): replace changeOrigin changes in 5.3.0 with new rewriteWsOrigin option ([#17563](vitejs/vite#17563)) ([14c3d49](vitejs/vite@14c3d49)), closes [#17563](vitejs/vite#17563)


## [v5.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small532-2024-06-27-small)

-   fix(client): uniform variable `location` ([#17528](vitejs/vite#17528)) ([a8e2f6f](vitejs/vite@a8e2f6f)), closes [#17528](vitejs/vite#17528)
-   fix(deps): update all non-major dependencies ([#17494](vitejs/vite#17494)) ([bf123f2](vitejs/vite@bf123f2)), closes [#17494](vitejs/vite#17494)
-   fix(typescript): correctly expand ${configDir} in tsconfig.json ([#17576](vitejs/vite#17576)) ([24c799b](vitejs/vite@24c799b)), closes [#17576](vitejs/vite#17576)
-   chore: fix some comments ([#17495](vitejs/vite#17495)) ([ec16a5e](vitejs/vite@ec16a5e)), closes [#17495](vitejs/vite#17495)
-   chore(deps): update all non-major dependencies ([#17553](vitejs/vite#17553)) ([a33a97f](vitejs/vite@a33a97f)), closes [#17553](vitejs/vite#17553)
-   chore(deps): update dependency eslint to v9 ([#16661](vitejs/vite#16661)) ([6c10662](vitejs/vite@6c10662)), closes [#16661](vitejs/vite#16661)
-   chore(deps): update es-module-lexer to 1.5.4 ([#17555](vitejs/vite#17555)) ([2d6672f](vitejs/vite@2d6672f)), closes [#17555](vitejs/vite#17555)
-   refactor(optimizer): use early continues ([#17551](vitejs/vite#17551)) ([7c06ef0](vitejs/vite@7c06ef0)), closes [#17551](vitejs/vite#17551)


## [v5.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small531-2024-06-14-small)

-   fix(build): handle preload treeshaking for braces ([#17479](vitejs/vite#17479)) ([d355568](vitejs/vite@d355568)), closes [#17479](vitejs/vite#17479)
-   fix(build): handle preload treeshaking for commas ([#17472](vitejs/vite#17472)) ([3e27071](vitejs/vite@3e27071)), closes [#17472](vitejs/vite#17472)
-   fix(build): preload treeshaking ignore equal ([#17480](vitejs/vite#17480)) ([6ced135](vitejs/vite@6ced135)), closes [#17480](vitejs/vite#17480)
-   chore: consolidate changelog for 5.3 ([#17476](vitejs/vite#17476)) ([1f09344](vitejs/vite@1f09344)), closes [#17476](vitejs/vite#17476)


## [v5.3.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#530-2024-06-13)

-   fix: typo in client log ([#17363](vitejs/vite#17363)) ([68aa9f8](vitejs/vite@68aa9f8)), closes [#17363](vitejs/vite#17363)
-   fix(ssrTransform): handle arbitrary module namespace identifiers ([#17446](vitejs/vite#17446)) ([0a76652](vitejs/vite@0a76652)), closes [#17446](vitejs/vite#17446)
-   test: disable isolate for unit test ([#17448](vitejs/vite#17448)) ([f16fae5](vitejs/vite@f16fae5)), closes [#17448](vitejs/vite#17448)
-   feat: asset type add bmp ([#17439](vitejs/vite#17439)) ([ec287f8](vitejs/vite@ec287f8)), closes [#17439](vitejs/vite#17439)


## [v5.2.13](https://github.com/vitejs/vite/releases/tag/v5.2.13)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v5.2.13/packages/vite/CHANGELOG.md) for details.


## [v5.2.12](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5212-2024-05-28-small)

-   chore: move to eslint flat config ([#16743](vitejs/vite#16743)) ([8f16765](vitejs/vite@8f16765)), closes [#16743](vitejs/vite#16743)
-   chore(deps): remove unused deps ([#17329](vitejs/vite#17329)) ([5a45745](vitejs/vite@5a45745)), closes [#17329](vitejs/vite#17329)
-   chore(deps): update all non-major dependencies ([#16722](vitejs/vite#16722)) ([b45922a](vitejs/vite@b45922a)), closes [#16722](vitejs/vite#16722)
-   fix: mention `build.rollupOptions.output.manualChunks` instead of  `build.rollupOutput.manualChunks` ([89378c0](vitejs/vite@89378c0)), closes [#16721](vitejs/vite#16721)
-   fix(build): make SystemJSWrapRE match lazy ([#16633](vitejs/vite#16633)) ([6583ad2](vitejs/vite@6583ad2)), closes [#16633](vitejs/vite#16633)
-   fix(css): avoid generating empty JS files when JS files becomes empty but has CSS files imported ([#1](vitejs/vite#1) ([95fe5a7](vitejs/vite@95fe5a7)), closes [#16078](vitejs/vite#16078)
-   fix(css): handle lightningcss compiled css in Deno ([#17301](vitejs/vite#17301)) ([8e4e932](vitejs/vite@8e4e932)), closes [#17301](vitejs/vite#17301)
-   fix(css): only use files the current bundle contains ([#16684](vitejs/vite#16684)) ([15a6ebb](vitejs/vite@15a6ebb)), closes [#16684](vitejs/vite#16684)
-   fix(css): page reload was not happening with .css?raw ([#16455](vitejs/vite#16455)) ([8041846](vitejs/vite@8041846)), closes [#16455](vitejs/vite#16455)
-   fix(deps): update all non-major dependencies ([#16603](vitejs/vite#16603)) ([6711553](vitejs/vite@6711553)), closes [#16603](vitejs/vite#16603)
-   fix(deps): update all non-major dependencies ([#16660](vitejs/vite#16660)) ([bf2f014](vitejs/vite@bf2f014)), closes [#16660](vitejs/vite#16660)
-   fix(deps): update all non-major dependencies ([#17321](vitejs/vite#17321)) ([4a89766](vitejs/vite@4a89766)), closes [#17321](vitejs/vite#17321)
-   fix(error-logging): rollup errors weren't displaying id and codeframe ([#16540](vitejs/vite#16540)) ([22dc196](vitejs/vite@22dc196)), closes [#16540](vitejs/vite#16540)
-   fix(hmr): normalize the path info ([#14255](vitejs/vite#14255)) ([6a085d0](vitejs/vite@6a085d0)), closes [#14255](vitejs/vite#14255)
-   fix(hmr): trigger page reload when calling invalidate on root module ([#16636](vitejs/vite#16636)) ([2b61cc3](vitejs/vite@2b61cc3)), closes [#16636](vitejs/vite#16636)
-   fix(logger): truncate log over 5000 characters long ([#16581](vitejs/vite#16581)) ([b0b839a](vitejs/vite@b0b839a)), closes [#16581](vitejs/vite#16581)
-   fix(optimizer): log dependencies added by plugins ([#16729](vitejs/vite#16729)) ([f0fb987](vitejs/vite@f0fb987)), closes [#16729](vitejs/vite#16729)
-   fix(sourcemap): improve sourcemap compatibility for vue2 ([#16594](vitejs/vite#16594)) ([913c040](vitejs/vite@913c040)), closes [#16594](vitejs/vite#16594)
-   docs: correct proxy shorthand example ([#15938](vitejs/vite#15938)) ([abf766e](vitejs/vite@abf766e)), closes [#15938](vitejs/vite#15938)
-   docs: deprecate server.hot ([#16741](vitejs/vite#16741)) ([e7d38ab](vitejs/vite@e7d38ab)), closes [#16741](vitejs/vite#16741)


## [v5.2.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5211-2024-05-02-small)

-   feat: improve dynamic import variable failure error message ([#16519](vitejs/vite#16519)) ([f8feeea](vitejs/vite@f8feeea)), closes [#16519](vitejs/vite#16519)
-   fix: dynamic-import-vars plugin normalize path issue ([#16518](vitejs/vite#16518)) ([f71ba5b](vitejs/vite@f71ba5b)), closes [#16518](vitejs/vite#16518)
-   fix: scripts and styles were missing from built HTML on Windows ([#16421](vitejs/vite#16421)) ([0e93f58](vitejs/vite@0e93f58)), closes [#16421](vitejs/vite#16421)
-   fix(deps): update all non-major dependencies ([#16488](vitejs/vite#16488)) ([2d50be2](vitejs/vite@2d50be2)), closes [#16488](vitejs/vite#16488)
-   fix(deps): update all non-major dependencies ([#16549](vitejs/vite#16549)) ([2d6a13b](vitejs/vite@2d6a13b)), closes [#16549](vitejs/vite#16549)
-   fix(dev): watch publicDir explicitly to include it outside the root ([#16502](vitejs/vite#16502)) ([4d83eb5](vitejs/vite@4d83eb5)), closes [#16502](vitejs/vite#16502)
-   fix(preload): skip preload for non-static urls ([#16556](vitejs/vite#16556)) ([bb79c9b](vitejs/vite@bb79c9b)), closes [#16556](vitejs/vite#16556)
-   fix(ssr): handle class declaration and expression name scoping ([#16569](vitejs/vite#16569)) ([c071eb3](vitejs/vite@c071eb3)), closes [#16569](vitejs/vite#16569)
-   fix(ssr): handle function expression name scoping ([#16563](vitejs/vite#16563)) ([02db947](vitejs/vite@02db947)), closes [#16563](vitejs/vite#16563)


## [v5.2.10](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small5210-2024-04-20-small)

-   revert: perf: use workspace root for fs cache ([#15712](vitejs/vite#15712)) ([#16476](vitejs/vite#16476)) ([77e7359](vitejs/vite@77e7359)), closes [#15712](vitejs/vite#15712) [#16476](vitejs/vite#16476)
-   fix: add base to virtual html ([#16442](vitejs/vite#16442)) ([721f94d](vitejs/vite@721f94d)), closes [#16442](vitejs/vite#16442)
-   fix: adjust esm syntax judgment logic ([#16436](vitejs/vite#16436)) ([af72eab](vitejs/vite@af72eab)), closes [#16436](vitejs/vite#16436)
-   fix: don't add outDirs to watch.ignored if emptyOutDir is false ([#16453](vitejs/vite#16453)) ([6a127d6](vitejs/vite@6a127d6)), closes [#16453](vitejs/vite#16453)
-   fix(cspNonce): don't overwrite existing nonce values ([#16415](vitejs/vite#16415)) ([b872635](vitejs/vite@b872635)), closes [#16415](vitejs/vite#16415)
-   feat: show warning if root is in build.outDir ([#16454](vitejs/vite#16454)) ([11444dc](vitejs/vite@11444dc)), closes [#16454](vitejs/vite#16454)
-   feat: write cspNonce to style tags ([#16419](vitejs/vite#16419)) ([8e54bbd](vitejs/vite@8e54bbd)), closes [#16419](vitejs/vite#16419)
-   chore(deps): update dependency eslint-plugin-n to v17 ([#16381](vitejs/vite#16381)) ([6cccef7](vitejs/vite@6cccef7)), closes [#16381](vitejs/vite#16381)


## [v5.2.9](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small529-2024-04-15-small)

-   fix: `fsp.rm` removing files does not take effect ([#16032](vitejs/vite#16032)) ([b05c405](vitejs/vite@b05c405)), closes [#16032](vitejs/vite#16032)
-   fix: fix accumulated stacks in error overlay ([#16393](vitejs/vite#16393)) ([102c2fd](vitejs/vite@102c2fd)), closes [#16393](vitejs/vite#16393)
-   fix(deps): update all non-major dependencies ([#16376](vitejs/vite#16376)) ([58a2938](vitejs/vite@58a2938)), closes [#16376](vitejs/vite#16376)
-   chore: update region comment ([#16380](vitejs/vite#16380)) ([77562c3](vitejs/vite@77562c3)), closes [#16380](vitejs/vite#16380)
-   perf: reduce size of injected \__vite\_\_mapDeps code ([#16184](vitejs/vite#16184)) ([c0ec6be](vitejs/vite@c0ec6be)), closes [#16184](vitejs/vite#16184)
-   perf(css): only replace empty chunk if imported ([#16349](vitejs/vite#16349)) ([e2658ad](vitejs/vite@e2658ad)), closes [#16349](vitejs/vite#16349)


## [v5.2.8](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small528-2024-04-03-small)

-   fix: csp nonce injection when no closing tag ([#16281](vitejs/vite#16281)) ([#16282](vitejs/vite#16282)) ([3c85c6b](vitejs/vite@3c85c6b)), closes [#16281](vitejs/vite#16281) [#16282](vitejs/vite#16282)
-   fix: do not access document in `/@vite/client` when not defined ([#16318](vitejs/vite#16318)) ([646319c](vitejs/vite@646319c)), closes [#16318](vitejs/vite#16318)
-   fix: fix sourcemap when using object as `define` value  ([#15805](vitejs/vite#15805)) ([445c4f2](vitejs/vite@445c4f2)), closes [#15805](vitejs/vite#15805)
-   fix(css): unknown file error happened with lightningcss ([#16306](vitejs/vite#16306)) ([01af308](vitejs/vite@01af308)), closes [#16306](vitejs/vite#16306)
-   fix(hmr): multiple updates happened when invalidate is called while multiple tabs open ([#16307](vitejs/vite#16307)) ([21cc10b](vitejs/vite@21cc10b)), closes [#16307](vitejs/vite#16307)
-   fix(scanner): duplicate modules for same id if glob is used in html-like types ([#16305](vitejs/vite#16305)) ([eca68fa](vitejs/vite@eca68fa)), closes [#16305](vitejs/vite#16305)
-   chore(deps): update all non-major dependencies ([#16325](vitejs/vite#16325)) ([a78e265](vitejs/vite@a78e265)), closes [#16325](vitejs/vite#16325)
-   refactor: use types from sass instead of [@types/sass](https://github.com/types/sass) ([#16340](vitejs/vite#16340)) ([4581e83](vitejs/vite@4581e83)), closes [#16340](vitejs/vite#16340)


## [v5.2.7](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small527-2024-03-29-small)

-   chore: deprecate splitVendorChunkPlugin ([#16274](vitejs/vite#16274)) ([45a06da](vitejs/vite@45a06da)), closes [#16274](vitejs/vite#16274)
-   fix: skip injecting `__vite__mapDeps` when it's not used ([#16271](vitejs/vite#16271)) ([890538a](vitejs/vite@890538a)), closes [#16271](vitejs/vite#16271)
-   fix(deps): update all non-major dependencies ([#16258](vitejs/vite#16258)) ([7caef42](vitejs/vite@7caef42)), closes [#16258](vitejs/vite#16258)
-   fix(hmr): don't mutate module graph when collecting modules ([#16302](vitejs/vite#16302)) ([dfffea1](vitejs/vite@dfffea1)), closes [#16302](vitejs/vite#16302)
-   fix(hmr): trigger hmr for missing file import errored module after file creation ([#16303](vitejs/vite#16303)) ([ffedc06](vitejs/vite@ffedc06)), closes [#16303](vitejs/vite#16303)
-   fix(sourcemap): don't warn even if the sourcesContent is an empty string ([#16273](vitejs/vite#16273)) ([24e376a](vitejs/vite@24e376a)), closes [#16273](vitejs/vite#16273)
-   feat(hmr): reload when HTML file is created/deleted ([#16288](vitejs/vite#16288)) ([1f53796](vitejs/vite@1f53796)), closes [#16288](vitejs/vite#16288)
@rxgx
Copy link

rxgx commented Aug 29, 2024

Given the previous behavior, with the following function:

    experimental: {
      renderBuiltUrl(filename, { hostId, hostType, type }) {
        if (filename.includes('.worker.') && hostType === 'js') {
          return '/' + filename;
        }
        return `https://cdn.domain.tld/path/to/asset/${filename}`
      }
    },

After this change, how would I set my workers to be requested as /name.worker.js instead of now always being a fully qualified URL? I've tried to return as / and ./ but neither work as before. Would I now have to find a way to inject a document.location.origin into the URL constructor at runtime?

@sapphi-red
Copy link
Member Author

@rxgx To get the previous behavior, the config below would work:

    experimental: {
      renderBuiltUrl(filename, { hostId, hostType, type }) {
        if (filename.includes('.worker.') && hostType === 'js') {
          return { runtime: `new URL(${JSON.stringify('/' + filename)}, document.baseURI).href` }
        }
        return `https://cdn.domain.tld/path/to/asset/${filename}`
      }
    },

@rxgx
Copy link

rxgx commented Aug 30, 2024

Thanks, @sapphi-red! That worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has workaround p2-edge-case Bug, but has workaround or limited in scope (priority)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

duplicate CSS <link> with renderBuiltUrl
3 participants