From b56d1a10de126c810c9e025632ac673b8776fc18 Mon Sep 17 00:00:00 2001 From: wobsoriano Date: Fri, 26 Sep 2025 17:46:43 -0700 Subject: [PATCH 1/8] chore(repo): Use new middleware in React Router integration --- integration/templates/react-router-library/package.json | 2 +- integration/templates/react-router-node/app/root.tsx | 9 +++------ .../templates/react-router-node/app/routes/protected.tsx | 5 ++--- integration/templates/react-router-node/package.json | 6 +++--- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/integration/templates/react-router-library/package.json b/integration/templates/react-router-library/package.json index 4febd9a0dee..617f870313c 100644 --- a/integration/templates/react-router-library/package.json +++ b/integration/templates/react-router-library/package.json @@ -11,7 +11,7 @@ "dependencies": { "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^7.9.1" + "react-router": "^7.9.3" }, "devDependencies": { "@types/react": "^18.3.12", diff --git a/integration/templates/react-router-node/app/root.tsx b/integration/templates/react-router-node/app/root.tsx index e24f3b1a918..614a03814fe 100644 --- a/integration/templates/react-router-node/app/root.tsx +++ b/integration/templates/react-router-node/app/root.tsx @@ -1,14 +1,11 @@ import { isRouteErrorResponse, Links, Meta, Outlet, Scripts, ScrollRestoration } from 'react-router'; -import { rootAuthLoader } from '@clerk/react-router/ssr.server'; +import { clerkMiddleware, rootAuthLoader } from '@clerk/react-router/server'; import { ClerkProvider } from '@clerk/react-router'; import type { Route } from './+types/root'; -// TODO: Uncomment when published -// export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]; +export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]; -export async function loader(args: Route.LoaderArgs) { - return rootAuthLoader(args); -} +export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args); export function Layout({ children }: { children: React.ReactNode }) { return ( diff --git a/integration/templates/react-router-node/app/routes/protected.tsx b/integration/templates/react-router-node/app/routes/protected.tsx index 362fcac4fa4..605bd117e55 100644 --- a/integration/templates/react-router-node/app/routes/protected.tsx +++ b/integration/templates/react-router-node/app/routes/protected.tsx @@ -1,7 +1,6 @@ import { redirect } from 'react-router'; import { UserProfile } from '@clerk/react-router'; -import { getAuth } from '@clerk/react-router/ssr.server'; -import { createClerkClient } from '@clerk/react-router/api.server'; +import { clerkClient, getAuth } from '@clerk/react-router/server'; import type { Route } from './+types/profile'; export async function loader(args: Route.LoaderArgs) { @@ -11,7 +10,7 @@ export async function loader(args: Route.LoaderArgs) { return redirect('/sign-in'); } - const user = await createClerkClient({ secretKey: process.env.CLERK_SECRET_KEY }).users.getUser(userId); + const user = await clerkClient(args).users.getUser(userId); return { firstName: user.firstName, diff --git a/integration/templates/react-router-node/package.json b/integration/templates/react-router-node/package.json index 3bcf6de6ba8..03081b3bcf2 100644 --- a/integration/templates/react-router-node/package.json +++ b/integration/templates/react-router-node/package.json @@ -9,15 +9,15 @@ "typecheck": "react-router typegen && tsc --build --noEmit" }, "dependencies": { - "@react-router/node": "^7.9.1", - "@react-router/serve": "^7.9.1", + "@react-router/node": "^7.9.3", + "@react-router/serve": "^7.9.3", "isbot": "^5.1.17", "react": "^19.1.0", "react-dom": "^19.1.0", "react-router": "^7.9.1" }, "devDependencies": { - "@react-router/dev": "^7.9.1", + "@react-router/dev": "^7.9.3", "@types/node": "^20", "@types/react": "^19.1.2", "@types/react-dom": "^19.1.2", From c8640e979e9505d4126e46b23f78c456ea11a23e Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Fri, 26 Sep 2025 17:47:25 -0700 Subject: [PATCH 2/8] chore: add empty changeset --- .changeset/fifty-carrots-crash.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .changeset/fifty-carrots-crash.md diff --git a/.changeset/fifty-carrots-crash.md b/.changeset/fifty-carrots-crash.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/fifty-carrots-crash.md @@ -0,0 +1,2 @@ +--- +--- From b7539ed6a2004f97b0c8042736e7f4c28d01156b Mon Sep 17 00:00:00 2001 From: wobsoriano Date: Fri, 26 Sep 2025 18:02:27 -0700 Subject: [PATCH 3/8] fix react router versions --- integration/templates/react-router-node/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integration/templates/react-router-node/package.json b/integration/templates/react-router-node/package.json index 03081b3bcf2..652c35d0f39 100644 --- a/integration/templates/react-router-node/package.json +++ b/integration/templates/react-router-node/package.json @@ -9,15 +9,15 @@ "typecheck": "react-router typegen && tsc --build --noEmit" }, "dependencies": { - "@react-router/node": "^7.9.3", - "@react-router/serve": "^7.9.3", + "@react-router/node": "^7.9.2", + "@react-router/serve": "^7.9.2", "isbot": "^5.1.17", "react": "^19.1.0", "react-dom": "^19.1.0", "react-router": "^7.9.1" }, "devDependencies": { - "@react-router/dev": "^7.9.3", + "@react-router/dev": "^7.9.2", "@types/node": "^20", "@types/react": "^19.1.2", "@types/react-dom": "^19.1.2", From bf3f3a151303b5d78546262f520962884bcbc15c Mon Sep 17 00:00:00 2001 From: wobsoriano Date: Fri, 26 Sep 2025 18:02:39 -0700 Subject: [PATCH 4/8] fix react router versions --- integration/templates/react-router-node/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integration/templates/react-router-node/package.json b/integration/templates/react-router-node/package.json index 652c35d0f39..3bcf6de6ba8 100644 --- a/integration/templates/react-router-node/package.json +++ b/integration/templates/react-router-node/package.json @@ -9,15 +9,15 @@ "typecheck": "react-router typegen && tsc --build --noEmit" }, "dependencies": { - "@react-router/node": "^7.9.2", - "@react-router/serve": "^7.9.2", + "@react-router/node": "^7.9.1", + "@react-router/serve": "^7.9.1", "isbot": "^5.1.17", "react": "^19.1.0", "react-dom": "^19.1.0", "react-router": "^7.9.1" }, "devDependencies": { - "@react-router/dev": "^7.9.2", + "@react-router/dev": "^7.9.1", "@types/node": "^20", "@types/react": "^19.1.2", "@types/react-dom": "^19.1.2", From d2968c108b60fb6d8e093e5bf304619fbbbbfd98 Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Fri, 26 Sep 2025 21:43:40 -0700 Subject: [PATCH 5/8] downgrade to 7.9.1 --- integration/templates/react-router-library/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/templates/react-router-library/package.json b/integration/templates/react-router-library/package.json index 617f870313c..751b6e3f777 100644 --- a/integration/templates/react-router-library/package.json +++ b/integration/templates/react-router-library/package.json @@ -11,7 +11,7 @@ "dependencies": { "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^7.9.3" + "react-router": "7.9.1" }, "devDependencies": { "@types/react": "^18.3.12", From 586562017e3505764aadbedc6ea542183cb491ac Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Fri, 26 Sep 2025 21:51:09 -0700 Subject: [PATCH 6/8] revert --- integration/templates/react-router-library/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/templates/react-router-library/package.json b/integration/templates/react-router-library/package.json index 751b6e3f777..4febd9a0dee 100644 --- a/integration/templates/react-router-library/package.json +++ b/integration/templates/react-router-library/package.json @@ -11,7 +11,7 @@ "dependencies": { "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "7.9.1" + "react-router": "^7.9.1" }, "devDependencies": { "@types/react": "^18.3.12", From 98434d4c32b92067bf2ca617c65fe87c7efd6bf2 Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Fri, 26 Sep 2025 22:21:52 -0700 Subject: [PATCH 7/8] chore: update readme --- packages/react-router/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-router/README.md b/packages/react-router/README.md index c97285dd49f..3639f929dba 100644 --- a/packages/react-router/README.md +++ b/packages/react-router/README.md @@ -31,7 +31,7 @@ ### Prerequisites -- React Router `^7.1.2` or later +- React Router `^7.9.0` or later - React 18 or later - Node.js `>=20.0.0` or later - An existing Clerk application. [Create your account for free](https://dashboard.clerk.com/sign-up?utm_source=github&utm_medium=clerk_react-router). From 9765217087eb5cf580977579aa3194d161f73860 Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Fri, 26 Sep 2025 22:23:16 -0700 Subject: [PATCH 8/8] chore: add changeset --- .changeset/fifty-carrots-crash.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.changeset/fifty-carrots-crash.md b/.changeset/fifty-carrots-crash.md index a845151cc84..661720e47b7 100644 --- a/.changeset/fifty-carrots-crash.md +++ b/.changeset/fifty-carrots-crash.md @@ -1,2 +1,5 @@ --- +'@clerk/react-router': patch --- + +Set correct minimum `react-router` version in README