From 7b42ee04ed72b9f4e5d3a7875b2c1dc9ff3f95cb Mon Sep 17 00:00:00 2001 From: MK Date: Mon, 10 Aug 2026 15:55:49 +0800 Subject: [PATCH 1/2] chore: group all Vite+ packages on one Renovate policy The vite catalog entry is an npm alias for @voidzero-dev/vite-plus-core, so it misses the preset's vite+ rule (0-day minimumReleaseAge, any-time schedule) and falls under the generic npm rule (3-day age, Monday schedule). Renovate then bumps vite-plus and leaves the alias behind: main already pairs vite-plus 0.2.4 with core 0.2.2, and #593 would widen that to 0.2.8 vs 0.2.2. Add a repo rule so vite-plus and @voidzero-dev/vite-plus-* share the vite+ group and the same age and schedule. Same fix as voidzero-dev/setup-vp#121 and voidzero-dev/setup.viteplus.dev#42; see voidzero-dev/vite-plus#2356 for the general write-up. --- .github/renovate.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/renovate.json b/.github/renovate.json index 20ca7872e..3ed333ed8 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,5 +1,14 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["github>Boshen/renovate"], - "ignorePaths": ["**/fixtures/**"] + "ignorePaths": ["**/fixtures/**"], + "packageRules": [ + { + "description": "Group all Vite+ packages into a single PR; they are published together at the same version. minimumReleaseAge and schedule keep @voidzero-dev/vite-plus-* (the vite catalog alias) on the same policy as vite-plus; the preset's generic npm rule would otherwise hold the alias behind a 3-day age gate and a Monday schedule.", + "groupName": "vite+", + "matchPackageNames": ["vite-plus", "@voidzero-dev/vite-plus-*"], + "minimumReleaseAge": "0 days", + "schedule": ["at any time"] + } + ] } From 1351b88d06d421fbc0714b71be958df5a6819eaf Mon Sep 17 00:00:00 2001 From: MK Date: Mon, 10 Aug 2026 15:57:21 +0800 Subject: [PATCH 2/2] chore: include vitest in the vite+ group vp pins the vitest override to the version bundled in vite-plus, so a lone vitest bump would desync the pin the same way as the vite alias. vite-task has no vitest today; the match is inert until it does. --- .github/renovate.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index 3ed333ed8..cc657ae55 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -4,9 +4,9 @@ "ignorePaths": ["**/fixtures/**"], "packageRules": [ { - "description": "Group all Vite+ packages into a single PR; they are published together at the same version. minimumReleaseAge and schedule keep @voidzero-dev/vite-plus-* (the vite catalog alias) on the same policy as vite-plus; the preset's generic npm rule would otherwise hold the alias behind a 3-day age gate and a Monday schedule.", + "description": "Group all Vite+ packages into a single PR; they are published together at the same version, and vp pins vitest to the version bundled in vite-plus. minimumReleaseAge and schedule keep @voidzero-dev/vite-plus-* (the vite catalog alias) on the same policy as vite-plus; the preset's generic npm rule would otherwise hold the alias behind a 3-day age gate and a Monday schedule.", "groupName": "vite+", - "matchPackageNames": ["vite-plus", "@voidzero-dev/vite-plus-*"], + "matchPackageNames": ["vite-plus", "@voidzero-dev/vite-plus-*", "vitest"], "minimumReleaseAge": "0 days", "schedule": ["at any time"] }