Home / File/ server.tsx — react Source File

server.tsx — react Source File

Architecture documentation for server.tsx, a tsx file in the react codebase. 10 imports, 0 dependents.

File tsx BabelCompiler Entrypoint 10 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  a79cd622_5834_df3e_54e0_56ba202376a6["server.tsx"]
  c3489d06_1452_f7f8_d28f_240d296f1926["Todos.tsx"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> c3489d06_1452_f7f8_d28f_240d296f1926
  2c959847_ad25_0874_2f83_d81cc11fc475["Todos"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> 2c959847_ad25_0874_2f83_d81cc11fc475
  7d027144_07cc_f882_0e6e_f61889782700["express"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> 7d027144_07cc_f882_0e6e_f61889782700
  1d5c85cd_cdbf_a579_ca5a_de419498b9b3["node:stream"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> 1d5c85cd_cdbf_a579_ca5a_de419498b9b3
  07792a87_dd18_7de9_65a7_0ebecb4c3c89["web"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> 07792a87_dd18_7de9_65a7_0ebecb4c3c89
  21db43d1_5a13_1026_9c95_b3ff54bdb8c6["server.edge"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> 21db43d1_5a13_1026_9c95_b3ff54bdb8c6
  27dcaae2_f465_24d9_cb7c_94451f753a86["server"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> 27dcaae2_f465_24d9_cb7c_94451f753a86
  95c12067_d0d9_d5c0_5f81_ac3d01ce7920["client.edge"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> 95c12067_d0d9_d5c0_5f81_ac3d01ce7920
  e28fd93c_c014_698c_0002_a3b963edecae["server.edge"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> e28fd93c_c014_698c_0002_a3b963edecae
  ac587885_e294_a1e9_b13f_5e7b920fdb42["react"]
  a79cd622_5834_df3e_54e0_56ba202376a6 --> ac587885_e294_a1e9_b13f_5e7b920fdb42
  style a79cd622_5834_df3e_54e0_56ba202376a6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// Server dependencies.
import express, {
  type Request as ExpressRequest,
  type Response as ExpressResponse,
} from 'express';
import {Readable} from 'node:stream';
import type {ReadableStream as NodeReadableStream} from 'stream/web';
import {
  renderToReadableStream,
  loadServerAction,
  decodeReply,
  decodeAction,
} from 'react-server-dom-parcel/server.edge';
import {injectRSCPayload} from 'rsc-html-stream/server';

// Client dependencies, used for SSR.
// These must run in the same environment as client components (e.g. same instance of React).
import {createFromReadableStream} from 'react-server-dom-parcel/client.edge' with {env: 'react-client'};
import {renderToReadableStream as renderHTMLToReadableStream} from 'react-dom/server.edge' with {env: 'react-client'};
import ReactClient, {ReactElement} from 'react' with {env: 'react-client'};

// Page components. These must have "use server-entry" so they are treated as code splitting entry points.
import {Todos} from './Todos';

const app = express();

app.use(function (req, res, next) {
  res.setHeader('Access-Control-Allow-Methods', 'GET,HEAD,POST');
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Headers', 'rsc-action');
  next();
});

app.use(express.static('dist'));

app.get('/', async (req, res) => {
  await render(req, res, <Todos />);
});

app.post('/', async (req, res) => {
  await handleAction(req, res, <Todos />);
});

app.get('/todos/:id', async (req, res) => {
  await render(req, res, <Todos id={Number(req.params.id)} />);
});

app.post('/todos/:id', async (req, res) => {
  await handleAction(req, res, <Todos id={Number(req.params.id)} />);
});

async function render(
  req: ExpressRequest,
  res: ExpressResponse,
  component: ReactElement,
  actionResult?: any,
) {
  // Render RSC payload.
  let root: any = component;
  if (actionResult) {
// ... (81 more lines)

Domain

Subdomains

Dependencies

  • Todos
  • Todos.tsx
  • client.edge
  • express
  • node:stream
  • react
  • server
  • server.edge
  • server.edge
  • web

Frequently Asked Questions

What does server.tsx do?
server.tsx is a source file in the react codebase, written in tsx. It belongs to the BabelCompiler domain, Entrypoint subdomain.
What functions are defined in server.tsx?
server.tsx defines 2 function(s): handleAction, render.
What does server.tsx depend on?
server.tsx imports 10 module(s): Todos, Todos.tsx, client.edge, express, node:stream, react, server, server.edge, and 2 more.
Where is server.tsx in the architecture?
server.tsx is located at fixtures/flight-parcel/src/server.tsx (domain: BabelCompiler, subdomain: Entrypoint, directory: fixtures/flight-parcel/src).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free