From bfd6b33952872117bfa1456ebc1384ff35b8af56 Mon Sep 17 00:00:00 2001 From: Elecmonkey Date: Fri, 12 Jun 2026 14:12:38 +0800 Subject: [PATCH 1/2] fix(react-start): dedupe rsbuild dependencies --- .changeset/tiny-phones-dedup.md | 5 +++++ packages/react-start/src/plugin/rsbuild.ts | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 .changeset/tiny-phones-dedup.md diff --git a/.changeset/tiny-phones-dedup.md b/.changeset/tiny-phones-dedup.md new file mode 100644 index 0000000000..80ab56cb5f --- /dev/null +++ b/.changeset/tiny-phones-dedup.md @@ -0,0 +1,5 @@ +--- +'@tanstack/react-start': patch +--- + +Deduplicate React and TanStack packages in the React Start Rsbuild plugin. diff --git a/packages/react-start/src/plugin/rsbuild.ts b/packages/react-start/src/plugin/rsbuild.ts index 7e0fcbb6c2..885fae9e20 100644 --- a/packages/react-start/src/plugin/rsbuild.ts +++ b/packages/react-start/src/plugin/rsbuild.ts @@ -10,6 +10,21 @@ import type { } from '@tanstack/start-plugin-core/rsbuild' import type { RsbuildPlugin } from '@rsbuild/core' +const reactStartRsbuildEnvironmentOverrides = { + all: { + resolve: { + dedupe: [ + 'react', + 'react-dom', + '@tanstack/react-start', + '@tanstack/react-router', + ], + }, + }, +} satisfies NonNullable< + TanStackStartRsbuildPluginCoreOptions['rsbuild'] +>['environments'] + export function tanstackStart( options?: TanStackStartRsbuildInputConfig & { rsc?: { enabled?: boolean } }, ): RsbuildPlugin { @@ -20,6 +35,9 @@ export function tanstackStart( defaultEntryPaths: reactStartDefaultEntryPaths, providerEnvironmentName: RSBUILD_ENVIRONMENT_NAMES.server, ssrIsProvider: true, + rsbuild: { + environments: reactStartRsbuildEnvironmentOverrides, + }, } if (rscEnabled) { From 5cc2eeac5cfcce2cdbabdedc5f643e82351909f0 Mon Sep 17 00:00:00 2001 From: Elecmonkey Date: Wed, 17 Jun 2026 02:13:10 +0800 Subject: [PATCH 2/2] fix(react-start): only dedupe react packages in rsbuild plugin --- .changeset/tiny-phones-dedup.md | 2 +- packages/react-start/src/plugin/rsbuild.ts | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.changeset/tiny-phones-dedup.md b/.changeset/tiny-phones-dedup.md index 80ab56cb5f..c55a797b8b 100644 --- a/.changeset/tiny-phones-dedup.md +++ b/.changeset/tiny-phones-dedup.md @@ -2,4 +2,4 @@ '@tanstack/react-start': patch --- -Deduplicate React and TanStack packages in the React Start Rsbuild plugin. +Deduplicate React packages in the React Start Rsbuild plugin. diff --git a/packages/react-start/src/plugin/rsbuild.ts b/packages/react-start/src/plugin/rsbuild.ts index 885fae9e20..bd159690f1 100644 --- a/packages/react-start/src/plugin/rsbuild.ts +++ b/packages/react-start/src/plugin/rsbuild.ts @@ -13,12 +13,7 @@ import type { RsbuildPlugin } from '@rsbuild/core' const reactStartRsbuildEnvironmentOverrides = { all: { resolve: { - dedupe: [ - 'react', - 'react-dom', - '@tanstack/react-start', - '@tanstack/react-router', - ], + dedupe: ['react', 'react-dom'], }, }, } satisfies NonNullable<