diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index ed4da42b351..91c52be9b79 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -13,6 +13,7 @@ "@tanstack/react-router-devtools": "^1.133.32", "@tanstack/react-start": "^1.133.32", "@tanstack/start-static-server-functions": "^1.133.28", + "@vitejs/plugin-react": "^5.1.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-static/vite.config.ts b/examples/react/start-basic-static/vite.config.ts index 07451c7d66f..f8f38777676 100644 --- a/examples/react/start-basic-static/vite.config.ts +++ b/examples/react/start-basic-static/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -24,5 +25,6 @@ export default defineConfig({ failOnError: false, }, }), + viteReact(), ], }) diff --git a/packages/react-start/src/plugin/vite.ts b/packages/react-start/src/plugin/vite.ts index bb896b32b35..4288e9dce02 100644 --- a/packages/react-start/src/plugin/vite.ts +++ b/packages/react-start/src/plugin/vite.ts @@ -55,6 +55,7 @@ export function tanstackStart( '@tanstack/react-start', '@tanstack/react-router', '@tanstack/react-router-devtools', + '@tanstack/start-static-server-functions', ], include: [ 'react', diff --git a/packages/solid-start/src/plugin/vite.ts b/packages/solid-start/src/plugin/vite.ts index c1131dc8392..d56ff2d5a24 100644 --- a/packages/solid-start/src/plugin/vite.ts +++ b/packages/solid-start/src/plugin/vite.ts @@ -36,7 +36,11 @@ export function tanstackStart( options.optimizeDeps?.noDiscovery === false) ? { // As `@tanstack/solid-start` depends on `@tanstack/solid-router`, we should exclude both. - exclude: ['@tanstack/solid-start', '@tanstack/solid-router'], + exclude: [ + '@tanstack/solid-start', + '@tanstack/solid-router', + '@tanstack/start-static-server-functions', + ], } : undefined, } diff --git a/packages/start-static-server-functions/package.json b/packages/start-static-server-functions/package.json index a62e4ccc372..9f5c2b776e0 100644 --- a/packages/start-static-server-functions/package.json +++ b/packages/start-static-server-functions/package.json @@ -61,5 +61,17 @@ "dependencies": { "@tanstack/start-client-core": "workspace:*", "seroval": "^1.3.2" + }, + "peerDependencies": { + "@tanstack/react-start": "workspace:*", + "@tanstack/solid-start": "workspace:*" + }, + "peerDependenciesMeta": { + "@tanstack/react-start": { + "optional": true + }, + "@tanstack/solid-start": { + "optional": true + } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e368064e9d2..b18e36685b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5683,6 +5683,9 @@ importers: '@tanstack/start-static-server-functions': specifier: workspace:* version: link:../../../packages/start-static-server-functions + '@vitejs/plugin-react': + specifier: ^5.1.0 + version: 5.1.0(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1)) react: specifier: ^19.0.0 version: 19.0.0 @@ -8432,6 +8435,12 @@ importers: packages/start-static-server-functions: dependencies: + '@tanstack/react-start': + specifier: workspace:* + version: link:../react-start + '@tanstack/solid-start': + specifier: workspace:* + version: link:../solid-start '@tanstack/start-client-core': specifier: workspace:* version: link:../start-client-core @@ -11531,6 +11540,9 @@ packages: '@rolldown/pluginutils@1.0.0-beta.40': resolution: {integrity: sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==} + '@rolldown/pluginutils@1.0.0-beta.43': + resolution: {integrity: sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==} + '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} @@ -13209,6 +13221,12 @@ packages: peerDependencies: vite: ^7.1.7 + '@vitejs/plugin-react@5.1.0': + resolution: {integrity: sha512-4LuWrg7EKWgQaMJfnN+wcmbAW+VSsCmqGohftWjuct47bv8uE4n/nPpq4XjJPsxgq00GGG5J8dvBczp8uxScew==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^7.1.7 + '@vitest/browser@3.0.6': resolution: {integrity: sha512-FqKwCAkALZfNzGNx4YvRJa6HCWM2USWTjOdNO2egI/s6+3WkIl4xAlYISOARLJLDAI3yCXcpTtuUUF39K8TQgw==} peerDependencies: @@ -15768,14 +15786,6 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} - hasBin: true - - jiti@2.6.0: - resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==} - hasBin: true - jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true @@ -17231,6 +17241,10 @@ packages: resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} engines: {node: '>=0.10.0'} + react-refresh@0.18.0: + resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} + engines: {node: '>=0.10.0'} + react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -22307,6 +22321,8 @@ snapshots: '@rolldown/pluginutils@1.0.0-beta.40': {} + '@rolldown/pluginutils@1.0.0-beta.43': {} + '@rollup/plugin-alias@5.1.1(rollup@4.52.2)': optionalDependencies: rollup: 4.52.2 @@ -23066,7 +23082,7 @@ snapshots: dependencies: '@jridgewell/remapping': 2.3.5 enhanced-resolve: 5.18.3 - jiti: 2.6.0 + jiti: 2.6.1 lightningcss: 1.30.1 magic-string: 0.30.19 source-map-js: 1.2.1 @@ -23086,7 +23102,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 enhanced-resolve: 5.18.1 - jiti: 2.4.2 + jiti: 2.6.1 lightningcss: 1.29.2 magic-string: 0.30.17 source-map-js: 1.2.1 @@ -24075,6 +24091,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@vitejs/plugin-react@5.1.0(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))': + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4) + '@rolldown/pluginutils': 1.0.0-beta.43 + '@types/babel__core': 7.20.5 + react-refresh: 0.18.0 + vite: 7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) + transitivePeerDependencies: + - supports-color + '@vitest/browser@3.0.6(@types/node@22.10.2)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))(vitest@3.2.4)': dependencies: '@testing-library/dom': 10.4.1 @@ -24817,7 +24845,7 @@ snapshots: dotenv: 17.2.2 exsolve: 1.0.7 giget: 2.0.0 - jiti: 2.6.0 + jiti: 2.6.1 ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 2.0.0 @@ -26964,10 +26992,6 @@ snapshots: jiti@1.21.7: {} - jiti@2.4.2: {} - - jiti@2.6.0: {} - jiti@2.6.1: {} jju@1.4.0: {} @@ -27330,7 +27354,7 @@ snapshots: get-port-please: 3.2.0 h3: 1.15.4 http-shutdown: 1.2.2 - jiti: 2.6.0 + jiti: 2.6.1 mlly: 1.8.0 node-forge: 1.3.1 pathe: 1.1.2 @@ -27815,7 +27839,7 @@ snapshots: hookable: 5.5.3 httpxy: 0.1.7 ioredis: 5.8.0 - jiti: 2.6.0 + jiti: 2.6.1 klona: 2.0.6 knitwork: 1.2.0 listhen: 1.9.0 @@ -28572,6 +28596,8 @@ snapshots: react-refresh@0.17.0: {} + react-refresh@0.18.0: {} + react-remove-scroll-bar@2.3.8(@types/react@19.0.8)(react@19.0.0): dependencies: react: 19.0.0 @@ -29840,7 +29866,7 @@ snapshots: dependencies: citty: 0.1.6 defu: 6.1.4 - jiti: 2.6.0 + jiti: 2.6.1 knitwork: 1.2.0 scule: 1.3.0