Skip to content

Conversation

@ScriptedAlchemy
Copy link
Owner

Implement full Rsbuild support for TanStack Start by porting the Vite plugin, resolving build breaks and enabling Rsbuild e2e parity.

This PR introduces a dedicated Rsbuild plugin architecture to correctly handle configuration, manifest generation, server-side functions, and client-side routing. This addresses the TS2451 duplicate variable declaration error in start-manifest-plugin.ts and fixes the React Rsbuild SPA e2e failures by ensuring proper client-only route rendering, thus achieving functional parity with Vite.


Open in Cursor Open in Web

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@cursor
Copy link

cursor bot commented Feb 8, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@changeset-bot
Copy link

changeset-bot bot commented Feb 8, 2026

⚠️ No Changeset found

Latest commit: 20fe2f2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
cursoragent and others added 2 commits February 8, 2026 17:28
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@ScriptedAlchemy ScriptedAlchemy changed the title Rsbuild plugin SPA issues tanstack start rsbuild Feb 8, 2026
@ScriptedAlchemy ScriptedAlchemy marked this pull request as ready for review February 9, 2026 00:37
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d0ade15776

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 419 to 422
if (!('options' in value)) {
return undefined
}
return (value as { options?: Record<string, unknown> }).options

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Require redirect marker before serializing options payloads

getRedirectOptions currently returns any object's options field, and handleServerAction uses that helper for every server-function result; this means a normal return value like { options: {...} } is converted into an isSerializedRedirect response even when no redirect was thrown. In production this will mis-handle valid business payloads and force the client down redirect error handling instead of returning data.

Useful? React with 👍 / 👎.

Comment on lines 68 to 70
const hasLocation =
typeof candidate.to === 'string' || typeof candidate.href === 'string'
if (statusCode === undefined || !hasLocation) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Stop inferring redirects from generic code/to objects

parseRedirectFallback treats any payload with a numeric code/statusCode plus string to/href as a redirect, so ordinary JSON results (e.g. domain objects containing those common fields) are thrown as navigation redirects. This broad heuristic introduces false positives for successful server-function responses that previously returned data normally.

Useful? React with 👍 / 👎.

Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@autofix-troubleshooter
Copy link

Hi! I'm the autofix logoautofix.ci troubleshooter bot.

It looks like you correctly set up a CI job that uses the autofix.ci GitHub Action, but the autofix.ci GitHub App has not been installed for this repository. This means that autofix.ci unfortunately does not have the permissions to fix this pull request. If you are the repository owner, please install the app and then restart the CI workflow! 😃

@ScriptedAlchemy ScriptedAlchemy merged commit 9c1a6b2 into feat/rsbuild Feb 9, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants