This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^5.0.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/vite/5.4.14/6.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^5.4.14` -> `^6.0.0`](https://renovatebot.com/diffs/npm/vite/5.4.14/6.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite (vite)</summary> ### [`v6.1.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small611-2025-02-19-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.1.0...v6.1.1) - fix: ensure `.[cm]?[tj]sx?` static assets are JS mime ([#​19453](https://redirect.github.com/vitejs/vite/issues/19453)) ([e7ba55e](https://redirect.github.com/vitejs/vite/commit/e7ba55e7d57ad97ab43682b152159e29fa4b3753)), closes [#​19453](https://redirect.github.com/vitejs/vite/issues/19453) - fix: ignore `*.ipv4` address in cert ([#​19416](https://redirect.github.com/vitejs/vite/issues/19416)) ([973283b](https://redirect.github.com/vitejs/vite/commit/973283bf84c3dca42e2e20a9f9b8761011878b8b)), closes [#​19416](https://redirect.github.com/vitejs/vite/issues/19416) - fix(css): run rewrite plugin if postcss plugin exists ([#​19371](https://redirect.github.com/vitejs/vite/issues/19371)) ([bcdb51a](https://redirect.github.com/vitejs/vite/commit/bcdb51a1ac082f4e8ed6f820787d6745dfaa972d)), closes [#​19371](https://redirect.github.com/vitejs/vite/issues/19371) - fix(deps): bump tsconfck ([#​19375](https://redirect.github.com/vitejs/vite/issues/19375)) ([746a583](https://redirect.github.com/vitejs/vite/commit/746a583d42592a31e1e8e80cc790a7c9e6acf58e)), closes [#​19375](https://redirect.github.com/vitejs/vite/issues/19375) - fix(deps): update all non-major dependencies ([#​19392](https://redirect.github.com/vitejs/vite/issues/19392)) ([60456a5](https://redirect.github.com/vitejs/vite/commit/60456a54fe90872dbd4bed332ecbd85bc88deb92)), closes [#​19392](https://redirect.github.com/vitejs/vite/issues/19392) - fix(deps): update all non-major dependencies ([#​19440](https://redirect.github.com/vitejs/vite/issues/19440)) ([ccac73d](https://redirect.github.com/vitejs/vite/commit/ccac73d9d0e92c7232f09207d1d6b893e823ed8e)), closes [#​19440](https://redirect.github.com/vitejs/vite/issues/19440) - fix(html): ignore malformed src attrs ([#​19397](https://redirect.github.com/vitejs/vite/issues/19397)) ([aff7812](https://redirect.github.com/vitejs/vite/commit/aff7812f0aed059c05ca36c86bf907d25964119a)), closes [#​19397](https://redirect.github.com/vitejs/vite/issues/19397) - fix(worker): fix web worker type detection ([#​19462](https://redirect.github.com/vitejs/vite/issues/19462)) ([edc65ea](https://redirect.github.com/vitejs/vite/commit/edc65eafa332b57ce44835deb7d7707e2d036c24)), closes [#​19462](https://redirect.github.com/vitejs/vite/issues/19462) - refactor: remove custom .jxl mime ([#​19457](https://redirect.github.com/vitejs/vite/issues/19457)) ([0c85464](https://redirect.github.com/vitejs/vite/commit/0c854645bd17960abbe8f01b602d1a1da1a2b9fd)), closes [#​19457](https://redirect.github.com/vitejs/vite/issues/19457) - feat: add support for injecting debug IDs ([#​18763](https://redirect.github.com/vitejs/vite/issues/18763)) ([0ff556a](https://redirect.github.com/vitejs/vite/commit/0ff556a6d9b55bff7cac17396ce7d4397becacaa)), closes [#​18763](https://redirect.github.com/vitejs/vite/issues/18763) - chore: update 6.1.0 changelog ([#​19363](https://redirect.github.com/vitejs/vite/issues/19363)) ([fa7c211](https://redirect.github.com/vitejs/vite/commit/fa7c211bf3e51269f8a8601e5994fb3ebb6859f9)), closes [#​19363](https://redirect.github.com/vitejs/vite/issues/19363) ### [`v6.1.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#610-2025-02-05) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.11...v6.1.0) - refactor: deprecate `vite optimize` command ([#​19348](https://redirect.github.com/vitejs/vite/issues/19348)) ([6e0e3c0](https://redirect.github.com/vitejs/vite/commit/6e0e3c0b990f1132db923e4599e18b270baa3a93)), closes [#​19348](https://redirect.github.com/vitejs/vite/issues/19348) - feat: show hosts in cert in CLI ([#​19317](https://redirect.github.com/vitejs/vite/issues/19317)) ([a5e306f](https://redirect.github.com/vitejs/vite/commit/a5e306f2fc34fc70d543028c319367ff9b232ea0)), closes [#​19317](https://redirect.github.com/vitejs/vite/issues/19317) - feat: support for env var for defining allowed hosts ([#​19325](https://redirect.github.com/vitejs/vite/issues/19325)) ([4d88f6c](https://redirect.github.com/vitejs/vite/commit/4d88f6c9391f96275b1359f1343ee2ec3e1adb7b)), closes [#​19325](https://redirect.github.com/vitejs/vite/issues/19325) - feat: use native runtime to import the config ([#​19178](https://redirect.github.com/vitejs/vite/issues/19178)) ([7c2a794](https://redirect.github.com/vitejs/vite/commit/7c2a7942cc8494a98fbc2b0235d91faf25242d30)), closes [#​19178](https://redirect.github.com/vitejs/vite/issues/19178) - fix: avoid builtStart during vite optimize ([#​19356](https://redirect.github.com/vitejs/vite/issues/19356)) ([fdb36e0](https://redirect.github.com/vitejs/vite/commit/fdb36e076969c763d4249f6db890f8bf26e9f5d1)), closes [#​19356](https://redirect.github.com/vitejs/vite/issues/19356) - fix(build): fix stale build manifest on watch rebuild ([#​19361](https://redirect.github.com/vitejs/vite/issues/19361)) ([fcd5785](https://redirect.github.com/vitejs/vite/commit/fcd578587b2fbdef0ff8de8a0d97c9fc6da19ce1)), closes [#​19361](https://redirect.github.com/vitejs/vite/issues/19361) ### [`v6.0.11`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small6011-2025-01-21-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.10...v6.0.11) - fix: `preview.allowedHosts` with specific values was not respected ([#​19246](https://redirect.github.com/vitejs/vite/issues/19246)) ([aeb3ec8](https://redirect.github.com/vitejs/vite/commit/aeb3ec84a288d6be227a1284607f13428a4f14a1)), closes [#​19246](https://redirect.github.com/vitejs/vite/issues/19246) - fix: allow CORS from loopback addresses by default ([#​19249](https://redirect.github.com/vitejs/vite/issues/19249)) ([3d03899](https://redirect.github.com/vitejs/vite/commit/3d038997377a30022b6a6b7916e0b4b5d8b9a363)), closes [#​19249](https://redirect.github.com/vitejs/vite/issues/19249) ### [`v6.0.10`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small6010-2025-01-20-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.9...v6.0.10) - fix: try parse `server.origin` URL ([#​19241](https://redirect.github.com/vitejs/vite/issues/19241)) ([2495022](https://redirect.github.com/vitejs/vite/commit/2495022420fda05ee389c2dcf26921b21e2aed3b)), closes [#​19241](https://redirect.github.com/vitejs/vite/issues/19241) ### [`v6.0.9`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small609-2025-01-20-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.8...v6.0.9) - fix!: check host header to prevent DNS rebinding attacks and introduce `server.allowedHosts` ([bd896fb](https://redirect.github.com/vitejs/vite/commit/bd896fb5f312fc0ff1730166d1d142fc0d34ba6d)) - fix!: default `server.cors: false` to disallow fetching from untrusted origins ([b09572a](https://redirect.github.com/vitejs/vite/commit/b09572acc939351f4e4c50ddf793017a92c678b1)) - fix: verify token for HMR WebSocket connection ([029dcd6](https://redirect.github.com/vitejs/vite/commit/029dcd6d77d3e3ef10bc38e9a0829784d9760fdb)) ### [`v6.0.8`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small608-2025-01-20-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.7...v6.0.8) - fix: avoid SSR HMR for HTML files ([#​19193](https://redirect.github.com/vitejs/vite/issues/19193)) ([3bd55bc](https://redirect.github.com/vitejs/vite/commit/3bd55bcb7e831d2c4f66c90d7bbb3e1fbf7a02b6)), closes [#​19193](https://redirect.github.com/vitejs/vite/issues/19193) - fix: build time display 7m 60s ([#​19108](https://redirect.github.com/vitejs/vite/issues/19108)) ([cf0d2c8](https://redirect.github.com/vitejs/vite/commit/cf0d2c8e232a1af716c71cdd2218d180f7ecc02b)), closes [#​19108](https://redirect.github.com/vitejs/vite/issues/19108) - fix: don't resolve URL starting with double slash ([#​19059](https://redirect.github.com/vitejs/vite/issues/19059)) ([35942cd](https://redirect.github.com/vitejs/vite/commit/35942cde11fd8a68fa89bf25f7aa1ddb87d775b2)), closes [#​19059](https://redirect.github.com/vitejs/vite/issues/19059) - fix: ensure `server.close()` only called once ([#​19204](https://redirect.github.com/vitejs/vite/issues/19204)) ([db81c2d](https://redirect.github.com/vitejs/vite/commit/db81c2dada961f40c0882b5182adf2f34bb5c178)), closes [#​19204](https://redirect.github.com/vitejs/vite/issues/19204) - fix: resolve.conditions in ResolvedConfig was `defaultServerConditions` ([#​19174](https://redirect.github.com/vitejs/vite/issues/19174)) ([ad75c56](https://redirect.github.com/vitejs/vite/commit/ad75c56dce5618a3a416e18f9a5c3880d437a107)), closes [#​19174](https://redirect.github.com/vitejs/vite/issues/19174) - fix: tree shake stringified JSON imports ([#​19189](https://redirect.github.com/vitejs/vite/issues/19189)) ([f2aed62](https://redirect.github.com/vitejs/vite/commit/f2aed62d0bf1b66e870ee6b4aab80cd1702793ab)), closes [#​19189](https://redirect.github.com/vitejs/vite/issues/19189) - fix: use shared sigterm callback ([#​19203](https://redirect.github.com/vitejs/vite/issues/19203)) ([47039f4](https://redirect.github.com/vitejs/vite/commit/47039f4643179be31a8d7c7fbff83c5c13deb787)), closes [#​19203](https://redirect.github.com/vitejs/vite/issues/19203) - fix(deps): update all non-major dependencies ([#​19098](https://redirect.github.com/vitejs/vite/issues/19098)) ([8639538](https://redirect.github.com/vitejs/vite/commit/8639538e6498d1109da583ad942c1472098b5919)), closes [#​19098](https://redirect.github.com/vitejs/vite/issues/19098) - fix(optimizer): use correct default install state path for yarn PnP ([#​19119](https://redirect.github.com/vitejs/vite/issues/19119)) ([e690d8b](https://redirect.github.com/vitejs/vite/commit/e690d8bb1e5741e81df5b7a6a5c8c3c1c971fa41)), closes [#​19119](https://redirect.github.com/vitejs/vite/issues/19119) - fix(types): improve `ESBuildOptions.include / exclude` type to allow `readonly (string | RegExp)[]` ([ea53e70](https://redirect.github.com/vitejs/vite/commit/ea53e7095297ea4192490fd58556414cc59a8975)), closes [#​19146](https://redirect.github.com/vitejs/vite/issues/19146) - chore(deps): update dependency pathe to v2 ([#​19139](https://redirect.github.com/vitejs/vite/issues/19139)) ([71506f0](https://redirect.github.com/vitejs/vite/commit/71506f0a8deda5254cb49c743cd439dfe42859ce)), closes [#​19139](https://redirect.github.com/vitejs/vite/issues/19139) ### [`v6.0.7`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small607-2025-01-02-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.6...v6.0.7) - fix: fix `minify` when `builder.sharedPlugins: true` ([#​19025](https://redirect.github.com/vitejs/vite/issues/19025)) ([f7b1964](https://redirect.github.com/vitejs/vite/commit/f7b1964d3a93a21f80b61638fa6ae9606d0a6f4f)), closes [#​19025](https://redirect.github.com/vitejs/vite/issues/19025) - fix: skip the plugin if it has been called before with the same id and importer ([#​19016](https://redirect.github.com/vitejs/vite/issues/19016)) ([b178c90](https://redirect.github.com/vitejs/vite/commit/b178c90c7d175ea31f8b67dccad3918f820357a4)), closes [#​19016](https://redirect.github.com/vitejs/vite/issues/19016) - fix(html): error while removing `vite-ignore` attribute for inline script ([#​19062](https://redirect.github.com/vitejs/vite/issues/19062)) ([a492253](https://redirect.github.com/vitejs/vite/commit/a4922537a8d705da7769d30626a0d846511fc124)), closes [#​19062](https://redirect.github.com/vitejs/vite/issues/19062) - fix(ssr): fix semicolon injection by ssr transform ([#​19097](https://redirect.github.com/vitejs/vite/issues/19097)) ([1c102d5](https://redirect.github.com/vitejs/vite/commit/1c102d517de52531faf5765632703977a17de65a)), closes [#​19097](https://redirect.github.com/vitejs/vite/issues/19097) - perf: skip globbing for static path in warmup ([#​19107](https://redirect.github.com/vitejs/vite/issues/19107)) ([677508b](https://redirect.github.com/vitejs/vite/commit/677508bf8268a7b8661e5557a3d0a2a76cab8bd1)), closes [#​19107](https://redirect.github.com/vitejs/vite/issues/19107) - feat(css): show lightningcss warnings ([#​19076](https://redirect.github.com/vitejs/vite/issues/19076)) ([b07c036](https://redirect.github.com/vitejs/vite/commit/b07c036faf6849fe5ffd03125f25dc00f460f8ba)), closes [#​19076](https://redirect.github.com/vitejs/vite/issues/19076) ### [`v6.0.6`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small606-2024-12-26-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.5...v6.0.6) - fix: replace runner-side path normalization with `fetchModule`-side resolve ([#​18361](https://redirect.github.com/vitejs/vite/issues/18361)) ([9f10261](https://redirect.github.com/vitejs/vite/commit/9f10261e7609098b832fd0fb23a64840b3a0d1a0)), closes [#​18361](https://redirect.github.com/vitejs/vite/issues/18361) - fix(css): resolve style tags in HTML files correctly for lightningcss ([#​19001](https://redirect.github.com/vitejs/vite/issues/19001)) ([afff05c](https://redirect.github.com/vitejs/vite/commit/afff05c03266fc76d5ab8928215c89f5992f40f8)), closes [#​19001](https://redirect.github.com/vitejs/vite/issues/19001) - fix(css): show correct error when unknown placeholder is used for CSS modules pattern in lightningcs ([9290d85](https://redirect.github.com/vitejs/vite/commit/9290d85b5d2ad64991bd296157cb3bcb959c341d)), closes [#​19070](https://redirect.github.com/vitejs/vite/issues/19070) - fix(resolve): handle package.json with UTF-8 BOM ([#​19000](https://redirect.github.com/vitejs/vite/issues/19000)) ([902567a](https://redirect.github.com/vitejs/vite/commit/902567ac5327e915ce65d090045fa4922ef9f2b5)), closes [#​19000](https://redirect.github.com/vitejs/vite/issues/19000) - fix(ssrTransform): preserve line offset when transforming imports ([#​19004](https://redirect.github.com/vitejs/vite/issues/19004)) ([1aa434e](https://redirect.github.com/vitejs/vite/commit/1aa434e8017012bf0939b2ff1a3a66b4bd12b76d)), closes [#​19004](https://redirect.github.com/vitejs/vite/issues/19004) - chore: fix typo in comment ([#​19067](https://redirect.github.com/vitejs/vite/issues/19067)) ([eb06ec3](https://redirect.github.com/vitejs/vite/commit/eb06ec30bb02ced66274f0fc6e90aff2bb20c632)), closes [#​19067](https://redirect.github.com/vitejs/vite/issues/19067) - chore: update comment about `build.target` ([#​19047](https://redirect.github.com/vitejs/vite/issues/19047)) ([0e9e81f](https://redirect.github.com/vitejs/vite/commit/0e9e81f622f13d78ee238c0fa72ba920e23419f4)), closes [#​19047](https://redirect.github.com/vitejs/vite/issues/19047) - revert: unpin esbuild version ([#​19043](https://redirect.github.com/vitejs/vite/issues/19043)) ([8bfe247](https://redirect.github.com/vitejs/vite/commit/8bfe247511517c631a26f3931bb3c93a7b0b7446)), closes [#​19043](https://redirect.github.com/vitejs/vite/issues/19043) - test(ssr): test virtual module with query ([#​19044](https://redirect.github.com/vitejs/vite/issues/19044)) ([a1f4b46](https://redirect.github.com/vitejs/vite/commit/a1f4b46896cb4b442b54a8336db8eca6df9ee02d)), closes [#​19044](https://redirect.github.com/vitejs/vite/issues/19044) ### [`v6.0.5`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small605-2024-12-20-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.4...v6.0.5) - fix: esbuild regression (pin to 0.24.0) ([#​19027](https://redirect.github.com/vitejs/vite/issues/19027)) ([4359e0d](https://redirect.github.com/vitejs/vite/commit/4359e0d5b33afd6259a4dcef787cc2670e963126)), closes [#​19027](https://redirect.github.com/vitejs/vite/issues/19027) ### [`v6.0.4`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small604-2024-12-19-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.3...v6.0.4) - fix: `this.resolve` skipSelf should not skip for different `id` or `import` ([#​18903](https://redirect.github.com/vitejs/vite/issues/18903)) ([4727320](https://redirect.github.com/vitejs/vite/commit/472732057cb2273908e1fca8aa7dc18a7e1f7c74)), closes [#​18903](https://redirect.github.com/vitejs/vite/issues/18903) - fix: fallback terser to main thread when function options are used ([#​18987](https://redirect.github.com/vitejs/vite/issues/18987)) ([12b612d](https://redirect.github.com/vitejs/vite/commit/12b612d8be2a18456fd94a2f0291d32d1ffb29d4)), closes [#​18987](https://redirect.github.com/vitejs/vite/issues/18987) - fix: merge client and ssr values for `pluginContainer.getModuleInfo` ([#​18895](https://redirect.github.com/vitejs/vite/issues/18895)) ([258cdd6](https://redirect.github.com/vitejs/vite/commit/258cdd637d1ee80a3c4571685135e89fe283f3a6)), closes [#​18895](https://redirect.github.com/vitejs/vite/issues/18895) - fix(css): escape double quotes in `url()` when lightningcss is used ([#​18997](https://redirect.github.com/vitejs/vite/issues/18997)) ([3734f80](https://redirect.github.com/vitejs/vite/commit/3734f8099e3922c189497ce404fe7ff2f8929ae1)), closes [#​18997](https://redirect.github.com/vitejs/vite/issues/18997) - fix(css): root relative import in sass modern API on Windows ([#​18945](https://redirect.github.com/vitejs/vite/issues/18945)) ([c4b532c](https://redirect.github.com/vitejs/vite/commit/c4b532cc900bf988073583511f57bd581755d5e3)), closes [#​18945](https://redirect.github.com/vitejs/vite/issues/18945) - fix(css): skip non css in custom sass importer ([#​18970](https://redirect.github.com/vitejs/vite/issues/18970)) ([21680bd](https://redirect.github.com/vitejs/vite/commit/21680bdf9ca7c12f677136b56e47f46469db8be2)), closes [#​18970](https://redirect.github.com/vitejs/vite/issues/18970) - fix(deps): update all non-major dependencies ([#​18967](https://redirect.github.com/vitejs/vite/issues/18967)) ([d88d000](https://redirect.github.com/vitejs/vite/commit/d88d0004a8e891ca6026d356695e0b319caa7fce)), closes [#​18967](https://redirect.github.com/vitejs/vite/issues/18967) - fix(deps): update all non-major dependencies ([#​18996](https://redirect.github.com/vitejs/vite/issues/18996)) ([2b4f115](https://redirect.github.com/vitejs/vite/commit/2b4f115129fb3fbd730a92078acb724f8527b7f7)), closes [#​18996](https://redirect.github.com/vitejs/vite/issues/18996) - fix(optimizer): keep NODE_ENV as-is when keepProcessEnv is `true` ([#​18899](https://redirect.github.com/vitejs/vite/issues/18899)) ([8a6bb4e](https://redirect.github.com/vitejs/vite/commit/8a6bb4e11d5c1b61511ae1e5ed3ae3c65a33b2dc)), closes [#​18899](https://redirect.github.com/vitejs/vite/issues/18899) - fix(ssr): recreate ssrCompatModuleRunner on restart ([#​18973](https://redirect.github.com/vitejs/vite/issues/18973)) ([7d6dd5d](https://redirect.github.com/vitejs/vite/commit/7d6dd5d1d655d173668192509f63ac4ebf7af299)), closes [#​18973](https://redirect.github.com/vitejs/vite/issues/18973) - chore: better validation error message for dts build ([#​18948](https://redirect.github.com/vitejs/vite/issues/18948)) ([63b82f1](https://redirect.github.com/vitejs/vite/commit/63b82f1e29a00d06a82144fd03ea8d6eff114290)), closes [#​18948](https://redirect.github.com/vitejs/vite/issues/18948) - chore(deps): update all non-major dependencies ([#​18916](https://redirect.github.com/vitejs/vite/issues/18916)) ([ef7a6a3](https://redirect.github.com/vitejs/vite/commit/ef7a6a35e6827b92445e5a0c2c0022616efc80dd)), closes [#​18916](https://redirect.github.com/vitejs/vite/issues/18916) - chore(deps): update dependency [@​rollup/plugin-node-resolve](https://redirect.github.com/rollup/plugin-node-resolve) to v16 ([#​18968](https://redirect.github.com/vitejs/vite/issues/18968)) ([62fad6d](https://redirect.github.com/vitejs/vite/commit/62fad6d79f83daf916dde866909a2a3dd0c79583)), closes [#​18968](https://redirect.github.com/vitejs/vite/issues/18968) - refactor: make internal invoke event to use the same interface with `handleInvoke` ([#​18902](https://redirect.github.com/vitejs/vite/issues/18902)) ([27f691b](https://redirect.github.com/vitejs/vite/commit/27f691b0c7dca2259108fe6b79583b459429bf7f)), closes [#​18902](https://redirect.github.com/vitejs/vite/issues/18902) - refactor: simplify manifest plugin code ([#​18890](https://redirect.github.com/vitejs/vite/issues/18890)) ([1bfe21b](https://redirect.github.com/vitejs/vite/commit/1bfe21b9440f318c940f90e425a18588595225fd)), closes [#​18890](https://redirect.github.com/vitejs/vite/issues/18890) - test: test `ModuleRunnerTransport` `invoke` API ([#​18865](https://redirect.github.com/vitejs/vite/issues/18865)) ([e5f5301](https://redirect.github.com/vitejs/vite/commit/e5f5301924b775837b2a1253c37f76555bce3e3e)), closes [#​18865](https://redirect.github.com/vitejs/vite/issues/18865) - test: test output hash changes ([#​18898](https://redirect.github.com/vitejs/vite/issues/18898)) ([bfbb130](https://redirect.github.com/vitejs/vite/commit/bfbb130fccefbe7e3880f09defb4fceacce39481)), closes [#​18898](https://redirect.github.com/vitejs/vite/issues/18898) ### [`v6.0.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small603-2024-12-05-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.2...v6.0.3) - fix: handle postcss load unhandled rejections ([#​18886](https://redirect.github.com/vitejs/vite/issues/18886)) ([d5fb653](https://redirect.github.com/vitejs/vite/commit/d5fb653c15903ccf84a093f212da86f0327a9a6f)), closes [#​18886](https://redirect.github.com/vitejs/vite/issues/18886) - fix: make handleInvoke interface compatible with invoke ([#​18876](https://redirect.github.com/vitejs/vite/issues/18876)) ([a1dd396](https://redirect.github.com/vitejs/vite/commit/a1dd396da856401a12c921d0cd2c4e97cb63f1b5)), closes [#​18876](https://redirect.github.com/vitejs/vite/issues/18876) - fix: make result interfaces for `ModuleRunnerTransport#invoke` more explicit ([#​18851](https://redirect.github.com/vitejs/vite/issues/18851)) ([a75fc31](https://redirect.github.com/vitejs/vite/commit/a75fc3193d5e8d8756dfb3a046873e9c222bb6c8)), closes [#​18851](https://redirect.github.com/vitejs/vite/issues/18851) - fix: merge `environments.ssr.resolve` with root `ssr` config ([#​18857](https://redirect.github.com/vitejs/vite/issues/18857)) ([3104331](https://redirect.github.com/vitejs/vite/commit/310433106e1e8a0c39dc397e3eace8a71a2416c2)), closes [#​18857](https://redirect.github.com/vitejs/vite/issues/18857) - fix: no permission to create vite config file ([#​18844](https://redirect.github.com/vitejs/vite/issues/18844)) ([ff47778](https://redirect.github.com/vitejs/vite/commit/ff47778004d609dbeef7f192783e6f253dd66237)), closes [#​18844](https://redirect.github.com/vitejs/vite/issues/18844) - fix: remove CSS import in CJS correctly in some cases ([#​18885](https://redirect.github.com/vitejs/vite/issues/18885)) ([690a36f](https://redirect.github.com/vitejs/vite/commit/690a36ffdb7d6f6568f35a304b4904e7aa475f17)), closes [#​18885](https://redirect.github.com/vitejs/vite/issues/18885) - fix(config): bundle files referenced with imports field ([#​18887](https://redirect.github.com/vitejs/vite/issues/18887)) ([2b5926a](https://redirect.github.com/vitejs/vite/commit/2b5926a0e79ce47d22536d38eed2629d326caca0)), closes [#​18887](https://redirect.github.com/vitejs/vite/issues/18887) - fix(config): make stacktrace path correct when sourcemap is enabled ([#​18833](https://redirect.github.com/vitejs/vite/issues/18833)) ([20fdf21](https://redirect.github.com/vitejs/vite/commit/20fdf210ee0ac0824b2db74876527cb7f378a9e8)), closes [#​18833](https://redirect.github.com/vitejs/vite/issues/18833) - fix(css): rewrite url when image-set and url exist at the same time ([#​18868](https://redirect.github.com/vitejs/vite/issues/18868)) ([d59efd8](https://redirect.github.com/vitejs/vite/commit/d59efd8dfd1c5bf2e7c45c7cdb1c0abc2a05ba02)), closes [#​18868](https://redirect.github.com/vitejs/vite/issues/18868) - fix(deps): update all non-major dependencies ([#​18853](https://redirect.github.com/vitejs/vite/issues/18853)) ([5c02236](https://redirect.github.com/vitejs/vite/commit/5c0223636fa277d5daeb4d93c3f32d9f3cd69fc5)), closes [#​18853](https://redirect.github.com/vitejs/vite/issues/18853) - fix(html): allow unexpected question mark in tag name ([#​18852](https://redirect.github.com/vitejs/vite/issues/18852)) ([1b54e50](https://redirect.github.com/vitejs/vite/commit/1b54e506a44420d0c8a9e000cf45b1c4f5e33026)), closes [#​18852](https://redirect.github.com/vitejs/vite/issues/18852) - fix(module-runner): decode uri for file url passed to import ([#​18837](https://redirect.github.com/vitejs/vite/issues/18837)) ([88e49aa](https://redirect.github.com/vitejs/vite/commit/88e49aa0418cb3f6b579b744ba59daeda68432f3)), closes [#​18837](https://redirect.github.com/vitejs/vite/issues/18837) - refactor: fix logic errors found by no-unnecessary-condition rule ([#​18891](https://redirect.github.com/vitejs/vite/issues/18891)) ([ea802f8](https://redirect.github.com/vitejs/vite/commit/ea802f8f8bcf3771a35c1eaf687378613fbabb24)), closes [#​18891](https://redirect.github.com/vitejs/vite/issues/18891) - chore: fix duplicate attributes issue number in comment ([#​18860](https://redirect.github.com/vitejs/vite/issues/18860)) ([ffee618](https://redirect.github.com/vitejs/vite/commit/ffee61893cfe9f2b0db4aecf9ddb62ca79c80458)), closes [#​18860](https://redirect.github.com/vitejs/vite/issues/18860) ### [`v6.0.2`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small602-2024-12-02-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.1...v6.0.2) - chore: run typecheck in unit tests ([#​18858](https://redirect.github.com/vitejs/vite/issues/18858)) ([49f20bb](https://redirect.github.com/vitejs/vite/commit/49f20bb77749ec7b44344fd9c42d593ae20c78f0)), closes [#​18858](https://redirect.github.com/vitejs/vite/issues/18858) - chore: update broken links in changelog ([#​18802](https://redirect.github.com/vitejs/vite/issues/18802)) ([cb754f8](https://redirect.github.com/vitejs/vite/commit/cb754f8acc1b579dae9fe70a08e3ef53984402cc)), closes [#​18802](https://redirect.github.com/vitejs/vite/issues/18802) - chore: update broken links in changelog ([#​18804](https://redirect.github.com/vitejs/vite/issues/18804)) ([47ec49f](https://redirect.github.com/vitejs/vite/commit/47ec49ffa170cac5d04cf2eef01f45e0b5ccde03)), closes [#​18804](https://redirect.github.com/vitejs/vite/issues/18804) - fix: don't store temporary vite config file in `node_modules` if deno ([#​18823](https://redirect.github.com/vitejs/vite/issues/18823)) ([a20267b](https://redirect.github.com/vitejs/vite/commit/a20267bb93118468a2e20f0f77b77ed7bfa94165)), closes [#​18823](https://redirect.github.com/vitejs/vite/issues/18823) - fix(css): referencing aliased svg asset with lightningcss enabled errored ([#​18819](https://redirect.github.com/vitejs/vite/issues/18819)) ([ae68958](https://redirect.github.com/vitejs/vite/commit/ae6895869157e48b32088f0a1f85d2fddb2d713f)), closes [#​18819](https://redirect.github.com/vitejs/vite/issues/18819) - fix(manifest): use `style.css` as a key for the style file for `cssCodesplit: false` ([#​18820](https://redirect.github.com/vitejs/vite/issues/18820)) ([ec51115](https://redirect.github.com/vitejs/vite/commit/ec511152558cb573acf55e88e5244bdead1b5a17)), closes [#​18820](https://redirect.github.com/vitejs/vite/issues/18820) - fix(optimizer): resolve all promises when cancelled ([#​18826](https://redirect.github.com/vitejs/vite/issues/18826)) ([d6e6194](https://redirect.github.com/vitejs/vite/commit/d6e6194706f0e3a889caa9303de2293cc0f131b2)), closes [#​18826](https://redirect.github.com/vitejs/vite/issues/18826) - fix(resolve): don't set builtinModules to `external` by default ([#​18821](https://redirect.github.com/vitejs/vite/issues/18821)) ([2250ffa](https://redirect.github.com/vitejs/vite/commit/2250ffac62e55c89232d745d2f99ece539be9195)), closes [#​18821](https://redirect.github.com/vitejs/vite/issues/18821) - fix(ssr): set `ssr.target: 'webworker'` defaults as fallback ([#​18827](https://redirect.github.com/vitejs/vite/issues/18827)) ([b39e696](https://redirect.github.com/vitejs/vite/commit/b39e69638b3e2e658ff6712be83b549b28103c3d)), closes [#​18827](https://redirect.github.com/vitejs/vite/issues/18827) - feat(css): format lightningcss error ([#​18818](https://redirect.github.com/vitejs/vite/issues/18818)) ([dac7992](https://redirect.github.com/vitejs/vite/commit/dac7992e8725234007c7515f86f543992874c7b8)), closes [#​18818](https://redirect.github.com/vitejs/vite/issues/18818) - refactor: make properties of ResolvedServerOptions and ResolvedPreviewOptions required ([#​18796](https://redirect.github.com/vitejs/vite/issues/18796)) ([51a5569](https://redirect.github.com/vitejs/vite/commit/51a5569e66bd7f0de79ac14b9e902d1382ccd0aa)), closes [#​18796](https://redirect.github.com/vitejs/vite/issues/18796) ### [`v6.0.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small601-2024-11-27-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.0...v6.0.1) - fix: default empty server `proxy` prevents starting http2 server ([#​18788](https://redirect.github.com/vitejs/vite/issues/18788)) ([bbaf514](https://redirect.github.com/vitejs/vite/commit/bbaf514fb718952e0f17a15545c593125f1d1b9c)), closes [#​18788](https://redirect.github.com/vitejs/vite/issues/18788) - fix(manifest): do not override existing js manifest entry ([#​18776](https://redirect.github.com/vitejs/vite/issues/18776)) ([3b0837e](https://redirect.github.com/vitejs/vite/commit/3b0837e0b997e14dacc347719353b8b0cea35bda)), closes [#​18776](https://redirect.github.com/vitejs/vite/issues/18776) - fix(server): close \_ssrCompatModuleRunner on server close ([#​18784](https://redirect.github.com/vitejs/vite/issues/18784)) ([9b4c410](https://redirect.github.com/vitejs/vite/commit/9b4c410dddb80c8858549355e175735976a82134)), closes [#​18784](https://redirect.github.com/vitejs/vite/issues/18784) - fix(server): skip hot channel client normalization for wsServer ([#​18782](https://redirect.github.com/vitejs/vite/issues/18782)) ([cc7670a](https://redirect.github.com/vitejs/vite/commit/cc7670abaffeda1338cf3acfef2bc41a38c223a0)), closes [#​18782](https://redirect.github.com/vitejs/vite/issues/18782) - fix(worker): fix `applyToEnvironment` hooks on worker build ([#​18793](https://redirect.github.com/vitejs/vite/issues/18793)) ([0c6cdb0](https://redirect.github.com/vitejs/vite/commit/0c6cdb0f88d32ce041272977e786006008223f44)), closes [#​18793](https://redirect.github.com/vitejs/vite/issues/18793) - chore: flat v6 config file ([#​18777](https://redirect.github.com/vitejs/vite/issues/18777)) ([c7b3308](https://redirect.github.com/vitejs/vite/commit/c7b330832675ee6385ee1a8750762e496c8e18e6)), closes [#​18777](https://redirect.github.com/vitejs/vite/issues/18777) - chore: split changelog ([#​18787](https://redirect.github.com/vitejs/vite/issues/18787)) ([8542632](https://redirect.github.com/vitejs/vite/commit/8542632b3b205b61999b6d998928d5fb17ba90c4)), closes [#​18787](https://redirect.github.com/vitejs/vite/issues/18787) - chore: update changelog for v6 ([#​18773](https://redirect.github.com/vitejs/vite/issues/18773)) ([b254fac](https://redirect.github.com/vitejs/vite/commit/b254fac4aa35a3522aeafb3259e60acd050aeb51)), closes [#​18773](https://redirect.github.com/vitejs/vite/issues/18773) - revert: update moduleResolution value casing ([#​18409](https://redirect.github.com/vitejs/vite/issues/18409)) ([#​18774](https://redirect.github.com/vitejs/vite/issues/18774)) ([b0fc6e3](https://redirect.github.com/vitejs/vite/commit/b0fc6e3c2591a30360d3714263cf7cc0e2acbfdf)), closes [#​18409](https://redirect.github.com/vitejs/vite/issues/18409) [#​18774](https://redirect.github.com/vitejs/vite/issues/18774) ### [`v6.0.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#600-2024-11-26) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v5.4.14...v6.0.0) - fix: `createRunnableDevEnvironment` returns `RunnableDevEnvironment`, not `DevEnvironment` ([#​18673](https://redirect.github.com/vitejs/vite/issues/18673)) ([74221c3](https://redirect.github.com/vitejs/vite/commit/74221c391bffd61b9ef39b7c0f9ea2e405913a6f)), closes [#​18673](https://redirect.github.com/vitejs/vite/issues/18673) - fix: `getModulesByFile` should return a `serverModule` ([#​18715](https://redirect.github.com/vitejs/vite/issues/18715)) ([b80d5ec](https://redirect.github.com/vitejs/vite/commit/b80d5ecbbcc374bd8f32b2ed5ceb3cbfffaae77b)), closes [#​18715](https://redirect.github.com/vitejs/vite/issues/18715) - fix: catch error in full reload handler ([#​18713](https://redirect.github.com/vitejs/vite/issues/18713)) ([a10e741](https://redirect.github.com/vitejs/vite/commit/a10e7410656d3614cbfd07ba772776ff334a8d60)), closes [#​18713](https://redirect.github.com/vitejs/vite/issues/18713) - fix: display pre-transform error details ([#​18764](https://redirect.github.com/vitejs/vite/issues/18764)) ([554f45f](https://redirect.github.com/vitejs/vite/commit/554f45f4d820c57c0874ebe48ef2fddfafdd0750)), closes [#​18764](https://redirect.github.com/vitejs/vite/issues/18764) - fix: exit code on `SIGTERM` ([#​18741](https://redirect.github.com/vitejs/vite/issues/18741)) ([cc55e36](https://redirect.github.com/vitejs/vite/commit/cc55e36dd39fef134568f53acc66514cbb7175ea)), closes [#​18741](https://redirect.github.com/vitejs/vite/issues/18741) - fix: expose missing `InterceptorOptions` type ([#​18766](https://redirect.github.com/vitejs/vite/issues/18766)) ([6252c60](https://redirect.github.com/vitejs/vite/commit/6252c6035695365c93773fbe06a4b2a307e86368)), closes [#​18766](https://redirect.github.com/vitejs/vite/issues/18766) - fix: log error when send in module runner failed ([#​18753](https://redirect.github.com/vitejs/vite/issues/18753)) ([ba821bb](https://redirect.github.com/vitejs/vite/commit/ba821bb63eca6d8a9199ee2253ef2607375f5702)), closes [#​18753](https://redirect.github.com/vitejs/vite/issues/18753) - fix(client): overlay not appearing when multiple vite clients were loaded ([#​18647](https://redirect.github.com/vitejs/vite/issues/18647)) ([27d70b5](https://redirect.github.com/vitejs/vite/commit/27d70b5fa61f1c1a836d52809549cb57569f42a4)), closes [#​18647](https://redirect.github.com/vitejs/vite/issues/18647) - fix(deps): update all non-major dependencies ([#​18691](https://redirect.github.com/vitejs/vite/issues/18691)) ([f005461](https://redirect.github.com/vitejs/vite/commit/f005461ecce89ada21cb0c021f7af460b5479736)), closes [#​18691](https://redirect.github.com/vitejs/vite/issues/18691) - fix(html): fix inline proxy modules invalidation ([#​18696](https://redirect.github.com/vitejs/vite/issues/18696)) ([8ab04b7](https://redirect.github.com/vitejs/vite/commit/8ab04b70ada119fbca2fc5a53c36f233423febbe)), closes [#​18696](https://redirect.github.com/vitejs/vite/issues/18696) - fix(module-runner): make evaluator optional ([#​18672](https://redirect.github.com/vitejs/vite/issues/18672)) ([fd1283f](https://redirect.github.com/vitejs/vite/commit/fd1283fe27cc1a19b5c7d9d72664832e4daa1bbf)), closes [#​18672](https://redirect.github.com/vitejs/vite/issues/18672) - fix(optimizer): detect npm / yarn / pnpm dependency changes correctly ([#​17336](https://redirect.github.com/vitejs/vite/issues/17336)) ([#​18560](https://redirect.github.com/vitejs/vite/issues/18560)) ([818cf3e](https://redirect.github.com/vitejs/vite/commit/818cf3e7bf1b6c2dc56e7cd8f056bc1d185c2cd7)), closes [#​17336](https://redirect.github.com/vitejs/vite/issues/17336) [#​18560](https://redirect.github.com/vitejs/vite/issues/18560) - fix(optimizer): trigger onCrawlEnd after manual included deps are registered ([#​18733](https://redirect.github.com/vitejs/vite/issues/18733)) ([dc60410](https://redirect.github.com/vitejs/vite/commit/dc6041099ccd5767764fb8c99a169869bbd13f16)), closes [#​18733](https://redirect.github.com/vitejs/vite/issues/18733) - fix(optimizer): workaround firefox's false warning for no sources source map ([#​18665](https://redirect.github.com/vitejs/vite/issues/18665)) ([473424e](https://redirect.github.com/vitejs/vite/commit/473424ee8d6b743c1565bf0749deb5d9fbedcea7)), closes [#​18665](https://redirect.github.com/vitejs/vite/issues/18665) - fix(ssr): replace `__vite_ssr_identity__` with `(0, ...)` and inject `;` between statements ([#​18748](https://redirect.github.com/vitejs/vite/issues/18748)) ([94546be](https://redirect.github.com/vitejs/vite/commit/94546be18354a457bced5107aa31533b09e304ec)), closes [#​18748](https://redirect.github.com/vitejs/vite/issues/18748) - chore: add 5.4.x changelogs ([#​18768](https://redirect.github.com/vitejs/vite/issues/18768)) ([26b58c8](https://redirect.github.com/vitejs/vite/commit/26b58c8130f232dcd4e839a337bbe478352f23ab)), closes [#​18768](https://redirect.github.com/vitejs/vite/issues/18768) - chore: add some comments about mimes ([#​18705](https://redirect.github.com/vitejs/vite/issues/18705)) ([f07e9b9](https://redirect.github.com/vitejs/vite/commit/f07e9b9d01d790c727edc2497304f07b1ef5d28f)), closes [#​18705](https://redirect.github.com/vitejs/vite/issues/18705) - chore(deps): update all non-major dependencies ([#​18746](https://redirect.github.com/vitejs/vite/issues/18746)) ([0ad16e9](https://redirect.github.com/vitejs/vite/commit/0ad16e92d57453d9e5392c90fd06bda947be9de6)), closes [#​18746](https://redirect.github.com/vitejs/vite/issues/18746) - perf: reduce bundle size for `Object.keys(import.meta.glob(...))` / \`Object.values(import.meta.glob( ([ed99a2c](https://redirect.github.com/vitejs/vite/commit/ed99a2cd31e8d3c2b791885bcc4b188570539e45)), closes [#​18666](https://redirect.github.com/vitejs/vite/issues/18666) - perf(worker): inline worker without base64 ([#​18752](https://redirect.github.com/vitejs/vite/issues/18752)) ([90c66c9](https://redirect.github.com/vitejs/vite/commit/90c66c95aba3d2edd86637a77adc699f3fd6c1ff)), closes [#​18752](https://redirect.github.com/vitejs/vite/issues/18752) - feat: add support for .cur type ([#​18680](https://redirect.github.com/vitejs/vite/issues/18680)) ([5ec9eed](https://redirect.github.com/vitejs/vite/commit/5ec9eedc80bbf39a33b498198ba07ed1bd9cacc7)), closes [#​18680](https://redirect.github.com/vitejs/vite/issues/18680) - feat: enable HMR by default on ModuleRunner side ([#​18749](https://redirect.github.com/vitejs/vite/issues/18749)) ([4d2abc7](https://redirect.github.com/vitejs/vite/commit/4d2abc7bba95cf516ce7341d5d8f349d61b75224)), closes [#​18749](https://redirect.github.com/vitejs/vite/issues/18749) - feat: support `module-sync` condition when loading config if enabled ([#​18650](https://redirect.github.com/vitejs/vite/issues/18650)) ([cf5028d](https://redirect.github.com/vitejs/vite/commit/cf5028d4bf0a0d59b4a98323beaadc268204056b)), closes [#​18650](https://redirect.github.com/vitejs/vite/issues/18650) - feat!: drop node 21 support in version ranges ([#​18729](https://redirect.github.com/vitejs/vite/issues/18729)) ([a384d8f](https://redirect.github.com/vitejs/vite/commit/a384d8fd39162190675abcfea31ba657383a3d03)), closes [#​18729](https://redirect.github.com/vitejs/vite/issues/18729) - fix(deps)!: update dependency dotenv-expand to v12 ([#​18697](https://redirect.github.com/vitejs/vite/issues/18697)) ([0c658de](https://redirect.github.com/vitejs/vite/commit/0c658de41f4c1576c526a8c48a8ea0a019c6311c)), closes [#​18697](https://redirect.github.com/vitejs/vite/issues/18697) - docs: rename `HotUpdateContext` to `HotUpdateOptions` ([#​18718](https://redirect.github.com/vitejs/vite/issues/18718)) ([824c347](https://redirect.github.com/vitejs/vite/commit/824c347fa21aaf5bbf811994385b790db4287ab0)), closes [#​18718](https://redirect.github.com/vitejs/vite/issues/18718) - test: simplify `playground/json/__tests__/ssr` ([#​18701](https://redirect.github.com/vitejs/vite/issues/18701)) ([f731ca2](https://redirect.github.com/vitejs/vite/commit/f731ca21ea4cfe38418880f15f6064e156a43a5e)), closes [#​18701](https://redirect.github.com/vitejs/vite/issues/18701) - refactor: first character judgment replacement regexp ([#​18658](https://redirect.github.com/vitejs/vite/issues/18658)) ([58f1df3](https://redirect.github.com/vitejs/vite/commit/58f1df3288b0f9584bb413dd34b8d65671258f6f)), closes [#​18658](https://redirect.github.com/vitejs/vite/issues/18658) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Unraid UI
A Vue 3 component library providing a set of reusable, accessible UI components for Unraid development.
Features
- ⚡️ Built with Vue 3 and TypeScript
- 🎭 Storybook documentation
- ✅ Tested components
- 🎪 Built on top of TailwindCSS and Shadcn/UI
Installation
Make sure you have the peer dependencies installed:
npm install vue@^3.3.0 tailwindcss@^3.0.0
Setup
1. Add CSS
Import the component library styles in your main entry file:
import '@unraid/ui/style.css';
2. Configure TailwindCSS
Create a tailwind.config.ts file with the following configuration:
import tailwindConfig from '@unraid/ui/tailwind.config.ts';
import type { Config } from 'tailwindcss';
export default {
presets: [tailwindConfig],
content: [
// ... your content paths
'./components/**/*.{js,vue,ts}',
'./layouts/**/*.vue',
'./pages/**/*.vue',
],
theme: {
extend: {
// your theme extensions
},
},
} satisfies Partial<Config>;
This configuration:
- Uses the Unraid UI library's Tailwind config as a preset
- Properly types your configuration with TypeScript
- Allows you to extend the base theme while maintaining all Unraid UI defaults
Usage
<script setup lang="ts">
import { Button } from '@unraid/ui';
</script>
<template>
<Button variant="primary"> Click me </Button>
</template>
Development
Local Development
Install dependencies:
npm install
Start Storybook development server:
npm run storybook
This will start Storybook at http://localhost:6006
Building
npm run build
Testing
Run tests:
npm run test
Run tests with UI:
npm run test:ui
Generate coverage report:
npm run coverage
Type Checking
npm run typecheck
Scripts
dev: Start development serverbuild: Build for productionpreview: Preview production buildtest: Run teststest:ui: Run tests with UIcoverage: Generate test coverageclean: Remove build artifactstypecheck: Run type checkingstorybook: Start Storybook development serverbuild-storybook: Build Storybook for production
License
Component Development
Installing Shadcn Components
- Install a new component using the Shadcn CLI:
npx shadcn-vue@latest add [component-name]
-
The component will be installed in the root components folder. Move it to the appropriate subfolder based on its type:
- Form components →
src/components/form/ - Layout components →
src/components/layout/ - Common components →
src/components/common/ - Brand components →
src/components/brand/
- Form components →
-
Update any imports in your codebase to reflect the new component location.
Component Variants Pattern
We use the class-variance-authority (CVA) package to manage component variants. Each component that supports variants should follow this pattern:
- Create a variants file (e.g.,
button.variants.ts):
import { cva } from 'class-variance-authority';
export const buttonVariants = cva('base-classes-here', {
variants: {
variant: {
primary: 'variant-specific-classes',
secondary: 'variant-specific-classes',
// ... other variants
},
size: {
sm: 'size-specific-classes',
md: 'size-specific-classes',
lg: 'size-specific-classes',
},
},
defaultVariants: {
variant: 'primary',
size: 'md',
},
});
- Use the variants in your component (e.g.,
Button.vue):
<script setup lang="ts">
import { computed } from "vue";
import { buttonVariants } from "./button.variants";
import { cn } from "@/lib/utils";
export interface ButtonProps {
variant?: "primary" | "secondary" | /* other variants */;
size?: "sm" | "md" | "lg";
class?: string;
}
const props = withDefaults(defineProps<ButtonProps>(), {
variant: "primary",
size: "md",
});
const buttonClass = computed(() => {
return cn(
buttonVariants({ variant: props.variant, size: props.size }),
props.class
);
});
</script>
<template>
<button :class="buttonClass">
<slot />
</button>
</template>
Storybook Development
We use Storybook for component development and documentation. To start the Storybook development server:
npm run storybook
This will start Storybook at http://localhost:6006
When creating stories for your components:
- Place story files in the
storiesdirectory - Name your story files as
ComponentName.stories.ts - Include examples of all variants and states
- Add documentation using JSDoc comments
Example story file:
import type { Meta, StoryObj } from '@storybook/vue3';
import { Button } from '../src/components/common/button';
const meta = {
title: 'Components/Button',
component: Button,
tags: ['autodocs'],
argTypes: {
variant: {
control: 'select',
options: ['primary', 'secondary', 'outline'],
},
size: {
control: 'select',
options: ['sm', 'md', 'lg'],
},
},
} satisfies Meta<typeof Button>;
export default meta;
type Story = StoryObj<typeof meta>;
export const Primary: Story = {
args: {
variant: 'primary',
size: 'md',
},
};
export const Secondary: Story = {
args: {
variant: 'secondary',
size: 'md',
},
};