From 093dd586b3ebd849c157fe7f19b03f58c6fe8c8d Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Thu, 12 Dec 2024 17:53:00 -0800 Subject: [PATCH 01/22] feat(react-router): react router --- biome.json | 7 +- cspell.config.cjs | 1 + examples/react-router/.biomeignore | 8 + examples/react-router/.gitignore | 2 + examples/react-router/README.md | 23 + examples/react-router/app/about.loader.tsx | 15 + examples/react-router/app/about.tsx | 7 + examples/react-router/app/home.tsx | 3 + examples/react-router/app/layout.client.tsx | 28 + examples/react-router/app/layout.server.tsx | 14 + examples/react-router/app/layout.tsx | 38 + examples/react-router/app/routes.tsx | 46 + examples/react-router/entry.client.tsx | 25 + examples/react-router/entry.server.tsx | 84 + examples/react-router/package.json | 35 + examples/react-router/public/.gitkeep | 0 .../react-router/public/js/entry.client.js | 38598 ++++++++++++++++ .../public/js/entry.client.js.map | 7 + examples/react-router/server.ts | 30 + examples/react-router/tsconfig.json | 15 + pnpm-lock.yaml | 254 +- scripts/dictionary.txt | 1 + 22 files changed, 39224 insertions(+), 17 deletions(-) create mode 100644 examples/react-router/.biomeignore create mode 100644 examples/react-router/.gitignore create mode 100644 examples/react-router/README.md create mode 100644 examples/react-router/app/about.loader.tsx create mode 100644 examples/react-router/app/about.tsx create mode 100644 examples/react-router/app/home.tsx create mode 100644 examples/react-router/app/layout.client.tsx create mode 100644 examples/react-router/app/layout.server.tsx create mode 100644 examples/react-router/app/layout.tsx create mode 100644 examples/react-router/app/routes.tsx create mode 100644 examples/react-router/entry.client.tsx create mode 100644 examples/react-router/entry.server.tsx create mode 100644 examples/react-router/package.json create mode 100644 examples/react-router/public/.gitkeep create mode 100644 examples/react-router/public/js/entry.client.js create mode 100644 examples/react-router/public/js/entry.client.js.map create mode 100644 examples/react-router/server.ts create mode 100644 examples/react-router/tsconfig.json diff --git a/biome.json b/biome.json index e31c7e966a..ac1b9b5caf 100644 --- a/biome.json +++ b/biome.json @@ -23,7 +23,12 @@ "*.svelte", "template-lit-*/src/my-element.*", "tsconfig.json", - "tsconfig.*.json" + "tsconfig.*.json", + "**/dist/**", + "**/public/js/**", + "**/build/**", + "**/.cache/**", + "**/.temp/**" ], "ignoreUnknown": true }, diff --git a/cspell.config.cjs b/cspell.config.cjs index 7fc6fa0afc..99533e6d0e 100644 --- a/cspell.config.cjs +++ b/cspell.config.cjs @@ -18,6 +18,7 @@ module.exports = { 'node_modules', 'pnpm-lock.yaml', 'README.pt-BR.md', + '**/public/js/**', ], flagWords: banWords, dictionaries: ['dictionary'], diff --git a/examples/react-router/.biomeignore b/examples/react-router/.biomeignore new file mode 100644 index 0000000000..c38fb6321a --- /dev/null +++ b/examples/react-router/.biomeignore @@ -0,0 +1,8 @@ +# Build output directories +**/dist/** +**/public/js/** +**/build/** + +# Other common build artifacts +**/.cache/** +**/.temp/** \ No newline at end of file diff --git a/examples/react-router/.gitignore b/examples/react-router/.gitignore new file mode 100644 index 0000000000..8225baa4a7 --- /dev/null +++ b/examples/react-router/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/dist diff --git a/examples/react-router/README.md b/examples/react-router/README.md new file mode 100644 index 0000000000..a9cbef444a --- /dev/null +++ b/examples/react-router/README.md @@ -0,0 +1,23 @@ +# React Router Custom Framework + +This completely-not-production-ready "framework" example shows how to integrate React Router with custom bundling and server abstractions instead of using `@react-router/dev`. + +[React Router Docs](https://reactrouter.com) + +## Running the app + +```sh +pnpm i +pnpm start +``` + +## Goofing around with the app + +```sh +pnpm i +pnpm dev +``` + +## Caveats + +I whipped this together REALLY quickly, it certainly has errors and could be more thorough, but I hope it helps! diff --git a/examples/react-router/app/about.loader.tsx b/examples/react-router/app/about.loader.tsx new file mode 100644 index 0000000000..abff8bca88 --- /dev/null +++ b/examples/react-router/app/about.loader.tsx @@ -0,0 +1,15 @@ +import { data } from 'react-router'; + +export default async function load() { + await new Promise((resolve) => setTimeout(resolve, 200)); + + const isServer = typeof document === 'undefined'; + const env = isServer ? 'server' : 'client'; + + return data( + { message: `About loader from ${env} loader` }, + { + headers: { 'X-Custom': 'Hello' }, + }, + ); +} diff --git a/examples/react-router/app/about.tsx b/examples/react-router/app/about.tsx new file mode 100644 index 0000000000..2c17ef8233 --- /dev/null +++ b/examples/react-router/app/about.tsx @@ -0,0 +1,7 @@ +import { useLoaderData } from 'react-router'; +import type loader from './about.loader.js'; + +export default function About() { + const data = useLoaderData(); + return

{data.message}

; +} diff --git a/examples/react-router/app/home.tsx b/examples/react-router/app/home.tsx new file mode 100644 index 0000000000..c23c9bd436 --- /dev/null +++ b/examples/react-router/app/home.tsx @@ -0,0 +1,3 @@ +export default function Home() { + return

Home

; +} diff --git a/examples/react-router/app/layout.client.tsx b/examples/react-router/app/layout.client.tsx new file mode 100644 index 0000000000..790cdae86d --- /dev/null +++ b/examples/react-router/app/layout.client.tsx @@ -0,0 +1,28 @@ +import type { LoaderFunctionArgs } from 'react-router'; + +export async function loader({ request }: LoaderFunctionArgs) { + const url = new URL(request.url); + const res = await fetch(url, { + headers: { + Accept: 'application/json', + 'X-Route-Id': 'layout', + }, + }); + return res.json(); +} + +export async function action({ request }: LoaderFunctionArgs) { + const url = new URL(request.url); + // call the server action + const res = await fetch(url, { + method: 'POST', + // @ts-expect-error this is valid, types are wrong + body: new URLSearchParams(await request.formData()), + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + Accept: 'application/json', + 'X-Route-Id': 'layout', + }, + }); + return res.json(); +} diff --git a/examples/react-router/app/layout.server.tsx b/examples/react-router/app/layout.server.tsx new file mode 100644 index 0000000000..359d94574d --- /dev/null +++ b/examples/react-router/app/layout.server.tsx @@ -0,0 +1,14 @@ +import type { ActionFunctionArgs, LoaderFunctionArgs } from 'react-router'; + +const db = { message: 'Hello world!' }; + +export async function loader(args: LoaderFunctionArgs) { + await new Promise((resolve) => setTimeout(resolve, 200)); + return { message: db.message }; +} + +export async function action({ request }: ActionFunctionArgs) { + const formData = await request.formData(); + db.message = String(formData.get('message')); + return { ok: true }; +} diff --git a/examples/react-router/app/layout.tsx b/examples/react-router/app/layout.tsx new file mode 100644 index 0000000000..fef24cb8a0 --- /dev/null +++ b/examples/react-router/app/layout.tsx @@ -0,0 +1,38 @@ +import { Form, Link, Outlet, useLoaderData } from 'react-router'; +import type { loader } from './layout.server.js'; + +export default function Layout() { + const data = useLoaderData(); + return ( + + + React Router Custom Framework + + +
+

React Router Custom Framework

+ +
+

+ Message: {data.message} +

+
+ {' '} + +
+
+ +

+ Home | About +

+ +
+ + +
+ + \n \n \n );\n}\n", "import { ActionFunctionArgs, LoaderFunctionArgs } from \"react-router\";\nimport About from \"./about.js\";\nimport aboutLoader from \"./about.loader.js\";\nimport Home from \"./home.js\";\nimport Layout from \"./layout.js\";\n\nlet isServer = typeof document === \"undefined\";\n\nexport default [\n {\n id: \"layout\",\n path: \"/\",\n Component: Layout,\n // up to you where your loaders run (client or server), this one dynamically\n // imports the correct one to avoid putting the server code in client\n // bundles\n async loader(args: LoaderFunctionArgs) {\n let mod = await (isServer\n ? import(\"./layout.server.js\")\n : import(\"./layout.client.js\"));\n return mod.loader(args);\n },\n // same with the action, you'll probably want to abstract this kind of stuff\n // in a createRoute() kind of thing\n async action(args: ActionFunctionArgs) {\n let mod = await (isServer\n ? import(\"./layout.server.js\")\n : import(\"./layout.client.js\"));\n return mod.action(args);\n },\n children: [\n {\n id: \"home\",\n index: true,\n Component: Home,\n },\n {\n id: \"about\",\n path: \"about\",\n Component: About,\n // this loader runs in both places\n loader: aboutLoader,\n },\n ],\n },\n];\n"], + "mappings": "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", + "names": ["ReactDebugCurrentFrame", "Component", "createElement", "isValidElement", "createContext", "moduleObject", "error", "forwardRef", "memo", "useContext", "useState", "useRef", "useEffect", "useLayoutEffect", "useCallback", "useMemo", "useId", "startTransition", "returnValue", "Children", "initialTime", "startTime", "React", "ReactDebugCurrentFrame", "Fragment", "prefix", "sanitizeURL", "Component", "workInProgress", "get", "set", "isHydrating", "options", "style", "registrationNameDependencies", "possibleRegistrationNames", "error", "callCallback", "current", "root", "index", "renderLanes", "queuedEvent", "prefixes", "createElement", "data", "has", "updateFragment", "child", "reconcileChildFibers", "Layout", "action", "startTransition", "error$1", "render", "subtreeRenderLanes", "hasContextChanged", "commitTime", "flushSync", "shouldFireAfterActiveInstanceBlur", "hydrate", "currentHook", "ReactCurrentDispatcher", "hydrateRoot", "parse", "serialize", "React", "ReactDebugCurrentFrame", "Component", "isValidElement", "jsx", "jsxs", "action", "loader", "action", "router", "flushSync", "router", "router", "flushSync", "action", "router", "action", "router", "action", "router", "React", "React2", "data", "isServer", "import_jsx_runtime", "import_jsx_runtime", "data", "import_jsx_runtime"] +} diff --git a/examples/react-router/server.ts b/examples/react-router/server.ts new file mode 100644 index 0000000000..73d7edcfc7 --- /dev/null +++ b/examples/react-router/server.ts @@ -0,0 +1,30 @@ +import fs from 'node:fs/promises'; +import { createServer } from 'node:http'; +import path from 'node:path'; +import { createRequestListener } from '@mjackson/node-fetch-server'; +import { handler } from './entry.server.js'; + +createServer( + createRequestListener(async (request: Request) => { + const url = new URL(request.url, 'http://localhost:4000'); + + if (url.pathname.endsWith('.js')) { + return serveJSFile(url); + } + + return handler(request); + }), +).listen(4000, () => { + console.log('Listening on http://localhost:4000'); +}); + +async function serveJSFile(url: URL) { + const filePath = path.join(process.cwd(), 'public', url.pathname); + const src = await fs.readFile(filePath, 'utf-8'); + return new Response(src, { + headers: { + 'Content-Type': 'application/javascript', + 'Cache-Control': 'no-store; must-revalidate', + }, + }); +} diff --git a/examples/react-router/tsconfig.json b/examples/react-router/tsconfig.json new file mode 100644 index 0000000000..76d72df4ef --- /dev/null +++ b/examples/react-router/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["DOM", "ES2020"], + "module": "ESNext", + "jsx": "react-jsx", + "strict": true, + "skipLibCheck": true, + "isolatedModules": true, + "resolveJsonModule": true, + "moduleResolution": "Bundler", + "useDefineForClassFields": true + }, + "include": ["app", "types", "*.tsx", "*.ts"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 39a2e9d2b0..1ed190cc1e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -409,6 +409,49 @@ importers: specifier: ^5.7.2 version: 5.7.2 + examples/react-router: + dependencies: + '@mjackson/node-fetch-server': + specifier: ^0.3.0 + version: 0.3.0 + '@rsbuild/core': + specifier: workspace:* + version: link:../../packages/core + '@rsbuild/plugin-react': + specifier: workspace:* + version: link:../../packages/plugin-react + '@types/react': + specifier: ^18.2.48 + version: 18.3.16 + '@types/react-dom': + specifier: ^18.2.18 + version: 18.3.5(@types/react@18.3.16) + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + react-router: + specifier: 7.0.0-pre.6 + version: 7.0.0-pre.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + devDependencies: + '@types/node': + specifier: ^22.4.1 + version: 22.10.1 + concurrently: + specifier: ^9.1.0 + version: 9.1.0 + prettier: + specifier: ^3.3.3 + version: 3.4.2 + tsimp: + specifier: ^2.0.11 + version: 2.0.12(typescript@5.7.2) + typescript: + specifier: ^5.5.4 + version: 5.7.2 + examples/solid: dependencies: solid-js: @@ -2005,6 +2048,12 @@ packages: cpu: [x64] os: [win32] + '@isaacs/cached@1.0.1': + resolution: {integrity: sha512-7kGcJ9Hc1f4qpTApWz3swxbF9Qv1NF/GxuPtXeTptbsgvJIoufSd0h854Nq/2bw80F5C1onsFgEI05l+q0e4vw==} + + '@isaacs/catcher@1.0.4': + resolution: {integrity: sha512-g2klMwbnguClWNnCeQ1zYaDJsvPbIbnjdJPDE0z09MqoejJDZSLK5vIKiClq2Bkg5ubuI8vaN6wfIUi5GYzMVA==} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2077,6 +2126,9 @@ packages: peerDependencies: react: '>=16' + '@mjackson/node-fetch-server@0.3.0': + resolution: {integrity: sha512-p+wzVVjYI6pi+t9hRMZngfwywE4CaPu3ZuYkB3+fkS1bSPAxZikXeIdeuOTiy5oqltOOODG0hoe55FR2PRmF/A==} + '@modern-js/swc-plugins-darwin-arm64@0.6.11': resolution: {integrity: sha512-UMH0bo20vcD10//F7KaINLfuHawQBVcWCCyJvkYOiBt7e1tUjeybKu+y6eNq1USyFVElEMul8ytnYdwAS9sY+w==} engines: {node: '>=14.12'} @@ -2489,11 +2541,6 @@ packages: cpu: [x64] os: [win32] - '@rsbuild/core@1.1.8': - resolution: {integrity: sha512-UhP260og3aJcqGWpnRcQXLVapdOZZ09JXaQKY+tE55A7nBw8DQy+qrtTsFZYvVKas1bq8GzhGfLxuglCst4Lnw==} - engines: {node: '>=16.7.0'} - hasBin: true - '@rsbuild/core@1.1.9': resolution: {integrity: sha512-mHZveEwlTtW9nxWa+T0xUm6ssm+HkDYZ0NENLfWMUmsL0LjMJrpQzRlbD+p5+9Uf+KXUo3Dbtv0ScA+p7cuGTg==} engines: {node: '>=16.7.0'} @@ -2915,9 +2962,20 @@ packages: '@types/on-finished@2.3.4': resolution: {integrity: sha512-Ld4UQD3udYcKPaAWlI1EYXKhefkZcTlpqOLkQRmN3u5Ml/tUypMivUHbNH8LweP4H4FlhGGO+uBjJI1Y1dkE1g==} + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + + '@types/react-dom@18.3.5': + resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} + peerDependencies: + '@types/react': ^18.0.0 + '@types/react-dom@19.0.1': resolution: {integrity: sha512-hljHij7MpWPKF6u5vojuyfV0YA4YURsQG7KT6SzV0Zs2BXAtgdTxG6A229Ub/xiWV4w/7JL8fi6aAyjshH4meA==} + '@types/react@18.3.16': + resolution: {integrity: sha512-oh8AMIC4Y2ciKufU8hnKgs+ufgbA/dhPTACaZPM86AbwX9QwnFtSoPWEeRUj8fge+v6kFt78BXcDhAU1SrrAsw==} + '@types/react@19.0.1': resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==} @@ -3505,6 +3563,11 @@ packages: common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + concurrently@9.1.0: + resolution: {integrity: sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==} + engines: {node: '>=18'} + hasBin: true + connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} @@ -4136,6 +4199,11 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + global-modules@1.0.0: resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} engines: {node: '>=0.10.0'} @@ -4508,6 +4576,10 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.0.2: + resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} + engines: {node: 20 || >=22} + javascript-stringify@2.1.0: resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} @@ -4704,6 +4776,10 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -4939,6 +5015,10 @@ packages: peerDependencies: webpack: ^5.0.0 + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -4954,6 +5034,11 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} @@ -5192,6 +5277,10 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + path-serializer@0.3.4: resolution: {integrity: sha512-bqNF6KKbFn2hrTgybBTqAqjKOneLvpFmvYx43ppm8IcmfgYLh4aMmR35+GnnKYdd0l6gtBlaok+aRR0PSwtGaQ==} @@ -5464,6 +5553,16 @@ packages: peerDependencies: react: '>=16.8' + react-router@7.0.0-pre.6: + resolution: {integrity: sha512-ln9gXs3ilZLGdggPetKYWzxrmMNykTipWxSXHUcB0qSJECkPTe3NcKo8fJx6dQfS4gS1zhCXGpHWRVasinnxOw==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + react-router@7.0.2: resolution: {integrity: sha512-m5AcPfTRUcjwmhBzOJGEl6Y7+Crqyju0+TgTQxoS4SO+BkWbhOrcfZNq6wSWdl2BBbJbsAoBUb8ZacOFT+/JlA==} engines: {node: '>=20.0.0'} @@ -5609,6 +5708,15 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + + rimraf@6.0.1: + resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} + engines: {node: 20 || >=22} + hasBin: true + rollup-plugin-dts@6.1.1: resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} engines: {node: '>=16'} @@ -5966,6 +6074,13 @@ packages: snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + sock-daemon@1.4.2: + resolution: {integrity: sha512-IzbegWshWWR+UzQ7487mbdYNmfJ1jXUXQBUHooqtpylO+aW0vMVbFN2d2ug3CSPZ0wbG7ZTTGwpUuthIDFIOGg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + + socket-post-message@1.0.3: + resolution: {integrity: sha512-UhJaB3xR2oF+HvddFOq2cBZi4zVKOHvdiBo+BaScNxsEUg3TLWSP8BkweKfe07kfH1thjn1hJR0af/w1EtBFjg==} + solid-js@1.9.3: resolution: {integrity: sha512-5ba3taPoZGt9GY3YlsCB24kCg0Lv/rie/HTD4kG6h4daZZz7+yK02xn8Vx8dLYBc9i6Ps5JwAbEiqjmKaLB3Ag==} @@ -6280,6 +6395,10 @@ packages: peerDependencies: tslib: '2' + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -6301,6 +6420,13 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} + tsimp@2.0.12: + resolution: {integrity: sha512-0XbhMfDB1BlN4iuheUaCUVB2iAjWb9z6Ik/6WcxREc4MhjYmkScK+CRNf34wkDO8wMvmFBb0lYdrd8H44g9yjg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.1.0 + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -6546,6 +6672,10 @@ packages: typescript: optional: true + walk-up-path@4.0.0: + resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} + engines: {node: 20 || >=22} + watchpack@2.4.2: resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} @@ -7660,6 +7790,12 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true + '@isaacs/cached@1.0.1': + dependencies: + '@isaacs/catcher': 1.0.4 + + '@isaacs/catcher@1.0.4': {} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -7769,6 +7905,8 @@ snapshots: '@types/react': 19.0.1 react: 18.3.1 + '@mjackson/node-fetch-server@0.3.0': {} + '@modern-js/swc-plugins-darwin-arm64@0.6.11': optional: true @@ -8133,13 +8271,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.24.3': optional: true - '@rsbuild/core@1.1.8': - dependencies: - '@rspack/core': 1.1.6(@swc/helpers@0.5.15) - '@rspack/lite-tapable': 1.0.1 - '@swc/helpers': 0.5.15 - core-js: 3.39.0 - '@rsbuild/core@1.1.9': dependencies: '@rspack/core': 1.1.6(@swc/helpers@0.5.15) @@ -8212,8 +8343,8 @@ snapshots: '@rslib/core@0.1.3(typescript@5.7.2)': dependencies: - '@rsbuild/core': 1.1.8 - rsbuild-plugin-dts: 0.1.3(@rsbuild/core@1.1.8)(typescript@5.7.2) + '@rsbuild/core': 1.1.9 + rsbuild-plugin-dts: 0.1.3(@rsbuild/core@1.1.9)(typescript@5.7.2) tinyglobby: 0.2.10 optionalDependencies: typescript: 5.7.2 @@ -8636,10 +8767,21 @@ snapshots: dependencies: '@types/node': 22.10.1 + '@types/prop-types@15.7.14': {} + + '@types/react-dom@18.3.5(@types/react@18.3.16)': + dependencies: + '@types/react': 18.3.16 + '@types/react-dom@19.0.1': dependencies: '@types/react': 19.0.1 + '@types/react@18.3.16': + dependencies: + '@types/prop-types': 15.7.14 + csstype: 3.1.3 + '@types/react@19.0.1': dependencies: csstype: 3.1.3 @@ -9284,6 +9426,16 @@ snapshots: common-path-prefix@3.0.0: {} + concurrently@9.1.0: + dependencies: + chalk: 4.1.2 + lodash: 4.17.21 + rxjs: 7.8.1 + shell-quote: 1.8.1 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + connect-history-api-fallback@2.0.0: {} connect@3.7.0: @@ -9900,6 +10052,15 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@11.0.0: + dependencies: + foreground-child: 3.3.0 + jackspeak: 4.0.2 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + global-modules@1.0.0: dependencies: global-prefix: 1.0.2 @@ -10302,6 +10463,10 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@4.0.2: + dependencies: + '@isaacs/cliui': 8.0.2 + javascript-stringify@2.1.0: {} jest-diff@29.7.0: @@ -10517,6 +10682,8 @@ snapshots: lru-cache@10.4.3: {} + lru-cache@11.0.2: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -11002,6 +11169,10 @@ snapshots: tapable: 2.2.1 webpack: 5.97.1 + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 @@ -11014,6 +11185,8 @@ snapshots: minipass@7.1.2: {} + mkdirp@3.0.1: {} + moment@2.30.1: {} motion-dom@11.13.0: {} @@ -11281,6 +11454,11 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-scurry@2.0.0: + dependencies: + lru-cache: 11.0.2 + minipass: 7.1.2 + path-serializer@0.3.4: {} path-type@4.0.0: {} @@ -11513,6 +11691,16 @@ snapshots: '@remix-run/router': 1.21.0 react: 18.3.1 + react-router@7.0.0-pre.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@types/cookie': 0.6.0 + cookie: 1.0.2 + react: 18.3.1 + set-cookie-parser: 2.7.1 + turbo-stream: 2.4.0 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + react-router@7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@types/cookie': 0.6.0 @@ -11702,6 +11890,15 @@ snapshots: rfdc@1.4.1: {} + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + + rimraf@6.0.1: + dependencies: + glob: 11.0.0 + package-json-from-dist: 1.0.1 + rollup-plugin-dts@6.1.1(rollup@4.24.3)(typescript@5.7.2): dependencies: magic-string: 0.30.14 @@ -11743,9 +11940,9 @@ snapshots: optionalDependencies: webpack: 5.97.1 - rsbuild-plugin-dts@0.1.3(@rsbuild/core@1.1.8)(typescript@5.7.2): + rsbuild-plugin-dts@0.1.3(@rsbuild/core@1.1.9)(typescript@5.7.2): dependencies: - '@rsbuild/core': 1.1.8 + '@rsbuild/core': 1.1.9 magic-string: 0.30.14 picocolors: 1.1.1 tinyglobby: 0.2.10 @@ -12018,6 +12215,14 @@ snapshots: dot-case: 3.0.4 tslib: 2.8.1 + sock-daemon@1.4.2: + dependencies: + rimraf: 5.0.10 + signal-exit: 4.1.0 + socket-post-message: 1.0.3 + + socket-post-message@1.0.3: {} + solid-js@1.9.3: dependencies: csstype: 3.1.3 @@ -12325,6 +12530,8 @@ snapshots: dependencies: tslib: 2.8.1 + tree-kill@1.2.2: {} + trim-lines@3.0.1: {} trough@2.2.0: {} @@ -12348,6 +12555,19 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tsimp@2.0.12(typescript@5.7.2): + dependencies: + '@isaacs/cached': 1.0.1 + '@isaacs/catcher': 1.0.4 + foreground-child: 3.3.0 + mkdirp: 3.0.1 + pirates: 4.0.6 + rimraf: 6.0.1 + signal-exit: 4.1.0 + sock-daemon: 1.4.2 + typescript: 5.7.2 + walk-up-path: 4.0.0 + tslib@2.8.1: {} tsscmp@1.0.6: {} @@ -12607,6 +12827,8 @@ snapshots: optionalDependencies: typescript: 5.7.2 + walk-up-path@4.0.0: {} + watchpack@2.4.2: dependencies: glob-to-regexp: 0.4.1 diff --git a/scripts/dictionary.txt b/scripts/dictionary.txt index 960c2d3196..42ec58d0ba 100644 --- a/scripts/dictionary.txt +++ b/scripts/dictionary.txt @@ -132,3 +132,4 @@ vnode watchpack webm webp +mjackson From 0ccc528e83c62fa901499dbca3c5ac9395b51278 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Thu, 12 Dec 2024 17:53:20 -0800 Subject: [PATCH 02/22] feat(react-router): react router --- examples/react-router/rsbuild.config.ts | 76 +++++++++++++++++++ .../types/mjacksonNodeFetchServer.d.ts | 7 ++ 2 files changed, 83 insertions(+) create mode 100644 examples/react-router/rsbuild.config.ts create mode 100644 examples/react-router/types/mjacksonNodeFetchServer.d.ts diff --git a/examples/react-router/rsbuild.config.ts b/examples/react-router/rsbuild.config.ts new file mode 100644 index 0000000000..3bb645be39 --- /dev/null +++ b/examples/react-router/rsbuild.config.ts @@ -0,0 +1,76 @@ +import { defineConfig } from '@rsbuild/core'; +import { pluginReact } from '@rsbuild/plugin-react'; + +export default defineConfig({ + server: { + htmlFallback: false, + }, + environments: { + // Client-side configuration + web: { + source: { + entry: { + client: './entry.client.tsx', + }, + }, + plugins: [pluginReact()], + output: { + target: 'web', + distPath: { + root: 'dist/client', + }, + filenameHash: false, + }, + tools: { + rspack: { + experiments: { + outputModule: true, + }, + output: { + module: true, + chunkFormat: 'module', + chunkLoading: 'import', + library: { + type: 'module', + }, + }, + optimization: { + runtimeChunk: 'single', + }, + }, + }, + }, + // Server-side configuration + node: { + plugins: [pluginReact()], + source: { + entry: { + server: './entry.server.tsx', + }, + }, + output: { + target: 'node', + distPath: { + root: 'dist/server', + }, + filenameHash: false, + }, + tools: { + rspack: { + target: 'node', + experiments: { + outputModule: true, + }, + output: { + module: true, + chunkFormat: 'module', + chunkLoading: 'import', + library: { + type: 'module', + }, + }, + }, + }, + }, + }, +}); diff --git a/examples/react-router/types/mjacksonNodeFetchServer.d.ts b/examples/react-router/types/mjacksonNodeFetchServer.d.ts new file mode 100644 index 0000000000..d5cdae1179 --- /dev/null +++ b/examples/react-router/types/mjacksonNodeFetchServer.d.ts @@ -0,0 +1,7 @@ +declare module '@mjackson/node-fetch-server' { + import type { RequestListener } from 'node:http'; + + export function createRequestListener( + handler: (request: Request) => Promise | Response, + ): RequestListener; +} From 12cc2c223bddf64a60774ed096a2cd247062c20d Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 13:23:48 -0800 Subject: [PATCH 03/22] feat(react-router): react router --- .../.gitignore | 0 .../README.md | 0 .../app/about.loader.tsx | 0 .../react-router-sample/app/about.module.css | 85 ++ examples/react-router-sample/app/about.tsx | 25 + examples/react-router-sample/app/context.tsx | 11 + .../react-router-sample/app/home.module.css | 82 ++ examples/react-router-sample/app/home.tsx | 27 + .../app/layout.client.tsx | 0 .../react-router-sample/app/layout.module.css | 306 ++++++ .../app/layout.server.tsx | 4 +- examples/react-router-sample/app/layout.tsx | 67 ++ .../app/routes.tsx | 0 .../entry.client.tsx | 7 +- .../entry.server.tsx | 53 +- examples/react-router-sample/package.json | 41 + .../public/.gitkeep | 0 .../public/js/entry.client.js | 0 .../public/js/entry.client.js.map | 0 .../react-router-sample/rsbuild.config.ts | 37 + examples/react-router-sample/server.ts | 232 +++++ .../tsconfig.json | 0 .../types/mjacksonNodeFetchServer.d.ts | 0 examples/react-router/.biomeignore | 8 - examples/react-router/app/about.tsx | 7 - examples/react-router/app/home.tsx | 3 - examples/react-router/app/layout.tsx | 38 - examples/react-router/package.json | 35 - examples/react-router/rsbuild.config.ts | 76 -- examples/react-router/server.ts | 30 - packages/plugin-react-router/LICENSE | 21 + packages/plugin-react-router/README.md | 19 + packages/plugin-react-router/package.json | 48 + packages/plugin-react-router/rslib.config.ts | 3 + packages/plugin-react-router/src/index.ts | 133 +++ packages/plugin-react-router/src/react.ts | 121 +++ .../plugin-react-router/src/splitChunks.ts | 62 ++ .../tests/__snapshots__/features.test.ts.snap | 52 + .../tests/__snapshots__/index.test.ts.snap | 152 +++ .../tests/features.test.ts | 62 ++ .../plugin-react-router/tests/index.test.ts | 153 +++ packages/plugin-react-router/tsconfig.json | 16 + pnpm-lock.yaml | 964 +++++++++++++++--- 43 files changed, 2607 insertions(+), 373 deletions(-) rename examples/{react-router => react-router-sample}/.gitignore (100%) rename examples/{react-router => react-router-sample}/README.md (100%) rename examples/{react-router => react-router-sample}/app/about.loader.tsx (100%) create mode 100644 examples/react-router-sample/app/about.module.css create mode 100644 examples/react-router-sample/app/about.tsx create mode 100644 examples/react-router-sample/app/context.tsx create mode 100644 examples/react-router-sample/app/home.module.css create mode 100644 examples/react-router-sample/app/home.tsx rename examples/{react-router => react-router-sample}/app/layout.client.tsx (100%) create mode 100644 examples/react-router-sample/app/layout.module.css rename examples/{react-router => react-router-sample}/app/layout.server.tsx (82%) create mode 100644 examples/react-router-sample/app/layout.tsx rename examples/{react-router => react-router-sample}/app/routes.tsx (100%) rename examples/{react-router => react-router-sample}/entry.client.tsx (76%) rename examples/{react-router => react-router-sample}/entry.server.tsx (59%) create mode 100644 examples/react-router-sample/package.json rename examples/{react-router => react-router-sample}/public/.gitkeep (100%) rename examples/{react-router => react-router-sample}/public/js/entry.client.js (100%) rename examples/{react-router => react-router-sample}/public/js/entry.client.js.map (100%) create mode 100644 examples/react-router-sample/rsbuild.config.ts create mode 100644 examples/react-router-sample/server.ts rename examples/{react-router => react-router-sample}/tsconfig.json (100%) rename examples/{react-router => react-router-sample}/types/mjacksonNodeFetchServer.d.ts (100%) delete mode 100644 examples/react-router/.biomeignore delete mode 100644 examples/react-router/app/about.tsx delete mode 100644 examples/react-router/app/home.tsx delete mode 100644 examples/react-router/app/layout.tsx delete mode 100644 examples/react-router/package.json delete mode 100644 examples/react-router/rsbuild.config.ts delete mode 100644 examples/react-router/server.ts create mode 100644 packages/plugin-react-router/LICENSE create mode 100644 packages/plugin-react-router/README.md create mode 100644 packages/plugin-react-router/package.json create mode 100644 packages/plugin-react-router/rslib.config.ts create mode 100644 packages/plugin-react-router/src/index.ts create mode 100644 packages/plugin-react-router/src/react.ts create mode 100644 packages/plugin-react-router/src/splitChunks.ts create mode 100644 packages/plugin-react-router/tests/__snapshots__/features.test.ts.snap create mode 100644 packages/plugin-react-router/tests/__snapshots__/index.test.ts.snap create mode 100644 packages/plugin-react-router/tests/features.test.ts create mode 100644 packages/plugin-react-router/tests/index.test.ts create mode 100644 packages/plugin-react-router/tsconfig.json diff --git a/examples/react-router/.gitignore b/examples/react-router-sample/.gitignore similarity index 100% rename from examples/react-router/.gitignore rename to examples/react-router-sample/.gitignore diff --git a/examples/react-router/README.md b/examples/react-router-sample/README.md similarity index 100% rename from examples/react-router/README.md rename to examples/react-router-sample/README.md diff --git a/examples/react-router/app/about.loader.tsx b/examples/react-router-sample/app/about.loader.tsx similarity index 100% rename from examples/react-router/app/about.loader.tsx rename to examples/react-router-sample/app/about.loader.tsx diff --git a/examples/react-router-sample/app/about.module.css b/examples/react-router-sample/app/about.module.css new file mode 100644 index 0000000000..fd73b15dc7 --- /dev/null +++ b/examples/react-router-sample/app/about.module.css @@ -0,0 +1,85 @@ +.about { + max-width: 800px; + margin: 0 auto; + font-family: var(--font-sans); +} + +.title { + color: #0f172a; + margin: 0 0 1.5rem; + font-size: 3rem; + font-weight: 800; + letter-spacing: -0.025em; + line-height: 1.2; + background: linear-gradient(135deg, #0f172a 0%, #3b82f6 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.description { + color: #334155; + font-size: 1.25rem; + line-height: 1.6; + margin-bottom: 3rem; + letter-spacing: -0.01em; +} + +.loaderDemo { + background: #f8fafc; + border-radius: 16px; + padding: 2rem; + border: 1px solid #e2e8f0; + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); +} + +.loaderDemo h3 { + color: #3b82f6; + margin: 0 0 1.5rem; + font-size: 1.5rem; + font-weight: 700; + letter-spacing: -0.025em; +} + +.message { + font-size: 1.125rem; + color: #0f172a; + margin: 0 0 1.5rem; + padding: 1.25rem; + background: white; + border-radius: 12px; + border-left: 4px solid #3b82f6; + box-shadow: + 0 1px 3px 0 rgba(0, 0, 0, 0.1), + 0 1px 2px 0 rgba(0, 0, 0, 0.06); + letter-spacing: -0.01em; +} + +.note { + color: #64748b; + font-size: 1rem; + margin: 0; + font-style: italic; + line-height: 1.6; + letter-spacing: -0.01em; +} + +@media (max-width: 640px) { + .title { + font-size: 2rem; + } + + .description { + font-size: 1.125rem; + } + + .loaderDemo { + padding: 1.5rem; + } + + .message { + padding: 1rem; + } +} diff --git a/examples/react-router-sample/app/about.tsx b/examples/react-router-sample/app/about.tsx new file mode 100644 index 0000000000..ff948397f9 --- /dev/null +++ b/examples/react-router-sample/app/about.tsx @@ -0,0 +1,25 @@ +import { useLoaderData } from 'react-router'; +import type loader from './about.loader.js'; +import styles from './about.module.css'; + +export default function About() { + const data = useLoaderData(); + + return ( +
+

About This Demo

+

+ This demo showcases how Rsbuild can be used to create modern React + applications with server-side rendering and client-side hydration. +

+
+

Loader Demo

+

{data.message}

+

+ This message was loaded using React Router's loader functionality, + demonstrating server/client data loading capabilities. +

+
+
+ ); +} diff --git a/examples/react-router-sample/app/context.tsx b/examples/react-router-sample/app/context.tsx new file mode 100644 index 0000000000..2a17445188 --- /dev/null +++ b/examples/react-router-sample/app/context.tsx @@ -0,0 +1,11 @@ +import { createContext } from 'react'; + +export interface Assets { + scriptTags: string[]; + styleTags: string[]; +} + +export const AssetsContext = createContext({ + scriptTags: [], + styleTags: [], +}); diff --git a/examples/react-router-sample/app/home.module.css b/examples/react-router-sample/app/home.module.css new file mode 100644 index 0000000000..e24372c7b5 --- /dev/null +++ b/examples/react-router-sample/app/home.module.css @@ -0,0 +1,82 @@ +.home { + text-align: center; + font-family: var(--font-sans); +} + +.title { + color: #0f172a; + margin: 0 0 1.5rem; + font-size: 3rem; + font-weight: 800; + letter-spacing: -0.025em; + line-height: 1.2; + background: linear-gradient(135deg, #0f172a 0%, #3b82f6 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.description { + color: #334155; + font-size: 1.25rem; + line-height: 1.6; + margin-bottom: 3rem; + max-width: 42rem; + margin-left: auto; + margin-right: auto; + letter-spacing: -0.01em; +} + +.features { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 2rem; + margin-top: 2rem; +} + +.feature { + padding: 2rem; + background: #f8fafc; + border-radius: 16px; + transition: all 0.3s ease; + border: 1px solid #e2e8f0; +} + +.feature:hover { + transform: translateY(-5px); + box-shadow: + 0 10px 15px -3px rgba(0, 0, 0, 0.1), + 0 4px 6px -2px rgba(0, 0, 0, 0.05); + border-color: #3b82f6; + background: rgba(59, 130, 246, 0.02); +} + +.feature h3 { + color: #3b82f6; + margin: 0 0 1rem; + font-size: 1.5rem; + font-weight: 700; + letter-spacing: -0.025em; +} + +.feature p { + color: #334155; + margin: 0; + font-size: 1.125rem; + line-height: 1.5; + letter-spacing: -0.01em; +} + +@media (max-width: 640px) { + .title { + font-size: 2rem; + } + + .description { + font-size: 1.125rem; + } + + .feature { + padding: 1.5rem; + } +} diff --git a/examples/react-router-sample/app/home.tsx b/examples/react-router-sample/app/home.tsx new file mode 100644 index 0000000000..f56bd033f9 --- /dev/null +++ b/examples/react-router-sample/app/home.tsx @@ -0,0 +1,27 @@ +import styles from './home.module.css'; + +export default function Home() { + return ( +
+

Welcome to Rsbuild

+

+ This is a demo app showcasing Rsbuild with React Router and Server-Side + Rendering. +

+
+
+

Server-Side Rendering

+

Full SSR support with hydration

+
+
+

React Router

+

Modern routing with data loading

+
+
+

Asset Management

+

Automatic CSS and JS handling

+
+
+
+ ); +} diff --git a/examples/react-router/app/layout.client.tsx b/examples/react-router-sample/app/layout.client.tsx similarity index 100% rename from examples/react-router/app/layout.client.tsx rename to examples/react-router-sample/app/layout.client.tsx diff --git a/examples/react-router-sample/app/layout.module.css b/examples/react-router-sample/app/layout.module.css new file mode 100644 index 0000000000..52383b55cb --- /dev/null +++ b/examples/react-router-sample/app/layout.module.css @@ -0,0 +1,306 @@ +:root { + --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, + 'Helvetica Neue', Arial, sans-serif; + --bg-gradient: linear-gradient(135deg, #1e1b4b 0%, #3730a3 50%, #4f46e5 100%); + --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); + --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), + 0 4px 6px -2px rgba(0, 0, 0, 0.05); +} + +body { + background-color: #f8fafc; + min-height: 100vh; + margin: 0; + padding: 0; +} + +.container { + max-width: 1400px; + margin: 0 auto; + padding: 0 32px; + font-family: var(--font-sans); +} + +.header { + background: var(--bg-gradient); + color: white; + padding: 2.5rem 0; + margin-bottom: 3rem; + box-shadow: var(--shadow-md); + position: relative; + overflow: hidden; +} + +.header::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: radial-gradient( + circle at top right, + rgba(99, 102, 241, 0.15) 0%, + transparent 50% + ), + radial-gradient( + circle at bottom left, + rgba(79, 70, 229, 0.15) 0%, + transparent 50% + ); + pointer-events: none; +} + +.header .container { + position: relative; + display: flex; + flex-direction: column; + align-items: center; +} + +.title { + margin: 0; + font-size: 3rem; + font-weight: 800; + color: white; + letter-spacing: -0.025em; + text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + font-family: var(--font-sans); + background: linear-gradient( + to right, + #fff 20%, + rgba(255, 255, 255, 0.8) 100% + ); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.nav { + margin-top: 2rem; + display: flex; + gap: 1rem; + padding: 0.5rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 9999px; + backdrop-filter: blur(8px); +} + +.link { + color: rgba(255, 255, 255, 0.9); + text-decoration: none; + font-weight: 500; + font-size: 1.125rem; + transition: all 0.2s; + padding: 0.75rem 2rem; + border-radius: 9999px; + letter-spacing: -0.01em; +} + +.link:hover { + color: white; + background: rgba(255, 255, 255, 0.2); +} + +.layout { + display: grid; + grid-template-columns: 320px 1fr; + gap: 3rem; + min-height: calc(100vh - 300px); + margin-bottom: 3rem; + position: relative; +} + +.sidebar { + position: sticky; + top: 3rem; + height: fit-content; +} + +.messageSection { + background: white; + border-radius: 20px; + box-shadow: var(--shadow-md); + padding: 2rem; + border: 1px solid rgba(0, 0, 0, 0.05); + height: fit-content; + transition: box-shadow 0.2s; +} + +.messageSection:hover { + box-shadow: var(--shadow-lg); +} + +.subtitle { + color: #0f172a; + margin: 0 0 1.5rem; + font-size: 1.5rem; + font-weight: 600; + letter-spacing: -0.025em; +} + +.form { + margin: 0; +} + +.messageDisplay { + margin: 0 0 1.5rem; + font-size: 1.125rem; + color: #334155; + letter-spacing: -0.01em; + line-height: 1.5; +} + +.message { + color: #3b82f6; + font-weight: 600; + padding: 0.5rem 1rem; + background: rgba(59, 130, 246, 0.1); + border-radius: 8px; + letter-spacing: -0.01em; + display: inline-block; + margin-top: 0.5rem; +} + +.fieldset { + border: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 1rem; +} + +.input { + width: 100%; + padding: 0.875rem 1.25rem; + border: 2px solid #e2e8f0; + border-radius: 10px; + font-size: 1rem; + transition: all 0.2s; + background: #f8fafc; + font-family: var(--font-sans); + letter-spacing: -0.01em; + box-sizing: border-box; +} + +.input:focus { + outline: none; + border-color: #3b82f6; + background: white; + box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); +} + +.button { + width: 100%; + padding: 0.875rem 1.25rem; + background-color: #3b82f6; + color: white; + border: none; + border-radius: 10px; + font-size: 1rem; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; + box-shadow: var(--shadow-sm); + font-family: var(--font-sans); + letter-spacing: -0.01em; +} + +.button:hover { + background-color: #2563eb; + transform: translateY(-1px); + box-shadow: var(--shadow-md); +} + +.button:active { + transform: translateY(0); + box-shadow: var(--shadow-sm); +} + +.main { + min-width: 0; +} + +.contentSection { + background: white; + border-radius: 20px; + box-shadow: var(--shadow-md); + padding: 3rem; + border: 1px solid rgba(0, 0, 0, 0.05); + height: 100%; + transition: box-shadow 0.2s; +} + +.contentSection:hover { + box-shadow: var(--shadow-lg); +} + +.footer { + margin-top: 4rem; + padding: 3rem 0; + background-color: #f8fafc; + color: #64748b; + text-align: center; + border-top: 1px solid #e2e8f0; + font-size: 0.875rem; + letter-spacing: -0.01em; +} + +@media (max-width: 1024px) { + .container { + padding: 0 24px; + } + + .layout { + grid-template-columns: 280px 1fr; + gap: 2rem; + } + + .contentSection { + padding: 2rem; + } +} + +@media (max-width: 768px) { + .container { + padding: 0 20px; + } + + .layout { + grid-template-columns: 1fr; + gap: 1.5rem; + } + + .sidebar { + position: static; + } + + .header { + padding: 2rem 0; + margin-bottom: 2rem; + } + + .title { + font-size: 2rem; + } + + .nav { + margin-top: 1.25rem; + gap: 0.75rem; + padding: 0.375rem; + } + + .link { + padding: 0.5rem 1.25rem; + font-size: 1rem; + } + + .messageSection, + .contentSection { + padding: 1.5rem; + border-radius: 16px; + } +} diff --git a/examples/react-router/app/layout.server.tsx b/examples/react-router-sample/app/layout.server.tsx similarity index 82% rename from examples/react-router/app/layout.server.tsx rename to examples/react-router-sample/app/layout.server.tsx index 359d94574d..418cc9b4e1 100644 --- a/examples/react-router/app/layout.server.tsx +++ b/examples/react-router-sample/app/layout.server.tsx @@ -1,5 +1,6 @@ import type { ActionFunctionArgs, LoaderFunctionArgs } from 'react-router'; +// Import the shared db from server const db = { message: 'Hello world!' }; export async function loader(args: LoaderFunctionArgs) { @@ -10,5 +11,6 @@ export async function loader(args: LoaderFunctionArgs) { export async function action({ request }: ActionFunctionArgs) { const formData = await request.formData(); db.message = String(formData.get('message')); - return { ok: true }; + console.log(db); + return { message: db.message }; } diff --git a/examples/react-router-sample/app/layout.tsx b/examples/react-router-sample/app/layout.tsx new file mode 100644 index 0000000000..a678629ebc --- /dev/null +++ b/examples/react-router-sample/app/layout.tsx @@ -0,0 +1,67 @@ +import { Form, Link, Outlet, useLoaderData, useNavigation } from 'react-router'; +import styles from './layout.module.css'; +import type { loader } from './layout.server.js'; + +export default function Layout() { + const data = useLoaderData(); + const navigation = useNavigation(); + + const isSubmitting = navigation.state === 'submitting'; + + return ( + <> +
+
+

Rsbuild React Router App

+ +
+
+ +
+
+ + +
+
+ +
+
+
+
+ +
+
+

Built with Rsbuild and React Router

+
+
+ + ); +} diff --git a/examples/react-router/app/routes.tsx b/examples/react-router-sample/app/routes.tsx similarity index 100% rename from examples/react-router/app/routes.tsx rename to examples/react-router-sample/app/routes.tsx diff --git a/examples/react-router/entry.client.tsx b/examples/react-router-sample/entry.client.tsx similarity index 76% rename from examples/react-router/entry.client.tsx rename to examples/react-router-sample/entry.client.tsx index b98910a02c..b2b20cf81b 100644 --- a/examples/react-router/entry.client.tsx +++ b/examples/react-router-sample/entry.client.tsx @@ -5,13 +5,14 @@ import { RouterProvider } from 'react-router/dom'; import routes from './app/routes.js'; const router = createBrowserRouter(routes, { - // need to ensure this script runs AFTER in - // entry.server.tsx so that window.__staticRouterHydrationData is available hydrationData: window.__staticRouterHydrationData, }); +const root = document.getElementById('root'); +if (!root) throw new Error('Root element not found'); + hydrateRoot( - document, + root, , diff --git a/examples/react-router/entry.server.tsx b/examples/react-router-sample/entry.server.tsx similarity index 59% rename from examples/react-router/entry.server.tsx rename to examples/react-router-sample/entry.server.tsx index 53cbaab76d..1b608f4701 100644 --- a/examples/react-router/entry.server.tsx +++ b/examples/react-router-sample/entry.server.tsx @@ -5,41 +5,58 @@ import { createStaticHandler, createStaticRouter, } from 'react-router'; +import { type Assets, AssetsContext } from './app/context'; import routes from './app/routes.js'; const { query, dataRoutes, queryRoute } = createStaticHandler(routes); -export async function handler(request: Request) { - // Decide if this is a request for data from our client loaders or the initial - // document request for HTML. React Router Vite uses [path].data to make this - // decision, headers could cause problems with a CDN, but it's good for - // illustration here +export async function handler(request: Request, assets?: Assets) { if (request.headers.get('Accept')?.includes('application/json')) { return handleDataRequest(request); } - return handleDocumentRequest(request); + return handleDocumentRequest(request, assets); } -export async function handleDocumentRequest(request: Request) { - // 1. Run action/loaders to get the routing context with `query` +export async function handleDocumentRequest(request: Request, assets?: Assets) { const context = await query(request); - // If `query` returns a Response, send it raw (a route probably a redirected) if (context instanceof Response) { return context; } - // 2. Create a static router for SSR const router = createStaticRouter(dataRoutes, context); - // 3. Render everything with StaticRouterProvider - const html = renderToString( + // Render the app content + const appHtml = renderToString( - + + + , ); - // Setup headers from action and loaders from deepest match + // Create the full HTML document with hydration data + const html = ` + + + + React Router Custom Framework + ${assets?.styleTags.map((tag) => ``).join('\n ') || ''} + + +
${appHtml}
+ + ${assets?.scriptTags.map((tag) => ``).join('\n ') || ''} + +`; + const deepestMatch = context.matches[context.matches.length - 1]; const actionHeaders = context.actionHeaders[deepestMatch.route.id]; const loaderHeaders = context.loaderHeaders[deepestMatch.route.id]; @@ -47,15 +64,15 @@ export async function handleDocumentRequest(request: Request) { const headers = new Headers(actionHeaders); if (loaderHeaders) { - loaderHeaders.forEach((value, key) => { + //@ts-ignore + for (const [key, value] of loaderHeaders.entries()) { headers.append(key, value); - }); + } } headers.set('Content-Type', 'text/html; charset=utf-8'); - return new Response(`${html}`, { + return new Response(html, { status: context.statusCode, - // 4. send proper headers headers, }); } diff --git a/examples/react-router-sample/package.json b/examples/react-router-sample/package.json new file mode 100644 index 0000000000..8954fc85c2 --- /dev/null +++ b/examples/react-router-sample/package.json @@ -0,0 +1,41 @@ +{ + "name": "react-router-custom", + "type": "module", + "version": "1.0.0", + "description": "", + "main": "index.js", + "exports": { + "./server": "./server" + }, + "scripts": { + "build": "rsbuild build", + "dev": "NODE_ENV=development tsx ./server.ts", + "start": "NODE_ENV=production node ./dist/server.js", + "build:server": "tsc server.ts --esModuleInterop --module esnext --target esnext --moduleResolution bundler --allowJs --outDir dist", + "build:all": "npm run build:server && npm run build" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@rsbuild/plugin-typed-css-modules": "^1.0.2", + "@rsbuild/core": "workspace:*", + "@rsbuild/plugin-react": "workspace:*", + "@rsbuild/plugin-react-router": "workspace:*", + "express": "^4.21.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router": "^7.0.2", + "react-router-dom": "^7.0.2" + }, + "devDependencies": { + "@types/express": "^5.0.0", + "@types/node": "^22.4.1", + "@types/react": "^18.2.48", + "@types/react-dom": "^18.2.18", + "concurrently": "^9.1.0", + "prettier": "^3.3.3", + "tsx": "^4.7.0", + "typescript": "^5.5.4" + } +} diff --git a/examples/react-router/public/.gitkeep b/examples/react-router-sample/public/.gitkeep similarity index 100% rename from examples/react-router/public/.gitkeep rename to examples/react-router-sample/public/.gitkeep diff --git a/examples/react-router/public/js/entry.client.js b/examples/react-router-sample/public/js/entry.client.js similarity index 100% rename from examples/react-router/public/js/entry.client.js rename to examples/react-router-sample/public/js/entry.client.js diff --git a/examples/react-router/public/js/entry.client.js.map b/examples/react-router-sample/public/js/entry.client.js.map similarity index 100% rename from examples/react-router/public/js/entry.client.js.map rename to examples/react-router-sample/public/js/entry.client.js.map diff --git a/examples/react-router-sample/rsbuild.config.ts b/examples/react-router-sample/rsbuild.config.ts new file mode 100644 index 0000000000..a4fb4837a3 --- /dev/null +++ b/examples/react-router-sample/rsbuild.config.ts @@ -0,0 +1,37 @@ +import { defineConfig } from '@rsbuild/core'; +import { pluginReact } from '@rsbuild/plugin-react'; +import { pluginReactRouter } from '@rsbuild/plugin-react-router'; +import { pluginTypedCSSModules } from '@rsbuild/plugin-typed-css-modules'; + +export default defineConfig({ + plugins: [pluginReact(), pluginReactRouter(), pluginTypedCSSModules()], + environments: { + // Configure the web environment for browsers + web: { + source: { + entry: { + client: './entry.client.tsx', + }, + }, + output: { + manifest: true, + target: 'web', + }, + // html: { + // template: './index.html', + // }, + }, + // Configure the node environment for SSR + node: { + source: { + entry: { + server: './entry.server.tsx', + }, + }, + output: { + target: 'node', + manifest: false, + }, + }, + }, +}); diff --git a/examples/react-router-sample/server.ts b/examples/react-router-sample/server.ts new file mode 100644 index 0000000000..535064d01f --- /dev/null +++ b/examples/react-router-sample/server.ts @@ -0,0 +1,232 @@ +import fs from 'node:fs/promises'; +import path from 'node:path'; +import { createRsbuild, loadConfig } from '@rsbuild/core'; +import type { RsbuildInstance } from '@rsbuild/core'; +//@ts-nocheck +import express from 'express'; +import type { + Request as ExpressRequest, + Response as ExpressResponse, + NextFunction, +} from 'express'; +import type { Assets } from './app/context'; + +const PORT = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 4000; + +interface ServerError extends Error { + status?: number; + code?: string; +} + +interface Manifest { + entries: { + [key: string]: { + initial: { + js: string[]; + css: string[]; + }; + }; + }; +} + +interface ServerModule { + handler: (request: Request, assets?: Assets) => Promise; +} + +async function getManifestAssets(): Promise { + try { + const manifestPath = path.join(process.cwd(), 'dist/manifest.json'); + const manifestContent = await fs.readFile(manifestPath, 'utf-8'); + const manifest = JSON.parse(manifestContent) as Manifest; + const { js, css } = manifest.entries.client.initial; + + return { + scriptTags: js, + styleTags: css, + }; + } catch (error) { + console.error('Error reading manifest:', error); + return { scriptTags: [], styleTags: [] }; + } +} + +async function createSSRHandler(rsbuildServer: RsbuildInstance) { + return async ( + req: ExpressRequest, + res: ExpressResponse, + next: NextFunction, + ) => { + try { + if (!req.headers.host) { + const error: ServerError = new Error('No host header present'); + error.status = 400; + throw error; + } + + // Load Node bundle for SSR + const serverModule = (await rsbuildServer.environments?.node.loadBundle( + 'server', + )) as ServerModule; + + const url = new URL(req.url, `http://${req.headers.host}`); + const request = new Request(url, { + method: req.method, + headers: req.headers as HeadersInit, + ...(req.method !== 'GET' && { body: req.body }), + }); + + const assets = await getManifestAssets(); + const response = await serverModule.handler(request, assets); + const responseText = await response.text(); + + res.status(response.status); + response.headers.forEach((value, key) => { + res.setHeader(key, value); + }); + res.send(responseText); + } catch (err) { + const error = err as ServerError; + console.error('SSR render error:', error); + if (process.env.NODE_ENV === 'production') { + res.status(error.status || 500).send('Internal Server Error'); + } else { + next(error); + } + } + }; +} + +async function startDevServer() { + const app = express(); + + let rsbuildServer: RsbuildDevServer; + try { + const { content } = await loadConfig({}); + if (!content) { + const error: ServerError = new Error('Failed to load Rsbuild config'); + error.code = 'CONFIG_LOAD_ERROR'; + throw error; + } + + const rsbuild = await createRsbuild({ + rsbuildConfig: content, + }); + + rsbuildServer = await rsbuild.createDevServer(); + } catch (err) { + const error = err as ServerError; + console.error('Failed to initialize Rsbuild:', error); + process.exit(1); + } + + // Parse JSON bodies + app.use(express.json()); + + // Use Rsbuild dev middleware first for static assets + app.use(rsbuildServer.middlewares); + + // Handle SSR requests + app.all('*', await createSSRHandler(rsbuildServer)); + + const httpServer = app.listen(PORT, async () => { + console.log(`Server started at http://localhost:${PORT}`); + await rsbuildServer.afterListen(); + }); + + rsbuildServer.connectWebSocket({ server: httpServer }); + + // Handle graceful shutdown + const shutdown = (signal: string) => { + console.log(`Received ${signal}. Shutting down gracefully...`); + httpServer.close(() => { + console.log('Server closed'); + process.exit(0); + }); + }; + + process.on('SIGTERM', () => shutdown('SIGTERM')); + process.on('SIGINT', () => shutdown('SIGINT')); + + // Handle uncaught errors + process.on('uncaughtException', (err: Error) => { + console.error('Uncaught exception:', err); + httpServer.close(() => process.exit(1)); + }); +} + +async function startProdServer() { + const app = express(); + const distDir = path.join(process.cwd(), 'dist'); + + // Verify dist directory exists + try { + await fs.access(path.join(distDir, 'web')); + } catch (err) { + console.error( + 'Error: Build directory not found. Please run npm run build first.', + ); + process.exit(1); + } + + // Initialize Rsbuild for production + const { content } = await loadConfig({}); + if (!content) { + const error: ServerError = new Error('Failed to load Rsbuild config'); + error.code = 'CONFIG_LOAD_ERROR'; + throw error; + } + + const rsbuild = await createRsbuild({ + rsbuildConfig: content, + }); + + // Parse JSON bodies + app.use(express.json()); + + // Serve static assets with cache headers + app.use( + express.static(path.join(distDir, 'web'), { + maxAge: '1y', + etag: true, + immutable: true, + }), + ); + + // Handle SSR requests using loadBundle + app.all('*', await createSSRHandler(rsbuild)); + + const server = app.listen(PORT, () => { + console.log(`Production server started at http://localhost:${PORT}`); + }); + + // Handle graceful shutdown + const shutdown = (signal: string) => { + console.log(`Received ${signal}. Shutting down gracefully...`); + server.close(() => { + console.log('Server closed'); + process.exit(0); + }); + }; + + process.on('SIGTERM', () => shutdown('SIGTERM')); + process.on('SIGINT', () => shutdown('SIGINT')); + + // Handle uncaught errors + process.on('uncaughtException', (err: Error) => { + console.error('Uncaught exception:', err); + server.close(() => process.exit(1)); + }); +} + +// Start the appropriate server based on NODE_ENV +if (process.env.NODE_ENV === 'production') { + startProdServer().catch((err: Error) => { + console.error('Failed to start production server:', err); + process.exit(1); + }); +} else { + startDevServer().catch((err: Error) => { + console.error('Failed to start development server:', err); + process.exit(1); + }); +} diff --git a/examples/react-router/tsconfig.json b/examples/react-router-sample/tsconfig.json similarity index 100% rename from examples/react-router/tsconfig.json rename to examples/react-router-sample/tsconfig.json diff --git a/examples/react-router/types/mjacksonNodeFetchServer.d.ts b/examples/react-router-sample/types/mjacksonNodeFetchServer.d.ts similarity index 100% rename from examples/react-router/types/mjacksonNodeFetchServer.d.ts rename to examples/react-router-sample/types/mjacksonNodeFetchServer.d.ts diff --git a/examples/react-router/.biomeignore b/examples/react-router/.biomeignore deleted file mode 100644 index c38fb6321a..0000000000 --- a/examples/react-router/.biomeignore +++ /dev/null @@ -1,8 +0,0 @@ -# Build output directories -**/dist/** -**/public/js/** -**/build/** - -# Other common build artifacts -**/.cache/** -**/.temp/** \ No newline at end of file diff --git a/examples/react-router/app/about.tsx b/examples/react-router/app/about.tsx deleted file mode 100644 index 2c17ef8233..0000000000 --- a/examples/react-router/app/about.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { useLoaderData } from 'react-router'; -import type loader from './about.loader.js'; - -export default function About() { - const data = useLoaderData(); - return

{data.message}

; -} diff --git a/examples/react-router/app/home.tsx b/examples/react-router/app/home.tsx deleted file mode 100644 index c23c9bd436..0000000000 --- a/examples/react-router/app/home.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function Home() { - return

Home

; -} diff --git a/examples/react-router/app/layout.tsx b/examples/react-router/app/layout.tsx deleted file mode 100644 index fef24cb8a0..0000000000 --- a/examples/react-router/app/layout.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Form, Link, Outlet, useLoaderData } from 'react-router'; -import type { loader } from './layout.server.js'; - -export default function Layout() { - const data = useLoaderData(); - return ( - - - React Router Custom Framework - - -
-

React Router Custom Framework

- -
-

- Message: {data.message} -

-
- {' '} - -
-
- -

- Home | About -

- -
- - -
- - - ${assets?.scriptTags.map((tag) => ``).join('\n ') || ''} + ${routeAssets.scriptTags.map((tag) => ``).join('\n ') || ''} `; - const deepestMatch = context.matches[context.matches.length - 1]; - const actionHeaders = context.actionHeaders[deepestMatch.route.id]; - const loaderHeaders = context.loaderHeaders[deepestMatch.route.id]; + const actionHeaders = context.actionHeaders[routeId]; + const loaderHeaders = context.loaderHeaders[routeId]; const headers = new Headers(actionHeaders); diff --git a/examples/react-router-sample/server.ts b/examples/react-router-sample/server.ts index 535064d01f..2348272d92 100644 --- a/examples/react-router-sample/server.ts +++ b/examples/react-router-sample/server.ts @@ -27,22 +27,36 @@ interface Manifest { }; }; }; + namedChunks: { + [key: string]: { + js?: string[]; + css?: string[]; + }; + }; } interface ServerModule { handler: (request: Request, assets?: Assets) => Promise; } -async function getManifestAssets(): Promise { +async function getManifestAssets(routeId?: string): Promise { try { const manifestPath = path.join(process.cwd(), 'dist/manifest.json'); const manifestContent = await fs.readFile(manifestPath, 'utf-8'); const manifest = JSON.parse(manifestContent) as Manifest; - const { js, css } = manifest.entries.client.initial; + const { js = [], css = [] } = manifest.entries.client.initial; + + // Get route-specific assets if routeId is provided + let routeAssets: { js: string[]; css: string[] } = { js: [], css: [] }; + if (routeId && manifest.namedChunks[routeId]) { + const { js: routeJs = [], css: routeCss = [] } = + manifest.namedChunks[routeId]; + routeAssets = { js: routeJs, css: routeCss }; + } return { - scriptTags: js, - styleTags: css, + scriptTags: [...js, ...routeAssets.js], + styleTags: [...css, ...routeAssets.css], }; } catch (error) { console.error('Error reading manifest:', error); @@ -75,7 +89,9 @@ async function createSSRHandler(rsbuildServer: RsbuildInstance) { ...(req.method !== 'GET' && { body: req.body }), }); - const assets = await getManifestAssets(); + // Get route ID from URL path + const routeId = url.pathname.split('/').pop() || 'home'; + const assets = await getManifestAssets(routeId); const response = await serverModule.handler(request, assets); const responseText = await response.text(); From 79be5a54e680ae7ec48c4a2737861016929c28bc Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 14:52:20 -0800 Subject: [PATCH 08/22] chore(react-router): convert server to mjs --- examples/react-router-sample/package.json | 5 +- .../{server.ts => server.mjs} | 85 +++++-------------- examples/react-router/package.json | 40 +++++++++ 3 files changed, 64 insertions(+), 66 deletions(-) rename examples/react-router-sample/{server.ts => server.mjs} (70%) create mode 100644 examples/react-router/package.json diff --git a/examples/react-router-sample/package.json b/examples/react-router-sample/package.json index 8954fc85c2..40d14c780f 100644 --- a/examples/react-router-sample/package.json +++ b/examples/react-router-sample/package.json @@ -9,9 +9,9 @@ }, "scripts": { "build": "rsbuild build", - "dev": "NODE_ENV=development tsx ./server.ts", + "dev": "NODE_ENV=development tsx ./server.mjs", "start": "NODE_ENV=production node ./dist/server.js", - "build:server": "tsc server.ts --esModuleInterop --module esnext --target esnext --moduleResolution bundler --allowJs --outDir dist", + "build:server": "node server.mjs", "build:all": "npm run build:server && npm run build" }, "keywords": [], @@ -35,7 +35,6 @@ "@types/react-dom": "^18.2.18", "concurrently": "^9.1.0", "prettier": "^3.3.3", - "tsx": "^4.7.0", "typescript": "^5.5.4" } } diff --git a/examples/react-router-sample/server.ts b/examples/react-router-sample/server.mjs similarity index 70% rename from examples/react-router-sample/server.ts rename to examples/react-router-sample/server.mjs index 2348272d92..9d08919c0c 100644 --- a/examples/react-router-sample/server.ts +++ b/examples/react-router-sample/server.mjs @@ -1,53 +1,19 @@ import fs from 'node:fs/promises'; import path from 'node:path'; import { createRsbuild, loadConfig } from '@rsbuild/core'; -import type { RsbuildInstance } from '@rsbuild/core'; -//@ts-nocheck import express from 'express'; -import type { - Request as ExpressRequest, - Response as ExpressResponse, - NextFunction, -} from 'express'; -import type { Assets } from './app/context'; const PORT = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 4000; -interface ServerError extends Error { - status?: number; - code?: string; -} - -interface Manifest { - entries: { - [key: string]: { - initial: { - js: string[]; - css: string[]; - }; - }; - }; - namedChunks: { - [key: string]: { - js?: string[]; - css?: string[]; - }; - }; -} - -interface ServerModule { - handler: (request: Request, assets?: Assets) => Promise; -} - -async function getManifestAssets(routeId?: string): Promise { +async function getManifestAssets(routeId) { try { const manifestPath = path.join(process.cwd(), 'dist/manifest.json'); const manifestContent = await fs.readFile(manifestPath, 'utf-8'); - const manifest = JSON.parse(manifestContent) as Manifest; + const manifest = JSON.parse(manifestContent); const { js = [], css = [] } = manifest.entries.client.initial; // Get route-specific assets if routeId is provided - let routeAssets: { js: string[]; css: string[] } = { js: [], css: [] }; + let routeAssets = { js: [], css: [] }; if (routeId && manifest.namedChunks[routeId]) { const { js: routeJs = [], css: routeCss = [] } = manifest.namedChunks[routeId]; @@ -64,28 +30,23 @@ async function getManifestAssets(routeId?: string): Promise { } } -async function createSSRHandler(rsbuildServer: RsbuildInstance) { - return async ( - req: ExpressRequest, - res: ExpressResponse, - next: NextFunction, - ) => { +async function createSSRHandler(rsbuildServer) { + return async (req, res, next) => { try { if (!req.headers.host) { - const error: ServerError = new Error('No host header present'); + const error = new Error('No host header present'); error.status = 400; throw error; } // Load Node bundle for SSR - const serverModule = (await rsbuildServer.environments?.node.loadBundle( - 'server', - )) as ServerModule; + const serverModule = + await rsbuildServer.environments?.node.loadBundle('server'); const url = new URL(req.url, `http://${req.headers.host}`); const request = new Request(url, { method: req.method, - headers: req.headers as HeadersInit, + headers: req.headers, ...(req.method !== 'GET' && { body: req.body }), }); @@ -101,12 +62,11 @@ async function createSSRHandler(rsbuildServer: RsbuildInstance) { }); res.send(responseText); } catch (err) { - const error = err as ServerError; - console.error('SSR render error:', error); + console.error('SSR render error:', err); if (process.env.NODE_ENV === 'production') { - res.status(error.status || 500).send('Internal Server Error'); + res.status(err.status || 500).send('Internal Server Error'); } else { - next(error); + next(err); } } }; @@ -115,11 +75,11 @@ async function createSSRHandler(rsbuildServer: RsbuildInstance) { async function startDevServer() { const app = express(); - let rsbuildServer: RsbuildDevServer; + let rsbuildServer; try { const { content } = await loadConfig({}); if (!content) { - const error: ServerError = new Error('Failed to load Rsbuild config'); + const error = new Error('Failed to load Rsbuild config'); error.code = 'CONFIG_LOAD_ERROR'; throw error; } @@ -130,8 +90,7 @@ async function startDevServer() { rsbuildServer = await rsbuild.createDevServer(); } catch (err) { - const error = err as ServerError; - console.error('Failed to initialize Rsbuild:', error); + console.error('Failed to initialize Rsbuild:', err); process.exit(1); } @@ -152,7 +111,7 @@ async function startDevServer() { rsbuildServer.connectWebSocket({ server: httpServer }); // Handle graceful shutdown - const shutdown = (signal: string) => { + const shutdown = (signal) => { console.log(`Received ${signal}. Shutting down gracefully...`); httpServer.close(() => { console.log('Server closed'); @@ -164,7 +123,7 @@ async function startDevServer() { process.on('SIGINT', () => shutdown('SIGINT')); // Handle uncaught errors - process.on('uncaughtException', (err: Error) => { + process.on('uncaughtException', (err) => { console.error('Uncaught exception:', err); httpServer.close(() => process.exit(1)); }); @@ -187,7 +146,7 @@ async function startProdServer() { // Initialize Rsbuild for production const { content } = await loadConfig({}); if (!content) { - const error: ServerError = new Error('Failed to load Rsbuild config'); + const error = new Error('Failed to load Rsbuild config'); error.code = 'CONFIG_LOAD_ERROR'; throw error; } @@ -216,7 +175,7 @@ async function startProdServer() { }); // Handle graceful shutdown - const shutdown = (signal: string) => { + const shutdown = (signal) => { console.log(`Received ${signal}. Shutting down gracefully...`); server.close(() => { console.log('Server closed'); @@ -228,7 +187,7 @@ async function startProdServer() { process.on('SIGINT', () => shutdown('SIGINT')); // Handle uncaught errors - process.on('uncaughtException', (err: Error) => { + process.on('uncaughtException', (err) => { console.error('Uncaught exception:', err); server.close(() => process.exit(1)); }); @@ -236,12 +195,12 @@ async function startProdServer() { // Start the appropriate server based on NODE_ENV if (process.env.NODE_ENV === 'production') { - startProdServer().catch((err: Error) => { + startProdServer().catch((err) => { console.error('Failed to start production server:', err); process.exit(1); }); } else { - startDevServer().catch((err: Error) => { + startDevServer().catch((err) => { console.error('Failed to start development server:', err); process.exit(1); }); diff --git a/examples/react-router/package.json b/examples/react-router/package.json new file mode 100644 index 0000000000..f9648aba55 --- /dev/null +++ b/examples/react-router/package.json @@ -0,0 +1,40 @@ +{ + "name": "react-router-custom", + "type": "module", + "version": "1.0.0", + "description": "", + "main": "index.js", + "exports": { + "./server": "./server" + }, + "scripts": { + "build": "rsbuild build", + "dev": "NODE_ENV=development node ./server.mjs", + "start": "NODE_ENV=production node ./dist/server.js", + "build:server": "tsc server.ts --esModuleInterop --module esnext --target esnext --moduleResolution bundler --allowJs --outDir dist", + "build:all": "npm run build:server && npm run build" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@rsbuild/core": "workspace:*", + "@rsbuild/plugin-react": "workspace:*", + "@rsbuild/plugin-react-router": "workspace:*", + "express": "^4.21.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router": "^7.0.2", + "react-router-dom": "^7.0.2" + }, + "devDependencies": { + "@types/express": "^5.0.0", + "@types/node": "^22.4.1", + "@types/react": "^18.2.48", + "@types/react-dom": "^18.2.18", + "concurrently": "^9.1.0", + "prettier": "^3.3.3", + "tsx": "^4.7.0", + "typescript": "^5.5.4" + } +} From e348b2d8935a9deab482517260fa80e1653a629e Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 14:53:34 -0800 Subject: [PATCH 09/22] chore(react-router): convert server to mjs --- pnpm-lock.yaml | 55 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 30059cb716..62bcf18920 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -409,6 +409,58 @@ importers: specifier: ^5.7.2 version: 5.7.2 + examples/react-router: + dependencies: + '@rsbuild/core': + specifier: workspace:* + version: link:../../packages/core + '@rsbuild/plugin-react': + specifier: workspace:* + version: link:../../packages/plugin-react + '@rsbuild/plugin-react-router': + specifier: workspace:* + version: link:../../packages/plugin-react-router + express: + specifier: ^4.21.2 + version: 4.21.2 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + react-router: + specifier: ^7.0.2 + version: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-router-dom: + specifier: ^7.0.2 + version: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + devDependencies: + '@types/express': + specifier: ^5.0.0 + version: 5.0.0 + '@types/node': + specifier: ^22.4.1 + version: 22.10.1 + '@types/react': + specifier: ^18.2.48 + version: 18.3.16 + '@types/react-dom': + specifier: ^18.2.18 + version: 18.3.5(@types/react@18.3.16) + concurrently: + specifier: ^9.1.0 + version: 9.1.0 + prettier: + specifier: ^3.3.3 + version: 3.4.2 + tsx: + specifier: ^4.7.0 + version: 4.19.2 + typescript: + specifier: ^5.5.4 + version: 5.7.2 + examples/react-router-sample: dependencies: '@rsbuild/core': @@ -457,9 +509,6 @@ importers: prettier: specifier: ^3.3.3 version: 3.4.2 - tsx: - specifier: ^4.7.0 - version: 4.19.2 typescript: specifier: ^5.5.4 version: 5.7.2 From 0bea51b58ee5bc66ec952149f45f21514861cf29 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 15:16:12 -0800 Subject: [PATCH 10/22] chore(react-router): convert server to mjs --- examples/react-router-sample/entry.server.tsx | 143 ++++++++++++------ examples/react-router-sample/package.json | 5 +- examples/react-router/package.json | 40 ----- 3 files changed, 100 insertions(+), 88 deletions(-) delete mode 100644 examples/react-router/package.json diff --git a/examples/react-router-sample/entry.server.tsx b/examples/react-router-sample/entry.server.tsx index e8597f65c2..4d5a4d1132 100644 --- a/examples/react-router-sample/entry.server.tsx +++ b/examples/react-router-sample/entry.server.tsx @@ -6,20 +6,32 @@ import { StaticRouterProvider, createStaticHandler, createStaticRouter, -} from 'react-router'; +} from 'react-router-dom'; import { type Assets, AssetsContext } from './app/context'; import routes from './app/routes.js'; const { query, dataRoutes, queryRoute } = createStaticHandler(routes); -export async function handler(request: Request, assets?: Assets) { +interface RenderOptions { + mode?: 'buffered' | 'streaming'; +} + +export async function handler( + request: Request, + assets?: Assets, + options: RenderOptions = {}, +) { if (request.headers.get('Accept')?.includes('application/json')) { return handleDataRequest(request); } - return handleDocumentRequest(request, assets); + return handleDocumentRequest(request, assets, options); } -export async function handleDocumentRequest(request: Request, assets?: Assets) { +export async function handleDocumentRequest( + request: Request, + assets?: Assets, + options: RenderOptions = {}, +) { const context = await query(request); if (context instanceof Response) { @@ -33,32 +45,26 @@ export async function handleDocumentRequest(request: Request, assets?: Assets) { // Get assets including route-specific ones const routeAssets = assets || { scriptTags: [], styleTags: [] }; - // Render the app content - let appHtml = ''; - const stream = renderToPipeableStream( - - - - - , - ); - - await new Promise((resolve) => { - const writable = new Writable({ - write(chunk, _encoding, callback) { - appHtml += chunk; - callback(); - }, - final(callback) { - resolve(); - callback(); - }, - }); - stream.pipe(writable); - }); + const headers = new Headers(); + const actionHeaders = context.actionHeaders[routeId]; + const loaderHeaders = context.loaderHeaders[routeId]; + + if (actionHeaders) { + for (const [key, value] of actionHeaders.entries()) { + headers.append(key, value); + } + } + + if (loaderHeaders) { + for (const [key, value] of loaderHeaders.entries()) { + headers.append(key, value); + } + } - // Create the full HTML document with hydration data - const html = ` + headers.set('Content-Type', 'text/html; charset=utf-8'); + + // Create the HTML shell + const htmlStart = ` @@ -66,7 +72,9 @@ export async function handleDocumentRequest(request: Request, assets?: Assets) { ${routeAssets.styleTags.map((tag) => ``).join('\n ') || ''} -
${appHtml}
+
`; + + const htmlEnd = `
${htmlEnd}`, + ); + responseStream.end(); + }, + onError(error) { + didError = true; + console.error('Streaming render error:', error); + const { Readable } = require('node:stream'); + resolve({ + status: 500, + headers: { 'content-type': 'text/html; charset=utf-8' }, + body: Readable.from( + `

Fatal Error: ${error instanceof Error ? error.message : 'Unknown Error'}

`, + ), + }); + }, }, - }), - ); - - return new Response(readable, { - status: context.statusCode, - headers, + ); }); } else { // Buffered mode let appHtml = ''; + const { Writable } = require('node:stream'); const stream = renderToPipeableStream( @@ -144,10 +166,11 @@ export async function handleDocumentRequest( const fullHtml = htmlStart + appHtml + htmlEnd; - return new Response(fullHtml, { + return { status: context.statusCode, - headers, - }); + headers: responseHeaders, + body: fullHtml, + }; } } diff --git a/examples/react-router-sample/package.json b/examples/react-router-sample/package.json index a20f4e553a..ec0bc23867 100644 --- a/examples/react-router-sample/package.json +++ b/examples/react-router-sample/package.json @@ -26,6 +26,7 @@ "react-router-dom": "^7.0.2" }, "devDependencies": { + "hono": "^4.6.0", "@types/express": "^5.0.0", "@types/node": "^22.4.1", "@types/react": "^18.2.48", diff --git a/examples/react-router-sample/server.mjs b/examples/react-router-sample/server.mjs index 9d08919c0c..9e20099181 100644 --- a/examples/react-router-sample/server.mjs +++ b/examples/react-router-sample/server.mjs @@ -4,6 +4,7 @@ import { createRsbuild, loadConfig } from '@rsbuild/core'; import express from 'express'; const PORT = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 4000; +const FORCE_STREAMING = (process.env.FORCE_STREAMING || 'true') === 'true'; async function getManifestAssets(routeId) { try { @@ -12,7 +13,6 @@ async function getManifestAssets(routeId) { const manifest = JSON.parse(manifestContent); const { js = [], css = [] } = manifest.entries.client.initial; - // Get route-specific assets if routeId is provided let routeAssets = { js: [], css: [] }; if (routeId && manifest.namedChunks[routeId]) { const { js: routeJs = [], css: routeCss = [] } = @@ -30,177 +30,135 @@ async function getManifestAssets(routeId) { } } -async function createSSRHandler(rsbuildServer) { +async function createSSRHandler(rsbuildServer, isProduction = false) { return async (req, res, next) => { try { if (!req.headers.host) { - const error = new Error('No host header present'); - error.status = 400; - throw error; + throw new Error('No host header present'); } - // Load Node bundle for SSR - const serverModule = - await rsbuildServer.environments?.node.loadBundle('server'); + const serverModule = await (isProduction + ? rsbuildServer.loadBundle('server') + : rsbuildServer.environments?.node.loadBundle('server')); const url = new URL(req.url, `http://${req.headers.host}`); + const routeId = url.pathname.split('/').pop() || 'home'; + const assets = await getManifestAssets(routeId); + const request = new Request(url, { method: req.method, headers: req.headers, ...(req.method !== 'GET' && { body: req.body }), }); - // Get route ID from URL path - const routeId = url.pathname.split('/').pop() || 'home'; - const assets = await getManifestAssets(routeId); - const response = await serverModule.handler(request, assets); - const responseText = await response.text(); + // Use streaming if client accepts it or if forced + const streamingPreferred = + FORCE_STREAMING || req.headers.accept?.includes('text/html-streaming'); + const response = await serverModule.handler(request, assets, { + mode: streamingPreferred ? 'streaming' : 'buffered', + }); res.status(response.status); - response.headers.forEach((value, key) => { + + // Set headers from plain object + Object.entries(response.headers).forEach(([key, value]) => { res.setHeader(key, value); }); - res.send(responseText); - } catch (err) { - console.error('SSR render error:', err); - if (process.env.NODE_ENV === 'production') { - res.status(err.status || 500).send('Internal Server Error'); + + if (response.body && streamingPreferred) { + // Handle streaming response + response.body.pipe(res); + + // Handle any stream errors + response.body.on('error', (err) => { + console.error('Streaming error:', err); + if (!res.headersSent) { + res.status(500).send('Streaming error occurred'); + } else { + res.end(); + } + }); } else { - next(err); + // Handle buffered response + res.send(response.body); } + } catch (err) { + console.error('SSR render error:', err); + next(err); } }; } -async function startDevServer() { +async function startServer(isProduction = false) { const app = express(); - let rsbuildServer; + try { const { content } = await loadConfig({}); if (!content) { - const error = new Error('Failed to load Rsbuild config'); - error.code = 'CONFIG_LOAD_ERROR'; - throw error; + throw new Error('Failed to load Rsbuild config'); } const rsbuild = await createRsbuild({ rsbuildConfig: content, }); - rsbuildServer = await rsbuild.createDevServer(); - } catch (err) { - console.error('Failed to initialize Rsbuild:', err); - process.exit(1); - } - - // Parse JSON bodies - app.use(express.json()); - - // Use Rsbuild dev middleware first for static assets - app.use(rsbuildServer.middlewares); - - // Handle SSR requests - app.all('*', await createSSRHandler(rsbuildServer)); - - const httpServer = app.listen(PORT, async () => { - console.log(`Server started at http://localhost:${PORT}`); - await rsbuildServer.afterListen(); - }); + rsbuildServer = isProduction + ? rsbuild + : await rsbuild.createDevServer({ + streamingPreferred: FORCE_STREAMING, + }); + + // Parse JSON bodies + app.use(express.json()); + + if (!isProduction) { + // Use Rsbuild dev middleware for static assets in dev + app.use(rsbuildServer.middlewares); + } else { + // Serve static assets with cache headers in prod + app.use( + express.static(path.join(process.cwd(), 'dist/web'), { + maxAge: '1y', + etag: true, + immutable: true, + }), + ); + } - rsbuildServer.connectWebSocket({ server: httpServer }); + // Handle SSR requests + app.all('*', await createSSRHandler(rsbuildServer, isProduction)); - // Handle graceful shutdown - const shutdown = (signal) => { - console.log(`Received ${signal}. Shutting down gracefully...`); - httpServer.close(() => { - console.log('Server closed'); - process.exit(0); + const server = app.listen(PORT, async () => { + console.log(`Server started at http://localhost:${PORT}`); + if (!isProduction) { + await rsbuildServer.afterListen(); + } }); - }; - - process.on('SIGTERM', () => shutdown('SIGTERM')); - process.on('SIGINT', () => shutdown('SIGINT')); - - // Handle uncaught errors - process.on('uncaughtException', (err) => { - console.error('Uncaught exception:', err); - httpServer.close(() => process.exit(1)); - }); -} -async function startProdServer() { - const app = express(); - const distDir = path.join(process.cwd(), 'dist'); + if (!isProduction) { + rsbuildServer.connectWebSocket({ server }); + } - // Verify dist directory exists - try { - await fs.access(path.join(distDir, 'web')); + // Handle uncaught errors + process.on('uncaughtException', (err) => { + console.error('Uncaught exception:', err); + server.close(() => process.exit(1)); + }); } catch (err) { - console.error( - 'Error: Build directory not found. Please run npm run build first.', - ); + console.error('Failed to start server:', err); process.exit(1); } - - // Initialize Rsbuild for production - const { content } = await loadConfig({}); - if (!content) { - const error = new Error('Failed to load Rsbuild config'); - error.code = 'CONFIG_LOAD_ERROR'; - throw error; - } - - const rsbuild = await createRsbuild({ - rsbuildConfig: content, - }); - - // Parse JSON bodies - app.use(express.json()); - - // Serve static assets with cache headers - app.use( - express.static(path.join(distDir, 'web'), { - maxAge: '1y', - etag: true, - immutable: true, - }), - ); - - // Handle SSR requests using loadBundle - app.all('*', await createSSRHandler(rsbuild)); - - const server = app.listen(PORT, () => { - console.log(`Production server started at http://localhost:${PORT}`); - }); - - // Handle graceful shutdown - const shutdown = (signal) => { - console.log(`Received ${signal}. Shutting down gracefully...`); - server.close(() => { - console.log('Server closed'); - process.exit(0); - }); - }; - - process.on('SIGTERM', () => shutdown('SIGTERM')); - process.on('SIGINT', () => shutdown('SIGINT')); - - // Handle uncaught errors - process.on('uncaughtException', (err) => { - console.error('Uncaught exception:', err); - server.close(() => process.exit(1)); - }); } // Start the appropriate server based on NODE_ENV if (process.env.NODE_ENV === 'production') { - startProdServer().catch((err) => { + startServer(true).catch((err) => { console.error('Failed to start production server:', err); process.exit(1); }); } else { - startDevServer().catch((err) => { + startServer(false).catch((err) => { console.error('Failed to start development server:', err); process.exit(1); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62bcf18920..7c704870de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -409,58 +409,6 @@ importers: specifier: ^5.7.2 version: 5.7.2 - examples/react-router: - dependencies: - '@rsbuild/core': - specifier: workspace:* - version: link:../../packages/core - '@rsbuild/plugin-react': - specifier: workspace:* - version: link:../../packages/plugin-react - '@rsbuild/plugin-react-router': - specifier: workspace:* - version: link:../../packages/plugin-react-router - express: - specifier: ^4.21.2 - version: 4.21.2 - react: - specifier: ^18.3.1 - version: 18.3.1 - react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) - react-router: - specifier: ^7.0.2 - version: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-router-dom: - specifier: ^7.0.2 - version: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - devDependencies: - '@types/express': - specifier: ^5.0.0 - version: 5.0.0 - '@types/node': - specifier: ^22.4.1 - version: 22.10.1 - '@types/react': - specifier: ^18.2.48 - version: 18.3.16 - '@types/react-dom': - specifier: ^18.2.18 - version: 18.3.5(@types/react@18.3.16) - concurrently: - specifier: ^9.1.0 - version: 9.1.0 - prettier: - specifier: ^3.3.3 - version: 3.4.2 - tsx: - specifier: ^4.7.0 - version: 4.19.2 - typescript: - specifier: ^5.5.4 - version: 5.7.2 - examples/react-router-sample: dependencies: '@rsbuild/core': @@ -506,6 +454,9 @@ importers: concurrently: specifier: ^9.1.0 version: 9.1.0 + hono: + specifier: ^4.6.0 + version: 4.6.13 prettier: specifier: ^3.3.3 version: 3.4.2 @@ -4648,6 +4599,10 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} + hono@4.6.13: + resolution: {integrity: sha512-haV0gaMdSjy9URCRN9hxBPlqHa7fMm/T72kAImIxvw4eQLbNz1rgjN4hHElLJSieDiNuiIAXC//cC6YGz2KCbg==} + engines: {node: '>=16.9.0'} + html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} @@ -10335,6 +10290,7 @@ snapshots: '@esbuild/win32-arm64': 0.23.1 '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 + optional: true escalade@3.2.0: {} @@ -10668,6 +10624,7 @@ snapshots: get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 + optional: true github-slugger@2.0.0: {} @@ -10840,6 +10797,8 @@ snapshots: dependencies: parse-passwd: 1.0.0 + hono@4.6.13: {} + html-entities@2.3.3: {} html-entities@2.5.2: {} @@ -12529,7 +12488,8 @@ snapshots: resolve-from@5.0.0: {} - resolve-pkg-maps@1.0.0: {} + resolve-pkg-maps@1.0.0: + optional: true resolve-url-loader@5.0.0: dependencies: @@ -13278,6 +13238,7 @@ snapshots: get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 + optional: true turbo-stream@2.4.0: {} From 3e9a816f912ba3528ef4fd1f15ee2c4f7267bae5 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 17:27:12 -0800 Subject: [PATCH 12/22] feat(react-router): enhance SSR support and general configuration in rsbuild --- .../react-router-sample/rsbuild.config.ts | 2 +- packages/plugin-react-router/src/index.ts | 58 ++++++++++++++++--- 2 files changed, 52 insertions(+), 8 deletions(-) diff --git a/examples/react-router-sample/rsbuild.config.ts b/examples/react-router-sample/rsbuild.config.ts index e7a11580ec..d9af2907b9 100644 --- a/examples/react-router-sample/rsbuild.config.ts +++ b/examples/react-router-sample/rsbuild.config.ts @@ -5,7 +5,6 @@ import { pluginTypedCSSModules } from '@rsbuild/plugin-typed-css-modules'; export default defineConfig({ plugins: [ - pluginReact(), pluginReactRouter({ // React Router specific options router: { @@ -13,6 +12,7 @@ export default defineConfig({ dataRouter: true, // Enable data router for React Router }, }), + pluginReact(), pluginTypedCSSModules(), ], environments: { diff --git a/packages/plugin-react-router/src/index.ts b/packages/plugin-react-router/src/index.ts index 0a1c6d0665..e412b26ac8 100644 --- a/packages/plugin-react-router/src/index.ts +++ b/packages/plugin-react-router/src/index.ts @@ -93,15 +93,29 @@ export const pluginReactRouter = ( }, }; - // Detect if SSR is enabled by checking if node environment exists - // const isSSR = Boolean(api.context.environments?.node); + // General configuration for all cases + api.modifyRsbuildConfig((config, { mergeRsbuildConfig }) => { + const generalConfig = { + server: { + htmlFallback: 'index' as const, + }, + environments: { + web: { + source: { + entry: { + client: './entry.client.tsx', + }, + }, + }, + }, + }; + return mergeRsbuildConfig(config, generalConfig); + }); + // SSR-specific configuration if (options.ssr) { api.modifyRsbuildConfig((config, { mergeRsbuildConfig }) => { const ssrConfig = { - output: { - manifest: true, - }, source: { define: { __SSR__: 'true', @@ -109,13 +123,43 @@ export const pluginReactRouter = ( __DATA_ROUTER__: String(finalOptions.router?.dataRouter), }, }, - server: { - htmlFallback: 'index' as const, + environments: { + node: { + source: { + entry: { + server: './entry.server.tsx', + }, + }, + }, }, }; return mergeRsbuildConfig(config, ssrConfig); }); + api.modifyEnvironmentConfig((config, { name }) => { + if (name === 'web') { + return { + ...config, + output: { + ...config.output, + manifest: true, + target: 'web', + }, + }; + } + if (name === 'node') { + return { + ...config, + output: { + ...config.output, + target: 'node', + manifest: false, + }, + }; + } + return config; + }); + // Add router-specific aliases for SSR // api.modifyBundlerChain((chain) => { // if (finalOptions.router?.staticHandler) { From c33a5545db92f9ba7804b91aa748f8b4f4336c22 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 18:14:33 -0800 Subject: [PATCH 13/22] stash --- .../react-router-sample/app/layout.client.tsx | 4 +- examples/react-router-sample/entry.server.tsx | 187 +++++++++--------- examples/react-router-sample/server.mjs | 34 ++-- 3 files changed, 115 insertions(+), 110 deletions(-) diff --git a/examples/react-router-sample/app/layout.client.tsx b/examples/react-router-sample/app/layout.client.tsx index 790cdae86d..c72d19b292 100644 --- a/examples/react-router-sample/app/layout.client.tsx +++ b/examples/react-router-sample/app/layout.client.tsx @@ -1,11 +1,10 @@ -import type { LoaderFunctionArgs } from 'react-router'; +import type { LoaderFunctionArgs } from 'react-router-dom'; export async function loader({ request }: LoaderFunctionArgs) { const url = new URL(request.url); const res = await fetch(url, { headers: { Accept: 'application/json', - 'X-Route-Id': 'layout', }, }); return res.json(); @@ -21,7 +20,6 @@ export async function action({ request }: LoaderFunctionArgs) { headers: { 'Content-Type': 'application/x-www-form-urlencoded', Accept: 'application/json', - 'X-Route-Id': 'layout', }, }); return res.json(); diff --git a/examples/react-router-sample/entry.server.tsx b/examples/react-router-sample/entry.server.tsx index 3b8b053959..8747b2744b 100644 --- a/examples/react-router-sample/entry.server.tsx +++ b/examples/react-router-sample/entry.server.tsx @@ -1,11 +1,11 @@ /* cspell:words Pipeable */ -import { Writable } from 'node:stream'; import { StrictMode } from 'react'; import { renderToPipeableStream } from 'react-dom/server'; import { StaticRouterProvider, createStaticHandler, createStaticRouter, + type StaticHandlerContext, } from 'react-router-dom'; import { type Assets, AssetsContext } from './app/context'; import routes from './app/routes.js'; @@ -32,38 +32,37 @@ export async function handleDocumentRequest( assets?: Assets, options: RenderOptions = {}, ) { + // 1. Run action/loaders to get the routing context with `query` const context = await query(request); + // If `query` returns a Response, send it raw (a route probably redirected) if (context instanceof Response) { return context; } + // 2. Create a static router for SSR const router = createStaticRouter(dataRoutes, context); - const deepestMatch = context.matches[context.matches.length - 1]; - const routeId = deepestMatch.route.id; // Get assets including route-specific ones const routeAssets = assets || { scriptTags: [], styleTags: [] }; - // Create headers object - const responseHeaders = { - 'content-type': 'text/html; charset=utf-8', - }; - - const actionHeaders = context.actionHeaders[routeId]; - const loaderHeaders = context.loaderHeaders[routeId]; + // Setup headers from action and loaders from deepest match + const deepestMatch = context.matches[context.matches.length - 1]; + const actionHeaders = context.actionHeaders[deepestMatch.route.id]; + const loaderHeaders = context.loaderHeaders[deepestMatch.route.id]; + const headers = new Headers(); if (actionHeaders) { - for (const [key, value] of actionHeaders.entries()) { - responseHeaders[key] = value; - } + actionHeaders.forEach((value, key) => { + headers.append(key, value); + }); } - if (loaderHeaders) { - for (const [key, value] of loaderHeaders.entries()) { - responseHeaders[key] = value; - } + loaderHeaders.forEach((value, key) => { + headers.append(key, value); + }); } + headers.set('content-type', 'text/html; charset=utf-8'); // Create the HTML shell const htmlStart = ` @@ -88,90 +87,92 @@ export async function handleDocumentRequest( `; if (options.mode === 'streaming') { - let didError = false; - return new Promise((resolve) => { - const { PassThrough } = require('node:stream'); - const responseStream = new PassThrough(); - - const stream = renderToPipeableStream( - - - - - , - { - bootstrapScripts: routeAssets.scriptTags, - onShellReady() { - // Write the HTML start - responseStream.write(htmlStart); - - // Pipe the React rendered content - stream.pipe(responseStream, { end: false }); - - resolve({ - status: didError ? 500 : context.statusCode, - headers: responseHeaders, - body: responseStream, - }); - }, - onCompleteAll() { - // Write the ending HTML and close - responseStream.write( - `${htmlEnd}`, - ); - responseStream.end(); - }, - onError(error) { - didError = true; - console.error('Streaming render error:', error); - const { Readable } = require('node:stream'); - resolve({ - status: 500, - headers: { 'content-type': 'text/html; charset=utf-8' }, - body: Readable.from( - `

Fatal Error: ${error instanceof Error ? error.message : 'Unknown Error'}

`, - ), - }); - }, - }, - ); + return handleStreamingResponse(router, context, routeAssets, htmlStart, htmlEnd, headers); + } + + // Buffered mode + let appHtml = ''; + const { Writable } = require('node:stream'); + const stream = renderToPipeableStream( + + + + + , + ); + + await new Promise((resolve) => { + const writable = new Writable({ + write(chunk, _encoding, callback) { + appHtml += chunk; + callback(); + }, + final(callback) { + resolve(); + callback(); + }, }); - } else { - // Buffered mode - let appHtml = ''; - const { Writable } = require('node:stream'); + stream.pipe(writable); + }); + + const fullHtml = htmlStart + appHtml + htmlEnd; + + return { + status: context.statusCode, + headers, + body: fullHtml, + }; +} + +async function handleStreamingResponse( + router: ReturnType, + context: StaticHandlerContext, + assets: Assets, + htmlStart: string, + htmlEnd: string, + headers: Headers, +) { + let didError = false; + + return new Promise((resolve) => { + const { PassThrough } = require('node:stream'); + const responseStream = new PassThrough(); + const stream = renderToPipeableStream( - + , - ); - - await new Promise((resolve) => { - const writable = new Writable({ - write(chunk, _encoding, callback) { - appHtml += chunk; - callback(); + { + bootstrapScripts: assets.scriptTags, + onShellReady() { + responseStream.write(htmlStart); + stream.pipe(responseStream, { end: false }); + resolve({ + status: didError ? 500 : context.statusCode, + headers, + body: responseStream, + }); }, - final(callback) { - resolve(); - callback(); + onCompleteAll() { + responseStream.end(htmlEnd); }, - }); - stream.pipe(writable); - }); - - const fullHtml = htmlStart + appHtml + htmlEnd; - - return { - status: context.statusCode, - headers: responseHeaders, - body: fullHtml, - }; - } + onError(error) { + didError = true; + console.error('Streaming render error:', error); + const { Readable } = require('node:stream'); + resolve({ + status: 500, + headers: { 'content-type': 'text/html; charset=utf-8' }, + body: Readable.from( + `

Fatal Error: ${error instanceof Error ? error.message : 'Unknown Error'}

`, + ), + }); + }, + }, + ); + }); } export async function handleDataRequest(request: Request) { diff --git a/examples/react-router-sample/server.mjs b/examples/react-router-sample/server.mjs index 9e20099181..649c9b82ff 100644 --- a/examples/react-router-sample/server.mjs +++ b/examples/react-router-sample/server.mjs @@ -61,23 +61,29 @@ async function createSSRHandler(rsbuildServer, isProduction = false) { res.status(response.status); // Set headers from plain object - Object.entries(response.headers).forEach(([key, value]) => { + for (const [key, value] of Object.entries(response.headers)) { res.setHeader(key, value); - }); + } if (response.body && streamingPreferred) { // Handle streaming response - response.body.pipe(res); - - // Handle any stream errors - response.body.on('error', (err) => { - console.error('Streaming error:', err); - if (!res.headersSent) { - res.status(500).send('Streaming error occurred'); - } else { - res.end(); - } - }); + if (typeof response.body.pipe === 'function') { + // If it's a Node.js stream + response.body.pipe(res); + + // Handle any stream errors + response.body.on('error', (err) => { + console.error('Streaming error:', err); + if (!res.headersSent) { + res.status(500).send('Streaming error occurred'); + } else { + res.end(); + } + }); + } else { + // If it's not a stream, send it directly + res.send(response.body); + } } else { // Handle buffered response res.send(response.body); @@ -106,7 +112,7 @@ async function startServer(isProduction = false) { rsbuildServer = isProduction ? rsbuild : await rsbuild.createDevServer({ - streamingPreferred: FORCE_STREAMING, + streamingPreferred: false, }); // Parse JSON bodies From 4e6be449d7ba0287f4cdb372ded7a1f718009366 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 19:12:51 -0800 Subject: [PATCH 14/22] chore(react-router): update type definitions and improve SSR handling - Updated '@types/react' and '@types/react-dom' to version 18.3.16 and 18.3.5 respectively. - Added '@types/react-router' at version 5.1.20. - Enhanced server-side rendering (SSR) response handling in entry.server.tsx and server.mjs for better streaming support. - Refactored HTML generation in handleDocumentRequest for improved readability and maintainability. - Adjusted TypeScript configuration to target ES2022 and include additional libraries. --- examples/react-router-sample/entry.server.tsx | 147 +++++++++++------- examples/react-router-sample/package.json | 5 +- examples/react-router-sample/server.mjs | 40 +++-- examples/react-router-sample/tsconfig.json | 16 +- pnpm-lock.yaml | 20 ++- 5 files changed, 140 insertions(+), 88 deletions(-) diff --git a/examples/react-router-sample/entry.server.tsx b/examples/react-router-sample/entry.server.tsx index 8747b2744b..6a11eefeb1 100644 --- a/examples/react-router-sample/entry.server.tsx +++ b/examples/react-router-sample/entry.server.tsx @@ -1,13 +1,15 @@ +import type { ServerResponse } from 'node:http'; /* cspell:words Pipeable */ import { StrictMode } from 'react'; import { renderToPipeableStream } from 'react-dom/server'; import { + type StaticHandlerContext, StaticRouterProvider, createStaticHandler, createStaticRouter, - type StaticHandlerContext, } from 'react-router-dom'; -import { type Assets, AssetsContext } from './app/context'; +import type { Assets } from './app/context.js'; +import { AssetsContext } from './app/context.js'; import routes from './app/routes.js'; const { query, dataRoutes, queryRoute } = createStaticHandler(routes); @@ -43,54 +45,30 @@ export async function handleDocumentRequest( // 2. Create a static router for SSR const router = createStaticRouter(dataRoutes, context); - // Get assets including route-specific ones - const routeAssets = assets || { scriptTags: [], styleTags: [] }; - // Setup headers from action and loaders from deepest match const deepestMatch = context.matches[context.matches.length - 1]; const actionHeaders = context.actionHeaders[deepestMatch.route.id]; const loaderHeaders = context.loaderHeaders[deepestMatch.route.id]; - const headers = new Headers(); - if (actionHeaders) { - actionHeaders.forEach((value, key) => { - headers.append(key, value); - }); - } + const headers = new Headers(actionHeaders); + if (loaderHeaders) { loaderHeaders.forEach((value, key) => { headers.append(key, value); }); } - headers.set('content-type', 'text/html; charset=utf-8'); - // Create the HTML shell - const htmlStart = ` - - - - React Router Custom Framework - ${routeAssets.styleTags.map((tag) => ``).join('\n ') || ''} - - -
`; + headers.set('Content-Type', 'text/html; charset=utf-8'); - const htmlEnd = `
- - ${routeAssets.scriptTags.map((tag) => ``).join('\n ') || ''} - -`; + // Get assets including route-specific ones + const routeAssets = assets || { scriptTags: [], styleTags: [] }; if (options.mode === 'streaming') { - return handleStreamingResponse(router, context, routeAssets, htmlStart, htmlEnd, headers); + console.log('is streaming'); + return handleStreamingResponse(router, context, routeAssets, headers); } - // Buffered mode + // Buffered mode - collect stream into string let appHtml = ''; const { Writable } = require('node:stream'); const stream = renderToPipeableStream( @@ -103,11 +81,15 @@ export async function handleDocumentRequest( await new Promise((resolve) => { const writable = new Writable({ - write(chunk, _encoding, callback) { + write( + chunk: Buffer, + _encoding: BufferEncoding, + callback: (error?: Error | null) => void, + ) { appHtml += chunk; callback(); }, - final(callback) { + final(callback: (error?: Error | null) => void) { resolve(); callback(); }, @@ -115,30 +97,77 @@ export async function handleDocumentRequest( stream.pipe(writable); }); - const fullHtml = htmlStart + appHtml + htmlEnd; + const fullHtml = ` + + + + React Router Custom Framework + ${routeAssets.styleTags.map((tag) => ``).join('\n ') || ''} + + +
${appHtml}
+ + ${routeAssets.scriptTags.map((tag) => ``).join('\n ') || ''} + +`; - return { + return new Response(fullHtml, { status: context.statusCode, headers, - body: fullHtml, - }; + }); +} + +interface StreamingResponse { + status: number; + headers: Headers; + pipe: (res: ServerResponse) => void; +} + +interface ErrorResponse { + status: number; + headers: Headers; + body: string; } async function handleStreamingResponse( router: ReturnType, context: StaticHandlerContext, assets: Assets, - htmlStart: string, - htmlEnd: string, headers: Headers, -) { +): Promise { let didError = false; - + + const htmlStart = ` + + + + React Router Custom Framework + ${assets.styleTags.map((tag) => ``).join('\n ') || ''} + + +
`; + + const htmlEnd = `
+ + ${assets.scriptTags.map((tag) => ``).join('\n ') || ''} + +`; + return new Promise((resolve) => { const { PassThrough } = require('node:stream'); const responseStream = new PassThrough(); - const stream = renderToPipeableStream( + const { pipe } = renderToPipeableStream( @@ -148,28 +177,34 @@ async function handleStreamingResponse( bootstrapScripts: assets.scriptTags, onShellReady() { responseStream.write(htmlStart); - stream.pipe(responseStream, { end: false }); + pipe(responseStream); resolve({ status: didError ? 500 : context.statusCode, headers, - body: responseStream, + pipe: (res: ServerResponse) => { + responseStream.pipe(res); + }, }); }, - onCompleteAll() { - responseStream.end(htmlEnd); + onAllReady() { + responseStream.write(htmlEnd); + responseStream.end(); }, - onError(error) { + onShellError(error) { didError = true; - console.error('Streaming render error:', error); - const { Readable } = require('node:stream'); + console.error('Shell render error:', error); resolve({ status: 500, - headers: { 'content-type': 'text/html; charset=utf-8' }, - body: Readable.from( - `

Fatal Error: ${error instanceof Error ? error.message : 'Unknown Error'}

`, - ), + headers: new Headers({ + 'content-type': 'text/html; charset=utf-8', + }), + body: '

Something went wrong

', }); }, + onError(error) { + didError = true; + console.error('Streaming render error:', error); + }, }, ); }); diff --git a/examples/react-router-sample/package.json b/examples/react-router-sample/package.json index ec0bc23867..bea153c38c 100644 --- a/examples/react-router-sample/package.json +++ b/examples/react-router-sample/package.json @@ -29,8 +29,9 @@ "hono": "^4.6.0", "@types/express": "^5.0.0", "@types/node": "^22.4.1", - "@types/react": "^18.2.48", - "@types/react-dom": "^18.2.18", + "@types/react": "^18.3.16", + "@types/react-dom": "^18.3.5", + "@types/react-router": "^5.1.20", "concurrently": "^9.1.0", "prettier": "^3.3.3", "typescript": "^5.5.4" diff --git a/examples/react-router-sample/server.mjs b/examples/react-router-sample/server.mjs index 649c9b82ff..27c4e9b767 100644 --- a/examples/react-router-sample/server.mjs +++ b/examples/react-router-sample/server.mjs @@ -60,33 +60,31 @@ async function createSSRHandler(rsbuildServer, isProduction = false) { res.status(response.status); - // Set headers from plain object - for (const [key, value] of Object.entries(response.headers)) { + // Set headers + for (const [key, value] of response.headers.entries()) { res.setHeader(key, value); } - if (response.body && streamingPreferred) { + if (response.pipe) { // Handle streaming response - if (typeof response.body.pipe === 'function') { - // If it's a Node.js stream - response.body.pipe(res); - - // Handle any stream errors - response.body.on('error', (err) => { - console.error('Streaming error:', err); - if (!res.headersSent) { - res.status(500).send('Streaming error occurred'); - } else { - res.end(); - } - }); - } else { - // If it's not a stream, send it directly - res.send(response.body); - } + response.pipe(res); + } else if (response.body && typeof response.body.pipe === 'function') { + // Handle streaming response from body + response.body.pipe(res); + + // Handle any stream errors + response.body.on('error', (err) => { + console.error('Streaming error:', err); + if (!res.headersSent) { + res.status(500).send('Streaming error occurred'); + } else { + res.end(); + } + }); } else { // Handle buffered response - res.send(response.body); + const text = await response.text(); + res.send(text); } } catch (err) { console.error('SSR render error:', err); diff --git a/examples/react-router-sample/tsconfig.json b/examples/react-router-sample/tsconfig.json index 76d72df4ef..cdf5160e9c 100644 --- a/examples/react-router-sample/tsconfig.json +++ b/examples/react-router-sample/tsconfig.json @@ -1,15 +1,17 @@ { "compilerOptions": { - "target": "ES2020", - "lib": ["DOM", "ES2020"], - "module": "ESNext", - "jsx": "react-jsx", + "target": "ES2022", + "lib": ["DOM", "DOM.Iterable", "ES2022"], + "module": "NodeNext", + "moduleResolution": "NodeNext", "strict": true, + "jsx": "react-jsx", "skipLibCheck": true, - "isolatedModules": true, + "esModuleInterop": true, "resolveJsonModule": true, - "moduleResolution": "Bundler", - "useDefineForClassFields": true + "isolatedModules": true, + "allowJs": true, + "types": ["node"] }, "include": ["app", "types", "*.tsx", "*.ts"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c704870de..54d50f7ed1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -446,11 +446,14 @@ importers: specifier: ^22.4.1 version: 22.10.1 '@types/react': - specifier: ^18.2.48 + specifier: ^18.3.16 version: 18.3.16 '@types/react-dom': - specifier: ^18.2.18 + specifier: ^18.3.5 version: 18.3.5(@types/react@18.3.16) + '@types/react-router': + specifier: ^5.1.20 + version: 5.1.20 concurrently: specifier: ^9.1.0 version: 9.1.0 @@ -3118,6 +3121,9 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + '@types/html-minifier-terser@6.1.0': resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} @@ -3180,6 +3186,9 @@ packages: '@types/react-dom@19.0.1': resolution: {integrity: sha512-hljHij7MpWPKF6u5vojuyfV0YA4YURsQG7KT6SzV0Zs2BXAtgdTxG6A229Ub/xiWV4w/7JL8fi6aAyjshH4meA==} + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + '@types/react@18.3.16': resolution: {integrity: sha512-oh8AMIC4Y2ciKufU8hnKgs+ufgbA/dhPTACaZPM86AbwX9QwnFtSoPWEeRUj8fge+v6kFt78BXcDhAU1SrrAsw==} @@ -9143,6 +9152,8 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/history@4.7.11': {} + '@types/html-minifier-terser@6.1.0': {} '@types/http-errors@2.0.4': {} @@ -9199,6 +9210,11 @@ snapshots: dependencies: '@types/react': 19.0.1 + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 19.0.1 + '@types/react@18.3.16': dependencies: '@types/prop-types': 15.7.14 From e94420b066c55028ac12b5321c8f3483717f0f53 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 19:57:46 -0800 Subject: [PATCH 15/22] fix(react-router): improve SSR handling and response management - Enhanced server-side rendering (SSR) capabilities in entry.server.tsx by introducing new functions for handling data requests and managing streaming responses. - Refactored response handling in server.mjs to streamline streaming and buffered response management. - Updated TypeScript configuration to target ES2020 and utilize ESNext module resolution for better compatibility. - Improved error handling and response header management for SSR requests. --- examples/react-router-sample/entry.server.tsx | 242 ++++++++++-------- examples/react-router-sample/server.mjs | 69 +++-- examples/react-router-sample/tsconfig.json | 16 +- 3 files changed, 179 insertions(+), 148 deletions(-) diff --git a/examples/react-router-sample/entry.server.tsx b/examples/react-router-sample/entry.server.tsx index 6a11eefeb1..54632b3cc9 100644 --- a/examples/react-router-sample/entry.server.tsx +++ b/examples/react-router-sample/entry.server.tsx @@ -1,9 +1,9 @@ import type { ServerResponse } from 'node:http'; -/* cspell:words Pipeable */ +import { PassThrough, Writable } from 'node:stream'; import { StrictMode } from 'react'; import { renderToPipeableStream } from 'react-dom/server'; +import type { StaticHandlerContext } from 'react-router-dom'; import { - type StaticHandlerContext, StaticRouterProvider, createStaticHandler, createStaticRouter, @@ -17,6 +17,17 @@ const { query, dataRoutes, queryRoute } = createStaticHandler(routes); interface RenderOptions { mode?: 'buffered' | 'streaming'; } +interface StreamingResponse { + status: number; + headers: Headers; + pipe: (res: ServerResponse) => void; +} + +interface ErrorResponse { + status: number; + headers: Headers; + body: string; +} export async function handler( request: Request, @@ -29,23 +40,45 @@ export async function handler( return handleDocumentRequest(request, assets, options); } +export async function handleDataRequest(request: Request) { + const newRequest = + request.method === 'POST' + ? new Request(request.url, { + method: request.method, + headers: request.headers, + // @ts-expect-error this is valid, types are wrong + body: new URLSearchParams(await request.formData()), + }) + : new Request(request.url, { headers: request.headers }); + + const data = await queryRoute(newRequest); + + return new Response(JSON.stringify(data), { + headers: { 'Content-Type': 'application/json' }, + }); +} + export async function handleDocumentRequest( request: Request, assets?: Assets, options: RenderOptions = {}, ) { - // 1. Run action/loaders to get the routing context with `query` const context = await query(request); - // If `query` returns a Response, send it raw (a route probably redirected) if (context instanceof Response) { return context; } - // 2. Create a static router for SSR const router = createStaticRouter(dataRoutes, context); + const headers = getResponseHeaders(context); + const routeAssets = assets || { scriptTags: [], styleTags: [] }; - // Setup headers from action and loaders from deepest match + return options.mode === 'streaming' + ? handleStreamingResponse(router, context, routeAssets, headers) + : handleBufferedResponse(router, context, routeAssets, headers); +} + +function getResponseHeaders(context: StaticHandlerContext): Headers { const deepestMatch = context.matches[context.matches.length - 1]; const actionHeaders = context.actionHeaders[deepestMatch.route.id]; const loaderHeaders = context.loaderHeaders[deepestMatch.route.id]; @@ -59,18 +92,16 @@ export async function handleDocumentRequest( } headers.set('Content-Type', 'text/html; charset=utf-8'); + return headers; +} - // Get assets including route-specific ones - const routeAssets = assets || { scriptTags: [], styleTags: [] }; - - if (options.mode === 'streaming') { - console.log('is streaming'); - return handleStreamingResponse(router, context, routeAssets, headers); - } - - // Buffered mode - collect stream into string +async function handleBufferedResponse( + router: ReturnType, + context: StaticHandlerContext, + routeAssets: Assets, + headers: Headers, +) { let appHtml = ''; - const { Writable } = require('node:stream'); const stream = renderToPipeableStream( @@ -122,18 +153,6 @@ export async function handleDocumentRequest( }); } -interface StreamingResponse { - status: number; - headers: Headers; - pipe: (res: ServerResponse) => void; -} - -interface ErrorResponse { - status: number; - headers: Headers; - body: string; -} - async function handleStreamingResponse( router: ReturnType, context: StaticHandlerContext, @@ -142,93 +161,94 @@ async function handleStreamingResponse( ): Promise { let didError = false; - const htmlStart = ` + const { pipe } = renderToPipeableStream( + + + + + , + { + bootstrapScripts: assets.scriptTags, + onShellReady() { + // Shell is ready to be written + }, + onShellError(error) { + didError = true; + console.error('Shell render error:', error); + return { + status: 500, + headers: new Headers({ + 'content-type': 'text/html; charset=utf-8', + }), + body: '

Something went wrong

', + }; + }, + onError(error) { + didError = true; + console.error('Streaming render error:', error); + }, + onAllReady() { + // All content ready, but we handle this in the writable stream's final callback + }, + }, + ); + + if (didError) { + return { + status: 500, + headers: new Headers({ + 'content-type': 'text/html; charset=utf-8', + }), + body: '

Something went wrong

', + }; + } + + return { + status: context.statusCode, + headers, + pipe: (res: ServerResponse) => { + const writable = new Writable({ + write(chunk, _encoding, callback) { + if (!res.writableEnded) { + res.write(chunk, callback); + } else { + callback(); + } + }, + final() { + if (!res.writableEnded) { + const hydrationScript = ` + + ${assets.scriptTags.map((tag) => ``).join('\n')} + `; + res.write(hydrationScript); + res.end(''); + } + }, + }); + + res.write(` React Router Custom Framework - ${assets.styleTags.map((tag) => ``).join('\n ') || ''} + ${assets.styleTags.map((tag) => ``).join('\n ')} -
`; - - const htmlEnd = `
- - ${assets.scriptTags.map((tag) => ``).join('\n ') || ''} - -`; - - return new Promise((resolve) => { - const { PassThrough } = require('node:stream'); - const responseStream = new PassThrough(); - - const { pipe } = renderToPipeableStream( - - - - - , - { - bootstrapScripts: assets.scriptTags, - onShellReady() { - responseStream.write(htmlStart); - pipe(responseStream); - resolve({ - status: didError ? 500 : context.statusCode, - headers, - pipe: (res: ServerResponse) => { - responseStream.pipe(res); - }, - }); - }, - onAllReady() { - responseStream.write(htmlEnd); - responseStream.end(); - }, - onShellError(error) { - didError = true; - console.error('Shell render error:', error); - resolve({ - status: 500, - headers: new Headers({ - 'content-type': 'text/html; charset=utf-8', - }), - body: '

Something went wrong

', - }); - }, - onError(error) { - didError = true; - console.error('Streaming render error:', error); - }, - }, - ); - }); -} - -export async function handleDataRequest(request: Request) { - // 1. we don't want to proxy the browser request directly to our router, so we - // make a new one. - const newRequest = - request.method === 'POST' - ? new Request(request.url, { - method: request.method, - headers: request.headers, - // @ts-expect-error this is valid, types are wrong - body: new URLSearchParams(await request.formData()), - }) - : new Request(request.url, { headers: request.headers }); - - // 2. get data from our router, queryRoute knows to call the action or loader - // of the leaf route that matches - const data = await queryRoute(newRequest); - - // 3. send the response - return new Response(JSON.stringify(data), { - headers: { 'Content-Type': 'application/json' }, - }); +
`); + + pipe(writable); + + res.on('error', (error) => { + console.error('Response stream error:', error); + if (!res.writableEnded) { + res.end(); + } + }); + }, + }; } diff --git a/examples/react-router-sample/server.mjs b/examples/react-router-sample/server.mjs index 27c4e9b767..1d26f09b03 100644 --- a/examples/react-router-sample/server.mjs +++ b/examples/react-router-sample/server.mjs @@ -3,9 +3,11 @@ import path from 'node:path'; import { createRsbuild, loadConfig } from '@rsbuild/core'; import express from 'express'; +// Configuration Constants const PORT = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 4000; const FORCE_STREAMING = (process.env.FORCE_STREAMING || 'true') === 'true'; +// Asset Management async function getManifestAssets(routeId) { try { const manifestPath = path.join(process.cwd(), 'dist/manifest.json'); @@ -30,6 +32,28 @@ async function getManifestAssets(routeId) { } } +// SSR Handler +async function handleStreamResponse(response, res) { + if (response.pipe) { + response.pipe(res); + } else if (response.body && typeof response.body.pipe === 'function') { + response.body.pipe(res); + response.body.on('error', (err) => { + console.error('Streaming error:', err); + if (!res.headersSent) { + res.status(500).send('Streaming error occurred'); + } else { + res.end(); + } + }); + } +} + +async function handleBufferedResponse(response, res) { + const text = await response.text(); + res.send(text); +} + async function createSSRHandler(rsbuildServer, isProduction = false) { return async (req, res, next) => { try { @@ -51,40 +75,28 @@ async function createSSRHandler(rsbuildServer, isProduction = false) { ...(req.method !== 'GET' && { body: req.body }), }); - // Use streaming if client accepts it or if forced const streamingPreferred = FORCE_STREAMING || req.headers.accept?.includes('text/html-streaming'); + const response = await serverModule.handler(request, assets, { mode: streamingPreferred ? 'streaming' : 'buffered', }); + // Set response status and headers res.status(response.status); - - // Set headers for (const [key, value] of response.headers.entries()) { res.setHeader(key, value); } - if (response.pipe) { - // Handle streaming response - response.pipe(res); - } else if (response.body && typeof response.body.pipe === 'function') { - // Handle streaming response from body - response.body.pipe(res); - - // Handle any stream errors - response.body.on('error', (err) => { - console.error('Streaming error:', err); - if (!res.headersSent) { - res.status(500).send('Streaming error occurred'); - } else { - res.end(); - } - }); + // Handle response based on mode and response type + if ( + streamingPreferred && + (response.pipe || + (response.body && typeof response.body.pipe === 'function')) + ) { + await handleStreamResponse(response, res); } else { - // Handle buffered response - const text = await response.text(); - res.send(text); + await handleBufferedResponse(response, res); } } catch (err) { console.error('SSR render error:', err); @@ -93,11 +105,13 @@ async function createSSRHandler(rsbuildServer, isProduction = false) { }; } +// Server Setup and Configuration async function startServer(isProduction = false) { const app = express(); let rsbuildServer; try { + // Initialize Rsbuild const { content } = await loadConfig({}); if (!content) { throw new Error('Failed to load Rsbuild config'); @@ -113,14 +127,12 @@ async function startServer(isProduction = false) { streamingPreferred: false, }); - // Parse JSON bodies + // Middleware Setup app.use(express.json()); if (!isProduction) { - // Use Rsbuild dev middleware for static assets in dev app.use(rsbuildServer.middlewares); } else { - // Serve static assets with cache headers in prod app.use( express.static(path.join(process.cwd(), 'dist/web'), { maxAge: '1y', @@ -130,9 +142,10 @@ async function startServer(isProduction = false) { ); } - // Handle SSR requests + // Route Handler app.all('*', await createSSRHandler(rsbuildServer, isProduction)); + // Server Startup const server = app.listen(PORT, async () => { console.log(`Server started at http://localhost:${PORT}`); if (!isProduction) { @@ -144,7 +157,7 @@ async function startServer(isProduction = false) { rsbuildServer.connectWebSocket({ server }); } - // Handle uncaught errors + // Error Handling process.on('uncaughtException', (err) => { console.error('Uncaught exception:', err); server.close(() => process.exit(1)); @@ -155,7 +168,7 @@ async function startServer(isProduction = false) { } } -// Start the appropriate server based on NODE_ENV +// Server Initialization if (process.env.NODE_ENV === 'production') { startServer(true).catch((err) => { console.error('Failed to start production server:', err); diff --git a/examples/react-router-sample/tsconfig.json b/examples/react-router-sample/tsconfig.json index cdf5160e9c..76d72df4ef 100644 --- a/examples/react-router-sample/tsconfig.json +++ b/examples/react-router-sample/tsconfig.json @@ -1,17 +1,15 @@ { "compilerOptions": { - "target": "ES2022", - "lib": ["DOM", "DOM.Iterable", "ES2022"], - "module": "NodeNext", - "moduleResolution": "NodeNext", - "strict": true, + "target": "ES2020", + "lib": ["DOM", "ES2020"], + "module": "ESNext", "jsx": "react-jsx", + "strict": true, "skipLibCheck": true, - "esModuleInterop": true, - "resolveJsonModule": true, "isolatedModules": true, - "allowJs": true, - "types": ["node"] + "resolveJsonModule": true, + "moduleResolution": "Bundler", + "useDefineForClassFields": true }, "include": ["app", "types", "*.tsx", "*.ts"] } From b3f30486c7a91165fedf9a72b259b41779775b00 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Fri, 13 Dec 2024 20:08:04 -0800 Subject: [PATCH 16/22] chore(react-router): add cspell configuration for improved spell checking - Added a cspell comment to entry.server.tsx to specify words for spell checking, enhancing code quality and maintainability. --- examples/react-router-sample/entry.server.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/react-router-sample/entry.server.tsx b/examples/react-router-sample/entry.server.tsx index 54632b3cc9..2bf60daab3 100644 --- a/examples/react-router-sample/entry.server.tsx +++ b/examples/react-router-sample/entry.server.tsx @@ -1,3 +1,4 @@ +// cspell:words Pipeable import type { ServerResponse } from 'node:http'; import { PassThrough, Writable } from 'node:stream'; import { StrictMode } from 'react'; From 49211304d3a93bdaa4a5f5337c3ed2519ee4fce6 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Tue, 17 Dec 2024 13:34:00 -0800 Subject: [PATCH 17/22] stash --- examples/react-router-sample/app/home.tsx | 1 + examples/react-router-sample/app/routes.tsx | 94 +-- examples/react-router-sample/entry.server.tsx | 303 ++------- examples/react-router-sample/package.json | 6 + .../react-router-sample/rsbuild.config.ts | 23 +- examples/react-router-sample/server.mjs | 33 +- .../virtual-server-entry.ts | 92 +++ packages/plugin-react-router/package.json | 15 +- packages/plugin-react-router/rslib.config.ts | 32 +- packages/plugin-react-router/src/index.ts | 77 ++- .../src/templates/context.ts | 12 + .../src/templates/entry.client.tsx | 12 + .../src/templates/entry.server.tsx | 70 ++ pnpm-lock.yaml | 631 +++++++++++++++++- scripts/config/rslib.config.ts | 2 +- 15 files changed, 1059 insertions(+), 344 deletions(-) create mode 100644 examples/react-router-sample/virtual-server-entry.ts create mode 100644 packages/plugin-react-router/src/templates/context.ts create mode 100644 packages/plugin-react-router/src/templates/entry.client.tsx create mode 100644 packages/plugin-react-router/src/templates/entry.server.tsx diff --git a/examples/react-router-sample/app/home.tsx b/examples/react-router-sample/app/home.tsx index f56bd033f9..8b97ea88fc 100644 --- a/examples/react-router-sample/app/home.tsx +++ b/examples/react-router-sample/app/home.tsx @@ -1,4 +1,5 @@ import styles from './home.module.css'; +export const ServerAction = async () => {}; export default function Home() { return ( diff --git a/examples/react-router-sample/app/routes.tsx b/examples/react-router-sample/app/routes.tsx index 4dbb2c2c92..9a5bf6a144 100644 --- a/examples/react-router-sample/app/routes.tsx +++ b/examples/react-router-sample/app/routes.tsx @@ -5,46 +5,58 @@ import Layout from './layout.js'; // import Home from './home.js'; // import About from './about.js'; -const isServer = typeof document === 'undefined'; - -const Home = lazy(() => import(/* webpackChunkName: "home" */ './home.js')); -const About = lazy(() => import(/* webpackChunkName: "about" */ './about.js')); +import { + type RouteConfig, + index, + layout, + route, +} from '@react-router/dev/routes'; +// import { flatRoutes } from '@react-router/fs-routes'; export default [ - { - id: 'layout', - path: '/', - Component: Layout, - // up to you where your loaders run (client or server), this one dynamically - // imports the correct one to avoid putting the server code in client - // bundles - async loader(args: LoaderFunctionArgs) { - const mod = await (isServer - ? import('./layout.server.js') - : import('./layout.client.js')); - return mod.loader(args); - }, - // same with the action, you'll probably want to abstract this kind of stuff - // in a createRoute() kind of thing - async action(args: ActionFunctionArgs) { - const mod = await (isServer - ? import('./layout.server.js') - : import('./layout.client.js')); - return mod.action(args); - }, - children: [ - { - id: 'home', - index: true, - Component: Home, - }, - { - id: 'about', - path: 'about', - Component: About, - // this loader runs in both places - loader: aboutLoader, - }, - ], - }, -]; + layout('layout.tsx', [index('home.tsx'), route('about', 'about.tsx')]), +] satisfies RouteConfig; + +// const isServer = typeof document === 'undefined'; + +// const Home = lazy(() => import(/* webpackChunkName: "home" */ './home.js')); +// const About = lazy(() => import(/* webpackChunkName: "about" */ './about.js')); +// +// export default [ +// { +// id: 'layout', +// path: '/', +// Component: Layout, +// // up to you where your loaders run (client or server), this one dynamically +// // imports the correct one to avoid putting the server code in client +// // bundles +// async loader(args: LoaderFunctionArgs) { +// const mod = await (isServer +// ? import('./layout.server.js') +// : import('./layout.client.js')); +// return mod.loader(args); +// }, +// // same with the action, you'll probably want to abstract this kind of stuff +// // in a createRoute() kind of thing +// async action(args: ActionFunctionArgs) { +// const mod = await (isServer +// ? import('./layout.server.js') +// : import('./layout.client.js')); +// return mod.action(args); +// }, +// children: [ +// { +// id: 'home', +// index: true, +// Component: Home, +// }, +// { +// id: 'about', +// path: 'about', +// Component: About, +// // this loader runs in both places +// loader: aboutLoader, +// }, +// ], +// }, +// ]; diff --git a/examples/react-router-sample/entry.server.tsx b/examples/react-router-sample/entry.server.tsx index 2bf60daab3..99dd5f13e6 100644 --- a/examples/react-router-sample/entry.server.tsx +++ b/examples/react-router-sample/entry.server.tsx @@ -1,255 +1,68 @@ -// cspell:words Pipeable -import type { ServerResponse } from 'node:http'; -import { PassThrough, Writable } from 'node:stream'; -import { StrictMode } from 'react'; -import { renderToPipeableStream } from 'react-dom/server'; -import type { StaticHandlerContext } from 'react-router-dom'; -import { - StaticRouterProvider, - createStaticHandler, - createStaticRouter, -} from 'react-router-dom'; -import type { Assets } from './app/context.js'; -import { AssetsContext } from './app/context.js'; -import routes from './app/routes.js'; - -const { query, dataRoutes, queryRoute } = createStaticHandler(routes); - -interface RenderOptions { - mode?: 'buffered' | 'streaming'; -} -interface StreamingResponse { - status: number; - headers: Headers; - pipe: (res: ServerResponse) => void; -} - -interface ErrorResponse { - status: number; - headers: Headers; - body: string; -} - -export async function handler( - request: Request, - assets?: Assets, - options: RenderOptions = {}, -) { - if (request.headers.get('Accept')?.includes('application/json')) { - return handleDataRequest(request); - } - return handleDocumentRequest(request, assets, options); -} - -export async function handleDataRequest(request: Request) { - const newRequest = - request.method === 'POST' - ? new Request(request.url, { - method: request.method, - headers: request.headers, - // @ts-expect-error this is valid, types are wrong - body: new URLSearchParams(await request.formData()), - }) - : new Request(request.url, { headers: request.headers }); +import { PassThrough } from 'node:stream'; - const data = await queryRoute(newRequest); +import { createReadableStreamFromReadable } from '@react-router/node'; +import { isbot } from 'isbot'; +import type { RenderToPipeableStreamOptions } from 'react-dom/server'; +import { renderToPipeableStream } from 'react-dom/server'; +import type { AppLoadContext, EntryContext } from 'react-router'; +import { ServerRouter } from 'react-router'; - return new Response(JSON.stringify(data), { - headers: { 'Content-Type': 'application/json' }, - }); -} +const ABORT_DELAY = 5_000; -export async function handleDocumentRequest( +export default function handleRequest( request: Request, - assets?: Assets, - options: RenderOptions = {}, -) { - const context = await query(request); - - if (context instanceof Response) { - return context; - } - - const router = createStaticRouter(dataRoutes, context); - const headers = getResponseHeaders(context); - const routeAssets = assets || { scriptTags: [], styleTags: [] }; - - return options.mode === 'streaming' - ? handleStreamingResponse(router, context, routeAssets, headers) - : handleBufferedResponse(router, context, routeAssets, headers); -} - -function getResponseHeaders(context: StaticHandlerContext): Headers { - const deepestMatch = context.matches[context.matches.length - 1]; - const actionHeaders = context.actionHeaders[deepestMatch.route.id]; - const loaderHeaders = context.loaderHeaders[deepestMatch.route.id]; - - const headers = new Headers(actionHeaders); - - if (loaderHeaders) { - loaderHeaders.forEach((value, key) => { - headers.append(key, value); - }); - } - - headers.set('Content-Type', 'text/html; charset=utf-8'); - return headers; -} - -async function handleBufferedResponse( - router: ReturnType, - context: StaticHandlerContext, - routeAssets: Assets, - headers: Headers, + responseStatusCode: number, + responseHeaders: Headers, + routerContext: EntryContext, + // loadContext: AppLoadContext ) { - let appHtml = ''; - const stream = renderToPipeableStream( - - - - - , - ); - - await new Promise((resolve) => { - const writable = new Writable({ - write( - chunk: Buffer, - _encoding: BufferEncoding, - callback: (error?: Error | null) => void, - ) { - appHtml += chunk; - callback(); - }, - final(callback: (error?: Error | null) => void) { - resolve(); - callback(); - }, - }); - stream.pipe(writable); - }); - - const fullHtml = ` - - - - React Router Custom Framework - ${routeAssets.styleTags.map((tag) => ``).join('\n ') || ''} - - -
${appHtml}
- - ${routeAssets.scriptTags.map((tag) => ``).join('\n ') || ''} - -`; - - return new Response(fullHtml, { - status: context.statusCode, - headers, - }); -} - -async function handleStreamingResponse( - router: ReturnType, - context: StaticHandlerContext, - assets: Assets, - headers: Headers, -): Promise { - let didError = false; - - const { pipe } = renderToPipeableStream( - - - - - , - { - bootstrapScripts: assets.scriptTags, - onShellReady() { - // Shell is ready to be written - }, - onShellError(error) { - didError = true; - console.error('Shell render error:', error); - return { - status: 500, - headers: new Headers({ - 'content-type': 'text/html; charset=utf-8', - }), - body: '

Something went wrong

', - }; - }, - onError(error) { - didError = true; - console.error('Streaming render error:', error); - }, - onAllReady() { - // All content ready, but we handle this in the writable stream's final callback - }, - }, - ); - - if (didError) { - return { - status: 500, - headers: new Headers({ - 'content-type': 'text/html; charset=utf-8', - }), - body: '

Something went wrong

', - }; - } - - return { - status: context.statusCode, - headers, - pipe: (res: ServerResponse) => { - const writable = new Writable({ - write(chunk, _encoding, callback) { - if (!res.writableEnded) { - res.write(chunk, callback); - } else { - callback(); - } + return new Promise((resolve, reject) => { + let shellRendered = false; + let statusCode = responseStatusCode; + const userAgent = request.headers.get('user-agent'); + + // Ensure requests from bots and SPA Mode renders wait for all content to load before responding + // https://react.dev/reference/react-dom/server/renderToPipeableStream#waiting-for-all-content-to-load-for-crawlers-and-static-generation + const readyOption: keyof RenderToPipeableStreamOptions = + (userAgent && isbot(userAgent)) || routerContext.isSpaMode + ? 'onAllReady' + : 'onShellReady'; + + const { pipe, abort } = renderToPipeableStream( + , + { + [readyOption]() { + shellRendered = true; + const body = new PassThrough(); + const stream = createReadableStreamFromReadable(body); + + responseHeaders.set('Content-Type', 'text/html'); + + resolve( + new Response(stream, { + headers: responseHeaders, + status: statusCode, + }), + ); + + pipe(body); + }, + onShellError(error: unknown) { + reject(error); }, - final() { - if (!res.writableEnded) { - const hydrationScript = ` - - ${assets.scriptTags.map((tag) => ``).join('\n')} - `; - res.write(hydrationScript); - res.end(''); + onError(error: unknown) { + statusCode = 500; + if (shellRendered) { + console.error(error); } }, - }); - - res.write(` - - - - React Router Custom Framework - ${assets.styleTags.map((tag) => ``).join('\n ')} - - -
`); - - pipe(writable); + }, + ); - res.on('error', (error) => { - console.error('Response stream error:', error); - if (!res.writableEnded) { - res.end(); - } - }); - }, - }; + setTimeout(abort, ABORT_DELAY); + }); } diff --git a/examples/react-router-sample/package.json b/examples/react-router-sample/package.json index bea153c38c..e7270d3cf3 100644 --- a/examples/react-router-sample/package.json +++ b/examples/react-router-sample/package.json @@ -19,6 +19,12 @@ "@rsbuild/core": "workspace:*", "@rsbuild/plugin-react": "workspace:*", "@rsbuild/plugin-react-router": "workspace:*", + "@react-router/dev": "^7.0.2", + "@react-router/node": "^7.0.2", + "@react-router/fs-routes": "^7.0.2", + "@react-router/express": "^7.0.2", + "isbot": "^5.1.18", + "jiti": "^2.4.1", "express": "^4.21.2", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/examples/react-router-sample/rsbuild.config.ts b/examples/react-router-sample/rsbuild.config.ts index d9af2907b9..7f0e7b960c 100644 --- a/examples/react-router-sample/rsbuild.config.ts +++ b/examples/react-router-sample/rsbuild.config.ts @@ -6,6 +6,7 @@ import { pluginTypedCSSModules } from '@rsbuild/plugin-typed-css-modules'; export default defineConfig({ plugins: [ pluginReactRouter({ + ssr: true, // React Router specific options router: { staticHandler: true, // Enable static handler for React Router @@ -29,16 +30,16 @@ export default defineConfig({ }, }, // Configure the node environment for SSR - node: { - source: { - entry: { - server: './entry.server.tsx', - }, - }, - output: { - target: 'node', - manifest: false, - }, - }, + // node: { + // // source: { + // // entry: { + // // server: './entry.server.tsx', + // // }, + // // }, + // // output: { + // // target: 'node', + // // manifest: false, + // // }, + // }, }, }); diff --git a/examples/react-router-sample/server.mjs b/examples/react-router-sample/server.mjs index 1d26f09b03..45e0328966 100644 --- a/examples/react-router-sample/server.mjs +++ b/examples/react-router-sample/server.mjs @@ -1,5 +1,6 @@ import fs from 'node:fs/promises'; import path from 'node:path'; +import { createRequestHandler } from '@react-router/express'; import { createRsbuild, loadConfig } from '@rsbuild/core'; import express from 'express'; @@ -68,36 +69,8 @@ async function createSSRHandler(rsbuildServer, isProduction = false) { const url = new URL(req.url, `http://${req.headers.host}`); const routeId = url.pathname.split('/').pop() || 'home'; const assets = await getManifestAssets(routeId); - - const request = new Request(url, { - method: req.method, - headers: req.headers, - ...(req.method !== 'GET' && { body: req.body }), - }); - - const streamingPreferred = - FORCE_STREAMING || req.headers.accept?.includes('text/html-streaming'); - - const response = await serverModule.handler(request, assets, { - mode: streamingPreferred ? 'streaming' : 'buffered', - }); - - // Set response status and headers - res.status(response.status); - for (const [key, value] of response.headers.entries()) { - res.setHeader(key, value); - } - - // Handle response based on mode and response type - if ( - streamingPreferred && - (response.pipe || - (response.body && typeof response.body.pipe === 'function')) - ) { - await handleStreamResponse(response, res); - } else { - await handleBufferedResponse(response, res); - } + debugger; + return createRequestHandler(serverModule)(req, res, next); } catch (err) { console.error('SSR render error:', err); next(err); diff --git a/examples/react-router-sample/virtual-server-entry.ts b/examples/react-router-sample/virtual-server-entry.ts new file mode 100644 index 0000000000..aa454048ec --- /dev/null +++ b/examples/react-router-sample/virtual-server-entry.ts @@ -0,0 +1,92 @@ +import type { ServerBuild } from 'react-router'; +import * as userServerEntry from './entry.server'; + +export const entry: ServerBuild['entry'] = { + module: userServerEntry, +}; + +export const routes: ServerBuild['routes'] = { + root: { + id: 'root', + parentId: undefined, + path: '', + index: undefined, + caseSensitive: undefined, + module: { + action: async () => ({}), + loader: async () => ({}), + default: () => null, + ErrorBoundary: () => null, + handle: {}, + links: () => [], + meta: () => [ + { + title: 'App Title', + }, + ], + }, + }, + 'routes/about': { + id: 'routes/about', + parentId: 'root', + path: 'about', + index: undefined, + caseSensitive: undefined, + module: { + action: async () => ({}), + loader: async () => ({}), + default: () => null, + }, + }, + 'routes/about.index': { + id: 'routes/about.index', + parentId: 'routes/about', + path: undefined, + index: true, + caseSensitive: undefined, + module: { + loader: async () => ({}), + default: () => null, + }, + }, +}; +export const assets: ServerBuild['assets'] = { + entry: { imports: [], module: '/build/entry.client-ABC123.js' }, + routes: { + root: { + id: 'root', + parentId: undefined, + path: '', + index: undefined, + caseSensitive: undefined, + module: '/build/root-XYZ789.js', + imports: ['/build/shared-DEF456.js'], + hasAction: false, + hasLoader: true, + hasClientAction: false, + hasClientLoader: false, + hasErrorBoundary: true, + }, + 'routes/about': { + id: 'routes/about', + parentId: 'root', + path: 'about', + index: undefined, + caseSensitive: undefined, + module: '/build/routes/about-GHI123.js', + imports: [], + hasAction: false, + hasLoader: true, + hasClientAction: false, + hasClientLoader: false, + hasErrorBoundary: false, + }, + }, + url: '/build/manifest-JKL456.js', + version: '1', +}; +export const publicPath: ServerBuild['publicPath'] = '/'; +export const assetsBuildDirectory: ServerBuild['assetsBuildDirectory'] = ''; +export const future: ServerBuild['future'] = {}; +export const isSpaMode: ServerBuild['isSpaMode'] = false; +export const basename: ServerBuild['basename'] = undefined; diff --git a/packages/plugin-react-router/package.json b/packages/plugin-react-router/package.json index 1d1f09dcf2..53465b0ce6 100644 --- a/packages/plugin-react-router/package.json +++ b/packages/plugin-react-router/package.json @@ -27,15 +27,24 @@ }, "dependencies": { "@mjackson/node-fetch-server": "^0.3.0", - "@rspack/plugin-react-refresh": "~1.0.0", - "react-refresh": "^0.16.0" + "@rspack/plugin-react-refresh": "^1.0.1", + "react-refresh": "^0.16.0", + "isbot": "5.1.18", + "@react-router/node": "7.0.2" }, "devDependencies": { + "react-router": "7.0.2", "@rsbuild/core": "workspace:*", "@rslib/core": "0.1.3", "@scripts/test-helper": "workspace:*", "@types/node": "^22.10.1", - "typescript": "^5.7.2" + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.5", + "typescript": "^5.7.2", + "react-dom": "^18.3.1", + "react": "^18.3.1", + "react-router-dom": "^7.0.2", + "jiti": "^2.4.1" }, "peerDependencies": { "@rsbuild/core": "1.x" diff --git a/packages/plugin-react-router/rslib.config.ts b/packages/plugin-react-router/rslib.config.ts index dd0e008e6e..f2bb222be9 100644 --- a/packages/plugin-react-router/rslib.config.ts +++ b/packages/plugin-react-router/rslib.config.ts @@ -1,3 +1,29 @@ -import { dualPackage } from '@rsbuild/config/rslib.config.ts'; - -export default dualPackage; +import { + cjsConfig, + commonExternals, + dualPackage, + esmConfig, +} from '@rsbuild/config/rslib.config.ts'; +import { defineConfig } from '@rslib/core'; +const config = defineConfig({ + source: { + entry: { + index: './src/index.ts', + 'templates/entry.server': './src/templates/entry.server.tsx', + 'templates/entry.client': './src/templates/entry.client.tsx', + }, + }, + lib: [esmConfig, cjsConfig], + tools: { + rspack: { + externals: [ + ...commonExternals, + 'user-routes', + /react-router-dom/, + 'react', + /react-dom/, + ], + }, + }, +}); +export default config; diff --git a/packages/plugin-react-router/src/index.ts b/packages/plugin-react-router/src/index.ts index e412b26ac8..5dc0662336 100644 --- a/packages/plugin-react-router/src/index.ts +++ b/packages/plugin-react-router/src/index.ts @@ -1,5 +1,8 @@ +import fs from 'node:fs'; +import path from 'node:path'; import type { RsbuildPlugin, Rspack } from '@rsbuild/core'; import type { PluginOptions as ReactRefreshOptions } from '@rspack/plugin-react-refresh'; +import { createJiti } from 'jiti'; import { applyBasicReactSupport, applyReactProfiler } from './react.js'; import { applySplitChunksRule } from './splitChunks.js'; @@ -74,7 +77,11 @@ export const pluginReactRouter = ( ): RsbuildPlugin => ({ name: PLUGIN_REACT_ROUTER_NAME, - setup(api) { + async setup(api) { + const jiti = createJiti(process.cwd()); + //@ts-ignore + let configModule = await jiti.import('./app/routes', {}); + console.log(configModule); const defaultOptions: PluginReactRouterOptions = { fastRefresh: true, enableProfiler: false, @@ -93,6 +100,32 @@ export const pluginReactRouter = ( }, }; + // Function to check if user has provided their own entry files + const checkUserEntry = (filename: string) => { + const userEntry = path.join(api.context.rootPath, filename); + return fs.existsSync(userEntry); + }; + + // Get the appropriate entry path + const getEntryPath = (filename: string) => { + const userEntry = `./${filename}`; + if (checkUserEntry(filename)) { + return userEntry; + } + // Return the path to our default template + return path.join(__dirname, 'templates', filename); + }; + + // Add resolve configuration for user-routes + api.modifyBundlerChain((chain) => { + chain.resolve.alias.set( + 'user-routes', + checkUserEntry('app/routes.tsx') + ? path.join(api.context.rootPath, 'app/routes.js') + : path.join(api.context.rootPath, 'app/routes.tsx'), + ); + }); + // General configuration for all cases api.modifyRsbuildConfig((config, { mergeRsbuildConfig }) => { const generalConfig = { @@ -103,7 +136,7 @@ export const pluginReactRouter = ( web: { source: { entry: { - client: './entry.client.tsx', + client: getEntryPath('entry.client.tsx'), }, }, }, @@ -127,7 +160,7 @@ export const pluginReactRouter = ( node: { source: { entry: { - server: './entry.server.tsx', + server: `${getEntryPath('entry.server.tsx')}?virtual`, }, }, }, @@ -136,6 +169,44 @@ export const pluginReactRouter = ( return mergeRsbuildConfig(config, ssrConfig); }); + // Add transform for virtual server entry + api.transform( + { + test: /entry\.server\.(tsx?|jsx?|mjs)$/, + resourceQuery: /\?virtual/, + }, + ({ resourcePath }) => { + // Return the virtual server entry content + return ` +import type { ServerBuild } from "react-router"; +import * as userServerEntry from '${resourcePath.replace(/\?.*$/, '')}'; + +export const entry: ServerBuild["entry"] = { + module: userServerEntry +}; + +// Import routes from the user's app +import routes from 'user-routes'; +// Export the routes configuration +export { routes }; + +// Export other required ServerBuild properties +export const assets: ServerBuild["assets"] = { + entry: { imports: [], module: "" }, + routes: {}, + url: "", + version: "1" +}; + +export const publicPath: ServerBuild["publicPath"] = "/"; +export const assetsBuildDirectory: ServerBuild["assetsBuildDirectory"] = ""; +export const future: ServerBuild["future"] = {}; +export const isSpaMode: ServerBuild["isSpaMode"] = false; +export const basename: ServerBuild["basename"] = undefined; +`; + }, + ); + api.modifyEnvironmentConfig((config, { name }) => { if (name === 'web') { return { diff --git a/packages/plugin-react-router/src/templates/context.ts b/packages/plugin-react-router/src/templates/context.ts new file mode 100644 index 0000000000..921f6e91b8 --- /dev/null +++ b/packages/plugin-react-router/src/templates/context.ts @@ -0,0 +1,12 @@ +import { createContext } from 'react'; +import type { Context } from 'react'; + +export interface Assets { + scriptTags: string[]; + styleTags: string[]; +} + +export const AssetsContext: Context = createContext({ + scriptTags: [], + styleTags: [], +}); diff --git a/packages/plugin-react-router/src/templates/entry.client.tsx b/packages/plugin-react-router/src/templates/entry.client.tsx new file mode 100644 index 0000000000..33cb007f53 --- /dev/null +++ b/packages/plugin-react-router/src/templates/entry.client.tsx @@ -0,0 +1,12 @@ +import { StrictMode, startTransition } from 'react'; +import { hydrateRoot } from 'react-dom/client'; +import { HydratedRouter } from 'react-router/dom'; + +startTransition(() => { + hydrateRoot( + document, + + + , + ); +}); diff --git a/packages/plugin-react-router/src/templates/entry.server.tsx b/packages/plugin-react-router/src/templates/entry.server.tsx new file mode 100644 index 0000000000..2b9371edc2 --- /dev/null +++ b/packages/plugin-react-router/src/templates/entry.server.tsx @@ -0,0 +1,70 @@ +// import { PassThrough } from "node:stream"; + +// import type { +// // AppLoadContext, +// EntryContext } from "react-router"; +// import { createReadableStreamFromReadable } from "@react-router/node"; +// import { ServerRouter } from "react-router"; +// import { isbot } from "isbot"; +// import type { RenderToPipeableStreamOptions } from "react-dom/server"; +// import { renderToPipeableStream } from "react-dom/server"; + +// const ABORT_DELAY = 5_000; + +// export default function handleRequest( +// request: Request, +// responseStatusCode: number, +// responseHeaders: Headers, +// routerContext: EntryContext, +// // loadContext: AppLoadContext +// ): Promise { +// return new Promise((resolve, reject) => { +// let shellRendered = false; +// let statusCode = responseStatusCode; +// const userAgent = request.headers.get("user-agent"); + +// // Ensure requests from bots and SPA Mode renders wait for all content to load before responding +// // https://react.dev/reference/react-dom/server/renderToPipeableStream#waiting-for-all-content-to-load-for-crawlers-and-static-generation +// const readyOption: keyof RenderToPipeableStreamOptions = +// (userAgent && isbot(userAgent)) || routerContext.isSpaMode +// ? "onAllReady" +// : "onShellReady"; + +// const { pipe, abort } = renderToPipeableStream( +// , +// { +// [readyOption]() { +// shellRendered = true; +// const body = new PassThrough(); +// const stream = createReadableStreamFromReadable(body); + +// responseHeaders.set("Content-Type", "text/html"); + +// resolve( +// new Response(stream, { +// headers: responseHeaders, +// status: statusCode, +// }) +// ); + +// pipe(body); +// }, +// onShellError(error: unknown) { +// reject(error); +// }, +// onError(error: unknown) { +// statusCode = 500; +// if (shellRendered) { +// console.error(error); +// } +// }, +// } +// ); + +// setTimeout(abort, ABORT_DELAY); +// }); +// } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54d50f7ed1..27585e0baa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -411,6 +411,18 @@ importers: examples/react-router-sample: dependencies: + '@react-router/dev': + specifier: ^7.0.2 + version: 7.0.2(@types/node@22.10.1)(less@4.2.1)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)) + '@react-router/express': + specifier: ^7.0.2 + version: 7.0.2(express@4.21.2)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.7.2) + '@react-router/fs-routes': + specifier: ^7.0.2 + version: 7.0.2(@react-router/dev@7.0.2(@types/node@22.10.1)(less@4.2.1)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)))(typescript@5.7.2) + '@react-router/node': + specifier: ^7.0.2 + version: 7.0.2(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.7.2) '@rsbuild/core': specifier: workspace:* version: link:../../packages/core @@ -426,6 +438,12 @@ importers: express: specifier: ^4.21.2 version: 4.21.2 + isbot: + specifier: ^5.1.18 + version: 5.1.18 + jiti: + specifier: ^2.4.1 + version: 2.4.1 react: specifier: ^18.3.1 version: 18.3.1 @@ -961,9 +979,15 @@ importers: '@mjackson/node-fetch-server': specifier: ^0.3.0 version: 0.3.0 + '@react-router/node': + specifier: 7.0.2 + version: 7.0.2(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.7.2) '@rspack/plugin-react-refresh': - specifier: ~1.0.0 - version: 1.0.0(react-refresh@0.16.0) + specifier: ^1.0.1 + version: 1.0.1(react-refresh@0.16.0) + isbot: + specifier: 5.1.18 + version: 5.1.18 react-refresh: specifier: ^0.16.0 version: 0.16.0 @@ -980,6 +1004,27 @@ importers: '@types/node': specifier: ^22.10.1 version: 22.10.1 + '@types/react': + specifier: ^18.3.12 + version: 18.3.16 + '@types/react-dom': + specifier: ^18.3.5 + version: 18.3.5(@types/react@18.3.16) + jiti: + specifier: ^2.4.1 + version: 2.4.1 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + react-router: + specifier: 7.0.2 + version: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-router-dom: + specifier: ^7.0.2 + version: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -1096,7 +1141,7 @@ importers: version: 3.2.4(svelte@5.9.0) svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.26.0)(less@4.2.1)(postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0))(postcss@8.4.49)(sass@1.82.0)(stylus@0.64.0)(svelte@5.9.0)(typescript@5.7.2) + version: 6.0.3(@babel/core@7.26.0)(less@4.2.1)(postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0))(postcss@8.4.49)(sass@1.82.0)(stylus@0.64.0)(svelte@5.9.0)(typescript@5.7.2) devDependencies: '@rsbuild/core': specifier: workspace:* @@ -2307,6 +2352,9 @@ packages: peerDependencies: react: '>=16' + '@mjackson/node-fetch-server@0.2.0': + resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==} + '@mjackson/node-fetch-server@0.3.0': resolution: {integrity: sha512-p+wzVVjYI6pi+t9hRMZngfwywE4CaPu3ZuYkB3+fkS1bSPAxZikXeIdeuOTiy5oqltOOODG0hoe55FR2PRmF/A==} @@ -2469,6 +2517,18 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@npmcli/git@4.1.0': + resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/package-json@4.0.1': + resolution: {integrity: sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/promise-spawn@6.0.2': + resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@nx/nx-darwin-arm64@20.2.1': resolution: {integrity: sha512-nJcyPZfH6Vq4cG6gRnQ8PcnVOLePeT3exzLnQu0I4I2EtCTPyCSRA3gxoGzZ3qZFMQTsCbwv4HYfdx42AXOTAQ==} engines: {node: '>= 10'} @@ -2628,6 +2688,55 @@ packages: '@prefresh/utils@1.2.0': resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} + '@react-router/dev@7.0.2': + resolution: {integrity: sha512-uT9OVTGJAtOHGSvAlES4Y2HLqLQ7pENffUhlS7Is7eEVWQeTfZei/1RXTnNwpLbwAuDEf7DHbINDeVLDdjP92w==} + engines: {node: '>=20.0.0'} + hasBin: true + peerDependencies: + '@react-router/serve': ^7.0.2 + react-router: ^7.0.2 + typescript: ^5.1.0 + vite: ^5.1.0 + wrangler: ^3.28.2 + peerDependenciesMeta: + '@react-router/serve': + optional: true + typescript: + optional: true + wrangler: + optional: true + + '@react-router/express@7.0.2': + resolution: {integrity: sha512-rhKt/bylEdZNHKzOI8NzP6b27fiJ2zjf59b/boWWOwjuDk6ZEdV1iLa2Nvm55qN1mj2zSx3H/9Tx/ZPHgrGEgw==} + engines: {node: '>=20.0.0'} + peerDependencies: + express: ^4.17.1 + react-router: 7.0.2 + typescript: ^5.1.0 + peerDependenciesMeta: + typescript: + optional: true + + '@react-router/fs-routes@7.0.2': + resolution: {integrity: sha512-XD1ag24/pLVZnmAWy7KzH2Bp8JxT4TzgdgM8WPkDXLhAzjn4bI51yr2NUQA8p70TND1Wph1O+kHH2D1tyc8v2Q==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@react-router/dev': ^7.0.2 + typescript: ^5.1.0 + peerDependenciesMeta: + typescript: + optional: true + + '@react-router/node@7.0.2': + resolution: {integrity: sha512-6Of5M2wP9QgYlR+boR0ptPjh3UyfaNvPMKQihowTGjAjUZIoNqz4iBn8ClNsLFbT3KQewcnNTHi2p+Ou7S4ZyQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + react-router: 7.0.2 + typescript: ^5.1.0 + peerDependenciesMeta: + typescript: + optional: true + '@remix-run/router@1.21.0': resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==} engines: {node: '>=14.0.0'} @@ -2867,6 +2976,14 @@ packages: react-refresh: optional: true + '@rspack/plugin-react-refresh@1.0.1': + resolution: {integrity: sha512-KSBc3bsr3mrAPViv7w9MpE9KEWm6q87EyRXyHlRfJ9PpQ56NbX9KZ7AXo7jPeECb0q5sfpM2PSEf+syBiMgLSw==} + peerDependencies: + react-refresh: '>=0.10.0 <1.0.0' + peerDependenciesMeta: + react-refresh: + optional: true + '@rspress/core@1.38.0': resolution: {integrity: sha512-CVppLH1sxp5TSRW6Fl+2t4VHOdCm7W7wI8+12bUIyrGWv8P+wezkyIrbEEoqGeUI6F+CjEIaV+WfKHFTPErj9w==} engines: {node: '>=14.17.6'} @@ -3522,6 +3639,9 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} + babel-dead-code-elimination@1.0.7: + resolution: {integrity: sha512-i5/SpxQWT/2n/hBMQC3n4Zxdxjx5x6FdjByG3RLkEgE2bLSpsuiJFECeK/8GO8ZPfiQ6rGwlU4RK6b+I1VPI6A==} + babel-loader@9.2.1: resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} @@ -3600,6 +3720,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + browserify-zlib@0.1.4: + resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} + browserslist-load-config@1.0.0: resolution: {integrity: sha512-jj4xzExS1hRVMUIFQSkW4l3KPni5JRxnKfYfRpirooK5S4CjY31PhqfEjCB/mfqgCxkZIxc9rcu0pyXlEpYp/Q==} @@ -3868,6 +3991,9 @@ packages: core-js@3.39.0: resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cosmiconfig@8.3.6: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} @@ -3978,6 +4104,14 @@ packages: decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -4097,6 +4231,9 @@ packages: duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + duplexify@3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -4150,6 +4287,9 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true @@ -4271,6 +4411,10 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} + exit-hook@2.2.1: + resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} + engines: {node: '>=6'} + expand-tilde@2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} @@ -4437,6 +4581,10 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -4534,6 +4682,10 @@ packages: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} + gunzip-maybe@1.4.2: + resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} + hasBin: true + gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} @@ -4612,6 +4764,10 @@ packages: resolution: {integrity: sha512-haV0gaMdSjy9URCRN9hxBPlqHa7fMm/T72kAImIxvw4eQLbNz1rgjN4hHElLJSieDiNuiIAXC//cC6YGz2KCbg==} engines: {node: '>=16.9.0'} + hosted-git-info@6.1.3: + resolution: {integrity: sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} @@ -4802,6 +4958,9 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + is-deflate@1.0.0: + resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -4827,6 +4986,10 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-gzip@1.0.0: + resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==} + engines: {node: '>=0.10.0'} + is-hexadecimal@1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} @@ -4879,6 +5042,13 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isbot@5.1.18: + resolution: {integrity: sha512-df9RdChv1DheItzN5pNKtblc9/otzJYmxjf9GhCZG/f0TCcGCbQFmtM3e+SD0e8EI3/O2tIXPYVaG4FUaIIa6Q==} + engines: {node: '>=18'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -4917,6 +5087,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.4.1: + resolution: {integrity: sha512-yPBThwecp1wS9DmoA4x4KR2h3QoslacnDR8ypuFM962kI4/456Iy1oHx2RAgh4jfZNdn0bctsdadceiBUgpU1g==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4936,6 +5110,10 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -5097,6 +5275,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + luxon@3.5.0: resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==} engines: {node: '>=12'} @@ -5427,10 +5609,30 @@ packages: resolution: {integrity: sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==} engines: {node: '>=6'} + normalize-package-data@5.0.0: + resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-package-arg@10.1.0: + resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-pick-manifest@8.0.2: + resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -5536,6 +5738,9 @@ packages: package-manager-detector@0.2.2: resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==} + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -5617,6 +5822,9 @@ packages: peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} + peek-stream@1.1.3: + resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} + periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} @@ -5788,6 +5996,25 @@ packages: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -5807,6 +6034,12 @@ packages: prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + pump@2.0.1: + resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} + + pumpify@1.5.1: + resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -5860,6 +6093,10 @@ packages: react-lazy-with-preload@2.2.1: resolution: {integrity: sha512-ONSb8gizLE5jFpdHAclZ6EAAKuFX2JydnFXPPPjoUImZlLjGtKzyBS8SJgJq7CpLgsGKh9QCZdugJyEEOVC16Q==} + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + react-refresh@0.16.0: resolution: {integrity: sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==} engines: {node: '>=0.10.0'} @@ -5914,6 +6151,9 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -6025,6 +6265,10 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -6121,6 +6365,9 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -6452,6 +6699,18 @@ packages: spawndamnit@3.0.1: resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -6472,6 +6731,12 @@ packages: std-env@3.8.0: resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + stream-slice@0.1.2: + resolution: {integrity: sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==} + streamroller@3.1.5: resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} engines: {node: '>=8.0'} @@ -6484,6 +6749,9 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -6684,6 +6952,9 @@ packages: peerDependencies: tslib: ^2 + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -6791,6 +7062,10 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici@6.21.0: + resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==} + engines: {node: '>=18.17'} + unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -6899,9 +7174,24 @@ packages: engines: {node: '>=8'} hasBin: true + valibot@0.41.0: + resolution: {integrity: sha512-igDBb8CTYr8YTQlOKgaN9nSS0Be7z+WRuaeYqGf3Cjz3aKmSnqEmYnkfVjzIuumGqfHpa3fLIvMEAfhrpqN8ng==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validate-html-nesting@1.2.2: resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + varint@6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} @@ -6924,6 +7214,11 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite-node@2.1.8: resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -7056,6 +7351,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -8302,9 +8602,11 @@ snapshots: '@mdx-js/react@2.3.0(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 19.0.1 + '@types/react': 18.3.16 react: 18.3.1 + '@mjackson/node-fetch-server@0.2.0': {} + '@mjackson/node-fetch-server@0.3.0': {} '@modern-js/swc-plugins-darwin-arm64@0.6.11': @@ -8511,6 +8813,35 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@npmcli/git@4.1.0': + dependencies: + '@npmcli/promise-spawn': 6.0.2 + lru-cache: 7.18.3 + npm-pick-manifest: 8.0.2 + proc-log: 3.0.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.6.3 + which: 3.0.1 + transitivePeerDependencies: + - bluebird + + '@npmcli/package-json@4.0.1': + dependencies: + '@npmcli/git': 4.1.0 + glob: 10.4.5 + hosted-git-info: 6.1.3 + json-parse-even-better-errors: 3.0.2 + normalize-package-data: 5.0.0 + proc-log: 3.0.0 + semver: 7.6.3 + transitivePeerDependencies: + - bluebird + + '@npmcli/promise-spawn@6.0.2': + dependencies: + which: 3.0.1 + '@nx/nx-darwin-arm64@20.2.1': optional: true @@ -8615,6 +8946,79 @@ snapshots: '@prefresh/utils@1.2.0': {} + '@react-router/dev@7.0.2(@types/node@22.10.1)(less@4.2.1)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0))': + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + '@npmcli/package-json': 4.0.1 + '@react-router/node': 7.0.2(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.7.2) + arg: 5.0.2 + babel-dead-code-elimination: 1.0.7 + chokidar: 4.0.1 + dedent: 1.5.3 + es-module-lexer: 1.5.4 + exit-hook: 2.2.1 + fs-extra: 10.1.0 + gunzip-maybe: 1.4.2 + jsesc: 3.0.2 + lodash: 4.17.21 + pathe: 1.1.2 + picocolors: 1.1.1 + picomatch: 2.3.1 + prettier: 2.8.8 + react-refresh: 0.14.2 + react-router: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + semver: 7.6.3 + set-cookie-parser: 2.7.1 + valibot: 0.41.0(typescript@5.7.2) + vite: 5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0) + vite-node: 1.6.0(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - bluebird + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + '@react-router/express@7.0.2(express@4.21.2)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.7.2)': + dependencies: + '@react-router/node': 7.0.2(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.7.2) + express: 4.21.2 + react-router: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + optionalDependencies: + typescript: 5.7.2 + + '@react-router/fs-routes@7.0.2(@react-router/dev@7.0.2(@types/node@22.10.1)(less@4.2.1)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)))(typescript@5.7.2)': + dependencies: + '@react-router/dev': 7.0.2(@types/node@22.10.1)(less@4.2.1)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)) + minimatch: 9.0.5 + optionalDependencies: + typescript: 5.7.2 + + '@react-router/node@7.0.2(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.7.2)': + dependencies: + '@mjackson/node-fetch-server': 0.2.0 + react-router: 7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + source-map-support: 0.5.21 + stream-slice: 0.1.2 + undici: 6.21.0 + optionalDependencies: + typescript: 5.7.2 + '@remix-run/router@1.21.0': {} '@rollup/rollup-android-arm-eabi@4.24.3': @@ -8711,7 +9115,7 @@ snapshots: '@rsbuild/plugin-react@1.1.0(@rsbuild/core@1.1.9)': dependencies: '@rsbuild/core': 1.1.9 - '@rspack/plugin-react-refresh': 1.0.0(react-refresh@0.16.0) + '@rspack/plugin-react-refresh': 1.0.1(react-refresh@0.16.0) react-refresh: 0.16.0 '@rsbuild/plugin-rem@1.0.2(@rsbuild/core@packages+core)': @@ -8815,6 +9219,13 @@ snapshots: optionalDependencies: react-refresh: 0.16.0 + '@rspack/plugin-react-refresh@1.0.1(react-refresh@0.16.0)': + dependencies: + error-stack-parser: 2.1.4 + html-entities: 2.5.2 + optionalDependencies: + react-refresh: 0.16.0 + '@rspress/core@1.38.0(webpack@5.97.1)': dependencies: '@mdx-js/loader': 2.3.0(webpack@5.97.1) @@ -9623,6 +10034,15 @@ snapshots: axobject-query@4.1.0: {} + babel-dead-code-elimination@1.0.7: + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.26.2 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1): dependencies: '@babel/core': 7.26.0 @@ -9729,6 +10149,10 @@ snapshots: dependencies: fill-range: 7.1.1 + browserify-zlib@0.1.4: + dependencies: + pako: 0.2.9 + browserslist-load-config@1.0.0: {} browserslist-to-es-version@1.0.0: @@ -9979,6 +10403,8 @@ snapshots: core-js@3.39.0: {} + core-util-is@1.0.3: {} + cosmiconfig@8.3.6(typescript@5.7.2): dependencies: import-fresh: 3.3.0 @@ -10083,6 +10509,8 @@ snapshots: dependencies: character-entities: 2.0.2 + dedent@1.5.3: {} + deep-eql@5.0.2: {} deep-equal@1.0.1: {} @@ -10191,6 +10619,13 @@ snapshots: duplexer@0.1.2: {} + duplexify@3.7.1: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.8 + stream-shift: 1.0.3 + eastasianwidth@0.2.0: {} ee-first@1.1.1: {} @@ -10231,6 +10666,8 @@ snapshots: env-paths@2.2.1: {} + err-code@2.0.3: {} + errno@0.1.8: dependencies: prr: 1.0.1 @@ -10389,6 +10826,8 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + exit-hook@2.2.1: {} + expand-tilde@2.0.2: dependencies: homedir-polyfill: 1.0.3 @@ -10585,6 +11024,12 @@ snapshots: fs-constants@1.0.0: {} + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 @@ -10707,6 +11152,15 @@ snapshots: section-matter: 1.0.0 strip-bom-string: 1.0.0 + gunzip-maybe@1.4.2: + dependencies: + browserify-zlib: 0.1.4 + is-deflate: 1.0.0 + is-gzip: 1.0.0 + peek-stream: 1.1.3 + pumpify: 1.5.1 + through2: 2.0.5 + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 @@ -10815,6 +11269,10 @@ snapshots: hono@4.6.13: {} + hosted-git-info@6.1.3: + dependencies: + lru-cache: 7.18.3 + html-entities@2.3.3: {} html-entities@2.5.2: {} @@ -11017,6 +11475,8 @@ snapshots: is-decimal@2.0.1: {} + is-deflate@1.0.0: {} + is-docker@2.2.1: {} is-extendable@0.1.1: {} @@ -11033,6 +11493,8 @@ snapshots: dependencies: is-extglob: 2.1.1 + is-gzip@1.0.0: {} + is-hexadecimal@1.0.4: {} is-hexadecimal@2.0.1: {} @@ -11069,6 +11531,10 @@ snapshots: dependencies: is-docker: 2.2.1 + isarray@1.0.0: {} + + isbot@5.1.18: {} + isexe@2.0.0: {} isobject@3.0.1: {} @@ -11104,6 +11570,8 @@ snapshots: jiti@1.21.6: {} + jiti@2.4.1: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -11119,6 +11587,8 @@ snapshots: json-parse-even-better-errors@2.3.1: {} + json-parse-even-better-errors@3.0.2: {} + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -11304,6 +11774,8 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@7.18.3: {} + luxon@3.5.0: {} magic-string@0.30.12: @@ -11864,8 +12336,35 @@ snapshots: long-timeout: 0.1.1 sorted-array-functions: 1.3.0 + normalize-package-data@5.0.0: + dependencies: + hosted-git-info: 6.1.3 + is-core-module: 2.15.1 + semver: 7.6.3 + validate-npm-package-license: 3.0.4 + normalize-path@3.0.0: {} + npm-install-checks@6.3.0: + dependencies: + semver: 7.6.3 + + npm-normalize-package-bin@3.0.1: {} + + npm-package-arg@10.1.0: + dependencies: + hosted-git-info: 6.1.3 + proc-log: 3.0.0 + semver: 7.6.3 + validate-npm-package-name: 5.0.1 + + npm-pick-manifest@8.0.2: + dependencies: + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 10.1.0 + semver: 7.6.3 + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -12000,6 +12499,8 @@ snapshots: package-manager-detector@0.2.2: {} + pako@0.2.9: {} + param-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -12083,6 +12584,12 @@ snapshots: peberminta@0.9.0: {} + peek-stream@1.1.3: + dependencies: + buffer-from: 1.1.2 + duplexify: 3.7.1 + through2: 2.0.5 + periscopic@3.1.0: dependencies: '@types/estree': 1.0.6 @@ -12146,6 +12653,16 @@ snapshots: tsx: 4.19.2 yaml: 2.6.0 + postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0): + dependencies: + lilconfig: 3.1.2 + optionalDependencies: + jiti: 2.4.1 + postcss: 8.4.49 + tsx: 4.19.2 + yaml: 2.6.0 + optional: true + postcss-loader@8.1.1(@rspack/core@1.1.6(@swc/helpers@0.5.15))(postcss@8.4.49)(typescript@5.7.2)(webpack@5.97.1): dependencies: cosmiconfig: 9.0.0(typescript@5.7.2) @@ -12228,6 +12745,17 @@ snapshots: prismjs@1.29.0: {} + proc-log@3.0.0: {} + + process-nextick-args@2.0.1: {} + + promise-inflight@1.0.1: {} + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -12250,6 +12778,17 @@ snapshots: prr@1.0.1: optional: true + pump@2.0.1: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + pumpify@1.5.1: + dependencies: + duplexify: 3.7.1 + inherits: 2.0.4 + pump: 2.0.1 + punycode@2.3.1: {} qs@6.13.0: @@ -12302,6 +12841,8 @@ snapshots: react-lazy-with-preload@2.2.1: {} + react-refresh@0.14.2: {} + react-refresh@0.16.0: {} react-router-dom@6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): @@ -12375,6 +12916,16 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -12526,6 +13077,8 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 + retry@0.12.0: {} + reusify@1.0.4: {} rfdc@1.4.1: {} @@ -12633,6 +13186,8 @@ snapshots: dependencies: mri: 1.2.0 + safe-buffer@5.1.2: {} + safe-buffer@5.2.1: {} safer-buffer@2.1.2: {} @@ -12947,6 +13502,20 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.20 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 + + spdx-license-ids@3.0.20: {} + sprintf-js@1.0.3: {} stackback@0.0.2: {} @@ -12959,6 +13528,10 @@ snapshots: std-env@3.8.0: {} + stream-shift@1.0.3: {} + + stream-slice@0.1.2: {} + streamroller@3.1.5: dependencies: date-format: 4.0.14 @@ -12979,6 +13552,10 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -13062,14 +13639,14 @@ snapshots: svelte-dev-helper: 1.1.9 svelte-hmr: 0.14.12(svelte@5.9.0) - svelte-preprocess@6.0.3(@babel/core@7.26.0)(less@4.2.1)(postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0))(postcss@8.4.49)(sass@1.82.0)(stylus@0.64.0)(svelte@5.9.0)(typescript@5.7.2): + svelte-preprocess@6.0.3(@babel/core@7.26.0)(less@4.2.1)(postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0))(postcss@8.4.49)(sass@1.82.0)(stylus@0.64.0)(svelte@5.9.0)(typescript@5.7.2): dependencies: svelte: 5.9.0 optionalDependencies: '@babel/core': 7.26.0 less: 4.2.1 postcss: 8.4.49 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0) + postcss-load-config: 6.0.1(jiti@2.4.1)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0) sass: 1.82.0 stylus: 0.64.0 typescript: 5.7.2 @@ -13184,6 +13761,11 @@ snapshots: dependencies: tslib: 2.8.1 + through2@2.0.5: + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + tinybench@2.9.0: {} tinyexec@0.3.1: {} @@ -13269,6 +13851,8 @@ snapshots: undici-types@6.20.0: {} + undici@6.21.0: {} + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -13387,8 +13971,19 @@ snapshots: kleur: 4.1.5 sade: 1.8.1 + valibot@0.41.0(typescript@5.7.2): + optionalDependencies: + typescript: 5.7.2 + validate-html-nesting@1.2.2: {} + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + validate-npm-package-name@5.0.1: {} + varint@6.0.0: {} vary@1.1.2: {} @@ -13420,6 +14015,24 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + vite-node@1.6.0(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0): + dependencies: + cac: 6.7.14 + debug: 4.3.7 + pathe: 1.1.2 + picocolors: 1.1.1 + vite: 5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vite-node@2.1.8(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0): dependencies: cac: 6.7.14 @@ -13588,6 +14201,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@3.0.1: + dependencies: + isexe: 2.0.0 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 diff --git a/scripts/config/rslib.config.ts b/scripts/config/rslib.config.ts index 7a13c6cabe..ab7288d469 100644 --- a/scripts/config/rslib.config.ts +++ b/scripts/config/rslib.config.ts @@ -16,7 +16,7 @@ export const nodeMinifyConfig: Minify = { // preserve variable name and disable minify for easier debugging mangle: false, minify: false, - compress: true, + compress: false, }, }, }; From be79012a3b699a246bf4c1f6fa929c6f1078c7b8 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Tue, 17 Dec 2024 19:26:14 -0800 Subject: [PATCH 18/22] stash --- examples/react-router-sample/app/root.tsx | 33 ++ examples/react-router-sample/app/routes.tsx | 52 --- .../react-router-sample/rsbuild.config.ts | 26 -- examples/react-router-sample/server.mjs | 28 +- packages/core/src/createRsbuild.ts | 1 + packages/core/src/plugins/manifest.ts | 46 ++- packages/plugin-react-router/package.json | 2 + packages/plugin-react-router/src/index.ts | 310 ++++++++++++++++-- pnpm-lock.yaml | 6 + 9 files changed, 353 insertions(+), 151 deletions(-) create mode 100644 examples/react-router-sample/app/root.tsx diff --git a/examples/react-router-sample/app/root.tsx b/examples/react-router-sample/app/root.tsx new file mode 100644 index 0000000000..c8ad1789de --- /dev/null +++ b/examples/react-router-sample/app/root.tsx @@ -0,0 +1,33 @@ +import type { LinksFunction } from 'react-router'; +import { Links, Meta, Outlet, Scripts, ScrollRestoration } from 'react-router'; + +// import "./global-styles.css"; + +export default function App() { + return ( + + + + + + {/* All `meta` exports on all routes will render here */} + + + {/* All `link` exports on all routes will render here */} + + + + {/* Child routes render here */} + + + {/* Manages scroll position for client-side transitions */} + {/* If you use a nonce-based content security policy for scripts, you must provide the `nonce` prop. Otherwise, omit the nonce prop as shown here. */} + + + {/* Script tags go here */} + {/* If you use a nonce-based content security policy for scripts, you must provide the `nonce` prop. Otherwise, omit the nonce prop as shown here. */} + + + + ); +} diff --git a/examples/react-router-sample/app/routes.tsx b/examples/react-router-sample/app/routes.tsx index 9a5bf6a144..7381b97d89 100644 --- a/examples/react-router-sample/app/routes.tsx +++ b/examples/react-router-sample/app/routes.tsx @@ -1,62 +1,10 @@ -import { lazy } from 'react'; -import type { ActionFunctionArgs, LoaderFunctionArgs } from 'react-router'; -import aboutLoader from './about.loader.js'; -import Layout from './layout.js'; -// import Home from './home.js'; -// import About from './about.js'; - import { type RouteConfig, index, layout, route, } from '@react-router/dev/routes'; -// import { flatRoutes } from '@react-router/fs-routes'; export default [ layout('layout.tsx', [index('home.tsx'), route('about', 'about.tsx')]), ] satisfies RouteConfig; - -// const isServer = typeof document === 'undefined'; - -// const Home = lazy(() => import(/* webpackChunkName: "home" */ './home.js')); -// const About = lazy(() => import(/* webpackChunkName: "about" */ './about.js')); -// -// export default [ -// { -// id: 'layout', -// path: '/', -// Component: Layout, -// // up to you where your loaders run (client or server), this one dynamically -// // imports the correct one to avoid putting the server code in client -// // bundles -// async loader(args: LoaderFunctionArgs) { -// const mod = await (isServer -// ? import('./layout.server.js') -// : import('./layout.client.js')); -// return mod.loader(args); -// }, -// // same with the action, you'll probably want to abstract this kind of stuff -// // in a createRoute() kind of thing -// async action(args: ActionFunctionArgs) { -// const mod = await (isServer -// ? import('./layout.server.js') -// : import('./layout.client.js')); -// return mod.action(args); -// }, -// children: [ -// { -// id: 'home', -// index: true, -// Component: Home, -// }, -// { -// id: 'about', -// path: 'about', -// Component: About, -// // this loader runs in both places -// loader: aboutLoader, -// }, -// ], -// }, -// ]; diff --git a/examples/react-router-sample/rsbuild.config.ts b/examples/react-router-sample/rsbuild.config.ts index 7f0e7b960c..ab92a0d90f 100644 --- a/examples/react-router-sample/rsbuild.config.ts +++ b/examples/react-router-sample/rsbuild.config.ts @@ -16,30 +16,4 @@ export default defineConfig({ pluginReact(), pluginTypedCSSModules(), ], - environments: { - // Configure the web environment for browsers - web: { - source: { - entry: { - client: './entry.client.tsx', - }, - }, - output: { - manifest: true, - target: 'web', - }, - }, - // Configure the node environment for SSR - // node: { - // // source: { - // // entry: { - // // server: './entry.server.tsx', - // // }, - // // }, - // // output: { - // // target: 'node', - // // manifest: false, - // // }, - // }, - }, }); diff --git a/examples/react-router-sample/server.mjs b/examples/react-router-sample/server.mjs index 45e0328966..2390d3091e 100644 --- a/examples/react-router-sample/server.mjs +++ b/examples/react-router-sample/server.mjs @@ -6,7 +6,6 @@ import express from 'express'; // Configuration Constants const PORT = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 4000; -const FORCE_STREAMING = (process.env.FORCE_STREAMING || 'true') === 'true'; // Asset Management async function getManifestAssets(routeId) { @@ -34,27 +33,6 @@ async function getManifestAssets(routeId) { } // SSR Handler -async function handleStreamResponse(response, res) { - if (response.pipe) { - response.pipe(res); - } else if (response.body && typeof response.body.pipe === 'function') { - response.body.pipe(res); - response.body.on('error', (err) => { - console.error('Streaming error:', err); - if (!res.headersSent) { - res.status(500).send('Streaming error occurred'); - } else { - res.end(); - } - }); - } -} - -async function handleBufferedResponse(response, res) { - const text = await response.text(); - res.send(text); -} - async function createSSRHandler(rsbuildServer, isProduction = false) { return async (req, res, next) => { try { @@ -66,11 +44,7 @@ async function createSSRHandler(rsbuildServer, isProduction = false) { ? rsbuildServer.loadBundle('server') : rsbuildServer.environments?.node.loadBundle('server')); - const url = new URL(req.url, `http://${req.headers.host}`); - const routeId = url.pathname.split('/').pop() || 'home'; - const assets = await getManifestAssets(routeId); - debugger; - return createRequestHandler(serverModule)(req, res, next); + return createRequestHandler({ build: serverModule })(req, res, next); } catch (err) { console.error('SSR render error:', err); next(err); diff --git a/packages/core/src/createRsbuild.ts b/packages/core/src/createRsbuild.ts index 3db9b27579..f1fb8bc2a5 100644 --- a/packages/core/src/createRsbuild.ts +++ b/packages/core/src/createRsbuild.ts @@ -265,6 +265,7 @@ export async function createRsbuild( // Register environment plugin if (rsbuildConfig.environments) { + debugger; await Promise.all( Object.entries(rsbuildConfig.environments).map(async ([name, config]) => { const isEnvironmentEnabled = diff --git a/packages/core/src/plugins/manifest.ts b/packages/core/src/plugins/manifest.ts index a153fd2e9c..eeaef7f4b2 100644 --- a/packages/core/src/plugins/manifest.ts +++ b/packages/core/src/plugins/manifest.ts @@ -4,6 +4,26 @@ import type { RsbuildPlugin } from '../types'; type FilePath = string; +type FileDescriptor = { + chunk?: Chunk; + isInitial: boolean; + name: string; + path: string; +}; + +type GenerateFunction = ( + seed: Record, + files: FileDescriptor[], +) => ManifestList; + +type ManifestConfig = + | boolean + | string + | { + fileName?: string; + generate?: GenerateFunction; + }; + type ManifestByEntry = { initial?: { js?: FilePath[]; @@ -35,13 +55,6 @@ type ManifestList = { }; }; -type FileDescriptor = { - chunk?: Chunk; - isInitial: boolean; - name: string; - path: string; -}; - const generateManifest = (htmlPaths: Record) => (_seed: Record, files: FileDescriptor[]) => { @@ -209,19 +222,30 @@ export const pluginManifest = (): RsbuildPlugin => ({ return; } - const fileName = - typeof manifest === 'string' ? manifest : 'manifest.json'; + let fileName = 'manifest.json'; + let generate = generateManifest(environment.htmlPaths); + + if (typeof manifest === 'string') { + fileName = manifest; + } else if ( + typeof manifest === 'object' && + manifest !== null && + !Array.isArray(manifest) + ) { + const manifestConfig = manifest as Extract; + fileName = manifestConfig.fileName || 'manifest.json'; + generate = manifestConfig.generate || generate; + } const { RspackManifestPlugin } = await import( '../../compiled/rspack-manifest-plugin/index.js' ); - const { htmlPaths } = environment; chain.plugin(CHAIN_ID.PLUGIN.MANIFEST).use(RspackManifestPlugin, [ { fileName, writeToFileEmit: isDev && writeToDisk !== true, - generate: generateManifest(htmlPaths), + generate, }, ]); }); diff --git a/packages/plugin-react-router/package.json b/packages/plugin-react-router/package.json index 53465b0ce6..38a8d99088 100644 --- a/packages/plugin-react-router/package.json +++ b/packages/plugin-react-router/package.json @@ -33,8 +33,10 @@ "@react-router/node": "7.0.2" }, "devDependencies": { + "@react-router/dev": "7.0.2", "react-router": "7.0.2", "@rsbuild/core": "workspace:*", + "@rspack/core": "^1.1.6", "@rslib/core": "0.1.3", "@scripts/test-helper": "workspace:*", "@types/node": "^22.10.1", diff --git a/packages/plugin-react-router/src/index.ts b/packages/plugin-react-router/src/index.ts index 5dc0662336..65c593865c 100644 --- a/packages/plugin-react-router/src/index.ts +++ b/packages/plugin-react-router/src/index.ts @@ -1,6 +1,8 @@ import fs from 'node:fs'; import path from 'node:path'; +import type { RouteConfig, RouteConfigEntry } from '@react-router/dev/routes'; import type { RsbuildPlugin, Rspack } from '@rsbuild/core'; +import type { StatsAsset, StatsChunk } from '@rspack/core'; import type { PluginOptions as ReactRefreshOptions } from '@rspack/plugin-react-refresh'; import { createJiti } from 'jiti'; import { applyBasicReactSupport, applyReactProfiler } from './react.js'; @@ -78,10 +80,7 @@ export const pluginReactRouter = ( name: PLUGIN_REACT_ROUTER_NAME, async setup(api) { - const jiti = createJiti(process.cwd()); - //@ts-ignore - let configModule = await jiti.import('./app/routes', {}); - console.log(configModule); + const jiti = createJiti(api.context.rootPath); const defaultOptions: PluginReactRouterOptions = { fastRefresh: true, enableProfiler: false, @@ -106,6 +105,22 @@ export const pluginReactRouter = ( return fs.existsSync(userEntry); }; + // Helper function to find the first existing routes file + const findRoutesFile = () => { + const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs']; + const baseRoutesPath = path.join(api.context.rootPath, 'app/routes'); + + for (const ext of extensions) { + const filePath = `${baseRoutesPath}${ext}`; + if (fs.existsSync(filePath)) { + return filePath; + } + } + + // Default to .tsx if no file is found + return path.join(api.context.rootPath, 'app/routes.tsx'); + }; + // Get the appropriate entry path const getEntryPath = (filename: string) => { const userEntry = `./${filename}`; @@ -118,12 +133,7 @@ export const pluginReactRouter = ( // Add resolve configuration for user-routes api.modifyBundlerChain((chain) => { - chain.resolve.alias.set( - 'user-routes', - checkUserEntry('app/routes.tsx') - ? path.join(api.context.rootPath, 'app/routes.js') - : path.join(api.context.rootPath, 'app/routes.tsx'), - ); + chain.resolve.alias.set('user-routes', findRoutesFile()); }); // General configuration for all cases @@ -133,6 +143,13 @@ export const pluginReactRouter = ( htmlFallback: 'index' as const, }, environments: { + node: { + source: { + entry: { + server: `${getEntryPath('entry.server.tsx')}?virtual`, + }, + }, + }, web: { source: { entry: { @@ -141,7 +158,24 @@ export const pluginReactRouter = ( }, }, }, + } as { + server: { htmlFallback: 'index' }; + environments: { + web: { + source: { + entry: { client: string }; + }; + }; + node?: { + source: { + entry: { server: string }; + }; + }; + }; }; + if (!options.ssr) { + delete generalConfig.environments.node; + } return mergeRsbuildConfig(config, generalConfig); }); @@ -156,19 +190,146 @@ export const pluginReactRouter = ( __DATA_ROUTER__: String(finalOptions.router?.dataRouter), }, }, - environments: { - node: { - source: { - entry: { - server: `${getEntryPath('entry.server.tsx')}?virtual`, - }, - }, - }, - }, }; return mergeRsbuildConfig(config, ssrConfig); }); + let clientStats: Rspack.StatsCompilation | undefined; + let clientStatsPromise: Promise; + let clientStatsResolve!: ( + stats: Rspack.StatsCompilation | undefined, + ) => void; + let clientStatsReject!: (error: Error) => void; + let isWebCompilationComplete = false; + + // Reset promise on each new compilation cycle + const resetClientStatsPromise = () => { + clientStatsPromise = new Promise((resolve, reject) => { + clientStatsResolve = resolve; + clientStatsReject = reject; + }); + isWebCompilationComplete = false; + }; + + api.onAfterEnvironmentCompile(({ stats, environment }) => { + if (environment.name === 'web') { + try { + clientStats = stats?.toJson(); + isWebCompilationComplete = true; + clientStatsResolve(stats?.toJson()); + } catch (error) { + clientStatsReject( + error instanceof Error + ? error + : new Error('Failed to process web compilation stats'), + ); + } + } + }); + + resetClientStatsPromise(); + + api.onBeforeEnvironmentCompile(({ environment }) => { + if (environment.name === 'node' && !isWebCompilationComplete) { + return clientStatsPromise + .catch((error) => { + console.error('Failed to get web compilation stats:', error); + throw error; + }) + .then(() => undefined); + } + }); + + api.onDevCompileDone(() => { + resetClientStatsPromise(); + }); + + // Transform for routes file + api.transform( + { + test: new RegExp(findRoutesFile().replace(/\./g, '\\.')), + environments: ['node'], + }, + async ({ resourcePath }) => { + const configModule = await (jiti.import(resourcePath, { + default: true, + }) as RouteConfig); + + // Wrap the config in a root route + const rootConfig: RouteConfig = [ + { + file: 'root.tsx', + children: configModule, + }, + ]; + + const routeImports: string[] = []; + let moduleCounter = 0; + + function processRoute(route: RouteConfigEntry) { + const moduleVar = `route${moduleCounter++}`; + // Skip dynamic import for root file + if (/^root\.(tsx?|jsx?|mjs|js)$/.test(route.file)) { + routeImports.push(`import ${moduleVar} from './${route.file}';`); + return moduleVar; + } + // Convert file path to chunk name by removing extension and converting slashes to dashes + const chunkName = route.file + .replace(/\.[^/.]+$/, '') // remove extension + .replace(/\//g, '-'); // replace slashes with dashes + routeImports.push( + `const ${moduleVar} = import(/* webpackChunkName: "routes/${chunkName}" */ './${route.file}');`, + ); + return moduleVar; + } + + interface RouteObject { + id: string; + parentId: string | undefined; + path: string | undefined; + index: boolean | undefined; + caseSensitive: boolean | undefined; + module: string; + } + + const routes: Record = {}; + + function processRouteRecursive( + route: RouteConfigEntry, + parentId?: string, + ) { + const moduleVar = processRoute(route); + const routeId = path.parse(route.file).name; + routes[routeId] = { + id: routeId, + parentId, + path: route.path ?? undefined, + index: route.index ?? undefined, + caseSensitive: route.caseSensitive ?? undefined, + module: moduleVar, + }; + + if (route.children) { + for (const child of route.children) { + processRouteRecursive(child, routeId); + } + } + } + + for (const route of rootConfig) { + processRouteRecursive(route); + } + + const fileContent = ` +${routeImports.join('\n')} + +export const routes = ${JSON.stringify(routes, null, 2).replace(/"(route\d+)"/g, '$1')}; +`; + + return fileContent; + }, + ); + // Add transform for virtual server entry api.transform( { @@ -176,6 +337,82 @@ export const pluginReactRouter = ( resourceQuery: /\?virtual/, }, ({ resourcePath }) => { + const normalized = api.getNormalizedConfig(); + const serverStats = clientStats; + const entrypoint = serverStats?.entrypoints?.client; + const namedChunks = serverStats?.namedChunkGroups || {}; + const publicPath = normalized.output?.assetPrefix || '/'; + const basename = normalized.server?.base || '/'; + const distPath = normalized.output?.distPath; + const rootDistPath = distPath?.root || 'dist'; + + // Helper function to get asset path with correct dist directory + const getAssetPath = (assetName: string) => { + if (assetName.endsWith('.css')) { + return `${distPath?.css || 'static/css'}/${assetName}`; + } + if (assetName.endsWith('.js')) { + return `${distPath?.js || 'static/js'}/${assetName}`; + } + return `${distPath?.assets || 'static/assets'}/${assetName}`; + }; + + // Process routes to include chunk information + const routeManifest: Record = {}; + for (const [name, chunk] of Object.entries( + namedChunks as Record, + )) { + if (!name.startsWith('routes/') && name !== 'root') continue; + + const id = name; + const parentId = name === 'root' ? undefined : 'root'; + const isIndex = name !== 'root'; + + // Filter JS and CSS assets + const jsAssets = + chunk.assets + ?.filter((asset: StatsAsset) => asset.name.endsWith('.js')) + .map((asset: StatsAsset) => getAssetPath(asset.name)) || []; + + const cssAssets = + chunk.assets + ?.filter((asset: StatsAsset) => asset.name.endsWith('.css')) + .map((asset: StatsAsset) => getAssetPath(asset.name)) || []; + + routeManifest[name] = { + id, + parentId, + path: name === 'root' ? '' : undefined, + index: isIndex, + caseSensitive: undefined, + hasAction: false, + hasLoader: false, + hasClientAction: false, + hasClientLoader: false, + hasErrorBoundary: name === 'root', + module: jsAssets[0] || '', + imports: jsAssets.slice(1) || [], + css: cssAssets, + }; + } + + const manifest = { + entry: { + module: entrypoint?.assets?.[0]?.name + ? getAssetPath(entrypoint.assets[0].name) + : '', + imports: (entrypoint?.assets?.slice(1) || []) + .filter((asset) => asset.name.endsWith('.js')) + .map((asset) => getAssetPath(asset.name)), + css: (entrypoint?.assets || []) + .filter((asset) => asset.name.endsWith('.css')) + .map((asset) => getAssetPath(asset.name)), + }, + routes: routeManifest, + url: `${distPath?.js || 'static/js'}/manifest-${serverStats?.hash}.js`, + version: serverStats?.hash || '', + }; + // Return the virtual server entry content return ` import type { ServerBuild } from "react-router"; @@ -186,23 +423,26 @@ export const entry: ServerBuild["entry"] = { }; // Import routes from the user's app -import routes from 'user-routes'; -// Export the routes configuration -export { routes }; - -// Export other required ServerBuild properties -export const assets: ServerBuild["assets"] = { - entry: { imports: [], module: "" }, - routes: {}, - url: "", - version: "1" -}; +import { routes } from 'user-routes'; -export const publicPath: ServerBuild["publicPath"] = "/"; -export const assetsBuildDirectory: ServerBuild["assetsBuildDirectory"] = ""; -export const future: ServerBuild["future"] = {}; -export const isSpaMode: ServerBuild["isSpaMode"] = false; -export const basename: ServerBuild["basename"] = undefined; +// Export server manifest and other required properties +const serverManifest = ${JSON.stringify(manifest, null, 2)}; +const assetsBuildDirectory = ${JSON.stringify(rootDistPath)}; +const basename = ${JSON.stringify(basename)}; +const future = { "unstable_optimizeDeps": false }; +const isSpaMode = false; +const publicPath = ${JSON.stringify(publicPath)}; + +export { + serverManifest as assets, + assetsBuildDirectory, + basename, + entry, + future, + isSpaMode, + publicPath, + routes +}; `; }, ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 27585e0baa..b6b10849b8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -992,12 +992,18 @@ importers: specifier: ^0.16.0 version: 0.16.0 devDependencies: + '@react-router/dev': + specifier: 7.0.2 + version: 7.0.2(@types/node@22.10.1)(less@4.2.1)(react-router@7.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)(typescript@5.7.2)(vite@5.4.10(@types/node@22.10.1)(less@4.2.1)(sass-embedded@1.82.0)(sass@1.82.0)(stylus@0.64.0)(terser@5.37.0)) '@rsbuild/core': specifier: workspace:* version: link:../core '@rslib/core': specifier: 0.1.3 version: 0.1.3(typescript@5.7.2) + '@rspack/core': + specifier: ^1.1.6 + version: 1.1.6(@swc/helpers@0.5.15) '@scripts/test-helper': specifier: workspace:* version: link:../../scripts/test-helper From 7fd88c987cc6144c70148300ece67c7cdc4549f1 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Tue, 17 Dec 2024 19:38:32 -0800 Subject: [PATCH 19/22] refactor(react-router): remove deprecated entry files and update paths - Deleted obsolete entry.client.tsx and entry.server.tsx files to streamline the project structure. - Updated entry paths in plugin-react-router to reflect the removal of file extensions for better compatibility. - Refactored entry.client.tsx template to improve code consistency and maintainability. --- examples/react-router-sample/entry.client.tsx | 26 ------- examples/react-router-sample/entry.server.tsx | 68 ------------------- packages/plugin-react-router/src/index.ts | 7 +- 3 files changed, 3 insertions(+), 98 deletions(-) delete mode 100644 examples/react-router-sample/entry.client.tsx delete mode 100644 examples/react-router-sample/entry.server.tsx diff --git a/examples/react-router-sample/entry.client.tsx b/examples/react-router-sample/entry.client.tsx deleted file mode 100644 index b2b20cf81b..0000000000 --- a/examples/react-router-sample/entry.client.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { StrictMode } from 'react'; -import { hydrateRoot } from 'react-dom/client'; -import { createBrowserRouter } from 'react-router'; -import { RouterProvider } from 'react-router/dom'; -import routes from './app/routes.js'; - -const router = createBrowserRouter(routes, { - hydrationData: window.__staticRouterHydrationData, -}); - -const root = document.getElementById('root'); -if (!root) throw new Error('Root element not found'); - -hydrateRoot( - root, - - - , -); - -// type stuff -declare global { - interface Window { - __staticRouterHydrationData: any; - } -} diff --git a/examples/react-router-sample/entry.server.tsx b/examples/react-router-sample/entry.server.tsx deleted file mode 100644 index 99dd5f13e6..0000000000 --- a/examples/react-router-sample/entry.server.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import { PassThrough } from 'node:stream'; - -import { createReadableStreamFromReadable } from '@react-router/node'; -import { isbot } from 'isbot'; -import type { RenderToPipeableStreamOptions } from 'react-dom/server'; -import { renderToPipeableStream } from 'react-dom/server'; -import type { AppLoadContext, EntryContext } from 'react-router'; -import { ServerRouter } from 'react-router'; - -const ABORT_DELAY = 5_000; - -export default function handleRequest( - request: Request, - responseStatusCode: number, - responseHeaders: Headers, - routerContext: EntryContext, - // loadContext: AppLoadContext -) { - return new Promise((resolve, reject) => { - let shellRendered = false; - let statusCode = responseStatusCode; - const userAgent = request.headers.get('user-agent'); - - // Ensure requests from bots and SPA Mode renders wait for all content to load before responding - // https://react.dev/reference/react-dom/server/renderToPipeableStream#waiting-for-all-content-to-load-for-crawlers-and-static-generation - const readyOption: keyof RenderToPipeableStreamOptions = - (userAgent && isbot(userAgent)) || routerContext.isSpaMode - ? 'onAllReady' - : 'onShellReady'; - - const { pipe, abort } = renderToPipeableStream( - , - { - [readyOption]() { - shellRendered = true; - const body = new PassThrough(); - const stream = createReadableStreamFromReadable(body); - - responseHeaders.set('Content-Type', 'text/html'); - - resolve( - new Response(stream, { - headers: responseHeaders, - status: statusCode, - }), - ); - - pipe(body); - }, - onShellError(error: unknown) { - reject(error); - }, - onError(error: unknown) { - statusCode = 500; - if (shellRendered) { - console.error(error); - } - }, - }, - ); - - setTimeout(abort, ABORT_DELAY); - }); -} diff --git a/packages/plugin-react-router/src/index.ts b/packages/plugin-react-router/src/index.ts index 65c593865c..c3817ccd94 100644 --- a/packages/plugin-react-router/src/index.ts +++ b/packages/plugin-react-router/src/index.ts @@ -146,14 +146,14 @@ export const pluginReactRouter = ( node: { source: { entry: { - server: `${getEntryPath('entry.server.tsx')}?virtual`, + server: `${getEntryPath('entry.server')}?virtual`, }, }, }, web: { source: { entry: { - client: getEntryPath('entry.client.tsx'), + client: getEntryPath('entry.client'), }, }, }, @@ -415,10 +415,9 @@ export const routes = ${JSON.stringify(routes, null, 2).replace(/"(route\d+)"/g, // Return the virtual server entry content return ` -import type { ServerBuild } from "react-router"; import * as userServerEntry from '${resourcePath.replace(/\?.*$/, '')}'; -export const entry: ServerBuild["entry"] = { +export const entry = { module: userServerEntry }; From bd33a022a477ae634d7b61b58ca373993e52624c Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Tue, 17 Dec 2024 23:59:24 -0800 Subject: [PATCH 20/22] chore: add templates --- packages/plugin-react-router/package.json | 10 ++++++++++ packages/plugin-react-router/src/index.ts | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/plugin-react-router/package.json b/packages/plugin-react-router/package.json index 38a8d99088..2565c50c10 100644 --- a/packages/plugin-react-router/package.json +++ b/packages/plugin-react-router/package.json @@ -14,6 +14,16 @@ "types": "./dist/index.d.ts", "import": "./dist/index.js", "require": "./dist/index.cjs" + }, + "./templates/entry.client": { + "types": "./dist/templates/entry.client.d.ts", + "import": "./dist/templates/entry.client.js", + "require": "./dist/templates/entry.client.cjs" + }, + "./templates/entry.server": { + "types": "./dist/templates/entry.server.d.ts", + "import": "./dist/templates/entry.server.js", + "require": "./dist/templates/entry.server.cjs" } }, "main": "./dist/index.cjs", diff --git a/packages/plugin-react-router/src/index.ts b/packages/plugin-react-router/src/index.ts index c3817ccd94..be5a4f690d 100644 --- a/packages/plugin-react-router/src/index.ts +++ b/packages/plugin-react-router/src/index.ts @@ -101,8 +101,17 @@ export const pluginReactRouter = ( // Function to check if user has provided their own entry files const checkUserEntry = (filename: string) => { - const userEntry = path.join(api.context.rootPath, filename); - return fs.existsSync(userEntry); + const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs']; + const baseFilename = filename.replace(/\.[^/.]+$/, ''); // Remove extension if present + + for (const ext of extensions) { + const filePath = path.join(api.context.rootPath, `${baseFilename}${ext}`); + if (fs.existsSync(filePath)) { + return true; + } + } + + return false; }; // Helper function to find the first existing routes file @@ -128,7 +137,7 @@ export const pluginReactRouter = ( return userEntry; } // Return the path to our default template - return path.join(__dirname, 'templates', filename); + return path.join('@rsbuild/plugin-react-router', 'templates', filename); }; // Add resolve configuration for user-routes From 77087234c87358b9f49cf2c8ee19fe8c71aa9c84 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 18 Dec 2024 18:15:54 -0800 Subject: [PATCH 21/22] feat(react-router): add new loadRouteModule function for improved route handling - Introduced a new `loadRouteModule` function to enhance the loading of route modules in development mode, improving error handling and caching. - Renamed the original `loadRouteModule` function to `_loadRouteModule` to avoid conflicts. - Updated the transform logic in the plugin to accommodate the new function, ensuring better performance and reliability during route imports. --- packages/plugin-react-router/src/index.ts | 52 +++++++- .../src/templates/entry.server.tsx | 123 +++++++++--------- 2 files changed, 110 insertions(+), 65 deletions(-) diff --git a/packages/plugin-react-router/src/index.ts b/packages/plugin-react-router/src/index.ts index be5a4f690d..cf6ea038b9 100644 --- a/packages/plugin-react-router/src/index.ts +++ b/packages/plugin-react-router/src/index.ts @@ -103,14 +103,17 @@ export const pluginReactRouter = ( const checkUserEntry = (filename: string) => { const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs']; const baseFilename = filename.replace(/\.[^/.]+$/, ''); // Remove extension if present - + for (const ext of extensions) { - const filePath = path.join(api.context.rootPath, `${baseFilename}${ext}`); + const filePath = path.join( + api.context.rootPath, + `${baseFilename}${ext}`, + ); if (fs.existsSync(filePath)) { return true; } } - + return false; }; @@ -421,7 +424,6 @@ export const routes = ${JSON.stringify(routes, null, 2).replace(/"(route\d+)"/g, url: `${distPath?.js || 'static/js'}/manifest-${serverStats?.hash}.js`, version: serverStats?.hash || '', }; - // Return the virtual server entry content return ` import * as userServerEntry from '${resourcePath.replace(/\?.*$/, '')}'; @@ -492,6 +494,48 @@ export { if (api.context.bundlerType === 'rspack') { applyBasicReactSupport(api, finalOptions); + // Add transform to handle react-router development imports + api.transform( + { test: /react-router\/dist\/development\/index/ }, + ({ code }) => { + // First rename the original function to _loadRouteModule + let newCode = code.replace( + /async function loadRouteModule/, + 'async function _loadRouteModule', + ); + + // Then add our new function implementation + const newLoadRouteModule = ` +async function loadRouteModule(route, routeModulesCache) { + if (route.id in routeModulesCache) { + return routeModulesCache[route.id]; + } + try { + let routeModule = await import(route.module); + routeModulesCache[route.id] = routeModule; + return routeModule; + } catch (error) { + console.error( + \`Error loading route module \${route.module}, reloading page...\`, + ); + console.error(error); + if (window.__reactRouterContext && window.__reactRouterContext.isSpaMode) { + throw error; + } + window.location.reload(); + return new Promise(() => {}); + } +}`; + + // Add the new function after the renamed one + newCode = `${newCode}\n\n${newLoadRouteModule}`; + // debugger; + return { + code: newCode, + }; + }, + ); + if (finalOptions.enableProfiler) { applyReactProfiler(api); } diff --git a/packages/plugin-react-router/src/templates/entry.server.tsx b/packages/plugin-react-router/src/templates/entry.server.tsx index 2b9371edc2..d3316e138d 100644 --- a/packages/plugin-react-router/src/templates/entry.server.tsx +++ b/packages/plugin-react-router/src/templates/entry.server.tsx @@ -1,70 +1,71 @@ -// import { PassThrough } from "node:stream"; +import { PassThrough } from 'node:stream'; -// import type { -// // AppLoadContext, -// EntryContext } from "react-router"; -// import { createReadableStreamFromReadable } from "@react-router/node"; -// import { ServerRouter } from "react-router"; -// import { isbot } from "isbot"; -// import type { RenderToPipeableStreamOptions } from "react-dom/server"; -// import { renderToPipeableStream } from "react-dom/server"; +import { createReadableStreamFromReadable } from '@react-router/node'; +import { isbot } from 'isbot'; +import type { RenderToPipeableStreamOptions } from 'react-dom/server'; +import { renderToPipeableStream } from 'react-dom/server'; +import type { + // AppLoadContext, + EntryContext, +} from 'react-router'; +import { ServerRouter } from 'react-router'; -// const ABORT_DELAY = 5_000; +const ABORT_DELAY = 5_000; -// export default function handleRequest( -// request: Request, -// responseStatusCode: number, -// responseHeaders: Headers, -// routerContext: EntryContext, -// // loadContext: AppLoadContext -// ): Promise { -// return new Promise((resolve, reject) => { -// let shellRendered = false; -// let statusCode = responseStatusCode; -// const userAgent = request.headers.get("user-agent"); +export default function handleRequest( + request: Request, + responseStatusCode: number, + responseHeaders: Headers, + routerContext: EntryContext, + // loadContext: AppLoadContext +): Promise { + return new Promise((resolve, reject) => { + let shellRendered = false; + let statusCode = responseStatusCode; + const userAgent = request.headers.get('user-agent'); -// // Ensure requests from bots and SPA Mode renders wait for all content to load before responding -// // https://react.dev/reference/react-dom/server/renderToPipeableStream#waiting-for-all-content-to-load-for-crawlers-and-static-generation -// const readyOption: keyof RenderToPipeableStreamOptions = -// (userAgent && isbot(userAgent)) || routerContext.isSpaMode -// ? "onAllReady" -// : "onShellReady"; + // Ensure requests from bots and SPA Mode renders wait for all content to load before responding + // https://react.dev/reference/react-dom/server/renderToPipeableStream#waiting-for-all-content-to-load-for-crawlers-and-static-generation + const readyOption: keyof RenderToPipeableStreamOptions = + (userAgent && isbot(userAgent)) || routerContext.isSpaMode + ? 'onAllReady' + : 'onShellReady'; -// const { pipe, abort } = renderToPipeableStream( -// , -// { -// [readyOption]() { -// shellRendered = true; -// const body = new PassThrough(); -// const stream = createReadableStreamFromReadable(body); + const { pipe, abort } = renderToPipeableStream( + , + { + [readyOption]() { + shellRendered = true; + const body = new PassThrough(); + const stream = createReadableStreamFromReadable(body); -// responseHeaders.set("Content-Type", "text/html"); + responseHeaders.set('Content-Type', 'text/html'); -// resolve( -// new Response(stream, { -// headers: responseHeaders, -// status: statusCode, -// }) -// ); + resolve( + new Response(stream, { + headers: responseHeaders, + status: statusCode, + }), + ); -// pipe(body); -// }, -// onShellError(error: unknown) { -// reject(error); -// }, -// onError(error: unknown) { -// statusCode = 500; -// if (shellRendered) { -// console.error(error); -// } -// }, -// } -// ); + pipe(body); + }, + onShellError(error: unknown) { + reject(error); + }, + onError(error: unknown) { + statusCode = 500; + if (shellRendered) { + console.error(error); + } + }, + }, + ); -// setTimeout(abort, ABORT_DELAY); -// }); -// } + setTimeout(abort, ABORT_DELAY); + }); +} From f318d3ceb9b4d233ed84bf16e6bc26c471d843d7 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 18 Dec 2024 18:54:43 -0800 Subject: [PATCH 22/22] chore: add templates --- .../react-router-sample/rsbuild.config.ts | 6 ++++ packages/plugin-react-router/rslib.config.ts | 1 + packages/plugin-react-router/src/index.ts | 30 ++++++++++++------- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/examples/react-router-sample/rsbuild.config.ts b/examples/react-router-sample/rsbuild.config.ts index ab92a0d90f..bb1b901043 100644 --- a/examples/react-router-sample/rsbuild.config.ts +++ b/examples/react-router-sample/rsbuild.config.ts @@ -4,6 +4,12 @@ import { pluginReactRouter } from '@rsbuild/plugin-react-router'; import { pluginTypedCSSModules } from '@rsbuild/plugin-typed-css-modules'; export default defineConfig({ + tools: { + rspack: (config) => { + config.devtool = false; + return config; + }, + }, plugins: [ pluginReactRouter({ ssr: true, diff --git a/packages/plugin-react-router/rslib.config.ts b/packages/plugin-react-router/rslib.config.ts index f2bb222be9..7abc9b94b5 100644 --- a/packages/plugin-react-router/rslib.config.ts +++ b/packages/plugin-react-router/rslib.config.ts @@ -20,6 +20,7 @@ const config = defineConfig({ ...commonExternals, 'user-routes', /react-router-dom/, + /react-router/, 'react', /react-dom/, ], diff --git a/packages/plugin-react-router/src/index.ts b/packages/plugin-react-router/src/index.ts index cf6ea038b9..a9f86fef51 100644 --- a/packages/plugin-react-router/src/index.ts +++ b/packages/plugin-react-router/src/index.ts @@ -286,12 +286,14 @@ export const pluginReactRouter = ( return moduleVar; } // Convert file path to chunk name by removing extension and converting slashes to dashes - const chunkName = route.file - .replace(/\.[^/.]+$/, '') // remove extension - .replace(/\//g, '-'); // replace slashes with dashes - routeImports.push( - `const ${moduleVar} = import(/* webpackChunkName: "routes/${chunkName}" */ './${route.file}');`, - ); + // const chunkName = route.file + // .replace(/\.[^/.]+$/, '') // remove extension + // .replace(/\//g, '-'); // replace slashes with dashes + // routeImports.push( + // `const ${moduleVar} = import(/* webpackChunkName: "routes/${chunkName}" */ './${route.file}');`, + // ); + + routeImports.push(`import ${moduleVar} from './${route.file}';`); return moduleVar; } @@ -439,7 +441,7 @@ import { routes } from 'user-routes'; const serverManifest = ${JSON.stringify(manifest, null, 2)}; const assetsBuildDirectory = ${JSON.stringify(rootDistPath)}; const basename = ${JSON.stringify(basename)}; -const future = { "unstable_optimizeDeps": false }; +const future = { }; const isSpaMode = false; const publicPath = ${JSON.stringify(publicPath)}; @@ -504,14 +506,22 @@ export { 'async function _loadRouteModule', ); + // Replace the dynamic import pattern + newCode = newCode.replace( + /let routeModule = await import/, + 'let routeModule = await __webpack_require__.e', + ); + // Then add our new function implementation const newLoadRouteModule = ` async function loadRouteModule(route, routeModulesCache) { +debugger; if (route.id in routeModulesCache) { return routeModulesCache[route.id]; } try { - let routeModule = await import(route.module); + console.log(route.module); + let routeModule = await __webpack_require__.e(route.module); routeModulesCache[route.id] = routeModule; return routeModule; } catch (error) { @@ -530,9 +540,7 @@ async function loadRouteModule(route, routeModulesCache) { // Add the new function after the renamed one newCode = `${newCode}\n\n${newLoadRouteModule}`; // debugger; - return { - code: newCode, - }; + return newCode; }, );