fix(start-plugin-core): handle dropped plugin driver during resolve#7371
fix(start-plugin-core): handle dropped plugin driver during resolve#7371aartisonigra wants to merge 2 commits intoTanStack:mainfrom
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR adds the ChangesVite Plugin Enhancement and Dependencies
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Around line 147-149: The package.json currently pins the internal package
"@tanstack/react-start" to an external version; update the dependencies entry
for "@tanstack/react-start" to use the workspace protocol by replacing its
version string with "workspace:*" so the project uses the local workspace
package consistent with the pnpm override.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b9af0de6-be0b-4137-b36b-76e02a9d0664
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (2)
package.jsonpackages/start-plugin-core/src/vite/start-compiler-plugin/plugin.ts
| "dependencies": { | ||
| "@tanstack/react-start": "1.167.57" | ||
| } |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Root dependency value:"
jq -r '.dependencies["@tanstack/react-start"] // "<missing>"' package.json
echo "Override value:"
jq -r '.pnpm.overrides["@tanstack/react-start"] // "<missing>"' package.json
echo "Verify this package exists in workspace:"
fd -i 'package.json$' | xargs -r jq -r 'select(.name=="@tanstack/react-start") | input_filename'Repository: TanStack/router
Length of output: 194
Use workspace protocol for internal @tanstack/react-start dependency
This internal workspace package should use workspace:* instead of a pinned external version to maintain consistency with the pnpm override already set for it.
Proposed change
"dependencies": {
- "@tanstack/react-start": "1.167.57"
+ "@tanstack/react-start": "workspace:*"
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "dependencies": { | |
| "@tanstack/react-start": "1.167.57" | |
| } | |
| "dependencies": { | |
| "@tanstack/react-start": "workspace:*" | |
| } |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` around lines 147 - 149, The package.json currently pins the
internal package "@tanstack/react-start" to an external version; update the
dependencies entry for "@tanstack/react-start" to use the workspace protocol by
replacing its version string with "workspace:*" so the project uses the local
workspace package consistent with the pnpm override.
Bundle Size Benchmarks
Current gzip tracks all emitted client JS chunks. Initial gzip tracks only the entry/import graph. Trend sparkline is historical current gzip ending with this PR measurement; lower is better. |
|
This PR fixes the Rolldown RSC regression where this.resolve() could throw "Plugin driver is already dropped" during the RSC production build. I also synced the pnpm lockfile to resolve the CI lockfile mismatch issue. Local builds are now passing successfully. Please review when you get a chance. Thank you! |
Summary
Fixes a Rolldown RSC build regression where
this.resolve()could throw:during server function resolution in the
tanstack-start-core::server-fn:rscplugin.Changes
this.resolve()in atry/catchnullDevEnvironmentandHotUpdateOptionstypings for improved type safetyReproduction
The issue was reproducible with:
@tanstack/react-start@1.167.63@tanstack/react-start@1.167.64and did not occur on:
@tanstack/react-start@1.167.57Result
pnpm buildnow completes successfully without crashing during the RSC production build when using Rolldown.Summary by CodeRabbit
Chores
Bug Fixes