fix: don't strip base from imports - #21221
Merged
sapphi-red merged 5 commits intoDec 12, 2025
Merged
Conversation
Member
Author
|
/ecosystem-ci run |
commit: |
|
📝 Ran ecosystem CI on
✅ ladle, marko, laravel, quasar, vite-plugin-vue, vite-environment-examples, vite-setup-catalogue, vuepress, vitepress, waku, vite-plugin-rsc, vite-plugin-react |
Member
Author
|
probably better to make a PR to v7 branch and then run the ecosystem-ci |
Closed
Member
Author
|
It seems to be safe: #21241 |
This reverts commit ed1ec62.
sapphi-red
force-pushed
the
fix/dont-strip-base-from-imports
branch
from
December 10, 2025 10:12
7a63b4d to
1b62738
Compare
Member
Author
|
ok, failing properly |
sapphi-red
marked this pull request as ready for review
December 10, 2025 11:54
bluwy
approved these changes
Dec 12, 2025
2 tasks
Thiladev
pushed a commit
to Thiladev/effect-view
that referenced
this pull request
Mar 16, 2026
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^7.3.1` → `^8.0.0`](https://renovatebot.com/diffs/npm/vite/7.3.1/8.0.0) |  |  | --- ### Release Notes <details> <summary>vitejs/vite (vite)</summary> ### [`v8.0.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-2026-03-12) [Compare Source](vitejs/vite@v7.3.1...v8.0.0)  Today, we're thrilled to announce the release of the next Vite major: - **[Vite 8.0 announcement blog post](https://vite.dev/blog/announcing-vite8.html)** - [Docs](https://vite.dev/) (translations: [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/), [Deutsch](https://de.vite.dev/), [فارسی](https://fa.vite.dev/)) - [Migration Guide](https://vite.dev/guide/migration.html) ##### ⚠ BREAKING CHANGES - remove `import.meta.hot.accept` resolution fallback ([#​21382](vitejs/vite#21382)) - update default browser target ([#​21193](vitejs/vite#21193)) - the epic `rolldown-vite` merge ([#​21189](vitejs/vite#21189)) ##### Features - update rolldown to 1.0.0-rc.9 ([#​21813](vitejs/vite#21813)) ([f05be0e](vitejs/vite@f05be0e)) - warn when `vite-tsconfig-paths` plugin is detected ([#​21781](vitejs/vite#21781)) ([ada493e](vitejs/vite@ada493e)) - **css:** support es2025 build target for lightningcss ([#​21769](vitejs/vite#21769)) ([08906e7](vitejs/vite@08906e7)) - forward browser console logs and errors to dev server terminal ([#​20916](vitejs/vite#20916)) ([2540ed0](vitejs/vite@2540ed0)) - update rolldown to 1.0.0-rc.8 ([#​21790](vitejs/vite#21790)) ([a0c950e](vitejs/vite@a0c950e)) - export `Visitor` and `ESTree` from `rolldown/utils` ([#​21664](vitejs/vite#21664)) ([45de31e](vitejs/vite@45de31e)) - update rolldown to 1.0.0-rc.6 ([#​21714](vitejs/vite#21714)) ([37a65f8](vitejs/vite@37a65f8)) - use util.inspect for CLI error display ([#​21668](vitejs/vite#21668)) ([5f425a9](vitejs/vite@5f425a9)) - update rolldown to 1.0.0-rc.5 ([#​21660](vitejs/vite#21660)) ([b3ddbc5](vitejs/vite@b3ddbc5)) - update rolldown to 1.0.0-rc.4 ([#​21617](vitejs/vite#21617)) ([1ee5c7f](vitejs/vite@1ee5c7f)) - **wasm:** add SSR support for `.wasm?init` ([#​21102](vitejs/vite#21102)) ([216a3b5](vitejs/vite@216a3b5)) - integrate devtools ([#​21331](vitejs/vite#21331)) ([acbf507](vitejs/vite@acbf507)) - update rolldown to 1.0.0-rc.3 ([#​21554](vitejs/vite#21554)) ([43358e9](vitejs/vite@43358e9)) - **manifest:** add `assets` field for standalone CSS entry points ([#​21015](vitejs/vite#21015)) ([f289b9b](vitejs/vite@f289b9b)) - update rolldown to 1.0.0-rc.2 ([#​21512](vitejs/vite#21512)) ([fa136a9](vitejs/vite@fa136a9)) - **bundled-dev:** support worker in initial bundle ([#​21415](vitejs/vite#21415)) ([f3d3149](vitejs/vite@f3d3149)) - **dev:** detect port conflicts on wildcard hosts ([#​21381](vitejs/vite#21381)) ([b0dd5a9](vitejs/vite@b0dd5a9)) - shortcuts case insensitive ([#​21224](vitejs/vite#21224)) ([7796ade](vitejs/vite@7796ade)) - update rolldown to 1.0.0-rc.1 ([#​21463](vitejs/vite#21463)) ([ff9dd7f](vitejs/vite@ff9dd7f)) - warn if `envPrefix` contains spaces ([#​21292](vitejs/vite#21292)) ([9fcde3c](vitejs/vite@9fcde3c)) - update rolldown to 1.0.0-beta.60 ([#​21408](vitejs/vite#21408)) ([c33aa7c](vitejs/vite@c33aa7c)) - update rolldown to 1.0.0-beta.59 ([#​21374](vitejs/vite#21374)) ([0037943](vitejs/vite@0037943)) - add `ignoreOutdatedRequests` option to `optimizeDeps` ([#​21364](vitejs/vite#21364)) ([b2e75aa](vitejs/vite@b2e75aa)) - add ios to default esbuild targets ([#​21342](vitejs/vite#21342)) ([daae6e9](vitejs/vite@daae6e9)) - update rolldown to 1.0.0-beta.58 ([#​21354](vitejs/vite#21354)) ([ba40cef](vitejs/vite@ba40cef)) - update rolldown to 1.0.0-beta.57 ([#​21335](vitejs/vite#21335)) ([d5412ef](vitejs/vite@d5412ef)) - **css:** support es2024 build target for lightningcss ([#​21294](vitejs/vite#21294)) ([bd33b8e](vitejs/vite@bd33b8e)) - update rolldown to 1.0.0-beta.56 ([#​21323](vitejs/vite#21323)) ([9847a63](vitejs/vite@9847a63)) - introduce v2 native plugins and enable it by default ([#​21268](vitejs/vite#21268)) ([42f2ab3](vitejs/vite@42f2ab3)) - **ssr:** avoid errors when rewriting already rewritten stacktrace ([#​21269](vitejs/vite#21269)) ([98d9a33](vitejs/vite@98d9a33)) - update rolldown to 1.0.0-beta.55 ([#​21300](vitejs/vite#21300)) ([2c8db85](vitejs/vite@2c8db85)) - update rolldown to 1.0.0-beta.54 ([#​21267](vitejs/vite#21267)) ([c751172](vitejs/vite@c751172)) - add a warning that is output when a plugin sets esbuild related options ([#​21218](vitejs/vite#21218)) ([200646b](vitejs/vite@200646b)) - highly experimental full bundle mode ([#​21235](vitejs/vite#21235)) ([83d8c99](vitejs/vite@83d8c99)) - print esbuild options when both esbuild and oxc options are set ([#​21216](vitejs/vite#21216)) ([08ae87b](vitejs/vite@08ae87b)) - update default browser target ([#​21193](vitejs/vite#21193)) ([8c3dd06](vitejs/vite@8c3dd06)) - the epic `rolldown-vite` merge ([#​21189](vitejs/vite#21189)) ([4a7f8d4](vitejs/vite@4a7f8d4)) ##### Bug Fixes - **deps:** update all non-major dependencies ([#​21786](vitejs/vite#21786)) ([eaa4352](vitejs/vite@eaa4352)) - use `watch.watcher` instead of `watch.notify` ([#​21793](vitejs/vite#21793)) ([88953b3](vitejs/vite@88953b3)) - **css:** apply `server.origin` to public file URLs in CSS (fix [#​18457](vitejs/vite#18457)) ([#​21697](vitejs/vite#21697)) ([c967f48](vitejs/vite@c967f48)) - **deps:** update all non-major dependencies ([#​21732](vitejs/vite#21732)) ([5c921ca](vitejs/vite@5c921ca)) - **dev:** disable extglobs for consistency ([#​21745](vitejs/vite#21745)) ([1958eeb](vitejs/vite@1958eeb)) - **lib:** keep annotation comments for es output ([#​21740](vitejs/vite#21740)) ([dd3c4f4](vitejs/vite@dd3c4f4)) - **optimizer:** avoid error happening with a package with asset entrypoint ([#​21766](vitejs/vite#21766)) ([f7e1d07](vitejs/vite@f7e1d07)) - **ssr:** throw friendly error when calling `ssrLoadModule` with non-runnable ssr env ([#​21739](vitejs/vite#21739)) ([1fa736e](vitejs/vite@1fa736e)) - **types:** remove extends ImportMeta from ModuleRunnerImportMeta ([#​21710](vitejs/vite#21710)) ([0176d45](vitejs/vite@0176d45)) - **wasm:** reset assetUrlRE.lastIndex before .test() in SSR builds ([#​21780](vitejs/vite#21780)) ([3a0d8d9](vitejs/vite@3a0d8d9)) - **deps:** update all non-major dependencies ([#​21691](vitejs/vite#21691)) ([521fdc0](vitejs/vite@521fdc0)) - **optimizer:** avoid duplicate modules when `preserveSymlinks` is enabled ([#​21720](vitejs/vite#21720)) ([72165e0](vitejs/vite@72165e0)) - **dev:** only treat EADDRINUSE as port conflict in wildcard pre-check ([#​21642](vitejs/vite#21642)) ([e54e25f](vitejs/vite@e54e25f)) - **dev:** prevent concurrent server restarts ([#​21636](vitejs/vite#21636)) ([8ce23a3](vitejs/vite@8ce23a3)) - **dev:** return "502 Bad Gateway" on proxy failures instead of 500 ([#​21652](vitejs/vite#21652)) ([e240df2](vitejs/vite@e240df2)) - clear tsconfig cache only when tsconfig.json is cached ([#​21622](vitejs/vite#21622)) ([50c9675](vitejs/vite@50c9675)) - **deps:** update all non-major dependencies ([#​21594](vitejs/vite#21594)) ([becdc5d](vitejs/vite@becdc5d)) - **lib:** CSS injection point error with nested name IIFE output ([#​21606](vitejs/vite#21606)) ([5003de6](vitejs/vite@5003de6)) - **module-runner:** incorrect column with `sourcemapInterceptor: "prepareStackTrace"` ([#​21562](vitejs/vite#21562)) ([416c095](vitejs/vite@416c095)) - **module-runner:** prevent crash on negative column in stacktrace ([#​21585](vitejs/vite#21585)) ([a075590](vitejs/vite@a075590)) - rolldownOptions/rollupOptions merging at environment level ([#​21612](vitejs/vite#21612)) ([db2ecc7](vitejs/vite@db2ecc7)) - **scanner:** respect tsconfig.json ([#​21547](vitejs/vite#21547)) ([c6c04db](vitejs/vite@c6c04db)) - avoid registering customization hook for import meta resolver multiple times ([#​21518](vitejs/vite#21518)) ([8bb3203](vitejs/vite@8bb3203)) - **config:** avoid watching rolldown runtime virtual module ([#​21545](vitejs/vite#21545)) ([d18b139](vitejs/vite@d18b139)) - **deps:** update all non-major dependencies ([#​21540](vitejs/vite#21540)) ([9ebaeaa](vitejs/vite@9ebaeaa)) - populate originalFileNames when resolving CSS asset paths ([#​21542](vitejs/vite#21542)) ([8b47ff7](vitejs/vite@8b47ff7)) - **deps:** update all non-major dependencies ([#​21488](vitejs/vite#21488)) ([2b32ca2](vitejs/vite@2b32ca2)) - disable `tsconfig` option when loading config ([#​21517](vitejs/vite#21517)) ([5025c35](vitejs/vite@5025c35)) - **optimizer:** map relative `new URL` paths to correct relative file location ([#​21434](vitejs/vite#21434)) ([ca96cbc](vitejs/vite@ca96cbc)) - avoid using deprecated `output.inlineDynamicImport` option ([#​21464](vitejs/vite#21464)) ([471ce62](vitejs/vite@471ce62)) - use separate hook object for each environment ([#​21472](vitejs/vite#21472)) ([66347f6](vitejs/vite@66347f6)) - **deps:** update all non-major dependencies ([#​21440](vitejs/vite#21440)) ([1835995](vitejs/vite@1835995)) - **dev:** avoid event emitter leak caused by `server.listen` callback ([#​21451](vitejs/vite#21451)) ([602d786](vitejs/vite@602d786)) - lazy hook filter should work ([#​21443](vitejs/vite#21443)) ([bc0c207](vitejs/vite@bc0c207)) - **optimizer:** skip `rolldownCjsExternalPlugin` for `platform: neutral` ([#​21452](vitejs/vite#21452)) ([d2fc4be](vitejs/vite@d2fc4be)) - **deps:** update all non-major dependencies ([#​21389](vitejs/vite#21389)) ([30f48df](vitejs/vite@30f48df)) - **deps:** update esbuild peerDependency version ([#​21398](vitejs/vite#21398)) ([4266c97](vitejs/vite@4266c97)) - **hmr:** trigger prune event when last import is removed ([#​20781](vitejs/vite#20781)) ([#​21093](vitejs/vite#21093)) ([7576735](vitejs/vite@7576735)) - **module-runner:** use `process.getBuiltinModule` instead of `import('node:module')` ([#​21402](vitejs/vite#21402)) ([6633bcb](vitejs/vite@6633bcb)) - support .env file mounts (FIFOs) ([#​21365](vitejs/vite#21365)) ([6e6f82a](vitejs/vite@6e6f82a)) - **css:** stylus Evaluator support ([#​21376](vitejs/vite#21376)) ([cf9ace1](vitejs/vite@cf9ace1)) - **deps:** update all non-major dependencies ([#​21321](vitejs/vite#21321)) ([9bc7c2e](vitejs/vite@9bc7c2e)) - **import-analysis:** avoid cjs interop for built browser external module ([#​21333](vitejs/vite#21333)) ([dc5a2fb](vitejs/vite@dc5a2fb)) - **worker:** handle `new Worker(..., new URL(import.meta.url))` with trailing comma ([#​21325](vitejs/vite#21325)) ([4a47241](vitejs/vite@4a47241)) - detect `import.meta.resolve` when formatted across multiple lines ([#​21312](vitejs/vite#21312)) ([130e718](vitejs/vite@130e718)) - allow no-cors requests for non-script tag requests ([#​21299](vitejs/vite#21299)) ([ef3d596](vitejs/vite@ef3d596)) - **deps:** update all non-major dependencies ([#​21285](vitejs/vite#21285)) ([4635b2e](vitejs/vite@4635b2e)) - unreachable error when building with `experimental.bundledDev` is enabled ([#​21296](vitejs/vite#21296)) ([e81c183](vitejs/vite@e81c183)) - **deps:** update all non-major dependencies ([#​21231](vitejs/vite#21231)) ([859789c](vitejs/vite@859789c)) - don't strip base from imports ([#​21221](vitejs/vite#21221)) ([7da742b](vitejs/vite@7da742b)) - allow exiting process before optimizer cleanup is done ([#​21170](vitejs/vite#21170)) ([55ceffc](vitejs/vite@55ceffc)) - plugin shortcut support ([#​21211](vitejs/vite#21211)) ([6a3aca0](vitejs/vite@6a3aca0)) ##### Performance Improvements - **ssr:** skip circular import check for already-evaluated modules ([#​21632](vitejs/vite#21632)) ([235140b](vitejs/vite@235140b)) - use tsconfig cache for oxc transform in dev ([#​21643](vitejs/vite#21643)) ([57ff177](vitejs/vite@57ff177)) ##### Documentation - bulk of typo fixes ([#​21507](vitejs/vite#21507)) ([80755da](vitejs/vite@80755da)) - update `build.dynamicImportVarsOptions` ([#​21477](vitejs/vite#21477)) ([54ce2ed](vitejs/vite@54ce2ed)) - clarify the pronunciation of `vite` in IPA symbols ([#​21238](vitejs/vite#21238)) ([9b1d4d6](vitejs/vite@9b1d4d6)) - ensure https links ([#​21266](vitejs/vite#21266)) ([2eb259a](vitejs/vite@2eb259a)) ##### Miscellaneous Chores - **deps-dev:** bump rollup from 4.57.1 to 4.59.0 ([#​21717](vitejs/vite#21717)) ([25227bb](vitejs/vite@25227bb)) - **deps:** update dependency cac to v7 ([#​21788](vitejs/vite#21788)) ([44e33ae](vitejs/vite@44e33ae)) - **deps:** update dependency rolldown-plugin-dts to ^0.22.2 ([#​21731](vitejs/vite#21731)) ([d8ea652](vitejs/vite@d8ea652)) - **deps:** remove `fdir` and `@rollup/plugin-commonjs` ([#​21639](vitejs/vite#21639)) ([5abffd5](vitejs/vite@5abffd5)) - **deps:** update dependency [@​rollup/plugin-alias](https://github.com/rollup/plugin-alias) to v6 ([#​21097](vitejs/vite#21097)) ([44b5bdf](vitejs/vite@44b5bdf)) - fix broken link for future deprecations ([#​21603](vitejs/vite#21603)) ([25f4501](vitejs/vite@25f4501)) - update `customResolver` deprecation message to mention `enforce: 'pre'` ([#​21576](vitejs/vite#21576)) ([2ce34d5](vitejs/vite@2ce34d5)) - update rolldown-plugin-dts to 0.22.1 ([#​21559](vitejs/vite#21559)) ([77aab4b](vitejs/vite@77aab4b)) - **deps:** update dependency rolldown-plugin-dts to ^0.21.8 ([#​21539](vitejs/vite#21539)) ([33881cb](vitejs/vite@33881cb)) - add missing versions to changelog ([#​21515](vitejs/vite#21515)) ([4bfb239](vitejs/vite@4bfb239)) - **deps:** update rolldown-related dependencies ([#​21487](vitejs/vite#21487)) ([5863e51](vitejs/vite@5863e51)) - **deps:** update rolldown-related dependencies ([#​21390](vitejs/vite#21390)) ([be9dd4e](vitejs/vite@be9dd4e)) - fix typo in plugin.ts comment ([#​21435](vitejs/vite#21435)) ([d31fc66](vitejs/vite@d31fc66)) - replace caniuse link for ES2024 ([#​21355](vitejs/vite#21355)) ([2ba4e99](vitejs/vite@2ba4e99)) - cleanup changelog ([#​21202](vitejs/vite#21202)) ([8c8c56e](vitejs/vite@8c8c56e)) - **deps:** update rolldown-related dependencies ([#​21230](vitejs/vite#21230)) ([9349446](vitejs/vite@9349446)) - fix spelling error ([#​21223](vitejs/vite#21223)) ([cc10e20](vitejs/vite@cc10e20)) ##### Code Refactoring - don't add `optimization.inlineConst: { mode: 'smart' }` as it's enabled by default ([#​21794](vitejs/vite#21794)) ([22b3d11](vitejs/vite@22b3d11)) - enable some native plugins even with enable native plugin false ([#​21744](vitejs/vite#21744)) ([fc46c79](vitejs/vite@fc46c79)) - avoid deprecated `legalComments` option ([#​21721](vitejs/vite#21721)) ([e06496e](vitejs/vite@e06496e)) - use `ESTree` types from `rolldown/utils` ([#​21719](vitejs/vite#21719)) ([9239750](vitejs/vite@9239750)) - deprecate `customResolver` in `resolve.alias` ([#​21476](vitejs/vite#21476)) ([81275c9](vitejs/vite@81275c9)) - remove unnecessary `@rolldown/pluginutils` ([#​21560](vitejs/vite#21560)) ([c367b62](vitejs/vite@c367b62)) - enable some native plugins even with enable native plugin false ([#​21608](vitejs/vite#21608)) ([5a4f692](vitejs/vite@5a4f692)) - use `rolldown/utils` ([#​21577](vitejs/vite#21577)) ([e56103f](vitejs/vite@e56103f)) - use internal devtools config ([#​21609](vitejs/vite#21609)) ([9aea20f](vitejs/vite@9aea20f)) - use parseEnv ([#​21586](vitejs/vite#21586)) ([f859d2c](vitejs/vite@f859d2c)) - **wasm:** remove native wasm helper plugin usage ([#​21566](vitejs/vite#21566)) ([71a86be](vitejs/vite@71a86be)) - enable some native plugins even with enable native plugin false ([#​21511](vitejs/vite#21511)) ([b40292c](vitejs/vite@b40292c)) - remove `experimental.enableNativePlugin: 'resolver'` ([#​21510](vitejs/vite#21510)) ([f9d9213](vitejs/vite@f9d9213)) - use `import.meta.dirname` everywhere ([#​21509](vitejs/vite#21509)) ([7becf5f](vitejs/vite@7becf5f)) - **optimizer:** simplify `rolldownCjsExternalPlugin` ([#​21450](vitejs/vite#21450)) ([ebda8fd](vitejs/vite@ebda8fd)) - remove `import.meta.hot.accept` resolution fallback ([#​21382](vitejs/vite#21382)) ([71d0797](vitejs/vite@71d0797)) - **optimizer:** remove dead code ([#​21334](vitejs/vite#21334)) ([e9a2cdb](vitejs/vite@e9a2cdb)) ##### Tests - **ssr:** incorrect `handleInvoke` was called in server-worker-runner.invoke test ([#​21751](vitejs/vite#21751)) ([b95ca22](vitejs/vite@b95ca22)) - add more type tests for `defineConfig` ([#​21698](vitejs/vite#21698)) ([4fedbbd](vitejs/vite@4fedbbd)) - test case for catching invalid package resolution error ([#​21601](vitejs/vite#21601)) ([c9b9359](vitejs/vite@c9b9359)) - **bundled-dev:** add worker test cases ([#​21557](vitejs/vite#21557)) ([569bc98](vitejs/vite@569bc98)) ##### Beta Changelogs ##### [8.0.0-beta.18](vitejs/vite@v8.0.0-beta.17...v8.0.0-beta.18) (2026-03-09) See [8.0.0-beta.18 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.18/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.17](vitejs/vite@v8.0.0-beta.16...v8.0.0-beta.17) (2026-03-09) See [8.0.0-beta.17 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.17/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.16](vitejs/vite@v8.0.0-beta.15...v8.0.0-beta.16) (2026-02-27) See [8.0.0-beta.16 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.16/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.15](vitejs/vite@v8.0.0-beta.14...v8.0.0-beta.15) (2026-02-19) See [8.0.0-beta.15 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.15/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.14](vitejs/vite@v8.0.0-beta.13...v8.0.0-beta.14) (2026-02-12) See [8.0.0-beta.14 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.14/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.13](vitejs/vite@v8.0.0-beta.12...v8.0.0-beta.13) (2026-02-05) See [8.0.0-beta.13 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.13/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.12](vitejs/vite@v8.0.0-beta.11...v8.0.0-beta.12) (2026-02-03) See [8.0.0-beta.12 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.12/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.11](vitejs/vite@v8.0.0-beta.10...v8.0.0-beta.11) (2026-01-29) See [8.0.0-beta.11 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.11/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.10](vitejs/vite@v8.0.0-beta.9...v8.0.0-beta.10) (2026-01-24) See [8.0.0-beta.10 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.10/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.9](vitejs/vite@v8.0.0-beta.8...v8.0.0-beta.9) (2026-01-22) See [8.0.0-beta.9 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.9/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.8](vitejs/vite@v8.0.0-beta.7...v8.0.0-beta.8) (2026-01-15) See [8.0.0-beta.8 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.8/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.7](vitejs/vite@v8.0.0-beta.6...v8.0.0-beta.7) (2026-01-08) See [8.0.0-beta.7 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.7/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.6](vitejs/vite@v8.0.0-beta.5...v8.0.0-beta.6) (2026-01-07) See [8.0.0-beta.6 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.6/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.5](vitejs/vite@v8.0.0-beta.4...v8.0.0-beta.5) (2025-12-25) See [8.0.0-beta.5 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.5/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.4](vitejs/vite@v8.0.0-beta.3...v8.0.0-beta.4) (2025-12-22) See [8.0.0-beta.4 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.4/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.3](vitejs/vite@v8.0.0-beta.2...v8.0.0-beta.3) (2025-12-18) See [8.0.0-beta.3 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.3/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.2](vitejs/vite@v8.0.0-beta.1...v8.0.0-beta.2) (2025-12-12) See [8.0.0-beta.2 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.2/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.1](vitejs/vite@v8.0.0-beta.0...v8.0.0-beta.1) (2025-12-08) See [8.0.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.1/packages/vite/CHANGELOG.md) ##### [8.0.0-beta.0](vitejs/vite@v7.2.4...v8.0.0-beta.0) (2025-12-03) See [8.0.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.0/packages/vite/CHANGELOG.md) ##### Rolldown-Vite changelogs See [rolldown-vite changelog](https://github.com/vitejs/rolldown-vite/blob/v7.2.10/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 [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni41IiwidXBkYXRlZEluVmVyIjoiNDMuNzYuMiIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==--> Reviewed-on: https://git.valverde.cloud/Thilawyn/effect-fc/pulls/37 Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud> Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
eleboucher
pushed a commit
to eleboucher/memini
that referenced
this pull request
Jun 15, 2026
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^7.0.0` → `^8.0.0`](https://renovatebot.com/diffs/npm/vite/7.3.5/8.0.16) |  |  |
---
> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/3) for more information.
---
### Release Notes
<details>
<summary>vitejs/vite (vite)</summary>
### [`v8.0.16`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8016-2026-06-01-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.15...v8.0.16)
##### Bug Fixes
- **deps:** reject UNC paths for launch-editor-middleware ([#​22571](https://github.com/vitejs/vite/issues/22571)) ([50b9512](https://github.com/vitejs/vite/commit/50b951225bbf6151eb84a3ad5a454908ab4a76c9))
- reject windows alternate paths ([#​22572](https://github.com/vitejs/vite/issues/22572)) ([dc245c7](https://github.com/vitejs/vite/commit/dc245c71e5007ea4d891a025e2d69ac96c736546))
### [`v8.0.15`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8015-2026-06-01-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.14...v8.0.15)
##### Features
- send 408 on request timeout ([#​22476](https://github.com/vitejs/vite/issues/22476)) ([c85c9ee](https://github.com/vitejs/vite/commit/c85c9eeb9aaf41f477b48b057146887bd5620797))
- update rolldown to 1.0.3 ([#​22538](https://github.com/vitejs/vite/issues/22538)) ([646dbed](https://github.com/vitejs/vite/commit/646dbedd2870f8ec48df0321177d8aa64bbd1575))
##### Bug Fixes
- capitalize error messages and remove spurious space in parse error ([#​22488](https://github.com/vitejs/vite/issues/22488)) ([85a0eff](https://github.com/vitejs/vite/commit/85a0eff1c82bbb7c99a0fe8e63704316578a40d3))
- **deps:** update all non-major dependencies ([#​22511](https://github.com/vitejs/vite/issues/22511)) ([2686d7d](https://github.com/vitejs/vite/commit/2686d7d0b722402204d3bcc687a87adea1bcf9fa))
- **dev:** fix html-proxy cache key mismatch for /@​fs/ HTML paths ([#​21762](https://github.com/vitejs/vite/issues/21762)) ([47c4213](https://github.com/vitejs/vite/commit/47c4213f134f562c41ed7c031e4788510cf7e31e))
- **glob:** error on relative glob in virtual module when no files match ([#​22497](https://github.com/vitejs/vite/issues/22497)) ([5c8e98f](https://github.com/vitejs/vite/commit/5c8e98f8b584ac5d42f0f9b8580c49792213b13c))
- **optimizer:** close the rolldown bundle when write() rejects ([#​22528](https://github.com/vitejs/vite/issues/22528)) ([e3cfb9d](https://github.com/vitejs/vite/commit/e3cfb9deecff563550fa1b8abd27656b8b292815))
- **resolve:** provide onWarn for viteResolvePlugin in JS plugin containers ([#​22509](https://github.com/vitejs/vite/issues/22509)) ([40985f1](https://github.com/vitejs/vite/commit/40985f1c09b7696e594e6c5695fbc315d2da2c83))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​22566](https://github.com/vitejs/vite/issues/22566)) ([3052a67](https://github.com/vitejs/vite/commit/3052a67d9350f4c5076ab1c222c4a21a589cbcdd))
##### Code Refactoring
- correct logic in `collectAllModules` function ([#​22562](https://github.com/vitejs/vite/issues/22562)) ([6978a9c](https://github.com/vitejs/vite/commit/6978a9ceb942c4f5e211d52b8a1e569f8a65c80c))
### [`v8.0.14`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8014-2026-05-21-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14)
##### Features
- update rolldown to 1.0.2 ([#​22484](https://github.com/vitejs/vite/issues/22484)) ([96efc88](https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​22471](https://github.com/vitejs/vite/issues/22471)) ([98b8163](https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3))
- **dev:** handle errors when sending messages to vite server ([#​22450](https://github.com/vitejs/vite/issues/22450)) ([e8e9a34](https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217))
- **html:** handle trailing slash paths in transformIndexHtml ([#​22480](https://github.com/vitejs/vite/issues/22480)) ([5d94d1b](https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693))
- **optimizer:** pass oxc jsx options to transformSync in dependency scan ([#​22342](https://github.com/vitejs/vite/issues/22342)) ([b3132da](https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​22470](https://github.com/vitejs/vite/issues/22470)) ([7cb728e](https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f))
- remove irrelevant commits from changelog ([2c69495](https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086))
##### Code Refactoring
- **glob:** do not rewrite import path for absolute base ([#​22310](https://github.com/vitejs/vite/issues/22310)) ([0ae2844](https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302))
##### Tests
- **css:** sass does not use main field ([#​22449](https://github.com/vitejs/vite/issues/22449)) ([ebf39a0](https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270))
### [`v8.0.13`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8013-2026-05-14-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.12...v8.0.13)
##### Features
- **bundled-dev:** add lazy bundling support ([#​21406](https://github.com/vitejs/vite/issues/21406)) ([4f0949f](https://github.com/vitejs/vite/commit/4f0949f3f13e4b2b34d32bf7b2b4de5f26bea192))
- **optimizer:** improve the esbuild plugin converter to pass some properties of build result to `onEnd` ([#​22357](https://github.com/vitejs/vite/issues/22357)) ([47071ce](https://github.com/vitejs/vite/commit/47071ce53f21726cf39e999c4407c4828ecbe957))
- update rolldown to 1.0.1 ([#​22444](https://github.com/vitejs/vite/issues/22444)) ([8c766a6](https://github.com/vitejs/vite/commit/8c766a6c5ee014969c4e32f29cc265e8e2c96e18))
##### Bug Fixes
- **build:** copy public directory after building same environment with `write=false` ([#​22328](https://github.com/vitejs/vite/issues/22328)) ([158e8ae](https://github.com/vitejs/vite/commit/158e8ae8efdf7075ab295727e36b5ff68da3243e))
- **css:** await sass/less/styl worker disposal on teardown (fix [#​22274](https://github.com/vitejs/vite/issues/22274)) ([#​22275](https://github.com/vitejs/vite/issues/22275)) ([b7edcb7](https://github.com/vitejs/vite/commit/b7edcb7d0dd17ddfeef4ace78d610c099216dade))
- **css:** keep deprecated `name`/`originalFileName` in synthetic `assetFileNames` call ([#​22439](https://github.com/vitejs/vite/issues/22439)) ([8e59c97](https://github.com/vitejs/vite/commit/8e59c97a44d923c4c06f67287a793c9aa5a4ebaa))
- make `isBundled` per environment ([#​22257](https://github.com/vitejs/vite/issues/22257)) ([a576326](https://github.com/vitejs/vite/commit/a5763266170f8606836da5c6f987b4b2fd6ddc55))
- **ssr:** avoid rewriting labels that collide with imports ([#​22451](https://github.com/vitejs/vite/issues/22451)) ([d9b18e0](https://github.com/vitejs/vite/commit/d9b18e0387a253628d3d834288e79c5f7e85d566))
##### Miscellaneous Chores
- remove irrelevant commits from changelog ([#​22430](https://github.com/vitejs/vite/issues/22430)) ([6ea3838](https://github.com/vitejs/vite/commit/6ea383859aaf0ef8e673b458f164e84aeb6ff51d))
- update changelog ([#​22413](https://github.com/vitejs/vite/issues/22413)) ([fcdc87c](https://github.com/vitejs/vite/commit/fcdc87cc6799857e2bab0f44f333a681694fff74))
### [`v8.0.12`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8012-2026-05-11-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.11...v8.0.12)
##### Features
- update rolldown to 1.0.0 ([#​22401](https://github.com/vitejs/vite/issues/22401)) ([cf0ff41](https://github.com/vitejs/vite/commit/cf0ff4154b26cffbf18541ade1a50818842731d3))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​22420](https://github.com/vitejs/vite/issues/22420)) ([2be6000](https://github.com/vitejs/vite/commit/2be6000130e3ae2160acc301baa4f7913fbc1f6e))
- **module-runner:** prevent partial-exports race on concurrent imports of in-flight invalidated re-export chains ([#​22369](https://github.com/vitejs/vite/issues/22369)) ([f5a22e6](https://github.com/vitejs/vite/commit/f5a22e62ada75286138b7ceb3825e43958ef00e1))
- refer to `rolldownOptions` instead of deprecated `rollupOptions` in messages ([#​22400](https://github.com/vitejs/vite/issues/22400)) ([b675c7b](https://github.com/vitejs/vite/commit/b675c7b6697423275ad9dd521d3ce7c8679761a0))
- **worker:** apply `build.target` to worker bundle ([#​22404](https://github.com/vitejs/vite/issues/22404)) ([3c93fde](https://github.com/vitejs/vite/commit/3c93fde21f07d44db7669ca7484f4e7a8767afe5))
- **worker:** forward define to worker bundle transform ([#​22408](https://github.com/vitejs/vite/issues/22408)) ([d4838a0](https://github.com/vitejs/vite/commit/d4838a0358d9f04a980d4d2ac7263f21a6b28ee2))
##### Miscellaneous Chores
- **deps:** update dependency eslint-plugin-n to v18 ([#​22423](https://github.com/vitejs/vite/issues/22423)) ([2fe7bd2](https://github.com/vitejs/vite/commit/2fe7bd2d73beb697a3d149e943ac74b768c9d27f))
- **deps:** update rolldown-related dependencies ([#​22421](https://github.com/vitejs/vite/issues/22421)) ([66b9eb3](https://github.com/vitejs/vite/commit/66b9eb35188007e0e9a1bd03b4be820016cad60b))
### [`v8.0.11`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8011-2026-05-07-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.10...v8.0.11)
##### Features
- update rolldown to 1.0.0-rc.18 ([#​22360](https://github.com/vitejs/vite/issues/22360)) ([3f80524](https://github.com/vitejs/vite/commit/3f80524aa1fa40bfa831f1a1bf2641c3979ba396))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​22334](https://github.com/vitejs/vite/issues/22334)) ([672c962](https://github.com/vitejs/vite/commit/672c96288fd5440bbecddc65551e713edeb8d403))
- **deps:** update all non-major dependencies ([#​22382](https://github.com/vitejs/vite/issues/22382)) ([5c0cfcb](https://github.com/vitejs/vite/commit/5c0cfcb83dde2c6e25b6c3215dd622956bf29631))
- **glob:** align hmr matcher options with glob enumeration ([#​22306](https://github.com/vitejs/vite/issues/22306)) ([30028f9](https://github.com/vitejs/vite/commit/30028f94516fa06dd0212567373169b3b3f6e393))
- make separate object instance for each environment ([#​22276](https://github.com/vitejs/vite/issues/22276)) ([7c2aa3b](https://github.com/vitejs/vite/commit/7c2aa3b40ba00ce1299e4f31932c7929f179a80a))
##### Documentation
- **create-vite:** list react-compiler templates in README ([#​22347](https://github.com/vitejs/vite/issues/22347)) ([7c3a61f](https://github.com/vitejs/vite/commit/7c3a61f42da6445904e93f0e29e9a2a838fa684a))
- explain mergeConfig skips null/undefined ([#​22325](https://github.com/vitejs/vite/issues/22325)) ([2151f70](https://github.com/vitejs/vite/commit/2151f701dc98270c905c540b209fb6d23d53d3ad))
- mention native config loader in CLI options ([#​22348](https://github.com/vitejs/vite/issues/22348)) ([0420c5d](https://github.com/vitejs/vite/commit/0420c5d37b6049476b6e6c16662be372575dd683))
- update evan's x handle ([640202a](https://github.com/vitejs/vite/commit/640202a2167b0c19b94e4d3b8ff87309ae1f44d0))
##### Miscellaneous Chores
- **deps:** update dependency tsdown to ^0.21.10 ([#​22333](https://github.com/vitejs/vite/issues/22333)) ([3b51e05](https://github.com/vitejs/vite/commit/3b51e050214c5a817c163838ab8643fe34c7d0c3))
- **deps:** update rolldown-related dependencies ([#​22383](https://github.com/vitejs/vite/issues/22383)) ([555ff36](https://github.com/vitejs/vite/commit/555ff36de70a43b3b3dc22f958bf78fe75e11d67))
- **deps:** update transitive packages to fix npm audit alerts ([#​22316](https://github.com/vitejs/vite/issues/22316)) ([86aee62](https://github.com/vitejs/vite/commit/86aee6268aa879d74f68a890392c1dee973ebf05))
##### Code Refactoring
- devtools integration ([#​22312](https://github.com/vitejs/vite/issues/22312)) ([3c8bf06](https://github.com/vitejs/vite/commit/3c8bf064ec76e311f2d8be3a37dcfdcdd4e4253c))
- remove unnecessary async ([#​22296](https://github.com/vitejs/vite/issues/22296)) ([b31fd35](https://github.com/vitejs/vite/commit/b31fd355d93eb166573362bd09c07745b9f76755))
- show direct path type in bad character warning ([#​22339](https://github.com/vitejs/vite/issues/22339)) ([0c162e9](https://github.com/vitejs/vite/commit/0c162e96a6545c93808e7338b9adeca2636596fa))
##### Tests
- **create-vite:** use short help alias ([#​22389](https://github.com/vitejs/vite/issues/22389)) ([994ab66](https://github.com/vitejs/vite/commit/994ab66bc4dc872278d8353d710ffc4bbd881f8d))
### [`v8.0.10`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8010-2026-04-23-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.9...v8.0.10)
##### Features
- update rolldown to 1.0.0-rc.17 ([#​22299](https://github.com/vitejs/vite/issues/22299)) ([a4d06d9](https://github.com/vitejs/vite/commit/a4d06d9015167d30fe8ac63d1ce2edc146cdca31))
##### Bug Fixes
- `hmrClient.logger.debug` and `hmrClient.logger.error` looked different from other HMR logs ([#​22147](https://github.com/vitejs/vite/issues/22147)) ([a4d828f](https://github.com/vitejs/vite/commit/a4d828f2d5ed85440bc0774eab342e6f9a5e5f62))
- **css:** show filename in CSS minification warnings for `.css?inline` ([#​22292](https://github.com/vitejs/vite/issues/22292)) ([83f0a78](https://github.com/vitejs/vite/commit/83f0a785a2ae48d6761fb69f4b0523a24ae9342c))
- **optimizer:** allow user transform.target to override default in optimizeDeps ([#​22273](https://github.com/vitejs/vite/issues/22273)) ([5c7cec6](https://github.com/vitejs/vite/commit/5c7cec69b637544ab16009d8758df7dbbf7f2674))
- remove format sniffing module resolution from JS resolver ([#​22297](https://github.com/vitejs/vite/issues/22297)) ([b8a21cc](https://github.com/vitejs/vite/commit/b8a21cc821c1434ac9d2b85ec53005df9edc306b))
##### Code Refactoring
- enable some typecheck rules ([#​22278](https://github.com/vitejs/vite/issues/22278)) ([9437518](https://github.com/vitejs/vite/commit/943751801f70057ae94f9092e349c8f3fd9ccdf2))
- typecheck client directory ([#​22284](https://github.com/vitejs/vite/issues/22284)) ([40a0847](https://github.com/vitejs/vite/commit/40a0847276502b33a3942b3cfab04b20218f3543))
### [`v8.0.9`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-809-2026-04-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.8...v8.0.9)
##### Features
- update rolldown to 1.0.0-rc.16 ([#​22248](https://github.com/vitejs/vite/issues/22248)) ([2947edd](https://github.com/vitejs/vite/commit/2947edd57ceb64a0b4dc43269743e8e44e68c09b))
##### Bug Fixes
- allow binding when strictPort is set but wildcard port is in use ([#​22150](https://github.com/vitejs/vite/issues/22150)) ([dfc8aa5](https://github.com/vitejs/vite/commit/dfc8aa5057dd8ec2b1223980d1e2eeb946ac3384))
- **build:** emptyOutDir should happen for watch rebuilds ([#​22207](https://github.com/vitejs/vite/issues/22207)) ([ee52267](https://github.com/vitejs/vite/commit/ee522672bb374c7ff95a347f14732491121b1cd6))
- **bundled-dev:** reject requests to HMR patch files in non potentially trustworthy origins ([#​22269](https://github.com/vitejs/vite/issues/22269)) ([868f141](https://github.com/vitejs/vite/commit/868f1411a6f474baa4417f2d6524692dd452f760))
- **css:** use unique key for cssEntriesMap to prevent same-basename collision ([#​22039](https://github.com/vitejs/vite/issues/22039)) ([374bb5d](https://github.com/vitejs/vite/commit/374bb5d597fcd0485e929565c698d8ed219136f8))
- **deps:** update all non-major dependencies ([#​22219](https://github.com/vitejs/vite/issues/22219)) ([4cd0d67](https://github.com/vitejs/vite/commit/4cd0d6760edd5fb0841abe86538de3c225e880a1))
- **deps:** update all non-major dependencies ([#​22268](https://github.com/vitejs/vite/issues/22268)) ([c28e9c1](https://github.com/vitejs/vite/commit/c28e9c12a849f80e6fdc93f42283ad2863ab9dbc))
- detect Deno workspace root (fix [#​22237](https://github.com/vitejs/vite/issues/22237)) ([#​22238](https://github.com/vitejs/vite/issues/22238)) ([1b793c0](https://github.com/vitejs/vite/commit/1b793c0e1726467fffd06ffad9bc81c61a840188))
- **dev:** handle errors in `watchChange` hook ([#​22188](https://github.com/vitejs/vite/issues/22188)) ([fc08bda](https://github.com/vitejs/vite/commit/fc08bdab9bba871b03689f2f6997c3a4ba4351da))
- **optimizer:** handle more chars that will be sanitized ([#​22208](https://github.com/vitejs/vite/issues/22208)) ([3f24533](https://github.com/vitejs/vite/commit/3f24533ac4845ed22547279d1721bd82a35345e3))
- skip fallback sourcemap generation for `?raw` imports ([#​22148](https://github.com/vitejs/vite/issues/22148)) ([3ec9cda](https://github.com/vitejs/vite/commit/3ec9cdaac7936ca32d0956c4cb1eb6e172945996))
##### Documentation
- align the descriptions in READMEs ([#​22231](https://github.com/vitejs/vite/issues/22231)) ([44c42b9](https://github.com/vitejs/vite/commit/44c42b97639bb6ad777e66d752b2829cccb9a27a))
- fix reuses wording in dev environment comment ([#​22173](https://github.com/vitejs/vite/issues/22173)) ([9163412](https://github.com/vitejs/vite/commit/9163412fdfec7fb1656529713326a5b5c5e986ea))
- fix wording in sass error comment ([#​22214](https://github.com/vitejs/vite/issues/22214)) ([bc5c6a7](https://github.com/vitejs/vite/commit/bc5c6a7a498845dff20dc410c395355b79a4b753))
- update build CLI defaults ([#​22261](https://github.com/vitejs/vite/issues/22261)) ([605bb97](https://github.com/vitejs/vite/commit/605bb97994678a1bb70a8de9a85c29d5f5d48c5a))
##### Miscellaneous Chores
- **deps:** update dependency dotenv-expand to v13 ([#​22271](https://github.com/vitejs/vite/issues/22271)) ([0a3887d](https://github.com/vitejs/vite/commit/0a3887da18812cacb254c616e4dd35631e776fda))
### [`v8.0.8`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-808-2026-04-09-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.7...v8.0.8)
##### Features
- update rolldown to 1.0.0-rc.15 ([#​22201](https://github.com/vitejs/vite/issues/22201)) ([6baf587](https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab))
##### Bug Fixes
- avoid `dns.getDefaultResultOrder` temporary ([#​22202](https://github.com/vitejs/vite/issues/22202)) ([15f1c15](https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53))
- **ssr:** class property keys hoisting matching imports ([#​22199](https://github.com/vitejs/vite/issues/22199)) ([e137601](https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3))
### [`v8.0.7`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-807-2026-04-07-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.6...v8.0.7)
##### Bug Fixes
- use sync dns.getDefaultResultOrder instead of dns.promises ([#​22185](https://github.com/vitejs/vite/issues/22185)) ([5c05b04](https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5))
### [`v8.0.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-806-2026-04-07-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.5...v8.0.6)
##### Features
- update rolldown to 1.0.0-rc.13 ([#​22097](https://github.com/vitejs/vite/issues/22097)) ([51d3e48](https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0))
##### Bug Fixes
- **css:** avoid mutating sass error multiple times ([#​22115](https://github.com/vitejs/vite/issues/22115)) ([d5081c2](https://github.com/vitejs/vite/commit/d5081c2f3e73f3fc06956d8cf5f2cf06463c2325))
- **optimize-deps:** hoist CJS interop assignment ([#​22156](https://github.com/vitejs/vite/issues/22156)) ([17a8f9e](https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97))
##### Performance Improvements
- early return in `getLocalhostAddressIfDiffersFromDNS` when DNS order is `verbatim` ([#​22151](https://github.com/vitejs/vite/issues/22151)) ([56ec256](https://github.com/vitejs/vite/commit/56ec25613dba6cc71911f7af6e545ebcb77ec012))
##### Miscellaneous Chores
- **create-vite:** remove unnecessary DOM.Iterable ([#​22168](https://github.com/vitejs/vite/issues/22168)) ([bdc53ab](https://github.com/vitejs/vite/commit/bdc53ab1e67f7e2e000112eeed9c85413ddb0e9e))
- replace remaining prettier script ([#​22179](https://github.com/vitejs/vite/issues/22179)) ([af71fb2](https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b))
### [`v8.0.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-805-2026-04-06-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.4...v8.0.5)
##### Bug Fixes
- apply server.fs check to env transport ([#​22159](https://github.com/vitejs/vite/issues/22159)) ([f02d9fd](https://github.com/vitejs/vite/commit/f02d9fde0b195afe3ea2944414186962fbbe41e0))
- avoid path traversal with optimize deps sourcemap handler ([#​22161](https://github.com/vitejs/vite/issues/22161)) ([79f002f](https://github.com/vitejs/vite/commit/79f002f2286c03c88c7b74c511c7f9fc6dc46694))
- check `server.fs` after stripping query as well ([#​22160](https://github.com/vitejs/vite/issues/22160)) ([a9a3df2](https://github.com/vitejs/vite/commit/a9a3df299378d9cbc5f069e3536a369f8188c8ff))
- disallow referencing files outside the package from sourcemap ([#​22158](https://github.com/vitejs/vite/issues/22158)) ([f05f501](https://github.com/vitejs/vite/commit/f05f50173461789e0f1323fe06b51f18ca41c132))
### [`v8.0.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-804-2026-04-06-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.3...v8.0.4)
##### Features
- allow esbuild 0.28 as peer deps ([#​22155](https://github.com/vitejs/vite/issues/22155)) ([b0da973](https://github.com/vitejs/vite/commit/b0da97372f5dba73e78035d1cc7680466ff6cf7f))
- **hmr:** truncate list of files on hmr update ([#​21535](https://github.com/vitejs/vite/issues/21535)) ([d00e806](https://github.com/vitejs/vite/commit/d00e806d7be15ebbfe7875e9244963d80ee8b142))
- **optimizer:** log when dependency scanning or bundling takes over 1s ([#​21797](https://github.com/vitejs/vite/issues/21797)) ([f61a1ab](https://github.com/vitejs/vite/commit/f61a1ab33b05dc6f6a7eda6e8bc9c4c5b9aab133))
##### Bug Fixes
- `hasBothRollupOptionsAndRolldownOptions` should return `false` for proxy case ([#​22043](https://github.com/vitejs/vite/issues/22043)) ([99897d2](https://github.com/vitejs/vite/commit/99897d27b44dd73307fa03e2f11f0baa1a1dc939))
- add types for `vite/modulepreload-polyfill` ([#​22126](https://github.com/vitejs/vite/issues/22126)) ([17330d2](https://github.com/vitejs/vite/commit/17330d2b9e132460f194d6d4b547cfee7e25c788))
- **deps:** update all non-major dependencies ([#​22073](https://github.com/vitejs/vite/issues/22073)) ([6daa10f](https://github.com/vitejs/vite/commit/6daa10ff1e8d15a90f49d8dd909ff208da85d6d8))
- **deps:** update all non-major dependencies ([#​22143](https://github.com/vitejs/vite/issues/22143)) ([22b0166](https://github.com/vitejs/vite/commit/22b016612703320db45c64a2fe44472051ef5ec5))
- **resolve:** resolve tsconfig paths starting with `#` ([#​22038](https://github.com/vitejs/vite/issues/22038)) ([3460fc5](https://github.com/vitejs/vite/commit/3460fc55aa89aef4103d2c05ac2e446032511a6d))
- **ssr:** use browser platform for webworker SSR builds (fix [#​21969](https://github.com/vitejs/vite/issues/21969)) ([#​21963](https://github.com/vitejs/vite/issues/21963)) ([364c227](https://github.com/vitejs/vite/commit/364c2273a121dad4d93ec3b9ec87ffbe0d6e860b))
##### Documentation
- add `environment.fetchModule` documentation ([#​22035](https://github.com/vitejs/vite/issues/22035)) ([54229e7](https://github.com/vitejs/vite/commit/54229e78631ebf10d1db767b51ea85f3cf06718a))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​21989](https://github.com/vitejs/vite/issues/21989)) ([0ded627](https://github.com/vitejs/vite/commit/0ded6274579e8bda6b22a7ba93b15d15b4c28b78))
##### Code Refactoring
- upgrade to typescript 6 ([#​22110](https://github.com/vitejs/vite/issues/22110)) ([cc41398](https://github.com/vitejs/vite/commit/cc41398c2cf0bb5061cf0ca5dc3b408ae7e41191))
### [`v8.0.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-803-2026-03-26-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.2...v8.0.3)
##### Features
- update rolldown to 1.0.0-rc.12 ([#​22024](https://github.com/vitejs/vite/issues/22024)) ([84164ef](https://github.com/vitejs/vite/commit/84164ef47b24b1de114f1c29446a9e650825d4ea))
##### Bug Fixes
- **html:** cache unfiltered CSS list to prevent missing styles across entries ([#​22017](https://github.com/vitejs/vite/issues/22017)) ([5464190](https://github.com/vitejs/vite/commit/5464190a3ee8f23db20004e7818186fbcc32b0e5))
- **module-runner:** handle non-ascii characters in base64 sourcemaps ([#​21985](https://github.com/vitejs/vite/issues/21985)) ([77c95bf](https://github.com/vitejs/vite/commit/77c95bff834c43f8be9fe513c10b5393805a7487))
- **module-runner:** skip re-import if the runner is closed ([#​22020](https://github.com/vitejs/vite/issues/22020)) ([ee2c2cd](https://github.com/vitejs/vite/commit/ee2c2cd2c2ce3f53088bd2313fa23e9d52a49b4f))
- **optimizer:** scan is not resolving sub path import if used in a glob import ([#​22018](https://github.com/vitejs/vite/issues/22018)) ([ddfe20d](https://github.com/vitejs/vite/commit/ddfe20d19e95a323fa3c8d2c19a02c4e02f93824))
- **ssr:** ssrTransform incorrectly rewrites `meta` identifier inside `import.meta` when a binding named `meta` exists ([#​22019](https://github.com/vitejs/vite/issues/22019)) ([cff5f0c](https://github.com/vitejs/vite/commit/cff5f0cca5f08c2ce50f233441485e10b6e115e9))
##### Miscellaneous Chores
- **deps:** bump picomatch from 4.0.3 to 4.0.4 ([#​22027](https://github.com/vitejs/vite/issues/22027)) ([7e56003](https://github.com/vitejs/vite/commit/7e56003fec3e1b94a20516a901580198a51da614))
##### Tests
- **html:** add tests for `getCssFilesForChunk` ([#​22016](https://github.com/vitejs/vite/issues/22016)) ([43fbbf9](https://github.com/vitejs/vite/commit/43fbbf9a09dfd17456ae0611d034c366fcb38998))
### [`v8.0.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-802-2026-03-23-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.1...v8.0.2)
##### Features
- update rolldown to 1.0.0-rc.11 ([#​21998](https://github.com/vitejs/vite/issues/21998)) ([ff91c31](https://github.com/vitejs/vite/commit/ff91c319facd602dc5eea81ed7e7d79ae7dadb95))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​21988](https://github.com/vitejs/vite/issues/21988)) ([9b7d150](https://github.com/vitejs/vite/commit/9b7d15002a75474421bc5636238336d88c7fe2f3))
##### Miscellaneous Chores
- **deps:** update dependency [@​vitejs/devtools](https://github.com/vitejs/devtools) to ^0.1.5 ([#​21992](https://github.com/vitejs/vite/issues/21992)) ([b2dd65b](https://github.com/vitejs/vite/commit/b2dd65bf2f113719b72450f2e19696213fd9e255))
### [`v8.0.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8016-2026-06-01-small)
[Compare Source](https://github.com/vitejs/vite/compare/v8.0.0...v8.0.1)
##### Bug Fixes
- **deps:** reject UNC paths for launch-editor-middleware ([#​22571](https://github.com/vitejs/vite/issues/22571)) ([50b9512](https://github.com/vitejs/vite/commit/50b951225bbf6151eb84a3ad5a454908ab4a76c9))
- reject windows alternate paths ([#​22572](https://github.com/vitejs/vite/issues/22572)) ([dc245c7](https://github.com/vitejs/vite/commit/dc245c71e5007ea4d891a025e2d69ac96c736546))
### [`v8.0.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-2026-03-12)
[Compare Source](https://github.com/vitejs/vite/compare/v7.3.5...v8.0.0)

Today, we're thrilled to announce the release of the next Vite major:
- **[Vite 8.0 announcement blog post](https://vite.dev/blog/announcing-vite8.html)**
- [Docs](https://vite.dev/) (translations: [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/), [Deutsch](https://de.vite.dev/), [فارسی](https://fa.vite.dev/))
- [Migration Guide](https://vite.dev/guide/migration.html)
##### ⚠ BREAKING CHANGES
- remove `import.meta.hot.accept` resolution fallback ([#​21382](https://github.com/vitejs/vite/issues/21382)) ([71d0797](https://github.com/vitejs/vite/commit/71d0797a719440f2a09b3364bfcf18576c2b67fb))
- update default browser target ([#​21193](https://github.com/vitejs/vite/issues/21193)) ([8c3dd06](https://github.com/vitejs/vite/commit/8c3dd06bd9903bf0e6bc51f3554eea8cb6b26903))
- the epic `rolldown-vite` merge ([#​21189](https://github.com/vitejs/vite/issues/21189)) ([4a7f8d4](https://github.com/vitejs/vite/commit/4a7f8d43e6b14b89fef278c3ea86f9e3f64b7fc2))
##### Features
- update rolldown to 1.0.0-rc.9 ([#​21813](https://github.com/vitejs/vite/issues/21813)) ([f05be0e](https://github.com/vitejs/vite/commit/f05be0eabf5c045b8892d463081da3c8fbf5a5ae))
- warn when `vite-tsconfig-paths` plugin is detected ([#​21781](https://github.com/vitejs/vite/issues/21781)) ([ada493e](https://github.com/vitejs/vite/commit/ada493e4214ef2028b96583550443a386be2e2ae))
- **css:** support es2025 build target for lightningcss ([#​21769](https://github.com/vitejs/vite/issues/21769)) ([08906e7](https://github.com/vitejs/vite/commit/08906e76f2fc0e55c8aea6243f6203ce0c78f106))
- forward browser console logs and errors to dev server terminal ([#​20916](https://github.com/vitejs/vite/issues/20916)) ([2540ed0](https://github.com/vitejs/vite/commit/2540ed06d0b6f93829d2d764b6a02f7dbfd14923))
- update rolldown to 1.0.0-rc.8 ([#​21790](https://github.com/vitejs/vite/issues/21790)) ([a0c950e](https://github.com/vitejs/vite/commit/a0c950e30945cc97fb2381a2affac086730fa31e))
- export `Visitor` and `ESTree` from `rolldown/utils` ([#​21664](https://github.com/vitejs/vite/issues/21664)) ([45de31e](https://github.com/vitejs/vite/commit/45de31e5ffcc514832aec96fa6e09a189c26d684))
- update rolldown to 1.0.0-rc.6 ([#​21714](https://github.com/vitejs/vite/issues/21714)) ([37a65f8](https://github.com/vitejs/vite/commit/37a65f8c31b5baeb4dadecfd4da98f81bae4202e))
- use util.inspect for CLI error display ([#​21668](https://github.com/vitejs/vite/issues/21668)) ([5f425a9](https://github.com/vitejs/vite/commit/5f425a9126ad1a483f482970bef8c29a0e721a3c))
- update rolldown to 1.0.0-rc.5 ([#​21660](https://github.com/vitejs/vite/issues/21660)) ([b3ddbc5](https://github.com/vitejs/vite/commit/b3ddbc54ee5b836852b09811c8e920b2b2cde7cb))
- update rolldown to 1.0.0-rc.4 ([#​21617](https://github.com/vitejs/vite/issues/21617)) ([1ee5c7f](https://github.com/vitejs/vite/commit/1ee5c7f796c24d7319fbd5258bbdce4968859efe))
- **wasm:** add SSR support for `.wasm?init` ([#​21102](https://github.com/vitejs/vite/issues/21102)) ([216a3b5](https://github.com/vitejs/vite/commit/216a3b53c610918027a7713a0d5495628f77d306))
- integrate devtools ([#​21331](https://github.com/vitejs/vite/issues/21331)) ([acbf507](https://github.com/vitejs/vite/commit/acbf507bcb05f9cd9525c765431b3e0ed97328e4))
- update rolldown to 1.0.0-rc.3 ([#​21554](https://github.com/vitejs/vite/issues/21554)) ([43358e9](https://github.com/vitejs/vite/commit/43358e97cd6485513f25ee11133333cba05841e3))
- **manifest:** add `assets` field for standalone CSS entry points ([#​21015](https://github.com/vitejs/vite/issues/21015)) ([f289b9b](https://github.com/vitejs/vite/commit/f289b9b0ce7821b1554b878d083c426e7a695b59))
- update rolldown to 1.0.0-rc.2 ([#​21512](https://github.com/vitejs/vite/issues/21512)) ([fa136a9](https://github.com/vitejs/vite/commit/fa136a9e68921f3ca396e0870193fe805fbfb7b4))
- **bundled-dev:** support worker in initial bundle ([#​21415](https://github.com/vitejs/vite/issues/21415)) ([f3d3149](https://github.com/vitejs/vite/commit/f3d31499c714fe5c5acf8355520624c662f9d79f))
- **dev:** detect port conflicts on wildcard hosts ([#​21381](https://github.com/vitejs/vite/issues/21381)) ([b0dd5a9](https://github.com/vitejs/vite/commit/b0dd5a993fd2f95c8cb2190a3ca4296bc9e06359))
- shortcuts case insensitive ([#​21224](https://github.com/vitejs/vite/issues/21224)) ([7796ade](https://github.com/vitejs/vite/commit/7796aded764bca987abfec8ab0ad0438c5a5e7eb))
- update rolldown to 1.0.0-rc.1 ([#​21463](https://github.com/vitejs/vite/issues/21463)) ([ff9dd7f](https://github.com/vitejs/vite/commit/ff9dd7fef0d3c898e317fca84a629828f3e28936))
- warn if `envPrefix` contains spaces ([#​21292](https://github.com/vitejs/vite/issues/21292)) ([9fcde3c](https://github.com/vitejs/vite/commit/9fcde3c870896a62fbca19be8ee14efab9393f4a))
- update rolldown to 1.0.0-beta.60 ([#​21408](https://github.com/vitejs/vite/issues/21408)) ([c33aa7c](https://github.com/vitejs/vite/commit/c33aa7cfd142a0dd38ed89589fc7b04cf8866791))
- update rolldown to 1.0.0-beta.59 ([#​21374](https://github.com/vitejs/vite/issues/21374)) ([0037943](https://github.com/vitejs/vite/commit/00379439fa62383460b056d587d0366597c19ab4))
- add `ignoreOutdatedRequests` option to `optimizeDeps` ([#​21364](https://github.com/vitejs/vite/issues/21364)) ([b2e75aa](https://github.com/vitejs/vite/commit/b2e75aabe93e3219f40fa5ad8755d53cdd2439b5))
- add ios to default esbuild targets ([#​21342](https://github.com/vitejs/vite/issues/21342)) ([daae6e9](https://github.com/vitejs/vite/commit/daae6e9f5dd223258a9e7a9a7fa22c8a4564902f))
- update rolldown to 1.0.0-beta.58 ([#​21354](https://github.com/vitejs/vite/issues/21354)) ([ba40cef](https://github.com/vitejs/vite/commit/ba40cef16d20590f7115d4d628d9b79fa0783473))
- update rolldown to 1.0.0-beta.57 ([#​21335](https://github.com/vitejs/vite/issues/21335)) ([d5412ef](https://github.com/vitejs/vite/commit/d5412ef4c472bc5fef4ed69cfee4ef4a929c6be9))
- **css:** support es2024 build target for lightningcss ([#​21294](https://github.com/vitejs/vite/issues/21294)) ([bd33b8e](https://github.com/vitejs/vite/commit/bd33b8e08768fdcef0b09e3eefa649fdcafdd397))
- update rolldown to 1.0.0-beta.56 ([#​21323](https://github.com/vitejs/vite/issues/21323)) ([9847a63](https://github.com/vitejs/vite/commit/9847a634cf36de2e6ac0043ffd22cefb1b5951bd))
- introduce v2 native plugins and enable it by default ([#​21268](https://github.com/vitejs/vite/issues/21268)) ([42f2ab3](https://github.com/vitejs/vite/commit/42f2ab3aec7cd0e03e195611b1e1ddabbedc9d61))
- **ssr:** avoid errors when rewriting already rewritten stacktrace ([#​21269](https://github.com/vitejs/vite/issues/21269)) ([98d9a33](https://github.com/vitejs/vite/commit/98d9a33274d9ac90780786afa612d916feddf2e3))
- update rolldown to 1.0.0-beta.55 ([#​21300](https://github.com/vitejs/vite/issues/21300)) ([2c8db85](https://github.com/vitejs/vite/commit/2c8db858d7081e898f63ce9569c3f19a91a10956))
- update rolldown to 1.0.0-beta.54 ([#​21267](https://github.com/vitejs/vite/issues/21267)) ([c751172](https://github.com/vitejs/vite/commit/c75117213cb1d2d13554fbc26a75e8df191c27eb))
- add a warning that is output when a plugin sets esbuild related options ([#​21218](https://github.com/vitejs/vite/issues/21218)) ([200646b](https://github.com/vitejs/vite/commit/200646b14397bfb80e9b29d2e4b33fcfc72d6b2c))
- highly experimental full bundle mode ([#​21235](https://github.com/vitejs/vite/issues/21235)) ([83d8c99](https://github.com/vitejs/vite/commit/83d8c99753d8bd5c1ea9b7a00e6998c865dad4e2))
- print esbuild options when both esbuild and oxc options are set ([#​21216](https://github.com/vitejs/vite/issues/21216)) ([08ae87b](https://github.com/vitejs/vite/commit/08ae87b14a3ce5f7cb3f1a382f497d36d0c2e01b))
- update default browser target ([#​21193](https://github.com/vitejs/vite/issues/21193)) ([8c3dd06](https://github.com/vitejs/vite/commit/8c3dd06bd9903bf0e6bc51f3554eea8cb6b26903))
- the epic `rolldown-vite` merge ([#​21189](https://github.com/vitejs/vite/issues/21189)) ([4a7f8d4](https://github.com/vitejs/vite/commit/4a7f8d43e6b14b89fef278c3ea86f9e3f64b7fc2))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​21786](https://github.com/vitejs/vite/issues/21786)) ([eaa4352](https://github.com/vitejs/vite/commit/eaa4352af8f8658e3a10a9945ad9c227fcb2f28a))
- use `watch.watcher` instead of `watch.notify` ([#​21793](https://github.com/vitejs/vite/issues/21793)) ([88953b3](https://github.com/vitejs/vite/commit/88953b331d6b6acf20dc1731745f27712b091fd9))
- **css:** apply `server.origin` to public file URLs in CSS (fix [#​18457](https://github.com/vitejs/vite/issues/18457)) ([#​21697](https://github.com/vitejs/vite/issues/21697)) ([c967f48](https://github.com/vitejs/vite/commit/c967f48b2e888585e977c3a8d829f7370eb40922))
- **deps:** update all non-major dependencies ([#​21732](https://github.com/vitejs/vite/issues/21732)) ([5c921ca](https://github.com/vitejs/vite/commit/5c921ca9bfe64327df82b04ae34ccfe0a7cfa297))
- **dev:** disable extglobs for consistency ([#​21745](https://github.com/vitejs/vite/issues/21745)) ([1958eeb](https://github.com/vitejs/vite/commit/1958eeb34f9eab93f106b785c1c2ddf97b5c3b3a))
- **lib:** keep annotation comments for es output ([#​21740](https://github.com/vitejs/vite/issues/21740)) ([dd3c4f4](https://github.com/vitejs/vite/commit/dd3c4f4cf0f9e665e56e6d9a9cb7007fc3ac0dc3))
- **optimizer:** avoid error happening with a package with asset entrypoint ([#​21766](https://github.com/vitejs/vite/issues/21766)) ([f7e1d07](https://github.com/vitejs/vite/commit/f7e1d0720e6b9f2ce5d358b6a23ebdb72c51be70))
- **ssr:** throw friendly error when calling `ssrLoadModule` with non-runnable ssr env ([#​21739](https://github.com/vitejs/vite/issues/21739)) ([1fa736e](https://github.com/vitejs/vite/commit/1fa736e802c3f0fa0eacdda1d5d1c976794459bd))
- **types:** remove extends ImportMeta from ModuleRunnerImportMeta ([#​21710](https://github.com/vitejs/vite/issues/21710)) ([0176d45](https://github.com/vitejs/vite/commit/0176d45deb29f5db1f551d20d828598c2130be36))
- **wasm:** reset assetUrlRE.lastIndex before .test() in SSR builds ([#​21780](https://github.com/vitejs/vite/issues/21780)) ([3a0d8d9](https://github.com/vitejs/vite/commit/3a0d8d94a8868f5e118c81bc35a657ef19ff7d82))
- **deps:** update all non-major dependencies ([#​21691](https://github.com/vitejs/vite/issues/21691)) ([521fdc0](https://github.com/vitejs/vite/commit/521fdc0ced51ddee7f728e6f891f36ebc6c0e1ce))
- **optimizer:** avoid duplicate modules when `preserveSymlinks` is enabled ([#​21720](https://github.com/vitejs/vite/issues/21720)) ([72165e0](https://github.com/vitejs/vite/commit/72165e0f58d49b894a366af25993cbffbd0ee986))
- **dev:** only treat EADDRINUSE as port conflict in wildcard pre-check ([#​21642](https://github.com/vitejs/vite/issues/21642)) ([e54e25f](https://github.com/vitejs/vite/commit/e54e25fbb9b721b2c655d17e35706e070c92ff70))
- **dev:** prevent concurrent server restarts ([#​21636](https://github.com/vitejs/vite/issues/21636)) ([8ce23a3](https://github.com/vitejs/vite/commit/8ce23a3b6e1eb86eef2b50c1bfbad072bbf9a03a))
- **dev:** return "502 Bad Gateway" on proxy failures instead of 500 ([#​21652](https://github.com/vitejs/vite/issues/21652)) ([e240df2](https://github.com/vitejs/vite/commit/e240df2ea4accd11631aac0f361e846a2e3140b0))
- clear tsconfig cache only when tsconfig.json is cached ([#​21622](https://github.com/vitejs/vite/issues/21622)) ([50c9675](https://github.com/vitejs/vite/commit/50c9675aa6c488b9887b7849a3397b7b29d1bd74))
- **deps:** update all non-major dependencies ([#​21594](https://github.com/vitejs/vite/issues/21594)) ([becdc5d](https://github.com/vitejs/vite/commit/becdc5dcc49efa3769c92e9929fb2280fd776206))
- **lib:** CSS injection point error with nested name IIFE output ([#​21606](https://github.com/vitejs/vite/issues/21606)) ([5003de6](https://github.com/vitejs/vite/commit/5003de6253ffdb23d1a52b1b5e06281d34f3a6ec))
- **module-runner:** incorrect column with `sourcemapInterceptor: "prepareStackTrace"` ([#​21562](https://github.com/vitejs/vite/issues/21562)) ([416c095](https://github.com/vitejs/vite/commit/416c0959ebd63db622c6579b53065e95f09c63f8))
- **module-runner:** prevent crash on negative column in stacktrace ([#​21585](https://github.com/vitejs/vite/issues/21585)) ([a075590](https://github.com/vitejs/vite/commit/a075590c4091240a6f0caca6b052500fd122f041))
- rolldownOptions/rollupOptions merging at environment level ([#​21612](https://github.com/vitejs/vite/issues/21612)) ([db2ecc7](https://github.com/vitejs/vite/commit/db2ecc7675c3932fc9e127b726ab8b0cab25f75c))
- **scanner:** respect tsconfig.json ([#​21547](https://github.com/vitejs/vite/issues/21547)) ([c6c04db](https://github.com/vitejs/vite/commit/c6c04db9c67d1b390d40fd1fd026d49204957f8d))
- avoid registering customization hook for import meta resolver multiple times ([#​21518](https://github.com/vitejs/vite/issues/21518)) ([8bb3203](https://github.com/vitejs/vite/commit/8bb32036792a6f522f5c947112f3d688add755a0))
- **config:** avoid watching rolldown runtime virtual module ([#​21545](https://github.com/vitejs/vite/issues/21545)) ([d18b139](https://github.com/vitejs/vite/commit/d18b13957b3bec08eae5a9ff80340488c8150d46))
- **deps:** update all non-major dependencies ([#​21540](https://github.com/vitejs/vite/issues/21540)) ([9ebaeaa](https://github.com/vitejs/vite/commit/9ebaeaac094db996b1d12665052633c20ac8a9cf))
- populate originalFileNames when resolving CSS asset paths ([#​21542](https://github.com/vitejs/vite/issues/21542)) ([8b47ff7](https://github.com/vitejs/vite/commit/8b47ff76d28630b4dc39c77fbd2762b4c36ad23d))
- **deps:** update all non-major dependencies ([#​21488](https://github.com/vitejs/vite/issues/21488)) ([2b32ca2](https://github.com/vitejs/vite/commit/2b32ca24fe9d742901c2cb5c88e6b1fd734f8c73))
- disable `tsconfig` option when loading config ([#​21517](https://github.com/vitejs/vite/issues/21517)) ([5025c35](https://github.com/vitejs/vite/commit/5025c358d119aa0b60d0505f9dd705950ad897f6))
- **optimizer:** map relative `new URL` paths to correct relative file location ([#​21434](https://github.com/vitejs/vite/issues/21434)) ([ca96cbc](https://github.com/vitejs/vite/commit/ca96cbc8eff23091c288f9eaf1944af2de3c564f))
- avoid using deprecated `output.inlineDynamicImport` option ([#​21464](https://github.com/vitejs/vite/issues/21464)) ([471ce62](https://github.com/vitejs/vite/commit/471ce6275663f068afa241a55711fd646d482385))
- use separate hook object for each environment ([#​21472](https://github.com/vitejs/vite/issues/21472)) ([66347f6](https://github.com/vitejs/vite/commit/66347f6df0e723d9d03ea31ab41ab5b767ad15ba))
- **deps:** update all non-major dependencies ([#​21440](https://github.com/vitejs/vite/issues/21440)) ([1835995](https://github.com/vitejs/vite/commit/18359959cb2960a2fb2b9a340e5ae27d122a1501))
- **dev:** avoid event emitter leak caused by `server.listen` callback ([#​21451](https://github.com/vitejs/vite/issues/21451)) ([602d786](https://github.com/vitejs/vite/commit/602d7865db2b12835c8225f3e87076bef4e247b9))
- lazy hook filter should work ([#​21443](https://github.com/vitejs/vite/issues/21443)) ([bc0c207](https://github.com/vitejs/vite/commit/bc0c207f537789d10d55caa4ee3697aa923b8426))
- **optimizer:** skip `rolldownCjsExternalPlugin` for `platform: neutral` ([#​21452](https://github.com/vitejs/vite/issues/21452)) ([d2fc4be](https://github.com/vitejs/vite/commit/d2fc4be0447e384e18e557b70f7c345d5bcea941))
- **deps:** update all non-major dependencies ([#​21389](https://github.com/vitejs/vite/issues/21389)) ([30f48df](https://github.com/vitejs/vite/commit/30f48df33ec9e9bd0b8164461eede5574398370b))
- **deps:** update esbuild peerDependency version ([#​21398](https://github.com/vitejs/vite/issues/21398)) ([4266c97](https://github.com/vitejs/vite/commit/4266c978083b3afa8d09ac3d3a110ee79f8efde2))
- **hmr:** trigger prune event when last import is removed ([#​20781](https://github.com/vitejs/vite/issues/20781)) ([#​21093](https://github.com/vitejs/vite/issues/21093)) ([7576735](https://github.com/vitejs/vite/commit/757673528c64945b77aee4a8e01669ccd0644973))
- **module-runner:** use `process.getBuiltinModule` instead of `import('node:module')` ([#​21402](https://github.com/vitejs/vite/issues/21402)) ([6633bcb](https://github.com/vitejs/vite/commit/6633bcb94149a2923cb6419aa481c5384bcf9310))
- support .env file mounts (FIFOs) ([#​21365](https://github.com/vitejs/vite/issues/21365)) ([6e6f82a](https://github.com/vitejs/vite/commit/6e6f82a067acc6e158be3b82edb3d7d2888f9af2))
- **css:** stylus Evaluator support ([#​21376](https://github.com/vitejs/vite/issues/21376)) ([cf9ace1](https://github.com/vitejs/vite/commit/cf9ace1b40b2767b9b9cbbabb084fe2e32afc535))
- **deps:** update all non-major dependencies ([#​21321](https://github.com/vitejs/vite/issues/21321)) ([9bc7c2e](https://github.com/vitejs/vite/commit/9bc7c2ed4f387fb982b84d1988a26af8990096f7))
- **import-analysis:** avoid cjs interop for built browser external module ([#​21333](https://github.com/vitejs/vite/issues/21333)) ([dc5a2fb](https://github.com/vitejs/vite/commit/dc5a2fb86f10c69b0ba6bc1831d9a29c79754ba2))
- **worker:** handle `new Worker(..., new URL(import.meta.url))` with trailing comma ([#​21325](https://github.com/vitejs/vite/issues/21325)) ([4a47241](https://github.com/vitejs/vite/commit/4a472418c02a0821900678778752c2d361bae3bd))
- detect `import.meta.resolve` when formatted across multiple lines ([#​21312](https://github.com/vitejs/vite/issues/21312)) ([130e718](https://github.com/vitejs/vite/commit/130e7181a55c524383c63bbfb1749d0ff7185cad))
- allow no-cors requests for non-script tag requests ([#​21299](https://github.com/vitejs/vite/issues/21299)) ([ef3d596](https://github.com/vitejs/vite/commit/ef3d59648fd9dd3f9b3118d09d216dc0afcb8c33))
- **deps:** update all non-major dependencies ([#​21285](https://github.com/vitejs/vite/issues/21285)) ([4635b2e](https://github.com/vitejs/vite/commit/4635b2e90f833d1048d76381e20208c0e0841e97))
- unreachable error when building with `experimental.bundledDev` is enabled ([#​21296](https://github.com/vitejs/vite/issues/21296)) ([e81c183](https://github.com/vitejs/vite/commit/e81c183f8c8ccaf7774ef0d0ee125bf63dbf30b4))
- **deps:** update all non-major dependencies ([#​21231](https://github.com/vitejs/vite/issues/21231)) ([859789c](https://github.com/vitejs/vite/commit/859789c856412dfa67969232ddda1df754febf40))
- don't strip base from imports ([#​21221](https://github.com/vitejs/vite/issues/21221)) ([7da742b](https://github.com/vitejs/vite/commit/7da742b478d2309c7d8de4cb55614a6476f350b4))
- allow exiting process before optimizer cleanup is done ([#​21170](https://github.com/vitejs/vite/issues/21170)) ([55ceffc](https://github.com/vitejs/vite/commit/55ceffc8976b8bb8c819f5b47419f8499ba3f843))
- plugin shortcut support ([#​21211](https://github.com/vitejs/vite/issues/21211)) ([6a3aca0](https://github.com/vitejs/vite/commit/6a3aca084356316811ff62cbedb5a410a249e789))
##### Performance Improvements
- **ssr:** skip circular import check for already-evaluated modules ([#​21632](https://github.com/vitejs/vite/issues/21632)) ([235140b](https://github.com/vitejs/vite/commit/235140b2d519e866fc28f88fe8155a5091630daf))
- use tsconfig cache for oxc transform in dev ([#​21643](https://github.com/vitejs/vite/issues/21643)) ([57ff177](https://github.com/vitejs/vite/commit/57ff177575bef6bee81a250e853d2c99affa0015))
##### Documentation
- bulk of typo fixes ([#​21507](https://github.com/vitejs/vite/issues/21507)) ([80755da](https://github.com/vitejs/vite/commit/80755dacab296cd2083fef29e09280ceb810a943))
- update `build.dynamicImportVarsOptions` ([#​21477](https://github.com/vitejs/vite/issues/21477)) ([54ce2ed](https://github.com/vitejs/vite/commit/54ce2ed15a95619bd18ac6609b7d7b5f42b4965d))
- clarify the pronunciation of `vite` in IPA symbols ([#​21238](https://github.com/vitejs/vite/issues/21238)) ([9b1d4d6](https://github.com/vitejs/vite/commit/9b1d4d6f348c8899bd7651bd802f583e99b901ee))
- ensure https links ([#​21266](https://github.com/vitejs/vite/issues/21266)) ([2eb259a](https://github.com/vitejs/vite/commit/2eb259a84859c7656718258afed08eb80670f530))
##### Miscellaneous Chores
- **deps-dev:** bump rollup from 4.57.1 to 4.59.0 ([#​21717](https://github.com/vitejs/vite/issues/21717)) ([25227bb](https://github.com/vitejs/vite/commit/25227bbdc7de0ed07cf7bdc9a1a733e3a9a132bc))
- **deps:** update dependency cac to v7 ([#​21788](https://github.com/vitejs/vite/issues/21788)) ([44e33ae](https://github.com/vitejs/vite/commit/44e33ae6a7b64130831f08b2a20d04cbd106898d))
- **deps:** update dependency rolldown-plugin-dts to ^0.22.2 ([#​21731](https://github.com/vitejs/vite/issues/21731)) ([d8ea652](https://github.com/vitejs/vite/commit/d8ea652a8b295d9e012ac7ea607d813c69f77791))
- **deps:** remove `fdir` and `@rollup/plugin-commonjs` ([#​21639](https://github.com/vitejs/vite/issues/21639)) ([5abffd5](https://github.com/vitejs/vite/commit/5abffd5d04bf586a60970588a14d7e3b79445093))
- **deps:** update dependency [@​rollup/plugin-alias](https://github.com/rollup/plugin-alias) to v6 ([#​21097](https://github.com/vitejs/vite/issues/21097)) ([44b5bdf](https://github.com/vitejs/vite/commit/44b5bdfcf2b2c1b73563ed0526c48584b756360f))
- fix broken link for future deprecations ([#​21603](https://github.com/vitejs/vite/issues/21603)) ([25f4501](https://github.com/vitejs/vite/commit/25f45013b94e50acc5c3e476691aa2210b33cae4))
- update `customResolver` deprecation message to mention `enforce: 'pre'` ([#​21576](https://github.com/vitejs/vite/issues/21576)) ([2ce34d5](https://github.com/vitejs/vite/commit/2ce34d5580ed118db6361696e6283c1fea74e685))
- update rolldown-plugin-dts to 0.22.1 ([#​21559](https://github.com/vitejs/vite/issues/21559)) ([77aab4b](https://github.com/vitejs/vite/commit/77aab4b7f1e3a2131477659c909a3fbe02faa0a0))
- **deps:** update dependency rolldown-plugin-dts to ^0.21.8 ([#​21539](https://github.com/vitejs/vite/issues/21539)) ([33881cb](https://github.com/vitejs/vite/commit/33881cb34f4587919713975d13ce255ef744472d))
- add missing versions to changelog ([#​21515](https://github.com/vitejs/vite/issues/21515)) ([4bfb239](https://github.com/vitejs/vite/commit/4bfb239686a17343bc46c0d7c968e28b0d64041f))
- **deps:** update rolldown-related dependencies ([#​21487](https://github.com/vitejs/vite/issues/21487)) ([5863e51](https://github.com/vitejs/vite/commit/5863e513fab6b481cfb42da86202f9db728c077d))
- **deps:** update rolldown-related dependencies ([#​21390](https://github.com/vitejs/vite/issues/21390)) ([be9dd4e](https://github.com/vitejs/vite/commit/be9dd4e08d899f9ed27f2bdcb81bf27d018377a6))
- fix typo in plugin.ts comment ([#​21435](https://github.com/vitejs/vite/issues/21435)) ([d31fc66](https://github.com/vitejs/vite/commit/d31fc6685b4dde33062bf4dfe46e0502de4e1449))
- replace caniuse link for ES2024 ([#​21355](https://github.com/vitejs/vite/issues/21355)) ([2ba4e99](https://github.com/vitejs/vite/commit/2ba4e990192845e01c733aa186c9599cdb5bb8fe))
- cleanup changelog ([#​21202](https://github.com/vitejs/vite/issues/21202)) ([8c8c56e](https://github.com/vitejs/vite/commit/8c8c56e1eb465e6dcd0c1b40f187228edc0e2be4))
- **deps:** update rolldown-related dependencies ([#​21230](https://github.com/vitejs/vite/issues/21230)) ([9349446](https://github.com/vitejs/vite/commit/9349446e9344bd81ccfb37af482f479cd1b59bbc))
- fix spelling error ([#​21223](https://github.com/vitejs/vite/issues/21223)) ([cc10e20](https://github.com/vitejs/vite/commit/cc10e207ae87ac122fc1efbb5ab01b516eb9cce8))
##### Code Refactoring
- don't add `optimization.inlineConst: { mode: 'smart' }` as it's enabled by default ([#​21794](https://github.com/vitejs/vite/issues/21794)) ([22b3d11](https://github.com/vitejs/vite/commit/22b3d111c38deb76d3c07010bf9903e3ee1befc1))
- enable some native plugins even with enable native plugin false ([#​21744](https://github.com/vitejs/vite/issues/21744)) ([fc46c79](https://github.com/vitejs/vite/commit/fc46c79797e9ec22a5a4fb1999f6268f72d586f8))
- avoid deprecated `legalComments` option ([#​21721](https://github.com/vitejs/vite/issues/21721)) ([e06496e](https://github.com/vitejs/vite/commit/e06496ef259015b5a89f33a9965be25f8bea0624))
- use `ESTree` types from `rolldown/utils` ([#​21719](https://github.com/vitejs/vite/issues/21719)) ([9239750](https://github.com/vitejs/vite/commit/9239750e619afba03243d6d583eaca55b510ddfe))
- deprecate `customResolver` in `resolve.alias` ([#​21476](https://github.com/vitejs/vite/issues/21476)) ([81275c9](https://github.com/vitejs/vite/commit/81275c907211ac766013e6232c2cdf559534bed1))
- remove unnecessary `@rolldown/pluginutils` ([#​21560](https://github.com/vitejs/vite/issues/21560)) ([c367b62](https://github.com/vitejs/vite/commit/c367b62693f19040e64d14915877f0b05b8ac7ae))
- enable some native plugins even with enable native plugin false ([#​21608](https://github.com/vitejs/vite/issues/21608)) ([5a4f692](https://github.com/vitejs/vite/commit/5a4f6924260ef0f2683177a99935160badea3f3b))
- use `rolldown/utils` ([#​21577](https://github.com/vitejs/vite/issues/21577)) ([e56103f](https://github.com/vitejs/vite/commit/e56103f180216306de738769303f31ad4c078b26))
- use internal devtools config ([#​21609](https://github.com/vitejs/vite/issues/21609)) ([9aea20f](https://github.com/vitejs/vite/commit/9aea20f4a190e0e1c7edc656361d636cd6ce642f))
- use parseEnv ([#​21586](https://github.com/vitejs/vite/issues/21586)) ([f859d2c](https://github.com/vitejs/vite/commit/f859d2cdfcc18f139775c208be068461a91602e5))
- **wasm:** remove native wasm helper plugin usage ([#​21566](https://github.com/vitejs/vite/issues/21566)) ([71a86be](https://github.com/vitejs/vite/commit/71a86be6d9b9ea0329e92f20671f4db1f020874d))
- enable some native plugins even with enable native plugin false ([#​21511](https://github.com/vitejs/vite/issues/21511)) ([b40292c](https://github.com/vitejs/vite/commit/b40292ce6a7dbbbbac9c6dae5f126b7f44c3e1b7))
- remove `experimental.enableNativePlugin: 'resolver'` ([#​21510](https://github.com/vitejs/vite/issues/21510)) ([f9d9213](https://github.com/vitejs/vite/commit/f9d92130fa79c638f77a3a8e6e55506f185d5a49))
- use `import.meta.dirname` everywhere ([#​21509](https://github.com/vitejs/vite/issues/21509)) ([7becf5f](https://github.com/vitejs/vite/commit/7becf5f8fe9041cff60f495ef975faaba68f9eb2))
- **optimizer:** simplify `rolldownCjsExternalPlugin` ([#​21450](https://github.com/vitejs/vite/issues/21450)) ([ebda8fd](https://github.com/vitejs/vite/commit/ebda8fd3c14f60e63d13d22102cb3d79a12f47a9))
- remove `import.meta.hot.accept` resolution fallback ([#​21382](https://github.com/vitejs/vite/issues/21382)) ([71d0797](https://github.com/vitejs/vite/commit/71d0797a719440f2a09b3364bfcf18576c2b67fb))
- **optimizer:** remove dead code ([#​21334](https://github.com/vitejs/vite/issues/21334)) ([e9a2cdb](https://github.com/vitejs/vite/commit/e9a2cdbb7d96a3f8e15d25774708d4f4ab626bb9))
##### Tests
- **ssr:** incorrect `handleInvoke` was called in server-worker-runner.invoke test ([#​21751](https://github.com/vitejs/vite/issues/21751)) ([b95ca22](https://github.com/vitejs/vite/commit/b95ca22460fe39fc862444f8c642fd6a0794c87c))
- add more type tests for `defineConfig` ([#​21698](https://github.com/vitejs/vite/issues/21698)) ([4fedbbd](https://github.com/vitejs/vite/commit/4fedbbdd9178a3f92e491233f44d49b3ac095c69))
- test case for catching invalid package resolution error ([#​21601](https://github.com/vitejs/vite/issues/21601)) ([c9b9359](https://github.com/vitejs/vite/commit/c9b9359fe88fc4b8a69a0d5c5a7eed8961fb6e57))
- **bundled-dev:** add worker test cases ([#​21557](https://github.com/vitejs/vite/issues/21557)) ([569bc98](https://github.com/vitejs/vite/commit/569bc98d6bc42fbd1835c1c24a493776030b6cb4))
##### Beta Changelogs
##### [8.0.0-beta.18](https://github.com/vitejs/vite/compare/v8.0.0-beta.17...v8.0.0-beta.18) (2026-03-09)
See [8.0.0-beta.18 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.18/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.17](https://github.com/vitejs/vite/compare/v8.0.0-beta.16...v8.0.0-beta.17) (2026-03-09)
See [8.0.0-beta.17 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.17/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.16](https://github.com/vitejs/vite/compare/v8.0.0-beta.15...v8.0.0-beta.16) (2026-02-27)
See [8.0.0-beta.16 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.16/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.15](https://github.com/vitejs/vite/compare/v8.0.0-beta.14...v8.0.0-beta.15) (2026-02-19)
See [8.0.0-beta.15 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.15/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.14](https://github.com/vitejs/vite/compare/v8.0.0-beta.13...v8.0.0-beta.14) (2026-02-12)
See [8.0.0-beta.14 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.14/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.13](https://github.com/vitejs/vite/compare/v8.0.0-beta.12...v8.0.0-beta.13) (2026-02-05)
See [8.0.0-beta.13 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.13/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.12](https://github.com/vitejs/vite/compare/v8.0.0-beta.11...v8.0.0-beta.12) (2026-02-03)
See [8.0.0-beta.12 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.12/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.11](https://github.com/vitejs/vite/compare/v8.0.0-beta.10...v8.0.0-beta.11) (2026-01-29)
See [8.0.0-beta.11 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.11/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.10](https://github.com/vitejs/vite/compare/v8.0.0-beta.9...v8.0.0-beta.10) (2026-01-24)
See [8.0.0-beta.10 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.10/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.9](https://github.com/vitejs/vite/compare/v8.0.0-beta.8...v8.0.0-beta.9) (2026-01-22)
See [8.0.0-beta.9 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.9/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.8](https://github.com/vitejs/vite/compare/v8.0.0-beta.7...v8.0.0-beta.8) (2026-01-15)
See [8.0.0-beta.8 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.8/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.7](https://github.com/vitejs/vite/compare/v8.0.0-beta.6...v8.0.0-beta.7) (2026-01-08)
See [8.0.0-beta.7 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.7/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.6](https://github.com/vitejs/vite/compare/v8.0.0-beta.5...v8.0.0-beta.6) (2026-01-07)
See [8.0.0-beta.6 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.6/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.5](https://github.com/vitejs/vite/compare/v8.0.0-beta.4...v8.0.0-beta.5) (2025-12-25)
See [8.0.0-beta.5 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.5/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.4](https://github.com/vitejs/vite/compare/v8.0.0-beta.3...v8.0.0-beta.4) (2025-12-22)
See [8.0.0-beta.4 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.4/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.3](https://github.com/vitejs/vite/compare/v8.0.0-beta.2...v8.0.0-beta.3) (2025-12-18)
See [8.0.0-beta.3 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.3/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.2](https://github.com/vitejs/vite/compare/v8.0.0-beta.1...v8.0.0-beta.2) (2025-12-12)
See [8.0.0-beta.2 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.2/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.1](https://github.com/vitejs/vite/compare/v8.0.0-beta.0...v8.0.0-beta.1) (2025-12-08)
See [8.0.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.1/packages/vite/CHANGELOG.md)
##### [8.0.0-beta.0](https://github.com/vitejs/vite/compare/v7.2.4...v8.0.0-beta.0) (2025-12-03)
See [8.0.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.0.0-beta.0/packages/vite/CHANGELOG.md)
##### Rolldown-Vite changelogs
See [rolldown-vite changelog](https://github.com/vitejs/rolldown-vite/blob/v7.2.10/packages/vite/CHANGELOG.md)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), 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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
Reviewed-on: https://git.erwanleboucher.dev/eleboucher/memini/pulls/34
VedantMadane
pushed a commit
to VedantMadane/vite
that referenced
this pull request
Jun 28, 2026
VedantMadane
pushed a commit
to VedantMadane/vite
that referenced
this pull request
Jun 28, 2026
serhii-chernenko
added a commit
to besidka/besidka
that referenced
this pull request
Aug 1, 2026
vite-plugin-checker 0.14.4 emits its overlay-runtime import with Vite's base prepended (`/_nuxt/@vite-plugin-checker-runtime`), but its own resolveId only recognized the un-based specifier. Vite 7 stripped the base before plugin resolution, masking this; Vite 8 removed that stripping (vitejs/vite#21221), so the based specifier reached vite:import-analysis unresolved and aborted the entire client bundle silently on every dev boot (nuxt/nuxt#35765 matches this exact stack and error). Fixed upstream in fi3ework/vite-plugin-checker#782, released in 0.14.5. Pin via pnpm override, same pattern already used for unhead/@types-node. Both eslint.checker and typescript.typeCheck stay enabled.
serhii-chernenko
added a commit
to besidka/besidka
that referenced
this pull request
Aug 1, 2026
* feat(models): fetch model metadata from models.dev, keep capabilities curated
Model catalog entries no longer hand-type name/description/context
length/max output tokens/modalities/price forever. providers/google.ts
and providers/openai.ts now hold only curated, product-decision fields
(tools, reasoning, research, imageGeneration, forProjectMemory, default)
plus a small exemption list for OpenAI's Deep Research models, which
models.dev doesn't track separately from their base models.
scripts/fetch-models-metadata.mjs pulls the google/openai slices of
models.dev's public catalog and writes a committed JSON snapshot;
providers/merge.ts joins it with the curated files at import time into
the same Providers shape every consumer already reads. The join only
ever looks curated ids up in the remote catalog, never iterates it
outward, so nothing outside this app's two BYOK providers' own models
can reach the picker no matter how large models.dev's catalog grows.
The fetch script hard-fails if a curated id goes missing upstream
instead of silently keeping stale values.
Renaming Gemini's native image models to their models.dev names also
resolves an outstanding ask: gemini-2.5-flash-image, gemini-3.1-flash-image,
gemini-3.1-flash-lite-image and gemini-3-pro-image are now surfaced as
Nano Banana, Nano Banana 2, Nano Banana 2 Lite and Nano Banana Pro —
these are the same four models that already existed, just correctly
branded now, not new additions.
* feat(settings): persist favorite models across devices
Adds a nullable favoriteModels JSON column to user_settings (additive
ALTER TABLE, no default, no rebuild) and extends the profile settings
GET/PATCH endpoints and the useUserSetting() composable to read/write
it, mirroring the existing sidebarPinned server-value-with-localStorage-
fallback pattern exactly. Unlike the current-model selection (which is
localStorage-only), favorites needed to sync across a user's devices.
The favorites list exposed to the UI is filtered against the live
provider catalog, so a stale id from a since-renamed or removed model
is silently excluded from what renders without ever being deleted from
what's persisted. toggleFavoriteModel() carries a request-ordering
guard so two rapid toggles can't let a stale response clobber a newer
optimistic update.
* feat(models-picker): redesign the model picker
Replaces the simple provider-grouped dropdown with a searchable picker:
a search field, a left provider-icon rail (favorites star + providers,
click to filter, hidden while searching), rows with a price-tier badge,
favorite toggle, capability icons and description, an info button that
opens a unified detail panel (context length, max output, modalities,
price, reasoning/research info, release date), and a filter dropdown
for Chat / Deep Research / Image Generation categories.
The trigger button and its data-testid are unchanged so nothing else on
the page shifts. The popover is click-toggled with Escape support
(staged: closes the detail panel, then clears search, then closes)
instead of the old hover-driven <details>/<summary>, because a search
field inside a hover-closes-on-mouseleave container doesn't work. The
list uses a proper ARIA combobox/listbox pattern (roving highlight,
arrow/home/end/enter keyboard navigation, aria-activedescendant) rather
than role="dialog", which doesn't need a focus trap for a transient
popup. The list has a capped max-height with its own internal scroll so
it can no longer grow to fill the screen.
Category rule for the filter: a model only counts as Image Generation
via isImageGenerationModel() (its entire purpose), not merely by
supporting the image_generation tool as a capability alongside chat.
* docs(models): document the model catalog architecture and owner actions
Covers the curated-vs-fetched merge policy, why a curated-id-driven join
can't pull in junk/legacy/open-weights models regardless of what
models.dev's catalog grows to include, the EXEMPT_IDS hard-fail
behavior, why favorites are DB-persisted, and an explicit owner action
list (nothing required to deploy, pnpm run models:fetch cadence, the
optional provider-key spot-check). Also logs known trade-offs from the
implementation review that were deliberately deferred rather than
fixed, so they're visible instead of silently dropped.
* fix(dev): disable vite-plugin-checker, it breaks the dev client on Vite 8
Both eslint.checker and typescript.typeCheck route through
vite-plugin-checker, whose client runtime virtual module fails to
resolve under Vite 8 ("Failed to resolve import
/_nuxt/@vite-plugin-checker-runtime"). This aborts the entire client
bundle silently — the server keeps running and SSR HTML looks correct,
but nothing hydrates, so no .client.vue component or interactive
feature works locally.
Pre-existing, unrelated to the model picker work in this PR — surfaced
while testing it locally. ESLint and type errors still surface fully
via `pnpm run lint`/`format`/`typecheck` and the pre-commit/pre-push
hooks; only the live in-browser overlay is lost.
* Revert "fix(dev): disable vite-plugin-checker, it breaks the dev client on Vite 8"
This reverts commit 8c7a810.
* fix(deps): pin vite-plugin-checker to 0.14.5, fixing Vite 8 dev crash
vite-plugin-checker 0.14.4 emits its overlay-runtime import with Vite's
base prepended (`/_nuxt/@vite-plugin-checker-runtime`), but its own
resolveId only recognized the un-based specifier. Vite 7 stripped the
base before plugin resolution, masking this; Vite 8 removed that
stripping (vitejs/vite#21221), so the based specifier reached
vite:import-analysis unresolved and aborted the entire client bundle
silently on every dev boot (nuxt/nuxt#35765 matches this exact stack
and error).
Fixed upstream in fi3ework/vite-plugin-checker#782, released in 0.14.5.
Pin via pnpm override, same pattern already used for unhead/@types-node.
Both eslint.checker and typescript.typeCheck stay enabled.
* fix(models-picker): use semantic daisyUI colors for price-tier badges
Reverses the earlier monochrome-opacity-ramp decision back to
badge-success/info/warning/error for $/$$/$$$/$$$+, matching the
severity convention users already read on other badges in the app.
* fix(models-picker): make the category filter single-select
The models picker category filter allowed selecting Chat, Deep
Research, and Image Generation simultaneously via checkboxes, and left
the dropdown open after each pick. Switch to a single nullable active
category (null means no filter) so choosing a category immediately
replaces the previous one and closes the dropdown, matching the
intended one-at-a-time filtering behavior.
* fix(models-picker): update ModelDetail spec for semantic badge colors
Follow-up to the price-tier badge color change - this spec's selector
still targeted the old badge-ghost class.
* fix(models-picker): render the model detail inline next to its row
The detail panel was a single shared, absolutely-positioned card pinned to
the bottom of the scrollable popover. Opening details for a model near the
top of the list rendered the card far below its row, covering unrelated
rows and the very info button that opened it.
It now renders inside the list loop as a sibling of the model it describes,
so it is always adjacent, scrolls with the list, and never covers its own
trigger. Keyboard navigation closes an open detail so the variable-height
card cannot shift rows out from under the highlight mid-arrow-key.
* chore(models): capture deprecated status for two curated snapshot entries
The previous commit's snapshot refresh landed before the status-capturing
change in scripts/fetch-models-metadata.mjs took effect. Re-running the
fetch now correctly records status: "deprecated" for the two curated ids
models.dev currently flags (gemini-3.1-flash-lite-preview,
gemini-3-pro-preview), matching what's documented in
docs/models-data-fetching.md.
* feat(models-picker): rebuild the model row layout and flag deprecated models
The row packed a provider icon, name, price tier, capability icons, a
description line and two action buttons into one cramped block, leaving the
model name barely readable on narrow viewports.
The description is dropped from the compact row (it still appears in the
detail panel). Below the `xs` breakpoint the capability icons take the line
the description used to occupy and the action buttons stack vertically at a
larger tap size; above it the row is a single line. The favorite toggle now
sits outermost, past the info button, so it is no longer adjacent to the
capability icons that made it easy to misclick.
Models reporting `status: 'deprecated'` get an error-outlined badge, compact
below `sm` and labelled above it, plus a spelled-out badge in the detail
panel. Price tier badges pick up `badge-soft` to match the capability badges.
* fix(models): swap the deprecated Gemini 3.1 Flash Lite preview id
models.dev flags gemini-3.1-flash-lite-preview as deprecated - it was
superseded two months ago by the stable gemini-3.1-flash-lite release.
Point the curated id, both Deep Research assistModel references, and
the forProjectMemory flag at the stable id instead of a retired one.
Also add gemini-3.5-flash-lite, the lite-tier sibling of the already
curated gemini-3.5-flash - the same pairing already exists for 2.5.
* fix(chats): reject deprecated models server-side
The model picker will soon gate deprecated models client-side only,
which a user can bypass by setting a deprecated model id directly
(localStorage/devtools) and sending a chat request anyway. Add the
matching server-side guard at the single choke point every chat
request resolves its model through: useChatProvider() now rejects a
model with status === 'deprecated' with a structured 400 before any
provider call is attempted, using evlog's createError({message, status,
why, fix}).
The evlog createError import is aliased to createEvlogError rather than
shadowing the bare name: this file already has two pre-existing throws
using the auto-imported h3 createError({statusCode, statusMessage})
shape. Importing evlog's createError under the same name would rebind
that identifier for the whole module, silently breaking those two
throws (evlog's constructor does `status = opts.status ?? 500` and
`super(opts.message)`, so a call with only statusCode/statusMessage set
would collapse to a 500 with an empty message).
server/utils/research/start.ts resolves deep-research models through
getModel() directly rather than useChatProvider(), so this guard does
not cover that path. No curated deep-research model currently carries
status: 'deprecated', so there is no active gap today, but a future
deprecated research model would not be blocked there.
Tests: unit coverage for useChatProvider (deprecated rejection,
non-deprecated pass-through, unmodified unknown-model-id and
empty-model-id behavior), plus an index.post.ts integration test
confirming the thrown rejection short-circuits before persistence or
any provider call.
* feat(models-picker): collapse deprecated models into a legacy section
The inline "Deprecated" badge crowded the row and never explained itself.
Deprecated models now leave the selectable list entirely and collect in a
collapsed "N legacy models" disclosure pinned below the other sections.
Legacy rows are muted, expose no select or favorite control, and are marked
`aria-disabled`; their info button still opens the detail panel, which now
carries a notice explaining that the provider retired the model, that it can
stop responding, and that it can no longer be picked. A deprecated model that
is already selected keeps resolving everywhere else — only the picker's own
selection surface stops offering it.
Tooltips are reworked in the same pass. Capability tooltips moved from
`tooltip-top` to `tooltip-bottom`, because the first row leaves only 14px
above the icon inside the scroll container and a tooltip needs 33px, so it
was clipped; the results container gains bottom padding while it holds rows
so the last row's tooltip has the same room. A new `tooltip-soft` utility
derives its tint and text from `currentColor`, giving every tooltip a legible
per-hue surface in both themes without depending on daisyUI's colour
modifiers. That removes `tooltip-secondary`, whose `--color-secondary: white`
rendered the image-generation tooltip white-on-white — the same broken token
that previously broke `badge-secondary`. Image generation moves to violet so
it no longer reads as the same green as deep research, and a `capability-chip`
utility replaces three divergent chip background formulas.
The scroll container is no longer the listbox: `role="listbox"` moved to an
inner wrapper holding only options, so the legacy group and the empty state
sit outside it. The detail panel drops its `region` role for the same reason.
* fix(models-picker): reflect filter selection to assistive tech
The single-select category filter's focused element (the inner button)
carried no ARIA state for "currently selected" - aria-selected lived on
the unfocused ancestor li. Add aria-pressed on the button itself.
Also strengthen the keyboard-highlight-skips-legacy-models test with a
second selectable model so ArrowDown wrap-around is actually exercised
instead of trivially passing with nowhere else to go, and refresh a
stale pre-rename model id in an unrelated fixture.
* docs(models): correct stale owner-decision notes after this session's fixes
The Model status / Known trade-offs / Ids-not-auto-added sections still
described gemini-3.1-flash-lite-preview's swap and gemini-3.5-flash-lite's
addition as open owner decisions - both were already resolved earlier in
this same round. Also documents the legacy-section UI + server guard now
enforcing status:deprecated, and flags that image_generation on the six
new models is a convention copy, not a per-model verified capability.
* fix(models): key the curated Sol variant off its canonical id
gpt-5.6 is a documented OpenAI alias for gpt-5.6-sol, not a separate
model -- curating the alias id left the picker showing the bare
"GPT-5.6" name instead of "GPT-5.6 Sol", inconsistent with its Terra
and Luna siblings which do show their family name. Switching the
curated id to the canonical gpt-5.6-sol picks up the correct fetched
name via the existing merge, with no manual name override needed.
* ci: move production and preview-deploy off Blacksmith
Spread CI load across both providers' free tiers after hitting
Blacksmith's monthly free-minutes cap. Deploy to Production and
Preview Deploy now run on GitHub-hosted ubuntu-24.04 (pinned to
match blacksmith-4vcpu-ubuntu-2404's OS version rather than floating
on ubuntu-latest); Preview Build stays on Blacksmith.
* ci: add scheduled models.dev metadata drift check
Weekly (Monday 09:00 UTC, matching dependabot's cadence) job that
runs `pnpm run models:fetch` and opens/updates a PR against
providers/data/models-dev-snapshot.json when models.dev's catalog
has moved. The audit script's deprecated-curated and
uncurated-upstream-id output goes straight into the PR body so a
reviewer doesn't need the Actions log. A hard-fail from the fetch
script (a curated id models.dev no longer lists) fails the job
instead of being swallowed by tee's exit status.
* fix(models-picker): click-only info popup, tooltip fixes, no native title
Removes the tooltip-soft border, which visually disconnected the
bordered content box from daisyUI's unbordered arrow tail.
Replaces the price-tier badge's native title attribute with a proper
daisyUI tooltip (tooltip-soft, color-matched via a new
getPriceTierTooltipClass companion), and applies the same treatment
to the price badge in the inline detail panel.
Removes hover/focus triggering of the info popup entirely — click and
tap are now the only way to open it, on both desktop and touch. This
drops the now-dead isInteractive prop, hide-detail timeout, and
show-detail/hide-detail plumbing threaded through ModelItem,
ModelDetail and ModelsTrigger.
Adds a bare tooltip to the favorite-star button (no color modifier),
matching its existing aria-label copy.
* fix(models-picker): drop the inert price-tier tooltip color class
tooltip-soft's own currentColor-derived --tt-bg always wins over
daisyUI's tooltip-info/success/warning/error in Tailwind's utility
layer, so the class added alongside it had no visual effect --
verified empirically via computed styles against the built CSS. The
tooltip was already color-matched to the badge through currentColor,
same as the existing capability-icon tooltips in this file. Keeping a
class that silently does nothing would mislead a future edit into
thinking it carries the color.
* fix(models-picker): btn-active on info toggle, center detail header, bigger popup badges
Info-trigger button now gets daisyUI's btn-active state (not just a
color change) while its popup is open. The detail popup header switches
from items-start to items-center so the price badge and close button
align against the (sometimes wrapping) model name instead of pinning to
its top; the close button's -mt-1 compensation for the old alignment is
dropped now that the row centers itself. Capability badges inside the
popup grow from badge-xs to badge-sm, and the price-tier badge in the
popup drops its size modifier entirely to use daisyUI's default size -
both scoped to the popup only, list rows stay compact.
* fix(models-picker): apply the existing hitslop utility to small icon buttons
Expands the tappable area of the compact btn-xs/btn-sm circle buttons
(model info/favorite toggles, provider rail buttons, filter dropdown
trigger, detail close button) to a 48x48 minimum via the hitslop
utility that already ships in main.css (added for GeneratedImage.vue
and the cookie banner) - no need to add a second one.
Verified empirically against a live dev server at 375/500/1280px
widths: no ancestor actually clips the expanded hit zone anywhere
(results container, provider rail, filter dropdown, detail panel all
keep a positive margin, though the results container's edge is razor
thin at ~0.4px in row layouts). Adjacent list rows' hit zones do
overlap vertically, but document.elementFromPoint at the overlap shows
the later row's own real button always wins normal paint order, so no
misdirected taps. No CSS widening was needed anywhere.
* feat(models-picker): add a Clear action to the category filter dropdown
Matches the existing "Detach all files" pattern in
ChatInput/Files/Trigger.vue: an error-styled menu item, disabled when
no category is selected, that resets only this dropdown's own category
selection (not the picker's broader provider/favorites/search filters)
and closes the dropdown the same way selecting a category already does.
* fix(models-picker): move the price-tier badge into the capabilities row
Relocates the price-tier badge from the name row into the capabilities
row (as its first child, before the reasoning/web-search/image-gen/
research icons), unconditionally at every breakpoint, so it wraps onto
its own indented row on mobile instead of competing with the model
name for space. The capabilities row now renders whenever there is a
price tier OR a capability icon to show - a plain-model row still has
no capability icons, but would otherwise lose its price badge entirely
under the old reasoning-only guard. Also normalizes model-actions'
mobile gap to gap-1, matching the row's spacing everywhere else instead
of a larger mobile-only value.
* fix(models-picker): drop hitslop from the three tooltip-bearing buttons
hitslop and daisyUI's tooltip both own the same ::before - an element
only gets one - and hitslop's utilities-layer rule wins regardless of
specificity. Applying both to the favorite-toggle button and the two
ProviderRail buttons silently killed their tooltips: getComputedStyle
confirmed ::before's content stayed empty even while hovered, despite
data-tip being set correctly.
These three are the only hitslop sites that also carry a tooltip class
(the info-trigger, ModelDetail close button, and FilterDropdown
trigger rely on aria-label alone and are unaffected). Dropping hitslop
here keeps a working tooltip over an enlarged hit target - the higher
priority trade-off given the ProviderRail tooltip is desktop-only
already, and mouse precision matters less for the touch-target case
hitslop exists for in the first place.
Verified with getComputedStyle(el, '::before').content before/after
hover: both the favorite-toggle and provider rail buttons now render
their data-tip text again.
* fix(models-picker): make the popup's Image generation badge visible
badge-secondary resolved to --color-secondary (white in this theme),
the same broken-token pattern documented for tooltip-secondary
elsewhere in the project - Reasoning/Web search/Deep research badges
rendered fine, but Image generation was invisible white-on-white.
Inspected daisyUI 5.7.4's compiled badge.css: .badge-soft reads color
and background tint from the --badge-color custom property (with a
--color-base-content fallback), not from currentColor. Semantic badge
classes like .badge-secondary only set that one variable
(--badge-color: var(--color-secondary)), so overriding --badge-color
directly with the violet tokens the row's own capability-chip icon
already uses - via an inline arbitrary-property utility - lands on the
exact mechanism daisyUI itself uses, instead of fighting the `color`
property in a losing cascade battle.
Verified with getComputedStyle in both themes: text now renders as
violet-700 (light) / violet-200 (dark), matching the working icon
tooltip and the visual weight of its badge-sm badge-soft siblings.
* fix(models-picker): put the price-tier badge back near the title on desktop
Last round grouped the price badge with the tool icons at every
breakpoint per an earlier DOM dump; the user has now seen both
breakpoints rendered and wants mobile kept exactly as shipped, with
desktop showing the badge immediately after the model name instead,
separate from the icon cluster (which stays grouped at the right, next
to the info/favorite buttons).
Hoists the price-tier badge to be its own top-level flex item between
the name span and the (icon-only again) capabilities span, rather than
nested in either - one DOM node, positioned per breakpoint by the
existing flex-wrap/flex-nowrap split instead of a second copy. On
mobile the full-width name span still forces a line break, so the
badge naturally wraps down next to the icons; on desktop it lands
right after the name for free.
Getting the desktop gap right needed removing xs:grow from the name
span: with it there, the name span (not capabilities' xs:ml-auto)
claimed all the free space, since flex-grow resolution happens before
auto-margins get anything - it does not currentColor into an even
split. That produced a big gap after the name and the icons sitting
right after the price badge, backwards from the target. Without it,
free space correctly flows to capabilities' auto margin, pushing the
icon cluster flush against the action buttons.
Verified geometry and screenshots at 390px and 1280px against a live
dev server: mobile is pixel-identical to what shipped last round;
desktop shows price-badge-after-name with an ~85px gap before the
icon/info/favorite cluster.
Updates ModelItem.spec.ts for the new structure: the price tier and
capability icons are siblings now, not parent/child, so the assertion
checking icon-container membership is replaced with sibling-order and
conditional-margin coverage (max-xs:ml-5 on the badge when present,
max-xs:-ml-1 tightening the icons' gap back to it, or max-xs:ml-5
falling through to the icons when there is no price tier).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
import analysis plugin was rewriting from
import '/home/path/to/file.js'toimport '/path/to/file.js'when thebaseis/home/. But since we treat the ids in imports as file paths instead of URLs, we shouldn't trim the base here. (import analysis plugin rewrites file paths into URLs)fixes vitejs/vite-plugin-vue#25
close #7224