@tanstack/react-start 1.167.57 → 1.167.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import { reactStartDefaultEntryPaths } from "./shared.js";
2
2
  import { RSBUILD_ENVIRONMENT_NAMES, tanStackStartRsbuild } from "@tanstack/start-plugin-core/rsbuild";
3
+ import { createRscCssCompilerTransforms } from "@tanstack/react-start-rsc/plugin/rscCssTransform";
3
4
  //#region src/plugin/rsbuild.ts
4
5
  function tanstackStart(options) {
5
6
  const rscEnabled = options?.rsc?.enabled ?? false;
@@ -16,6 +17,8 @@ function tanstackStart(options) {
16
17
  providerEnvironmentName: rscConfig.providerEnvironmentName,
17
18
  ssrIsProvider: false,
18
19
  serializationAdapters: rscConfig.serializationAdapters,
20
+ compilerTransforms: rscConfig.compilerTransforms,
21
+ serverFnProviderModuleDirectives: rscConfig.serverFnProviderModuleDirectives,
19
22
  rsc: true
20
23
  };
21
24
  }
@@ -44,7 +47,12 @@ function configureRscRsbuild() {
44
47
  export: "rscSerializationAdapter",
45
48
  isFactory: true
46
49
  }
47
- }]
50
+ }],
51
+ compilerTransforms: createRscCssCompilerTransforms({
52
+ loadCssExpression: "import.meta.rspackRsc.loadCss()",
53
+ serverFnProviderOnly: true
54
+ }),
55
+ serverFnProviderModuleDirectives: ["use server-entry"]
48
56
  };
49
57
  }
50
58
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"rsbuild.js","names":[],"sources":["../../../src/plugin/rsbuild.ts"],"sourcesContent":["import {\n RSBUILD_ENVIRONMENT_NAMES,\n tanStackStartRsbuild,\n} from '@tanstack/start-plugin-core/rsbuild'\nimport { reactStartDefaultEntryPaths } from './shared'\nimport type {\n TanStackStartRsbuildInputConfig,\n TanStackStartRsbuildPluginCoreOptions,\n} from '@tanstack/start-plugin-core/rsbuild'\nimport type { RsbuildPlugin } from '@rsbuild/core'\n\nexport function tanstackStart(\n options?: TanStackStartRsbuildInputConfig & { rsc?: { enabled?: boolean } },\n): RsbuildPlugin {\n const rscEnabled = options?.rsc?.enabled ?? false\n\n let corePluginOpts: TanStackStartRsbuildPluginCoreOptions = {\n framework: 'react',\n defaultEntryPaths: reactStartDefaultEntryPaths,\n providerEnvironmentName: RSBUILD_ENVIRONMENT_NAMES.server,\n ssrIsProvider: true,\n }\n\n if (rscEnabled) {\n const rscConfig = configureRscRsbuild()\n corePluginOpts = {\n ...corePluginOpts,\n providerEnvironmentName: rscConfig.providerEnvironmentName,\n ssrIsProvider: false,\n serializationAdapters: rscConfig.serializationAdapters,\n rsc: true,\n }\n }\n\n return tanStackStartRsbuild(corePluginOpts, options)\n}\n\n/**\n * Configure RSC options for the rsbuild adapter.\n *\n * Returns provider env, serialization adapters, and core RSC options.\n *\n * The SSR resolver strategy is intentionally NOT changed from 'default' —\n * in the rspack layered model, SSR and RSC live in the same\n * compilation so they share the same resolver file. No forwarding needed.\n */\nfunction configureRscRsbuild(): {\n providerEnvironmentName: TanStackStartRsbuildPluginCoreOptions['providerEnvironmentName']\n serializationAdapters: TanStackStartRsbuildPluginCoreOptions['serializationAdapters']\n} {\n return {\n providerEnvironmentName: RSBUILD_ENVIRONMENT_NAMES.server,\n serializationAdapters: [\n {\n client: {\n module: '@tanstack/react-start/rsc/serialization/client',\n export: 'rscSerializationAdapter',\n isFactory: true,\n },\n server: {\n module: '@tanstack/react-start/rsc/serialization/server',\n export: 'rscSerializationAdapter',\n isFactory: true,\n },\n },\n ],\n }\n}\n"],"mappings":";;;AAWA,SAAgB,cACd,SACe;CACf,MAAM,aAAa,SAAS,KAAK,WAAW;CAE5C,IAAI,iBAAwD;EAC1D,WAAW;EACX,mBAAmB;EACnB,yBAAyB,0BAA0B;EACnD,eAAe;EAChB;AAED,KAAI,YAAY;EACd,MAAM,YAAY,qBAAqB;AACvC,mBAAiB;GACf,GAAG;GACH,yBAAyB,UAAU;GACnC,eAAe;GACf,uBAAuB,UAAU;GACjC,KAAK;GACN;;AAGH,QAAO,qBAAqB,gBAAgB,QAAQ;;;;;;;;;;;AAYtD,SAAS,sBAGP;AACA,QAAO;EACL,yBAAyB,0BAA0B;EACnD,uBAAuB,CACrB;GACE,QAAQ;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACZ;GACD,QAAQ;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACZ;GACF,CACF;EACF"}
1
+ {"version":3,"file":"rsbuild.js","names":[],"sources":["../../../src/plugin/rsbuild.ts"],"sourcesContent":["import {\n RSBUILD_ENVIRONMENT_NAMES,\n tanStackStartRsbuild,\n} from '@tanstack/start-plugin-core/rsbuild'\nimport { createRscCssCompilerTransforms } from '@tanstack/react-start-rsc/plugin/rscCssTransform'\nimport { reactStartDefaultEntryPaths } from './shared'\nimport type {\n TanStackStartRsbuildInputConfig,\n TanStackStartRsbuildPluginCoreOptions,\n} from '@tanstack/start-plugin-core/rsbuild'\nimport type { RsbuildPlugin } from '@rsbuild/core'\n\nexport function tanstackStart(\n options?: TanStackStartRsbuildInputConfig & { rsc?: { enabled?: boolean } },\n): RsbuildPlugin {\n const rscEnabled = options?.rsc?.enabled ?? false\n\n let corePluginOpts: TanStackStartRsbuildPluginCoreOptions = {\n framework: 'react',\n defaultEntryPaths: reactStartDefaultEntryPaths,\n providerEnvironmentName: RSBUILD_ENVIRONMENT_NAMES.server,\n ssrIsProvider: true,\n }\n\n if (rscEnabled) {\n const rscConfig = configureRscRsbuild()\n corePluginOpts = {\n ...corePluginOpts,\n providerEnvironmentName: rscConfig.providerEnvironmentName,\n ssrIsProvider: false,\n serializationAdapters: rscConfig.serializationAdapters,\n compilerTransforms: rscConfig.compilerTransforms,\n serverFnProviderModuleDirectives:\n rscConfig.serverFnProviderModuleDirectives,\n rsc: true,\n }\n }\n\n return tanStackStartRsbuild(corePluginOpts, options)\n}\n\n/**\n * Configure RSC options for the rsbuild adapter.\n *\n * Returns provider env, serialization adapters, and core RSC options.\n *\n * The SSR resolver strategy is intentionally NOT changed from 'default' —\n * in the rspack layered model, SSR and RSC live in the same\n * compilation so they share the same resolver file. No forwarding needed.\n */\nfunction configureRscRsbuild(): {\n providerEnvironmentName: TanStackStartRsbuildPluginCoreOptions['providerEnvironmentName']\n serializationAdapters: TanStackStartRsbuildPluginCoreOptions['serializationAdapters']\n compilerTransforms: TanStackStartRsbuildPluginCoreOptions['compilerTransforms']\n serverFnProviderModuleDirectives: TanStackStartRsbuildPluginCoreOptions['serverFnProviderModuleDirectives']\n} {\n return {\n providerEnvironmentName: RSBUILD_ENVIRONMENT_NAMES.server,\n serializationAdapters: [\n {\n client: {\n module: '@tanstack/react-start/rsc/serialization/client',\n export: 'rscSerializationAdapter',\n isFactory: true,\n },\n server: {\n module: '@tanstack/react-start/rsc/serialization/server',\n export: 'rscSerializationAdapter',\n isFactory: true,\n },\n },\n ],\n compilerTransforms: createRscCssCompilerTransforms({\n loadCssExpression: 'import.meta.rspackRsc.loadCss()',\n serverFnProviderOnly: true,\n }),\n serverFnProviderModuleDirectives: ['use server-entry'],\n }\n}\n"],"mappings":";;;;AAYA,SAAgB,cACd,SACe;CACf,MAAM,aAAa,SAAS,KAAK,WAAW;CAE5C,IAAI,iBAAwD;EAC1D,WAAW;EACX,mBAAmB;EACnB,yBAAyB,0BAA0B;EACnD,eAAe;EAChB;AAED,KAAI,YAAY;EACd,MAAM,YAAY,qBAAqB;AACvC,mBAAiB;GACf,GAAG;GACH,yBAAyB,UAAU;GACnC,eAAe;GACf,uBAAuB,UAAU;GACjC,oBAAoB,UAAU;GAC9B,kCACE,UAAU;GACZ,KAAK;GACN;;AAGH,QAAO,qBAAqB,gBAAgB,QAAQ;;;;;;;;;;;AAYtD,SAAS,sBAKP;AACA,QAAO;EACL,yBAAyB,0BAA0B;EACnD,uBAAuB,CACrB;GACE,QAAQ;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACZ;GACD,QAAQ;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACZ;GACF,CACF;EACD,oBAAoB,+BAA+B;GACjD,mBAAmB;GACnB,sBAAsB;GACvB,CAAC;EACF,kCAAkC,CAAC,mBAAmB;EACvD"}
@@ -19,7 +19,8 @@ function tanstackStart(options) {
19
19
  providerEnvironmentName: rscConfig.providerEnvironmentName,
20
20
  ssrIsProvider: false,
21
21
  ssrResolverStrategy: rscConfig.ssrResolverStrategy,
22
- serializationAdapters: rscConfig.serializationAdapters
22
+ serializationAdapters: rscConfig.serializationAdapters,
23
+ compilerTransforms: rscConfig.compilerTransforms
23
24
  };
24
25
  return [
25
26
  {
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","names":[],"sources":["../../../src/plugin/vite.ts"],"sourcesContent":["import {\n START_ENVIRONMENT_NAMES,\n tanStackStartVite,\n} from '@tanstack/start-plugin-core/vite'\nimport type {\n TanStackStartViteInputConfig,\n TanStackStartVitePluginCoreOptions,\n} from '@tanstack/start-plugin-core/vite'\nimport {\n configureRsc,\n reactStartRscVitePlugin,\n} from '@tanstack/react-start-rsc/plugin/vite'\nimport path from 'pathe'\nimport { reactStartDefaultEntryPaths, reactStartPluginDir } from './shared'\nimport type { PluginOption } from 'vite'\n\nconst isInsideRouterMonoRepo =\n path.basename(path.resolve(reactStartPluginDir, '../../../../')) ===\n 'packages'\n\nexport function tanstackStart(\n options?: TanStackStartViteInputConfig & { rsc?: { enabled?: boolean } },\n): Array<PluginOption> {\n const rscEnabled = options?.rsc?.enabled ?? false\n const rscConfig = rscEnabled ? configureRsc() : undefined\n let corePluginOpts: TanStackStartVitePluginCoreOptions = {\n framework: 'react',\n defaultEntryPaths: reactStartDefaultEntryPaths,\n providerEnvironmentName: START_ENVIRONMENT_NAMES.server,\n ssrIsProvider: true,\n ssrResolverStrategy: {\n type: 'default',\n },\n }\n\n const serverEnvironments: Array<string> = [\n START_ENVIRONMENT_NAMES.server,\n ...(rscConfig ? [rscConfig.envName] : []),\n ]\n\n if (rscConfig) {\n corePluginOpts = {\n ...corePluginOpts,\n providerEnvironmentName: rscConfig.providerEnvironmentName,\n ssrIsProvider: false,\n ssrResolverStrategy: rscConfig.ssrResolverStrategy,\n serializationAdapters: rscConfig.serializationAdapters,\n }\n }\n return [\n {\n name: 'tanstack-react-start:config',\n configEnvironment(environmentName, options) {\n const needsOptimizeDeps =\n environmentName === START_ENVIRONMENT_NAMES.client ||\n (serverEnvironments.includes(environmentName) &&\n // This indicates that the server environment has opted in to dependency optimization\n options.optimizeDeps?.noDiscovery === false)\n\n // Check if @tanstack/react-router is in noExternal (as array)\n const reactRouterInNoExternal =\n Array.isArray(options.resolve?.noExternal) &&\n options.resolve.noExternal.some(\n (pattern) =>\n pattern === '@tanstack/react-router' ||\n (typeof pattern === 'string' && pattern.includes('react-router')),\n )\n\n return {\n resolve: {\n dedupe: [\n 'react',\n 'react-dom',\n '@tanstack/react-start',\n '@tanstack/react-router',\n ],\n // Don't mark react-router as external if:\n // 1. noExternal is true (bundle everything)\n // 2. We're not in the router monorepo\n // 3. react-router is explicitly in noExternal for this environment\n external:\n options.resolve?.noExternal === true ||\n !isInsideRouterMonoRepo ||\n reactRouterInNoExternal\n ? undefined\n : ['@tanstack/react-router', '@tanstack/react-router-devtools'],\n },\n optimizeDeps: needsOptimizeDeps\n ? {\n // As `@tanstack/react-start` depends on `@tanstack/react-router`, we should exclude both.\n exclude: [\n '@tanstack/react-start',\n '@tanstack/react-router',\n '@tanstack/react-router-devtools',\n '@tanstack/start-static-server-functions',\n ],\n include: [\n 'react',\n 'react/jsx-runtime',\n 'react/jsx-dev-runtime',\n 'react-dom',\n ...(environmentName === START_ENVIRONMENT_NAMES.client\n ? ['react-dom/client']\n : ['react-dom/server']),\n // `@tanstack/react-store` has a dependency on `use-sync-external-store`, which is CJS.\n // It therefore needs to be included so that it is converted to ESM.\n '@tanstack/react-router > @tanstack/react-store',\n ...(options.optimizeDeps?.exclude?.find(\n (x) => x === '@tanstack/react-form',\n )\n ? ['@tanstack/react-form > @tanstack/react-store']\n : []),\n ],\n }\n : undefined,\n }\n },\n },\n rscConfig ? reactStartRscVitePlugin() : null,\n tanStackStartVite(corePluginOpts, options),\n ]\n}\n"],"mappings":";;;;;AAgBA,IAAM,yBACJ,KAAK,SAAS,KAAK,QAAQ,qBAAqB,eAAe,CAAC,KAChE;AAEF,SAAgB,cACd,SACqB;CAErB,MAAM,YADa,SAAS,KAAK,WAAW,QACb,cAAc,GAAG,KAAA;CAChD,IAAI,iBAAqD;EACvD,WAAW;EACX,mBAAmB;EACnB,yBAAyB,wBAAwB;EACjD,eAAe;EACf,qBAAqB,EACnB,MAAM,WACP;EACF;CAED,MAAM,qBAAoC,CACxC,wBAAwB,QACxB,GAAI,YAAY,CAAC,UAAU,QAAQ,GAAG,EAAE,CACzC;AAED,KAAI,UACF,kBAAiB;EACf,GAAG;EACH,yBAAyB,UAAU;EACnC,eAAe;EACf,qBAAqB,UAAU;EAC/B,uBAAuB,UAAU;EAClC;AAEH,QAAO;EACL;GACE,MAAM;GACN,kBAAkB,iBAAiB,SAAS;IAC1C,MAAM,oBACJ,oBAAoB,wBAAwB,UAC3C,mBAAmB,SAAS,gBAAgB,IAE3C,QAAQ,cAAc,gBAAgB;IAG1C,MAAM,0BACJ,MAAM,QAAQ,QAAQ,SAAS,WAAW,IAC1C,QAAQ,QAAQ,WAAW,MACxB,YACC,YAAY,4BACX,OAAO,YAAY,YAAY,QAAQ,SAAS,eAAe,CACnE;AAEH,WAAO;KACL,SAAS;MACP,QAAQ;OACN;OACA;OACA;OACA;OACD;MAKD,UACE,QAAQ,SAAS,eAAe,QAChC,CAAC,0BACD,0BACI,KAAA,IACA,CAAC,0BAA0B,kCAAkC;MACpE;KACD,cAAc,oBACV;MAEE,SAAS;OACP;OACA;OACA;OACA;OACD;MACD,SAAS;OACP;OACA;OACA;OACA;OACA,GAAI,oBAAoB,wBAAwB,SAC5C,CAAC,mBAAmB,GACpB,CAAC,mBAAmB;OAGxB;OACA,GAAI,QAAQ,cAAc,SAAS,MAChC,MAAM,MAAM,uBACd,GACG,CAAC,+CAA+C,GAChD,EAAE;OACP;MACF,GACD,KAAA;KACL;;GAEJ;EACD,YAAY,yBAAyB,GAAG;EACxC,kBAAkB,gBAAgB,QAAQ;EAC3C"}
1
+ {"version":3,"file":"vite.js","names":[],"sources":["../../../src/plugin/vite.ts"],"sourcesContent":["import {\n START_ENVIRONMENT_NAMES,\n tanStackStartVite,\n} from '@tanstack/start-plugin-core/vite'\nimport type {\n TanStackStartViteInputConfig,\n TanStackStartVitePluginCoreOptions,\n} from '@tanstack/start-plugin-core/vite'\nimport {\n configureRsc,\n reactStartRscVitePlugin,\n} from '@tanstack/react-start-rsc/plugin/vite'\nimport path from 'pathe'\nimport { reactStartDefaultEntryPaths, reactStartPluginDir } from './shared'\nimport type { PluginOption } from 'vite'\n\nconst isInsideRouterMonoRepo =\n path.basename(path.resolve(reactStartPluginDir, '../../../../')) ===\n 'packages'\n\nexport function tanstackStart(\n options?: TanStackStartViteInputConfig & { rsc?: { enabled?: boolean } },\n): Array<PluginOption> {\n const rscEnabled = options?.rsc?.enabled ?? false\n const rscConfig = rscEnabled ? configureRsc() : undefined\n let corePluginOpts: TanStackStartVitePluginCoreOptions = {\n framework: 'react',\n defaultEntryPaths: reactStartDefaultEntryPaths,\n providerEnvironmentName: START_ENVIRONMENT_NAMES.server,\n ssrIsProvider: true,\n ssrResolverStrategy: {\n type: 'default',\n },\n }\n\n const serverEnvironments: Array<string> = [\n START_ENVIRONMENT_NAMES.server,\n ...(rscConfig ? [rscConfig.envName] : []),\n ]\n\n if (rscConfig) {\n corePluginOpts = {\n ...corePluginOpts,\n providerEnvironmentName: rscConfig.providerEnvironmentName,\n ssrIsProvider: false,\n ssrResolverStrategy: rscConfig.ssrResolverStrategy,\n serializationAdapters: rscConfig.serializationAdapters,\n compilerTransforms: rscConfig.compilerTransforms,\n }\n }\n return [\n {\n name: 'tanstack-react-start:config',\n configEnvironment(environmentName, options) {\n const needsOptimizeDeps =\n environmentName === START_ENVIRONMENT_NAMES.client ||\n (serverEnvironments.includes(environmentName) &&\n // This indicates that the server environment has opted in to dependency optimization\n options.optimizeDeps?.noDiscovery === false)\n\n // Check if @tanstack/react-router is in noExternal (as array)\n const reactRouterInNoExternal =\n Array.isArray(options.resolve?.noExternal) &&\n options.resolve.noExternal.some(\n (pattern) =>\n pattern === '@tanstack/react-router' ||\n (typeof pattern === 'string' && pattern.includes('react-router')),\n )\n\n return {\n resolve: {\n dedupe: [\n 'react',\n 'react-dom',\n '@tanstack/react-start',\n '@tanstack/react-router',\n ],\n // Don't mark react-router as external if:\n // 1. noExternal is true (bundle everything)\n // 2. We're not in the router monorepo\n // 3. react-router is explicitly in noExternal for this environment\n external:\n options.resolve?.noExternal === true ||\n !isInsideRouterMonoRepo ||\n reactRouterInNoExternal\n ? undefined\n : ['@tanstack/react-router', '@tanstack/react-router-devtools'],\n },\n optimizeDeps: needsOptimizeDeps\n ? {\n // As `@tanstack/react-start` depends on `@tanstack/react-router`, we should exclude both.\n exclude: [\n '@tanstack/react-start',\n '@tanstack/react-router',\n '@tanstack/react-router-devtools',\n '@tanstack/start-static-server-functions',\n ],\n include: [\n 'react',\n 'react/jsx-runtime',\n 'react/jsx-dev-runtime',\n 'react-dom',\n ...(environmentName === START_ENVIRONMENT_NAMES.client\n ? ['react-dom/client']\n : ['react-dom/server']),\n // `@tanstack/react-store` has a dependency on `use-sync-external-store`, which is CJS.\n // It therefore needs to be included so that it is converted to ESM.\n '@tanstack/react-router > @tanstack/react-store',\n ...(options.optimizeDeps?.exclude?.find(\n (x) => x === '@tanstack/react-form',\n )\n ? ['@tanstack/react-form > @tanstack/react-store']\n : []),\n ],\n }\n : undefined,\n }\n },\n },\n rscConfig ? reactStartRscVitePlugin() : null,\n tanStackStartVite(corePluginOpts, options),\n ]\n}\n"],"mappings":";;;;;AAgBA,IAAM,yBACJ,KAAK,SAAS,KAAK,QAAQ,qBAAqB,eAAe,CAAC,KAChE;AAEF,SAAgB,cACd,SACqB;CAErB,MAAM,YADa,SAAS,KAAK,WAAW,QACb,cAAc,GAAG,KAAA;CAChD,IAAI,iBAAqD;EACvD,WAAW;EACX,mBAAmB;EACnB,yBAAyB,wBAAwB;EACjD,eAAe;EACf,qBAAqB,EACnB,MAAM,WACP;EACF;CAED,MAAM,qBAAoC,CACxC,wBAAwB,QACxB,GAAI,YAAY,CAAC,UAAU,QAAQ,GAAG,EAAE,CACzC;AAED,KAAI,UACF,kBAAiB;EACf,GAAG;EACH,yBAAyB,UAAU;EACnC,eAAe;EACf,qBAAqB,UAAU;EAC/B,uBAAuB,UAAU;EACjC,oBAAoB,UAAU;EAC/B;AAEH,QAAO;EACL;GACE,MAAM;GACN,kBAAkB,iBAAiB,SAAS;IAC1C,MAAM,oBACJ,oBAAoB,wBAAwB,UAC3C,mBAAmB,SAAS,gBAAgB,IAE3C,QAAQ,cAAc,gBAAgB;IAG1C,MAAM,0BACJ,MAAM,QAAQ,QAAQ,SAAS,WAAW,IAC1C,QAAQ,QAAQ,WAAW,MACxB,YACC,YAAY,4BACX,OAAO,YAAY,YAAY,QAAQ,SAAS,eAAe,CACnE;AAEH,WAAO;KACL,SAAS;MACP,QAAQ;OACN;OACA;OACA;OACA;OACD;MAKD,UACE,QAAQ,SAAS,eAAe,QAChC,CAAC,0BACD,0BACI,KAAA,IACA,CAAC,0BAA0B,kCAAkC;MACpE;KACD,cAAc,oBACV;MAEE,SAAS;OACP;OACA;OACA;OACA;OACD;MACD,SAAS;OACP;OACA;OACA;OACA;OACA,GAAI,oBAAoB,wBAAwB,SAC5C,CAAC,mBAAmB,GACpB,CAAC,mBAAmB;OAGxB;OACA,GAAI,QAAQ,cAAc,SAAS,MAChC,MAAM,MAAM,uBACd,GACG,CAAC,+CAA+C,GAChD,EAAE;OACP;MACF,GACD,KAAA;KACL;;GAEJ;EACD,YAAY,yBAAyB,GAAG;EACxC,kBAAkB,gBAAgB,QAAQ;EAC3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/react-start",
3
- "version": "1.167.57",
3
+ "version": "1.167.59",
4
4
  "description": "Modern and scalable routing for React applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -151,11 +151,11 @@
151
151
  "pathe": "^2.0.3",
152
152
  "@tanstack/react-router": "1.169.1",
153
153
  "@tanstack/react-start-client": "1.166.47",
154
- "@tanstack/react-start-rsc": "0.0.36",
154
+ "@tanstack/react-start-rsc": "0.0.38",
155
155
  "@tanstack/react-start-server": "1.166.48",
156
156
  "@tanstack/router-utils": "1.161.7",
157
157
  "@tanstack/start-client-core": "1.168.1",
158
- "@tanstack/start-plugin-core": "1.169.12",
158
+ "@tanstack/start-plugin-core": "1.169.14",
159
159
  "@tanstack/start-server-core": "1.167.26"
160
160
  },
161
161
  "peerDependencies": {
@@ -2,6 +2,7 @@ import {
2
2
  RSBUILD_ENVIRONMENT_NAMES,
3
3
  tanStackStartRsbuild,
4
4
  } from '@tanstack/start-plugin-core/rsbuild'
5
+ import { createRscCssCompilerTransforms } from '@tanstack/react-start-rsc/plugin/rscCssTransform'
5
6
  import { reactStartDefaultEntryPaths } from './shared'
6
7
  import type {
7
8
  TanStackStartRsbuildInputConfig,
@@ -28,6 +29,9 @@ export function tanstackStart(
28
29
  providerEnvironmentName: rscConfig.providerEnvironmentName,
29
30
  ssrIsProvider: false,
30
31
  serializationAdapters: rscConfig.serializationAdapters,
32
+ compilerTransforms: rscConfig.compilerTransforms,
33
+ serverFnProviderModuleDirectives:
34
+ rscConfig.serverFnProviderModuleDirectives,
31
35
  rsc: true,
32
36
  }
33
37
  }
@@ -47,6 +51,8 @@ export function tanstackStart(
47
51
  function configureRscRsbuild(): {
48
52
  providerEnvironmentName: TanStackStartRsbuildPluginCoreOptions['providerEnvironmentName']
49
53
  serializationAdapters: TanStackStartRsbuildPluginCoreOptions['serializationAdapters']
54
+ compilerTransforms: TanStackStartRsbuildPluginCoreOptions['compilerTransforms']
55
+ serverFnProviderModuleDirectives: TanStackStartRsbuildPluginCoreOptions['serverFnProviderModuleDirectives']
50
56
  } {
51
57
  return {
52
58
  providerEnvironmentName: RSBUILD_ENVIRONMENT_NAMES.server,
@@ -64,5 +70,10 @@ function configureRscRsbuild(): {
64
70
  },
65
71
  },
66
72
  ],
73
+ compilerTransforms: createRscCssCompilerTransforms({
74
+ loadCssExpression: 'import.meta.rspackRsc.loadCss()',
75
+ serverFnProviderOnly: true,
76
+ }),
77
+ serverFnProviderModuleDirectives: ['use server-entry'],
67
78
  }
68
79
  }
@@ -45,6 +45,7 @@ export function tanstackStart(
45
45
  ssrIsProvider: false,
46
46
  ssrResolverStrategy: rscConfig.ssrResolverStrategy,
47
47
  serializationAdapters: rscConfig.serializationAdapters,
48
+ compilerTransforms: rscConfig.compilerTransforms,
48
49
  }
49
50
  }
50
51
  return [