Skip to content

feat: support Rsbuild deployment adapters with Nitro - #578

Open
SyMind wants to merge 7 commits into
TanStack:mainfrom
SyMind:codex/rsbuild-nitro-deployments
Open

SyMind wants to merge 7 commits into
TanStack:mainfrom
SyMind:codex/rsbuild-nitro-deployments

Conversation

@SyMind

@SyMind SyMind commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Add Nitro, Railway, Render, Vercel, and Netlify deployment support to React/Solid Rsbuild Start projects, including tanstack add.

Use the experimental nitro/rsbuild integration and generate platform configuration. Share Nitro 3.0.261103-rc across Vite/Rsbuild, require Node.js >=22.22 and Rsbuild >=2.3, and preserve engine requirements across add-on overlays. Cloudflare remains Vite-only pending a compatible Workerd dev runtime.

Validation: pnpm build and pnpm test pass (579 unit tests, 22 blocking browser tests). Generated Rsbuild/Vite projects pass build, typecheck, and local dev/SSR checks. Hosted deployments have not been exercised.

Summary by CodeRabbit

  • New Features

    • Create React and Solid Rsbuild Start projects with Nitro deployment adapters for Railway, Render, Vercel, and Netlify.
    • Choose deployment adapters during project creation or add one to an existing Rsbuild Start project.
    • Generated projects include provider-specific deployment setup and instructions.
  • Documentation

    • Updated CLI and deployment guides with Rsbuild adapter support, compatibility requirements, and Cloudflare’s Vite-only availability.
  • Limitations

    • Deployment adapters are not available for router-only projects.

@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Explain Change →

Walkthrough

Rsbuild deployment adapters are now available for React and Solid Start projects. The CLI selects supported adapters, and generated projects configure Nitro for supported providers. Router-only projects and Cloudflare remain unsupported for Rsbuild deployments.

Changes: Rsbuild Deployment Adapters

Layer / File(s) Summary
Add-on validation and package generation
packages/create/src/build-tools.ts, packages/create/src/package-engines.ts, packages/create/src/package-json.ts, packages/create/src/edge-package-json.ts, packages/create/tests/*, packages/create/package.json
Rsbuild supports deployment add-ons with an rsbuild-plugin integration, allows at most one adapter, and rejects deployment adapters for router-only projects. Package generation includes deployment dependencies and merges engine ranges.
CLI deployment selection
packages/cli/src/command-line.ts, packages/cli/src/options.ts, packages/cli/src/ui-prompts.ts, packages/cli/tests/*, packages/cli/tests-e2e/rsbuild-smoke.spec.ts
The CLI accepts Rsbuild deployment flags and offers eligible adapters during selection. The tests cover supported adapters, excluded Cloudflare selection, and React and Solid Nitro scenarios.
Provider integrations and generated project files
packages/create/src/frameworks/{react,solid}/project/*, packages/create/src/frameworks/{react,solid}/hosts/*, ARCHITECTURE.md, docs/cli-reference.md, packages/cli/skills/create-app-scaffold/references/*, .changeset/rsbuild-nitro-deployments.md
React and Solid templates add Nitro integrations for Nitro, Railway, Render, Vercel, and Netlify. Provider templates emit bundler-specific configuration, package metadata, and deployment instructions. Documentation describes supported adapters and version requirements.

Estimated code review effort: 4 (Complex) | ~45 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant CLI
  participant AddOnCatalog
  participant ProjectGenerator
  participant RsbuildConfig
  participant Nitro
  CLI->>AddOnCatalog: Select an eligible Rsbuild deployment adapter
  ProjectGenerator->>RsbuildConfig: Emit imports and deployment plugin code
  RsbuildConfig->>Nitro: Configure the provider preset
Loading

Suggested reviewers: tannerlinsley

Merge Risk: Minimal · up to 71c1f

This change adds Nitro-based deployment adapters for React and Solid Rsbuild projects. No blocking risk was found in the reviewed changes. Hosted deployments were not exercised. One minor documentation note on version references remains and is not a merge blocker.

Pre-merge checks: Passed 4

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "feat: support Rsbuild deployment adapters with Nitro" matches the main change. The PR adds Nitro, Railway, Render, Vercel, and Netlify deployment adapters for React and Solid Rsbuild Start …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "feat: support Rsbuild deployment adapters with Nitro" matches the main change. The PR adds Nitro, Railway, Render, Vercel, and Netlify deployment adapters for React and Solid Rsbuild Start projects through the experimental nitro/rsbuild integration. The title is short, specific, and does not describe anything absent from the changeset.

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Some tools did not complete. Review the errors below.

ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

packages/cli/tests-e2e/rsbuild-smoke.spec.ts

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): packages/cli/tests-e2e/rsbuild-smoke.spec.ts

packages/cli/tests/command-line.test.ts

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): packages/cli/tests/command-line.test.ts

packages/cli/tests/options.test.ts

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): packages/cli/tests/options.test.ts

  • 3 others

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.

Share

@changeset-bot

changeset-bot Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 71c1f79

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 7 packages
Name Type
@tanstack/create Minor
@tanstack/cli Minor
create-start-app Patch
create-tanstack-app Patch
create-tanstack Patch
create-tsrouter-app Patch
@tanstack/create-start Patch

Not sure what this means? Click here to learn what changesets are.

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

@socket-security

socket-security Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednitro@​3.0.260610-beta ⏵ 3.0.261103-rc99 +11008293 +3100

View full report

@SyMind

SyMind commented Nov 10, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-11T02:20:59.892516Z 449d157 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

Copy link
Copy Markdown

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: 7106beb1e9

ℹ️ 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".

@SyMind

SyMind commented Nov 11, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

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

Copy link
Copy Markdown

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: 449d157b1c

ℹ️ 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 thread docs/cli-reference.md Resolved
@SyMind
SyMind marked this pull request as ready for review November 12, 2026 06:25

SyMind commented Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

@schiller-manuel Could you review this PR when you have a chance? It adds Nitro-based deployment support for React and Solid Rsbuild projects in the CLI. Thanks!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Additional comments: 1

packages/cli/skills/create-app-scaffold/references/bundlers.md-22-23: 1

22-23: Minor · Functional Correctness · Quick win

Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Update the target versions for the new adapter support.

This reference targets CLI v0.71.0. The deployment-provider reference targets v0.61.0. This adapter support is in a pending minor changeset after v0.72.16, so agents using either stated version can recommend unsupported commands. Update both references to target the first release that includes this change. (raw.githubusercontent.com)

Review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2b50bb68-9803-4396-ae95-be60aeb02e2f
Commits

Reviewing files that changed from the base of the PR and between efb68bd and 71c1f79.

Files ignored due to path filters: 1

  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
Files selected for processing: 61

  • .changeset/rsbuild-nitro-deployments.md
  • ARCHITECTURE.md
  • docs/cli-reference.md
  • packages/cli/skills/create-app-scaffold/references/bundlers.md
  • packages/cli/skills/create-app-scaffold/references/deployment-providers.md
  • packages/cli/src/command-line.ts
  • packages/cli/src/options.ts
  • packages/cli/src/ui-prompts.ts
  • packages/cli/tests-e2e/rsbuild-smoke.spec.ts
  • packages/cli/tests/command-line.test.ts
  • packages/cli/tests/options.test.ts
  • packages/create/package.json
  • packages/create/src/build-tools.ts
  • packages/create/src/edge-package-json.ts
  • packages/create/src/frameworks/react/hosts/netlify/README.md.ejs
  • packages/create/src/frameworks/react/hosts/netlify/assets/netlify.toml
  • packages/create/src/frameworks/react/hosts/netlify/assets/netlify.toml.ejs
  • packages/create/src/frameworks/react/hosts/netlify/info.json
  • packages/create/src/frameworks/react/hosts/netlify/package.json
  • packages/create/src/frameworks/react/hosts/netlify/package.json.ejs
  • packages/create/src/frameworks/react/hosts/nitro/info.json
  • packages/create/src/frameworks/react/hosts/nitro/package.json
  • packages/create/src/frameworks/react/hosts/railway/info.json
  • packages/create/src/frameworks/react/hosts/railway/package.json.ejs
  • packages/create/src/frameworks/react/hosts/render/info.json
  • packages/create/src/frameworks/react/hosts/render/package.json.ejs
  • packages/create/src/frameworks/react/hosts/vercel/README.md
  • packages/create/src/frameworks/react/hosts/vercel/README.md.ejs
  • packages/create/src/frameworks/react/hosts/vercel/assets/vercel.json
  • packages/create/src/frameworks/react/hosts/vercel/assets/vercel.json.ejs
  • packages/create/src/frameworks/react/hosts/vercel/info.json
  • packages/create/src/frameworks/react/hosts/vercel/package.json
  • packages/create/src/frameworks/react/hosts/vercel/package.json.ejs
  • packages/create/src/frameworks/react/project/base/rsbuild.config.ts.ejs
  • packages/create/src/frameworks/react/project/packages.json
  • packages/create/src/frameworks/solid/hosts/netlify/README.md.ejs
  • packages/create/src/frameworks/solid/hosts/netlify/assets/netlify.toml
  • packages/create/src/frameworks/solid/hosts/netlify/assets/netlify.toml.ejs
  • packages/create/src/frameworks/solid/hosts/netlify/info.json
  • packages/create/src/frameworks/solid/hosts/netlify/package.json
  • packages/create/src/frameworks/solid/hosts/netlify/package.json.ejs
  • packages/create/src/frameworks/solid/hosts/nitro/info.json
  • packages/create/src/frameworks/solid/hosts/nitro/package.json
  • packages/create/src/frameworks/solid/hosts/railway/info.json
  • packages/create/src/frameworks/solid/hosts/railway/package.json
  • packages/create/src/frameworks/solid/hosts/render/info.json
  • packages/create/src/frameworks/solid/hosts/render/package.json
  • packages/create/src/frameworks/solid/hosts/vercel/README.md
  • packages/create/src/frameworks/solid/hosts/vercel/README.md.ejs
  • packages/create/src/frameworks/solid/hosts/vercel/assets/vercel.json
  • packages/create/src/frameworks/solid/hosts/vercel/assets/vercel.json.ejs
  • packages/create/src/frameworks/solid/hosts/vercel/info.json
  • packages/create/src/frameworks/solid/hosts/vercel/package.json
  • packages/create/src/frameworks/solid/hosts/vercel/package.json.ejs
  • packages/create/src/frameworks/solid/project/base/rsbuild.config.ts.ejs
  • packages/create/src/frameworks/solid/project/packages.json
  • packages/create/src/package-engines.ts
  • packages/create/src/package-json.ts
  • packages/create/tests/bundlers.test.ts
  • packages/create/tests/edge-manifest.test.ts
  • packages/create/tests/partner-addons.test.ts
Files with no reviewable changes: 10

  • packages/create/src/frameworks/react/hosts/netlify/assets/netlify.toml
  • packages/create/src/frameworks/react/hosts/vercel/assets/vercel.json
  • packages/create/src/frameworks/react/hosts/vercel/README.md
  • packages/create/src/frameworks/solid/hosts/vercel/assets/vercel.json
  • packages/create/src/frameworks/solid/hosts/netlify/package.json
  • packages/create/src/frameworks/solid/hosts/vercel/README.md
  • packages/create/src/frameworks/solid/hosts/netlify/assets/netlify.toml
  • packages/create/src/frameworks/solid/hosts/vercel/package.json
  • packages/create/src/frameworks/react/hosts/vercel/package.json
  • packages/create/src/frameworks/react/hosts/netlify/package.json

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant