From cf791dfcf26a2a0222a2d5cfae71d480c22d4fdb Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 26 Aug 2025 16:27:46 +0900 Subject: [PATCH 1/3] chore: update `@types/react` and `@types/react-dom` --- .../package.json | 4 +- .../helpers/rsc-parcel-framework/package.json | 4 +- integration/helpers/rsc-parcel/package.json | 4 +- .../helpers/rsc-vite-framework/package.json | 4 +- integration/helpers/rsc-vite/package.json | 6 +- .../helpers/vite-5-template/package.json | 4 +- .../helpers/vite-6-template/package.json | 4 +- .../helpers/vite-7-beta-template/package.json | 4 +- .../package.json | 4 +- .../vite-rolldown-template/package.json | 4 +- package.json | 6 +- packages/react-router/lib/components.tsx | 8 +- packages/react-router/lib/dom/lib.tsx | 4 +- .../react-router/lib/dom/ssr/components.tsx | 2 +- .../lib/dom/ssr/routes-test-stub.tsx | 5 +- packages/react-router/lib/router/router.ts | 4 +- packages/react-router/lib/rsc/browser.tsx | 2 +- playground/framework-express/package.json | 4 +- .../framework-rolldown-vite/package.json | 4 +- playground/framework-spa/package.json | 4 +- playground/framework-vite-5/package.json | 4 +- playground/framework-vite-7-beta/package.json | 4 +- playground/framework/package.json | 4 +- playground/middleware/package.json | 4 +- playground/rsc-parcel-framework/package.json | 4 +- playground/rsc-parcel/package.json | 4 +- playground/rsc-vite-framework/package.json | 4 +- playground/rsc-vite/package.json | 4 +- .../split-route-modules-spa/package.json | 4 +- playground/split-route-modules/package.json | 4 +- .../vite-plugin-cloudflare/package.json | 4 +- pnpm-lock.yaml | 231 +++++++++--------- 32 files changed, 183 insertions(+), 177 deletions(-) diff --git a/integration/helpers/cloudflare-dev-proxy-template/package.json b/integration/helpers/cloudflare-dev-proxy-template/package.json index 063012112a..f756886cbc 100644 --- a/integration/helpers/cloudflare-dev-proxy-template/package.json +++ b/integration/helpers/cloudflare-dev-proxy-template/package.json @@ -23,8 +23,8 @@ "@react-router/dev": "workspace:*", "@react-router/fs-routes": "workspace:*", "@react-router/remix-routes-option-adapter": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "^6.1.0", "wrangler": "^4.23.0" diff --git a/integration/helpers/rsc-parcel-framework/package.json b/integration/helpers/rsc-parcel-framework/package.json index a17de0ed03..4c64443ec2 100644 --- a/integration/helpers/rsc-parcel-framework/package.json +++ b/integration/helpers/rsc-parcel-framework/package.json @@ -26,8 +26,8 @@ "@types/express": "^5.0.0", "@types/node": "^22.13.1", "@types/parcel-env": "0.0.8", - "@types/react-dom": "^19.0.3", - "@types/react": "^19.0.8", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "parcel": "2.15.0", "parcel-config-react-router-experimental": "1.0.25", "typescript": "^5.1.6" diff --git a/integration/helpers/rsc-parcel/package.json b/integration/helpers/rsc-parcel/package.json index 0b5c2eecac..530816eaf0 100644 --- a/integration/helpers/rsc-parcel/package.json +++ b/integration/helpers/rsc-parcel/package.json @@ -24,8 +24,8 @@ "@types/express": "^5.0.0", "@types/node": "^22.13.1", "@types/parcel-env": "0.0.8", - "@types/react-dom": "^19.0.3", - "@types/react": "^19.0.8", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "browserify-zlib": "^0.2.0", "buffer": "^5.5.0||^6.0.0", "events": "^3.1.0", diff --git a/integration/helpers/rsc-vite-framework/package.json b/integration/helpers/rsc-vite-framework/package.json index e9a983b046..749e07ee6d 100644 --- a/integration/helpers/rsc-vite-framework/package.json +++ b/integration/helpers/rsc-vite-framework/package.json @@ -16,8 +16,8 @@ "@react-router/fs-routes": "workspace:*", "@types/express": "^5.0.0", "@types/node": "^22.13.1", - "@types/react": "^19.1.8", - "@types/react-dom": "^19.1.6", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "@vanilla-extract/css": "^1.17.4", "@vanilla-extract/vite-plugin": "^5.1.1", "@vitejs/plugin-react": "^4.5.2", diff --git a/integration/helpers/rsc-vite/package.json b/integration/helpers/rsc-vite/package.json index 36fa88cc8b..a62e5f3ceb 100644 --- a/integration/helpers/rsc-vite/package.json +++ b/integration/helpers/rsc-vite/package.json @@ -10,12 +10,12 @@ "typecheck": "tsc" }, "devDependencies": { - "@vitejs/plugin-rsc": "0.4.24", "@types/express": "^5.0.0", "@types/node": "^22.13.1", - "@types/react": "^19.1.8", - "@types/react-dom": "^19.1.6", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "@vitejs/plugin-react": "^4.5.2", + "@vitejs/plugin-rsc": "0.4.24", "typescript": "^5.1.6", "vite": "^6.2.0" }, diff --git a/integration/helpers/vite-5-template/package.json b/integration/helpers/vite-5-template/package.json index 859249cab7..e29fad5e4f 100644 --- a/integration/helpers/vite-5-template/package.json +++ b/integration/helpers/vite-5-template/package.json @@ -27,8 +27,8 @@ "@react-router/dev": "workspace:*", "@react-router/fs-routes": "workspace:*", "@react-router/remix-routes-option-adapter": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "eslint": "^8.38.0", "typescript": "^5.1.6", "vite": "^5.1.0", diff --git a/integration/helpers/vite-6-template/package.json b/integration/helpers/vite-6-template/package.json index 14cb1cb07f..3f2cd1502f 100644 --- a/integration/helpers/vite-6-template/package.json +++ b/integration/helpers/vite-6-template/package.json @@ -27,8 +27,8 @@ "@react-router/dev": "workspace:*", "@react-router/fs-routes": "workspace:*", "@react-router/remix-routes-option-adapter": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "eslint": "^8.38.0", "typescript": "^5.1.6", "vite": "^6.1.0", diff --git a/integration/helpers/vite-7-beta-template/package.json b/integration/helpers/vite-7-beta-template/package.json index f0b9b5ce3f..e3aa6dde92 100644 --- a/integration/helpers/vite-7-beta-template/package.json +++ b/integration/helpers/vite-7-beta-template/package.json @@ -27,8 +27,8 @@ "@react-router/dev": "workspace:*", "@react-router/fs-routes": "workspace:*", "@react-router/remix-routes-option-adapter": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "eslint": "^8.38.0", "typescript": "^5.1.6", "vite": "7.0.0-beta.0", diff --git a/integration/helpers/vite-plugin-cloudflare-template/package.json b/integration/helpers/vite-plugin-cloudflare-template/package.json index 7d9afd57d2..9cc779e75f 100644 --- a/integration/helpers/vite-plugin-cloudflare-template/package.json +++ b/integration/helpers/vite-plugin-cloudflare-template/package.json @@ -23,8 +23,8 @@ "@react-router/dev": "workspace:*", "@react-router/fs-routes": "workspace:*", "@types/node": "^20.0.0", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "eslint": "^8.38.0", "typescript": "^5.1.6", "vite": "^6.1.0", diff --git a/integration/helpers/vite-rolldown-template/package.json b/integration/helpers/vite-rolldown-template/package.json index d02d6f0012..3d467c70cd 100644 --- a/integration/helpers/vite-rolldown-template/package.json +++ b/integration/helpers/vite-rolldown-template/package.json @@ -27,8 +27,8 @@ "@react-router/dev": "workspace:*", "@react-router/fs-routes": "workspace:*", "@react-router/remix-routes-option-adapter": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "cross-env": "^7.0.3", "eslint": "^8.38.0", "typescript": "^5.1.6", diff --git a/package.json b/package.json index e3d3ab95af..a936078b57 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,6 @@ }, "packageManager": "pnpm@9.10.0", "resolutions": { - "@types/react": "^18.2.18", - "@types/react-dom": "^18.2.7", "@types/react-test-renderer": "^18.3.1", "jsdom": "22.1.0" }, @@ -59,8 +57,8 @@ "@remix-run/changelog-github": "^0.0.5", "@types/jest": "^29.5.4", "@types/jsdom": "^21.1.1", - "@types/react": "^19.0.12", - "@types/react-dom": "^19.0.4", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "@types/react-test-renderer": "^19.0.0", "@typescript-eslint/eslint-plugin": "^7.5.0", "@typescript-eslint/parser": "^7.5.0", diff --git a/packages/react-router/lib/components.tsx b/packages/react-router/lib/components.tsx index 397ce2cb9e..d76365e018 100644 --- a/packages/react-router/lib/components.tsx +++ b/packages/react-router/lib/components.tsx @@ -270,7 +270,7 @@ export interface RouterProviderProps { * - If you are rendering in a non-DOM environment, you can import * `RouterProvider` from `react-router` and ignore this prop */ - flushSync?: (fn: () => unknown) => undefined; + flushSync?: (fn: () => R) => R; /** * An error handler function that will be called for any loader/action/render * errors that are encountered in your application. This is useful for @@ -654,7 +654,7 @@ export function MemoryRouter({ initialEntries, initialIndex, }: MemoryRouterProps): React.ReactElement { - let historyRef = React.useRef(); + let historyRef = React.useRef(undefined); if (historyRef.current == null) { historyRef.current = createMemoryHistory({ initialEntries, @@ -1541,8 +1541,8 @@ export function createRoutesFromChildren( ): RouteObject[] { let routes: RouteObject[] = []; - React.Children.forEach(children, (element, index) => { - if (!React.isValidElement(element)) { + React.Children.forEach(children, (element, index) => { + if (!React.isValidElement(element)) { // Ignore non-elements. This allows people to more easily inline // conditionals in their route config. return; diff --git a/packages/react-router/lib/dom/lib.tsx b/packages/react-router/lib/dom/lib.tsx index c3171516f6..a13d166edb 100644 --- a/packages/react-router/lib/dom/lib.tsx +++ b/packages/react-router/lib/dom/lib.tsx @@ -904,7 +904,7 @@ export function BrowserRouter({ children, window, }: BrowserRouterProps) { - let historyRef = React.useRef(); + let historyRef = React.useRef(undefined); if (historyRef.current == null) { historyRef.current = createBrowserHistory({ window, v5Compat: true }); } @@ -969,7 +969,7 @@ export interface HashRouterProps { * for client-side routing. */ export function HashRouter({ basename, children, window }: HashRouterProps) { - let historyRef = React.useRef(); + let historyRef = React.useRef(undefined); if (historyRef.current == null) { historyRef.current = createHashHistory({ window, v5Compat: true }); } diff --git a/packages/react-router/lib/dom/ssr/components.tsx b/packages/react-router/lib/dom/ssr/components.tsx index 85271fecf8..6fc8ae6f83 100644 --- a/packages/react-router/lib/dom/ssr/components.tsx +++ b/packages/react-router/lib/dom/ssr/components.tsx @@ -104,7 +104,7 @@ interface PrefetchHandlers { export function usePrefetchBehavior( prefetch: PrefetchBehavior, theirElementProps: PrefetchHandlers, -): [boolean, React.RefObject, PrefetchHandlers] { +): [boolean, React.RefObject, PrefetchHandlers] { let frameworkContext = React.useContext(FrameworkContext); let [maybePrefetch, setMaybePrefetch] = React.useState(false); let [shouldPrefetch, setShouldPrefetch] = React.useState(false); diff --git a/packages/react-router/lib/dom/ssr/routes-test-stub.tsx b/packages/react-router/lib/dom/ssr/routes-test-stub.tsx index a41dd8612c..485fcd0a20 100644 --- a/packages/react-router/lib/dom/ssr/routes-test-stub.tsx +++ b/packages/react-router/lib/dom/ssr/routes-test-stub.tsx @@ -125,8 +125,9 @@ export function createRoutesStub( hydrationData, future, }: RoutesTestStubProps) { - let routerRef = React.useRef>(); - let frameworkContextRef = React.useRef(); + let routerRef = + React.useRef>(undefined); + let frameworkContextRef = React.useRef(undefined); if (routerRef.current == null) { frameworkContextRef.current = { diff --git a/packages/react-router/lib/router/router.ts b/packages/react-router/lib/router/router.ts index 14f6fbad53..1424b642b9 100644 --- a/packages/react-router/lib/router/router.ts +++ b/packages/react-router/lib/router/router.ts @@ -3557,7 +3557,7 @@ export function createStaticHandler( skipLoaderErrorBubbling, skipRevalidation, dataStrategy, - generateMiddlewareResponse: generateMiddlewareResponse, + generateMiddlewareResponse, }: Parameters[1] = {}, ): Promise { let url = new URL(request.url); @@ -3831,7 +3831,7 @@ export function createStaticHandler( routeId, requestContext, dataStrategy, - generateMiddlewareResponse: generateMiddlewareResponse, + generateMiddlewareResponse, }: Parameters[1] = {}, ): Promise { let url = new URL(request.url); diff --git a/packages/react-router/lib/rsc/browser.tsx b/packages/react-router/lib/rsc/browser.tsx index 1d15916633..52bd1f9844 100644 --- a/packages/react-router/lib/rsc/browser.tsx +++ b/packages/react-router/lib/rsc/browser.tsx @@ -154,7 +154,7 @@ export function createCallServer({ if (payload.rerender) { React.startTransition( - // @ts-expect-error - We have old react types that don't know this can be async + // async () => { const rerender = await payload.rerender; if (!rerender) return; diff --git a/playground/framework-express/package.json b/playground/framework-express/package.json index c0288d54a4..3ea7d03c6e 100644 --- a/playground/framework-express/package.json +++ b/playground/framework-express/package.json @@ -26,8 +26,8 @@ "@types/compression": "^1.7.5", "@types/express": "^4.17.20", "@types/morgan": "^1.9.9", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "cross-env": "^7.0.3", "typescript": "^5.1.6", "vite": "^6.1.0", diff --git a/playground/framework-rolldown-vite/package.json b/playground/framework-rolldown-vite/package.json index 32d5acafd8..c0ef81c373 100644 --- a/playground/framework-rolldown-vite/package.json +++ b/playground/framework-rolldown-vite/package.json @@ -21,8 +21,8 @@ }, "devDependencies": { "@react-router/dev": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "npm:rolldown-vite@6.3.0-beta.3", "vite-tsconfig-paths": "^4.2.1" diff --git a/playground/framework-spa/package.json b/playground/framework-spa/package.json index fc3661c9f2..aa77b0f62e 100644 --- a/playground/framework-spa/package.json +++ b/playground/framework-spa/package.json @@ -19,8 +19,8 @@ }, "devDependencies": { "@react-router/dev": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "^6.1.0", "vite-tsconfig-paths": "^4.2.1" diff --git a/playground/framework-vite-5/package.json b/playground/framework-vite-5/package.json index b63e03428d..fce4e6b1f5 100644 --- a/playground/framework-vite-5/package.json +++ b/playground/framework-vite-5/package.json @@ -20,8 +20,8 @@ }, "devDependencies": { "@react-router/dev": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "^5.1.0", "vite-tsconfig-paths": "^4.2.1" diff --git a/playground/framework-vite-7-beta/package.json b/playground/framework-vite-7-beta/package.json index 4a72eb7f94..2cfd57ec1b 100644 --- a/playground/framework-vite-7-beta/package.json +++ b/playground/framework-vite-7-beta/package.json @@ -20,8 +20,8 @@ }, "devDependencies": { "@react-router/dev": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "7.0.0-beta.0", "vite-tsconfig-paths": "^4.2.1" diff --git a/playground/framework/package.json b/playground/framework/package.json index c24feaa33e..6d8d181579 100644 --- a/playground/framework/package.json +++ b/playground/framework/package.json @@ -20,8 +20,8 @@ }, "devDependencies": { "@react-router/dev": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "^6.1.0", "vite-tsconfig-paths": "^4.2.1" diff --git a/playground/middleware/package.json b/playground/middleware/package.json index 1a4777c858..e2baf44648 100644 --- a/playground/middleware/package.json +++ b/playground/middleware/package.json @@ -30,8 +30,8 @@ "@types/express-serve-static-core": "^5.0.6", "@types/morgan": "^1.9.9", "@types/node": "^20.0.0", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "tsx": "^4.19.3", "typescript": "^5.1.6", "vite": "^6.0.0", diff --git a/playground/rsc-parcel-framework/package.json b/playground/rsc-parcel-framework/package.json index f306209a99..cbd7e1d226 100644 --- a/playground/rsc-parcel-framework/package.json +++ b/playground/rsc-parcel-framework/package.json @@ -25,8 +25,8 @@ "@types/express": "^5.0.0", "@types/node": "^22.13.1", "@types/parcel-env": "0.0.8", - "@types/react-dom": "^19.0.3", - "@types/react": "^19.0.8", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "parcel": "2.15.0", "parcel-config-react-router-experimental": "1.0.25" }, diff --git a/playground/rsc-parcel/package.json b/playground/rsc-parcel/package.json index 8b4ba155b9..d5afeeaf62 100644 --- a/playground/rsc-parcel/package.json +++ b/playground/rsc-parcel/package.json @@ -25,8 +25,8 @@ "@types/express": "^5.0.0", "@types/node": "^22.13.1", "@types/parcel-env": "0.0.8", - "@types/react-dom": "^19.0.3", - "@types/react": "^19.0.8", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "browserify-zlib": "^0.2.0", "buffer": "^5.5.0||^6.0.0", "events": "^3.1.0", diff --git a/playground/rsc-vite-framework/package.json b/playground/rsc-vite-framework/package.json index 2ae4779b13..c7ba49a8b3 100644 --- a/playground/rsc-vite-framework/package.json +++ b/playground/rsc-vite-framework/package.json @@ -15,8 +15,8 @@ "@react-router/fs-routes": "workspace:*", "@types/express": "^5.0.0", "@types/node": "^22.13.1", - "@types/react": "^19.1.8", - "@types/react-dom": "^19.1.6", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "@vitejs/plugin-react": "^4.5.2", "@vitejs/plugin-rsc": "0.4.24", "cross-env": "^7.0.3", diff --git a/playground/rsc-vite/package.json b/playground/rsc-vite/package.json index 752f1191c0..0a27386456 100644 --- a/playground/rsc-vite/package.json +++ b/playground/rsc-vite/package.json @@ -12,8 +12,8 @@ "devDependencies": { "@types/express": "^5.0.0", "@types/node": "^22.13.1", - "@types/react": "^19.1.8", - "@types/react-dom": "^19.1.6", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "@vitejs/plugin-react": "^4.5.2", "@vitejs/plugin-rsc": "0.4.24", "cross-env": "^7.0.3", diff --git a/playground/split-route-modules-spa/package.json b/playground/split-route-modules-spa/package.json index 9c523bcea4..5ae97ce22e 100644 --- a/playground/split-route-modules-spa/package.json +++ b/playground/split-route-modules-spa/package.json @@ -19,8 +19,8 @@ }, "devDependencies": { "@react-router/dev": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "^6.1.0", "vite-tsconfig-paths": "^4.2.1" diff --git a/playground/split-route-modules/package.json b/playground/split-route-modules/package.json index b0b971c3c4..c4caae673d 100644 --- a/playground/split-route-modules/package.json +++ b/playground/split-route-modules/package.json @@ -20,8 +20,8 @@ }, "devDependencies": { "@react-router/dev": "workspace:*", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "typescript": "^5.1.6", "vite": "^6.1.0", "vite-tsconfig-paths": "^4.2.1" diff --git a/playground/vite-plugin-cloudflare/package.json b/playground/vite-plugin-cloudflare/package.json index 6359980eb4..965d0c3105 100644 --- a/playground/vite-plugin-cloudflare/package.json +++ b/playground/vite-plugin-cloudflare/package.json @@ -23,8 +23,8 @@ "@react-router/dev": "workspace:*", "@react-router/fs-routes": "workspace:*", "@types/node": "^20.0.0", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", + "@types/react": "^19.1.11", + "@types/react-dom": "^19.1.8", "eslint": "^8.38.0", "typescript": "^5.1.6", "vite": "^6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e903c147d..3cd21b3912 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,8 +5,6 @@ settings: excludeLinksFromLockfile: false overrides: - '@types/react': ^18.2.18 - '@types/react-dom': ^18.2.7 '@types/react-test-renderer': ^18.3.1 jsdom: 22.1.0 workerd: 1.20250705.0 @@ -61,11 +59,11 @@ importers: specifier: ^21.1.1 version: 21.1.1 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) '@types/react-test-renderer': specifier: ^18.3.1 version: 18.3.1 @@ -320,11 +318,11 @@ importers: specifier: workspace:* version: link:../../../packages/react-router-remix-routes-option-adapter '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -378,11 +376,11 @@ importers: specifier: 0.0.8 version: 0.0.8 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) browserify-zlib: specifier: ^0.2.0 version: 0.2.0 @@ -457,11 +455,11 @@ importers: specifier: 0.0.8 version: 0.0.8 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) parcel: specifier: 2.15.0 version: 2.15.0 @@ -503,11 +501,11 @@ importers: specifier: ^22.13.1 version: 22.14.0 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) '@vitejs/plugin-react': specifier: ^4.5.2 version: 4.5.2(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.19.3)(yaml@2.8.0)) @@ -558,11 +556,11 @@ importers: specifier: ^22.13.1 version: 22.14.0 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) '@vanilla-extract/css': specifier: ^1.17.4 version: 1.17.4(babel-plugin-macros@3.1.0) @@ -637,11 +635,11 @@ importers: specifier: workspace:* version: link:../../../packages/react-router-remix-routes-option-adapter '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) eslint: specifier: ^8.38.0 version: 8.57.0 @@ -704,11 +702,11 @@ importers: specifier: workspace:* version: link:../../../packages/react-router-remix-routes-option-adapter '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) eslint: specifier: ^8.38.0 version: 8.57.0 @@ -771,11 +769,11 @@ importers: specifier: workspace:* version: link:../../../packages/react-router-remix-routes-option-adapter '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) eslint: specifier: ^8.38.0 version: 8.57.0 @@ -826,11 +824,11 @@ importers: specifier: ^20.0.0 version: 20.11.30 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) eslint: specifier: ^8.38.0 version: 8.57.0 @@ -893,11 +891,11 @@ importers: specifier: workspace:* version: link:../../../packages/react-router-remix-routes-option-adapter '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -1004,7 +1002,7 @@ importers: version: 6.6.3 '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.8(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@testing-library/user-event': specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.0) @@ -1437,11 +1435,11 @@ importers: specifier: workspace:* version: link:../../packages/react-router-dev '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -1495,11 +1493,11 @@ importers: specifier: ^1.9.9 version: 1.9.9 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -1541,11 +1539,11 @@ importers: specifier: workspace:* version: link:../../packages/react-router-dev '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -1578,11 +1576,11 @@ importers: specifier: workspace:* version: link:../../packages/react-router-dev '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -1618,11 +1616,11 @@ importers: specifier: workspace:* version: link:../../packages/react-router-dev '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -1658,11 +1656,11 @@ importers: specifier: workspace:* version: link:../../packages/react-router-dev '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -1728,11 +1726,11 @@ importers: specifier: ^20.0.0 version: 20.11.30 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) tsx: specifier: ^4.19.3 version: 4.19.3 @@ -1789,11 +1787,11 @@ importers: specifier: 0.0.8 version: 0.0.8 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) browserify-zlib: specifier: ^0.2.0 version: 0.2.0 @@ -1862,11 +1860,11 @@ importers: specifier: 0.0.8 version: 0.0.8 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) parcel: specifier: 2.15.0 version: 2.15.0 @@ -1902,11 +1900,11 @@ importers: specifier: ^22.13.1 version: 22.14.0 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) '@vitejs/plugin-react': specifier: ^4.5.2 version: 4.5.2(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.19.3)(yaml@2.8.0)) @@ -1963,11 +1961,11 @@ importers: specifier: ^22.13.1 version: 22.14.0 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) '@vitejs/plugin-react': specifier: ^4.5.2 version: 4.5.2(vite@6.2.5(@types/node@22.14.0)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.19.3)(yaml@2.8.0)) @@ -2015,11 +2013,11 @@ importers: specifier: workspace:* version: link:../../packages/react-router-dev '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -2052,11 +2050,11 @@ importers: specifier: workspace:* version: link:../../packages/react-router-dev '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) typescript: specifier: ^5.1.6 version: 5.4.5 @@ -2101,11 +2099,11 @@ importers: specifier: ^20.0.0 version: 20.11.30 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^19.1.11 + version: 19.1.11 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^19.1.8 + version: 19.1.8(@types/react@19.1.11) eslint: specifier: ^8.38.0 version: 8.57.0 @@ -4797,8 +4795,8 @@ packages: engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 - '@types/react': ^18.2.18 - '@types/react-dom': ^18.2.7 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: @@ -5003,8 +5001,10 @@ packages: '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@18.2.7': - resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} + '@types/react-dom@19.1.8': + resolution: {integrity: sha512-xG7xaBMJCpcK0RpN8jDbAACQo54ycO6h4dSSmgv8+fu6ZIAdANkx/WsawASUjVXYfy+J9AbUpRMNNEsXCDfDBQ==} + peerDependencies: + '@types/react': ^19.0.0 '@types/react-test-renderer@18.3.1': resolution: {integrity: sha512-vAhnk0tG2eGa37lkU9+s5SoroCsRI08xnsWFiAXOuPH2jqzMbcXvKExXViPi1P5fIklDeCvXqyrdmipFaSkZrA==} @@ -5012,6 +5012,9 @@ packages: '@types/react@18.2.18': resolution: {integrity: sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==} + '@types/react@19.1.11': + resolution: {integrity: sha512-lr3jdBw/BGj49Eps7EvqlUaoeA0xpj3pc0RoJkHpYaCHkVK7i28dKyImLQb3JVlqs3aYSXf7qYuWOW/fgZnTXQ==} + '@types/recursive-readdir@2.2.4': resolution: {integrity: sha512-84REEGT3lcgopvpkmGApzmU5UEG0valme5rQS/KGiguTkJ70/Au8UYZTyrzoZnY9svuX9351+1uvrRPzWDD/uw==} @@ -13126,15 +13129,15 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.8(@types/react@19.1.11))(@types/react@19.1.11)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.24.1 '@testing-library/dom': 10.4.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.18 - '@types/react-dom': 18.2.7 + '@types/react': 19.1.11 + '@types/react-dom': 19.1.8(@types/react@19.1.11) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': dependencies: @@ -13357,9 +13360,9 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react-dom@18.2.7': + '@types/react-dom@19.1.8(@types/react@19.1.11)': dependencies: - '@types/react': 18.2.18 + '@types/react': 19.1.11 '@types/react-test-renderer@18.3.1': dependencies: @@ -13371,6 +13374,10 @@ snapshots: '@types/scheduler': 0.16.2 csstype: 3.1.1 + '@types/react@19.1.11': + dependencies: + csstype: 3.1.1 + '@types/recursive-readdir@2.2.4': dependencies: '@types/node': 22.14.0 From 248793def9b11dd7ffafbf3f6b549656a25e091f Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 26 Aug 2025 17:23:55 +0900 Subject: [PATCH 2/3] chore: fix types --- integration/helpers/rsc-parcel-framework/app/index.ts | 1 - integration/helpers/rsc-parcel/src/browser.tsx | 1 - integration/helpers/rsc-parcel/src/prerender.tsx | 2 +- integration/helpers/rsc-vite/src/entry.ssr.tsx | 1 - playground/rsc-parcel-framework/app/routes/_index/route.tsx | 1 - .../rsc-parcel-framework/app/routes/optimistic/form.tsx | 3 --- playground/rsc-parcel/src/entry.ssr.tsx | 1 - playground/rsc-vite-framework/app/routes/_index/route.tsx | 1 - .../rsc-vite-framework/app/routes/optimistic/form.tsx | 3 --- playground/rsc-vite/src/entry.rsc.tsx | 1 - playground/rsc-vite/src/entry.ssr.tsx | 1 - playground/rsc-vite/src/routes.ts | 1 - playground/rsc-vite/src/routes/home/home.client.tsx | 6 ++---- 13 files changed, 3 insertions(+), 20 deletions(-) diff --git a/integration/helpers/rsc-parcel-framework/app/index.ts b/integration/helpers/rsc-parcel-framework/app/index.ts index 44391bff05..fa2c5b0d29 100644 --- a/integration/helpers/rsc-parcel-framework/app/index.ts +++ b/integration/helpers/rsc-parcel-framework/app/index.ts @@ -1,5 +1,4 @@ import * as React from "react"; -// @ts-expect-error - no types import { renderToReadableStream } from "react-dom/server.edge" assert { env: "react-client" }; import { unstable_routeRSCServerRequest, diff --git a/integration/helpers/rsc-parcel/src/browser.tsx b/integration/helpers/rsc-parcel/src/browser.tsx index d0c02387d1..30e5453467 100644 --- a/integration/helpers/rsc-parcel/src/browser.tsx +++ b/integration/helpers/rsc-parcel/src/browser.tsx @@ -28,7 +28,6 @@ setServerCallback( // Get and decode the initial server payload createFromReadableStream(getRSCStream()).then((payload: RSCPayload) => { - // @ts-expect-error - on 18 types, requires 19. startTransition(async () => { const formState = payload.type === "render" ? await payload.formState : undefined; diff --git a/integration/helpers/rsc-parcel/src/prerender.tsx b/integration/helpers/rsc-parcel/src/prerender.tsx index a56e426254..4de1a82ae5 100644 --- a/integration/helpers/rsc-parcel/src/prerender.tsx +++ b/integration/helpers/rsc-parcel/src/prerender.tsx @@ -1,4 +1,3 @@ -// @ts-expect-error - no types for this yet import { renderToReadableStream as renderHTMLToReadableStream } from "react-dom/server.edge"; import { unstable_routeRSCServerRequest as routeRSCServerRequest, @@ -29,6 +28,7 @@ export async function prerender( , { bootstrapScriptContent, + // @ts-expect-error - no types for this yet formState, }, ); diff --git a/integration/helpers/rsc-vite/src/entry.ssr.tsx b/integration/helpers/rsc-vite/src/entry.ssr.tsx index 9301988a6d..ead347e933 100644 --- a/integration/helpers/rsc-vite/src/entry.ssr.tsx +++ b/integration/helpers/rsc-vite/src/entry.ssr.tsx @@ -1,5 +1,4 @@ import { createFromReadableStream } from "@vitejs/plugin-rsc/ssr"; -// @ts-expect-error import * as ReactDomServer from "react-dom/server.edge"; import { unstable_RSCStaticRouter as RSCStaticRouter, diff --git a/playground/rsc-parcel-framework/app/routes/_index/route.tsx b/playground/rsc-parcel-framework/app/routes/_index/route.tsx index 1cb58e8142..dbfd258bb8 100644 --- a/playground/rsc-parcel-framework/app/routes/_index/route.tsx +++ b/playground/rsc-parcel-framework/app/routes/_index/route.tsx @@ -12,7 +12,6 @@ export function ServerComponent({ loaderData }: Route.ComponentProps) {

Home

This is the home page.

loaderData: {loaderData}

- {/* @ts-expect-error React types for the repo are set to v18 */}
diff --git a/playground/rsc-parcel-framework/app/routes/optimistic/form.tsx b/playground/rsc-parcel-framework/app/routes/optimistic/form.tsx index b2816110e5..8b0b859955 100644 --- a/playground/rsc-parcel-framework/app/routes/optimistic/form.tsx +++ b/playground/rsc-parcel-framework/app/routes/optimistic/form.tsx @@ -1,7 +1,6 @@ "use client"; import { - // @ts-expect-error React types for the repo are set to v18 useOptimistic, } from "react"; import { useHydrated } from "remix-utils/use-hydrated"; @@ -17,13 +16,11 @@ export function ToggleLikedForm({ const [optimisticLiked, setOptimisticLiked] = useOptimistic(liked); const toggleLikedActionOptimistic = async () => { - // @ts-expect-error React types for the repo are set to v18 setOptimisticLiked((liked) => !liked); await toggleLikedAction(); }; return ( - // @ts-expect-error React types for the repo are set to v18
diff --git a/playground/rsc-vite-framework/app/routes/optimistic/form.tsx b/playground/rsc-vite-framework/app/routes/optimistic/form.tsx index b2816110e5..8b0b859955 100644 --- a/playground/rsc-vite-framework/app/routes/optimistic/form.tsx +++ b/playground/rsc-vite-framework/app/routes/optimistic/form.tsx @@ -1,7 +1,6 @@ "use client"; import { - // @ts-expect-error React types for the repo are set to v18 useOptimistic, } from "react"; import { useHydrated } from "remix-utils/use-hydrated"; @@ -17,13 +16,11 @@ export function ToggleLikedForm({ const [optimisticLiked, setOptimisticLiked] = useOptimistic(liked); const toggleLikedActionOptimistic = async () => { - // @ts-expect-error React types for the repo are set to v18 setOptimisticLiked((liked) => !liked); await toggleLikedAction(); }; return ( - // @ts-expect-error React types for the repo are set to v18