Repository navigation
chore(deps): update dependency vite-plus to v1 - #2938
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Contributor
|
✅ Staging deployment successful! Preview: https://viteplus-staging.void.app/ |
renovate
Bot
force-pushed
the
renovate/major-vite+
branch
29 times, most recently
from
October 10, 2026 14:24
4573041 to
2433e2c
Compare
renovate
Bot
force-pushed
the
renovate/major-vite+
branch
15 times, most recently
from
October 13, 2026 02:58
db99295 to
37fb6af
Compare
renovate
Bot
force-pushed
the
renovate/major-vite+
branch
from
October 13, 2026 07:00
37fb6af to
d349bf6
Compare
Contributor
Author
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
fengmk2
added a commit
that referenced
this pull request
Nov 12, 2026
> [!NOTE] > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@ast-grep/napi](https://ast-grep.github.io) ([source](https://redirect.github.com/ast-grep/ast-grep)) | [`0.51.0` → `0.51.1`](https://renovatebot.com/diffs/npm/@ast-grep%2fnapi/0.51.0/0.51.1) |  |  |  |  | | [@iconify/vue](https://iconify.design/) ([source](https://redirect.github.com/iconify/iconify/tree/HEAD/components/vue)) | [`5.0.1` → `5.0.5`](https://renovatebot.com/diffs/npm/@iconify%2fvue/5.0.1/5.0.5) |  |  |  |  | | [@nkzw/safe-word-list](https://redirect.github.com/nkzw-tech/safe-word-list) | [`3.1.0` → `3.1.2`](https://renovatebot.com/diffs/npm/@nkzw%2fsafe-word-list/3.1.0/3.1.2) |  |  |  |  | | [bingo](https://create.bingo) ([source](https://redirect.github.com/bingo-js/bingo/tree/HEAD/packages/bingo)) | [`^0.13.2` → `^0.16.0`](https://renovatebot.com/diffs/npm/bingo/0.13.2/0.16.0) |  |  |  |  | | [es-module-lexer](https://redirect.github.com/guybedford/es-module-lexer) | [`3.0.3` → `3.0.4`](https://renovatebot.com/diffs/npm/es-module-lexer/3.0.3/3.0.4) |  |  |  |  | | [fast-wrap-ansi](https://redirect.github.com/43081j/fast-wrap-ansi) | [`0.2.0` → `0.2.2`](https://renovatebot.com/diffs/npm/fast-wrap-ansi/0.2.0/0.2.2) |  |  |  |  | | [mermaid](https://redirect.github.com/mermaid-js/mermaid) | [`12.2.0` → `12.3.0`](https://renovatebot.com/diffs/npm/mermaid/12.2.0/12.3.0) |  |  |  |  | | [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`1.62.1` → `1.65.0`](https://renovatebot.com/diffs/npm/playwright/1.62.1/1.65.0) |  |  |  |  | | [reka-ui](https://redirect.github.com/unovue/reka-ui) | [`2.9.9` → `2.11.0`](https://renovatebot.com/diffs/npm/reka-ui/2.9.9/2.11.0) |  |  |  |  | | [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.3.0` → `4.3.5`](https://renovatebot.com/diffs/npm/tailwindcss/4.3.0/4.3.5) |  |  |  |  | | [vitepress-plugin-group-icons](https://redirect.github.com/yuyinws/vitepress-plugin-group-icons) | [`1.7.5` → `1.8.1`](https://renovatebot.com/diffs/npm/vitepress-plugin-group-icons/1.7.5/1.8.1) |  |  |  |  | | [vitepress-plugin-llms](https://redirect.github.com/okineadev/vitepress-plugin-llms) | [`1.13.1` → `1.14.0`](https://renovatebot.com/diffs/npm/vitepress-plugin-llms/1.13.1/1.14.0) |  |  |  |  | | [vue](https://vuejs.org/) ([source](https://redirect.github.com/vuejs/core)) | [`3.5.35` → `3.5.45`](https://renovatebot.com/diffs/npm/vue/3.5.35/3.5.45) |  |  |  |  | | [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`4.127.1` → `4.158.0`](https://renovatebot.com/diffs/npm/wrangler/4.127.1/4.158.0) |  |  |  |  | --- ### Release Notes <details> <summary>ast-grep/ast-grep (@​ast-grep/napi)</summary> ### [`v0.51.1`](https://redirect.github.com/ast-grep/ast-grep/blob/HEAD/CHANGELOG.md#0511) [Compare Source](https://redirect.github.com/ast-grep/ast-grep/compare/0.51.0...0.51.1) > 2 November 2026 - fix(cli): report skipped files and reason in --inspect entity [`#3044`](https://redirect.github.com/ast-grep/ast-grep/pull/3044) - chore(deps): update rust crate tree-sitter-scala to v0.26.4 [`#3054`](https://redirect.github.com/ast-grep/ast-grep/pull/3054) - fix(dynamic): only replace metavariable sigils with the expando char [`#3052`](https://redirect.github.com/ast-grep/ast-grep/pull/3052) - fix(core): keep $ followed by a digit literal in fix templates [`#3045`](https://redirect.github.com/ast-grep/ast-grep/pull/3045) - fix(deps): update rust-wasm-bindgen monorepo [`#3046`](https://redirect.github.com/ast-grep/ast-grep/pull/3046) - Fix macOS universal2 wheel matching [`#3050`](https://redirect.github.com/ast-grep/ast-grep/pull/3050) - chore(deps): update rust crate napi-derive to v3.7.0 [`#3049`](https://redirect.github.com/ast-grep/ast-grep/pull/3049) - chore(deps): update rust crate napi to v3.16.1 [`#3047`](https://redirect.github.com/ast-grep/ast-grep/pull/3047) - fix(scan): bind utilDirs utils for --inline-rules and --rules [`#2943`](https://redirect.github.com/ast-grep/ast-grep/pull/2943) - fix(cli): percent-encode file paths in sarif uri [`#3042`](https://redirect.github.com/ast-grep/ast-grep/pull/3042) - chore(deps): update dependency node to v26 [`#3043`](https://redirect.github.com/ast-grep/ast-grep/pull/3043) - chore(deps): update dependency oxlint to v1.90.0 [`#3036`](https://redirect.github.com/ast-grep/ast-grep/pull/3036) - chore(deps): update astral-sh/setup-uv action to v10.3.3 [`#3040`](https://redirect.github.com/ast-grep/ast-grep/pull/3040) - chore(deps): update rust crate globset to v0.4.21 [`#3037`](https://redirect.github.com/ast-grep/ast-grep/pull/3037) - chore(deps): update rust crate ignore to v0.4.34 [`#3038`](https://redirect.github.com/ast-grep/ast-grep/pull/3038) - chore(deps): update dependency node to v26 [`#3039`](https://redirect.github.com/ast-grep/ast-grep/pull/3039) - fix(sarif): set the log version to 2.1.0 [`#3035`](https://redirect.github.com/ast-grep/ast-grep/pull/3035) - fix(cli): escape special characters in github format output [`#3034`](https://redirect.github.com/ast-grep/ast-grep/pull/3034) - chore(deps): update dependency web-tree-sitter to ^0.26.0 || ^0.27.0 [`#3019`](https://redirect.github.com/ast-grep/ast-grep/pull/3019) - chore(deps): update dependency dprint to v0.64.3 [`#3029`](https://redirect.github.com/ast-grep/ast-grep/pull/3029) - chore(deps): update rust crate smallvec to v1.16.4 [`#3030`](https://redirect.github.com/ast-grep/ast-grep/pull/3030) - chore(deps): update rust crate similar to v3.2.1 [`#3031`](https://redirect.github.com/ast-grep/ast-grep/pull/3031) - chore(deps): update rust crate tree-sitter-md to v0.5.4 [`#3032`](https://redirect.github.com/ast-grep/ast-grep/pull/3032) - fix(deps): update rust crate tree-sitter-dart to 0.3.0 [`#3033`](https://redirect.github.com/ast-grep/ast-grep/pull/3033) - chore(deps): update dependency oxlint to v1.89.0 [`#3018`](https://redirect.github.com/ast-grep/ast-grep/pull/3018) - chore(deps): update dependency [@​napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.10.9 [`#3025`](https://redirect.github.com/ast-grep/ast-grep/pull/3025) - chore(deps): update rust crate napi-derive to v3.6.13 [`#3026`](https://redirect.github.com/ast-grep/ast-grep/pull/3026) - chore(deps): update rust crate napi to v3.15.0 [`#3028`](https://redirect.github.com/ast-grep/ast-grep/pull/3028) - chore(deps): update astral-sh/setup-uv action to v10.3.2 [`#3024`](https://redirect.github.com/ast-grep/ast-grep/pull/3024) - chore(deps): update dependency dprint to v0.64.1 [`#3017`](https://redirect.github.com/ast-grep/ast-grep/pull/3017) - chore(deps): update rust crate tokio to v1.54.1 [`#3020`](https://redirect.github.com/ast-grep/ast-grep/pull/3020) - refactor(cli): apply project defaults through InputArgs [`#3027`](https://redirect.github.com/ast-grep/ast-grep/pull/3027) - feat(cli): support no-ignore in project config [`#3003`](https://redirect.github.com/ast-grep/ast-grep/pull/3003) - fix(deps): update rust crate tree-sitter-php to 0.25.0 [`#3022`](https://redirect.github.com/ast-grep/ast-grep/pull/3022) - chore(deps): update rust crate tree-sitter to v0.27.1 [`#3014`](https://redirect.github.com/ast-grep/ast-grep/pull/3014) - chore(deps): update dependency [@​ast-grep/napi](https://redirect.github.com/ast-grep/napi) to v0.51.0 [`#3016`](https://redirect.github.com/ast-grep/ast-grep/pull/3016) - chore(deps): update rust crate tree-sitter-scala to v0.26.3 [`#3015`](https://redirect.github.com/ast-grep/ast-grep/pull/3015) - chore(deps): update astral-sh/setup-uv action to v10.3.0 [`#2938`](https://redirect.github.com/ast-grep/ast-grep/pull/2938) - chore(deps): update dependency [@​napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.10.8 [`#3004`](https://redirect.github.com/ast-grep/ast-grep/pull/3004) - chore(deps): update rust crate toml_edit to v0.25.17 [`#3013`](https://redirect.github.com/ast-grep/ast-grep/pull/3013) - chore(deps): update rust crate smallvec to v1.16.3 [`#3011`](https://redirect.github.com/ast-grep/ast-grep/pull/3011) - chore(deps): update rust crate tokio-util to v0.7.20 [`#3012`](https://redirect.github.com/ast-grep/ast-grep/pull/3012) - chore(deps): update rust crate schemars to v1.2.3 [`#3009`](https://redirect.github.com/ast-grep/ast-grep/pull/3009) - chore(deps): update rust crate serde_json to v1.0.154 [`#3010`](https://redirect.github.com/ast-grep/ast-grep/pull/3010) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v24.19.2 [`#3007`](https://redirect.github.com/ast-grep/ast-grep/pull/3007) - chore(deps): update dependency web-tree-sitter to ^0.27.0 [`#2914`](https://redirect.github.com/ast-grep/ast-grep/pull/2914) - chore(deps): update rust crate napi-derive to v3.6.12 [`#3008`](https://redirect.github.com/ast-grep/ast-grep/pull/3008) - chore(deps): update dependency smol-toml to v1.9.1 [`#2985`](https://redirect.github.com/ast-grep/ast-grep/pull/2985) - fix(deps): update rust-wasm-bindgen monorepo [`#2924`](https://redirect.github.com/ast-grep/ast-grep/pull/2924) - chore(deps): update rust crate tree-sitter-swift to v0.7.4 [`#2982`](https://redirect.github.com/ast-grep/ast-grep/pull/2982) - chore(deps): update rust crate napi-build to v2.6.0 [`#2987`](https://redirect.github.com/ast-grep/ast-grep/pull/2987) - chore(deps): update rust crate napi to v3.14.2 [`#2986`](https://redirect.github.com/ast-grep/ast-grep/pull/2986) - fix(config): reject unknown top-level keys in rule config [`#3006`](https://redirect.github.com/ast-grep/ast-grep/pull/3006) - fix(cli): report skipped files and reason in --inspect entity ([#​3044](https://redirect.github.com/ast-grep/ast-grep/issues/3044)) [`#2990`](https://redirect.github.com/ast-grep/ast-grep/issues/2990) - fix(config): reject unknown top-level keys in rule config ([#​3006](https://redirect.github.com/ast-grep/ast-grep/issues/3006)) [`#2963`](https://redirect.github.com/ast-grep/ast-grep/issues/2963) - Revert "chore(deps): update dependency node to v26 ([#​3039](https://redirect.github.com/ast-grep/ast-grep/issues/3039))" [`6b5708a`](https://redirect.github.com/ast-grep/ast-grep/commit/6b5708a32991134bf0bef6ec158d071a6612a79c) - fix: mark GlobalRules::insert crate pub only and unsafe [`e52c478`](https://redirect.github.com/ast-grep/ast-grep/commit/e52c4783d89576fb265e0746603c1848250a11a4) - fix: fix web-tree-sitter 0.26 memory corruption [`ecb8578`](https://redirect.github.com/ast-grep/ast-grep/commit/ecb85782c2381bfca337156c89bbe91972de3b1a) </details> <details> <summary>bingo-js/bingo (bingo)</summary> ### [`v0.16.0`](https://redirect.github.com/bingo-js/bingo/blob/HEAD/packages/bingo/CHANGELOG.md#0160) [Compare Source](https://redirect.github.com/bingo-js/bingo/compare/bingo@0.15.0...bingo@0.16.0) ##### Minor Changes - [#​552](https://redirect.github.com/bingo-js/bingo/pull/552) [`8f50ea7`](https://redirect.github.com/bingo-js/bingo/commit/8f50ea7e8bdc4608213bfaba2108d2aebb1e8470) Thanks [@​michaelfaith](https://redirect.github.com/michaelfaith)! - Bumped Node support to `^22.22.2 || ^24.15.0 || >=26.0.0`. Namely, this just means a slightly higher minimum for v22. ##### Patch Changes - [#​544](https://redirect.github.com/bingo-js/bingo/pull/544) [`94c14ee`](https://redirect.github.com/bingo-js/bingo/commit/94c14ee7d83e96a24efe67d21510578e4dd79e54) Thanks [@​michaelfaith](https://redirect.github.com/michaelfaith)! - Updated attribution for all packages to include both maintainers. - [#​553](https://redirect.github.com/bingo-js/bingo/pull/553) [`41f0dbe`](https://redirect.github.com/bingo-js/bingo/commit/41f0dbe2d45509e82bf9569bd815df4d9174414d) Thanks [@​michaelfaith](https://redirect.github.com/michaelfaith)! - *Deps:* Updated `hosted-git-info` to v10. - [#​551](https://redirect.github.com/bingo-js/bingo/pull/551) [`f256818`](https://redirect.github.com/bingo-js/bingo/commit/f25681821ac79bccf85a71322cd644b995b9ea81) Thanks [@​michaelfaith](https://redirect.github.com/michaelfaith)! - Bumped multiple dependencies. - Updated dependencies \[[`94c14ee`](https://redirect.github.com/bingo-js/bingo/commit/94c14ee7d83e96a24efe67d21510578e4dd79e54), [`f256818`](https://redirect.github.com/bingo-js/bingo/commit/f25681821ac79bccf85a71322cd644b995b9ea81), [`8f50ea7`](https://redirect.github.com/bingo-js/bingo/commit/8f50ea7e8bdc4608213bfaba2108d2aebb1e8470)]: - bingo-fs\@​0.8.0 - bingo-requests\@​0.7.0 - bingo-systems\@​0.9.0 ### [`v0.15.0`](https://redirect.github.com/bingo-js/bingo/blob/HEAD/packages/bingo/CHANGELOG.md#0150) [Compare Source](https://redirect.github.com/bingo-js/bingo/compare/bingo@0.14.0...bingo@0.15.0) ##### Minor Changes - [#​495](https://redirect.github.com/bingo-js/bingo/pull/495) [`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3) Thanks [@​michaelfaith](https://redirect.github.com/michaelfaith)! - Added `exports` conditions to the package to establish a strict public API. In addition to the primary entry point, the `package.json` is also exported. - [#​495](https://redirect.github.com/bingo-js/bingo/pull/495) [`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3) Thanks [@​michaelfaith](https://redirect.github.com/michaelfaith)! - Updated supported versions of node to `^22.15.0 || ^24.15.0 || >=26.0.0`, removing support for EoL versions. ##### Patch Changes - [#​509](https://redirect.github.com/bingo-js/bingo/pull/509) [`89223e9`](https://redirect.github.com/bingo-js/bingo/commit/89223e9724b08d8747ad7e9d91bd07bff623d6b5) Thanks [@​michaelfaith](https://redirect.github.com/michaelfaith)! - Declared `sideEffects: false` to the package.json. - Updated dependencies \[[`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3), [`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3), [`89223e9`](https://redirect.github.com/bingo-js/bingo/commit/89223e9724b08d8747ad7e9d91bd07bff623d6b5)]: - bingo-fs\@​0.7.0 - bingo-requests\@​0.6.0 - bingo-systems\@​0.8.0 ### [`v0.14.0`](https://redirect.github.com/bingo-js/bingo/blob/HEAD/packages/bingo/CHANGELOG.md#0140) [Compare Source](https://redirect.github.com/bingo-js/bingo/compare/bingo@0.13.2...bingo@0.14.0) ##### Minor Changes - [#​480](https://redirect.github.com/bingo-js/bingo/pull/480) [`471336b`](https://redirect.github.com/bingo-js/bingo/commit/471336be2234f8569c0b7ad0cadebb9f5fc388cd) Thanks [@​mike-4040](https://redirect.github.com/mike-4040)! - Declare `zod` as an optional peer dependency `bingo` and the `input-from-*` packages list `zod` (`^4.4.3`) under both `dependencies` and optional `peerDependencies`. Package managers that support peers with defaults, such as pnpm and Yarn, give `bingo` the project's own copy of `zod` and warn when its version falls outside the supported range. Projects that use `zod` only through `bingo` get it installed as a regular dependency. </details> <details> <summary>guybedford/es-module-lexer (es-module-lexer)</summary> ### [`v3.0.4`](https://redirect.github.com/guybedford/es-module-lexer/releases/tag/3.0.4) [Compare Source](https://redirect.github.com/guybedford/es-module-lexer/compare/3.0.3...3.0.4) #### What's Changed - perf(lexer): reduce TS lookahead work by [@​BridgeAR](https://redirect.github.com/BridgeAR) in [#​258](https://redirect.github.com/guybedford/es-module-lexer/pull/258) - fix(parser): preserve complete import attribute metadata by [@​BridgeAR](https://redirect.github.com/BridgeAR) in [#​260](https://redirect.github.com/guybedford/es-module-lexer/pull/260) - fix(ts): lex `/` after a postfix non-null assertion as division by [@​guybedford](https://redirect.github.com/guybedford) in [#​263](https://redirect.github.com/guybedford/es-module-lexer/pull/263) - ci: add release and publish workflows by [@​guybedford](https://redirect.github.com/guybedford) in [#​264](https://redirect.github.com/guybedford/es-module-lexer/pull/264) **Full Changelog**: <guybedford/es-module-lexer@3.0.3...3.0.4> </details> <details> <summary>43081j/fast-wrap-ansi (fast-wrap-ansi)</summary> ### [`v0.2.2`](https://redirect.github.com/43081j/fast-wrap-ansi/releases/tag/0.2.2) [Compare Source](https://redirect.github.com/43081j/fast-wrap-ansi/compare/0.2.0...0.2.2) #### What's Changed - chore: fix typescript build by [@​43081j](https://redirect.github.com/43081j) in [#​95](https://redirect.github.com/43081j/fast-wrap-ansi/pull/95) **Full Changelog**: <43081j/fast-wrap-ansi@0.2.1...0.2.2> </details> <details> <summary>mermaid-js/mermaid (mermaid)</summary> ### [`v12.3.0`](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4012.3.0) [Compare Source](https://redirect.github.com/mermaid-js/mermaid/compare/mermaid@12.2.0...mermaid@12.3.0) ##### Minor Changes - [#​8164](https://redirect.github.com/mermaid-js/mermaid/pull/8164) [`592d0e4`](https://redirect.github.com/mermaid-js/mermaid/commit/592d0e407d557b501d9f273ed18c7c62b1b9f48b) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - feat: add the open-arrow and hollow-circle edge markers, so a notation can tell two kinds of flow apart by whether the head is filled - [#​8165](https://redirect.github.com/mermaid-js/mermaid/pull/8165) [`5c8aa5d`](https://redirect.github.com/mermaid-js/mermaid/commit/5c8aa5d834b7090258259eaf8b827cbefd6ff40f) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - feat: add the BPMN element shapes - events, gateways, activities, data objects, data stores and text annotations - each reporting where a line meets what is drawn - [#​8470](https://redirect.github.com/mermaid-js/mermaid/pull/8470) [`692d22a`](https://redirect.github.com/mermaid-js/mermaid/commit/692d22a3ec9cf235cecf17013160f14dafb42999) Thanks [@​openmindednewby](https://redirect.github.com/openmindednewby)! - feat: flowchart edges accept a `step` number (`e1@{ step: 1 }`); a dot travels the edges in step order and loops, hidden under `prefers-reduced-motion` - [#​8478](https://redirect.github.com/mermaid-js/mermaid/pull/8478) [`56aa105`](https://redirect.github.com/mermaid-js/mermaid/commit/56aa10536075a320c084087478c468553b923e6e) Thanks [@​openmindednewby](https://redirect.github.com/openmindednewby)! - feat: add `flowchart.stepDuration` to set how many seconds each step of the flowchart step animation lasts - [#​8479](https://redirect.github.com/mermaid-js/mermaid/pull/8479) [`800f7ef`](https://redirect.github.com/mermaid-js/mermaid/commit/800f7efb1c7e80cf56478507808c744a1d07e1c1) Thanks [@​openmindednewby](https://redirect.github.com/openmindednewby)! - feat: highlight the flowchart edge whose step is playing, in sync with the step animation dot - [#​8480](https://redirect.github.com/mermaid-js/mermaid/pull/8480) [`50d6294`](https://redirect.github.com/mermaid-js/mermaid/commit/50d6294dab27123d7ecc1301c2c861bfe7ef4dce) Thanks [@​openmindednewby](https://redirect.github.com/openmindednewby)! - feat: add `flowchart.stepNumbers` to show each step edge's number in a badge ##### Patch Changes - [#​8443](https://redirect.github.com/mermaid-js/mermaid/pull/8443) [`2ff8286`](https://redirect.github.com/mermaid-js/mermaid/commit/2ff8286f9aa82b89aefe26c575c49a575fa518c1) Thanks [@​knsv-bot](https://redirect.github.com/knsv-bot)! - fix: agentflow renders the `a[/…/]` short form as an input instead of falling back to a task with a SHAPE_UNSUPPORTED warning - [#​8661](https://redirect.github.com/mermaid-js/mermaid/pull/8661) [`b200b27`](https://redirect.github.com/mermaid-js/mermaid/commit/b200b270f5e51d9199c5263dc402f4a6fe4fa33a) Thanks [@​pbrolin47](https://redirect.github.com/pbrolin47)! - fix: Bump DOMPurify to 3.4.17 to address GHSA-55q2-fjhq-7xh7 and GHSA-6688-9rhm-gjv2 - [#​8633](https://redirect.github.com/mermaid-js/mermaid/pull/8633) [`686f350`](https://redirect.github.com/mermaid-js/mermaid/commit/686f350e8c7627dfcc6b0035f237f76bca1152b2) Thanks [@​sidharthv96](https://redirect.github.com/sidharthv96)! - chore: Remove the `uuid` dependency and the unused legacy ER diagram renderer - [#​8661](https://redirect.github.com/mermaid-js/mermaid/pull/8661) [`7eec083`](https://redirect.github.com/mermaid-js/mermaid/commit/7eec083adcaba707257795feb937f2274c990713) Thanks [@​pbrolin47](https://redirect.github.com/pbrolin47)! - fix: Stop an edge from a node inside a subgraph from crossing an edge from the subgraph itself to the same node with ELK 0.10+ (e.g. `outer --> a` with `da --> a`, or `three --> two` with `two --> c2`) - [#​8532](https://redirect.github.com/mermaid-js/mermaid/pull/8532) [`42d3760`](https://redirect.github.com/mermaid-js/mermaid/commit/42d37602aed5ddbfb2674b78e08336fa5f3fb548) Thanks [@​Devehab](https://redirect.github.com/Devehab)! - fix: upgrade bundled elkjs from 0.9.3 to 0.12.0, which is licensed `EPL-2.0 OR GPL-3.0-or-later`, so GPL-3.0 projects can ship mermaid with ELK - [#​8162](https://redirect.github.com/mermaid-js/mermaid/pull/8162) [`d5ca27a`](https://redirect.github.com/mermaid-js/mermaid/commit/d5ca27a636a2a5b65768c8ef3f847601dac055a9) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix(swimlanes): size a lane that holds a nested subgraph (TB drew it as an empty 0x0 box, and likewise an outer group holding lanes), and grow LR and RL lanes by the nested group's padding - [#​8405](https://redirect.github.com/mermaid-js/mermaid/pull/8405) [`b4299f2`](https://redirect.github.com/mermaid-js/mermaid/commit/b4299f2f440e63092caab6fdfe2d1b6cc19308a8) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix: do not draw a stray empty swimlane when a node is listed in two lanes, and warn about it and about a subgraph nested in a lane - [#​8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385) [`37d0ace`](https://redirect.github.com/mermaid-js/mermaid/commit/37d0aceb1e435490a7614299d035c7dc91729282) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix(swimlanes): keep two arrowheads that land on one face of a node apart when a sibling edge is straightened - [#​8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385) [`38e810a`](https://redirect.github.com/mermaid-js/mermaid/commit/38e810afe946ac4ebf48b7274c02689e032c51db) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix(swimlanes): an edge routed round the outside of a diamond now arrives at one of its vertices instead of ending in empty space beside it - [#​8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385) [`25d7e31`](https://redirect.github.com/mermaid-js/mermaid/commit/25d7e314d143efb31b5f0813f9ee5fb7b50bd19b) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix(swimlanes): a second edge leaving a diamond on the same level as its target now leaves from a free vertex instead of running beside the first - [#​8171](https://redirect.github.com/mermaid-js/mermaid/pull/8171) [`a4750b4`](https://redirect.github.com/mermaid-js/mermaid/commit/a4750b42aa697b2fed476cdfb297407b70b61e8e) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix: dock a swimlane edge on the shape it points at, so a line reaches an event's ring instead of stopping at the room its caption reserves - [#​8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385) [`67315b9`](https://redirect.github.com/mermaid-js/mermaid/commit/67315b937147ad06ce202dd9bdaaa219697b55d4) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix: an edge label no longer pushes the nodes it joins a rank apart - [#​8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385) [`21a1f5c`](https://redirect.github.com/mermaid-js/mermaid/commit/21a1f5c11de99daef5dae6639c9cd4649ae62efd) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix(swimlanes): stop the crossing cleanup from joining two routes at a corner so they read as one line - [#​8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385) [`e14bc3a`](https://redirect.github.com/mermaid-js/mermaid/commit/e14bc3a752b1c18e01fef3e849ae83bc0f35417f) Thanks [@​filipsajdak](https://redirect.github.com/filipsajdak)! - fix(swimlanes): an edge no longer arrives at the vertex of a hexagon that another edge leaves from - [#​8459](https://redirect.github.com/mermaid-js/mermaid/pull/8459) [`edd162f`](https://redirect.github.com/mermaid-js/mermaid/commit/edd162f3f052649709a660cff4b511ed45584d7f) Thanks [@​Yun-seoung](https://redirect.github.com/Yun-seoung)! - fix: Allow flowchart edge IDs regardless of whitespace after the node shape Edge IDs may no longer contain `[ ] ( ) { } |`. - [#​8402](https://redirect.github.com/mermaid-js/mermaid/pull/8402) [`4f2bade`](https://redirect.github.com/mermaid-js/mermaid/commit/4f2bade8434bf25e9b3daf3fdd873515ae70ce23) Thanks [@​pcp-cmd](https://redirect.github.com/pcp-cmd)! - fix: Render use case include and extend relationship labels with UML guillemets. </details> <details> <summary>microsoft/playwright (playwright)</summary> ### [`v1.65.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.65.0) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.64.1...v1.65.0) ##### 🥟 Run tests with Bun The test runner now runs under [Bun](https://bun.com). Bun transpiles your TypeScript test files itself, so Playwright does not use Babel or its compilation cache. Pass the `--bun` flag, because without it `bunx playwright test` runs on Node.js: ```bash bunx --bun playwright test ``` Our CI runs the test runner tests under Bun 1.4.3 on Linux. Some features work differently under Bun: - There is no watch mode. UI mode does not run tests again when files change, and `--only-changed` does not follow imports. - Bun loads modules itself, so `--tsconfig` and the JSX options in `tsconfig.json` have no effect, and custom ESM loaders are not supported. - Stack traces do not include async frames, and API names do not include the class name: `click` instead of `locator.click`. This changes some step locations, step titles and error messages. - Console output of a test does not get into the trace and UI mode. ##### 🚨 Reports with only failures New [`failures`](https://playwright.dev/docs/test-reporters#failures-reporter) reporter prints failures and successful retries as they occur, followed by a summary, without progress output. New `onlyFailures` option of the HTML, JSON and JUnit reporters [keeps only](https://playwright.dev/docs/test-reporters#report-only-failures) tests with unexpected outcomes, flaky tests and interrupted tests: ```js // playwright.config.ts import { defineConfig } from '@playwright/test'; export default defineConfig({ reporter: [ ['failures'], ['html', { onlyFailures: true }], ], }); ``` ##### 🎯 Test runner - New built-in `-exclusive-` [test lock](https://playwright.dev/docs/test-parallel#test-locks) runs a test only when no other tests are running. All other tests continue to run in parallel with each other: ```js test('restart the server', { lock: '-exclusive-' }, async () => { // No other test runs while this one is running. }); ``` - [test.skip()](https://playwright.dev/docs/api/class-test#test-skip), [test.fixme()](https://playwright.dev/docs/api/class-test#test-fixme), [test.fail()](https://playwright.dev/docs/api/class-test#test-fail) and [test.slow()](https://playwright.dev/docs/api/class-test#test-slow) now accept only a description. It is recorded in the test annotation: ```js test('upload a file', async ({ page }) => { test.skip('Not implemented yet'); }); ``` - New `PLAYWRIGHT_TRANSFORM_CACHE_DIR` environment variable sets the directory for transpiled test files, for example on a Linux machine shared with other users. ##### New APIs - New options [`timeout`](https://playwright.dev/docs/api/class-cdpsession#cdp-session-send-option-timeout) and [`signal`](https://playwright.dev/docs/api/class-cdpsession#cdp-session-send-option-signal) in [cdpSession.send()](https://playwright.dev/docs/api/class-cdpsession#cdp-session-send). - New [testRun.mode()](https://playwright.dev/docs/api/class-testrun#test-run-mode) returns the execution mode of a suite during [reporter.preprocess()](https://playwright.dev/docs/api/class-reporter#reporter-preprocess). ##### Notable Changes⚠️ - TypeScript class fields now follow [`useDefineForClassFields`](https://playwright.dev/docs/test-typescript#tsconfig-class-fields) from your `tsconfig.json`, the same as `tsc`. It is enabled for `ES2022` and later targets, and when `target` is not specified. A field initializer that reads a constructor parameter property now fails, because the initializer runs first: ```js class LoginPage { // TypeError: Cannot read properties of undefined (reading 'getByRole') readonly submit = this.page.getByRole('button', { name: 'Submit' }); constructor(private readonly page: Page) {} } ``` Move the initialization to the constructor, or set `"useDefineForClassFields": false` in your `tsconfig.json`. - Actions such as [locator.click()](https://playwright.dev/docs/api/class-locator#locator-click), [locator.check()](https://playwright.dev/docs/api/class-locator#locator-check), [locator.tap()](https://playwright.dev/docs/api/class-locator#locator-tap), [locator.fill()](https://playwright.dev/docs/api/class-locator#locator-fill), [locator.clear()](https://playwright.dev/docs/api/class-locator#locator-clear) and [locator.selectOption()](https://playwright.dev/docs/api/class-locator#locator-select-option) now wait for the element to be [not inert](https://playwright.dev/docs/actionability#not-inert). An action on an element with the `inert` attribute, or inside such an element, now times out if the element stays inert. - A sharded run now fails with "No tests found" when no tests match across all shards. Pass `--pass-with-no-tests` to allow this. An empty shard still passes when other shards have tests. - Cookie matching now follows RFC 6265. With a URL, [browserContext.cookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-cookies) and [apiRequestContext.cookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-cookies) no longer return host-only cookies for subdomains or `Path=/api` cookies for `/apiv2`, and a `Path=/foo/` cookie does not match `/foo`. [APIRequestContext](https://playwright.dev/docs/api/class-apirequestcontext) sends a cookie without a name as `Cookie: x` instead of `Cookie: =x`, and stores `Set-Cookie: token` as a cookie without a name. - Proxy credentials are no longer sent to websites. The credentials in the [`proxy`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-proxy) option now answer only proxy challenges. To authenticate on a website, use [`httpCredentials`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-http-credentials). - Text that the browser does not render, such as text that is not assigned to a slot or text directly inside a closed `<details>`, is no longer part of accessible names and aria snapshots. This can change the results of [page.getByRole()](https://playwright.dev/docs/api/class-page#page-get-by-role) with a name, [locator.ariaSnapshot()](https://playwright.dev/docs/api/class-locator#locator-aria-snapshot) and [expect(locator).toMatchAriaSnapshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot). - String and `URLSearchParams` values of the `params` option in [APIRequestContext](https://playwright.dev/docs/api/class-apirequestcontext) requests are now appended to the query that the URL already has, instead of replacing it. - `.css`, `.less` and `.scss` imports in test files now load as empty modules instead of being removed, so the imported file must exist. - The blob reporter again deletes the content of its output directory before it writes the report. Playwright 1.64 kept reports with other names. - Test locations of imported calls such as `test(` in CommonJS output now point to the start of the callee, for example `a.spec.ts:3:7` instead of `a.spec.ts:3:11`. This is the same as in ESM. ##### Announcements -⚠️ Playwright no longer tests on Node.js 20. Use Node.js 22, 24 or 26, as listed in the [system requirements](https://playwright.dev/docs/intro#system-requirements). - 🐳 [Docker images](https://playwright.dev/docs/docker) now include Node.js 26 instead of Node.js 24, and the latest patch of Chromium on the same branch. ##### Browser Versions - Chromium 158.0.8127.18 - Mozilla Firefox 159.0 - WebKit 27.2 This version was also tested against the following stable channels: - Google Chrome 157 - Microsoft Edge 156 ### [`v1.64.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.64.1) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.64.0...v1.64.1) ##### Bug Fixes - [#​43247](https://redirect.github.com/microsoft/playwright/issues/43247) \[Bug]: \_electron.launch intermittently loses a packaged app's first window since 1.64.0 - [#​43242](https://redirect.github.com/microsoft/playwright/issues/43242) \[Regression]: Chromium 155+ aborts a preflighted cross-origin redirect whenever any route is registered (net::ERR_ABORTED) ### [`v1.64.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.64.0) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.63.0...v1.64.0) #### 🧰 WebMCP New [page.webmcp](https://playwright.dev/docs/api/class-page#page-webmcp) and [frame.webmcp](https://playwright.dev/docs/api/class-frame#frame-webmcp) give access to the tools that a page registers through the experimental [WebMCP](https://playwright.dev/docs/api/class-webmcp) browser API, so you can test them like any other part of your app: ```js const browser = await chromium.launch({ args: ['--enable-features=WebMCP'] }); const page = await browser.newPage(); await page.goto('https://example.com'); for (const tool of await page.webmcp.tools()) console.log(tool.name, tool.description); const result = await page.webmcp.callTool('add', { a: 2, b: 40 }); console.log(result.content[0].text); // "42" ``` [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) also supports WebMCP by default, with page-defined tools offered to the agent as `webmcp_<tool>`. Pass `--no-webmcp` to opt out. [`playwright-cli`](https://playwright.dev/docs/getting-started-cli) exposes them as well: ```bash playwright-cli webmcp-list playwright-cli webmcp-call search_catalog --params '{"query":"cats"}' ``` #### 🎬 Better videos Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS: ```js // playwright.config.ts import { defineConfig } from '@playwright/test'; export default defineConfig({ use: { video: { mode: 'on', size: { width: 1920, height: 1080 }, fps: 60, show: { actions: { style: { point: 'width: 20px; height: 20px; border-radius: 50%; background: red', highlight: 'outline: 2px solid #​333; background: rgba(0, 128, 255, .15)', title: 'font-size: 16px', }, }, }, }, }, }); ``` - New `fps` option in [testOptions.video](https://playwright.dev/docs/api/class-testoptions#test-options-video), [`recordVideo`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video) and [screencast.start()](https://playwright.dev/docs/api/class-screencast#screencast-start). Firefox and WebKit currently capture up to 25 frames per second. - New [`style`](https://playwright.dev/docs/api/class-screencast#screencast-show-actions-option-style) option takes CSS declarations for the `point` marker, the target `highlight` and the action `title`. It replaces the `fontSize` option, which is now deprecated. - The cursor stays visible at the last action point, survives navigations and travels along a natural, eased path. - Videos are encoded with VP9 instead of VP8, which takes less CPU and produces smaller files of the same or better quality. - All video options are also available in [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) and [`playwright-cli`](https://playwright.dev/docs/getting-started-cli). #### 🎯 Test runner - New [testProject.default](https://playwright.dev/docs/api/class-testproject#test-project-default) option keeps a project in the config without running it by default. You can configure every browser you care about, and let a plain `npx playwright test` run just your favourite one: ```js // playwright.config.ts import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ projects: [ { name: 'chromium', use: devices['Desktop Chrome'] }, { name: 'firefox', use: devices['Desktop Firefox'], default: false }, { name: 'webkit', use: devices['Desktop Safari'], default: false }, ], }); ``` ```bash npx playwright test # runs chromium only npx playwright test --project=firefox # runs firefox npx playwright test --project="*" # runs all three, for example on CI ``` - New `--shuffle` command line option schedules tests in a random order, which helps to find tests that accidentally depend on each other. ```bash npx playwright test --shuffle # Running 42 tests using 4 workers, shuffle seed 271828182 # ... # Pass the seed to reproduce the same order. npx playwright test --shuffle 271828182 ``` - New `lock` option in [test.describe.configure()](https://playwright.dev/docs/api/class-test#test-describe-configure) adds [test locks](https://playwright.dev/docs/test-parallel#test-locks) to all tests in a file or a group: ```js test.describe.configure({ lock: 'user-settings' }); ``` - New `type` option of `toHaveScreenshot` in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) stores all unnamed screenshots as WebP: ```js // playwright.config.ts export default defineConfig({ expect: { toHaveScreenshot: { type: 'webp' }, }, }); ``` #### 🪆 Locator.within() New [locator.within()](https://playwright.dev/docs/api/class-locator#locator-within) combines two locators that you already have, reading in the natural order — "this button, within that dialog": ```js const saveButton = page.getByRole('button', { name: 'Save' }); const dialog = page.getByTestId('settings-dialog'); await saveButton.within(dialog).click(); ``` Relative locators such as [locator.nth()](https://playwright.dev/docs/api/class-locator#locator-nth) or [locator.first()](https://playwright.dev/docs/api/class-locator#locator-first) are resolved inside each parent separately, which makes column-like queries straightforward: ```js // The third cell of every row, not the third cell in the table. const thirdColumn = page.getByRole('cell').nth(2).within(page.getByRole('row')); await expect(thirdColumn).toHaveText(['Apple', 'Banana', 'Cherry']); ``` #### New APIs - New [page.getByRef()](https://playwright.dev/docs/api/class-page#page-get-by-ref) locates an element by its aria ref, such as `e2`, reported by [page.ariaSnapshot()](https://playwright.dev/docs/api/class-page#page-aria-snapshot) in the `'ai'` mode. - New option [`includeShadow`](https://playwright.dev/docs/api/class-page#page-content-option-include-shadow) in [page.content()](https://playwright.dev/docs/api/class-page#page-content) and [frame.content()](https://playwright.dev/docs/api/class-frame#frame-content) serializes open shadow roots as [declarative shadow DOM](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM#declaratively_with_html). - New option [`signCount`](https://playwright.dev/docs/api/class-credentials#credentials-create-option-sign-count) sets the initial signature counter of a virtual credential. [credentials.create()](https://playwright.dev/docs/api/class-credentials#credentials-create) and [credentials.get()](https://playwright.dev/docs/api/class-credentials#credentials-get) return the current `signCount`, and it is saved and restored together with the credentials in the storage state. - New [fullConfig.filteredProjects](https://playwright.dev/docs/api/class-fullconfig#full-config-filtered-projects) lists the projects that were selected to run after applying the `--project` filter. It is available in global setup and reporters. - New [apiRequestContext.addCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-add-cookies), [apiRequestContext.cookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-cookies) and [apiRequestContext.clearCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-clear-cookies) manage cookies of a request context, mirroring the [BrowserContext](https://playwright.dev/docs/api/class-browsercontext) methods: ```js await request.addCookies([{ name: 'session-id', value: '42', url: 'https://example.com' }]); console.log(await request.cookies('https://example.com')); await request.clearCookies({ name: 'session-id' }); ``` #### Breaking changes⚠️ - `screen` property is now forwarded from the [device descriptors](https://playwright.dev/docs/emulation#devices). If you use `...devices['Desktop Chrome']` and alike, `window.screen` and media queries now see the emulated screen size. You can opt-out by explicitly setting `screen` to `undefined`: ```js // playwright.config.ts export default defineConfig({ use: { ...devices['Desktop Chrome'], screen: undefined, }, }); ``` - JSX in your test files now follows your `tsconfig.json`. Playwright compiles JSX in test files according to the `jsx`, `jsxFactory`, `jsxFragmentFactory` and `jsxImportSource` [tsconfig options](https://playwright.dev/docs/test-typescript#tsconfig-jsx-options), and defaults to the automatic runtime from `react/jsx-runtime`. - `--update-snapshots=missing` now passes the test run. Tests that only create missing snapshots now pass in the `'missing'` mode of [testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots), so that CI can generate new snapshots and verify the existing ones in a single run. The mode used when the option is not specified is now > [!IMPORTANT] > ✂ PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 10am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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/voidzero-dev/vite-plus). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yMjAuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjIyOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK <fengmk2@gmail.com>
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.
This PR contains the following updates:
0.0.0-commit.11393b1a9ec1739c5897fefd418bdb095a34db7e→1.1.0Release Notes
voidzero-dev/vite-plus (vite-plus)
v1.1.0: vite-plus v1.1.0: fastervp devstartup and clearer interactive promptsCompare Source
Vite+ 1.1 starts
vp devfaster and makes the interactive prompts clearer, alongside fixes forvp migrate, package-manager commands, and Windows terminals.Highlights
vp devreaches its local URL about 24% sooner and uses about 30% less memory in the parent process, because Vite+ no longer loads Vite and Vitest there before starting the dev server (#2851), by @camc314.Features
vp runsetsnpm_execpathandnpm_config_user_agentfor npm, pnpm, and Yarn, so tools such as npm-run-all2 use the project's package manager instead of falling back to npm (#2895), by @naokihaba and @tarikermis.vite@8.3.1tovite@8.3.3,rolldown@1.2.11torolldown@1.2.12,vitest@5.0.1tovitest@5.0.3,oxlint@1.85.0tooxlint@1.87.0, andoxfmt@0.70.0tooxfmt@0.72.0. The new lint and format versions can flag code that passed before, so runvp fmtafter upgrading if CI runsvp check.vp migratenow keeps the React RefreshallowCompoundComponentsoption because the bundled Oxlint supports it (#2871, #2896, #2904), by @voidzero-guard[bot].Fixes & Enhancements
vp migratekeeps Oxlint rules written with plugin aliases (such as@typescript-eslint/*,react-hooks/*, andimport-x/*) and removes rules the bundled Oxlint does not support, listing them in a warning (#2820, #2906), by @TheAlexLichter and @yusuke99.vp migrateleaves projects without a declared package manager unpinned, keeps existing declarations, and points tovp env pinwhen it infers one (#2817), by @TheAlexLichter.vp migratereports a short error for a directory withoutpackage.jsoninstead of anENOENTstack trace (#2821), by @TheAlexLichter.vp createin an existing pnpm workspace adds the catalog entries the new application needs, so installation no longer fails withERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC(#2808), by @SaKaNa-Y.vprscripts and managed Bun, pnpm, npm, and Yarn commands without leavingcmd.exestuck atTerminate batch job (Y/N)?(#2890), by @fengmk2.vp pack --watchon Windows rebuilds with the new options after the config file changes (#2826), by @liangmiQwQ.vp test doctorandvp test completerun the Vitest subcommands instead of being treated as test file filters (#2879), by @liangmiQwQ.vp packfinds installed Vue language tools and TypeScript Go for declaration generation, and Playwright browser provider options keep their types (#2868, #2865), by @liangmiQwQ.--offlineand--prefer-offline, and Yarn Classic accepts a single--filterforvp remove(#2775), by @jong-kyung.vp pm configin Bun projects falls back to npm, as its warning says (#2899), by @jong-kyung.vp pm approve-buildsstates that Yarn Berry disables third-party build scripts by default from 4.14.0, not in every version (#2902), by @jong-kyung.vp implodeasks you to typeboominstead ofuninstallto confirm (#2901), by @fengmk2.+, and removals a red-, with bold package names in both (#2828), by @liangmiQwQ.Refactor
semverwithverkitin the CLI, reducing the bundled CLI JavaScript by about 26 KB (#2837), by @liangmiQwQ.vp env doctor, and remove unused config migration metadata (#2876, #2894), by @jong-kyung.Docs
vp packdemo (#2843, #2844), by @TheAlexLichter and @naokihaba.vp install -g --nodeand explain whenvp env defaultre-resolves versions (#2885, #2884), by @hyunbinseo.vpxguide andvpx --help(#2864), by @SaKaNa-Y.vp installstep fromsetup-vpCI examples (#2888), by @yusuke99.vp env current --jsonexample for the split directory layout (#2886, #2887, #2889, #2891), by @jong-kyung.Chore
docs/public, and ignore the roottmpdirectory (#2832, #2831, #2860), by @liangmiQwQ.set-snapshot-versionaction (#2877), by @jong-kyung.Bundled Versions
8.3.3fea5b211.2.1245e407b0.23.05.0.31.87.07.0.20030.72.0Upgrade
New Contributors
@hyunbinseo
Full Changelog: v1.0.0...v1.1.0
Published Packages
@voidzero-dev/vite-plus-core@1.1.0vite-plus@1.1.0Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.1.0 vp buildRun any
vpcommand without installing it; see the Docker guide for more.v1.0.0: vite-plus v1.0.0: Vite+ 1.0 is stableCompare Source
Vite+ 1.0 is stable (announcement). This release promotes v1.0.0-rc.1 to stable with no code changes.
Notable changes since v0.3.3
v1.0.0 includes everything from the two release candidates below. See each release's notes for the full list of changes.
vp testmoves tovitest@5.0.1, and the CLI now requires Node.js^22.18.0 || ^24.11.0 || >=26.0.0.vp stagedhas new Node.js and Git minimums. Standalone installs andvp upgradeverify release provenance.run.tasksmove undercache.vp lintandvp fmtrun from a package directory now use the same config as your editor.Projects on v1.0.0-rc.1 need no changes. Projects on v1.0.0-rc.0 whose tasks set
env,untrackedEnv,input, oroutputshould runvp migrateto move those settings undercache. For a Vite+ 0.3 project, follow Upgrade from Vite+ 0.3 to 1.0 and runvp migratebefore you update the project's dependencies.Bundled Versions
8.3.139ddf7c1.2.118df42190.23.05.0.11.85.07.0.20030.70.0Upgrade
Full Changelog: v1.0.0-rc.1...v1.0.0
Published Packages
@voidzero-dev/vite-plus-core@1.0.0vite-plus@1.0.0Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.0.0 vp buildRun any
vpcommand without installing it; see the Docker guide for more.v0.3.3: vite-plus v0.3.3: Homebrew setup and workspace dependency fixesCompare Source
This release fixes Homebrew setup, Windows installation, and workspace dependency commands. It also updates Rolldown, Oxlint, and Oxfmt.
Fixes & Enhancements
brew upgrade vite-plus(#2729), by @fengmk2.vp migrateremoves the unsupported React RefreshallowCompoundComponentsoption and warns about possible lint errors (#2702), by @fengmk2.--workspace-root. Yarn Classic accepts root additions throughvp addandvp install <packages>(#2713), by @jong-kyung.vp dedupewarns about unsupported check options (#2717), by @jong-kyung.NO_COLOR(#2716), by @liangmiQwQ.Dependency Updates
rolldown@1.2.8torolldown@1.2.9,oxlint@1.82.0tooxlint@1.83.0, andoxfmt@0.67.0tooxfmt@0.68.0. The new lint and format versions can flag code that passed before. Runvp fmtafter upgrading if CI runsvp check(#2725), by @voidzero-guard[bot].Docs
Chore
@voidzero-dev/vite-plus-promptswith npm releases (#2707), by @fengmk2.Bundled Versions
vite8.3.0434e8e9rolldown1.2.95b4746etsdown0.23.0vitest4.1.11oxlint1.83.0oxlint-tsgolint7.0.2001oxfmt0.68.0Upgrade
New Contributors
@james-elicx
Full Changelog: v0.3.2...v0.3.3
Published Packages
@voidzero-dev/vite-plus-core@0.3.3vite-plus@0.3.3Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.3.3 vp buildRun any
vpcommand without installing it; see the Docker guide for more.v0.3.2: vite-plus v0.3.2: independent package-manager versions and Oxlint plugin APIsCompare Source
vp env usenow sets each package manager's version independently. This release also adds Oxlint plugin APIs and fixes migration, installation, and template extraction.Breaking Changes
Package-manager overrides
Direct package-manager commands no longer use
VP_PACKAGE_MANAGER. Use the matching version variable in shell profiles, CI jobs, and Dockerfiles:VP_PACKAGE_MANAGER=npm@<version>VP_NPM_VERSION=<version>VP_PACKAGE_MANAGER=pnpm@<version>VP_PNPM_VERSION=<version>VP_PACKAGE_MANAGER=yarn@<version>VP_YARN_VERSION=<version>VP_PACKAGE_MANAGER=bun@<version>VP_BUN_VERSION=<version>VP_PACKAGE_MANAGERstill selects the manager and version forvp installand related commands.vp env use pnpm@10now changes only the direct pnpm commands. To overridevp install, setVP_PACKAGE_MANAGERexplicitly.The old
.session-package-managerfile is no longer read or migrated. Runvp env useagain to create the new session files. Projects that use only project pins or global defaults need no changes. See the environment guide (#2658, #2659), by @liangmiQwQ.Installer preferences
VP_NODE_MANAGERnow controls only Node.js. Existing installations retain saved preferences during upgrades, sovp upgradeneeds no configuration changes. For scripted installations, setVP_PM_MANAGERto apply the same choice to package managers:VP_NODE_MANAGER=noVP_NODE_MANAGER=no VP_PM_MANAGER=noVP_NODE_MANAGER=yesVP_NODE_MANAGER=yes VP_PM_MANAGER=yesUpdate installer commands in CI jobs and Dockerfiles. Use
VP_NPM_MANAGER,VP_PNPM_MANAGER,VP_YARN_MANAGER, orVP_BUN_MANAGERfor individual preferences. The interactive prompt retains its combined choice. See the installer variables guide (#2681), by @liangmiQwQ.Vite DevTools
Projects that install
@vitejs/devtoolsmust update its dependency range from^0.4.0 || ^0.5.0to^0.7.1. Projects without this optional dependency need no changes. This requirement comes with the Vite upgrade listed below.Highlights
vp upgradeshare setup behavior across platforms, which simplifies maintenance. The installers retain support for older releases (#2611), by @liangmiQwQ.vite-plus/lint/pluginsandvite-plus/lint/plugins-dev.vp migrateupdates supported existing imports (#2328), by @fengmk2.vp installandvp addnow honor--ignore-scriptsfor named packages and managed global installations (#2682), by @jong-kyung.Features
vite@8.2.2tovite@8.3.0and fromrolldown@1.2.7torolldown@1.2.8. They also update fromoxlint@1.81.0tooxlint@1.82.0and fromoxfmt@0.66.0tooxfmt@0.67.0. The new linter and formatter can flag code that passed before. Runvp fmtafter the upgrade if CI runsvp check(#2670), by @fengmk2.Fixes & Enhancements
vp createrejects malformed registry versions that could place organization template files outside the cache directory (#2665), by @fengmk2.vp env pinupdates an active local.nvmrcand preserves its comments. Use--target nvmrcto select this file explicitly (#2676), by @ywenhao.vp migratereports unsupported ESLint rules that it skips, so users can review the missing checks (#2689), by @yusuke99.vp migrateimports leftover tsdown configuration when a project already uses Vite+ (#2646), by @TheAlexLichter.vp migrateaccepts single-line JSON formatter configuration with a final newline (#2643), by @TheAlexLichter.vp migrateavoids a redundantplaywrightdependency when the project already declares@playwright/test(#2637), by @yusuke99.--no-interactiveand report missing arguments without prompts. Existing generators need the updated entrypoint (#2677), by @SaKaNa-Y.vp upgradeinstalls its dependencies correctly when the installation directory is inside a pnpm workspace (#2644), by @fengmk2.nodeis absent fromPATH(#2673), by @fengmk2.package.jsonerrors include the affected file's path (#2683), by @adamaveray.Docs
envfield (#2653), by @SaKaNa-Y.viteandvitestdependencies (#2660), by @naokihaba.Chore
Bundled Versions
vite8.3.0434e8e9rolldown1.2.89704b56tsdown0.23.0vitest4.1.11oxlint1.82.0oxlint-tsgolint7.0.2001oxfmt0.67.0Upgrade
New Contributors
@yusuke99, @pablog12, @SaKaNa-Y, @ywenhao, @adamaveray
Full Changelog: v0.3.1...v0.3.2
Published Packages
@voidzero-dev/vite-plus-core@0.3.2vite-plus@0.3.2Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.3.2 vp buildRun any
vpcommand without installing it; see the Docker guide for more.v0.3.1: vite-plus v0.3.1: manage package-manager versions with vp envCompare Source
vp envnow manages Node.js and package-manager versions together. This release also fixes TanStack Start routing and stale Vitest aliases.Breaking Changes
Package-manager setup
Vite+ replaces Corepack with managed
npm,pnpm,yarn, andbuncommands. It removes thecorepackshim and legacy global package-manager installations (#2391), by @liangmiQwQ.Replace Corepack setup commands in shell profiles, CI jobs, and Dockerfiles:
corepack enablevp env setupvp install -g pnpm@<version>vp env default pnpm@<version>vp install -g yarn@<version>vp env default yarn@<version>vp install -g bun@<version>vp env default bun@<version>vp install -g corepackUse
vp env pin <manager>@<version>to set a project version.vp envcommand scope and JSON outputUnscoped
vp envcommands now operate on Node.js and package managers. Package managers support independent defaults, project pins, session overrides, and installation commands (#2398), by @liangmiQwQ.Add
nodeto limit an operation to Node.js, for example,vp env off nodeorvp env unpin node. Bare versions, such asvp env default 22.19.0, still select Node.js.Update scripts that read JSON output:
vp env current --jsonnodeandpackage_managerobjectsvp env list --json,vp env list-remote --jsonnodeandpackage_managersgroupsSee the environment guide.
vp packmigration totsdown@0.23vp packnow usestsdown@0.23, which removes deprecated options and changes defaults (#2614), by @fengmk2.vp migrateto update supported static configurations and package scripts, including projects that already use Vite+.vite.config.*,tsdown.config.*, andpackage.json..map()require manual changes, even when migration reports no warning.vp packto check the result.bundle: falseunbundle: trueoutExtensionoutExtensionspublicDir/--public-dircopy/--copyremoveNodeProtocol: truenodeProtocol: 'strip'injectStylecss.injectinlineOnly/deps.onlyAllowBundledeps.onlyBundlenoExternaldeps.alwaysBundleskipNodeModulesBundle: true/deps.skipNodeModulesBundle: truedeps.neverBundle: truedts.tsgo: true/dts.oxc: truedts.generator: 'tsgo'/dts.generator: 'oxc'Migration preserves the previous defaults for dependency resolution and ATTW.
tsdownno longer supports Node.js25. Use Node.js^22.18.0,^24.11.0, or>=26.0.0. The programmaticbuild()API now returns{ bundles, watch }.See the complete migration guide for declaration and TypeScript module-resolution changes.
CLI argument validation
vp staged,vp config,vp hooks,vp migrate, andvp createnow reject unsupported options and extra positional arguments (#2523), by @fengmk2.Remove unsupported arguments from scripts. For example, replace
vp config --hooks-onlywithvp config --no-agent.Highlights
404responses caused by separate Vite runtime copies (#2617), by @fengmk2.vp-shim.exesize from214 KiBto14 KiB(#2466), by @fengmk2.vp check --quietto hide lint warning diagnostics while retaining errors and summary counts (#2593), by @RSS1102.Features
vp sync-versions --jsonso automation can request dependency alignment plans from manifest snapshots without changing project files (#2600), by @afonsojramos.vp create --gitsuggest an initial commit command after Git initialization (#2581), by @fengmk2.vp migratereplace frozenvoidzero-dev/setup-vp@v1workflow references with the supported version pin (#2540), by @fengmk2.rolldownfrom1.2.5to1.2.7,tsdownfrom0.22.14to0.23.0, and Oxc from0.146.0to0.148.0. Upgradeoxlintfrom1.79.0to1.81.0andoxfmtfrom0.64.0to0.66.0. These versions can flag code that passed before. Runvp fmtafter upgrading if CI runsvp check(#2580, #2613), by @voidzero-guard[bot].Fixes & Enhancements
package.json. Usevp env pinorvp env unpinto change project declarations explicitly (#2399), by @liangmiQwQ.vp migraterepair stalevitestaliases that previously prevented the CLI from starting (#2605), by @fengmk2.4.xmajor (#2612), by @fengmk2.tsdownoption from the prompts package build (#2597), by @jong-kyung.Refactor
whichdependency to resolve relativePATHentries (#2583), by @RSS1102.async-traitannotation fromJsRuntimeProvider(#2538), by @jong-kyung.Docs
runtimeOnFailsetting (#2620), by @liangmiQwQ.Chore
vinextfixture to an upstream fix (#2571), by @jong-kyung.tempfiledependencies, an unused runtime helper, and unused error variants. Update theunit_bindingslint name (#2555, #2558, #2566, #2567), by @jong-kyung.actions/setup-nodev7(#2544, #2545, #2582, #2618), by @renovate[bot].crate-ci/typosthroughv1.50.1(#2584, #2589, #2609), by @renovate[bot].11.24.0(#2590), by @renovate[bot].voidzero-dev/setup-vptov1.19.0(#2619), by @renovate[bot].Bundled Versions
vite8.2.2de1111arolldown1.2.726b4c6etsdown0.23.0vitest4.1.11oxlint1.81.0oxlint-tsgolint7.0.2001oxfmt0.66.0Upgrade
New Contributors
@afonsojramos, @joschuba
Full Changelog: v0.3.0...v0.3.1
Published Packages
@voidzero-dev/vite-plus-core@0.3.1vite-plus@0.3.1Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.3.1 vp buildRun any
vpcommand without installing it; see the Docker guide for more.v0.3.0: vite-plus v0.3.0: XDG install layout, tsup project migration, and Bun 1.4 supportCompare Source
Fresh installs now use a split directory layout instead of a single
~/.vite-plusroot. Unix follows the XDG base directory specification, and Windows uses the standard%LOCALAPPDATA%and%APPDATA%folders. Existing~/.vite-plusinstalls keep their current directory layout.vp migratealso convertstsupprojects, andvpnow sends Bun1.4package-manager commands tobundirectly. The published npm package shrank by about half, and the upgrade check no longer delays each command.Breaking Changes
Fresh installs now use a split directory layout instead of a single root: XDG base directories on Unix, and the standard known folders on Windows. Existing
~/.vite-plusinstalls keep their current layout, and the installer does not move their files.VP_HOMEstill selects the single-root layout (#2346), by @forehaloVP_HOME)~/.local/share/vite-plus/bin%LOCALAPPDATA%\vite-plus\bin<root>/bin~/.local/share/vite-plus%LOCALAPPDATA%\vite-plus\data<root>~/.cache/vite-plus%LOCALAPPDATA%\vite-plus\cache<root>/cache~/.config/vite-plus%APPDATA%\vite-plus<root>~/.local/state/vite-plus%LOCALAPPDATA%\vite-plus\state<root>The installer configures your shell for the new location, and CI that installs through
setup-vpkeeps the single-root layout automatically. Update each hard-coded~/.vite-plus/binpath, such as a path in a Dockerfile.vp upgradeleaves an existing install where it is. To move one to the split layout, remove it and install again:On Windows, run
vp implode, thenRemove-Item Env:\VP_HOME, Env:\VP_DATA_DIR, Env:\VP_BIN_DIR, Env:\VP_CACHE_DIR -ErrorAction SilentlyContinue, thenirm https://vite.plus/ps1 | iex. Also delete any persistentVP_HOMEorVP_*_DIRdefinition from your shell profile or system environment, because a fresh install still honors them andVP_HOMEselects the single-root layout.vp imploderemoves every Vite+ managed Node.js runtime, global package, configuration file, and cache. Stay on your current layout if you would rather not rebuild that state. See Move an existing install to the split directory layout.Highlights
vp migratenow convertstsupprojects. It replaces thetsupdependency and script withvp pack. It also changestsup.config.tsto atsdown.config.tsthat imports fromvite-plus/pack([#2434](https://redirect.github.com/voidzero-dConfiguration
📅 Schedule: (in timezone Asia/Shanghai)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.