Unbreak the release pipeline: plugin-react must accept vite 8 - #5824
Merged
Conversation
No release can publish. `release-on-merge.yml` runs `npm ci` in frontend/ and it has been failing ERESOLVE, so the [RELEASE] merge for #5055 produced no PyPI upload at all -- and neither will any other, until this lands. npm error While resolving: @vitejs/plugin-react@4.7.0 npm error Found: vite@8.2.2 npm error dev vite@"^8.2.2" from the root project npm error peer vite@"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" from @vitejs/plugin-react@4.7.0 Cause: #5376 (dependabot, "bump esbuild and vite") took vite to ^8.2.2 and left @vitejs/plugin-react at ^4.7.0, which peers only up to ^7. The two are separate dependabot PRs, so nothing checked them together, and the break is invisible on every PR -- only the release path runs this step. @vitejs/plugin-react 6.1.0 peers vite ^8.0.0 (its three other peers are marked optional), so the bump is the whole fix. Dependabot #5257 proposes that bump but touches package.json ONLY. `npm ci` requires package.json and package-lock.json to agree, so merging it alone swaps one npm ci failure for another. Both files are updated here. Verified by running the release step's own commands, not by reading: before, from origin/main: npm ci -> exit 1, ERESOLVE (reproduced locally) after: npm ci -> exit 0, 86 packages npm run build -> exit 0, bundle emitted in 509ms Deliberately minimal: package.json and package-lock.json only. The build rewrote clawmetry/static/v2/dist with fresh content hashes and that churn is reverted -- the release workflow rebuilds the bundle fresh ("Build v2 React bundle (fresh)"), so the committed dist is not what ships, and a smaller diff is worth more on a pipeline-unblocking change. No-PRD: restores a broken release pipeline; no product surface changes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xb6A5G74JiMe3zHFs1JZEP
✅ Drift Bot (ClawMetry): no drift detectedDrift Bot analyzed the changed files against this project's blueprints and requirements and found no drift. |
vivekchand
added a commit
that referenced
this pull request
Sep 11, 2026
) (#5825) Claude-Session: https://claude.ai/code/session_01Xb6A5G74JiMe3zHFs1JZEP Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
3 tasks
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.
No release can publish right now.
release-on-merge.ymlrunsnpm ciinfrontend/, and it failsERESOLVE. The[RELEASE]merge for #5055 produced no PyPI upload at all, and neither will any other until this lands.Cause
#5376 (dependabot, "bump esbuild and vite") took
viteto^8.2.2and left@vitejs/plugin-reactat^4.7.0, which peers only up to^7.They are separate dependabot PRs, so nothing evaluated them together. And the break is invisible on every ordinary PR —
npm ciinfrontend/runs only on the release path, so the first symptom is a[RELEASE]that merges cleanly and silently ships nothing.Fix
@vitejs/plugin-react@6.1.0peersvite: ^8.0.0; its three other peers are marked optional. That bump is the whole fix.Why not just merge dependabot #5257, which proposes the same bump: it touches
package.jsononly.npm cirequirespackage.jsonandpackage-lock.jsonto agree, so merging it alone swaps onenpm cifailure for another. Both files are updated here.Verified by running the release step's own commands
A note on how that was checked: my first attempt read
exit=$?after a pipe, so it reported0while npm had actually failed and installed nothing. The numbers above come from capturing npm's own exit code directly.Scope
Deliberately minimal —
package.jsonandpackage-lock.jsononly. The build rewroteclawmetry/static/v2/distwith fresh content hashes; that churn is reverted, because the release workflow rebuilds the bundle itself ("Build v2 React bundle (fresh)"), so the committeddistis not what ships and a smaller diff is worth more on a pipeline-unblocking change.No-PRD: restores a broken release pipeline; no product surface changes.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Xb6A5G74JiMe3zHFs1JZEP