From f326e86c4ce33ef13aa713a14edef58151c5b3bb Mon Sep 17 00:00:00 2001 From: wobsoriano Date: Thu, 9 Oct 2025 17:06:08 -0700 Subject: [PATCH 1/5] chore(repo): Remove TanStack Router tests --- .github/workflows/ci.yml | 1 - integration/presets/tanstack.ts | 11 --- integration/templates/index.ts | 1 - .../tanstack-react-router/.gitignore | 10 --- .../templates/tanstack-react-router/README.md | 6 -- .../tanstack-react-router/index.html | 30 -------- .../tanstack-react-router/package.json | 24 ------ .../tanstack-react-router/src/main.tsx | 26 ------- .../src/routeTree.gen.ts | 75 ------------------ .../src/routes/__root.tsx | 30 -------- .../src/routes/index.tsx | 30 -------- .../src/routes/sign-in.tsx | 10 --- .../tanstack-react-router/tsconfig.dev.json | 10 --- .../tanstack-react-router/tsconfig.json | 9 --- .../tanstack-react-router/vite.config.js | 14 ---- .../tests/tanstack-router/basic.test.ts | 77 ------------------- package.json | 1 - turbo.json | 11 --- 18 files changed, 376 deletions(-) delete mode 100644 integration/templates/tanstack-react-router/.gitignore delete mode 100644 integration/templates/tanstack-react-router/README.md delete mode 100644 integration/templates/tanstack-react-router/index.html delete mode 100644 integration/templates/tanstack-react-router/package.json delete mode 100644 integration/templates/tanstack-react-router/src/main.tsx delete mode 100644 integration/templates/tanstack-react-router/src/routeTree.gen.ts delete mode 100644 integration/templates/tanstack-react-router/src/routes/__root.tsx delete mode 100644 integration/templates/tanstack-react-router/src/routes/index.tsx delete mode 100644 integration/templates/tanstack-react-router/src/routes/sign-in.tsx delete mode 100644 integration/templates/tanstack-react-router/tsconfig.dev.json delete mode 100644 integration/templates/tanstack-react-router/tsconfig.json delete mode 100644 integration/templates/tanstack-react-router/vite.config.js delete mode 100644 integration/tests/tanstack-router/basic.test.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b14d83bd02..a83bcbfe0a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -292,7 +292,6 @@ jobs: 'astro', 'expo-web', 'tanstack-react-start', - # 'tanstack-react-router', 'vue', 'nuxt', 'react-router', diff --git a/integration/presets/tanstack.ts b/integration/presets/tanstack.ts index 07b07b53661..6460c20f20b 100644 --- a/integration/presets/tanstack.ts +++ b/integration/presets/tanstack.ts @@ -2,16 +2,6 @@ import { applicationConfig } from '../models/applicationConfig'; import { templates } from '../templates'; import { linkPackage } from './utils'; -const reactRouter = applicationConfig() - .setName('tanstack-react-router') - .useTemplate(templates['tanstack-react-router']) - .setEnvFormatter('public', key => `VITE_${key}`) - .addScript('setup', 'pnpm install') - .addScript('dev', 'pnpm dev') - .addScript('build', 'pnpm build') - .addScript('serve', 'pnpm start') - .addDependency('@clerk/tanstack-react-start', linkPackage('tanstack-react-start')); - const reactStart = applicationConfig() .setName('tanstack-react-start') .useTemplate(templates['tanstack-react-start']) @@ -24,5 +14,4 @@ const reactStart = applicationConfig() export const tanstack = { reactStart, - reactRouter, } as const; diff --git a/integration/templates/index.ts b/integration/templates/index.ts index 5c117a1f523..eb97913a159 100644 --- a/integration/templates/index.ts +++ b/integration/templates/index.ts @@ -14,7 +14,6 @@ export const templates = { 'astro-hybrid': resolve(__dirname, './astro-hybrid'), 'expo-web': resolve(__dirname, './expo-web'), 'tanstack-react-start': resolve(__dirname, './tanstack-react-start'), - 'tanstack-react-router': resolve(__dirname, './tanstack-react-router'), 'vue-vite': resolve(__dirname, './vue-vite'), 'nuxt-node': resolve(__dirname, './nuxt-node'), 'react-router-node': resolve(__dirname, './react-router-node'), diff --git a/integration/templates/tanstack-react-router/.gitignore b/integration/templates/tanstack-react-router/.gitignore deleted file mode 100644 index a6ea47e5085..00000000000 --- a/integration/templates/tanstack-react-router/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -node_modules -.DS_Store -dist -dist-ssr -*.local - -/test-results/ -/playwright-report/ -/blob-report/ -/playwright/.cache/ diff --git a/integration/templates/tanstack-react-router/README.md b/integration/templates/tanstack-react-router/README.md deleted file mode 100644 index 115199d292c..00000000000 --- a/integration/templates/tanstack-react-router/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Example - -To run this example: - -- `npm install` or `yarn` -- `npm start` or `yarn start` diff --git a/integration/templates/tanstack-react-router/index.html b/integration/templates/tanstack-react-router/index.html deleted file mode 100644 index e59b072e9bd..00000000000 --- a/integration/templates/tanstack-react-router/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - Vite App - - - - -
- - - diff --git a/integration/templates/tanstack-react-router/package.json b/integration/templates/tanstack-react-router/package.json deleted file mode 100644 index 176b489a8a2..00000000000 --- a/integration/templates/tanstack-react-router/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "tanstack-router-react-example-basic-file-based", - "private": true, - "type": "module", - "scripts": { - "build": "vite build", - "dev": "vite --port=$PORT", - "serve": "vite preview --port=$PORT", - "start": "vite" - }, - "dependencies": { - "@tanstack/react-router": "1.131.27", - "@tanstack/react-router-devtools": "1.131.27", - "@tanstack/router-plugin": "1.131.27", - "react": "18.3.1", - "react-dom": "18.3.1" - }, - "devDependencies": { - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", - "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.0.11" - } -} diff --git a/integration/templates/tanstack-react-router/src/main.tsx b/integration/templates/tanstack-react-router/src/main.tsx deleted file mode 100644 index c58d1dd7787..00000000000 --- a/integration/templates/tanstack-react-router/src/main.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import { RouterProvider, createRouter } from '@tanstack/react-router'; -import { routeTree } from './routeTree.gen'; - -// Set up a Router instance -const router = createRouter({ - routeTree, - defaultPreload: 'intent', - defaultStaleTime: 5000, - scrollRestoration: true, -}); - -// Register things for typesafety -declare module '@tanstack/react-router' { - interface Register { - router: typeof router; - } -} - -const rootElement = document.getElementById('app')!; - -if (!rootElement.innerHTML) { - const root = ReactDOM.createRoot(rootElement); - root.render(); -} diff --git a/integration/templates/tanstack-react-router/src/routeTree.gen.ts b/integration/templates/tanstack-react-router/src/routeTree.gen.ts deleted file mode 100644 index d067145b3a9..00000000000 --- a/integration/templates/tanstack-react-router/src/routeTree.gen.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* eslint-disable */ - -// @ts-nocheck - -// noinspection JSUnusedGlobalSymbols - -// This file was automatically generated by TanStack Router. -// You should NOT make any changes in this file as it will be overwritten. -// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. - -import { Route as rootRouteImport } from './routes/__root'; -import { Route as SignInRouteImport } from './routes/sign-in'; -import { Route as IndexRouteImport } from './routes/index'; - -const SignInRoute = SignInRouteImport.update({ - id: '/sign-in', - path: '/sign-in', - getParentRoute: () => rootRouteImport, -} as any); -const IndexRoute = IndexRouteImport.update({ - id: '/', - path: '/', - getParentRoute: () => rootRouteImport, -} as any); - -export interface FileRoutesByFullPath { - '/': typeof IndexRoute; - '/sign-in': typeof SignInRoute; -} -export interface FileRoutesByTo { - '/': typeof IndexRoute; - '/sign-in': typeof SignInRoute; -} -export interface FileRoutesById { - __root__: typeof rootRouteImport; - '/': typeof IndexRoute; - '/sign-in': typeof SignInRoute; -} -export interface FileRouteTypes { - fileRoutesByFullPath: FileRoutesByFullPath; - fullPaths: '/' | '/sign-in'; - fileRoutesByTo: FileRoutesByTo; - to: '/' | '/sign-in'; - id: '__root__' | '/' | '/sign-in'; - fileRoutesById: FileRoutesById; -} -export interface RootRouteChildren { - IndexRoute: typeof IndexRoute; - SignInRoute: typeof SignInRoute; -} - -declare module '@tanstack/react-router' { - interface FileRoutesByPath { - '/sign-in': { - id: '/sign-in'; - path: '/sign-in'; - fullPath: '/sign-in'; - preLoaderRoute: typeof SignInRouteImport; - parentRoute: typeof rootRouteImport; - }; - '/': { - id: '/'; - path: '/'; - fullPath: '/'; - preLoaderRoute: typeof IndexRouteImport; - parentRoute: typeof rootRouteImport; - }; - } -} - -const rootRouteChildren: RootRouteChildren = { - IndexRoute: IndexRoute, - SignInRoute: SignInRoute, -}; -export const routeTree = rootRouteImport._addFileChildren(rootRouteChildren)._addFileTypes(); diff --git a/integration/templates/tanstack-react-router/src/routes/__root.tsx b/integration/templates/tanstack-react-router/src/routes/__root.tsx deleted file mode 100644 index 668a3bbf3ae..00000000000 --- a/integration/templates/tanstack-react-router/src/routes/__root.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from 'react'; -import { Link, Outlet, createRootRoute } from '@tanstack/react-router'; -import { TanStackRouterDevtools } from '@tanstack/react-router-devtools'; -import { ClerkProvider } from '@clerk/tanstack-react-start'; - -export const Route = createRootRoute({ - component: RootComponent, - notFoundComponent: () => { - return ( -
-

This is the notFoundComponent configured on root route

- Start Over -
- ); - }, -}); - -function RootComponent() { - return ( - -
-
I'm a layout
-
- -
-
- -
- ); -} diff --git a/integration/templates/tanstack-react-router/src/routes/index.tsx b/integration/templates/tanstack-react-router/src/routes/index.tsx deleted file mode 100644 index 9825886a7fa..00000000000 --- a/integration/templates/tanstack-react-router/src/routes/index.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from 'react'; -import { createFileRoute } from '@tanstack/react-router'; -import { SignedIn, SignedOut, SignIn, SignOutButton, UserButton } from '@clerk/tanstack-react-start'; - -export const Route = createFileRoute('/')({ - component: Home, -}); - -function Home() { - return ( -
-

Index Route

- -

You are signed in!

-
-

View your profile here

- -
-
- -
-
- -

You are signed out

- - -
-
- ); -} diff --git a/integration/templates/tanstack-react-router/src/routes/sign-in.tsx b/integration/templates/tanstack-react-router/src/routes/sign-in.tsx deleted file mode 100644 index 353ccdcf24a..00000000000 --- a/integration/templates/tanstack-react-router/src/routes/sign-in.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { SignIn } from '@clerk/tanstack-react-start'; -import { createFileRoute } from '@tanstack/react-router'; - -export const Route = createFileRoute('/sign-in')({ - component: Page, -}); - -function Page() { - return ; -} diff --git a/integration/templates/tanstack-react-router/tsconfig.dev.json b/integration/templates/tanstack-react-router/tsconfig.dev.json deleted file mode 100644 index 285a09b0dcf..00000000000 --- a/integration/templates/tanstack-react-router/tsconfig.dev.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "composite": true, - "extends": "../../../tsconfig.base.json", - - "files": ["src/main.tsx"], - "include": [ - "src" - // "__tests__/**/*.test.*" - ] -} diff --git a/integration/templates/tanstack-react-router/tsconfig.json b/integration/templates/tanstack-react-router/tsconfig.json deleted file mode 100644 index 93048aa449f..00000000000 --- a/integration/templates/tanstack-react-router/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "strict": true, - "esModuleInterop": true, - "jsx": "react-jsx", - "lib": ["DOM", "DOM.Iterable", "ES2022"], - "skipLibCheck": true - } -} diff --git a/integration/templates/tanstack-react-router/vite.config.js b/integration/templates/tanstack-react-router/vite.config.js deleted file mode 100644 index 745566dc782..00000000000 --- a/integration/templates/tanstack-react-router/vite.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react'; -import { tanstackRouter } from '@tanstack/router-plugin/vite'; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - tanstackRouter({ - target: 'react', - autoCodeSplitting: true, - }), - react(), - ], -}); diff --git a/integration/tests/tanstack-router/basic.test.ts b/integration/tests/tanstack-router/basic.test.ts deleted file mode 100644 index 488db6f3bb0..00000000000 --- a/integration/tests/tanstack-router/basic.test.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { test } from '@playwright/test'; - -import { appConfigs } from '../../presets'; -import type { FakeUser } from '../../testUtils'; -import { createTestUtils, testAgainstRunningApps } from '../../testUtils'; - -testAgainstRunningApps({ withEnv: [appConfigs.envs.withEmailCodes] })( - 'basic tests for TanStack Router @tanstack-react-router', - ({ app }) => { - test.describe.configure({ mode: 'parallel' }); - - let fakeUser: FakeUser; - - test.beforeAll(async () => { - const u = createTestUtils({ app }); - fakeUser = u.services.users.createFakeUser({ - fictionalEmail: true, - withPhoneNumber: true, - withUsername: true, - }); - await u.services.users.createBapiUser(fakeUser); - }); - - test.afterAll(async () => { - await fakeUser.deleteIfExists(); - await app.teardown(); - }); - - test.afterEach(async ({ page, context }) => { - const u = createTestUtils({ app, page, context }); - await u.page.signOut(); - await u.page.context().clearCookies(); - }); - - test('can sign in and user button renders', async ({ page, context }) => { - const u = createTestUtils({ app, page, context }); - await u.po.signIn.goTo(); - - await u.po.signIn.setIdentifier(fakeUser.email); - await u.po.signIn.setPassword(fakeUser.password); - await u.po.signIn.continue(); - await u.po.expect.toBeSignedIn(); - - await u.page.waitForAppUrl('/'); - - await u.po.userButton.waitForMounted(); - await u.po.userButton.toggleTrigger(); - await u.po.userButton.waitForPopover(); - - await u.po.userButton.toHaveVisibleMenuItems([/Manage account/i, /Sign out$/i]); - }); - - test('can sign out successfully', async ({ page, context }) => { - const u = createTestUtils({ app, page, context }); - await u.po.signIn.goTo(); - - await u.po.signIn.setIdentifier(fakeUser.email); - await u.po.signIn.setPassword(fakeUser.password); - await u.po.signIn.continue(); - await u.po.expect.toBeSignedIn(); - - await u.page.waitForAppUrl('/'); - - await u.po.userButton.waitForMounted(); - await u.po.userButton.toggleTrigger(); - await u.po.userButton.waitForPopover(); - - await u.po.userButton.toHaveVisibleMenuItems([/Manage account/i, /Sign out$/i]); - - await u.po.userButton.triggerSignOut(); - - await u.page.waitForAppUrl('/'); - - await u.po.expect.toBeSignedOut(); - }); - }, -); diff --git a/package.json b/package.json index 158d0ed4a27..c56fba3b470 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,6 @@ "test:integration:react-router": "E2E_APP_ID=react-router.* pnpm test:integration:base --grep @react-router", "test:integration:sessions": "DISABLE_WEB_SECURITY=true E2E_SESSIONS_APP_1_ENV_KEY=sessions-prod-1 E2E_SESSIONS_APP_2_ENV_KEY=sessions-prod-2 E2E_SESSIONS_APP_1_HOST=multiple-apps-e2e.clerk.app pnpm test:integration:base --grep @sessions", "test:integration:sessions:staging": "DISABLE_WEB_SECURITY=true E2E_SESSIONS_APP_1_ENV_KEY=clerkstage-sessions-prod-1 E2E_SESSIONS_APP_2_ENV_KEY=clerkstage-sessions-prod-2 E2E_SESSIONS_APP_1_HOST=clerkstage-sessions-prod-1-e2e.clerk.app pnpm test:integration:base --grep @sessions", - "test:integration:tanstack-react-router": "E2E_APP_ID=tanstack.react-router pnpm test:integration:base --grep @tanstack-react-router", "test:integration:tanstack-react-start": "E2E_APP_ID=tanstack.react-start pnpm test:integration:base --grep @tanstack-react-start", "test:integration:vue": "E2E_APP_ID=vue.vite pnpm test:integration:base --grep @vue", "test:typedoc": "pnpm typedoc:generate && cd ./.typedoc && vitest run", diff --git a/turbo.json b/turbo.json index ea0fd5f3d4f..172abe15e43 100644 --- a/turbo.json +++ b/turbo.json @@ -310,17 +310,6 @@ "inputs": ["integration/**"], "outputLogs": "new-only" }, - "//#test:integration:tanstack-react-router": { - "dependsOn": [ - "@clerk/testing#build", - "@clerk/clerk-js#build", - "@clerk/tanstack-react-start#build", - "@clerk/clerk-react#build" - ], - "env": ["CLEANUP", "DEBUG", "E2E_*", "INTEGRATION_INSTANCE_KEYS"], - "inputs": ["integration/**"], - "outputLogs": "new-only" - }, "//#test:integration:vue": { "dependsOn": ["@clerk/testing#build", "@clerk/clerk-js#build", "@clerk/vue#build"], "env": ["CLEANUP", "DEBUG", "E2E_*", "INTEGRATION_INSTANCE_KEYS"], From e734408229f7bb9102ada94fe0aa3236fcf6ea8b Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Thu, 9 Oct 2025 17:06:51 -0700 Subject: [PATCH 2/5] chore: empty changeset --- .changeset/empty-elephants-push.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .changeset/empty-elephants-push.md diff --git a/.changeset/empty-elephants-push.md b/.changeset/empty-elephants-push.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/empty-elephants-push.md @@ -0,0 +1,2 @@ +--- +--- From efa2ca10db445fae61cbbaeac9e2c65da6313eac Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Fri, 10 Oct 2025 09:55:55 -0700 Subject: [PATCH 3/5] chore: trigger --- .changeset/empty-elephants-push.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.changeset/empty-elephants-push.md b/.changeset/empty-elephants-push.md index a845151cc84..3ffc8204ead 100644 --- a/.changeset/empty-elephants-push.md +++ b/.changeset/empty-elephants-push.md @@ -1,2 +1,3 @@ --- --- +s From 378898bfbab2d139d581478f2c13aa12182b129f Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Fri, 10 Oct 2025 09:56:08 -0700 Subject: [PATCH 4/5] chore: placeholder changeset --- .changeset/empty-elephants-push.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.changeset/empty-elephants-push.md b/.changeset/empty-elephants-push.md index 3ffc8204ead..a845151cc84 100644 --- a/.changeset/empty-elephants-push.md +++ b/.changeset/empty-elephants-push.md @@ -1,3 +1,2 @@ --- --- -s From 1a081073294c5796f0399024665d6a35cee38a19 Mon Sep 17 00:00:00 2001 From: wobsoriano Date: Tue, 21 Oct 2025 09:34:08 -0700 Subject: [PATCH 5/5] chore: remove tanstack router from long running apps --- integration/presets/longRunningApps.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/integration/presets/longRunningApps.ts b/integration/presets/longRunningApps.ts index 9937f08bc99..ebca49ac50a 100644 --- a/integration/presets/longRunningApps.ts +++ b/integration/presets/longRunningApps.ts @@ -64,7 +64,6 @@ export const createLongRunningApps = () => { * Tanstack apps - basic flows */ { id: 'tanstack.react-start', config: tanstack.reactStart, env: envs.withEmailCodes }, - { id: 'tanstack.react-router', config: tanstack.reactRouter, env: envs.withEmailCodes }, /** * Various apps - basic flows