Skip to content

Commit cbca0f8

Browse files
committed
update parcel example
1 parent c2f167d commit cbca0f8

File tree

4 files changed

+441
-431
lines changed

4 files changed

+441
-431
lines changed

fixtures/flight-parcel/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"scripts": {
1919
"predev": "cp -r ../../build/oss-experimental/* ./node_modules/",
2020
"prebuild": "cp -r ../../build/oss-experimental/* ./node_modules/",
21-
"dev": "concurrently \"npm run dev:watch\" \"npm run dev:start\"",
21+
"dev": "concurrently \"npm run dev:watch\" \"sleep 2 && npm run dev:start\"",
2222
"dev:watch": "NODE_ENV=development parcel watch",
2323
"dev:start": "NODE_ENV=development node dist/server.js",
2424
"build": "parcel build",
@@ -28,16 +28,16 @@
2828
"packageExports": true
2929
},
3030
"dependencies": {
31-
"@parcel/config-default": "2.0.0-dev.1789",
32-
"@parcel/runtime-rsc": "2.13.3-dev.3412",
31+
"@parcel/config-default": "2.0.0-dev.1795",
32+
"@parcel/runtime-rsc": "2.13.3-dev.3418",
3333
"@types/parcel-env": "^0.0.6",
3434
"@types/express": "*",
3535
"@types/node": "^22.10.1",
3636
"@types/react": "^19",
3737
"@types/react-dom": "^19",
3838
"concurrently": "^7.3.0",
3939
"express": "^4.18.2",
40-
"parcel": "2.0.0-dev.1787",
40+
"parcel": "2.0.0-dev.1793",
4141
"process": "^0.11.10",
4242
"react": "experimental",
4343
"react-dom": "experimental",

fixtures/flight-parcel/src/server.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import {injectRSCPayload} from 'rsc-html-stream/server';
1515

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

2222
// Page components. These must have "use server-entry" so they are treated as code splitting entry points.
@@ -66,8 +66,9 @@ async function render(
6666

6767
// Use client react to render the RSC payload to HTML.
6868
let [s1, s2] = stream.tee();
69-
let data = createFromReadableStream<ReactElement>(s1);
69+
let data: Promise<ReactElement>;
7070
function Content() {
71+
data ??= createFromReadableStream<ReactElement>(s1);
7172
return ReactClient.use(data);
7273
}
7374

fixtures/flight-parcel/types.d.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22

33
declare module 'react-server-dom-parcel/client' {
44
export function createFromFetch<T>(res: Promise<Response>): Promise<T>;
5-
export function createFromReadableStream<T>(stream: ReadableStream): Promise<T>;
65
export function encodeReply(value: any): Promise<string | URLSearchParams | FormData>;
76

87
type CallServerCallback = <T>(id: string, args: any[]) => Promise<T>;
98
export function setServerCallback(cb: CallServerCallback): void;
109
}
1110

11+
declare module 'react-server-dom-parcel/client.edge' {
12+
export function createFromReadableStream<T>(stream: ReadableStream): Promise<T>;
13+
}
14+
1215
declare module 'react-server-dom-parcel/server.edge' {
1316
export function renderToReadableStream(value: any): ReadableStream;
1417
export function loadServerAction(id: string): Promise<(...args: any[]) => any>;
@@ -17,5 +20,10 @@ declare module 'react-server-dom-parcel/server.edge' {
1720
}
1821

1922
declare module '@parcel/runtime-rsc' {
23+
import {JSX} from 'react';
2024
export function Resources(): JSX.Element;
2125
}
26+
27+
declare module 'react-dom/server.edge' {
28+
export * from 'react-dom/server';
29+
}

0 commit comments

Comments
 (0)