I can reproduce this on vinext 0.0.50 with @react-email/render@1.4.0 and React 19.2.6.
Root cause appears to be that @react-email/render's workerd/edge entry dynamically imports react-dom/server.edge, but vinext resolves that import under the react-server condition inside an App Route handler. React then resolves react-dom/server.edge to react-dom/server.react-server.js, which throws:
react-dom/server is not supported in React Server Components.
A local workaround is:
// vite.config.ts
resolve: {
alias: [
{
find: 'react-dom/server.edge',
replacement: path.resolve(__dirname, 'node_modules/react-dom/server.edge.js'),
},
],
}
I can reproduce this on vinext 0.0.50 with
@react-email/render@1.4.0and React 19.2.6.Root cause appears to be that
@react-email/render's workerd/edge entry dynamically importsreact-dom/server.edge, but vinext resolves that import under thereact-servercondition inside an App Route handler. React then resolvesreact-dom/server.edgetoreact-dom/server.react-server.js, which throws:react-dom/server is not supported in React Server Components.A local workaround is: