From db0236cad4819fac5c1a386705acfb62a78c065f Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 001/271] dont autoconfigure react/solid vite plugin anymore --- .../framework/react/build-from-scratch.md | 12 +- docs/start/framework/react/hosting.md | 25 +- .../framework/react/migrate-from-next-js.md | 6 +- .../framework/react/static-prerendering.md | 2 + .../framework/react/tailwind-integration.md | 3 +- .../framework/solid/build-from-scratch.md | 8 +- docs/start/framework/solid/hosting.md | 28 +- .../framework/solid/tailwind-integration.md | 8 +- e2e/react-start/basic-auth/vite.config.ts | 2 + .../basic-react-query/vite.config.ts | 2 + e2e/react-start/basic-rsc/vite.config.ts | 2 + e2e/react-start/basic/vite.config.ts | 2 + e2e/react-start/clerk-basic/vite.config.ts | 2 + .../custom-basepath/vite.config.ts | 2 + .../scroll-restoration/vite.config.ts | 7 +- e2e/react-start/selective-ssr/package.json | 1 + e2e/react-start/selective-ssr/vite.config.ts | 2 + .../server-functions/vite.config.ts | 2 + e2e/react-start/server-routes/vite.config.ts | 2 + e2e/react-start/website/vite.config.ts | 2 + .../basic-tsr-config/vite.config.ts | 2 + e2e/solid-start/basic/vite.config.ts | 4 +- .../custom-basepath/vite.config.ts | 4 +- .../scroll-restoration/vite.config.ts | 4 +- e2e/solid-start/selective-ssr/vite.config.ts | 2 + .../server-functions/vite.config.ts | 2 + e2e/solid-start/server-routes/vite.config.ts | 2 + e2e/solid-start/spa-mode/vite.config.ts | 2 + e2e/solid-start/website/vite.config.ts | 4 +- examples/react/start-bare/package.json | 1 + examples/react/start-bare/vite.config.ts | 2 + examples/react/start-basic-auth/package.json | 1 + .../react/start-basic-auth/vite.config.ts | 2 + .../start-basic-react-query/vite.config.ts | 2 + examples/react/start-basic-rsc/vite.config.ts | 2 + examples/react/start-basic/vite.config.ts | 2 +- .../react/start-clerk-basic/vite.config.ts | 2 + .../start-convex-trellaux/vite.config.ts | 2 + examples/react/start-counter/package.json | 1 + examples/react/start-counter/vite.config.ts | 3 +- examples/react/start-large/package.json | 1 + examples/react/start-large/vite.config.ts | 2 + .../react/start-material-ui/vite.config.ts | 2 + .../react/start-supabase-basic/vite.config.ts | 2 + .../react/start-tailwind-v4/vite.config.ts | 2 + examples/react/start-trellaux/vite.config.ts | 2 + examples/react/start-workos/vite.config.ts | 2 + examples/solid/start-bare/vite.config.ts | 2 + .../solid/start-basic-static/vite.config.ts | 2 + examples/solid/start-basic/vite.config.ts | 2 +- packages/react-start-plugin/package.json | 2 - packages/react-start-plugin/src/index.ts | 29 +- packages/react-start-plugin/src/schema.ts | 33 - packages/solid-start-plugin/package.json | 3 +- packages/solid-start-plugin/src/index.ts | 30 +- packages/solid-start-plugin/src/schema.ts | 33 - packages/solid-start/package.json | 3 +- packages/start-plugin-core/src/index.ts | 6 +- .../src/load-env-plugin/plugin.ts | 4 +- .../src/nitro-plugin/build-sitemap.ts | 2 +- .../src/nitro-plugin/plugin.ts | 2 +- .../src/nitro-plugin/prerender.ts | 3 +- packages/start-plugin-core/src/plugin.ts | 46 +- .../resolve-virtual-entries-plugin/plugin.ts | 6 +- packages/start-plugin-core/src/schema.ts | 235 +- pnpm-lock.yaml | 2338 ++++++++++++----- 66 files changed, 2028 insertions(+), 932 deletions(-) delete mode 100644 packages/react-start-plugin/src/schema.ts delete mode 100644 packages/solid-start-plugin/src/schema.ts diff --git a/docs/start/framework/react/build-from-scratch.md b/docs/start/framework/react/build-from-scratch.md index 74989fb9ea8..8f44051fde4 100644 --- a/docs/start/framework/react/build-from-scratch.md +++ b/docs/start/framework/react/build-from-scratch.md @@ -58,13 +58,15 @@ npm i @tanstack/react-start @tanstack/react-router vite You'll also need React: ```shell -npm i react react-dom +npm i react react-dom @vitejs/plugin-react ``` +Alternatively, you can also use `@vitejs/plugin-react-oxc` or `@vitejs/plugin-react-swc`. + and some TypeScript: ```shell -npm i -D typescript @types/react @types/react-dom vite-tsconfig-paths @vitejs/plugin-react +npm i -D typescript @types/react @types/react-dom vite-tsconfig-paths ``` ## Update Configuration Files @@ -84,9 +86,6 @@ We'll then update our `package.json` to use Vite's CLI and set `"type": "module" Then configure TanStack Start's Vite plugin in `vite.config.ts`: -> [!NOTE] -> TanStack Start will stop auto-configuring React/Solid Vite plugins. You’ll get full control - choose `@vitejs/plugin-react`, `@vitejs/plugin-react-oxc`, etc. Set `customViteReactPlugin: true` to opt in to this feature right now! - ```ts // vite.config.ts import { defineConfig } from 'vite' @@ -100,7 +99,8 @@ export default defineConfig({ }, plugins: [ tsConfigPaths(), - tanstackStart({ customViteReactPlugin: true }), + tanstackStart(), + // react's vite plugin must come after start's vite plugin viteReact(), ], }) diff --git a/docs/start/framework/react/hosting.md b/docs/start/framework/react/hosting.md index aff63011e7e..383d0bd9f82 100644 --- a/docs/start/framework/react/hosting.md +++ b/docs/start/framework/react/hosting.md @@ -48,11 +48,12 @@ Set the `target` value to `'netlify'` in the TanStack Start Vite plugin in `vite ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ - plugins: [tanstackStart({ target: 'netlify' })], + plugins: [tanstackStart({ target: 'netlify' }), viteReact()], }) ``` @@ -64,11 +65,12 @@ Set the `target` value to `'vercel'` in the TanStack Start Vite plugin in `vite. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ - plugins: [tanstackStart({ target: 'vercel' })], + plugins: [tanstackStart({ target: 'vercel' }), viteReact()], }) ``` @@ -84,11 +86,12 @@ Set the `target` value to `cloudflare-module` in your `vite.config.ts` file. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ - plugins: [tanstackStart({ target: 'cloudflare-module' })], + plugins: [tanstackStart({ target: 'cloudflare-module' }), viteReact()], }) ``` @@ -114,11 +117,12 @@ Set the `target` value to `node-server` in your `vite.config.ts` file. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ - plugins: [tanstackStart({ target: 'node-server' })], + plugins: [tanstackStart({ target: 'node-server' }), viteReact()], }) ``` @@ -149,11 +153,12 @@ Set the `target` value to `bun` in your `vite.config.ts` file. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ - plugins: [tanstackStart({ target: 'bun' })], + plugins: [tanstackStart({ target: 'bun' }), viteReact()], }) ``` diff --git a/docs/start/framework/react/migrate-from-next-js.md b/docs/start/framework/react/migrate-from-next-js.md index ea080417f76..5424c5de0d3 100644 --- a/docs/start/framework/react/migrate-from-next-js.md +++ b/docs/start/framework/react/migrate-from-next-js.md @@ -85,10 +85,11 @@ Now that you've installed the necessary dependencies, update your project config ```ts // vite.config.ts -import tailwindcss from '@tailwindcss/vite' -import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' import tsconfigPaths from 'vite-tsconfig-paths' +import tailwindcss from '@tailwindcss/vite' export default defineConfig({ server: { @@ -104,6 +105,7 @@ export default defineConfig({ routesDirectory: 'src/app', // Defaults to "src/routes" }, }), + viteReact(), ], }) ``` diff --git a/docs/start/framework/react/static-prerendering.md b/docs/start/framework/react/static-prerendering.md index f48a4de28ce..4a1d36faf82 100644 --- a/docs/start/framework/react/static-prerendering.md +++ b/docs/start/framework/react/static-prerendering.md @@ -13,6 +13,7 @@ TanStack Start can prerender your application to static HTML files, which can th // vite.config.ts import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ plugins: [ @@ -53,6 +54,7 @@ export default defineConfig({ }, ], }), + viteReact(), ], }) ``` diff --git a/docs/start/framework/react/tailwind-integration.md b/docs/start/framework/react/tailwind-integration.md index 90d674ca782..b57a95fb380 100644 --- a/docs/start/framework/react/tailwind-integration.md +++ b/docs/start/framework/react/tailwind-integration.md @@ -29,12 +29,13 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' import tailwindcss from '@tailwindcss/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { port: 3000, }, - plugins: [tsConfigPaths(), tanstackStart(), tailwindcss()], + plugins: [tsConfigPaths(), tanstackStart(), viteReact(), tailwindcss()], }) ``` diff --git a/docs/start/framework/solid/build-from-scratch.md b/docs/start/framework/solid/build-from-scratch.md index b83876b70a2..54a6c7f8bd6 100644 --- a/docs/start/framework/solid/build-from-scratch.md +++ b/docs/start/framework/solid/build-from-scratch.md @@ -59,7 +59,7 @@ npm i @tanstack/solid-start @tanstack/solid-router vite You'll also need Solid: ```shell -npm i solid-js +npm i solid-js vite-plugin-solid ``` and some TypeScript: @@ -85,9 +85,6 @@ We'll then update our `package.json` to use Vite's CLI and set `"type": "module" Then configure TanStack Start's Vite plugin in `vite.config.ts`: -> [!NOTE] -> TanStack Start will stop auto-configuring React/Solid Vite plugins. You’ll get full control - choose `vite-plugin-solid`. Set `customViteSolidPlugin: true` to opt in to this feature right now! - ```ts // vite.config.ts import { defineConfig } from 'vite' @@ -101,7 +98,8 @@ export default defineConfig({ }, plugins: [ tsConfigPaths(), - tanstackStart({ customViteSolidPlugin: true }), + tanstackStart(), + // solid's vite plugin must come after start's vite plugin viteSolid({ ssr: true }), ], }) diff --git a/docs/start/framework/solid/hosting.md b/docs/start/framework/solid/hosting.md index f6d15dd1889..b4ec6b39874 100644 --- a/docs/start/framework/solid/hosting.md +++ b/docs/start/framework/solid/hosting.md @@ -48,11 +48,12 @@ Set the `target` value to `netlify` in your `vite.config.ts` file. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import { tanstackStart } from '@tanstack/solid-start/plugin/vite' export default defineConfig({ - plugins: [tanstackStart({ target: 'netlify' })], + plugins: [tanstackStart({ target: 'netlify' }), viteSolid({ ssr: true })], }) ``` @@ -64,11 +65,12 @@ Deploying your TanStack Start application to Vercel is easy and straightforward. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ - plugins: [tanstackStart({ target: 'vercel' })], + plugins: [tanstackStart({ target: 'vercel' }), viteSolid({ ssr: true })], }) ``` @@ -84,11 +86,15 @@ Set the `target` value to `cloudflare-pages` in your `vite.config.ts` file. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ - plugins: [tanstackStart({ target: 'cloudflare-module' })], + plugins: [ + tanstackStart({ target: 'cloudflare-module' }), + viteSolid({ ssr: true }), + ], }) ``` @@ -110,11 +116,12 @@ Set the `target` value to `node-server` in your `vite.config.ts` file. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ - plugins: [tanstackStart({ target: 'node-server' })], + plugins: [tanstackStart({ target: 'node-server' }), viteSolid({ ssr: true })], }) ``` @@ -142,11 +149,12 @@ Set the `target` value to `bun` in your `vite.config.ts` file. ```ts // vite.config.ts -import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ - plugins: [tanstackStart({ target: 'bun' })], + plugins: [tanstackStart({ target: 'bun' }), viteSolid({ ssr: true })], }) ``` diff --git a/docs/start/framework/solid/tailwind-integration.md b/docs/start/framework/solid/tailwind-integration.md index 8e7683acbc6..b4b23e57dee 100644 --- a/docs/start/framework/solid/tailwind-integration.md +++ b/docs/start/framework/solid/tailwind-integration.md @@ -29,12 +29,18 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import tailwindcss from '@tailwindcss/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { port: 3000, }, - plugins: [tsConfigPaths(), tanstackStart(), tailwindcss()], + plugins: [ + tsConfigPaths(), + tanstackStart(), + viteSolid({ ssr: true }), + tailwindcss(), + ], }) ``` diff --git a/e2e/react-start/basic-auth/vite.config.ts b/e2e/react-start/basic-auth/vite.config.ts index 1df337cd40d..dc57f144e4f 100644 --- a/e2e/react-start/basic-auth/vite.config.ts +++ b/e2e/react-start/basic-auth/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ plugins: [ @@ -8,5 +9,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/basic-react-query/vite.config.ts b/e2e/react-start/basic-react-query/vite.config.ts index 1df337cd40d..dc57f144e4f 100644 --- a/e2e/react-start/basic-react-query/vite.config.ts +++ b/e2e/react-start/basic-react-query/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ plugins: [ @@ -8,5 +9,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/basic-rsc/vite.config.ts b/e2e/react-start/basic-rsc/vite.config.ts index 1df337cd40d..dc57f144e4f 100644 --- a/e2e/react-start/basic-rsc/vite.config.ts +++ b/e2e/react-start/basic-rsc/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ plugins: [ @@ -8,5 +9,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/basic/vite.config.ts b/e2e/react-start/basic/vite.config.ts index 54430698260..7596e0e26fc 100644 --- a/e2e/react-start/basic/vite.config.ts +++ b/e2e/react-start/basic/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart({ tsr: { verboseFileRoutes: false } }), + viteReact(), ], }) diff --git a/e2e/react-start/clerk-basic/vite.config.ts b/e2e/react-start/clerk-basic/vite.config.ts index 1df337cd40d..dc57f144e4f 100644 --- a/e2e/react-start/clerk-basic/vite.config.ts +++ b/e2e/react-start/clerk-basic/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ plugins: [ @@ -8,5 +9,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/custom-basepath/vite.config.ts b/e2e/react-start/custom-basepath/vite.config.ts index c304ad647b5..97f11383b4a 100644 --- a/e2e/react-start/custom-basepath/vite.config.ts +++ b/e2e/react-start/custom-basepath/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ base: '/custom/basepath', @@ -12,5 +13,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/scroll-restoration/vite.config.ts b/e2e/react-start/scroll-restoration/vite.config.ts index 5b91efb7515..33948491feb 100644 --- a/e2e/react-start/scroll-restoration/vite.config.ts +++ b/e2e/react-start/scroll-restoration/vite.config.ts @@ -1,7 +1,12 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ - plugins: [tsConfigPaths({ projects: ['./tsconfig.json'] }), tanstackStart()], + plugins: [ + tsConfigPaths({ projects: ['./tsconfig.json'] }), + tanstackStart(), + viteReact(), + ], }) diff --git a/e2e/react-start/selective-ssr/package.json b/e2e/react-start/selective-ssr/package.json index 995641c88f1..016d4c48bbb 100644 --- a/e2e/react-start/selective-ssr/package.json +++ b/e2e/react-start/selective-ssr/package.json @@ -22,6 +22,7 @@ }, "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", + "@vitejs/plugin-react": "^4.3.4", "@types/node": "^22.10.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", diff --git a/e2e/react-start/selective-ssr/vite.config.ts b/e2e/react-start/selective-ssr/vite.config.ts index c3b722c89b2..04033010e8f 100644 --- a/e2e/react-start/selective-ssr/vite.config.ts +++ b/e2e/react-start/selective-ssr/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import { tanstackStart } from '@tanstack/react-start/plugin/vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/server-functions/vite.config.ts b/e2e/react-start/server-functions/vite.config.ts index 1df337cd40d..dc57f144e4f 100644 --- a/e2e/react-start/server-functions/vite.config.ts +++ b/e2e/react-start/server-functions/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ plugins: [ @@ -8,5 +9,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/server-routes/vite.config.ts b/e2e/react-start/server-routes/vite.config.ts index 1df337cd40d..dc57f144e4f 100644 --- a/e2e/react-start/server-routes/vite.config.ts +++ b/e2e/react-start/server-routes/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ plugins: [ @@ -8,5 +9,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/react-start/website/vite.config.ts b/e2e/react-start/website/vite.config.ts index a1b3d840f53..c2c28ae93b7 100644 --- a/e2e/react-start/website/vite.config.ts +++ b/e2e/react-start/website/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/e2e/solid-start/basic-tsr-config/vite.config.ts b/e2e/solid-start/basic-tsr-config/vite.config.ts index 347962b83da..e4c75cbfafa 100644 --- a/e2e/solid-start/basic-tsr-config/vite.config.ts +++ b/e2e/solid-start/basic-tsr-config/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -15,5 +16,6 @@ export default defineConfig({ srcDirectory: './src/app', }, }), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/basic/vite.config.ts b/e2e/solid-start/basic/vite.config.ts index 3af67d62ad2..1a2219f4435 100644 --- a/e2e/solid-start/basic/vite.config.ts +++ b/e2e/solid-start/basic/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -10,6 +11,7 @@ export default defineConfig({ tsConfigPaths({ projects: ['./tsconfig.json'], }), - tanstackStart({}), + tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/custom-basepath/vite.config.ts b/e2e/solid-start/custom-basepath/vite.config.ts index d6784f657cf..4f0310eddf7 100644 --- a/e2e/solid-start/custom-basepath/vite.config.ts +++ b/e2e/solid-start/custom-basepath/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ base: '/custom/basepath', @@ -11,6 +12,7 @@ export default defineConfig({ tsConfigPaths({ projects: ['./tsconfig.json'], }), - tanstackStart({}), + tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/scroll-restoration/vite.config.ts b/e2e/solid-start/scroll-restoration/vite.config.ts index 3af67d62ad2..1a2219f4435 100644 --- a/e2e/solid-start/scroll-restoration/vite.config.ts +++ b/e2e/solid-start/scroll-restoration/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -10,6 +11,7 @@ export default defineConfig({ tsConfigPaths({ projects: ['./tsconfig.json'], }), - tanstackStart({}), + tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/selective-ssr/vite.config.ts b/e2e/solid-start/selective-ssr/vite.config.ts index 151f2248f87..20ffdb3d6e5 100644 --- a/e2e/solid-start/selective-ssr/vite.config.ts +++ b/e2e/solid-start/selective-ssr/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/server-functions/vite.config.ts b/e2e/solid-start/server-functions/vite.config.ts index bae1bfaad6e..1a2219f4435 100644 --- a/e2e/solid-start/server-functions/vite.config.ts +++ b/e2e/solid-start/server-functions/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/server-routes/vite.config.ts b/e2e/solid-start/server-routes/vite.config.ts index bae1bfaad6e..1a2219f4435 100644 --- a/e2e/solid-start/server-routes/vite.config.ts +++ b/e2e/solid-start/server-routes/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/spa-mode/vite.config.ts b/e2e/solid-start/spa-mode/vite.config.ts index f14e499525f..3bad2df77eb 100644 --- a/e2e/solid-start/spa-mode/vite.config.ts +++ b/e2e/solid-start/spa-mode/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -25,5 +26,6 @@ export default defineConfig({ }, ], }), + viteSolid({ ssr: true }), ], }) diff --git a/e2e/solid-start/website/vite.config.ts b/e2e/solid-start/website/vite.config.ts index 3af67d62ad2..1a2219f4435 100644 --- a/e2e/solid-start/website/vite.config.ts +++ b/e2e/solid-start/website/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -10,6 +11,7 @@ export default defineConfig({ tsConfigPaths({ projects: ['./tsconfig.json'], }), - tanstackStart({}), + tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/examples/react/start-bare/package.json b/examples/react/start-bare/package.json index f653fe2cfb9..55443c8d778 100644 --- a/examples/react/start-bare/package.json +++ b/examples/react/start-bare/package.json @@ -20,6 +20,7 @@ "@types/node": "^22.5.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", "vite": "^6.3.5", "vite-tsconfig-paths": "^5.1.4" diff --git a/examples/react/start-bare/vite.config.ts b/examples/react/start-bare/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-bare/vite.config.ts +++ b/examples/react/start-bare/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index b216752aab2..411aba42c04 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -21,6 +21,7 @@ "tailwind-merge": "^2.6.0" }, "devDependencies": { + "@vitejs/plugin-react": "^4.3.4", "@types/node": "^22.5.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", diff --git a/examples/react/start-basic-auth/vite.config.ts b/examples/react/start-basic-auth/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-basic-auth/vite.config.ts +++ b/examples/react/start-basic-auth/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-basic-react-query/vite.config.ts b/examples/react/start-basic-react-query/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-basic-react-query/vite.config.ts +++ b/examples/react/start-basic-react-query/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-basic-rsc/vite.config.ts b/examples/react/start-basic-rsc/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-basic-rsc/vite.config.ts +++ b/examples/react/start-basic-rsc/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-basic/vite.config.ts b/examples/react/start-basic/vite.config.ts index 70067dfa49a..f10c86e79fc 100644 --- a/examples/react/start-basic/vite.config.ts +++ b/examples/react/start-basic/vite.config.ts @@ -11,7 +11,7 @@ export default defineConfig({ tsConfigPaths({ projects: ['./tsconfig.json'], }), - tanstackStart({ customViteReactPlugin: true }), + tanstackStart(), viteReact(), ], }) diff --git a/examples/react/start-clerk-basic/vite.config.ts b/examples/react/start-clerk-basic/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-clerk-basic/vite.config.ts +++ b/examples/react/start-clerk-basic/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-convex-trellaux/vite.config.ts b/examples/react/start-convex-trellaux/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-convex-trellaux/vite.config.ts +++ b/examples/react/start-convex-trellaux/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index 0ee9a8b7140..b16543d4e05 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -19,6 +19,7 @@ "@types/node": "^22.5.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", "vite": "^6.3.5" } diff --git a/examples/react/start-counter/vite.config.ts b/examples/react/start-counter/vite.config.ts index 86790438cf0..bae3acaefe5 100644 --- a/examples/react/start-counter/vite.config.ts +++ b/examples/react/start-counter/vite.config.ts @@ -1,9 +1,10 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { port: 3000, }, - plugins: [tanstackStart()], + plugins: [tanstackStart(), viteReact()], }) diff --git a/examples/react/start-large/package.json b/examples/react/start-large/package.json index eb992daa5f6..e55bae7cd01 100644 --- a/examples/react/start-large/package.json +++ b/examples/react/start-large/package.json @@ -25,6 +25,7 @@ "@types/node": "^22.5.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/start-large/vite.config.ts b/examples/react/start-large/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-large/vite.config.ts +++ b/examples/react/start-large/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-material-ui/vite.config.ts b/examples/react/start-material-ui/vite.config.ts index 1c59bcc8f98..5bd46872f12 100644 --- a/examples/react/start-material-ui/vite.config.ts +++ b/examples/react/start-material-ui/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -14,5 +15,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-supabase-basic/vite.config.ts b/examples/react/start-supabase-basic/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-supabase-basic/vite.config.ts +++ b/examples/react/start-supabase-basic/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-tailwind-v4/vite.config.ts b/examples/react/start-tailwind-v4/vite.config.ts index 6a8f14e7c01..360b4f7ddae 100644 --- a/examples/react/start-tailwind-v4/vite.config.ts +++ b/examples/react/start-tailwind-v4/vite.config.ts @@ -2,6 +2,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import tailwindcss from '@tailwindcss/vite' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -12,6 +13,7 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), tailwindcss(), ], }) diff --git a/examples/react/start-trellaux/vite.config.ts b/examples/react/start-trellaux/vite.config.ts index 1f5fd1961a3..f10c86e79fc 100644 --- a/examples/react/start-trellaux/vite.config.ts +++ b/examples/react/start-trellaux/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }) diff --git a/examples/react/start-workos/vite.config.ts b/examples/react/start-workos/vite.config.ts index cd888de96e5..fce3baa54da 100644 --- a/examples/react/start-workos/vite.config.ts +++ b/examples/react/start-workos/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite'; import tsConfigPaths from 'vite-tsconfig-paths'; import { tanstackStart } from '@tanstack/react-start/plugin/vite'; +import viteReact from '@vitejs/plugin-react'; export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteReact(), ], }); diff --git a/examples/solid/start-bare/vite.config.ts b/examples/solid/start-bare/vite.config.ts index bae1bfaad6e..1a2219f4435 100644 --- a/examples/solid/start-bare/vite.config.ts +++ b/examples/solid/start-bare/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import { tanstackStart } from '@tanstack/solid-start/plugin/vite' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -11,5 +12,6 @@ export default defineConfig({ projects: ['./tsconfig.json'], }), tanstackStart(), + viteSolid({ ssr: true }), ], }) diff --git a/examples/solid/start-basic-static/vite.config.ts b/examples/solid/start-basic-static/vite.config.ts index 213bd9189eb..2a39748970f 100644 --- a/examples/solid/start-basic-static/vite.config.ts +++ b/examples/solid/start-basic-static/vite.config.ts @@ -1,6 +1,7 @@ import { tanstackStart } from '@tanstack/solid-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' +import viteSolid from 'vite-plugin-solid' export default defineConfig({ server: { @@ -15,5 +16,6 @@ export default defineConfig({ enabled: true, }, }), + viteSolid({ ssr: true }), ], }) diff --git a/examples/solid/start-basic/vite.config.ts b/examples/solid/start-basic/vite.config.ts index 93d987e62af..1a2219f4435 100644 --- a/examples/solid/start-basic/vite.config.ts +++ b/examples/solid/start-basic/vite.config.ts @@ -11,7 +11,7 @@ export default defineConfig({ tsConfigPaths({ projects: ['./tsconfig.json'], }), - tanstackStart({ customViteSolidPlugin: true }), + tanstackStart(), viteSolid({ ssr: true }), ], }) diff --git a/packages/react-start-plugin/package.json b/packages/react-start-plugin/package.json index 4ad883f501b..62d8c3f4a63 100644 --- a/packages/react-start-plugin/package.json +++ b/packages/react-start-plugin/package.json @@ -65,11 +65,9 @@ "zod": "^3.24.2" }, "devDependencies": { - "@vitejs/plugin-react": "^4.3.4", "vite": "^6.0.0" }, "peerDependencies": { - "@vitejs/plugin-react": ">=4.3.4", "vite": ">=6.0.0" } } diff --git a/packages/react-start-plugin/src/index.ts b/packages/react-start-plugin/src/index.ts index 517f13edcba..d2c4be2081e 100644 --- a/packages/react-start-plugin/src/index.ts +++ b/packages/react-start-plugin/src/index.ts @@ -1,16 +1,9 @@ import { fileURLToPath } from 'node:url' -import viteReact from '@vitejs/plugin-react' import { TanStackStartVitePluginCore } from '@tanstack/start-plugin-core' import path from 'pathe' -import { getTanStackStartOptions } from './schema' -import type { TanStackStartInputConfig, WithReactPlugin } from './schema' +import type { TanStackStartInputConfig } from '@tanstack/start-plugin-core' import type { PluginOption } from 'vite' -export type { - TanStackStartInputConfig, - TanStackStartOutputConfig, - WithReactPlugin, -} from './schema' function hasRootExport( exportsField?: Record | string, @@ -29,22 +22,9 @@ function hasRootExport( return false } -export function TanStackStartVitePlugin( - opts?: TanStackStartInputConfig & WithReactPlugin, +export function tanstackStart( + options?: TanStackStartInputConfig, ): Array { - type OptionsWithReact = ReturnType & - WithReactPlugin - const options: OptionsWithReact = getTanStackStartOptions(opts) - - if (opts?.customViteReactPlugin !== true) { - console.warn( - `please add the vite-react plugin to your Vite config and set 'customViteReactPlugin: true'`, - ) - console.warn( - `TanStack Start will not configure the vite-react plugin in future anymore.`, - ) - } - const isInsideRouterMonoRepo = (() => { const currentDir = path.dirname(fileURLToPath(import.meta.url)) return path.basename(path.resolve(currentDir, '../../../')) === 'packages' @@ -129,8 +109,5 @@ export default createStartHandler({ }, options, ), - !opts?.customViteReactPlugin && viteReact(options.react), ] } - -export { TanStackStartVitePlugin as tanstackStart } diff --git a/packages/react-start-plugin/src/schema.ts b/packages/react-start-plugin/src/schema.ts deleted file mode 100644 index 8e7f7b73c6e..00000000000 --- a/packages/react-start-plugin/src/schema.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { z } from 'zod' -import { - createTanStackConfig, - createTanStackStartOptionsSchema, -} from '@tanstack/start-plugin-core' -import type { Options as ViteReactOptions } from '@vitejs/plugin-react' - -export type WithReactPlugin = { - react?: ViteReactOptions - customViteReactPlugin?: boolean -} - -const frameworkPlugin = { - react: z.custom().optional(), - customViteReactPlugin: z.boolean().optional().default(false), -} - -// eslint-disable-next-line unused-imports/no-unused-vars -const TanStackStartOptionsSchema = - createTanStackStartOptionsSchema(frameworkPlugin) - -const defaultConfig = createTanStackConfig(frameworkPlugin) - -export function getTanStackStartOptions(opts?: TanStackStartInputConfig) { - return defaultConfig.parse(opts) -} - -export type TanStackStartInputConfig = z.input< - typeof TanStackStartOptionsSchema -> -export type TanStackStartOutputConfig = ReturnType< - typeof getTanStackStartOptions -> diff --git a/packages/solid-start-plugin/package.json b/packages/solid-start-plugin/package.json index d5df3ad94e2..7dbaade3764 100644 --- a/packages/solid-start-plugin/package.json +++ b/packages/solid-start-plugin/package.json @@ -73,7 +73,6 @@ "vite-plugin-solid": "^2.11.6" }, "peerDependencies": { - "vite": ">=6.0.0", - "vite-plugin-solid": ">=2.11.6" + "vite": ">=6.0.0" } } diff --git a/packages/solid-start-plugin/src/index.ts b/packages/solid-start-plugin/src/index.ts index 0daf41ac1e1..7d7f0c17a13 100644 --- a/packages/solid-start-plugin/src/index.ts +++ b/packages/solid-start-plugin/src/index.ts @@ -1,31 +1,10 @@ -import viteSolid from 'vite-plugin-solid' import { TanStackStartVitePluginCore } from '@tanstack/start-plugin-core' -import { getTanStackStartOptions } from './schema' +import type { TanStackStartInputConfig } from '@tanstack/start-plugin-core' import type { PluginOption } from 'vite' -import type { TanStackStartInputConfig, WithSolidPlugin } from './schema' -export type { - TanStackStartInputConfig, - TanStackStartOutputConfig, - WithSolidPlugin, -} from './schema' - -export function TanStackStartVitePlugin( - opts?: TanStackStartInputConfig & WithSolidPlugin, +export function tanstackStart( + options?: TanStackStartInputConfig, ): Array { - type OptionsWithSolid = ReturnType & - WithSolidPlugin - const options: OptionsWithSolid = getTanStackStartOptions(opts) - - if (opts?.customViteSolidPlugin !== true) { - console.warn( - `please add the vite-solid plugin to your Vite config and set 'customViteSolidPlugin: true'`, - ) - console.warn( - `TanStack Start will not configure the vite-solid plugin in future anymore.`, - ) - } - return [ TanStackStartVitePluginCore( { @@ -62,8 +41,5 @@ export default createStartHandler({ }, options, ), - !opts?.customViteSolidPlugin && viteSolid({ ...options.solid, ssr: true }), ] } - -export { TanStackStartVitePlugin as tanstackStart } diff --git a/packages/solid-start-plugin/src/schema.ts b/packages/solid-start-plugin/src/schema.ts deleted file mode 100644 index 4b8887f6623..00000000000 --- a/packages/solid-start-plugin/src/schema.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { z } from 'zod' -import { - createTanStackConfig, - createTanStackStartOptionsSchema, -} from '@tanstack/start-plugin-core' -import type { Options as ViteSolidOptions } from 'vite-plugin-solid' - -export type WithSolidPlugin = { - solid?: ViteSolidOptions - customViteSolidPlugin?: boolean -} - -const frameworkPlugin = { - solid: z.custom().optional(), - customViteSolidPlugin: z.boolean().optional().default(false), -} - -// eslint-disable-next-line unused-imports/no-unused-vars -const TanStackStartOptionsSchema = - createTanStackStartOptionsSchema(frameworkPlugin) - -const defaultConfig = createTanStackConfig(frameworkPlugin) - -export function getTanStackStartOptions(opts?: TanStackStartInputConfig) { - return defaultConfig.parse(opts) -} - -export type TanStackStartInputConfig = z.input< - typeof TanStackStartOptionsSchema -> -export type TanStackStartOutputConfig = ReturnType< - typeof getTanStackStartOptions -> diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index 67e41e67608..7b399f688d8 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -111,8 +111,7 @@ }, "peerDependencies": { "solid-js": ">=1.0.0", - "vite": ">=6.0.0", - "vite-plugin-solid": ">=2.11.6" + "vite": ">=6.0.0" }, "devDependencies": { "esbuild": "^0.25.0" diff --git a/packages/start-plugin-core/src/index.ts b/packages/start-plugin-core/src/index.ts index fe6dd7fa90b..65c036daec2 100644 --- a/packages/start-plugin-core/src/index.ts +++ b/packages/start-plugin-core/src/index.ts @@ -1,8 +1,4 @@ -export { - createTanStackConfig, - createTanStackStartOptionsSchema, - pageSchema, -} from './schema' +export type { TanStackStartInputConfig } from './schema' export { TanStackStartVitePluginCore } from './plugin' export { resolveViteId } from './utils' diff --git a/packages/start-plugin-core/src/load-env-plugin/plugin.ts b/packages/start-plugin-core/src/load-env-plugin/plugin.ts index a17e1abde00..546aec5adee 100644 --- a/packages/start-plugin-core/src/load-env-plugin/plugin.ts +++ b/packages/start-plugin-core/src/load-env-plugin/plugin.ts @@ -1,11 +1,11 @@ import * as vite from 'vite' -import type { TanStackStartOutputConfig } from '../plugin' +import type { TanStackStartOutputConfig } from '../schema' export function loadEnvPlugin( startOpts: TanStackStartOutputConfig, ): vite.Plugin { return { - name: 'tanstack-vite-plugin-nitro-load-env', + name: 'tanstack-start-core:load-env', enforce: 'pre', config(userConfig, envConfig) { Object.assign( diff --git a/packages/start-plugin-core/src/nitro-plugin/build-sitemap.ts b/packages/start-plugin-core/src/nitro-plugin/build-sitemap.ts index 723a128480e..d5753af701e 100644 --- a/packages/start-plugin-core/src/nitro-plugin/build-sitemap.ts +++ b/packages/start-plugin-core/src/nitro-plugin/build-sitemap.ts @@ -2,7 +2,7 @@ import { writeFileSync } from 'node:fs' import path from 'node:path' import { create } from 'xmlbuilder2' import { createLogger } from '../utils' -import type { TanStackStartOutputConfig } from '../plugin' +import type { TanStackStartOutputConfig } from '../schema' import type { XMLBuilder } from 'xmlbuilder2/lib/interfaces' export type SitemapUrl = { diff --git a/packages/start-plugin-core/src/nitro-plugin/plugin.ts b/packages/start-plugin-core/src/nitro-plugin/plugin.ts index a753416426d..22ac5c76942 100644 --- a/packages/start-plugin-core/src/nitro-plugin/plugin.ts +++ b/packages/start-plugin-core/src/nitro-plugin/plugin.ts @@ -10,6 +10,7 @@ import { } from '../constants' import { buildSitemap } from './build-sitemap' import { prerender } from './prerender' +import type { TanStackStartOutputConfig } from '../schema' import type { EnvironmentOptions, PluginOption, @@ -17,7 +18,6 @@ import type { ViteBuilder, } from 'vite' import type { Nitro, NitroConfig } from 'nitropack' -import type { TanStackStartOutputConfig } from '../plugin' export function nitroPlugin( options: TanStackStartOutputConfig, diff --git a/packages/start-plugin-core/src/nitro-plugin/prerender.ts b/packages/start-plugin-core/src/nitro-plugin/prerender.ts index adc60db7e13..cd6b832bba3 100644 --- a/packages/start-plugin-core/src/nitro-plugin/prerender.ts +++ b/packages/start-plugin-core/src/nitro-plugin/prerender.ts @@ -10,8 +10,7 @@ import { createLogger } from '../utils' import { Queue } from './queue' import type { ViteBuilder } from 'vite' import type { $Fetch, Nitro } from 'nitropack' -import type { TanStackStartOutputConfig } from '../plugin' -import type { Page } from '../schema' +import type { Page, TanStackStartOutputConfig } from '../schema' export async function prerender({ options, diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index ef205ff6c1d..802ddccae6e 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -5,7 +5,6 @@ import { VIRTUAL_MODULES } from '@tanstack/start-server-core' import { TanStackServerFnPluginEnv } from '@tanstack/server-functions-plugin' import * as vite from 'vite' import { crawlFrameworkPkgs } from 'vitefu' -import { createTanStackConfig } from './schema' import { nitroPlugin } from './nitro-plugin/plugin' import { startManifestPlugin } from './start-manifest-plugin/plugin' import { startCompilerPlugin } from './start-compiler-plugin' @@ -18,24 +17,14 @@ import { tanStackStartRouter } from './start-router-plugin/plugin' import { loadEnvPlugin } from './load-env-plugin/plugin' import { devServerPlugin } from './dev-server-plugin/plugin' import { resolveVirtualEntriesPlugin } from './resolve-virtual-entries-plugin/plugin' -import type { createTanStackStartOptionsSchema } from './schema' +import { parseStartConfig } from './schema' +import type { + TanStackStartInputConfig, + TanStackStartOutputConfig, +} from './schema' import type { PluginOption, Rollup } from 'vite' -import type { z } from 'zod' import type { CompileStartFrameworkOptions } from './compilers' -export type TanStackStartInputConfig = z.input< - ReturnType -> - -const defaultConfig = createTanStackConfig() -export function getTanStackStartOptions(opts?: TanStackStartInputConfig) { - return defaultConfig.parse(opts) -} - -export type TanStackStartOutputConfig = ReturnType< - typeof getTanStackStartOptions -> - export interface TanStackStartVitePluginCoreOptions { framework: CompileStartFrameworkOptions getVirtualServerRootHandler: (ctx: { @@ -54,18 +43,19 @@ export interface TanStackStartVitePluginCoreOptions { let ssrBundle: Rollup.OutputBundle export function TanStackStartVitePluginCore( - opts: TanStackStartVitePluginCoreOptions, - startConfig: TanStackStartOutputConfig, + corePluginOpts: TanStackStartVitePluginCoreOptions, + startPluginOpts: TanStackStartInputConfig, ): Array { + const startConfig = parseStartConfig(startPluginOpts) return [ tanStackStartRouter({ ...startConfig.tsr, - target: opts.framework, + target: corePluginOpts.framework, autoCodeSplitting: true, }), - resolveVirtualEntriesPlugin(opts, startConfig), + resolveVirtualEntriesPlugin(corePluginOpts, startConfig), { - name: 'tanstack-start-core:config-client', + name: 'tanstack-start-core:config', async config(viteConfig, { command }) { const viteAppBase = trimPathRight(viteConfig.base || '/') globalThis.TSS_APP_BASE = viteAppBase @@ -83,8 +73,8 @@ export function TanStackStartVitePluginCore( return nitroOutputPublicDir })() - const startPackageName = `@tanstack/${opts.framework}-start` - const routerPackageName = `@tanstack/${opts.framework}-router` + const startPackageName = `@tanstack/${corePluginOpts.framework}-start` + const routerPackageName = `@tanstack/${corePluginOpts.framework}-router` const additionalOptimizeDeps = { include: new Set(), @@ -108,7 +98,7 @@ export function TanStackStartVitePluginCore( const peerDependencies = pkgJson['peerDependencies'] if (peerDependencies) { - const internalResult = opts.crawlPackages?.({ + const internalResult = corePluginOpts.crawlPackages?.({ name: pkgJson.name, peerDependencies, exports: pkgJson.exports, @@ -179,7 +169,7 @@ export function TanStackStartVitePluginCore( resolve: { noExternal: [ '@tanstack/start**', - `@tanstack/${opts.framework}-start**`, + `@tanstack/${corePluginOpts.framework}-start**`, ...Object.values(VIRTUAL_MODULES), startPackageName, ...result.ssr.noExternal.sort(), @@ -211,7 +201,7 @@ export function TanStackStartVitePluginCore( }, }, // N.B. TanStackStartCompilerPlugin must be before the TanStackServerFnPluginEnv - startCompilerPlugin(opts.framework, { + startCompilerPlugin(corePluginOpts.framework, { client: { envName: VITE_ENVIRONMENT_NAMES.client }, server: { envName: VITE_ENVIRONMENT_NAMES.server }, }), @@ -221,14 +211,14 @@ export function TanStackStartVitePluginCore( manifestVirtualImportId: VIRTUAL_MODULES.serverFnManifest, client: { getRuntimeCode: () => - `import { createClientRpc } from '@tanstack/${opts.framework}-start/server-functions-client'`, + `import { createClientRpc } from '@tanstack/${corePluginOpts.framework}-start/server-functions-client'`, replacer: (d) => `createClientRpc('${d.functionId}', '${startConfig.serverFns.base}')`, envName: VITE_ENVIRONMENT_NAMES.client, }, server: { getRuntimeCode: () => - `import { createServerRpc } from '@tanstack/${opts.framework}-start/server-functions-server'`, + `import { createServerRpc } from '@tanstack/${corePluginOpts.framework}-start/server-functions-server'`, replacer: (d) => `createServerRpc('${d.functionId}', '${startConfig.serverFns.base}', ${d.fn})`, envName: VITE_ENVIRONMENT_NAMES.server, diff --git a/packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts b/packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts index 3046781a4a4..7c517358e9b 100644 --- a/packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts +++ b/packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts @@ -1,9 +1,7 @@ import path from 'node:path' import * as vite from 'vite' -import type { - TanStackStartOutputConfig, - TanStackStartVitePluginCoreOptions, -} from '../plugin' +import type { TanStackStartVitePluginCoreOptions } from '../plugin' +import type { TanStackStartOutputConfig } from '../schema' export function resolveVirtualEntriesPlugin( opts: TanStackStartVitePluginCoreOptions, diff --git a/packages/start-plugin-core/src/schema.ts b/packages/start-plugin-core/src/schema.ts index 2740a498342..d02b6c66aa1 100644 --- a/packages/start-plugin-core/src/schema.ts +++ b/packages/start-plugin-core/src/schema.ts @@ -11,132 +11,67 @@ const tsrConfig = configSchema srcDirectory: z.string().optional().default('src'), }) -export function createTanStackConfig< - TFrameworkPlugin extends Record, ->(frameworkPlugin?: TFrameworkPlugin) { - const schema = createTanStackStartOptionsSchema(frameworkPlugin) +export function parseStartConfig( + opts?: z.input, +) { + const options = tanstackStartOptionsSchema.parse(opts) + + const srcDirectory = options.tsr.srcDirectory + + const routesDirectory = + options.tsr.routesDirectory ?? path.join(srcDirectory, 'routes') + + const generatedRouteTree = + options.tsr.generatedRouteTree ?? + path.join(srcDirectory, 'routeTree.gen.ts') + + const clientEntryPath = (() => { + if (options.client.entry) { + return path.join(srcDirectory, options.client.entry) + } + + if (existsSync(path.join(srcDirectory, 'client.tsx'))) { + return path.join(srcDirectory, 'client.tsx') + } + + return '/~start/default-client-entry' + })() + + const serverEntryPath = (() => { + if (options.server.entry) { + return path.join(srcDirectory, options.server.entry) + } + + if (existsSync(path.join(srcDirectory, 'server.tsx'))) { + return path.join(srcDirectory, 'server.tsx') + } + + if (existsSync(path.join(srcDirectory, 'server.ts'))) { + return path.join(srcDirectory, 'server.ts') + } + + if (existsSync(path.join(srcDirectory, 'server.js'))) { + return path.join(srcDirectory, 'server.js') + } + + return '/~start/default-server-entry' + })() return { - schema, - parse: (opts?: z.input) => { - const options = schema.parse(opts) - - const srcDirectory = options.tsr.srcDirectory - - const routesDirectory = - options.tsr.routesDirectory ?? path.join(srcDirectory, 'routes') - - const generatedRouteTree = - options.tsr.generatedRouteTree ?? - path.join(srcDirectory, 'routeTree.gen.ts') - - const clientEntryPath = (() => { - if (options.client.entry) { - return path.join(srcDirectory, options.client.entry) - } - - if (existsSync(path.join(srcDirectory, 'client.tsx'))) { - return path.join(srcDirectory, 'client.tsx') - } - - return '/~start/default-client-entry' - })() - - const serverEntryPath = (() => { - if (options.server.entry) { - return path.join(srcDirectory, options.server.entry) - } - - if (existsSync(path.join(srcDirectory, 'server.tsx'))) { - return path.join(srcDirectory, 'server.tsx') - } - - if (existsSync(path.join(srcDirectory, 'server.ts'))) { - return path.join(srcDirectory, 'server.ts') - } - - if (existsSync(path.join(srcDirectory, 'server.js'))) { - return path.join(srcDirectory, 'server.js') - } - - return '/~start/default-server-entry' - })() - - return { - ...options, - tsr: { - ...options.tsr, - ...getConfig({ - ...options.tsr, - routesDirectory, - generatedRouteTree, - }), - }, - clientEntryPath, - serverEntryPath, - } + ...options, + tsr: { + ...options.tsr, + ...getConfig({ + ...options.tsr, + routesDirectory, + generatedRouteTree, + }), }, + clientEntryPath, + serverEntryPath, } } -export function createTanStackStartOptionsSchema( - frameworkPlugin: Record = {}, -) { - return z - .object({ - root: z.string().optional().default(process.cwd()), - target: z.custom().optional(), - ...frameworkPlugin, - tsr: tsrConfig.optional().default({}), - client: z - .object({ - entry: z.string().optional(), - base: z.string().optional().default('/_build'), - }) - .optional() - .default({}), - server: z - .object({ - entry: z.string().optional(), - }) - .optional() - .default({}), - serverFns: z - .object({ - base: z.string().optional().default('/_serverFn'), - }) - .optional() - .default({}), - public: z - .object({ - dir: z.string().optional().default('public'), - base: z.string().optional().default('/'), - }) - .optional() - .default({}), - pages: z.array(pageSchema).optional().default([]), - sitemap: z - .object({ - enabled: z.boolean().optional().default(true), - host: z.string().optional(), - outputPath: z.string().optional().default('sitemap.xml'), - }) - .optional(), - prerender: z - .object({ - enabled: z.boolean().optional(), - concurrency: z.number().optional(), - filter: z.function().args(pageSchema).returns(z.any()).optional(), - failOnError: z.boolean().optional(), - }) - .and(pagePrerenderOptionsSchema.optional()) - .optional(), - spa: spaSchema.optional(), - }) - .optional() - .default({}) -} - const pageSitemapOptionsSchema = z.object({ exclude: z.boolean().optional(), priority: z.number().min(0).max(1).optional(), @@ -214,8 +149,66 @@ const spaSchema = z.object({ })), }) -export const pageSchema = pageBaseSchema.extend({ +const pageSchema = pageBaseSchema.extend({ prerender: pagePrerenderOptionsSchema.optional(), }) +const tanstackStartOptionsSchema = z + .object({ + root: z.string().optional().default(process.cwd()), + target: z.custom().optional(), + tsr: tsrConfig.optional().default({}), + client: z + .object({ + entry: z.string().optional(), + base: z.string().optional().default('/_build'), + }) + .optional() + .default({}), + server: z + .object({ + entry: z.string().optional(), + }) + .optional() + .default({}), + serverFns: z + .object({ + base: z.string().optional().default('/_serverFn'), + }) + .optional() + .default({}), + public: z + .object({ + dir: z.string().optional().default('public'), + base: z.string().optional().default('/'), + }) + .optional() + .default({}), + pages: z.array(pageSchema).optional().default([]), + sitemap: z + .object({ + enabled: z.boolean().optional().default(true), + host: z.string().optional(), + outputPath: z.string().optional().default('sitemap.xml'), + }) + .optional(), + prerender: z + .object({ + enabled: z.boolean().optional(), + concurrency: z.number().optional(), + filter: z.function().args(pageSchema).returns(z.any()).optional(), + failOnError: z.boolean().optional(), + }) + .and(pagePrerenderOptionsSchema.optional()) + .optional(), + spa: spaSchema.optional(), + }) + .optional() + .default({}) + export type Page = z.infer + +export type TanStackStartInputConfig = z.input< + typeof tanstackStartOptionsSchema +> +export type TanStackStartOutputConfig = ReturnType diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7cb7b615160..08088d42604 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,13 +58,13 @@ importers: version: 0.17.3 '@eslint-react/eslint-plugin': specifier: ^1.26.2 - version: 1.26.2(eslint@9.22.0(jiti@2.4.2))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2) + version: 1.26.2(eslint@9.22.0(jiti@2.5.1))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2) '@playwright/test': specifier: ^1.52.0 version: 1.52.0 '@tanstack/config': specifier: ^0.16.1 - version: 0.16.1(@types/node@22.13.4)(esbuild@0.25.4)(eslint@9.22.0(jiti@2.4.2))(rollup@4.41.1)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@tanstack/react-query': specifier: 5.66.0 version: 5.66.0(react@19.0.0) @@ -79,19 +79,19 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitest/browser': specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) + version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/ui': specifier: ^3.0.6 version: 3.0.6(vitest@3.0.6) eslint: specifier: ^9.22.0 - version: 9.22.0(jiti@2.4.2) + version: 9.22.0(jiti@2.5.1) eslint-plugin-react-hooks: specifier: ^5.1.0 - version: 5.1.0(eslint@9.22.0(jiti@2.4.2)) + version: 5.1.0(eslint@9.22.0(jiti@2.5.1)) eslint-plugin-unused-imports: specifier: ^4.1.4 - version: 4.1.4(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.22.0(jiti@2.4.2)) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1)) fast-glob: specifier: ^3.3.3 version: 3.3.3 @@ -145,10 +145,10 @@ importers: version: typescript@5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vitest: specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/e2e-utils: devDependencies: @@ -197,10 +197,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-esbuild-file-based: dependencies: @@ -295,13 +295,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) combinate: specifier: ^1.1.11 version: 1.1.11 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-file-based-code-splitting: dependencies: @@ -347,10 +347,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query: dependencies: @@ -399,10 +399,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query-file-based: dependencies: @@ -457,10 +457,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-scroll-restoration: dependencies: @@ -506,10 +506,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-file-based: dependencies: @@ -561,10 +561,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-named-export-config-file-based: dependencies: @@ -616,10 +616,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/generator-cli-only: dependencies: @@ -665,10 +665,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/js-only-file-based: dependencies: @@ -714,10 +714,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/rspack-basic-file-based: dependencies: @@ -876,10 +876,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/sentry-integration: dependencies: @@ -931,10 +931,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-start/basic: dependencies: @@ -961,7 +961,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -983,7 +983,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1001,7 +1001,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-auth: dependencies: @@ -1034,7 +1034,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -1053,7 +1053,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1068,7 +1068,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-react-query: dependencies: @@ -1104,7 +1104,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -1123,7 +1123,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1138,7 +1138,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-rsc: dependencies: @@ -1168,7 +1168,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@types/react': specifier: ^19.0.8 @@ -1178,7 +1178,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1193,7 +1193,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-tsr-config: dependencies: @@ -1211,7 +1211,7 @@ importers: version: 19.0.0(react@19.0.0) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': specifier: workspace:^ @@ -1254,7 +1254,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1276,7 +1276,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1294,7 +1294,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/scroll-restoration: dependencies: @@ -1324,7 +1324,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1346,7 +1346,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1364,7 +1364,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/selective-ssr: dependencies: @@ -1385,10 +1385,10 @@ importers: version: 19.0.0(react@19.0.0) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1405,6 +1405,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) postcss: specifier: ^8.5.1 version: 8.5.3 @@ -1443,7 +1446,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1468,7 +1471,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1486,7 +1489,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/server-routes: dependencies: @@ -1516,7 +1519,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1541,7 +1544,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1559,7 +1562,7 @@ importers: version: 5.8.3 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/spa-mode: dependencies: @@ -1602,10 +1605,10 @@ importers: version: 5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/virtual-routes: dependencies: @@ -1635,7 +1638,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1657,7 +1660,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1675,7 +1678,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/website: dependencies: @@ -1721,7 +1724,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1736,10 +1739,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic: dependencies: @@ -1773,10 +1776,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-esbuild-file-based: dependencies: @@ -1859,10 +1862,10 @@ importers: version: 1.1.11 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-file-based-code-splitting: dependencies: @@ -1899,10 +1902,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-scroll-restoration: dependencies: @@ -1939,10 +1942,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query: dependencies: @@ -1982,10 +1985,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query-file-based: dependencies: @@ -2031,10 +2034,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-file-based: dependencies: @@ -2077,10 +2080,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-named-export-config-file-based: dependencies: @@ -2123,10 +2126,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/rspack-basic-file-based: dependencies: @@ -2264,10 +2267,10 @@ importers: version: link:../../e2e-utils vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/basic: dependencies: @@ -2291,7 +2294,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2322,10 +2325,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/basic-tsr-config: dependencies: @@ -2343,7 +2346,7 @@ importers: version: 1.9.5 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': specifier: workspace:^ @@ -2356,7 +2359,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/custom-basepath: dependencies: @@ -2380,7 +2383,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2411,10 +2414,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/scroll-restoration: dependencies: @@ -2441,7 +2444,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2472,10 +2475,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/selective-ssr: dependencies: @@ -2506,10 +2509,10 @@ importers: version: 5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/server-functions: dependencies: @@ -2536,7 +2539,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2570,10 +2573,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/server-routes: dependencies: @@ -2600,7 +2603,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2634,10 +2637,10 @@ importers: version: 5.8.3 vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.7(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/spa-mode: dependencies: @@ -2671,10 +2674,10 @@ importers: version: 5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/website: dependencies: @@ -2698,7 +2701,7 @@ importers: version: 2.6.0 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2726,10 +2729,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/authenticated-routes: dependencies: @@ -2772,13 +2775,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/authenticated-routes-firebase: dependencies: @@ -2827,13 +2830,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic: dependencies: @@ -2870,13 +2873,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-default-search-params: dependencies: @@ -2919,13 +2922,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-devtools-panel: dependencies: @@ -2965,13 +2968,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-file-based: dependencies: @@ -3014,13 +3017,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-non-nested-devtools: dependencies: @@ -3057,13 +3060,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query: dependencies: @@ -3106,13 +3109,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query-file-based: dependencies: @@ -3161,13 +3164,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-file-based: dependencies: @@ -3213,13 +3216,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.5.2 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.8.3 version: 5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-streaming-file-based: dependencies: @@ -3265,13 +3268,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-file-based: dependencies: @@ -3317,13 +3320,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-inside-file-based: dependencies: @@ -3369,13 +3372,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/deferred-data: dependencies: @@ -3415,13 +3418,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink: dependencies: @@ -3464,13 +3467,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-file-based: dependencies: @@ -3516,13 +3519,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query: dependencies: @@ -3571,13 +3574,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query-file-based: dependencies: @@ -3629,13 +3632,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/large-file-based: dependencies: @@ -3681,13 +3684,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/location-masking: dependencies: @@ -3730,13 +3733,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/navigation-blocking: dependencies: @@ -3776,13 +3779,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart: dependencies: @@ -3816,13 +3819,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-esbuild-file-based: dependencies: @@ -3899,13 +3902,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-rspack-file-based: dependencies: @@ -3979,16 +3982,16 @@ importers: version: 19.0.3(@types/react@19.0.8) html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1) + version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1) + version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) typescript: specifier: ^5.7.2 version: 5.8.2 webpack: specifier: ^5.97.1 - version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 version: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) @@ -4034,16 +4037,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/app: dependencies: @@ -4074,7 +4077,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4089,10 +4092,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/post-feature: dependencies: @@ -4120,16 +4123,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/post-query: dependencies: @@ -4145,13 +4148,13 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/router-monorepo-react-query/packages/router: dependencies: @@ -4191,16 +4194,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple: dependencies: @@ -4234,16 +4237,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy: dependencies: @@ -4277,16 +4280,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/app: dependencies: @@ -4314,7 +4317,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4329,10 +4332,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/post-feature: dependencies: @@ -4357,16 +4360,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/router: dependencies: @@ -4400,16 +4403,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/app: dependencies: @@ -4437,7 +4440,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4452,10 +4455,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/post-feature: dependencies: @@ -4477,16 +4480,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/router: dependencies: @@ -4520,16 +4523,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/scroll-restoration: dependencies: @@ -4566,13 +4569,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/search-validator-adapters: dependencies: @@ -4636,13 +4639,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-bare: dependencies: @@ -4674,15 +4677,18 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic: dependencies: @@ -4719,7 +4725,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.6.0 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4734,10 +4740,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-auth: dependencies: @@ -4778,6 +4784,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4792,10 +4801,68 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite-tsconfig-paths: + specifier: ^5.1.4 + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + + examples/react/start-basic-nitro: + dependencies: + '@tanstack/react-router': + specifier: workspace:* + version: link:../../../packages/react-router + '@tanstack/react-router-devtools': + specifier: workspace:^ + version: link:../../../packages/react-router-devtools + '@tanstack/react-start': + specifier: workspace:* + version: link:../../../packages/react-start + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + tailwind-merge: + specifier: ^2.6.0 + version: 2.6.0 + zod: + specifier: ^3.24.2 + version: 3.25.57 + devDependencies: + '@types/node': + specifier: ^22.5.4 + version: 22.13.4 + '@types/react': + specifier: ^19.0.8 + version: 19.0.8 + '@types/react-dom': + specifier: ^19.0.3 + version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.6.0 + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.5.6) + nitro: + specifier: npm:nitro-nightly + version: nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + postcss: + specifier: ^8.5.1 + version: 8.5.6 + tailwindcss: + specifier: ^3.4.17 + version: 3.4.17 + typescript: + specifier: ^5.7.2 + version: 5.8.3 + vite: + specifier: 6.3.5 + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-react-query: dependencies: @@ -4853,10 +4920,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-rsc: dependencies: @@ -4905,10 +4972,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-static: dependencies: @@ -4957,10 +5024,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.3 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-clerk-basic: dependencies: @@ -5012,10 +5079,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-convex-trellaux: dependencies: @@ -5094,10 +5161,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-counter: dependencies: @@ -5126,12 +5193,15 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-large: dependencies: @@ -5172,6 +5242,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -5186,10 +5259,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-material-ui: dependencies: @@ -5241,10 +5314,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-supabase-basic: dependencies: @@ -5293,10 +5366,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-tailwind-v4: dependencies: @@ -5324,7 +5397,7 @@ importers: devDependencies: '@tailwindcss/vite': specifier: ^4.1.6 - version: 4.1.6(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.1.6(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@types/node': specifier: ^22.5.4 version: 22.13.4 @@ -5342,10 +5415,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-trellaux: dependencies: @@ -5415,10 +5488,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-workos: dependencies: @@ -5470,10 +5543,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/view-transitions: dependencies: @@ -5516,13 +5589,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-framer-motion: dependencies: @@ -5565,13 +5638,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc: dependencies: @@ -5626,13 +5699,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) tsx: specifier: ^4.20.3 version: 4.20.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc-react-query: dependencies: @@ -5696,13 +5769,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) tsx: specifier: ^4.20.3 version: 4.20.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/solid/basic: dependencies: @@ -5739,10 +5812,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-devtools-panel: dependencies: @@ -5773,10 +5846,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-file-based: dependencies: @@ -5813,10 +5886,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-non-nested-devtools: dependencies: @@ -5853,10 +5926,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query: dependencies: @@ -5896,10 +5969,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query-file-based: dependencies: @@ -5942,10 +6015,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-ssr-streaming-file-based: dependencies: @@ -6000,10 +6073,10 @@ importers: version: 5.8.3 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/kitchen-sink-file-based: dependencies: @@ -6043,10 +6116,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/quickstart-file-based: dependencies: @@ -6083,10 +6156,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-bare: dependencies: @@ -6123,13 +6196,13 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-basic: dependencies: @@ -6169,13 +6242,13 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.7 - version: 2.11.7(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-basic-static: dependencies: @@ -6215,10 +6288,10 @@ importers: version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.3 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/arktype-adapter: devDependencies: @@ -6276,23 +6349,23 @@ importers: version: 7.20.7 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/eslint-plugin-router: dependencies: '@typescript-eslint/utils': specifier: ^8.23.0 - version: 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + version: 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) devDependencies: '@typescript-eslint/rule-tester': specifier: ^8.23.0 - version: 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + version: 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) combinate: specifier: ^1.1.11 version: 1.1.11 eslint: specifier: ^9.22.0 - version: 9.22.0(jiti@2.4.2) + version: 9.22.0(jiti@2.5.1) packages/history: {} @@ -6325,7 +6398,7 @@ importers: version: 16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) combinate: specifier: ^1.1.11 version: 1.1.11 @@ -6353,7 +6426,7 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6374,7 +6447,7 @@ importers: version: link:../router-core '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6401,7 +6474,7 @@ importers: version: link:../start-server-functions-server '@vitejs/plugin-react': specifier: '>=4.3.4' - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6410,11 +6483,11 @@ importers: version: 19.0.0(react@19.0.0) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: esbuild: specifier: ^0.25.0 - version: 0.25.4 + version: 0.25.8 packages/react-start-client: dependencies: @@ -6448,7 +6521,7 @@ importers: version: 16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/react-start-plugin: dependencies: @@ -6462,12 +6535,9 @@ importers: specifier: ^3.24.2 version: 3.25.57 devDependencies: - '@vitejs/plugin-react': - specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/react-start-server: dependencies: @@ -6491,14 +6561,14 @@ importers: version: 1.13.0 isbot: specifier: ^5.1.22 - version: 5.1.22 + version: 5.1.28 devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) esbuild: specifier: ^0.25.0 - version: 0.25.4 + version: 0.25.8 react: specifier: ^19.0.0 version: 19.0.0 @@ -6573,7 +6643,7 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6604,7 +6674,7 @@ importers: devDependencies: vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/router-generator: dependencies: @@ -6686,13 +6756,13 @@ importers: version: 2.3.4 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) webpack: specifier: '>=5.92.0' - version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4) + version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) zod: specifier: ^3.24.2 version: 3.25.57 @@ -6834,13 +6904,13 @@ importers: version: 1.1.11 eslint-plugin-solid: specifier: ^0.14.5 - version: 0.14.5(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + version: 0.14.5(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) solid-js: specifier: ^1.9.5 version: 1.9.5 vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) zod: specifier: ^3.23.8 version: 3.25.57 @@ -6859,7 +6929,7 @@ importers: version: 1.9.5 vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start: dependencies: @@ -6883,14 +6953,11 @@ importers: version: 1.9.5 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vite-plugin-solid: - specifier: '>=2.11.6' - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: esbuild: specifier: ^0.25.0 - version: 0.25.4 + version: 0.25.8 packages/solid-start-client: dependencies: @@ -6924,7 +6991,7 @@ importers: version: 6.6.3 vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start-plugin: dependencies: @@ -6937,10 +7004,10 @@ importers: devDependencies: vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.6 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start-server: dependencies: @@ -6964,11 +7031,11 @@ importers: version: link:../start-server-core isbot: specifier: ^5.1.22 - version: 5.1.22 + version: 5.1.28 devDependencies: esbuild: specifier: ^0.25.0 - version: 0.25.4 + version: 0.25.8 solid-js: specifier: ^1.9.5 version: 1.9.5 @@ -6977,7 +7044,7 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.2 - version: 2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/start-client-core: dependencies: @@ -7052,7 +7119,7 @@ importers: version: 1.6.1 vitefu: specifier: ^1.1.1 - version: 1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) xmlbuilder2: specifier: ^3.1.1 version: 3.1.1 @@ -7062,7 +7129,7 @@ importers: devDependencies: vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-core: dependencies: @@ -7083,7 +7150,7 @@ importers: version: 1.13.0 isbot: specifier: ^5.1.22 - version: 5.1.22 + version: 5.1.28 tiny-invariant: specifier: ^1.3.3 version: 1.3.3 @@ -7099,13 +7166,13 @@ importers: version: link:../directive-functions-plugin esbuild: specifier: ^0.25.0 - version: 0.25.4 + version: 0.25.8 typescript: specifier: ^5.7.2 version: 5.8.2 vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-functions-client: dependencies: @@ -7617,6 +7684,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.8': + resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.23.0': resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} engines: {node: '>=18'} @@ -7635,6 +7708,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.8': + resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.23.0': resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} engines: {node: '>=18'} @@ -7653,6 +7732,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.8': + resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.23.0': resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} engines: {node: '>=18'} @@ -7671,6 +7756,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.8': + resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.23.0': resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} engines: {node: '>=18'} @@ -7689,6 +7780,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.8': + resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.23.0': resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} engines: {node: '>=18'} @@ -7707,6 +7804,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.8': + resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.23.0': resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} engines: {node: '>=18'} @@ -7725,6 +7828,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.8': + resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.23.0': resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} engines: {node: '>=18'} @@ -7743,6 +7852,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.8': + resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.23.0': resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} engines: {node: '>=18'} @@ -7761,6 +7876,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.8': + resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.23.0': resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} engines: {node: '>=18'} @@ -7779,6 +7900,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.8': + resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.23.0': resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} engines: {node: '>=18'} @@ -7797,6 +7924,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.8': + resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.23.0': resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} engines: {node: '>=18'} @@ -7815,6 +7948,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.8': + resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.23.0': resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} engines: {node: '>=18'} @@ -7833,6 +7972,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.8': + resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.23.0': resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} engines: {node: '>=18'} @@ -7851,6 +7996,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.8': + resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.23.0': resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} engines: {node: '>=18'} @@ -7869,6 +8020,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.8': + resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.23.0': resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} engines: {node: '>=18'} @@ -7887,6 +8044,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.8': + resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.23.0': resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} engines: {node: '>=18'} @@ -7905,12 +8068,24 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.8': + resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.4': resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.8': + resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.23.0': resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} engines: {node: '>=18'} @@ -7929,6 +8104,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.8': + resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.23.0': resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==} engines: {node: '>=18'} @@ -7947,6 +8128,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.8': + resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.23.0': resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} engines: {node: '>=18'} @@ -7965,6 +8152,18 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.8': + resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.8': + resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.23.0': resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} engines: {node: '>=18'} @@ -7983,6 +8182,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.8': + resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.23.0': resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} engines: {node: '>=18'} @@ -8001,6 +8206,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.8': + resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.23.0': resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} engines: {node: '>=18'} @@ -8019,6 +8230,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.8': + resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.23.0': resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} engines: {node: '>=18'} @@ -8037,6 +8254,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.8': + resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.1': resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -8840,6 +9063,9 @@ packages: resolution: {integrity: sha512-aQypoot0HPSJa6gDPEPTntc1GT6QINrSbgRlRhadGW2WaYqUK3tK4Bw9SBMZXhmxd3GeAlZjVcODHgiu+THY7A==} engines: {node: '>=18'} + '@poppinss/exception@1.2.2': + resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} + '@prisma/client@5.22.0': resolution: {integrity: sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==} engines: {node: '>=16.13'} @@ -9581,6 +9807,15 @@ packages: rollup: optional: true + '@rollup/plugin-commonjs@28.0.6': + resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/plugin-inject@5.0.5': resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} @@ -9640,101 +9875,201 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.46.2': + resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.41.1': resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.46.2': + resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.41.1': resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.46.2': + resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.41.1': resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.46.2': + resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.41.1': resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==} cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.46.2': + resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.41.1': resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==} cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.46.2': + resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.41.1': resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.41.1': resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.46.2': + resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.41.1': resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.46.2': + resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.41.1': resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.46.2': + resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.41.1': resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==} cpu: [loong64] os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==} cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-ppc64-gnu@4.46.2': + resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.41.1': resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.46.2': + resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-riscv64-musl@4.41.1': resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-musl@4.46.2': + resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.41.1': resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==} cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.46.2': + resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.41.1': resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.46.2': + resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.41.1': resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.46.2': + resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.41.1': resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.46.2': + resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.41.1': resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.46.2': + resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.41.1': resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.46.2': + resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} + cpu: [x64] + os: [win32] + '@rsbuild/core@1.2.4': resolution: {integrity: sha512-GPn4TLW9nv7OgmbSBs9Col3dNr55CEDoeoGLl1B0pszyj9yI3s4ArVWVo/R5oXrRa9sDmA/T54rsb2r3trnttw==} engines: {node: '>=16.7.0'} @@ -10493,6 +10828,9 @@ packages: '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/express-serve-static-core@4.19.6': resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} @@ -10517,6 +10855,9 @@ packages: '@types/http-proxy@1.17.15': resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} + '@types/http-proxy@1.17.16': + resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} + '@types/js-cookie@3.0.6': resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} @@ -10707,6 +11048,11 @@ packages: engines: {node: '>=18'} hasBin: true + '@vercel/nft@0.30.0': + resolution: {integrity: sha512-xVye7Z0riD9czsMuEJYpFqm2FR33r3euYaFzuEPCoUtYuDwmus3rJfKtcFU7Df+pgj8p4zs78x5lOWYoLNr+7Q==} + engines: {node: '>=18'} + hasBin: true + '@vitejs/plugin-react@4.3.4': resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} engines: {node: ^14.18.0 || >=16.0.0} @@ -10953,6 +11299,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -11244,6 +11595,14 @@ packages: magicast: optional: true + c12@3.2.0: + resolution: {integrity: sha512-ixkEtbYafL56E6HiFuonMm1ZjoKtIo7TH68/uiEq4DAwv9NcUX2nJ95F8TrbMeNjqIkZpruo3ojXQJ+MGG5gcQ==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -11590,13 +11949,25 @@ packages: resolution: {integrity: sha512-onMB0OkDjkXunhdW9htFjEhqrD54+M94i6ackoUkjHKbRnXdyEyKRelp4nJ1kAz32+s27jP1FsebpJCVl0BsvA==} engines: {node: '>=18.0'} - cross-spawn@7.0.6: + croner@9.1.0: + resolution: {integrity: sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==} + engines: {node: '>=18.0'} + + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} + crossws@0.4.1: + resolution: {integrity: sha512-E7WKBcHVhAVrY6JYD5kteNqVq1GSZxqGrdSiwXR9at+XHi43HJoCQKXcCczR5LBnBquFZPsB3o7HklulKoBU5w==} + peerDependencies: + srvx: '>=0.7.1' + peerDependenciesMeta: + srvx: + optional: true + css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} @@ -11889,6 +12260,10 @@ packages: resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} engines: {node: '>=12'} + dotenv@17.2.1: + resolution: {integrity: sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==} + engines: {node: '>=12'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -12013,6 +12388,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.8: + resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -12249,8 +12629,8 @@ packages: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} engines: {node: '>= 0.10.0'} - exsolve@1.0.5: - resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -12304,6 +12684,14 @@ packages: picomatch: optional: true + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} @@ -12311,6 +12699,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + fetchdts@0.1.5: + resolution: {integrity: sha512-GCxyHdCCUm56atms+sIjOsAENvhebk3HAM1CfzgKCgMRjPUylpkkPmNknsaXe1gDRqM3cJbMhpkXMhCzXSE+Jg==} + fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -12609,6 +13000,15 @@ packages: h3@1.15.3: resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==} + h3@2.0.0-beta.2: + resolution: {integrity: sha512-OhNyXpQoYbPVJelgKRGF/6mQxV8I2jyfueN0Q9F0D/j4qBXpu8A4bKp5MPTYH7AwmkP1hUi3o4JvjIxrFmwpDg==} + engines: {node: '>=20.11.1'} + peerDependencies: + crossws: ^0.4.1 + peerDependenciesMeta: + crossws: + optional: true + handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -13019,10 +13419,6 @@ packages: isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isbot@5.1.22: - resolution: {integrity: sha512-RqCFY3cJy3c2y1I+rMn81cfzAR4XJwfPBC+M8kffUjbPzxApzyyv7Tbm1C/gXXq2dSCuD238pKFEWlQMTWsTFw==} - engines: {node: '>=18'} - isbot@5.1.28: resolution: {integrity: sha512-qrOp4g3xj8YNse4biorv6O5ZShwsJM0trsoda4y7j/Su7ZtTTfVXFzbKkpgcSoDrHS8FcTuUwcU04YimZlZOxw==} engines: {node: '>=18'} @@ -13061,6 +13457,10 @@ packages: resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} @@ -13632,6 +14032,22 @@ packages: resolution: {integrity: sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==} engines: {node: ^14.16.0 || >=16.0.0} + nitro-nightly@3.0.0-20250731-072721.7ed89146: + resolution: {integrity: sha512-gBmRjtNZ9PTEPDUMHsHbDn2Ohb/6+8fLpiQHNviJPowfVWlYRScpjFLtRd89tO+CDlKDR5H1KSFPRIb/CaOpbQ==} + engines: {node: '>=20.11.1'} + hasBin: true + peerDependencies: + rolldown: '*' + vite: 6.3.5 + xml2js: ^0.6.2 + peerDependenciesMeta: + rolldown: + optional: true + vite: + optional: true + xml2js: + optional: true + nitropack@2.11.12: resolution: {integrity: sha512-e2AdQrEY1IVoNTdyjfEQV93xkqz4SQxAMR0xWF8mZUUHxMLm6S4nPzpscjksmT4OdUxl0N8/DCaGjKQ9ghdodA==} engines: {node: ^16.11.0 || >=17.0.0} @@ -13772,8 +14188,8 @@ packages: ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - ohash@1.1.4: - resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} + ohash@1.1.6: + resolution: {integrity: sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==} ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} @@ -14004,6 +14420,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -14022,6 +14442,9 @@ packages: pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + pkg-types@2.2.0: + resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} + playwright-core@1.52.0: resolution: {integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==} engines: {node: '>=18'} @@ -14083,6 +14506,10 @@ packages: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + precinct@12.2.0: resolution: {integrity: sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==} engines: {node: '>=18'} @@ -14111,6 +14538,10 @@ packages: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} + pretty-bytes@7.0.0: + resolution: {integrity: sha512-U5otLYPR3L0SVjHGrkEUx5mf7MxV2ceXeE7VwWPk+hyzC5drNohsOGNPDZqxCqyX1lkbEN4kl1LiI8QFd7r0ZA==} + engines: {node: '>=20'} + pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -14457,11 +14888,32 @@ packages: rollup: optional: true + rollup-plugin-visualizer@6.0.3: + resolution: {integrity: sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + rolldown: 1.x || ^1.0.0-beta + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + rollup@4.41.1: resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.46.2: + resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rou3@0.7.3: + resolution: {integrity: sha512-KKenF/hB2iIhS1ohj226LT+/8uKCBpSMqeS4V1UPN9vad99uLoyIhrULRRB1skaB40LQHcBlSsAi3sT8MaoDDQ==} + rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} @@ -14690,6 +15142,10 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + spawn-command@0.0.2: resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} @@ -14719,6 +15175,10 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + srvx@0.8.2: + resolution: {integrity: sha512-anC1+7B6tryHQd4lFVSDZIfZ1QwJwqm5h1iveKwC1E40PA8nOD50hEt7+AlUoGc9jW3OdmztWBqf4yHCdCPdRQ==} + engines: {node: '>=20.16.0'} + stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} @@ -14943,6 +15403,10 @@ packages: resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + tinypool@1.0.2: resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -15174,12 +15638,19 @@ packages: resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} engines: {node: '>=18.17'} + undici@7.13.0: + resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} + engines: {node: '>=20.18.1'} + unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} unenv@2.0.0-rc.17: resolution: {integrity: sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==} + unenv@2.0.0-rc.19: + resolution: {integrity: sha512-t/OMHBNAkknVCI7bVB9OWjUUAwhVv9vsPIAGnNUxnu3FxPQN11rjh0sksLMzc3g7IlTgvHmOTl4JM7JHpcv5wA==} + unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} @@ -15196,6 +15667,10 @@ packages: resolution: {integrity: sha512-1YWzPj6wYhtwHE+9LxRlyqP4DiRrhGfJxdtH475im8ktyZXO3jHj/3PZ97zDdvkYoovFdi0K4SKl3a7l92v3sQ==} engines: {node: '>=18.12.0'} + unimport@5.2.0: + resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==} + engines: {node: '>=18.12.0'} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -15231,6 +15706,10 @@ packages: resolution: {integrity: sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg==} engines: {node: '>=18.12.0'} + unplugin@2.3.5: + resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} + engines: {node: '>=18.12.0'} + unstorage@1.16.0: resolution: {integrity: sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==} peerDependencies: @@ -15290,6 +15769,65 @@ packages: uploadthing: optional: true + unstorage@1.16.1: + resolution: {integrity: sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.6.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 || ^7.0.0 + '@deno/kv': '>=0.9.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.1' + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + untun@0.1.3: resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true @@ -15428,18 +15966,8 @@ packages: peerDependencies: vite: 6.3.5 - vite-plugin-solid@2.11.6: - resolution: {integrity: sha512-Sl5CTqJTGyEeOsmdH6BOgalIZlwH3t4/y0RQuFLMGnvWMBvxb4+lq7x3BSiAw6etf0QexfNJW7HSOO/Qf7pigg==} - peerDependencies: - '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* - solid-js: ^1.7.2 - vite: 6.3.5 - peerDependenciesMeta: - '@testing-library/jest-dom': - optional: true - - vite-plugin-solid@2.11.7: - resolution: {integrity: sha512-5TgK1RnE449g0Ryxb9BXqem89RSy7fE8XGVCo+Gw84IHgPuPVP7nYNP6WBVAaY/0xw+OqfdQee+kusL0y3XYNg==} + vite-plugin-solid@2.11.8: + resolution: {integrity: sha512-hFrCxBfv3B1BmFqnJF4JOCYpjrmi/zwyeKjcomQ0khh8HFyQ8SbuBWQ7zGojfrz6HUOBFrJBNySDi/JgAHytWg==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 @@ -15496,12 +16024,44 @@ packages: yaml: optional: true - vitefu@1.0.5: - resolution: {integrity: sha512-h4Vflt9gxODPFNGPwp4zAMZRpZR7eslzwH2c5hn5kNZ5rhnKyRJ50U+yGCdc2IRaBs8O4haIgLNGrV5CrpMsCA==} + vite@7.0.6: + resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true peerDependencies: - vite: 6.3.5 + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: - vite: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: optional: true vitefu@1.1.1: @@ -15801,10 +16361,17 @@ packages: resolution: {integrity: sha512-fusrlIMLeRvTFYLUjJ9KzlGC3N+6MOPJ68HNj/yJv2nz7zq8t4HEviLms2gkdRPUS7F5rZ5n+pYx9r88m6IE1g==} engines: {node: '>=18'} + youch-core@0.3.3: + resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} + youch@4.1.0-beta.7: resolution: {integrity: sha512-HUn0M24AUTMvjdkoMtH8fJz2FEd+k1xvtR9EoTrDUoVUi6o7xl5X+pST/vjk4T3GEQo2mJ9FlAvhWBm8dIdD4g==} engines: {node: '>=18'} + youch@4.1.0-beta.8: + resolution: {integrity: sha512-rY2A2lSF7zC+l7HH9Mq+83D1dLlsPnEvy8jTouzaptDZM6geqZ3aJe/b7ULCwRURPtWV3vbDjA2DDMdoBol0HQ==} + engines: {node: '>=18'} + zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -16376,6 +16943,9 @@ snapshots: '@esbuild/aix-ppc64@0.25.4': optional: true + '@esbuild/aix-ppc64@0.25.8': + optional: true + '@esbuild/android-arm64@0.23.0': optional: true @@ -16385,6 +16955,9 @@ snapshots: '@esbuild/android-arm64@0.25.4': optional: true + '@esbuild/android-arm64@0.25.8': + optional: true + '@esbuild/android-arm@0.23.0': optional: true @@ -16394,6 +16967,9 @@ snapshots: '@esbuild/android-arm@0.25.4': optional: true + '@esbuild/android-arm@0.25.8': + optional: true + '@esbuild/android-x64@0.23.0': optional: true @@ -16403,6 +16979,9 @@ snapshots: '@esbuild/android-x64@0.25.4': optional: true + '@esbuild/android-x64@0.25.8': + optional: true + '@esbuild/darwin-arm64@0.23.0': optional: true @@ -16412,6 +16991,9 @@ snapshots: '@esbuild/darwin-arm64@0.25.4': optional: true + '@esbuild/darwin-arm64@0.25.8': + optional: true + '@esbuild/darwin-x64@0.23.0': optional: true @@ -16421,6 +17003,9 @@ snapshots: '@esbuild/darwin-x64@0.25.4': optional: true + '@esbuild/darwin-x64@0.25.8': + optional: true + '@esbuild/freebsd-arm64@0.23.0': optional: true @@ -16430,6 +17015,9 @@ snapshots: '@esbuild/freebsd-arm64@0.25.4': optional: true + '@esbuild/freebsd-arm64@0.25.8': + optional: true + '@esbuild/freebsd-x64@0.23.0': optional: true @@ -16439,6 +17027,9 @@ snapshots: '@esbuild/freebsd-x64@0.25.4': optional: true + '@esbuild/freebsd-x64@0.25.8': + optional: true + '@esbuild/linux-arm64@0.23.0': optional: true @@ -16448,6 +17039,9 @@ snapshots: '@esbuild/linux-arm64@0.25.4': optional: true + '@esbuild/linux-arm64@0.25.8': + optional: true + '@esbuild/linux-arm@0.23.0': optional: true @@ -16457,6 +17051,9 @@ snapshots: '@esbuild/linux-arm@0.25.4': optional: true + '@esbuild/linux-arm@0.25.8': + optional: true + '@esbuild/linux-ia32@0.23.0': optional: true @@ -16466,6 +17063,9 @@ snapshots: '@esbuild/linux-ia32@0.25.4': optional: true + '@esbuild/linux-ia32@0.25.8': + optional: true + '@esbuild/linux-loong64@0.23.0': optional: true @@ -16475,6 +17075,9 @@ snapshots: '@esbuild/linux-loong64@0.25.4': optional: true + '@esbuild/linux-loong64@0.25.8': + optional: true + '@esbuild/linux-mips64el@0.23.0': optional: true @@ -16484,6 +17087,9 @@ snapshots: '@esbuild/linux-mips64el@0.25.4': optional: true + '@esbuild/linux-mips64el@0.25.8': + optional: true + '@esbuild/linux-ppc64@0.23.0': optional: true @@ -16493,6 +17099,9 @@ snapshots: '@esbuild/linux-ppc64@0.25.4': optional: true + '@esbuild/linux-ppc64@0.25.8': + optional: true + '@esbuild/linux-riscv64@0.23.0': optional: true @@ -16502,6 +17111,9 @@ snapshots: '@esbuild/linux-riscv64@0.25.4': optional: true + '@esbuild/linux-riscv64@0.25.8': + optional: true + '@esbuild/linux-s390x@0.23.0': optional: true @@ -16511,6 +17123,9 @@ snapshots: '@esbuild/linux-s390x@0.25.4': optional: true + '@esbuild/linux-s390x@0.25.8': + optional: true + '@esbuild/linux-x64@0.23.0': optional: true @@ -16520,9 +17135,15 @@ snapshots: '@esbuild/linux-x64@0.25.4': optional: true + '@esbuild/linux-x64@0.25.8': + optional: true + '@esbuild/netbsd-arm64@0.25.4': optional: true + '@esbuild/netbsd-arm64@0.25.8': + optional: true + '@esbuild/netbsd-x64@0.23.0': optional: true @@ -16532,6 +17153,9 @@ snapshots: '@esbuild/netbsd-x64@0.25.4': optional: true + '@esbuild/netbsd-x64@0.25.8': + optional: true + '@esbuild/openbsd-arm64@0.23.0': optional: true @@ -16541,6 +17165,9 @@ snapshots: '@esbuild/openbsd-arm64@0.25.4': optional: true + '@esbuild/openbsd-arm64@0.25.8': + optional: true + '@esbuild/openbsd-x64@0.23.0': optional: true @@ -16550,6 +17177,12 @@ snapshots: '@esbuild/openbsd-x64@0.25.4': optional: true + '@esbuild/openbsd-x64@0.25.8': + optional: true + + '@esbuild/openharmony-arm64@0.25.8': + optional: true + '@esbuild/sunos-x64@0.23.0': optional: true @@ -16559,6 +17192,9 @@ snapshots: '@esbuild/sunos-x64@0.25.4': optional: true + '@esbuild/sunos-x64@0.25.8': + optional: true + '@esbuild/win32-arm64@0.23.0': optional: true @@ -16568,6 +17204,9 @@ snapshots: '@esbuild/win32-arm64@0.25.4': optional: true + '@esbuild/win32-arm64@0.25.8': + optional: true + '@esbuild/win32-ia32@0.23.0': optional: true @@ -16577,6 +17216,9 @@ snapshots: '@esbuild/win32-ia32@0.25.4': optional: true + '@esbuild/win32-ia32@0.25.8': + optional: true + '@esbuild/win32-x64@0.23.0': optional: true @@ -16586,19 +17228,22 @@ snapshots: '@esbuild/win32-x64@0.25.4': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.22.0(jiti@2.4.2))': + '@esbuild/win32-x64@0.25.8': + optional: true + + '@eslint-community/eslint-utils@4.4.1(eslint@9.22.0(jiti@2.5.1))': dependencies: - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint-react/ast@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@eslint-react/ast@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-react/eff': 1.26.2 '@typescript-eslint/types': 8.23.0 '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) string-ts: 2.2.1 ts-pattern: 5.6.2 transitivePeerDependencies: @@ -16606,17 +17251,17 @@ snapshots: - supports-color - typescript - '@eslint-react/core@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@eslint-react/core@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 - '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) birecord: 0.1.1 ts-pattern: 5.6.2 transitivePeerDependencies: @@ -16626,45 +17271,45 @@ snapshots: '@eslint-react/eff@1.26.2': {} - '@eslint-react/eslint-plugin@1.26.2(eslint@9.22.0(jiti@2.4.2))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2)': + '@eslint-react/eslint-plugin@1.26.2(eslint@9.22.0(jiti@2.5.1))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2)': dependencies: '@eslint-react/eff': 1.26.2 - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 - '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) - eslint-plugin-react-debug: 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint-plugin-react-dom: 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint-plugin-react-hooks-extra: 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint-plugin-react-naming-convention: 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint-plugin-react-web-api: 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint-plugin-react-x: 1.26.2(eslint@9.22.0(jiti@2.4.2))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) + eslint-plugin-react-debug: 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-dom: 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-hooks-extra: 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-naming-convention: 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-web-api: 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-react-x: 1.26.2(eslint@9.22.0(jiti@2.5.1))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2) optionalDependencies: typescript: 5.9.2 transitivePeerDependencies: - supports-color - ts-api-utils - '@eslint-react/jsx@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@eslint-react/jsx@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) ts-pattern: 5.6.2 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/shared@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@eslint-react/shared@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-react/eff': 1.26.2 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) picomatch: 4.0.2 ts-pattern: 5.6.2 transitivePeerDependencies: @@ -16672,13 +17317,13 @@ snapshots: - supports-color - typescript - '@eslint-react/var@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@eslint-react/var@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 '@typescript-eslint/scope-manager': 8.23.0 '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) string-ts: 2.2.1 ts-pattern: 5.6.2 transitivePeerDependencies: @@ -17639,6 +18284,8 @@ snapshots: '@poppinss/exception@1.2.1': {} + '@poppinss/exception@1.2.2': {} + '@prisma/client@5.22.0(prisma@5.22.0)': optionalDependencies: prisma: 5.22.0 @@ -18404,6 +19051,10 @@ snapshots: optionalDependencies: rollup: 4.41.1 + '@rollup/plugin-alias@5.1.1(rollup@4.46.2)': + optionalDependencies: + rollup: 4.46.2 + '@rollup/plugin-commonjs@28.0.3(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -18416,6 +19067,18 @@ snapshots: optionalDependencies: rollup: 4.41.1 + '@rollup/plugin-commonjs@28.0.6(rollup@4.46.2)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) + commondir: 1.0.1 + estree-walker: 2.0.2 + fdir: 6.4.6(picomatch@4.0.3) + is-reference: 1.2.1 + magic-string: 0.30.17 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.46.2 + '@rollup/plugin-inject@5.0.5(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -18424,12 +19087,26 @@ snapshots: optionalDependencies: rollup: 4.41.1 + '@rollup/plugin-inject@5.0.5(rollup@4.46.2)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) + estree-walker: 2.0.2 + magic-string: 0.30.17 + optionalDependencies: + rollup: 4.46.2 + '@rollup/plugin-json@6.1.0(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) optionalDependencies: rollup: 4.41.1 + '@rollup/plugin-json@6.1.0(rollup@4.46.2)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) + optionalDependencies: + rollup: 4.46.2 + '@rollup/plugin-node-resolve@16.0.1(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -18440,6 +19117,16 @@ snapshots: optionalDependencies: rollup: 4.41.1 + '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.2)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.10 + optionalDependencies: + rollup: 4.46.2 + '@rollup/plugin-replace@6.0.2(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -18447,6 +19134,13 @@ snapshots: optionalDependencies: rollup: 4.41.1 + '@rollup/plugin-replace@6.0.2(rollup@4.46.2)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) + magic-string: 0.30.17 + optionalDependencies: + rollup: 4.46.2 + '@rollup/plugin-terser@0.4.4(rollup@4.41.1)': dependencies: serialize-javascript: 6.0.2 @@ -18455,6 +19149,14 @@ snapshots: optionalDependencies: rollup: 4.41.1 + '@rollup/plugin-terser@0.4.4(rollup@4.46.2)': + dependencies: + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.37.0 + optionalDependencies: + rollup: 4.46.2 + '@rollup/pluginutils@5.1.4(rollup@4.41.1)': dependencies: '@types/estree': 1.0.7 @@ -18463,66 +19165,134 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/rollup-android-arm-eabi@4.41.1': - optional: true - + '@rollup/pluginutils@5.1.4(rollup@4.46.2)': + dependencies: + '@types/estree': 1.0.7 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.46.2 + + '@rollup/rollup-android-arm-eabi@4.41.1': + optional: true + + '@rollup/rollup-android-arm-eabi@4.46.2': + optional: true + '@rollup/rollup-android-arm64@4.41.1': optional: true + '@rollup/rollup-android-arm64@4.46.2': + optional: true + '@rollup/rollup-darwin-arm64@4.41.1': optional: true + '@rollup/rollup-darwin-arm64@4.46.2': + optional: true + '@rollup/rollup-darwin-x64@4.41.1': optional: true + '@rollup/rollup-darwin-x64@4.46.2': + optional: true + '@rollup/rollup-freebsd-arm64@4.41.1': optional: true + '@rollup/rollup-freebsd-arm64@4.46.2': + optional: true + '@rollup/rollup-freebsd-x64@4.41.1': optional: true + '@rollup/rollup-freebsd-x64@4.46.2': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.41.1': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.41.1': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.46.2': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.41.1': optional: true + '@rollup/rollup-linux-arm64-gnu@4.46.2': + optional: true + '@rollup/rollup-linux-arm64-musl@4.41.1': optional: true + '@rollup/rollup-linux-arm64-musl@4.46.2': + optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.41.1': optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': optional: true + '@rollup/rollup-linux-ppc64-gnu@4.46.2': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.41.1': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.46.2': + optional: true + '@rollup/rollup-linux-riscv64-musl@4.41.1': optional: true + '@rollup/rollup-linux-riscv64-musl@4.46.2': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.41.1': optional: true + '@rollup/rollup-linux-s390x-gnu@4.46.2': + optional: true + '@rollup/rollup-linux-x64-gnu@4.41.1': optional: true + '@rollup/rollup-linux-x64-gnu@4.46.2': + optional: true + '@rollup/rollup-linux-x64-musl@4.41.1': optional: true + '@rollup/rollup-linux-x64-musl@4.46.2': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.41.1': optional: true + '@rollup/rollup-win32-arm64-msvc@4.46.2': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.41.1': optional: true + '@rollup/rollup-win32-ia32-msvc@4.46.2': + optional: true + '@rollup/rollup-win32-x64-msvc@4.41.1': optional: true + '@rollup/rollup-win32-x64-msvc@4.46.2': + optional: true + '@rsbuild/core@1.2.4': dependencies: '@rspack/core': 1.2.2(@swc/helpers@0.5.15) @@ -18962,9 +19732,9 @@ snapshots: '@stablelib/base64@1.0.1': {} - '@stylistic/eslint-plugin-js@2.13.0(eslint@9.22.0(jiti@2.4.2))': + '@stylistic/eslint-plugin-js@2.13.0(eslint@9.22.0(jiti@2.5.1))': dependencies: - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -19137,39 +19907,39 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.6 '@tailwindcss/oxide-win32-x64-msvc': 4.1.6 - '@tailwindcss/vite@4.1.6(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@tailwindcss/vite@4.1.6(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@tailwindcss/node': 4.1.6 '@tailwindcss/oxide': 4.1.6 tailwindcss: 4.1.6 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - '@tanstack/config@0.16.1(@types/node@22.13.4)(esbuild@0.25.4)(eslint@9.22.0(jiti@2.4.2))(rollup@4.41.1)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@tanstack/config@0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@commitlint/parse': 19.5.0 '@eslint/js': 9.22.0 - '@stylistic/eslint-plugin-js': 2.13.0(eslint@9.22.0(jiti@2.4.2)) + '@stylistic/eslint-plugin-js': 2.13.0(eslint@9.22.0(jiti@2.5.1)) commander: 13.1.0 - esbuild-register: 3.6.0(esbuild@0.25.4) - eslint-plugin-import-x: 4.6.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint-plugin-n: 17.15.1(eslint@9.22.0(jiti@2.4.2)) + esbuild-register: 3.6.0(esbuild@0.25.8) + eslint-plugin-import-x: 4.6.1(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint-plugin-n: 17.15.1(eslint@9.22.0(jiti@2.5.1)) globals: 15.14.0 interpret: 3.1.1 jsonfile: 6.1.0 liftoff: 5.0.0 minimist: 1.2.8 - rollup-plugin-preserve-directives: 0.4.0(rollup@4.41.1) + rollup-plugin-preserve-directives: 0.4.0(rollup@4.46.2) semver: 7.7.2 simple-git: 3.27.0 typedoc: 0.27.6(typescript@5.9.2) typedoc-plugin-frontmatter: 1.1.2(typedoc-plugin-markdown@4.4.1(typedoc@0.27.6(typescript@5.9.2))) typedoc-plugin-markdown: 4.4.1(typedoc@0.27.6(typescript@5.9.2)) - typescript-eslint: 8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + typescript-eslint: 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) v8flags: 4.0.1 - vite-plugin-dts: 4.0.3(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - vite-plugin-externalize-deps: 0.9.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - vite-tsconfig-paths: 5.1.4(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - vue-eslint-parser: 9.4.3(eslint@9.22.0(jiti@2.4.2)) + vite-plugin-dts: 4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-plugin-externalize-deps: 0.9.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-tsconfig-paths: 5.1.4(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vue-eslint-parser: 9.4.3(eslint@9.22.0(jiti@2.5.1)) transitivePeerDependencies: - '@types/node' - esbuild @@ -19375,6 +20145,8 @@ snapshots: '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} + '@types/express-serve-static-core@4.19.6': dependencies: '@types/node': 22.13.4 @@ -19410,6 +20182,10 @@ snapshots: dependencies: '@types/node': 22.13.4 + '@types/http-proxy@1.17.16': + dependencies: + '@types/node': 22.13.4 + '@types/js-cookie@3.0.6': {} '@types/json-schema@7.0.15': {} @@ -19513,15 +20289,15 @@ snapshots: '@types/node': 22.13.4 optional: true - '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/parser': 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.22.0 - '@typescript-eslint/type-utils': 8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/utils': 8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.22.0 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -19530,24 +20306,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 8.22.0 '@typescript-eslint/types': 8.22.0 '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.9.2) '@typescript-eslint/visitor-keys': 8.22.0 debug: 4.4.0 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/rule-tester@8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/rule-tester@8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) ajv: 6.12.6 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 semver: 7.7.2 @@ -19565,23 +20341,23 @@ snapshots: '@typescript-eslint/types': 8.23.0 '@typescript-eslint/visitor-keys': 8.23.0 - '@typescript-eslint/type-utils@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.0 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) ts-api-utils: 2.0.1(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.0 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) ts-api-utils: 2.0.1(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: @@ -19619,24 +20395,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/utils@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.22.0 '@typescript-eslint/types': 8.22.0 '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2)': + '@typescript-eslint/utils@8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.23.0 '@typescript-eslint/types': 8.23.0 '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -19655,6 +20431,25 @@ snapshots: dependencies: '@mapbox/node-pre-gyp': 2.0.0 '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + acorn: 8.15.0 + acorn-import-attributes: 1.9.5(acorn@8.15.0) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 10.4.5 + graceful-fs: 4.2.11 + node-gyp-build: 4.8.4 + picomatch: 4.0.2 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + '@vercel/nft@0.30.0(rollup@4.46.2)': + dependencies: + '@mapbox/node-pre-gyp': 2.0.0 + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) acorn: 8.14.1 acorn-import-attributes: 1.9.5(acorn@8.14.1) async-sema: 3.1.1 @@ -19663,25 +20458,36 @@ snapshots: glob: 10.4.5 graceful-fs: 4.2.11 node-gyp-build: 4.8.4 - picomatch: 4.0.2 + picomatch: 4.0.3 resolve-from: 5.0.0 transitivePeerDependencies: - encoding - rollup - supports-color - '@vitejs/plugin-react@4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitejs/plugin-react@4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + dependencies: + '@babel/core': 7.27.4 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.27.4) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.27.4) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-react@4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.4 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.27.4) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.27.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitejs/plugin-react@4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.7) @@ -19689,21 +20495,21 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.19 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6)': + '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@vitest/utils': 3.0.6 magic-string: 0.30.17 msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vitest: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) ws: 8.18.0 optionalDependencies: playwright: 1.52.0 @@ -19721,14 +20527,14 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitest/mocker@3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.6 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) '@vitest/pretty-format@3.0.6': dependencies: @@ -19758,7 +20564,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.13 tinyrainbow: 2.0.0 - vitest: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vitest: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) '@vitest/utils@3.0.6': dependencies: @@ -19800,7 +20606,7 @@ snapshots: '@vue/shared': 3.5.14 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.5.3 + postcss: 8.5.6 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.14': @@ -19917,19 +20723,19 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.97.1)': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': dependencies: - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.97.1)': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': dependencies: - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': dependencies: - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) optionalDependencies: webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1) @@ -20008,12 +20814,22 @@ snapshots: dependencies: acorn: 8.14.1 + acorn-import-attributes@1.9.5(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: acorn: 8.14.1 + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn@8.14.1: {} + acorn@8.15.0: {} + agent-base@6.0.2: dependencies: debug: 4.4.0 @@ -20187,6 +21003,16 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 + autoprefixer@10.4.20(postcss@8.5.6): + dependencies: + browserslist: 4.24.4 + caniuse-lite: 1.0.30001696 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + axios@1.9.0: dependencies: follow-redirects: 1.15.9 @@ -20339,7 +21165,7 @@ snapshots: confbox: 0.2.2 defu: 6.1.4 dotenv: 16.5.0 - exsolve: 1.0.5 + exsolve: 1.0.7 giget: 2.0.0 jiti: 2.4.2 ohash: 2.0.11 @@ -20350,6 +21176,23 @@ snapshots: optionalDependencies: magicast: 0.3.5 + c12@3.2.0(magicast@0.3.5): + dependencies: + chokidar: 4.0.3 + confbox: 0.2.2 + defu: 6.1.4 + dotenv: 17.2.1 + exsolve: 1.0.7 + giget: 2.0.0 + jiti: 2.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + pkg-types: 2.2.0 + rc9: 2.1.2 + optionalDependencies: + magicast: 0.3.5 + cac@6.7.14: {} call-bind-apply-helpers@1.0.1: @@ -20692,6 +21535,8 @@ snapshots: croner@9.0.0: {} + croner@9.1.0: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -20702,6 +21547,10 @@ snapshots: dependencies: uncrypto: 0.1.3 + crossws@0.4.1(srvx@0.8.2): + optionalDependencies: + srvx: 0.8.2 + css-select@4.3.0: dependencies: boolbase: 1.0.0 @@ -20827,11 +21676,11 @@ snapshots: dependencies: node-source-walk: 7.0.1 - detective-postcss@7.0.1(postcss@8.5.3): + detective-postcss@7.0.1(postcss@8.5.6): dependencies: is-url: 1.2.4 - postcss: 8.5.3 - postcss-values-parser: 6.0.2(postcss@8.5.3) + postcss: 8.5.6 + postcss-values-parser: 6.0.2(postcss@8.5.6) detective-sass@6.0.1: dependencies: @@ -20949,6 +21798,8 @@ snapshots: dotenv@16.5.0: {} + dotenv@17.2.1: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.1 @@ -21035,10 +21886,10 @@ snapshots: transitivePeerDependencies: - supports-color - esbuild-register@3.6.0(esbuild@0.25.4): + esbuild-register@3.6.0(esbuild@0.25.8): dependencies: debug: 4.4.0 - esbuild: 0.25.4 + esbuild: 0.25.8 transitivePeerDependencies: - supports-color @@ -21124,6 +21975,35 @@ snapshots: '@esbuild/win32-ia32': 0.25.4 '@esbuild/win32-x64': 0.25.4 + esbuild@0.25.8: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.8 + '@esbuild/android-arm': 0.25.8 + '@esbuild/android-arm64': 0.25.8 + '@esbuild/android-x64': 0.25.8 + '@esbuild/darwin-arm64': 0.25.8 + '@esbuild/darwin-x64': 0.25.8 + '@esbuild/freebsd-arm64': 0.25.8 + '@esbuild/freebsd-x64': 0.25.8 + '@esbuild/linux-arm': 0.25.8 + '@esbuild/linux-arm64': 0.25.8 + '@esbuild/linux-ia32': 0.25.8 + '@esbuild/linux-loong64': 0.25.8 + '@esbuild/linux-mips64el': 0.25.8 + '@esbuild/linux-ppc64': 0.25.8 + '@esbuild/linux-riscv64': 0.25.8 + '@esbuild/linux-s390x': 0.25.8 + '@esbuild/linux-x64': 0.25.8 + '@esbuild/netbsd-arm64': 0.25.8 + '@esbuild/netbsd-x64': 0.25.8 + '@esbuild/openbsd-arm64': 0.25.8 + '@esbuild/openbsd-x64': 0.25.8 + '@esbuild/openharmony-arm64': 0.25.8 + '@esbuild/sunos-x64': 0.25.8 + '@esbuild/win32-arm64': 0.25.8 + '@esbuild/win32-ia32': 0.25.8 + '@esbuild/win32-x64': 0.25.8 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -21142,9 +22022,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.22.0(jiti@2.4.2)): + eslint-compat-utils@0.5.1(eslint@9.22.0(jiti@2.5.1)): dependencies: - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) semver: 7.7.2 eslint-import-resolver-node@0.3.9: @@ -21155,22 +22035,22 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-es-x@7.8.0(eslint@9.22.0(jiti@2.4.2)): + eslint-plugin-es-x@7.8.0(eslint@9.22.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.22.0(jiti@2.4.2) - eslint-compat-utils: 0.5.1(eslint@9.22.0(jiti@2.4.2)) + eslint: 9.22.0(jiti@2.5.1) + eslint-compat-utils: 0.5.1(eslint@9.22.0(jiti@2.5.1)) - eslint-plugin-import-x@4.6.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-import-x@4.6.1(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: '@types/doctrine': 0.0.9 '@typescript-eslint/scope-manager': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) debug: 4.4.0 doctrine: 3.0.0 enhanced-resolve: 5.18.1 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.10.0 is-glob: 4.0.3 @@ -21182,31 +22062,31 @@ snapshots: - supports-color - typescript - eslint-plugin-n@17.15.1(eslint@9.22.0(jiti@2.4.2)): + eslint-plugin-n@17.15.1(eslint@9.22.0(jiti@2.5.1)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.5.1)) enhanced-resolve: 5.18.1 - eslint: 9.22.0(jiti@2.4.2) - eslint-plugin-es-x: 7.8.0(eslint@9.22.0(jiti@2.4.2)) + eslint: 9.22.0(jiti@2.5.1) + eslint-plugin-es-x: 7.8.0(eslint@9.22.0(jiti@2.5.1)) get-tsconfig: 4.10.0 globals: 15.14.0 ignore: 5.3.2 minimatch: 9.0.5 semver: 7.7.2 - eslint-plugin-react-debug@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-react-debug@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 - '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) string-ts: 2.2.1 ts-pattern: 5.6.2 optionalDependencies: @@ -21214,19 +22094,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-dom@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-react-dom@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) compare-versions: 6.1.1 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) string-ts: 2.2.1 ts-pattern: 5.6.2 optionalDependencies: @@ -21234,19 +22114,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks-extra@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-react-hooks-extra@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 - '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) string-ts: 2.2.1 ts-pattern: 5.6.2 optionalDependencies: @@ -21254,22 +22134,22 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.1.0(eslint@9.22.0(jiti@2.4.2)): + eslint-plugin-react-hooks@5.1.0(eslint@9.22.0(jiti@2.5.1)): dependencies: - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) - eslint-plugin-react-naming-convention@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-react-naming-convention@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 - '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) string-ts: 2.2.1 ts-pattern: 5.6.2 optionalDependencies: @@ -21277,18 +22157,18 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-web-api@1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-react-web-api@1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) string-ts: 2.2.1 ts-pattern: 5.6.2 optionalDependencies: @@ -21296,21 +22176,21 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-x@1.26.2(eslint@9.22.0(jiti@2.4.2))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2): + eslint-plugin-react-x@1.26.2(eslint@9.22.0(jiti@2.5.1))(ts-api-utils@2.0.1(typescript@5.9.2))(typescript@5.9.2): dependencies: - '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/ast': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/core': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@eslint-react/eff': 1.26.2 - '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@eslint-react/jsx': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/shared': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@eslint-react/var': 1.26.2(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/scope-manager': 8.23.0 - '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) '@typescript-eslint/types': 8.23.0 - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) compare-versions: 6.1.1 - eslint: 9.22.0(jiti@2.4.2) - is-immutable-type: 5.0.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) + is-immutable-type: 5.0.1(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) string-ts: 2.2.1 ts-pattern: 5.6.2 optionalDependencies: @@ -21319,10 +22199,10 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-solid@0.14.5(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + eslint-plugin-solid@0.14.5(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) estraverse: 5.3.0 is-html: 2.0.0 kebab-case: 1.0.2 @@ -21332,11 +22212,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.22.0(jiti@2.4.2)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1)): dependencies: - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) eslint-scope@5.1.1: dependencies: @@ -21357,9 +22237,9 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.22.0(jiti@2.4.2): + eslint@9.22.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.2 '@eslint/config-helpers': 0.1.0 @@ -21395,7 +22275,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.1 transitivePeerDependencies: - supports-color @@ -21407,8 +22287,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -21429,7 +22309,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -21495,7 +22375,7 @@ snapshots: transitivePeerDependencies: - supports-color - exsolve@1.0.5: {} + exsolve@1.0.7: {} extend@3.0.2: {} @@ -21547,6 +22427,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.6(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fecha@4.2.3: {} fetch-blob@3.2.0: @@ -21554,6 +22438,8 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + fetchdts@0.1.5: {} + fflate@0.8.2: {} figures@3.2.0: @@ -21887,7 +22773,7 @@ snapshots: defu: 6.1.4 destr: 2.0.5 iron-webcrypto: 1.2.1 - ohash: 1.1.4 + ohash: 1.1.6 radix3: 1.1.2 ufo: 1.6.1 uncrypto: 0.1.3 @@ -21905,6 +22791,15 @@ snapshots: ufo: 1.6.1 uncrypto: 0.1.3 + h3@2.0.0-beta.2(crossws@0.4.1(srvx@0.8.2)): + dependencies: + cookie-es: 2.0.0 + fetchdts: 0.1.5 + rou3: 0.7.3 + srvx: 0.8.2 + optionalDependencies: + crossws: 0.4.1(srvx@0.8.2) + handle-thing@2.0.1: {} has-flag@4.0.0: {} @@ -21966,7 +22861,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1): + html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -21975,7 +22870,7 @@ snapshots: tapable: 2.2.1 optionalDependencies: '@rspack/core': 1.2.2(@swc/helpers@0.5.15) - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) htmlparser2@6.1.0: dependencies: @@ -22191,10 +23086,10 @@ snapshots: dependencies: html-tags: 3.3.1 - is-immutable-type@5.0.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + is-immutable-type@5.0.1(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + '@typescript-eslint/type-utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) ts-api-utils: 2.0.1(typescript@5.9.2) ts-declaration-location: 1.0.5(typescript@5.9.2) typescript: 5.9.2 @@ -22277,8 +23172,6 @@ snapshots: isarray@1.0.0: {} - isbot@5.1.22: {} - isbot@5.1.28: {} isexe@2.0.0: {} @@ -22314,6 +23207,8 @@ snapshots: jiti@2.4.2: {} + jiti@2.5.1: {} + jju@1.4.0: {} jose@5.6.3: {} @@ -22872,6 +23767,107 @@ snapshots: p-wait-for: 5.0.2 qs: 6.13.0 + nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + dependencies: + '@rollup/plugin-alias': 5.1.1(rollup@4.46.2) + '@rollup/plugin-commonjs': 28.0.6(rollup@4.46.2) + '@rollup/plugin-inject': 5.0.5(rollup@4.46.2) + '@rollup/plugin-json': 6.1.0(rollup@4.46.2) + '@rollup/plugin-node-resolve': 16.0.1(rollup@4.46.2) + '@rollup/plugin-replace': 6.0.2(rollup@4.46.2) + '@rollup/plugin-terser': 0.4.4(rollup@4.46.2) + '@types/http-proxy': 1.17.16 + '@vercel/nft': 0.30.0(rollup@4.46.2) + c12: 3.2.0(magicast@0.3.5) + chokidar: 4.0.3 + citty: 0.1.6 + compatx: 0.2.0 + confbox: 0.2.2 + consola: 3.4.2 + cookie-es: 2.0.0 + croner: 9.1.0 + crossws: 0.4.1(srvx@0.8.2) + db0: 0.3.2 + defu: 6.1.4 + destr: 2.0.5 + dot-prop: 9.0.0 + esbuild: 0.25.8 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + exsolve: 1.0.7 + fetchdts: 0.1.5 + fs-extra: 11.3.0 + globby: 14.1.0 + gzip-size: 7.0.0 + h3: 2.0.0-beta.2(crossws@0.4.1(srvx@0.8.2)) + hookable: 5.5.3 + httpxy: 0.1.7 + ioredis: 5.6.1 + jiti: 2.5.1 + klona: 2.0.6 + knitwork: 1.2.0 + listhen: 1.9.0 + magic-string: 0.30.17 + magicast: 0.3.5 + mime: 4.0.7 + mlly: 1.7.4 + ofetch: 1.4.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + pkg-types: 2.2.0 + pretty-bytes: 7.0.0 + rollup: 4.46.2 + rollup-plugin-visualizer: 6.0.3(rollup@4.46.2) + rou3: 0.7.3 + scule: 1.3.0 + semver: 7.7.2 + serve-placeholder: 2.0.2 + serve-static: 2.2.0 + source-map: 0.7.6 + srvx: 0.8.2 + std-env: 3.9.0 + ufo: 1.6.1 + ultrahtml: 1.6.0 + uncrypto: 0.1.3 + unctx: 2.4.1 + undici: 7.13.0 + unenv: 2.0.0-rc.19 + unimport: 5.2.0 + unplugin-utils: 0.2.4 + unstorage: 1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.6.1) + untyped: 2.0.0 + unwasm: 0.3.9 + youch: 4.1.0-beta.8 + youch-core: 0.3.3 + optionalDependencies: + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - better-sqlite3 + - drizzle-orm + - encoding + - idb-keyval + - mysql2 + - sqlite3 + - supports-color + - uploadthing + nitropack@2.11.12: dependencies: '@cloudflare/kv-asset-handler': 0.4.0 @@ -22898,10 +23894,10 @@ snapshots: defu: 6.1.4 destr: 2.0.5 dot-prop: 9.0.0 - esbuild: 0.25.4 + esbuild: 0.25.8 escape-string-regexp: 5.0.0 etag: 1.8.1 - exsolve: 1.0.5 + exsolve: 1.0.7 globby: 14.1.0 gzip-size: 7.0.0 h3: 1.15.3 @@ -23131,7 +24127,7 @@ snapshots: node-fetch-native: 1.6.6 ufo: 1.6.1 - ohash@1.1.4: {} + ohash@1.1.6: {} ohash@2.0.11: {} @@ -23352,6 +24348,8 @@ snapshots: picomatch@4.0.2: {} + picomatch@4.0.3: {} + pify@2.3.0: {} pirates@4.0.6: {} @@ -23369,7 +24367,13 @@ snapshots: pkg-types@2.1.0: dependencies: confbox: 0.2.2 - exsolve: 1.0.5 + exsolve: 1.0.7 + pathe: 2.0.3 + + pkg-types@2.2.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 pathe: 2.0.3 playwright-core@1.52.0: {} @@ -23413,11 +24417,11 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss-values-parser@6.0.2(postcss@8.5.3): + postcss-values-parser@6.0.2(postcss@8.5.6): dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.5.3 + postcss: 8.5.6 quote-unquote: 1.0.0 postcss@8.5.3: @@ -23426,6 +24430,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + precinct@12.2.0: dependencies: '@dependents/detective-less': 5.0.1 @@ -23433,7 +24443,7 @@ snapshots: detective-amd: 6.0.1 detective-cjs: 6.0.1 detective-es6: 5.0.1 - detective-postcss: 7.0.1(postcss@8.5.3) + detective-postcss: 7.0.1(postcss@8.5.6) detective-sass: 6.0.1 detective-scss: 5.0.1 detective-stylus: 5.0.1 @@ -23441,7 +24451,7 @@ snapshots: detective-vue2: 2.2.0(typescript@5.9.2) module-definition: 6.0.1 node-source-walk: 7.0.1 - postcss: 8.5.3 + postcss: 8.5.6 typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -23456,6 +24466,8 @@ snapshots: pretty-bytes@6.1.1: {} + pretty-bytes@7.0.0: {} + pretty-error@4.0.0: dependencies: lodash: 4.17.21 @@ -23841,11 +24853,11 @@ snapshots: glob: 11.0.1 package-json-from-dist: 1.0.1 - rollup-plugin-preserve-directives@0.4.0(rollup@4.41.1): + rollup-plugin-preserve-directives@0.4.0(rollup@4.46.2): dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) magic-string: 0.30.17 - rollup: 4.41.1 + rollup: 4.46.2 rollup-plugin-visualizer@5.14.0(rollup@4.41.1): dependencies: @@ -23856,6 +24868,15 @@ snapshots: optionalDependencies: rollup: 4.41.1 + rollup-plugin-visualizer@6.0.3(rollup@4.46.2): + dependencies: + open: 8.4.2 + picomatch: 4.0.3 + source-map: 0.7.6 + yargs: 17.7.2 + optionalDependencies: + rollup: 4.46.2 + rollup@4.41.1: dependencies: '@types/estree': 1.0.7 @@ -23882,6 +24903,34 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.41.1 fsevents: 2.3.3 + rollup@4.46.2: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.46.2 + '@rollup/rollup-android-arm64': 4.46.2 + '@rollup/rollup-darwin-arm64': 4.46.2 + '@rollup/rollup-darwin-x64': 4.46.2 + '@rollup/rollup-freebsd-arm64': 4.46.2 + '@rollup/rollup-freebsd-x64': 4.46.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 + '@rollup/rollup-linux-arm-musleabihf': 4.46.2 + '@rollup/rollup-linux-arm64-gnu': 4.46.2 + '@rollup/rollup-linux-arm64-musl': 4.46.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 + '@rollup/rollup-linux-ppc64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-musl': 4.46.2 + '@rollup/rollup-linux-s390x-gnu': 4.46.2 + '@rollup/rollup-linux-x64-gnu': 4.46.2 + '@rollup/rollup-linux-x64-musl': 4.46.2 + '@rollup/rollup-win32-arm64-msvc': 4.46.2 + '@rollup/rollup-win32-ia32-msvc': 4.46.2 + '@rollup/rollup-win32-x64-msvc': 4.46.2 + fsevents: 2.3.3 + + rou3@0.7.3: {} + rrweb-cssom@0.7.1: {} rrweb-cssom@0.8.0: {} @@ -24151,6 +25200,8 @@ snapshots: source-map@0.7.4: {} + source-map@0.7.6: {} + spawn-command@0.0.2: {} spdx-correct@3.2.0: @@ -24192,6 +25243,10 @@ snapshots: sprintf-js@1.0.3: {} + srvx@0.8.2: + dependencies: + cookie-es: 2.0.0 + stable-hash@0.0.4: {} stack-trace@0.0.10: {} @@ -24301,11 +25356,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1): + swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) '@swc/counter': 0.1.3 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) swr@2.3.3(react@19.0.0): dependencies: @@ -24373,29 +25428,29 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) - esbuild: 0.25.4 + esbuild: 0.25.8 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack@5.97.1): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) - esbuild: 0.25.4 + esbuild: 0.25.8 terser@5.37.0: dependencies: @@ -24441,6 +25496,11 @@ snapshots: fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 + tinypool@1.0.2: {} tinyrainbow@2.0.0: {} @@ -24572,12 +25632,12 @@ snapshots: typescript: 5.9.2 yaml: 2.7.0 - typescript-eslint@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2): + typescript-eslint@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/parser': 8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - '@typescript-eslint/utils': 8.22.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.9.2) - eslint: 9.22.0(jiti@2.4.2) + '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/parser': 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) + eslint: 9.22.0(jiti@2.5.1) typescript: 5.9.2 transitivePeerDependencies: - supports-color @@ -24614,15 +25674,17 @@ snapshots: unctx@2.4.1: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 estree-walker: 3.0.3 magic-string: 0.30.17 - unplugin: 2.3.4 + unplugin: 2.3.5 undici-types@6.20.0: {} undici@6.21.2: {} + undici@7.13.0: {} + unenv@1.10.0: dependencies: consola: 3.4.2 @@ -24634,7 +25696,15 @@ snapshots: unenv@2.0.0-rc.17: dependencies: defu: 6.1.4 - exsolve: 1.0.5 + exsolve: 1.0.7 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.1 + + unenv@2.0.0-rc.19: + dependencies: + defu: 6.1.4 + exsolve: 1.0.7 ohash: 2.0.11 pathe: 2.0.3 ufo: 1.6.1 @@ -24647,7 +25717,7 @@ snapshots: unimport@5.0.1: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 local-pkg: 1.1.1 @@ -24659,7 +25729,24 @@ snapshots: scule: 1.3.0 strip-literal: 3.0.0 tinyglobby: 0.2.13 - unplugin: 2.3.4 + unplugin: 2.3.5 + unplugin-utils: 0.2.4 + + unimport@5.2.0: + dependencies: + acorn: 8.15.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.1.1 + magic-string: 0.30.17 + mlly: 1.7.4 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 2.2.0 + scule: 1.3.0 + strip-literal: 3.0.0 + tinyglobby: 0.2.14 + unplugin: 2.3.5 unplugin-utils: 0.2.4 universalify@0.1.2: {} @@ -24688,7 +25775,7 @@ snapshots: unplugin@1.16.1: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 webpack-virtual-modules: 0.6.2 unplugin@2.3.4: @@ -24697,6 +25784,12 @@ snapshots: picomatch: 4.0.2 webpack-virtual-modules: 0.6.2 + unplugin@2.3.5: + dependencies: + acorn: 8.15.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + unstorage@1.16.0(db0@0.3.2)(ioredis@5.6.1): dependencies: anymatch: 3.1.3 @@ -24711,6 +25804,21 @@ snapshots: db0: 0.3.2 ioredis: 5.6.1 + unstorage@1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.6.1): + dependencies: + anymatch: 3.1.3 + chokidar: 4.0.3 + destr: 2.0.5 + h3: 1.15.3 + lru-cache: 10.4.3 + node-fetch-native: 1.6.6 + ofetch: 1.4.1 + ufo: 1.6.1 + optionalDependencies: + '@netlify/blobs': 9.1.2 + db0: 0.3.2 + ioredis: 5.6.1 + untun@0.1.3: dependencies: citty: 0.1.6 @@ -24815,13 +25923,13 @@ snapshots: import-meta-resolve: 4.1.0 zod: 3.25.57 - vite-node@3.0.6(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): + vite-node@3.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -24836,10 +25944,10 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.0.3(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-dts@4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@microsoft/api-extractor': 7.47.4(@types/node@22.13.4) - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) '@volar/typescript': 2.4.11 '@vue/language-core': 2.0.29(typescript@5.9.2) compare-versions: 6.1.1 @@ -24850,16 +25958,16 @@ snapshots: typescript: 5.9.2 vue-tsc: 2.0.29(typescript@5.9.2) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-dts@4.5.0(@types/node@22.13.4)(rollup@4.41.1)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-dts@4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@microsoft/api-extractor': 7.49.2(@types/node@22.13.4) - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@rollup/pluginutils': 5.1.4(rollup@4.46.2) '@volar/typescript': 2.4.11 '@vue/language-core': 2.2.0(typescript@5.8.2) compare-versions: 6.1.1 @@ -24869,32 +25977,32 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.2 optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.9.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-externalize-deps@0.9.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vite-plugin-solid@2.11.6(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-solid@2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.27.7 '@types/babel__core': 7.20.5 - babel-preset-solid: 1.9.3(@babel/core@7.27.4) + babel-preset-solid: 1.9.3(@babel/core@7.27.7) merge-anything: 5.1.7 solid-js: 1.9.5 solid-refresh: 0.6.3(solid-js@1.9.5) - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitefu: 1.0.5(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vitefu: 1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-plugin-solid@2.11.7(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-solid@2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@babel/core': 7.27.7 '@types/babel__core': 7.20.5 @@ -24902,75 +26010,92 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.5 solid-refresh: 0.6.3(solid-js@1.9.5) - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitefu: 1.0.5(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vitefu: 1.1.1(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-tsconfig-paths@5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.8.2) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.8.3) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.9.2) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): + vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: - esbuild: 0.25.4 - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.3 - rollup: 4.41.1 - tinyglobby: 0.2.13 + esbuild: 0.25.8 + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.46.2 + tinyglobby: 0.2.14 optionalDependencies: '@types/node': 22.13.4 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.1 lightningcss: 1.29.2 terser: 5.37.0 tsx: 4.20.3 yaml: 2.7.0 - vitefu@1.0.5(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): + dependencies: + esbuild: 0.25.8 + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.46.2 + tinyglobby: 0.2.14 + optionalDependencies: + '@types/node': 22.13.4 + fsevents: 2.3.3 + jiti: 2.5.1 + lightningcss: 1.29.2 + terser: 5.37.0 + tsx: 4.20.3 + yaml: 2.7.0 + + vitefu@1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitefu@1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vitefu@1.1.1(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitest@3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): + vitest@3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@vitest/pretty-format': 3.0.6 '@vitest/runner': 3.0.6 '@vitest/snapshot': 3.0.6 @@ -24986,12 +26111,12 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vite-node: 3.0.6(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite-node: 3.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.13.4 - '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) + '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/ui': 3.0.6(vitest@3.0.6) jsdom: 25.0.1 transitivePeerDependencies: @@ -25010,10 +26135,10 @@ snapshots: vscode-uri@3.0.8: {} - vue-eslint-parser@9.4.3(eslint@9.22.0(jiti@2.4.2)): + vue-eslint-parser@9.4.3(eslint@9.22.0(jiti@2.5.1)): dependencies: debug: 4.4.0 - eslint: 9.22.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.5.1) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -25066,9 +26191,9 @@ snapshots: webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.97.1) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.97.1) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 @@ -25077,12 +26202,12 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1) - webpack-dev-middleware@7.4.2(webpack@5.97.1): + webpack-dev-middleware@7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -25091,7 +26216,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1): dependencies: @@ -25120,10 +26245,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.97.1) + webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) ws: 8.18.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) transitivePeerDependencies: - bufferutil @@ -25143,7 +26268,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4): + webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -25165,7 +26290,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -25173,7 +26298,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack-cli@5.1.4): + webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -25195,7 +26320,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.4)(webpack@5.97.1) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: @@ -25356,6 +26481,11 @@ snapshots: '@poppinss/exception': 1.2.1 error-stack-parser-es: 1.0.5 + youch-core@0.3.3: + dependencies: + '@poppinss/exception': 1.2.2 + error-stack-parser-es: 1.0.5 + youch@4.1.0-beta.7: dependencies: '@poppinss/dumper': 0.6.3 @@ -25363,6 +26493,14 @@ snapshots: cookie: 1.0.2 youch-core: 0.3.2 + youch@4.1.0-beta.8: + dependencies: + '@poppinss/colors': 4.1.4 + '@poppinss/dumper': 0.6.3 + '@speed-highlight/core': 1.2.7 + cookie: 1.0.2 + youch-core: 0.3.3 + zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 From 4d0eca241a06ba6bd736d237836af06bddb96f52 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 002/271] bump vite-plugin-solid this brings compatibility with vite 7 --- .../package.json | 2 +- .../basic-file-based/package.json | 2 +- .../basic-scroll-restoration/package.json | 2 +- .../basic-solid-query-file-based/package.json | 2 +- .../basic-solid-query/package.json | 2 +- .../basic-virtual-file-based/package.json | 2 +- .../package.json | 2 +- e2e/solid-router/basic/package.json | 2 +- .../package.json | 2 +- e2e/solid-start/basic/package.json | 2 +- e2e/solid-start/custom-basepath/package.json | 2 +- .../scroll-restoration/package.json | 2 +- e2e/solid-start/server-functions/package.json | 2 +- e2e/solid-start/server-routes/package.json | 2 +- e2e/solid-start/website/package.json | 2 +- .../solid/basic-devtools-panel/package.json | 2 +- examples/solid/basic-file-based/package.json | 2 +- .../basic-non-nested-devtools/package.json | 2 +- .../basic-solid-query-file-based/package.json | 2 +- examples/solid/basic-solid-query/package.json | 2 +- .../package.json | 2 +- examples/solid/basic/package.json | 2 +- .../kitchen-sink-file-based/package.json | 2 +- .../solid/quickstart-file-based/package.json | 2 +- examples/solid/start-bare/package.json | 2 +- examples/solid/start-basic/package.json | 2 +- packages/router-devtools-core/package.json | 2 +- packages/router-plugin/package.json | 2 +- packages/solid-router-devtools/package.json | 2 +- packages/solid-router/package.json | 2 +- packages/solid-start-client/package.json | 2 +- packages/solid-start-plugin/package.json | 2 +- packages/solid-start-server/package.json | 2 +- pnpm-lock.yaml | 66 +++++++++---------- 34 files changed, 66 insertions(+), 66 deletions(-) diff --git a/e2e/solid-router/basic-file-based-code-splitting/package.json b/e2e/solid-router/basic-file-based-code-splitting/package.json index 6a929a45bce..a5f829dd268 100644 --- a/e2e/solid-router/basic-file-based-code-splitting/package.json +++ b/e2e/solid-router/basic-file-based-code-splitting/package.json @@ -26,6 +26,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/e2e/solid-router/basic-file-based/package.json b/e2e/solid-router/basic-file-based/package.json index 50b911f89af..cbd7a0be6f6 100644 --- a/e2e/solid-router/basic-file-based/package.json +++ b/e2e/solid-router/basic-file-based/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "combinate": "^1.1.11", "vite": "^6.3.5" } diff --git a/e2e/solid-router/basic-scroll-restoration/package.json b/e2e/solid-router/basic-scroll-restoration/package.json index 99eadce4ed6..e672d66d549 100644 --- a/e2e/solid-router/basic-scroll-restoration/package.json +++ b/e2e/solid-router/basic-scroll-restoration/package.json @@ -23,7 +23,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite": "^6.3.5" } } diff --git a/e2e/solid-router/basic-solid-query-file-based/package.json b/e2e/solid-router/basic-solid-query-file-based/package.json index cff6d8c71ca..96ce4bf3b09 100644 --- a/e2e/solid-router/basic-solid-query-file-based/package.json +++ b/e2e/solid-router/basic-solid-query-file-based/package.json @@ -26,7 +26,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite": "^6.3.5" } } diff --git a/e2e/solid-router/basic-solid-query/package.json b/e2e/solid-router/basic-solid-query/package.json index 61c7fa9fd36..5e3b98c5a2e 100644 --- a/e2e/solid-router/basic-solid-query/package.json +++ b/e2e/solid-router/basic-solid-query/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite": "^6.3.5" } } diff --git a/e2e/solid-router/basic-virtual-file-based/package.json b/e2e/solid-router/basic-virtual-file-based/package.json index 7e6f8ec3cda..2006c1686bb 100644 --- a/e2e/solid-router/basic-virtual-file-based/package.json +++ b/e2e/solid-router/basic-virtual-file-based/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite": "^6.3.5" } } diff --git a/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json b/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json index 212cb73be7e..9fb9480d3cf 100644 --- a/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json +++ b/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite": "^6.3.5" } } diff --git a/e2e/solid-router/basic/package.json b/e2e/solid-router/basic/package.json index 96341481850..ddf05b049e2 100644 --- a/e2e/solid-router/basic/package.json +++ b/e2e/solid-router/basic/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite": "^6.3.5" } } diff --git a/e2e/solid-router/scroll-restoration-sandbox-vite/package.json b/e2e/solid-router/scroll-restoration-sandbox-vite/package.json index 8d41ebe795f..7319b70dd12 100644 --- a/e2e/solid-router/scroll-restoration-sandbox-vite/package.json +++ b/e2e/solid-router/scroll-restoration-sandbox-vite/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite": "^6.3.5" } } diff --git a/e2e/solid-start/basic/package.json b/e2e/solid-start/basic/package.json index c7b631c1d6c..2f964d09ba4 100644 --- a/e2e/solid-start/basic/package.json +++ b/e2e/solid-start/basic/package.json @@ -29,7 +29,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/custom-basepath/package.json b/e2e/solid-start/custom-basepath/package.json index 1f668703a33..ec336fc9f2f 100644 --- a/e2e/solid-start/custom-basepath/package.json +++ b/e2e/solid-start/custom-basepath/package.json @@ -29,7 +29,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/scroll-restoration/package.json b/e2e/solid-start/scroll-restoration/package.json index 60f64e7d040..571a706bd08 100644 --- a/e2e/solid-start/scroll-restoration/package.json +++ b/e2e/solid-start/scroll-restoration/package.json @@ -30,7 +30,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.6", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/server-functions/package.json b/e2e/solid-start/server-functions/package.json index 7a02e8266ea..499107a0033 100644 --- a/e2e/solid-start/server-functions/package.json +++ b/e2e/solid-start/server-functions/package.json @@ -31,7 +31,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.6", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/server-routes/package.json b/e2e/solid-start/server-routes/package.json index c2bec1aa27a..b83fedeb801 100644 --- a/e2e/solid-start/server-routes/package.json +++ b/e2e/solid-start/server-routes/package.json @@ -31,7 +31,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.6", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/website/package.json b/e2e/solid-start/website/package.json index 383f3305db0..b2c1a92b2df 100644 --- a/e2e/solid-start/website/package.json +++ b/e2e/solid-start/website/package.json @@ -28,7 +28,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.6", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/solid/basic-devtools-panel/package.json b/examples/solid/basic-devtools-panel/package.json index de5f099d14d..4ec7712f7f8 100644 --- a/examples/solid/basic-devtools-panel/package.json +++ b/examples/solid/basic-devtools-panel/package.json @@ -18,7 +18,7 @@ "tailwindcss": "^3.4.17" }, "devDependencies": { - "vite-plugin-solid": "^2.11.6", + "vite-plugin-solid": "^2.11.8", "typescript": "^5.7.2", "vite": "^6.3.5" } diff --git a/examples/solid/basic-file-based/package.json b/examples/solid/basic-file-based/package.json index 3d9f24fdeec..22266067d02 100644 --- a/examples/solid/basic-file-based/package.json +++ b/examples/solid/basic-file-based/package.json @@ -22,6 +22,6 @@ "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-non-nested-devtools/package.json b/examples/solid/basic-non-nested-devtools/package.json index 6bd364e3fa1..ec55716032d 100644 --- a/examples/solid/basic-non-nested-devtools/package.json +++ b/examples/solid/basic-non-nested-devtools/package.json @@ -22,6 +22,6 @@ "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-solid-query-file-based/package.json b/examples/solid/basic-solid-query-file-based/package.json index ca3f5976bd3..adfcf77c5a5 100644 --- a/examples/solid/basic-solid-query-file-based/package.json +++ b/examples/solid/basic-solid-query-file-based/package.json @@ -25,6 +25,6 @@ "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-solid-query/package.json b/examples/solid/basic-solid-query/package.json index 00deae31162..cd9e4f3f91f 100644 --- a/examples/solid/basic-solid-query/package.json +++ b/examples/solid/basic-solid-query/package.json @@ -23,6 +23,6 @@ "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index d25b2f62203..ac793f3a0c4 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -30,6 +30,6 @@ "@types/express": "^4.17.21", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json index 7db9a8eaa0f..9d743636222 100644 --- a/examples/solid/basic/package.json +++ b/examples/solid/basic/package.json @@ -22,6 +22,6 @@ "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/kitchen-sink-file-based/package.json b/examples/solid/kitchen-sink-file-based/package.json index d730d676ea3..08a87f63bd9 100644 --- a/examples/solid/kitchen-sink-file-based/package.json +++ b/examples/solid/kitchen-sink-file-based/package.json @@ -23,6 +23,6 @@ "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/quickstart-file-based/package.json b/examples/solid/quickstart-file-based/package.json index ffe7463d96c..124d01b6d76 100644 --- a/examples/solid/quickstart-file-based/package.json +++ b/examples/solid/quickstart-file-based/package.json @@ -22,6 +22,6 @@ "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/start-bare/package.json b/examples/solid/start-bare/package.json index 59327333ffd..5752494106f 100644 --- a/examples/solid/start-bare/package.json +++ b/examples/solid/start-bare/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@types/node": "^22.10.2", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "combinate": "^1.1.11", "typescript": "^5.7.2", "vite": "^6.3.5", diff --git a/examples/solid/start-basic/package.json b/examples/solid/start-basic/package.json index 001323d30b5..78126c5d124 100644 --- a/examples/solid/start-basic/package.json +++ b/examples/solid/start-basic/package.json @@ -23,7 +23,7 @@ "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^6.3.5", - "vite-plugin-solid": "^2.11.7", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/packages/router-devtools-core/package.json b/packages/router-devtools-core/package.json index c689ef4ad8c..985f2cda582 100644 --- a/packages/router-devtools-core/package.json +++ b/packages/router-devtools-core/package.json @@ -67,7 +67,7 @@ "solid-js": "^1.9.5" }, "devDependencies": { - "vite-plugin-solid": "^2.11.6" + "vite-plugin-solid": "^2.11.8" }, "peerDependencies": { "tiny-invariant": "^1.3.3", diff --git a/packages/router-plugin/package.json b/packages/router-plugin/package.json index b4e690e8c1b..0a468105a69 100644 --- a/packages/router-plugin/package.json +++ b/packages/router-plugin/package.json @@ -128,7 +128,7 @@ "@rsbuild/core": ">=1.0.2", "@tanstack/react-router": "workspace:^", "vite": ">=5.0.0 || >=6.0.0", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "webpack": ">=5.92.0" }, "peerDependenciesMeta": { diff --git a/packages/solid-router-devtools/package.json b/packages/solid-router-devtools/package.json index 688143c4415..57e76bf8afd 100644 --- a/packages/solid-router-devtools/package.json +++ b/packages/solid-router-devtools/package.json @@ -70,7 +70,7 @@ }, "devDependencies": { "solid-js": "^1.9.5", - "vite-plugin-solid": "^2.11.6" + "vite-plugin-solid": "^2.11.8" }, "peerDependencies": { "solid-js": "^1.9.5", diff --git a/packages/solid-router/package.json b/packages/solid-router/package.json index a8be29e3264..0996034fc7c 100644 --- a/packages/solid-router/package.json +++ b/packages/solid-router/package.json @@ -114,7 +114,7 @@ "combinate": "^1.1.11", "eslint-plugin-solid": "^0.14.5", "solid-js": "^1.9.5", - "vite-plugin-solid": "^2.11.2", + "vite-plugin-solid": "^2.11.8", "zod": "^3.23.8" }, "peerDependencies": { diff --git a/packages/solid-start-client/package.json b/packages/solid-start-client/package.json index 0b43bbdf524..6187bd0b637 100644 --- a/packages/solid-start-client/package.json +++ b/packages/solid-start-client/package.json @@ -73,7 +73,7 @@ "devDependencies": { "@solidjs/testing-library": "^0.8.10", "@testing-library/jest-dom": "^6.6.3", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" }, "peerDependencies": { "solid-js": ">=1.0.0" diff --git a/packages/solid-start-plugin/package.json b/packages/solid-start-plugin/package.json index 7dbaade3764..22730eaba1f 100644 --- a/packages/solid-start-plugin/package.json +++ b/packages/solid-start-plugin/package.json @@ -70,7 +70,7 @@ }, "devDependencies": { "vite": "^6.0.0", - "vite-plugin-solid": "^2.11.6" + "vite-plugin-solid": "^2.11.8" }, "peerDependencies": { "vite": ">=6.0.0" diff --git a/packages/solid-start-server/package.json b/packages/solid-start-server/package.json index 2a36fc8a02e..e5aae3b4643 100644 --- a/packages/solid-start-server/package.json +++ b/packages/solid-start-server/package.json @@ -74,7 +74,7 @@ "esbuild": "^0.25.0", "solid-js": "^1.9.5", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.2" + "vite-plugin-solid": "^2.11.8" }, "peerDependencies": { "solid-js": "^1.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 08088d42604..75bcb051228 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1778,7 +1778,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-esbuild-file-based: @@ -1864,7 +1864,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-file-based-code-splitting: @@ -1904,7 +1904,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-scroll-restoration: @@ -1944,7 +1944,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query: @@ -1987,7 +1987,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query-file-based: @@ -2036,7 +2036,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-file-based: @@ -2082,7 +2082,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-named-export-config-file-based: @@ -2128,7 +2128,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/rspack-basic-file-based: @@ -2269,7 +2269,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/basic: @@ -2324,7 +2324,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -2413,7 +2413,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -2474,7 +2474,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -2572,7 +2572,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -2636,7 +2636,7 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -2728,7 +2728,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5814,7 +5814,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-devtools-panel: @@ -5848,7 +5848,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-file-based: @@ -5888,7 +5888,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-non-nested-devtools: @@ -5928,7 +5928,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query: @@ -5971,7 +5971,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query-file-based: @@ -6017,7 +6017,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-ssr-streaming-file-based: @@ -6075,7 +6075,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/kitchen-sink-file-based: @@ -6118,7 +6118,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/quickstart-file-based: @@ -6158,7 +6158,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-bare: @@ -6198,7 +6198,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -6244,7 +6244,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.7 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 @@ -6673,7 +6673,7 @@ importers: version: 1.3.3 devDependencies: vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/router-generator: @@ -6758,7 +6758,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) webpack: specifier: '>=5.92.0' @@ -6909,7 +6909,7 @@ importers: specifier: ^1.9.5 version: 1.9.5 vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) zod: specifier: ^3.23.8 @@ -6928,7 +6928,7 @@ importers: specifier: ^1.9.5 version: 1.9.5 vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start: @@ -6990,7 +6990,7 @@ importers: specifier: ^6.6.3 version: 6.6.3 vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start-plugin: @@ -7006,7 +7006,7 @@ importers: specifier: 6.3.5 version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: - specifier: ^2.11.6 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start-server: @@ -7043,7 +7043,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite-plugin-solid: - specifier: ^2.11.2 + specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/start-client-core: From 8812cb266189ba44c87b738a7223f15d6305f7b6 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 003/271] bump vite version to 7 --- .../basic-file-based-code-splitting/package.json | 2 +- e2e/react-router/basic-file-based/package.json | 2 +- e2e/react-router/basic-react-query-file-based/package.json | 2 +- e2e/react-router/basic-react-query/package.json | 2 +- e2e/react-router/basic-scroll-restoration/package.json | 2 +- e2e/react-router/basic-virtual-file-based/package.json | 2 +- .../package.json | 2 +- e2e/react-router/basic/package.json | 2 +- e2e/react-router/generator-cli-only/package.json | 2 +- e2e/react-router/js-only-file-based/package.json | 2 +- .../scroll-restoration-sandbox-vite/package.json | 2 +- e2e/react-router/sentry-integration/package.json | 2 +- e2e/react-start/basic-auth/package.json | 2 +- e2e/react-start/basic-react-query/package.json | 2 +- e2e/react-start/basic-rsc/package.json | 2 +- e2e/react-start/basic-tsr-config/package.json | 2 +- e2e/react-start/clerk-basic/package.disabled.json | 2 +- e2e/react-start/scroll-restoration/package.json | 2 +- e2e/react-start/selective-ssr/package.json | 2 +- e2e/react-start/server-functions/package.json | 2 +- e2e/react-start/server-routes/package.json | 2 +- e2e/react-start/spa-mode/package.json | 2 +- e2e/react-start/virtual-routes/package.json | 2 +- e2e/react-start/website/package.json | 2 +- .../basic-file-based-code-splitting/package.json | 2 +- e2e/solid-router/basic-file-based/package.json | 2 +- e2e/solid-router/basic-scroll-restoration/package.json | 2 +- e2e/solid-router/basic-solid-query-file-based/package.json | 2 +- e2e/solid-router/basic-solid-query/package.json | 2 +- e2e/solid-router/basic-virtual-file-based/package.json | 2 +- .../package.json | 2 +- e2e/solid-router/basic/package.json | 2 +- .../scroll-restoration-sandbox-vite/package.json | 2 +- e2e/solid-start/selective-ssr/package.json | 2 +- e2e/solid-start/spa-mode/package.json | 2 +- examples/react/authenticated-routes-firebase/package.json | 2 +- examples/react/authenticated-routes/package.json | 2 +- examples/react/basic-default-search-params/package.json | 2 +- examples/react/basic-devtools-panel/package.json | 2 +- examples/react/basic-file-based/package.json | 2 +- examples/react/basic-non-nested-devtools/package.json | 2 +- examples/react/basic-react-query-file-based/package.json | 2 +- examples/react/basic-react-query/package.json | 2 +- examples/react/basic-ssr-file-based/package.json | 2 +- examples/react/basic-ssr-streaming-file-based/package.json | 2 +- examples/react/basic-virtual-file-based/package.json | 2 +- examples/react/basic-virtual-inside-file-based/package.json | 2 +- examples/react/basic/package.json | 2 +- examples/react/deferred-data/package.json | 2 +- examples/react/kitchen-sink-file-based/package.json | 2 +- .../react/kitchen-sink-react-query-file-based/package.json | 2 +- examples/react/kitchen-sink-react-query/package.json | 2 +- examples/react/kitchen-sink/package.json | 2 +- examples/react/large-file-based/package.json | 2 +- examples/react/location-masking/package.json | 2 +- examples/react/navigation-blocking/package.json | 2 +- examples/react/quickstart-file-based/package.json | 2 +- examples/react/quickstart/package.json | 2 +- examples/react/router-monorepo-react-query/package.json | 2 +- .../router-monorepo-react-query/packages/app/package.json | 2 +- .../packages/post-feature/package.json | 2 +- .../packages/post-query/package.json | 2 +- .../router-monorepo-react-query/packages/router/package.json | 2 +- examples/react/router-monorepo-simple-lazy/package.json | 2 +- .../router-monorepo-simple-lazy/packages/app/package.json | 2 +- .../packages/post-feature/package.json | 2 +- .../router-monorepo-simple-lazy/packages/router/package.json | 2 +- examples/react/router-monorepo-simple/package.json | 2 +- .../react/router-monorepo-simple/packages/app/package.json | 2 +- .../packages/post-feature/package.json | 2 +- .../router-monorepo-simple/packages/router/package.json | 2 +- examples/react/scroll-restoration/package.json | 2 +- examples/react/search-validator-adapters/package.json | 2 +- examples/react/start-bare/package.json | 2 +- examples/react/start-basic-auth/package.json | 2 +- examples/react/start-basic-react-query/package.json | 2 +- examples/react/start-basic-rsc/package.json | 2 +- examples/react/start-basic-static/package.json | 2 +- examples/react/start-basic/package.json | 2 +- examples/react/start-clerk-basic/package.json | 2 +- examples/react/start-convex-trellaux/package.json | 2 +- examples/react/start-counter/package.json | 2 +- examples/react/start-large/package.json | 2 +- examples/react/start-material-ui/package.json | 2 +- examples/react/start-supabase-basic/package.json | 2 +- examples/react/start-tailwind-v4/package.json | 2 +- examples/react/start-trellaux/package.json | 2 +- examples/react/start-workos/package.json | 2 +- examples/react/view-transitions/package.json | 2 +- examples/react/with-framer-motion/package.json | 2 +- examples/react/with-trpc-react-query/package.json | 2 +- examples/react/with-trpc/package.json | 2 +- examples/solid/basic-devtools-panel/package.json | 2 +- examples/solid/basic-file-based/package.json | 2 +- examples/solid/basic-non-nested-devtools/package.json | 2 +- examples/solid/basic-solid-query-file-based/package.json | 2 +- examples/solid/basic-solid-query/package.json | 2 +- examples/solid/basic-ssr-streaming-file-based/package.json | 2 +- examples/solid/basic/package.json | 2 +- examples/solid/kitchen-sink-file-based/package.json | 2 +- examples/solid/quickstart-file-based/package.json | 2 +- examples/solid/start-bare/package.json | 2 +- examples/solid/start-basic-static/package.json | 2 +- examples/solid/start-basic/package.json | 2 +- package.json | 5 ++++- packages/directive-functions-plugin/package.json | 4 ++-- packages/react-start-plugin/package.json | 4 ++-- packages/react-start/package.json | 2 +- packages/router-plugin/package.json | 2 +- packages/solid-start-plugin/package.json | 4 ++-- packages/solid-start/package.json | 2 +- packages/start-plugin-core/package.json | 4 ++-- packages/start-server-core/package.json | 2 +- 113 files changed, 120 insertions(+), 117 deletions(-) diff --git a/e2e/react-router/basic-file-based-code-splitting/package.json b/e2e/react-router/basic-file-based-code-splitting/package.json index f77929bac73..4f9dfed627f 100644 --- a/e2e/react-router/basic-file-based-code-splitting/package.json +++ b/e2e/react-router/basic-file-based-code-splitting/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/basic-file-based/package.json b/e2e/react-router/basic-file-based/package.json index bd25d40f69c..8179110ae39 100644 --- a/e2e/react-router/basic-file-based/package.json +++ b/e2e/react-router/basic-file-based/package.json @@ -30,6 +30,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "combinate": "^1.1.11", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/basic-react-query-file-based/package.json b/e2e/react-router/basic-react-query-file-based/package.json index d19c42b64bb..536ffda03e7 100644 --- a/e2e/react-router/basic-react-query-file-based/package.json +++ b/e2e/react-router/basic-react-query-file-based/package.json @@ -30,6 +30,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/basic-react-query/package.json b/e2e/react-router/basic-react-query/package.json index b1d36927050..a21b735704f 100644 --- a/e2e/react-router/basic-react-query/package.json +++ b/e2e/react-router/basic-react-query/package.json @@ -28,6 +28,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/basic-scroll-restoration/package.json b/e2e/react-router/basic-scroll-restoration/package.json index dab75904e2c..bae1bf01149 100644 --- a/e2e/react-router/basic-scroll-restoration/package.json +++ b/e2e/react-router/basic-scroll-restoration/package.json @@ -27,6 +27,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/basic-virtual-file-based/package.json b/e2e/react-router/basic-virtual-file-based/package.json index ccfaa1ff493..76528f919f8 100644 --- a/e2e/react-router/basic-virtual-file-based/package.json +++ b/e2e/react-router/basic-virtual-file-based/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/basic-virtual-named-export-config-file-based/package.json b/e2e/react-router/basic-virtual-named-export-config-file-based/package.json index cc0549be9c3..32dde2537c5 100644 --- a/e2e/react-router/basic-virtual-named-export-config-file-based/package.json +++ b/e2e/react-router/basic-virtual-named-export-config-file-based/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/basic/package.json b/e2e/react-router/basic/package.json index bf74680fad6..77b551303d2 100644 --- a/e2e/react-router/basic/package.json +++ b/e2e/react-router/basic/package.json @@ -26,6 +26,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/generator-cli-only/package.json b/e2e/react-router/generator-cli-only/package.json index 10b802ae62b..2abf044f34e 100644 --- a/e2e/react-router/generator-cli-only/package.json +++ b/e2e/react-router/generator-cli-only/package.json @@ -27,6 +27,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/js-only-file-based/package.json b/e2e/react-router/js-only-file-based/package.json index f8881a588af..e940b16cf22 100644 --- a/e2e/react-router/js-only-file-based/package.json +++ b/e2e/react-router/js-only-file-based/package.json @@ -27,6 +27,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/scroll-restoration-sandbox-vite/package.json b/e2e/react-router/scroll-restoration-sandbox-vite/package.json index 1a28218b4f3..5dd548c59bb 100644 --- a/e2e/react-router/scroll-restoration-sandbox-vite/package.json +++ b/e2e/react-router/scroll-restoration-sandbox-vite/package.json @@ -32,6 +32,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-router/sentry-integration/package.json b/e2e/react-router/sentry-integration/package.json index e653d74ffb7..9acdf2a66a7 100644 --- a/e2e/react-router/sentry-integration/package.json +++ b/e2e/react-router/sentry-integration/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/react-start/basic-auth/package.json b/e2e/react-start/basic-auth/package.json index f5ee14762e0..ef5c97d77d2 100644 --- a/e2e/react-start/basic-auth/package.json +++ b/e2e/react-start/basic-auth/package.json @@ -21,7 +21,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5" + "vite": "^7.0.6" }, "devDependencies": { "@playwright/test": "^1.50.1", diff --git a/e2e/react-start/basic-react-query/package.json b/e2e/react-start/basic-react-query/package.json index 911392321cf..2d719430a3d 100644 --- a/e2e/react-start/basic-react-query/package.json +++ b/e2e/react-start/basic-react-query/package.json @@ -21,7 +21,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5" + "vite": "^7.0.6" }, "devDependencies": { "@playwright/test": "^1.50.1", diff --git a/e2e/react-start/basic-rsc/package.json b/e2e/react-start/basic-rsc/package.json index 9c820c9ccd4..a9905391052 100644 --- a/e2e/react-start/basic-rsc/package.json +++ b/e2e/react-start/basic-rsc/package.json @@ -17,7 +17,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5" + "vite": "^7.0.6" }, "devDependencies": { "@types/react": "^19.0.8", diff --git a/e2e/react-start/basic-tsr-config/package.json b/e2e/react-start/basic-tsr-config/package.json index 6e366951836..280772b8217 100644 --- a/e2e/react-start/basic-tsr-config/package.json +++ b/e2e/react-start/basic-tsr-config/package.json @@ -15,7 +15,7 @@ "@tanstack/react-start": "workspace:^", "react": "^19.0.0", "react-dom": "^19.0.0", - "vite": "^6.3.5" + "vite": "^7.0.6" }, "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", diff --git a/e2e/react-start/clerk-basic/package.disabled.json b/e2e/react-start/clerk-basic/package.disabled.json index d819677f464..e7c264af8a1 100644 --- a/e2e/react-start/clerk-basic/package.disabled.json +++ b/e2e/react-start/clerk-basic/package.disabled.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5" + "vite": "^7.0.6" }, "devDependencies": { "@playwright/test": "^1.50.1", diff --git a/e2e/react-start/scroll-restoration/package.json b/e2e/react-start/scroll-restoration/package.json index 6f9393c929d..dc7dd817173 100644 --- a/e2e/react-start/scroll-restoration/package.json +++ b/e2e/react-start/scroll-restoration/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5", + "vite": "^7.0.6", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/selective-ssr/package.json b/e2e/react-start/selective-ssr/package.json index 016d4c48bbb..3954f25f235 100644 --- a/e2e/react-start/selective-ssr/package.json +++ b/e2e/react-start/selective-ssr/package.json @@ -16,7 +16,7 @@ "@tanstack/react-start": "workspace:^", "react": "^19.0.0", "react-dom": "^19.0.0", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4", "zod": "^3.24.2" }, diff --git a/e2e/react-start/server-functions/package.json b/e2e/react-start/server-functions/package.json index bf735283d82..98d12c4dd51 100644 --- a/e2e/react-start/server-functions/package.json +++ b/e2e/react-start/server-functions/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5", + "vite": "^7.0.6", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/server-routes/package.json b/e2e/react-start/server-routes/package.json index e7352c35ced..d6b94a5548c 100644 --- a/e2e/react-start/server-routes/package.json +++ b/e2e/react-start/server-routes/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5", + "vite": "^7.0.6", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/spa-mode/package.json b/e2e/react-start/spa-mode/package.json index ec5aaa4d5d0..f50a9d44dc1 100644 --- a/e2e/react-start/spa-mode/package.json +++ b/e2e/react-start/spa-mode/package.json @@ -25,7 +25,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/react-start/virtual-routes/package.json b/e2e/react-start/virtual-routes/package.json index 3347f1e9957..47130377926 100644 --- a/e2e/react-start/virtual-routes/package.json +++ b/e2e/react-start/virtual-routes/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^6.3.5", + "vite": "^7.0.6", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/website/package.json b/e2e/react-start/website/package.json index 2990a23c08e..ec0c24dcf0a 100644 --- a/e2e/react-start/website/package.json +++ b/e2e/react-start/website/package.json @@ -31,7 +31,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-router/basic-file-based-code-splitting/package.json b/e2e/solid-router/basic-file-based-code-splitting/package.json index a5f829dd268..8182224e716 100644 --- a/e2e/solid-router/basic-file-based-code-splitting/package.json +++ b/e2e/solid-router/basic-file-based-code-splitting/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/e2e/solid-router/basic-file-based/package.json b/e2e/solid-router/basic-file-based/package.json index cbd7a0be6f6..1ecfcb862d2 100644 --- a/e2e/solid-router/basic-file-based/package.json +++ b/e2e/solid-router/basic-file-based/package.json @@ -27,6 +27,6 @@ "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", "combinate": "^1.1.11", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-router/basic-scroll-restoration/package.json b/e2e/solid-router/basic-scroll-restoration/package.json index e672d66d549..55ba3e52e00 100644 --- a/e2e/solid-router/basic-scroll-restoration/package.json +++ b/e2e/solid-router/basic-scroll-restoration/package.json @@ -24,6 +24,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-router/basic-solid-query-file-based/package.json b/e2e/solid-router/basic-solid-query-file-based/package.json index 96ce4bf3b09..7ef9e580c7d 100644 --- a/e2e/solid-router/basic-solid-query-file-based/package.json +++ b/e2e/solid-router/basic-solid-query-file-based/package.json @@ -27,6 +27,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-router/basic-solid-query/package.json b/e2e/solid-router/basic-solid-query/package.json index 5e3b98c5a2e..695ebfb1af1 100644 --- a/e2e/solid-router/basic-solid-query/package.json +++ b/e2e/solid-router/basic-solid-query/package.json @@ -25,6 +25,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-router/basic-virtual-file-based/package.json b/e2e/solid-router/basic-virtual-file-based/package.json index 2006c1686bb..63c3b46257f 100644 --- a/e2e/solid-router/basic-virtual-file-based/package.json +++ b/e2e/solid-router/basic-virtual-file-based/package.json @@ -26,6 +26,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json b/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json index 9fb9480d3cf..28750d9b9bd 100644 --- a/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json +++ b/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json @@ -26,6 +26,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-router/basic/package.json b/e2e/solid-router/basic/package.json index ddf05b049e2..e09f0e9e163 100644 --- a/e2e/solid-router/basic/package.json +++ b/e2e/solid-router/basic/package.json @@ -23,6 +23,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-router/scroll-restoration-sandbox-vite/package.json b/e2e/solid-router/scroll-restoration-sandbox-vite/package.json index 7319b70dd12..c0e5ada9c7a 100644 --- a/e2e/solid-router/scroll-restoration-sandbox-vite/package.json +++ b/e2e/solid-router/scroll-restoration-sandbox-vite/package.json @@ -29,6 +29,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/e2e/solid-start/selective-ssr/package.json b/e2e/solid-start/selective-ssr/package.json index 3be0fee142f..749e25af0ea 100644 --- a/e2e/solid-start/selective-ssr/package.json +++ b/e2e/solid-start/selective-ssr/package.json @@ -21,7 +21,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/spa-mode/package.json b/e2e/solid-start/spa-mode/package.json index 74f862abcbc..f2764e10032 100644 --- a/e2e/solid-start/spa-mode/package.json +++ b/e2e/solid-start/spa-mode/package.json @@ -22,7 +22,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/authenticated-routes-firebase/package.json b/examples/react/authenticated-routes-firebase/package.json index 0fecaf73264..2899dab73ee 100644 --- a/examples/react/authenticated-routes-firebase/package.json +++ b/examples/react/authenticated-routes-firebase/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index 7381e6bfd9e..056c5c3a0d2 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index 4525058b337..59bfcf396f5 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-devtools-panel/package.json b/examples/react/basic-devtools-panel/package.json index 0b2f4f3d349..2f85275e600 100644 --- a/examples/react/basic-devtools-panel/package.json +++ b/examples/react/basic-devtools-panel/package.json @@ -24,6 +24,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index fe7ffe0dc8b..310e8cd853c 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-non-nested-devtools/package.json b/examples/react/basic-non-nested-devtools/package.json index 33898b54436..baa472caa3f 100644 --- a/examples/react/basic-non-nested-devtools/package.json +++ b/examples/react/basic-non-nested-devtools/package.json @@ -23,6 +23,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 92f8249ea1f..59600e77565 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index 78439ec536f..4241deb605d 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 95eb1997b08..0e001ecc9ac 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -28,6 +28,6 @@ "@types/react-dom": "^19.0.1", "@vitejs/plugin-react": "^4.5.2", "typescript": "^5.8.3", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index db672dc3bc0..108d3951ae7 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -28,6 +28,6 @@ "@types/react-dom": "^19.0.1", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-virtual-file-based/package.json b/examples/react/basic-virtual-file-based/package.json index 5ce78c28a8f..621b07809b3 100644 --- a/examples/react/basic-virtual-file-based/package.json +++ b/examples/react/basic-virtual-file-based/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index 31aa29b62d3..5d18bec41d0 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index f7cc6ee242b..babf1c5f473 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -23,6 +23,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index ca7c12e7279..1f6e04cd323 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -24,6 +24,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index 068c571d495..af7acf4a235 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index 7b95a8d381f..acab1565507 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -28,6 +28,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index aebe59b3548..76a5a5a1759 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index 40164da38b6..41df3790013 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index 4d6609d31b1..f577adac267 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -28,6 +28,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 2880906a28b..4464a0c0063 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index 471adff8d3c..e809ba15ff7 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -24,6 +24,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index 34b279143e2..ead4af942f2 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index c95773c940d..2e566abdc6f 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -22,6 +22,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index 801740cad69..7e2ccda5202 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -25,7 +25,7 @@ "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", "@vitejs/plugin-react": "^4.3.4", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" }, "keywords": [], diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index 771f02d7f70..65c1f135414 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -24,7 +24,7 @@ "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" }, "nx": { diff --git a/examples/react/router-monorepo-react-query/packages/post-feature/package.json b/examples/react/router-monorepo-react-query/packages/post-feature/package.json index ef4700d04fc..1117105e02c 100644 --- a/examples/react/router-monorepo-react-query/packages/post-feature/package.json +++ b/examples/react/router-monorepo-react-query/packages/post-feature/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-react-query/packages/post-query/package.json b/examples/react/router-monorepo-react-query/packages/post-query/package.json index 6f856efc890..b8c50d8317f 100644 --- a/examples/react/router-monorepo-react-query/packages/post-query/package.json +++ b/examples/react/router-monorepo-react-query/packages/post-query/package.json @@ -15,6 +15,6 @@ "devDependencies": { "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index f2e9ba875ae..02629275697 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -23,7 +23,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple-lazy/package.json b/examples/react/router-monorepo-simple-lazy/package.json index 9c1589b98a4..50e0a201f9f 100644 --- a/examples/react/router-monorepo-simple-lazy/package.json +++ b/examples/react/router-monorepo-simple-lazy/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" }, "keywords": [], diff --git a/examples/react/router-monorepo-simple-lazy/packages/app/package.json b/examples/react/router-monorepo-simple-lazy/packages/app/package.json index a7b793eefd3..dc3ff8ff553 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/app/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/app/package.json @@ -23,7 +23,7 @@ "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" }, "nx": { diff --git a/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json b/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json index 324c49737ae..2d2977c7faa 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json @@ -26,7 +26,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple-lazy/packages/router/package.json b/examples/react/router-monorepo-simple-lazy/packages/router/package.json index 46dbd4338c9..7342635d9cc 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/router/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/router/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 19c210d78ce..9177b45db0f 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" }, "keywords": [], diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index 1d6f25adda8..464e24a6221 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -20,7 +20,7 @@ "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", "@tanstack/react-router-devtools": "^1.130.17", - "vite": "^6.3.5", + "vite": "^7.0.6", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-simple/packages/post-feature/package.json b/examples/react/router-monorepo-simple/packages/post-feature/package.json index 2a5ff9288e5..83419dac399 100644 --- a/examples/react/router-monorepo-simple/packages/post-feature/package.json +++ b/examples/react/router-monorepo-simple/packages/post-feature/package.json @@ -17,7 +17,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index fa3ad3811c5..37877c028e4 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index d21c1fd7e69..ccec755268d 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -23,6 +23,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index c49815331c6..eeaca1b5aae 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -33,6 +33,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/start-bare/package.json b/examples/react/start-bare/package.json index 55443c8d778..5c14cedcabe 100644 --- a/examples/react/start-bare/package.json +++ b/examples/react/start-bare/package.json @@ -22,7 +22,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index 411aba42c04..181ac9d4ca7 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -29,7 +29,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index 136e88d6ae1..81c935895a3 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -28,7 +28,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index 7843523e7a0..176957dd0e2 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -25,7 +25,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" }, "overrides": { diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index 9e5236bbb4f..1a27012cf6a 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -25,7 +25,7 @@ "postcss": "^8.4.49", "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index 2761847d21e..0bac0a9a2bf 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -26,7 +26,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index f1465d1742d..1e2015c9083 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -26,7 +26,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index 4e4dd4e43ff..8c6687fd9e2 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -37,7 +37,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index b16543d4e05..3f8b5141939 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -21,6 +21,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/start-large/package.json b/examples/react/start-large/package.json index e55bae7cd01..b8310cf9554 100644 --- a/examples/react/start-large/package.json +++ b/examples/react/start-large/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" }, "keywords": [], diff --git a/examples/react/start-material-ui/package.json b/examples/react/start-material-ui/package.json index 9689abeba36..08390568139 100644 --- a/examples/react/start-material-ui/package.json +++ b/examples/react/start-material-ui/package.json @@ -26,7 +26,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index c98413791da..eff24781b0f 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -29,7 +29,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-tailwind-v4/package.json b/examples/react/start-tailwind-v4/package.json index 49fe66fe38c..dedf46a20cf 100644 --- a/examples/react/start-tailwind-v4/package.json +++ b/examples/react/start-tailwind-v4/package.json @@ -24,7 +24,7 @@ "@types/react-dom": "^19.0.3", "tailwindcss": "^4.1.6", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index 2710cae5be7..bfe9c204425 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -32,7 +32,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.6.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-workos/package.json b/examples/react/start-workos/package.json index d4fc123d1fb..8aefc43d85f 100644 --- a/examples/react/start-workos/package.json +++ b/examples/react/start-workos/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/view-transitions/package.json b/examples/react/view-transitions/package.json index 832916b0512..9b005cc9577 100644 --- a/examples/react/view-transitions/package.json +++ b/examples/react/view-transitions/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index b84849000a4..54f664ef5a9 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index 0d0caac4384..a8edc60fbf7 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -33,6 +33,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "tsx": "^4.20.3", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index c78d679f226..914394c05fb 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -30,6 +30,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "tsx": "^4.20.3", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/solid/basic-devtools-panel/package.json b/examples/solid/basic-devtools-panel/package.json index 4ec7712f7f8..e888399d405 100644 --- a/examples/solid/basic-devtools-panel/package.json +++ b/examples/solid/basic-devtools-panel/package.json @@ -20,6 +20,6 @@ "devDependencies": { "vite-plugin-solid": "^2.11.8", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } diff --git a/examples/solid/basic-file-based/package.json b/examples/solid/basic-file-based/package.json index 22266067d02..35c2afe10e2 100644 --- a/examples/solid/basic-file-based/package.json +++ b/examples/solid/basic-file-based/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-non-nested-devtools/package.json b/examples/solid/basic-non-nested-devtools/package.json index ec55716032d..233a660b58d 100644 --- a/examples/solid/basic-non-nested-devtools/package.json +++ b/examples/solid/basic-non-nested-devtools/package.json @@ -21,7 +21,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-solid-query-file-based/package.json b/examples/solid/basic-solid-query-file-based/package.json index adfcf77c5a5..14e5d32914f 100644 --- a/examples/solid/basic-solid-query-file-based/package.json +++ b/examples/solid/basic-solid-query-file-based/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-solid-query/package.json b/examples/solid/basic-solid-query/package.json index cd9e4f3f91f..c3a1dcc3395 100644 --- a/examples/solid/basic-solid-query/package.json +++ b/examples/solid/basic-solid-query/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index ac793f3a0c4..139634ab2b6 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -29,7 +29,7 @@ "@tanstack/router-plugin": "^1.130.17", "@types/express": "^4.17.21", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json index 9d743636222..2ed3f445681 100644 --- a/examples/solid/basic/package.json +++ b/examples/solid/basic/package.json @@ -21,7 +21,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/kitchen-sink-file-based/package.json b/examples/solid/kitchen-sink-file-based/package.json index 08a87f63bd9..d0665fcf45e 100644 --- a/examples/solid/kitchen-sink-file-based/package.json +++ b/examples/solid/kitchen-sink-file-based/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/quickstart-file-based/package.json b/examples/solid/quickstart-file-based/package.json index 124d01b6d76..0a1843a1b8a 100644 --- a/examples/solid/quickstart-file-based/package.json +++ b/examples/solid/quickstart-file-based/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/start-bare/package.json b/examples/solid/start-bare/package.json index 5752494106f..49ef0844b69 100644 --- a/examples/solid/start-bare/package.json +++ b/examples/solid/start-bare/package.json @@ -22,7 +22,7 @@ "vite-plugin-solid": "^2.11.8", "combinate": "^1.1.11", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index ccd79201bb3..01075789eb5 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -22,7 +22,7 @@ "postcss": "^8.4.49", "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/solid/start-basic/package.json b/examples/solid/start-basic/package.json index 78126c5d124..054c9456f9f 100644 --- a/examples/solid/start-basic/package.json +++ b/examples/solid/start-basic/package.json @@ -22,7 +22,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^6.3.5", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } diff --git a/package.json b/package.json index b5166a1310b..93c96faf13e 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,10 @@ "typescript55": "npm:typescript@5.5", "typescript56": "npm:typescript@5.6", "typescript57": "npm:typescript@5.7", - "typescript58": "npm:typescript@5.8" + "typescript58": "npm:typescript@5.8", + + "vite": "7.0.6", + "vitest": "^3.0.6" }, "pnpm": { "overrides": { diff --git a/packages/directive-functions-plugin/package.json b/packages/directive-functions-plugin/package.json index acc0261dbbd..a0a70024c39 100644 --- a/packages/directive-functions-plugin/package.json +++ b/packages/directive-functions-plugin/package.json @@ -77,9 +77,9 @@ "@types/babel__code-frame": "^7.0.6", "@types/babel__core": "^7.20.5", "@types/babel__traverse": "^7.20.7", - "vite": "^6.0.0" + "vite": "^7.0.6" }, "peerDependencies": { - "vite": ">=6.0.0" + "vite": ">=6.0.0 || >=7.0.0" } } diff --git a/packages/react-start-plugin/package.json b/packages/react-start-plugin/package.json index 62d8c3f4a63..bbfdb7ebf17 100644 --- a/packages/react-start-plugin/package.json +++ b/packages/react-start-plugin/package.json @@ -65,9 +65,9 @@ "zod": "^3.24.2" }, "devDependencies": { - "vite": "^6.0.0" + "vite": "^7.0.6" }, "peerDependencies": { - "vite": ">=6.0.0" + "vite": ">=7.0.0" } } diff --git a/packages/react-start/package.json b/packages/react-start/package.json index 59942a8aa14..f7ea80c1d59 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -113,7 +113,7 @@ "@vitejs/plugin-react": ">=4.3.4", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0", - "vite": ">=6.0.0" + "vite": ">=7.0.0" }, "devDependencies": { "esbuild": "^0.25.0" diff --git a/packages/router-plugin/package.json b/packages/router-plugin/package.json index 0a468105a69..3b7bcefa351 100644 --- a/packages/router-plugin/package.json +++ b/packages/router-plugin/package.json @@ -127,7 +127,7 @@ "peerDependencies": { "@rsbuild/core": ">=1.0.2", "@tanstack/react-router": "workspace:^", - "vite": ">=5.0.0 || >=6.0.0", + "vite": ">=5.0.0 || >=6.0.0 || >=7.0.0", "vite-plugin-solid": "^2.11.8", "webpack": ">=5.92.0" }, diff --git a/packages/solid-start-plugin/package.json b/packages/solid-start-plugin/package.json index 22730eaba1f..6410262e176 100644 --- a/packages/solid-start-plugin/package.json +++ b/packages/solid-start-plugin/package.json @@ -69,10 +69,10 @@ "zod": "^3.24.2" }, "devDependencies": { - "vite": "^6.0.0", + "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" }, "peerDependencies": { - "vite": ">=6.0.0" + "vite": ">=7.0.0" } } diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index 7b399f688d8..f582c28aa67 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -111,7 +111,7 @@ }, "peerDependencies": { "solid-js": ">=1.0.0", - "vite": ">=6.0.0" + "vite": ">=7.0.0" }, "devDependencies": { "esbuild": "^0.25.0" diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 20b886e9132..57e475b4a5a 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -88,9 +88,9 @@ "zod": "^3.24.2" }, "devDependencies": { - "vite": "^6.0.0" + "vite": "^7.0.6" }, "peerDependencies": { - "vite": ">=6.0.0" + "vite": ">=7.0.0" } } diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index 916cdb364a5..4ffa60db3f5 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -76,6 +76,6 @@ "@tanstack/directive-functions-plugin": "workspace:*", "esbuild": "^0.25.0", "typescript": "^5.7.2", - "vite": "^6.3.5" + "vite": "^7.0.6" } } From e9acd376ba3441dfeab7abba85908c43f2c64eca Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 004/271] rename plugin --- packages/start-plugin-core/src/dev-server-plugin/plugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts index 0634d4c14a8..a9202f9a671 100644 --- a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts @@ -14,7 +14,7 @@ export function devServerPlugin(): Plugin { let isTest = false return { - name: 'start-dev-ssr-plugin', + name: 'tanstack-start-core:dev-server', config(userConfig, { mode }) { // config = userConfig isTest = isTest ? isTest : mode === 'test' From c4b217f578a43939d51371c9dca73a36ef6f67c0 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 005/271] use virtual module for injected head scripts instead of globalThis --- .../src/dev-server-plugin/plugin.ts | 217 ++++++++++-------- packages/start-server-core/src/global.d.ts | 3 - .../src/loadVirtualModule.ts | 2 + .../start-server-core/src/router-manifest.ts | 7 +- .../start-server-core/src/tanstack-start.d.ts | 4 + .../start-server-core/src/virtual-modules.ts | 2 + 6 files changed, 132 insertions(+), 103 deletions(-) diff --git a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts index a9202f9a671..7539684a351 100644 --- a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts @@ -1,117 +1,117 @@ import { createEvent, getHeader, sendWebResponse } from 'h3' import { isRunnableDevEnvironment } from 'vite' +import { VIRTUAL_MODULES } from '@tanstack/start-server-core' import { VITE_ENVIRONMENT_NAMES } from '../constants' +import { resolveViteId } from '../utils' import { extractHtmlScripts } from './extract-html-scripts' -import type { Connect, DevEnvironment, Plugin } from 'vite' +import type { Connect, DevEnvironment, PluginOption } from 'vite' -/* eslint-disable no-var */ -declare global { - var TSS_INJECTED_HEAD_SCRIPTS: string | undefined -} - -export function devServerPlugin(): Plugin { - // let config: UserConfig +export function devServerPlugin(): PluginOption { let isTest = false - return { - name: 'tanstack-start-core:dev-server', - config(userConfig, { mode }) { - // config = userConfig - isTest = isTest ? isTest : mode === 'test' - // see https://vite.dev/config/shared-options.html#apptype - // this will prevent vite from injecting middlewares that we don't want - userConfig.appType = 'custom' - }, - async configureServer(viteDevServer) { - if (isTest) { - return - } - - // Extract the scripts that Vite plugins would inject into the initial HTML - const templateHtml = `` - const transformedHtml = await viteDevServer.transformIndexHtml( - '/', - templateHtml, - ) - const scripts = extractHtmlScripts(transformedHtml) - globalThis.TSS_INJECTED_HEAD_SCRIPTS = scripts - .map((script) => script.content ?? '') - .join(';') + let injectedHeadScripts: string | undefined - return () => { - // do not install middleware in middlewareMode - if (viteDevServer.config.server.middlewareMode) { + return [ + { + name: 'tanstack-start-core:dev-server', + config(_userConfig, { mode }) { + isTest = isTest ? isTest : mode === 'test' + }, + async configureServer(viteDevServer) { + if (isTest) { return } - viteDevServer.middlewares.use(async (req, res, next) => { - // Create an H3Event to have it passed into the server entry - // i.e: event => defineEventHandler(event) - // fix the request URL to match the original URL - // otherwise, the request URL will '/index.html' - if (req.originalUrl) { - req.url = req.originalUrl + // Extract the scripts that Vite plugins would inject into the initial HTML + const templateHtml = `` + const transformedHtml = await viteDevServer.transformIndexHtml( + '/', + templateHtml, + ) + const scripts = extractHtmlScripts(transformedHtml) + injectedHeadScripts = scripts.filter((script) => script.content) + .join(';') + + return () => { + // do not install middleware in middlewareMode + if (viteDevServer.config.server.middlewareMode) { + return } - const event = createEvent(req, res) const serverEnv = viteDevServer.environments[ VITE_ENVIRONMENT_NAMES.server ] as DevEnvironment | undefined - try { - if (!serverEnv) { - throw new Error( - `Server environment ${VITE_ENVIRONMENT_NAMES.server} not found`, - ) - } + if (!serverEnv) { + throw new Error( + `Server environment ${VITE_ENVIRONMENT_NAMES.server} not found`, + ) + } - if (!isRunnableDevEnvironment(serverEnv)) { - return next() + // do not install middleware if SSR env in case another plugin already did + if ( + !isRunnableDevEnvironment(serverEnv) || + // do not check via `isFetchableDevEnvironment` since nitro does implement the `FetchableDevEnvironment` interface but not via inheritance (which this helper checks) + 'dispatchFetch' in serverEnv + ) { + return + } + + viteDevServer.middlewares.use(async (req, res) => { + // Create an H3Event to have it passed into the server entry + // i.e: event => defineEventHandler(event) + + // fix the request URL to match the original URL + // otherwise, the request URL will '/index.html' + if (req.originalUrl) { + req.url = req.originalUrl } + const event = createEvent(req, res) - // Import and resolve the request by running the server entry point - // i.e export default defineEventHandler((event) => { ... }) - const serverEntry = await serverEnv.runner.import( - '/~start/server-entry', - ) - const response = await serverEntry['default'](event) + try { + // Import and resolve the request by running the server entry point + // i.e export default defineEventHandler((event) => { ... }) + const serverEntry = await serverEnv.runner.import( + '/~start/server-entry', + ) + const response = await serverEntry['default'](event) - return sendWebResponse(event, response) - } catch (e) { - console.error(e) - viteDevServer.ssrFixStacktrace(e as Error) + return sendWebResponse(event, response) + } catch (e) { + console.error(e) + viteDevServer.ssrFixStacktrace(e as Error) - if ( - getHeader(event, 'content-type')?.includes('application/json') - ) { - return sendWebResponse( - event, - new Response( - JSON.stringify( + if ( + getHeader(event, 'content-type')?.includes('application/json') + ) { + return sendWebResponse( + event, + new Response( + JSON.stringify( + { + status: 500, + error: 'Internal Server Error', + message: + 'An unexpected error occurred. Please try again later.', + timestamp: new Date().toISOString(), + }, + null, + 2, + ), { status: 500, - error: 'Internal Server Error', - message: - 'An unexpected error occurred. Please try again later.', - timestamp: new Date().toISOString(), + headers: { + 'Content-Type': 'application/json', + }, }, - null, - 2, ), - { - status: 500, - headers: { - 'Content-Type': 'application/json', - }, - }, - ), - ) - } + ) + } - return sendWebResponse( - event, - new Response( - ` + return sendWebResponse( + event, + new Response( + ` @@ -128,19 +128,40 @@ export function devServerPlugin(): Plugin { `, - { - status: 500, - headers: { - 'Content-Type': 'text/html', + { + status: 500, + headers: { + 'Content-Type': 'text/html', + }, }, - }, - ), - ) - } - }) - } + ), + ) + } + }) + } + }, }, - } + { + name: 'tanstack-start-core:dev-server:injected-head-scripts', + applyToEnvironment: (env) => env.name === VITE_ENVIRONMENT_NAMES.server, + resolveId: { + filter: { id: new RegExp(VIRTUAL_MODULES.injectedHeadScripts) }, + handler(_id) { + return resolveViteId(VIRTUAL_MODULES.injectedHeadScripts) + }, + }, + load: { + filter: { + id: new RegExp(resolveViteId(VIRTUAL_MODULES.injectedHeadScripts)), + }, + handler() { + const mod = ` + export const injectedHeadScripts = ${JSON.stringify(injectedHeadScripts) || 'undefined'}` + return mod + }, + }, + }, + ] } /** diff --git a/packages/start-server-core/src/global.d.ts b/packages/start-server-core/src/global.d.ts index d367c4b70be..684b909ed65 100644 --- a/packages/start-server-core/src/global.d.ts +++ b/packages/start-server-core/src/global.d.ts @@ -1,7 +1,4 @@ -/* eslint-disable no-var */ declare global { - var TSS_INJECTED_HEAD_SCRIPTS: string | undefined - namespace NodeJS { interface ProcessEnv { TSS_APP_BASE?: string diff --git a/packages/start-server-core/src/loadVirtualModule.ts b/packages/start-server-core/src/loadVirtualModule.ts index c7926fb5b48..4e3d11507ca 100644 --- a/packages/start-server-core/src/loadVirtualModule.ts +++ b/packages/start-server-core/src/loadVirtualModule.ts @@ -15,6 +15,8 @@ export async function loadVirtualModule( return (await import('tanstack-start-manifest:v')) as any case VIRTUAL_MODULES.serverFnManifest: return (await import('tanstack-start-server-fn-manifest:v')) as any + case VIRTUAL_MODULES.injectedHeadScripts: + return (await import('tanstack-start-injected-head-scripts:v')) as any default: throw new Error(`Unknown virtual module: ${id}`) } diff --git a/packages/start-server-core/src/router-manifest.ts b/packages/start-server-core/src/router-manifest.ts index c3eca10e208..ebf8b729111 100644 --- a/packages/start-server-core/src/router-manifest.ts +++ b/packages/start-server-core/src/router-manifest.ts @@ -21,8 +21,11 @@ export async function getStartManifest(opts: { basePath: string }) { let script = `import('${startManifest.clientEntry}')` if (process.env.NODE_ENV === 'development') { - if (globalThis.TSS_INJECTED_HEAD_SCRIPTS) { - script = `${globalThis.TSS_INJECTED_HEAD_SCRIPTS + ';'}${script}` + const { injectedHeadScripts } = await loadVirtualModule( + VIRTUAL_MODULES.injectedHeadScripts, + ) + if (injectedHeadScripts) { + script = `${injectedHeadScripts + ';'}${script}` } } rootRoute.assets.push({ diff --git a/packages/start-server-core/src/tanstack-start.d.ts b/packages/start-server-core/src/tanstack-start.d.ts index c4fe20b53d4..88eaf795637 100644 --- a/packages/start-server-core/src/tanstack-start.d.ts +++ b/packages/start-server-core/src/tanstack-start.d.ts @@ -25,3 +25,7 @@ declare module 'tanstack-start-server-fn-manifest:v' { export default serverFnManifest } + +declare module 'tanstack-start-injected-head-scripts:v' { + export const injectedHeadScripts: string | undefined +} diff --git a/packages/start-server-core/src/virtual-modules.ts b/packages/start-server-core/src/virtual-modules.ts index a44146d8383..cdeac516590 100644 --- a/packages/start-server-core/src/virtual-modules.ts +++ b/packages/start-server-core/src/virtual-modules.ts @@ -4,10 +4,12 @@ export const VIRTUAL_MODULES = { routeTree: 'tanstack-start-route-tree:v', startManifest: 'tanstack-start-manifest:v', serverFnManifest: 'tanstack-start-server-fn-manifest:v', + injectedHeadScripts: 'tanstack-start-injected-head-scripts:v', } as const export type VirtualModules = { [VIRTUAL_MODULES.routeTree]: typeof import('tanstack-start-route-tree:v') [VIRTUAL_MODULES.startManifest]: typeof import('tanstack-start-manifest:v') [VIRTUAL_MODULES.serverFnManifest]: typeof import('tanstack-start-server-fn-manifest:v') + [VIRTUAL_MODULES.injectedHeadScripts]: typeof import('tanstack-start-injected-head-scripts:v') } From 0e30ec122982b5b8f37e700efceb657e723f7d2c Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 006/271] cleanup --- packages/react-start-server/package.json | 5 +--- .../react-start-server/vite-minify-plugin.ts | 25 ------------------- packages/react-start-server/vite.config.ts | 4 +-- packages/react-start/package.json | 3 --- packages/solid-start-server/package.json | 4 +-- .../solid-start-server/vite-minify-plugin.ts | 25 ------------------- packages/solid-start-server/vite.config.ts | 5 +--- packages/solid-start/package.json | 3 --- packages/start-plugin-core/package.json | 6 ++--- packages/start-server-core/package.json | 6 +---- 10 files changed, 8 insertions(+), 78 deletions(-) delete mode 100644 packages/react-start-server/vite-minify-plugin.ts delete mode 100644 packages/solid-start-server/vite-minify-plugin.ts diff --git a/packages/react-start-server/package.json b/packages/react-start-server/package.json index 04dc7fafb61..9eacacb8fd8 100644 --- a/packages/react-start-server/package.json +++ b/packages/react-start-server/package.json @@ -66,13 +66,10 @@ "@tanstack/react-router": "workspace:*", "@tanstack/router-core": "workspace:*", "@tanstack/start-client-core": "workspace:*", - "@tanstack/start-server-core": "workspace:*", - "h3": "1.13.0", - "isbot": "^5.1.22" + "@tanstack/start-server-core": "workspace:*" }, "devDependencies": { "@vitejs/plugin-react": "^4.3.4", - "esbuild": "^0.25.0", "react": "^19.0.0", "react-dom": "^19.0.0", "typescript": "^5.7.2" diff --git a/packages/react-start-server/vite-minify-plugin.ts b/packages/react-start-server/vite-minify-plugin.ts deleted file mode 100644 index d8da2902669..00000000000 --- a/packages/react-start-server/vite-minify-plugin.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { transform as esbuildTransform } from 'esbuild' -import type { Plugin } from 'vite' - -export default function minifyScriptPlugin(): Plugin { - return { - name: 'vite-plugin-minify-script', - enforce: 'pre', - async transform(code, id) { - if (!id.endsWith('?script-string')) { - return null - } - - const result = await esbuildTransform(code, { - loader: 'ts', - minify: true, - target: 'esnext', - }) - - return { - code: `export default ${JSON.stringify(result.code)};`, - map: null, - } - }, - } -} diff --git a/packages/react-start-server/vite.config.ts b/packages/react-start-server/vite.config.ts index e05e5cc394a..c5f4dc491c5 100644 --- a/packages/react-start-server/vite.config.ts +++ b/packages/react-start-server/vite.config.ts @@ -2,11 +2,9 @@ import { defineConfig, mergeConfig } from 'vitest/config' import { tanstackViteConfig } from '@tanstack/config/vite' import react from '@vitejs/plugin-react' import packageJson from './package.json' -import minifyScriptPlugin from './vite-minify-plugin' -import type { ViteUserConfig } from 'vitest/config' const config = defineConfig({ - plugins: [minifyScriptPlugin(), react()] as ViteUserConfig['plugins'], + plugins: [react()], test: { name: packageJson.name, watch: false, diff --git a/packages/react-start/package.json b/packages/react-start/package.json index f7ea80c1d59..2fa5d4ed439 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -114,8 +114,5 @@ "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0", "vite": ">=7.0.0" - }, - "devDependencies": { - "esbuild": "^0.25.0" } } diff --git a/packages/solid-start-server/package.json b/packages/solid-start-server/package.json index e5aae3b4643..156b6c97f2c 100644 --- a/packages/solid-start-server/package.json +++ b/packages/solid-start-server/package.json @@ -67,11 +67,9 @@ "@tanstack/router-core": "workspace:*", "@tanstack/solid-router": "workspace:*", "@tanstack/start-client-core": "workspace:*", - "@tanstack/start-server-core": "workspace:*", - "isbot": "^5.1.22" + "@tanstack/start-server-core": "workspace:*" }, "devDependencies": { - "esbuild": "^0.25.0", "solid-js": "^1.9.5", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8" diff --git a/packages/solid-start-server/vite-minify-plugin.ts b/packages/solid-start-server/vite-minify-plugin.ts deleted file mode 100644 index d8da2902669..00000000000 --- a/packages/solid-start-server/vite-minify-plugin.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { transform as esbuildTransform } from 'esbuild' -import type { Plugin } from 'vite' - -export default function minifyScriptPlugin(): Plugin { - return { - name: 'vite-plugin-minify-script', - enforce: 'pre', - async transform(code, id) { - if (!id.endsWith('?script-string')) { - return null - } - - const result = await esbuildTransform(code, { - loader: 'ts', - minify: true, - target: 'esnext', - }) - - return { - code: `export default ${JSON.stringify(result.code)};`, - map: null, - } - }, - } -} diff --git a/packages/solid-start-server/vite.config.ts b/packages/solid-start-server/vite.config.ts index c0a74542911..7ef5e5281fe 100644 --- a/packages/solid-start-server/vite.config.ts +++ b/packages/solid-start-server/vite.config.ts @@ -2,14 +2,11 @@ import { defineConfig, mergeConfig } from 'vitest/config' import { tanstackViteConfig } from '@tanstack/config/vite' import solid from 'vite-plugin-solid' import packageJson from './package.json' -import minifyScriptPlugin from './vite-minify-plugin' -import type { ViteUserConfig } from 'vitest/config' const config = defineConfig({ plugins: [ - minifyScriptPlugin(), solid({ solid: { generate: 'ssr' } }), - ] as ViteUserConfig['plugins'], + ], test: { name: packageJson.name, watch: false, diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index f582c28aa67..4a9a1ea832e 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -112,8 +112,5 @@ "peerDependencies": { "solid-js": ">=1.0.0", "vite": ">=7.0.0" - }, - "devDependencies": { - "esbuild": "^0.25.0" } } diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 57e475b4a5a..0d39e0b2f9c 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -75,19 +75,19 @@ "@tanstack/router-utils": "workspace:*", "@tanstack/server-functions-plugin": "workspace:*", "@tanstack/start-server-core": "workspace:*", - "@types/babel__code-frame": "^7.0.6", - "@types/babel__core": "^7.20.5", "babel-dead-code-elimination": "^1.0.9", "cheerio": "^1.0.0", - "h3": "1.13.0", "nitropack": "^2.11.12", "pathe": "^2.0.3", + "srvx": "^0.8.2", "ufo": "^1.5.4", "vitefu": "^1.1.1", "xmlbuilder2": "^3.1.1", "zod": "^3.24.2" }, "devDependencies": { + "@types/babel__code-frame": "^7.0.6", + "@types/babel__core": "^7.20.5", "vite": "^7.0.6" }, "peerDependencies": { diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index 4ffa60db3f5..dd4e99fd596 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -67,14 +67,10 @@ "@tanstack/start-client-core": "workspace:*", "@tanstack/start-storage-context": "workspace:*", "h3": "1.13.0", - "isbot": "^5.1.22", - "tiny-invariant": "^1.3.3", - "tiny-warning": "^1.0.3", - "unctx": "^2.4.1" + "tiny-invariant": "^1.3.3" }, "devDependencies": { "@tanstack/directive-functions-plugin": "workspace:*", - "esbuild": "^0.25.0", "typescript": "^5.7.2", "vite": "^7.0.6" } From 1520e9f00106da22201466b19d8dab3dd3d8c1f3 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 007/271] migrate to h3 v2 --- .../src/dev-server-plugin/plugin.ts | 35 +- packages/start-server-core/package.json | 5 +- .../src/createStartHandler.ts | 12 +- packages/start-server-core/src/h3.ts | 492 ------------------ packages/start-server-core/src/index.tsx | 2 +- .../start-server-core/src/request-response.ts | 298 +++++++++++ .../src/server-functions-handler.ts | 4 +- packages/start-server-core/src/session.ts | 75 +++ .../tests/h3-wrappers.test-d.ts | 350 ------------- 9 files changed, 405 insertions(+), 868 deletions(-) delete mode 100644 packages/start-server-core/src/h3.ts create mode 100644 packages/start-server-core/src/request-response.ts create mode 100644 packages/start-server-core/src/session.ts delete mode 100644 packages/start-server-core/tests/h3-wrappers.test-d.ts diff --git a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts index 7539684a351..fd0d5005108 100644 --- a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts @@ -1,6 +1,6 @@ -import { createEvent, getHeader, sendWebResponse } from 'h3' import { isRunnableDevEnvironment } from 'vite' import { VIRTUAL_MODULES } from '@tanstack/start-server-core' +import { NodeRequest, sendNodeResponse } from "srvx/node"; import { VITE_ENVIRONMENT_NAMES } from '../constants' import { resolveViteId } from '../utils' import { extractHtmlScripts } from './extract-html-scripts' @@ -29,7 +29,7 @@ export function devServerPlugin(): PluginOption { templateHtml, ) const scripts = extractHtmlScripts(transformedHtml) - injectedHeadScripts = scripts.filter((script) => script.content) + injectedHeadScripts = scripts.flatMap((script) => script.content ?? []) .join(';') return () => { @@ -58,34 +58,36 @@ export function devServerPlugin(): PluginOption { } viteDevServer.middlewares.use(async (req, res) => { - // Create an H3Event to have it passed into the server entry - // i.e: event => defineEventHandler(event) - // fix the request URL to match the original URL // otherwise, the request URL will '/index.html' if (req.originalUrl) { req.url = req.originalUrl } - const event = createEvent(req, res) + const webReq = new NodeRequest({ req, res }) try { - // Import and resolve the request by running the server entry point - // i.e export default defineEventHandler((event) => { ... }) + // Import and resolve the request by running the server request entry point + // this request entry point must implement the `fetch` API as follows: + /** + * export default { + * async fetch(req: Request) => Promise + * } + */ const serverEntry = await serverEnv.runner.import( '/~start/server-entry', ) - const response = await serverEntry['default'](event) + const webRes = await serverEntry['default'].fetch(webReq) - return sendWebResponse(event, response) + return sendNodeResponse(res, webRes) } catch (e) { console.error(e) viteDevServer.ssrFixStacktrace(e as Error) if ( - getHeader(event, 'content-type')?.includes('application/json') + webReq.headers.get('content-type')?.includes('application/json') ) { - return sendWebResponse( - event, + return sendNodeResponse( + res, new Response( JSON.stringify( { @@ -108,8 +110,8 @@ export function devServerPlugin(): PluginOption { ) } - return sendWebResponse( - event, + return sendNodeResponse( + res, new Response( ` @@ -143,7 +145,8 @@ export function devServerPlugin(): PluginOption { }, { name: 'tanstack-start-core:dev-server:injected-head-scripts', - applyToEnvironment: (env) => env.name === VITE_ENVIRONMENT_NAMES.server, + sharedDuringBuild: true, + applyToEnvironment: (env) => env.config.consumer === 'server', resolveId: { filter: { id: new RegExp(VIRTUAL_MODULES.injectedHeadScripts) }, handler(_id) { diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index dd4e99fd596..370ca4c3d4f 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -62,11 +62,14 @@ "node": ">=12" }, "dependencies": { + "@standard-schema/spec": "^1.0.0", "@tanstack/history": "workspace:*", "@tanstack/router-core": "workspace:*", "@tanstack/start-client-core": "workspace:*", "@tanstack/start-storage-context": "workspace:*", - "h3": "1.13.0", + "cookie-es": "^1.2.2", + "fetchdts": "^0.1.5", + "h3": "2.0.0-beta.3", "tiny-invariant": "^1.3.3" }, "devDependencies": { diff --git a/packages/start-server-core/src/createStartHandler.ts b/packages/start-server-core/src/createStartHandler.ts index 1a1691abacd..17ab8efd8d5 100644 --- a/packages/start-server-core/src/createStartHandler.ts +++ b/packages/start-server-core/src/createStartHandler.ts @@ -14,7 +14,7 @@ import { } from '@tanstack/router-core' import { attachRouterServerSsrUtils } from '@tanstack/router-core/ssr/server' import { runWithStartContext } from '@tanstack/start-storage-context' -import { getResponseHeaders, requestHandler } from './h3' +import { getResponseHeaders, requestHandler } from './request-response' import { getStartManifest } from './router-manifest' import { handleServerAction } from './server-functions-handler' import { VIRTUAL_MODULES } from './virtual-modules' @@ -25,7 +25,7 @@ import type { AnyServerRouteWithTypes, ServerRouteMethodHandlerFn, } from './serverRoute' -import type { RequestHandler } from './h3' +import type { RequestHandler } from './request-response' import type { AnyRoute, AnyRouter, @@ -43,9 +43,9 @@ export type CustomizeStartHandler = ( function getStartResponseHeaders(opts: { router: AnyRouter }) { const headers = mergeHeaders( - getResponseHeaders(), + getResponseHeaders() as Headers, { - 'Content-Type': 'text/html; charset=UTF-8', + 'Content-Type': 'text/html; charset=utf-8', }, ...opts.router.state.matches.map((match) => { return match.headers @@ -71,7 +71,7 @@ export function createStartHandler({ return (cb) => { const originalFetch = globalThis.fetch - const startRequestResolver: RequestHandler = async ({ request }) => { + const startRequestResolver: RequestHandler = async (request) => { // Patching fetch function to use our request resolver // if the input starts with `/` which is a common pattern for // client-side routing. @@ -80,7 +80,7 @@ export function createStartHandler({ globalThis.fetch = async function (input, init) { function resolve(url: URL, requestOptions: RequestInit | undefined) { const fetchRequest = new Request(url, requestOptions) - return startRequestResolver({ request: fetchRequest }) + return startRequestResolver(fetchRequest) } function getOrigin() { diff --git a/packages/start-server-core/src/h3.ts b/packages/start-server-core/src/h3.ts deleted file mode 100644 index 72108f0c2dc..00000000000 --- a/packages/start-server-core/src/h3.ts +++ /dev/null @@ -1,492 +0,0 @@ -import { AsyncLocalStorage } from 'node:async_hooks' -import { - H3Event, - appendCorsHeaders as _appendCorsHeaders, - appendCorsPreflightHeaders as _appendCorsPreflightHeaders, - appendHeader as _appendHeader, - appendHeaders as _appendHeaders, - appendResponseHeader as _appendResponseHeader, - appendResponseHeaders as _appendResponseHeaders, - assertMethod as _assertMethod, - clearResponseHeaders as _clearResponseHeaders, - clearSession as _clearSession, - defaultContentType as _defaultContentType, - defineEventHandler as _defineEventHandler, - deleteCookie as _deleteCookie, - eventHandler as _eventHandler, - fetchWithEvent as _fetchWithEvent, - getCookie as _getCookie, - getHeader as _getHeader, - getHeaders as _getHeaders, - getProxyRequestHeaders as _getProxyRequestHeaders, - getQuery as _getQuery, - getRequestFingerprint as _getRequestFingerprint, - getRequestHeader as _getRequestHeader, - getRequestHeaders as _getRequestHeaders, - getRequestHost as _getRequestHost, - getRequestIP as _getRequestIP, - getRequestProtocol as _getRequestProtocol, - getRequestURL as _getRequestURL, - getRequestWebStream as _getRequestWebStream, - getResponseHeader as _getResponseHeader, - getResponseHeaders as _getResponseHeaders, - getResponseStatus as _getResponseStatus, - getResponseStatusText as _getResponseStatusText, - getRouterParam as _getRouterParam, - getRouterParams as _getRouterParams, - getSession as _getSession, - getValidatedQuery as _getValidatedQuery, - getValidatedRouterParams as _getValidatedRouterParams, - handleCacheHeaders as _handleCacheHeaders, - handleCors as _handleCors, - isMethod as _isMethod, - isPreflightRequest as _isPreflightRequest, - parseCookies as _parseCookies, - proxyRequest as _proxyRequest, - readBody as _readBody, - readFormData as _readFormData, - readMultipartFormData as _readMultipartFormData, - readRawBody as _readRawBody, - readValidatedBody as _readValidatedBody, - removeResponseHeader as _removeResponseHeader, - sealSession as _sealSession, - send as _send, - sendError as _sendError, - sendNoContent as _sendNoContent, - sendProxy as _sendProxy, - sendRedirect as _sendRedirect, - sendStream as _sendStream, - sendWebResponse as _sendWebResponse, - setCookie as _setCookie, - setHeader as _setHeader, - setHeaders as _setHeaders, - setResponseHeader as _setResponseHeader, - setResponseHeaders as _setResponseHeaders, - setResponseStatus as _setResponseStatus, - toWebRequest as _toWebRequest, - unsealSession as _unsealSession, - updateSession as _updateSession, - useSession as _useSession, - writeEarlyHints as _writeEarlyHints, -} from 'h3' - -import type { - Encoding, - EventHandler, - HTTPHeaderName, - InferEventInput, - _RequestMiddleware, - _ResponseMiddleware, -} from 'h3' - -const eventStorage = new AsyncLocalStorage() - -function _setContext(event: H3Event, key: string, value: any) { - event.context[key] = value -} - -function _getContext(event: H3Event, key: string) { - return event.context[key] -} - -export function defineMiddleware(options: { - onRequest?: _RequestMiddleware | Array<_RequestMiddleware> - onBeforeResponse?: _ResponseMiddleware | Array<_ResponseMiddleware> -}) { - return options -} - -// function toWebRequestH3(event: H3Event) { -// /** -// * @type {ReadableStream | undefined} -// */ -// let readableStream: ReadableStream | undefined - -// const url = _getRequestURL(event) -// const base = { -// // @ts-ignore Undici option -// duplex: 'half', -// method: event.method, -// headers: event.headers, -// } - -// if ((event.node.req as any).body instanceof ArrayBuffer) { -// return new Request(url, { -// ...base, -// body: (event.node.req as any).body, -// }) -// } - -// return new Request(url, { -// ...base, -// get body() { -// if (readableStream) { -// return readableStream -// } -// readableStream = _getRequestWebStream(event) -// return readableStream -// }, -// }) -// } - -export { - H3Error, - H3Event, - MIMES, - callNodeListener, - createApp, - createAppEventHandler, - createEvent, - createRouter, - defineLazyEventHandler, - defineNodeListener, - defineNodeMiddleware, - defineRequestMiddleware, - defineResponseMiddleware, - dynamicEventHandler, - defineWebSocket, - splitCookiesString, - fromNodeMiddleware, - fromPlainHandler, - fromWebHandler, - isError, - isEventHandler, - isWebResponse, - lazyEventHandler, - promisifyNodeListener, - serveStatic, - toEventHandler, - toNodeListener, - toPlainHandler, - toWebHandler, - toWebRequest, - isCorsOriginAllowed, - isStream, - createError, - sanitizeStatusCode, - sanitizeStatusMessage, - useBase, - type AddRouteShortcuts, - type App, - type AppOptions, - type AppUse, - type CacheConditions, - type CreateRouterOptions, - type Duplex, - type DynamicEventHandler, - type Encoding, - type EventHandler, - type EventHandlerObject, - type EventHandlerRequest, - type EventHandlerResponse, - type H3CorsOptions, - type H3EventContext, - type HTTPHeaderName, - type HTTPMethod, - type InferEventInput, - type InputLayer, - type InputStack, - type Layer, - type LazyEventHandler, - type Matcher, - type MultiPartData, - type NodeEventContext, - type NodeListener, - type NodeMiddleware, - type NodePromisifiedHandler, - type PlainHandler, - type PlainRequest, - type PlainResponse, - type ProxyOptions, - type RequestFingerprintOptions, - type RequestHeaders, - type RouteNode, - type Router, - type RouterMethod, - type RouterUse, - type ServeStaticOptions, - type Session, - type SessionConfig, - type SessionData, - type Stack, - type StaticAssetMeta, - type ValidateFunction, - type ValidateResult, - type WebEventContext, - type WebHandler, - type _RequestMiddleware, - type _ResponseMiddleware, -} from 'h3' - -export function defineEventHandler(handler: EventHandler) { - return _defineEventHandler((event) => { - return runWithEvent(event, () => handler(event)) - }) -} - -export function eventHandler(handler: EventHandler) { - return _eventHandler((event) => { - return runWithEvent(event, () => handler(event)) - }) -} - -export async function runWithEvent( - event: H3Event, - fn: () => T | Promise, -): Promise { - return eventStorage.run(event, fn) -} - -export function getEvent() { - const event = eventStorage.getStore() as H3Event | undefined - if (!event) { - throw new Error( - `No HTTPEvent found in AsyncLocalStorage. Make sure you are using the function within the server runtime.`, - ) - } - return event -} - -export const HTTPEventSymbol = Symbol('$HTTPEvent') - -export function isEvent( - obj: any, -): obj is H3Event | { [HTTPEventSymbol]: H3Event } { - return ( - typeof obj === 'object' && - (obj instanceof H3Event || - obj?.[HTTPEventSymbol] instanceof H3Event || - obj?.__is_event__ === true) - ) - // Implement logic to check if obj is an H3Event -} - -type Tail = T extends [any, ...infer U] ? U : never - -type PrependOverload< - TOriginal extends (...args: Array) => any, - TOverload extends (...args: Array) => any, -> = TOverload & TOriginal - -// add an overload to the function without the event argument -type WrapFunction) => any> = PrependOverload< - TFn, - ( - ...args: Parameters extends [H3Event, ...infer TArgs] - ? TArgs - : Parameters - ) => ReturnType -> - -function createWrapperFunction) => any>( - h3Function: TFn, -): WrapFunction { - return function (...args: Array) { - const event = args[0] - if (!isEvent(event)) { - args.unshift(getEvent()) - } else { - args[0] = - event instanceof H3Event || (event as any).__is_event__ - ? event - : event[HTTPEventSymbol] - } - - return (h3Function as any)(...args) - } as any -} - -// Creating wrappers for each utility and exporting them with their original names -type WrappedReadRawBody = ( - ...args: Tail>> -) => ReturnType> -export const readRawBody: PrependOverload< - typeof _readRawBody, - WrappedReadRawBody -> = createWrapperFunction(_readRawBody) -type WrappedReadBody = >( - ...args: Tail>> -) => ReturnType> -export const readBody: PrependOverload = - createWrapperFunction(_readBody) -type WrappedGetQuery = < - T, - TEventInput = Exclude, undefined>, ->( - ...args: Tail>> -) => ReturnType> -export const getQuery: PrependOverload = - createWrapperFunction(_getQuery) -export const isMethod = createWrapperFunction(_isMethod) -export const isPreflightRequest = createWrapperFunction(_isPreflightRequest) -type WrappedGetValidatedQuery = < - T, - TEventInput = InferEventInput<'query', H3Event, T>, ->( - ...args: Tail>> -) => ReturnType> -export const getValidatedQuery: PrependOverload< - typeof _getValidatedQuery, - WrappedGetValidatedQuery -> = createWrapperFunction(_getValidatedQuery) -export const getRouterParams = createWrapperFunction(_getRouterParams) -export const getRouterParam = createWrapperFunction(_getRouterParam) -type WrappedGetValidatedRouterParams = < - T, - TEventInput = InferEventInput<'routerParams', H3Event, T>, ->( - ...args: Tail< - Parameters> - > -) => ReturnType> -export const getValidatedRouterParams: PrependOverload< - typeof _getValidatedRouterParams, - WrappedGetValidatedRouterParams -> = createWrapperFunction(_getValidatedRouterParams) -export const assertMethod = createWrapperFunction(_assertMethod) -export const getRequestHeaders = createWrapperFunction(_getRequestHeaders) -export const getRequestHeader = createWrapperFunction(_getRequestHeader) -export const getRequestURL = createWrapperFunction(_getRequestURL) -export const getRequestHost = createWrapperFunction(_getRequestHost) -export const getRequestProtocol = createWrapperFunction(_getRequestProtocol) -export const getRequestIP = createWrapperFunction(_getRequestIP) -export const send = createWrapperFunction(_send) -export const sendNoContent = createWrapperFunction(_sendNoContent) -export const setResponseStatus = createWrapperFunction(_setResponseStatus) -export const getResponseStatus = createWrapperFunction(_getResponseStatus) -export const getResponseStatusText = createWrapperFunction( - _getResponseStatusText, -) -export const getResponseHeaders = createWrapperFunction(_getResponseHeaders) -export const getResponseHeader = createWrapperFunction(_getResponseHeader) -export const setResponseHeaders = createWrapperFunction(_setResponseHeaders) -type WrappedSetResponseHeader = ( - ...args: Tail>> -) => ReturnType> -export const setResponseHeader: PrependOverload< - typeof _setResponseHeader, - WrappedSetResponseHeader -> = createWrapperFunction(_setResponseHeader) -export const appendResponseHeaders = createWrapperFunction( - _appendResponseHeaders, -) -type WrappedAppendResponseHeader = ( - ...args: Tail>> -) => ReturnType> -export const appendResponseHeader: PrependOverload< - typeof _appendResponseHeader, - WrappedAppendResponseHeader -> = createWrapperFunction(_appendResponseHeader) -export const defaultContentType = createWrapperFunction(_defaultContentType) -export const sendRedirect = createWrapperFunction(_sendRedirect) -export const sendStream = createWrapperFunction(_sendStream) -export const writeEarlyHints = createWrapperFunction(_writeEarlyHints) -export const sendError = createWrapperFunction(_sendError) -export const sendProxy = createWrapperFunction(_sendProxy) -export const proxyRequest = createWrapperFunction(_proxyRequest) -type WrappedFetchWithEvent = < - T = unknown, - TResponse = any, - TFetch extends (req: RequestInfo | URL, opts?: any) => any = typeof fetch, ->( - ...args: Tail>> -) => ReturnType> -export const fetchWithEvent: PrependOverload< - typeof _fetchWithEvent, - WrappedFetchWithEvent -> = createWrapperFunction(_fetchWithEvent) -export const getProxyRequestHeaders = createWrapperFunction( - _getProxyRequestHeaders, -) - -export const parseCookies = createWrapperFunction(_parseCookies) -export const getCookie = createWrapperFunction(_getCookie) -export const setCookie = createWrapperFunction(_setCookie) -export const deleteCookie = createWrapperFunction(_deleteCookie) -// not exported :( -type SessionDataT = Record -type WrappedUseSession = ( - ...args: Tail>> -) => ReturnType> -// we need to `as` these because the WrapFunction doesn't work for them -// because they also accept CompatEvent instead of H3Event -export const useSession = createWrapperFunction(_useSession) as PrependOverload< - typeof _useSession, - WrappedUseSession -> -type WrappedGetSession = ( - ...args: Tail>> -) => ReturnType> -export const getSession = createWrapperFunction(_getSession) as PrependOverload< - typeof _getSession, - WrappedGetSession -> -type WrappedUpdateSession = ( - ...args: Tail>> -) => ReturnType> -export const updateSession: PrependOverload< - typeof _updateSession, - WrappedUpdateSession -> = createWrapperFunction(_updateSession) -type WrappedSealSession = ( - ...args: Tail>> -) => ReturnType> -export const sealSession = createWrapperFunction( - _sealSession, -) as PrependOverload -export const unsealSession = createWrapperFunction(_unsealSession) -export const clearSession = createWrapperFunction(_clearSession) -export const handleCacheHeaders = createWrapperFunction(_handleCacheHeaders) -export const handleCors = createWrapperFunction(_handleCors) -export const appendCorsHeaders = createWrapperFunction(_appendCorsHeaders) -export const appendCorsPreflightHeaders = createWrapperFunction( - _appendCorsPreflightHeaders, -) -export const sendWebResponse = createWrapperFunction(_sendWebResponse) -type WrappedAppendHeader = ( - ...args: Tail>> -) => ReturnType> -export const appendHeader: PrependOverload< - typeof _appendHeader, - WrappedAppendHeader -> = createWrapperFunction(_appendHeader) -export const appendHeaders = createWrapperFunction(_appendHeaders) -type WrappedSetHeader = ( - ...args: Tail>> -) => ReturnType> -export const setHeader: PrependOverload = - createWrapperFunction(_setHeader) -export const setHeaders = createWrapperFunction(_setHeaders) -export const getHeader = createWrapperFunction(_getHeader) -export const getHeaders = createWrapperFunction(_getHeaders) -export const getRequestFingerprint = createWrapperFunction( - _getRequestFingerprint, -) -export const getRequestWebStream = createWrapperFunction(_getRequestWebStream) -export const readFormData = createWrapperFunction(_readFormData) -export const readMultipartFormData = createWrapperFunction( - _readMultipartFormData, -) -type WrappedReadValidatedBody = < - T, - TEventInput = InferEventInput<'body', H3Event, T>, ->( - ...args: Tail>> -) => ReturnType> -export const readValidatedBody: PrependOverload< - typeof _readValidatedBody, - WrappedReadValidatedBody -> = createWrapperFunction(_readValidatedBody) -export const removeResponseHeader = createWrapperFunction(_removeResponseHeader) -export const getContext = createWrapperFunction(_getContext) -export const setContext = createWrapperFunction(_setContext) -export const clearResponseHeaders = createWrapperFunction(_clearResponseHeaders) -export const getWebRequest = createWrapperFunction(_toWebRequest) - -export type RequestHandler = (ctx: { - request: Request -}) => Promise | Response - -export function requestHandler(handler: RequestHandler) { - return handler -} diff --git a/packages/start-server-core/src/index.tsx b/packages/start-server-core/src/index.tsx index 0daf940c66e..63efe4f3206 100644 --- a/packages/start-server-core/src/index.tsx +++ b/packages/start-server-core/src/index.tsx @@ -12,7 +12,7 @@ export type { HandlerCallback } from '@tanstack/router-core/ssr/server' export { handleServerAction } from './server-functions-handler' -export * from './h3' +export * from './request-response' export { createServerRoute, diff --git a/packages/start-server-core/src/request-response.ts b/packages/start-server-core/src/request-response.ts new file mode 100644 index 00000000000..8180a15b148 --- /dev/null +++ b/packages/start-server-core/src/request-response.ts @@ -0,0 +1,298 @@ +import { AsyncLocalStorage } from 'node:async_hooks' + +import * as h3 from 'h3' +import type { + RequestHeaderMap, + RequestHeaderName, + ResponseHeaderMap, + ResponseHeaderName, + TypedHeaders, +} from 'fetchdts' + +import type { CookieSerializeOptions } from 'cookie-es' +import type { + Session, + SessionConfig, + SessionData, + SessionManager, + SessionUpdate, +} from './session' +import type { StandardSchemaV1 } from '@standard-schema/spec' + +interface StartEvent { + h3Event: h3.H3Event +} +const eventStorage = new AsyncLocalStorage() + +export type RequestHandler = (request: Request) => Promise | Response + +export function requestHandler(handler: RequestHandler) { + return (request: Request): Promise | Response => { + const h3Event = new h3.H3Event(request) + + return eventStorage.run({ h3Event }, () => handler(request)) + } +} + +function getH3Event() { + const event = eventStorage.getStore() + if (!event) { + throw new Error( + `No StartEvent found in AsyncLocalStorage. Make sure you are using the function within the server runtime.`, + ) + } + return event.h3Event +} + +export function getValidatedQuery( + schema: StandardSchemaV1, +): Promise> { + return h3.getValidatedQuery(getH3Event(), schema) +} + +export function getRequestHeaders(): TypedHeaders { + // TODO `as any` not needed when fetchdts is updated + return getH3Event().req.headers as any +} + +export function getRequestHeade(name: RequestHeaderName): string | undefined { + return getRequestHeaders().get(name) || undefined +} + +// TODO discuss: do we want to expose this? +export function getRequestIP(opts?: { + /** + * Use the X-Forwarded-For HTTP header set by proxies. + * + * Note: Make sure that this header can be trusted (your application running behind a CDN or reverse proxy) before enabling. + */ + xForwardedFor?: boolean +}) { + return h3.getRequestIP(getH3Event(), opts) +} + +// TODO discuss: do we want to expose this? +/** + * Get the request hostname. + * + * If `xForwardedHost` is `true`, it will use the `x-forwarded-host` header if it exists. + * + * If no host header is found, it will default to "localhost". + */ +export function getRequestHost(opts?: { xForwardedHost?: boolean }) { + return h3.getRequestHost(getH3Event(), opts) +} + +// TODO do we want to expose this? +/** + * Get the full incoming request URL. + * + * If `xForwardedHost` is `true`, it will use the `x-forwarded-host` header if it exists. + * + * If `xForwardedProto` is `false`, it will not use the `x-forwarded-proto` header. + */ +export function getRequestUrl(opts?: { + xForwardedHost?: boolean + xForwardedProto?: boolean +}) { + return h3.getRequestURL(getH3Event(), opts) +} + +// TODO do we want to expose this? +/** + * Get the request protocol. + * + * If `x-forwarded-proto` header is set to "https", it will return "https". You can disable this behavior by setting `xForwardedProto` to `false`. + * + * If protocol cannot be determined, it will default to "http". + */ +export function getRequestProtocol(opts?: { + xForwardedProto?: boolean +}): 'http' | 'https' | (string & {}) { + return h3.getRequestProtocol(getH3Event(), opts) +} + +export function setResponseHeaders( + headers: TypedHeaders, +): void { + const event = getH3Event() + for (const [name, value] of Object.entries(headers)) { + event.res.headers.set(name, value) + } +} + +export function getResponseHeaders(): TypedHeaders { + const event = getH3Event() + return Object.fromEntries(event.res.headers.entries()) as any +} + +export function getResponseHeader( + name: ResponseHeaderName, +): string | undefined { + const event = getH3Event() + return event.res.headers.get(name) || undefined +} + +export function setResponseHeader( + name: ResponseHeaderName, + value: string | Array, +): void { + const event = getH3Event() + if (Array.isArray(value)) { + event.res.headers.delete(name) + for (const valueItem of value) { + event.res.headers.append(name, valueItem) + } + } else { + event.res.headers.set(name, value) + } +} +export function removeResponseHeader(name: ResponseHeaderName): void { + const event = getH3Event() + event.res.headers.delete(name) +} + +export function clearResponseHeaders( + headerNames?: Array, +): void { + const event = getH3Event() + // If headerNames is provided, clear only those headers + if (headerNames && headerNames.length > 0) { + for (const name of headerNames) { + event.res.headers.delete(name) + } + // Otherwise, clear all headers + } else { + for (const name of event.res.headers.keys()) { + event.res.headers.delete(name) + } + } +} + +export function getResponseStatus(): number { + return getH3Event().res.status || 200 +} + +export function setResponseStatus(code?: number, text?: string): void { + const event = getH3Event() + if (code) { + event.res.status = h3.sanitizeStatusCode(code, event.res.status) + } + if (text) { + event.res.statusText = h3.sanitizeStatusMessage(text) + } +} + +/** + * Parse the request to get HTTP Cookie header string and return an object of all cookie name-value pairs. + * @returns Object of cookie name-value pairs + * ```ts + * const cookies = getCookies() + * ``` + */ +export function getCookies(): Record { + const event = getH3Event() + return h3.parseCookies(event) +} + +/** + * Get a cookie value by name. + * @param name Name of the cookie to get + * @returns {*} Value of the cookie (String or undefined) + * ```ts + * const authorization = getCookie('Authorization') + * ``` + */ +export function getCookie(name: string): string | undefined { + return getCookies()[name] || undefined +} + +/** + * Set a cookie value by name. + * @param name Name of the cookie to set + * @param value Value of the cookie to set + * @param options {CookieSerializeOptions} Options for serializing the cookie + * ```ts + * setCookie('Authorization', '1234567') + * ``` + */ +export function setCookie( + name: string, + value: string, + options?: CookieSerializeOptions, +): void { + const event = getH3Event() + h3.setCookie(event, name, value, options) +} + +/** + * Remove a cookie by name. + * @param name Name of the cookie to delete + * @param serializeOptions {CookieSerializeOptions} Cookie options + * ```ts + * deleteCookie('SessionId') + * ``` + */ +export function deleteCookie( + name: string, + options?: CookieSerializeOptions, +): void { + const event = getH3Event() + h3.deleteCookie(event, name, options) +} + +/** + * Create a session manager for the current request. + */ +export function useSession( + config: SessionConfig, +): Promise> { + const event = getH3Event() + return h3.useSession(event, config) +} +/** + * Get the session for the current request + */ +export function getSession( + config: SessionConfig, +): Promise> { + const event = getH3Event() + return h3.getSession(event, config) +} + +/** + * Update the session data for the current request. + */ +export function updateSession( + config: SessionConfig, + update?: SessionUpdate, +): Promise> { + const event = getH3Event() + return h3.updateSession(event, config, update) +} + +/** + * Encrypt and sign the session data for the current request. + */ +export function sealSession(config: SessionConfig): Promise { + const event = getH3Event() + return h3.sealSession(event, config) +} +/** + * Decrypt and verify the session data for the current request. + */ +export function unsealSession( + config: SessionConfig, + sealed: string, +): Promise> { + const event = getH3Event() + return h3.unsealSession(event, config, sealed) +} + +/** + * Clear the session data for the current request. + */ +export function clearSession(config: Partial): Promise { + const event = getH3Event() + return h3.clearSession(event, config) +} diff --git a/packages/start-server-core/src/server-functions-handler.ts b/packages/start-server-core/src/server-functions-handler.ts index af12972a9a2..d16fb181400 100644 --- a/packages/start-server-core/src/server-functions-handler.ts +++ b/packages/start-server-core/src/server-functions-handler.ts @@ -1,9 +1,9 @@ import { isNotFound } from '@tanstack/router-core' import invariant from 'tiny-invariant' import { startSerializer } from '@tanstack/start-client-core' -import { getEvent, getResponseStatus } from './h3' import { VIRTUAL_MODULES } from './virtual-modules' import { loadVirtualModule } from './loadVirtualModule' +import { getResponseStatus } from './request-response' function sanitizeBase(base: string | undefined) { if (!base) { @@ -190,7 +190,7 @@ export const handleServerAction = async ({ request }: { request: Request }) => { return new Response( result !== undefined ? startSerializer.stringify(result) : undefined, { - status: getResponseStatus(getEvent()), + status: getResponseStatus(), headers: { 'Content-Type': 'application/json', }, diff --git a/packages/start-server-core/src/session.ts b/packages/start-server-core/src/session.ts new file mode 100644 index 00000000000..cae4a62b20f --- /dev/null +++ b/packages/start-server-core/src/session.ts @@ -0,0 +1,75 @@ +// TODO discuss do we want to copy this interface into Start we well? +import type { CookieSerializeOptions } from 'cookie-es' + +// TODO discuss do we want to copy this interface into Start as shown below? + +/** Algorithm used for encryption and decryption. */ +type EncryptionAlgorithm = 'aes-128-ctr' | 'aes-256-cbc' +/** Algorithm used for integrity verification. */ +type IntegrityAlgorithm = 'sha256' +/** @internal */ +type _Algorithm = EncryptionAlgorithm | IntegrityAlgorithm +/** + * Options for customizing the key derivation algorithm used to generate encryption and integrity verification keys as well as the algorithms and salt sizes used. + */ +type SealOptions = Readonly<{ + /** Encryption step options. */ + encryption: SealOptionsSub + /** Integrity step options. */ + integrity: SealOptionsSub + /* Sealed object lifetime in milliseconds where 0 means forever. Defaults to 0. */ + ttl: number + /** Number of seconds of permitted clock skew for incoming expirations. Defaults to 60 seconds. */ + timestampSkewSec: number + /** + * Local clock time offset, expressed in number of milliseconds (positive or negative). Defaults to 0. + */ + localtimeOffsetMsec: number +}> +/** `seal()` method options. */ +type SealOptionsSub = Readonly<{ + /** The length of the salt (random buffer used to ensure that two identical objects will generate a different encrypted result). Defaults to 256. */ + saltBits: number + /** The algorithm used. Defaults to 'aes-256-cbc' for encryption and 'sha256' for integrity. */ + algorithm: TAlgorithm + /** The number of iterations used to derive a key from the password. Defaults to 1. */ + iterations: number + /** Minimum password size. Defaults to 32. */ + minPasswordlength: number +}> +/** Password secret string or buffer.*/ + +type SessionDataT = Record +export type SessionData = Partial +export interface Session { + id: string + createdAt: number + data: SessionData +} + +export type SessionUpdate = + | Partial> + | ((oldData: SessionData) => Partial> | undefined) + +export interface SessionManager { + readonly id: string | undefined + readonly data: SessionData + update: (update: SessionUpdate) => Promise> + clear: () => Promise> +} +export interface SessionConfig { + /** Private key used to encrypt session tokens */ + password: string + /** Session expiration time in seconds */ + maxAge?: number + /** default is h3 */ + name?: string + /** Default is secure, httpOnly, / */ + cookie?: false | CookieSerializeOptions + /** Default is x-h3-session / x-{name}-session */ + sessionHeader?: false | string + seal?: SealOptions + crypto?: Crypto + /** Default is Crypto.randomUUID */ + generateId?: () => string +} diff --git a/packages/start-server-core/tests/h3-wrappers.test-d.ts b/packages/start-server-core/tests/h3-wrappers.test-d.ts deleted file mode 100644 index f251ece2c57..00000000000 --- a/packages/start-server-core/tests/h3-wrappers.test-d.ts +++ /dev/null @@ -1,350 +0,0 @@ -import { test } from 'vitest' -import * as h3 from 'h3' -import * as h3Wrappers from '../src/h3' - -interface Foo { - a: string -} - -type AnyFn = (...args: Array) => any -type Satisfies = T -type Tail = T extends [any, ...infer U] ? U : never -type PrependOverload< - TOriginal extends (...args: Array) => any, - TOverload extends (...args: Array) => any, -> = TOverload & TOriginal - -type SharedKeys = keyof typeof h3Wrappers & keyof typeof h3 -// things we're not wrapping -type KeysToIgnore = Satisfies< - | 'H3Error' - | 'H3Event' - | 'MIMES' - | 'callNodeListener' - | 'createApp' - | 'createAppEventHandler' - | 'createError' - | 'createEvent' - | 'createRouter' - | 'defineEventHandler' - | 'defineLazyEventHandler' - | 'defineNodeListener' - | 'defineNodeMiddleware' - | 'defineRequestMiddleware' - | 'defineResponseMiddleware' - | 'defineWebSocket' - | 'dynamicEventHandler' - | 'eventHandler' - | 'fromNodeMiddleware' - | 'fromPlainHandler' - | 'fromWebHandler' - | 'isCorsOriginAllowed' - | 'isError' - | 'isEvent' - | 'isEventHandler' - | 'isStream' - | 'isWebResponse' - | 'lazyEventHandler' - | 'promisifyNodeListener' - | 'sanitizeStatusCode' - | 'sanitizeStatusMessage' - | 'serveStatic' - | 'splitCookiesString' - | 'toEventHandler' - | 'toNodeListener' - | 'toPlainHandler' - | 'toWebHandler' - | 'toWebRequest' - | 'useBase', - SharedKeys -> - -function expectWrappersToMatchH3< - TFnMap extends Record, AnyFn>, ->(_map: { - [K in keyof TFnMap]: { - h3: TFnMap[K] - tss: TFnMap[K] extends AnyFn - ? PrependOverload< - TFnMap[K], - (...args: Tail>) => ReturnType - > - : never - } -}) { - /* equivalent to the below for each key - - expectTypeOf>().toMatchTypeOf< - OverloadParameters - >() - expectTypeOf>>().toMatchTypeOf< - OverloadParameters - >() - - expectTypeOf(tssFunction).returns.toEqualTypeOf< - ReturnType - >() - - */ -} - -test('wrappers match original', () => { - expectWrappersToMatchH3({ - readRawBody: { - h3: h3.readRawBody<'hex'>, - tss: h3Wrappers.readRawBody<'hex'>, - }, - readBody: { - h3: h3.readBody, - tss: h3Wrappers.readBody, - }, - getQuery: { - h3: h3.getQuery, - tss: h3Wrappers.getQuery, - }, - isMethod: { - h3: h3.isMethod, - tss: h3Wrappers.isMethod, - }, - isPreflightRequest: { - h3: h3.isPreflightRequest, - tss: h3Wrappers.isPreflightRequest, - }, - getValidatedQuery: { - h3: h3.getValidatedQuery, - tss: h3Wrappers.getValidatedQuery, - }, - getRouterParams: { - h3: h3.getRouterParams, - tss: h3Wrappers.getRouterParams, - }, - getRouterParam: { - h3: h3.getRouterParam, - tss: h3Wrappers.getRouterParam, - }, - getValidatedRouterParams: { - h3: h3.getValidatedRouterParams, - tss: h3Wrappers.getValidatedRouterParams, - }, - assertMethod: { - h3: h3.assertMethod, - tss: h3Wrappers.assertMethod, - }, - getRequestHeaders: { - h3: h3.getRequestHeaders, - tss: h3Wrappers.getRequestHeaders, - }, - getRequestHeader: { - h3: h3.getRequestHeader, - tss: h3Wrappers.getRequestHeader, - }, - getRequestURL: { - h3: h3.getRequestURL, - tss: h3Wrappers.getRequestURL, - }, - getRequestHost: { - h3: h3.getRequestHost, - tss: h3Wrappers.getRequestHost, - }, - getRequestProtocol: { - h3: h3.getRequestProtocol, - tss: h3Wrappers.getRequestProtocol, - }, - getRequestIP: { - h3: h3.getRequestIP, - tss: h3Wrappers.getRequestIP, - }, - send: { - h3: h3.send, - tss: h3Wrappers.send, - }, - sendNoContent: { - h3: h3.sendNoContent, - tss: h3Wrappers.sendNoContent, - }, - setResponseStatus: { - h3: h3.setResponseStatus, - tss: h3Wrappers.setResponseStatus, - }, - getResponseStatus: { - h3: h3.getResponseStatus, - tss: h3Wrappers.getResponseStatus, - }, - getResponseStatusText: { - h3: h3.getResponseStatusText, - tss: h3Wrappers.getResponseStatusText, - }, - getResponseHeaders: { - h3: h3.getResponseHeaders, - tss: h3Wrappers.getResponseHeaders, - }, - getResponseHeader: { - h3: h3.getResponseHeader, - tss: h3Wrappers.getResponseHeader, - }, - setResponseHeaders: { - h3: h3.setResponseHeaders, - tss: h3Wrappers.setResponseHeaders, - }, - setResponseHeader: { - h3: h3.setResponseHeader<'Age'>, - tss: h3Wrappers.setResponseHeader<'Age'>, - }, - appendResponseHeaders: { - h3: h3.appendResponseHeaders, - tss: h3Wrappers.appendResponseHeaders, - }, - appendResponseHeader: { - h3: h3.appendResponseHeader<'Age'>, - tss: h3Wrappers.appendResponseHeader<'Age'>, - }, - defaultContentType: { - h3: h3.defaultContentType, - tss: h3Wrappers.defaultContentType, - }, - sendRedirect: { - h3: h3.sendRedirect, - tss: h3Wrappers.sendRedirect, - }, - sendStream: { - h3: h3.sendStream, - tss: h3Wrappers.sendStream, - }, - writeEarlyHints: { - h3: h3.writeEarlyHints, - tss: h3Wrappers.writeEarlyHints, - }, - sendError: { - h3: h3.sendError, - tss: h3Wrappers.sendError, - }, - sendProxy: { - h3: h3.sendProxy, - tss: h3Wrappers.sendProxy, - }, - proxyRequest: { - h3: h3.proxyRequest, - tss: h3Wrappers.proxyRequest, - }, - fetchWithEvent: { - h3: h3.fetchWithEvent, - tss: h3Wrappers.fetchWithEvent, - }, - getProxyRequestHeaders: { - h3: h3.getProxyRequestHeaders, - tss: h3Wrappers.getProxyRequestHeaders, - }, - parseCookies: { - h3: h3.parseCookies, - tss: h3Wrappers.parseCookies, - }, - getCookie: { - h3: h3.getCookie, - tss: h3Wrappers.getCookie, - }, - setCookie: { - h3: h3.setCookie, - tss: h3Wrappers.setCookie, - }, - deleteCookie: { - h3: h3.deleteCookie, - tss: h3Wrappers.deleteCookie, - }, - useSession: { - h3: h3.useSession, - tss: h3Wrappers.useSession, - }, - getSession: { - h3: h3.getSession, - tss: h3Wrappers.getSession, - }, - updateSession: { - h3: h3.updateSession, - tss: h3Wrappers.updateSession, - }, - sealSession: { - h3: h3.sealSession, - tss: h3Wrappers.sealSession, - }, - unsealSession: { - h3: h3.unsealSession, - tss: h3Wrappers.unsealSession, - }, - clearSession: { - h3: h3.clearSession, - tss: h3Wrappers.clearSession, - }, - handleCacheHeaders: { - h3: h3.handleCacheHeaders, - tss: h3Wrappers.handleCacheHeaders, - }, - handleCors: { - h3: h3.handleCors, - tss: h3Wrappers.handleCors, - }, - appendCorsHeaders: { - h3: h3.appendCorsHeaders, - tss: h3Wrappers.appendCorsHeaders, - }, - appendCorsPreflightHeaders: { - h3: h3.appendCorsPreflightHeaders, - tss: h3Wrappers.appendCorsPreflightHeaders, - }, - sendWebResponse: { - h3: h3.sendWebResponse, - tss: h3Wrappers.sendWebResponse, - }, - appendHeader: { - h3: h3.appendHeader<'Age'>, - tss: h3Wrappers.appendHeader<'Age'>, - }, - appendHeaders: { - h3: h3.appendHeaders, - tss: h3Wrappers.appendHeaders, - }, - setHeader: { - h3: h3.setHeader<'Age'>, - tss: h3Wrappers.setHeader<'Age'>, - }, - setHeaders: { - h3: h3.setHeaders, - tss: h3Wrappers.setHeaders, - }, - getHeader: { - h3: h3.getHeader, - tss: h3Wrappers.getHeader, - }, - getHeaders: { - h3: h3.getHeaders, - tss: h3Wrappers.getHeaders, - }, - getRequestFingerprint: { - h3: h3.getRequestFingerprint, - tss: h3Wrappers.getRequestFingerprint, - }, - getRequestWebStream: { - h3: h3.getRequestWebStream, - tss: h3Wrappers.getRequestWebStream, - }, - readFormData: { - h3: h3.readFormData, - tss: h3Wrappers.readFormData, - }, - readMultipartFormData: { - h3: h3.readMultipartFormData, - tss: h3Wrappers.readMultipartFormData, - }, - readValidatedBody: { - h3: h3.readValidatedBody, - tss: h3Wrappers.readValidatedBody, - }, - removeResponseHeader: { - h3: h3.removeResponseHeader, - tss: h3Wrappers.removeResponseHeader, - }, - clearResponseHeaders: { - h3: h3.clearResponseHeaders, - tss: h3Wrappers.clearResponseHeaders, - }, - }) -}) From e4d4a3865717723b170f9ba0645472b4d8a6b98d Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 008/271] remove commented out externals --- packages/start-client-core/vite.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/start-client-core/vite.config.ts b/packages/start-client-core/vite.config.ts index fb0b2664aa1..ac2026fbb76 100644 --- a/packages/start-client-core/vite.config.ts +++ b/packages/start-client-core/vite.config.ts @@ -16,6 +16,5 @@ export default mergeConfig( tanstackViteConfig({ srcDir: './src', entry: './src/index.tsx', - // externalDeps: ['node:fs', 'node:path', 'node:os', 'node:crypto'], }), ) From fa1a1daeddbba972c75379c9cd0dec80ddfe06d5 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 009/271] checkpoint --- packages/react-start-plugin/package.json | 9 +- .../src/default-entry/client.tsx | 15 ++ .../src/default-entry/router-entry.d.ts | 4 + .../src/default-entry/server.ts | 14 ++ packages/react-start-plugin/src/index.ts | 52 +--- packages/react-start-plugin/tsconfig.json | 3 +- packages/react-start-plugin/vite.config.ts | 9 + packages/router-utils/package.json | 4 +- .../router-utils/src/copy-files-plugin.ts | 34 +++ packages/router-utils/src/index.ts | 2 + packages/solid-start-plugin/package.json | 5 +- .../src/default-entry/client.tsx | 7 + .../src/default-entry/router-entry.d.ts | 5 + .../src/default-entry/server.ts | 15 ++ packages/solid-start-plugin/src/index.ts | 40 +-- packages/solid-start-plugin/tsconfig.json | 2 + packages/solid-start-plugin/vite.config.ts | 9 + packages/start-plugin-core/package.json | 1 + packages/start-plugin-core/src/constants.ts | 18 +- .../src/dev-server-plugin/plugin.ts | 7 +- .../src/load-env-plugin/plugin.ts | 15 +- packages/start-plugin-core/src/plugin.ts | 228 +++++++++++++----- .../resolve-virtual-entries-plugin/plugin.ts | 75 ------ packages/start-plugin-core/src/schema.ts | 47 +--- .../src/start-manifest-plugin/plugin.ts | 22 +- packages/start-plugin-core/vite.config.ts | 1 + 26 files changed, 350 insertions(+), 293 deletions(-) create mode 100644 packages/react-start-plugin/src/default-entry/client.tsx create mode 100644 packages/react-start-plugin/src/default-entry/router-entry.d.ts create mode 100644 packages/react-start-plugin/src/default-entry/server.ts create mode 100644 packages/router-utils/src/copy-files-plugin.ts create mode 100644 packages/solid-start-plugin/src/default-entry/client.tsx create mode 100644 packages/solid-start-plugin/src/default-entry/router-entry.d.ts create mode 100644 packages/solid-start-plugin/src/default-entry/server.ts delete mode 100644 packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts diff --git a/packages/react-start-plugin/package.json b/packages/react-start-plugin/package.json index bbfdb7ebf17..883c0d822e6 100644 --- a/packages/react-start-plugin/package.json +++ b/packages/react-start-plugin/package.json @@ -60,11 +60,16 @@ "node": ">=12" }, "dependencies": { + "@tanstack/router-utils": "workspace:^", "@tanstack/start-plugin-core": "workspace:*", - "pathe": "^2.0.3", - "zod": "^3.24.2" + "pathe": "^2.0.3" }, "devDependencies": { + "@tanstack/react-router": "workspace:^", + "@tanstack/react-start": "workspace:^", + "@tanstack/react-start-client": "workspace:^", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", "vite": "^7.0.6" }, "peerDependencies": { diff --git a/packages/react-start-plugin/src/default-entry/client.tsx b/packages/react-start-plugin/src/default-entry/client.tsx new file mode 100644 index 00000000000..7f69650cb23 --- /dev/null +++ b/packages/react-start-plugin/src/default-entry/client.tsx @@ -0,0 +1,15 @@ +import { StrictMode, startTransition } from 'react' +import { hydrateRoot } from 'react-dom/client' +import { StartClient } from '@tanstack/react-start' +import { createRouter } from '#tanstack-start-router-entry' + +const router = createRouter() + +startTransition(() => { + hydrateRoot( + document, + + + , + ) +}) diff --git a/packages/react-start-plugin/src/default-entry/router-entry.d.ts b/packages/react-start-plugin/src/default-entry/router-entry.d.ts new file mode 100644 index 00000000000..00b100e7930 --- /dev/null +++ b/packages/react-start-plugin/src/default-entry/router-entry.d.ts @@ -0,0 +1,4 @@ +declare module '#tanstack-start-router-entry' { + // eslint-disable-next-line @typescript-eslint/consistent-type-imports + export const createRouter: () => import('@tanstack/router-core').AnyRouter +} diff --git a/packages/react-start-plugin/src/default-entry/server.ts b/packages/react-start-plugin/src/default-entry/server.ts new file mode 100644 index 00000000000..fedb30d5071 --- /dev/null +++ b/packages/react-start-plugin/src/default-entry/server.ts @@ -0,0 +1,14 @@ +import { + createStartHandler, + defaultStreamHandler, +} from '@tanstack/react-start/server' + +import { createRouter } from '#tanstack-start-router-entry' + +const fetch = createStartHandler({ + createRouter, +})(defaultStreamHandler) + +export default { + fetch, +} diff --git a/packages/react-start-plugin/src/index.ts b/packages/react-start-plugin/src/index.ts index d2c4be2081e..e2537768ad9 100644 --- a/packages/react-start-plugin/src/index.ts +++ b/packages/react-start-plugin/src/index.ts @@ -4,6 +4,15 @@ import path from 'pathe' import type { TanStackStartInputConfig } from '@tanstack/start-plugin-core' import type { PluginOption } from 'vite' +const currentDir = path.dirname(fileURLToPath(import.meta.url)) +const defaultEntryDir = path.resolve(currentDir, '..', 'default-entry') +const defaultEntryPaths = { + client: path.resolve(defaultEntryDir, 'client'), + server: path.resolve(defaultEntryDir, 'server'), +} + +const isInsideRouterMonoRepo = path.basename(path.resolve(currentDir, '../../../')) === 'packages' + function hasRootExport( exportsField?: Record | string, @@ -25,11 +34,6 @@ function hasRootExport( export function tanstackStart( options?: TanStackStartInputConfig, ): Array { - const isInsideRouterMonoRepo = (() => { - const currentDir = path.dirname(fileURLToPath(import.meta.url)) - return path.basename(path.resolve(currentDir, '../../../')) === 'packages' - })() - return [ { name: 'tanstack-react-start:config', @@ -60,43 +64,7 @@ export function tanstackStart( TanStackStartVitePluginCore( { framework: 'react', - getVirtualServerRootHandler(ctx) { - return ` -import { toWebRequest, defineEventHandler } from '@tanstack/react-start/server'; -import serverEntry from '${ctx.serverEntryFilepath}'; - -export default defineEventHandler(function(event) { - const request = toWebRequest(event); - return serverEntry({ request }); -});` - }, - getVirtualClientEntry(ctx) { - return ` -import { StrictMode, startTransition } from 'react'; -import { hydrateRoot } from 'react-dom/client'; -import { StartClient } from '@tanstack/react-start'; -import { createRouter } from '${ctx.routerFilepath}'; - -const router = createRouter(); - -startTransition(() => { - hydrateRoot( - document, - - - - ); -});` - }, - getVirtualServerEntry(ctx) { - return ` -import { createStartHandler, defaultStreamHandler } from '@tanstack/react-start/server'; -import { createRouter } from '${ctx.routerFilepath}'; - -export default createStartHandler({ - createRouter, -})(defaultStreamHandler);` - }, + defaultEntryPaths, crawlPackages(opts) { if (opts.name === '@tanstack/react-router-devtools') { return 'exclude' diff --git a/packages/react-start-plugin/tsconfig.json b/packages/react-start-plugin/tsconfig.json index 090ec3917d6..6c82f4db057 100644 --- a/packages/react-start-plugin/tsconfig.json +++ b/packages/react-start-plugin/tsconfig.json @@ -5,6 +5,7 @@ "compilerOptions": { "outDir": "dist/esm", "target": "esnext", - "noEmit": true + "noEmit": true, + "jsx": "react-jsx" } } diff --git a/packages/react-start-plugin/vite.config.ts b/packages/react-start-plugin/vite.config.ts index d6650eebf65..d0d59fa575b 100644 --- a/packages/react-start-plugin/vite.config.ts +++ b/packages/react-start-plugin/vite.config.ts @@ -1,5 +1,6 @@ import { defineConfig, mergeConfig } from 'vitest/config' import { tanstackViteConfig } from '@tanstack/config/vite' +import { copyFilesPlugin } from '@tanstack/router-utils' import packageJson from './package.json' const config = defineConfig({ @@ -9,6 +10,13 @@ const config = defineConfig({ watch: false, typecheck: { enabled: true }, }, + plugins: [ + copyFilesPlugin({ + pattern: ['*.ts', '*.tsx', '!*.d.ts'], + fromDir: 'src/default-entry', + toDir: 'dist/default-entry', + }), + ], }) export default mergeConfig( @@ -18,5 +26,6 @@ export default mergeConfig( srcDir: './src', outDir: './dist', cjs: false, + exclude: ['./src/default-entry'], }), ) diff --git a/packages/router-utils/package.json b/packages/router-utils/package.json index 94225fa1804..3fb6298778e 100644 --- a/packages/router-utils/package.json +++ b/packages/router-utils/package.json @@ -68,7 +68,9 @@ "@babel/parser": "^7.27.5", "@babel/preset-typescript": "^7.27.1", "ansis": "^4.1.0", - "diff": "^8.0.2" + "diff": "^8.0.2", + "fast-glob": "^3.3.3", + "pathe": "^2.0.3" }, "devDependencies": { "@babel/types": "^7.27.6", diff --git a/packages/router-utils/src/copy-files-plugin.ts b/packages/router-utils/src/copy-files-plugin.ts new file mode 100644 index 00000000000..13cfd31ec45 --- /dev/null +++ b/packages/router-utils/src/copy-files-plugin.ts @@ -0,0 +1,34 @@ +import { copyFile, mkdir } from 'node:fs/promises' +import { dirname, join } from 'pathe' +import fg from 'fast-glob' +import type { Plugin } from 'vite' + +export function copyFilesPlugin({ + fromDir, + toDir, + pattern = '**', +}: { + pattern?: string | Array + fromDir: string + toDir: string +}): Plugin { + return { + name: 'copy-files', + async writeBundle() { + const entries = await fg(pattern, { cwd: fromDir }) + if (entries.length === 0) { + throw new Error( + `No files found matching pattern "${pattern}" in directory "${fromDir}"`, + ) + } + + for (const entry of entries) { + const srcPath = join(fromDir, entry) + const destPath = join(toDir, entry) + // Ensure the destination directory exists + await mkdir(dirname(destPath), { recursive: true }) + await copyFile(srcPath, destPath) + } + }, + } +} diff --git a/packages/router-utils/src/index.ts b/packages/router-utils/src/index.ts index f238e8c695b..bdd352062f5 100644 --- a/packages/router-utils/src/index.ts +++ b/packages/router-utils/src/index.ts @@ -1,3 +1,5 @@ export { parseAst, generateFromAst } from './ast' export type { ParseAstOptions, GeneratorResult } from './ast' export { logDiff } from './logger' + +export { copyFilesPlugin } from './copy-files-plugin' diff --git a/packages/solid-start-plugin/package.json b/packages/solid-start-plugin/package.json index 6410262e176..5feb65ee0cb 100644 --- a/packages/solid-start-plugin/package.json +++ b/packages/solid-start-plugin/package.json @@ -66,9 +66,12 @@ }, "dependencies": { "@tanstack/start-plugin-core": "workspace:*", - "zod": "^3.24.2" + "pathe": "^2.0.3" }, "devDependencies": { + "@tanstack/router-utils": "workspace:^", + "@tanstack/solid-start": "workspace:^", + "solid-js": "^1.9.5", "vite": "^7.0.6", "vite-plugin-solid": "^2.11.8" }, diff --git a/packages/solid-start-plugin/src/default-entry/client.tsx b/packages/solid-start-plugin/src/default-entry/client.tsx new file mode 100644 index 00000000000..e2b1bdbeecf --- /dev/null +++ b/packages/solid-start-plugin/src/default-entry/client.tsx @@ -0,0 +1,7 @@ +import { hydrate } from 'solid-js/web'; +import { StartClient } from '@tanstack/solid-start'; +import { createRouter } from '#tanstack-start-router-entry'; + +const router = createRouter(); + +hydrate(() => , document.body); \ No newline at end of file diff --git a/packages/solid-start-plugin/src/default-entry/router-entry.d.ts b/packages/solid-start-plugin/src/default-entry/router-entry.d.ts new file mode 100644 index 00000000000..b27e105aebc --- /dev/null +++ b/packages/solid-start-plugin/src/default-entry/router-entry.d.ts @@ -0,0 +1,5 @@ +declare module '#tanstack-start-router-entry' { + // eslint-disable-next-line @typescript-eslint/consistent-type-imports + export const createRouter: () => import('@tanstack/router-core').AnyRouter + } + \ No newline at end of file diff --git a/packages/solid-start-plugin/src/default-entry/server.ts b/packages/solid-start-plugin/src/default-entry/server.ts new file mode 100644 index 00000000000..0c1c8c0ba80 --- /dev/null +++ b/packages/solid-start-plugin/src/default-entry/server.ts @@ -0,0 +1,15 @@ +import { + createStartHandler, + defaultStreamHandler, + } from '@tanstack/solid-start/server' + + import { createRouter } from '#tanstack-start-router-entry' + + const fetch = createStartHandler({ + createRouter, + })(defaultStreamHandler) + + export default { + fetch, + } + \ No newline at end of file diff --git a/packages/solid-start-plugin/src/index.ts b/packages/solid-start-plugin/src/index.ts index 7d7f0c17a13..a0114178833 100644 --- a/packages/solid-start-plugin/src/index.ts +++ b/packages/solid-start-plugin/src/index.ts @@ -1,7 +1,17 @@ +import { fileURLToPath } from 'node:url' import { TanStackStartVitePluginCore } from '@tanstack/start-plugin-core' +import path from 'pathe' import type { TanStackStartInputConfig } from '@tanstack/start-plugin-core' import type { PluginOption } from 'vite' +const currentDir = path.dirname(fileURLToPath(import.meta.url)) +const defaultEntryDir = path.resolve(currentDir, '..', 'default-entry') +const defaultEntryPaths = { + client: path.resolve(defaultEntryDir, 'client'), + server: path.resolve(defaultEntryDir, 'server'), +} + + export function tanstackStart( options?: TanStackStartInputConfig, ): Array { @@ -9,35 +19,7 @@ export function tanstackStart( TanStackStartVitePluginCore( { framework: 'solid', - getVirtualServerRootHandler(ctx) { - return ` -import { toWebRequest, defineEventHandler } from '@tanstack/solid-start/server'; -import serverEntry from '${ctx.serverEntryFilepath}'; - -export default defineEventHandler(function(event) { - const request = toWebRequest(event); - return serverEntry({ request }); -});` - }, - getVirtualClientEntry(ctx) { - return ` -import { hydrate } from 'solid-js/web'; -import { StartClient } from '@tanstack/solid-start'; -import { createRouter } from '${ctx.routerFilepath}'; - -const router = createRouter(); - -hydrate(() => , document.body);` - }, - getVirtualServerEntry(ctx) { - return ` -import { createStartHandler, defaultStreamHandler } from '@tanstack/solid-start/server'; -import { createRouter } from '${ctx.routerFilepath}'; - -export default createStartHandler({ - createRouter, -})(defaultStreamHandler);` - }, + defaultEntryPaths, }, options, ), diff --git a/packages/solid-start-plugin/tsconfig.json b/packages/solid-start-plugin/tsconfig.json index 090ec3917d6..1df04423c27 100644 --- a/packages/solid-start-plugin/tsconfig.json +++ b/packages/solid-start-plugin/tsconfig.json @@ -3,6 +3,8 @@ "include": ["src", "vite.config.ts", "tests"], "exclude": ["tests/**/test-files/**", "tests/**/snapshots/**"], "compilerOptions": { + "jsx": "preserve", + "jsxImportSource": "solid-js", "outDir": "dist/esm", "target": "esnext", "noEmit": true diff --git a/packages/solid-start-plugin/vite.config.ts b/packages/solid-start-plugin/vite.config.ts index 2c711fd1810..d742ea63e78 100644 --- a/packages/solid-start-plugin/vite.config.ts +++ b/packages/solid-start-plugin/vite.config.ts @@ -1,5 +1,6 @@ import { defineConfig, mergeConfig } from 'vitest/config' import { tanstackViteConfig } from '@tanstack/config/vite' +import { copyFilesPlugin } from '@tanstack/router-utils' import packageJson from './package.json' const config = defineConfig({ @@ -9,6 +10,13 @@ const config = defineConfig({ watch: false, typecheck: { enabled: true }, }, + plugins: [ + copyFilesPlugin({ + pattern: ['*.ts', '*.tsx', '!*.d.ts'], + fromDir: 'src/default-entry', + toDir: 'dist/default-entry', + }), + ], }) export default mergeConfig( @@ -17,5 +25,6 @@ export default mergeConfig( entry: './src/index.ts', srcDir: './src', outDir: './dist', + cjs: false }), ) diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 0d39e0b2f9c..c14765ae85e 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -77,6 +77,7 @@ "@tanstack/start-server-core": "workspace:*", "babel-dead-code-elimination": "^1.0.9", "cheerio": "^1.0.0", + "exsolve": "^1.0.7", "nitropack": "^2.11.12", "pathe": "^2.0.3", "srvx": "^0.8.2", diff --git a/packages/start-plugin-core/src/constants.ts b/packages/start-plugin-core/src/constants.ts index 09f7b049419..d709e790981 100644 --- a/packages/start-plugin-core/src/constants.ts +++ b/packages/start-plugin-core/src/constants.ts @@ -1,5 +1,3 @@ -import path from 'node:path' - export const VITE_ENVIRONMENT_NAMES = { // 'ssr' is chosen as the name for the server environment to ensure backwards compatibility // with vite plugins that are not compatible with the new vite environment API (e.g. tailwindcss) @@ -7,10 +5,12 @@ export const VITE_ENVIRONMENT_NAMES = { client: 'client', } as const -export const CLIENT_DIST_DIR = path.join( - '.tanstack', - 'start', - 'build', - 'client-dist', -) -export const SSR_ENTRY_FILE = 'ssr.mjs' +// for client and router: +// if a user has a custom server/client entry point file, resolve.alias will point to this +// otherwise it will be aliased to the default entry point in the respective framework plugin +export const ENTRY_POINTS = { + client: 'virtual:tanstack-start-client-entry', + server: 'virtual:tanstack-start-server-request-entry', + // the router entry point must always be provided by the user + router: '#tanstack-start-router-entry', +} as const diff --git a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts index fd0d5005108..155d4097b4c 100644 --- a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts @@ -1,6 +1,6 @@ import { isRunnableDevEnvironment } from 'vite' import { VIRTUAL_MODULES } from '@tanstack/start-server-core' -import { NodeRequest, sendNodeResponse } from "srvx/node"; +import { NodeRequest, sendNodeResponse } from 'srvx/node' import { VITE_ENVIRONMENT_NAMES } from '../constants' import { resolveViteId } from '../utils' import { extractHtmlScripts } from './extract-html-scripts' @@ -29,7 +29,8 @@ export function devServerPlugin(): PluginOption { templateHtml, ) const scripts = extractHtmlScripts(transformedHtml) - injectedHeadScripts = scripts.flatMap((script) => script.content ?? []) + injectedHeadScripts = scripts + .flatMap((script) => script.content ?? []) .join(';') return () => { @@ -71,7 +72,7 @@ export function devServerPlugin(): PluginOption { /** * export default { * async fetch(req: Request) => Promise - * } + * } */ const serverEntry = await serverEnv.runner.import( '/~start/server-entry', diff --git a/packages/start-plugin-core/src/load-env-plugin/plugin.ts b/packages/start-plugin-core/src/load-env-plugin/plugin.ts index 546aec5adee..de52c0ec36d 100644 --- a/packages/start-plugin-core/src/load-env-plugin/plugin.ts +++ b/packages/start-plugin-core/src/load-env-plugin/plugin.ts @@ -1,17 +1,12 @@ -import * as vite from 'vite' -import type { TanStackStartOutputConfig } from '../schema' +import { loadEnv } from 'vite' +import type { Plugin } from 'vite' -export function loadEnvPlugin( - startOpts: TanStackStartOutputConfig, -): vite.Plugin { +export function loadEnvPlugin(): Plugin { return { name: 'tanstack-start-core:load-env', enforce: 'pre', - config(userConfig, envConfig) { - Object.assign( - process.env, - vite.loadEnv(envConfig.mode, userConfig.root ?? startOpts.root, ''), - ) + configResolved(config) { + Object.assign(process.env, loadEnv(config.mode, config.root)) }, } } diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 802ddccae6e..1e1cfee8da7 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -1,66 +1,157 @@ import path from 'node:path' -import { createNitro } from 'nitropack' import { trimPathRight } from '@tanstack/router-core' import { VIRTUAL_MODULES } from '@tanstack/start-server-core' import { TanStackServerFnPluginEnv } from '@tanstack/server-functions-plugin' import * as vite from 'vite' import { crawlFrameworkPkgs } from 'vitefu' -import { nitroPlugin } from './nitro-plugin/plugin' +import { resolveModulePath } from 'exsolve' +import { join } from 'pathe' import { startManifestPlugin } from './start-manifest-plugin/plugin' import { startCompilerPlugin } from './start-compiler-plugin' -import { - CLIENT_DIST_DIR, - SSR_ENTRY_FILE, - VITE_ENVIRONMENT_NAMES, -} from './constants' +import { ENTRY_POINTS, VITE_ENVIRONMENT_NAMES } from './constants' import { tanStackStartRouter } from './start-router-plugin/plugin' import { loadEnvPlugin } from './load-env-plugin/plugin' import { devServerPlugin } from './dev-server-plugin/plugin' -import { resolveVirtualEntriesPlugin } from './resolve-virtual-entries-plugin/plugin' import { parseStartConfig } from './schema' -import type { - TanStackStartInputConfig, - TanStackStartOutputConfig, -} from './schema' -import type { PluginOption, Rollup } from 'vite' +import type { TanStackStartInputConfig } from './schema' +import type { PluginOption } from 'vite' import type { CompileStartFrameworkOptions } from './compilers' export interface TanStackStartVitePluginCoreOptions { - framework: CompileStartFrameworkOptions - getVirtualServerRootHandler: (ctx: { - routerFilepath: string - serverEntryFilepath: string - }) => string - getVirtualServerEntry: (ctx: { routerFilepath: string }) => string - getVirtualClientEntry: (ctx: { routerFilepath: string }) => string + framework: CompileStartFrameworkOptions, + defaultEntryPaths: { + client: string + server: string + } crawlPackages?: (opts: { name: string peerDependencies: Record exports?: Record | string }) => 'include' | 'exclude' | undefined } -// this needs to live outside of the TanStackStartVitePluginCore since it will be invoked multiple times by vite -let ssrBundle: Rollup.OutputBundle +interface ResolveModuleOptions { + baseName: string + from: string +} +function resolveModule(opts: ResolveModuleOptions): string | undefined { + let baseName = opts.baseName + if (!baseName.startsWith('./')) { + baseName = `./${baseName}` + } + return resolveModulePath(baseName, { + from: opts.from, + extensions: ['.ts', '.js', '.mts', '.mjs', '.tsx', '.jsx'], + try: true, + }) +} + +function resolveEntry< + TRequired extends boolean, + TReturn = TRequired extends true ? string : string | undefined, +>(opts: { + type: string + configuredEntry?: string + defaultEntry: string + resolvedSrcDirectory: string + root: string + required: TRequired +}): TReturn { + let resolveOptions: ResolveModuleOptions + + // if entry was not configured, use default relative to srcDirectory + if (!opts.configuredEntry) { + resolveOptions = { + baseName: opts.defaultEntry, + from: opts.resolvedSrcDirectory, + } + } else { + resolveOptions = { + baseName: opts.configuredEntry, + from: opts.root, + } + } + + const resolvedEntry = resolveModule(resolveOptions) + if (opts.required && !resolvedEntry) { + throw new Error( + `Could not resolve entry for ${opts.type}: ${resolveOptions.baseName} in ${resolveOptions.from}`, + ) + } + return resolvedEntry as TReturn +} export function TanStackStartVitePluginCore( corePluginOpts: TanStackStartVitePluginCoreOptions, startPluginOpts: TanStackStartInputConfig, ): Array { const startConfig = parseStartConfig(startPluginOpts) + return [ tanStackStartRouter({ ...startConfig.tsr, target: corePluginOpts.framework, autoCodeSplitting: true, }), - resolveVirtualEntriesPlugin(corePluginOpts, startConfig), { name: 'tanstack-start-core:config', async config(viteConfig, { command }) { const viteAppBase = trimPathRight(viteConfig.base || '/') globalThis.TSS_APP_BASE = viteAppBase - const nitroOutputPublicDir = await (async () => { + const root = viteConfig.root || process.cwd() + const resolvedSrcDirectory = join(root, startConfig.tsr.srcDirectory) + + const routerFilePath = resolveEntry({ + type: 'router entry', + configuredEntry: startConfig.router.entry, + defaultEntry: 'router', + root, + resolvedSrcDirectory, + required: true, + }) + const clientEntryPath = resolveEntry({ + type: 'client entry', + configuredEntry: startConfig.client.entry, + defaultEntry: 'client', + root, + resolvedSrcDirectory, + required: false, + }) + + const serverEntryPath = resolveEntry({ + type: 'server entry', + configuredEntry: startConfig.server.entry, + defaultEntry: 'server', + root, + resolvedSrcDirectory, + required: false, + }) + + + let clientAlias : string + if (clientEntryPath) { + clientAlias = vite.normalizePath( + path.join('/@fs', path.resolve(root, clientEntryPath)), + ) + } else { + clientAlias = corePluginOpts.defaultEntryPaths.client + } + let serverAlias : string + if (serverEntryPath) { + serverAlias = vite.normalizePath( + path.resolve(root, serverEntryPath), + ) + } else { + serverAlias = corePluginOpts.defaultEntryPaths.server + } + const entryAliasConfiguration : Record = { + [ENTRY_POINTS.router]: routerFilePath, + [ENTRY_POINTS.client]: clientAlias, + [ENTRY_POINTS.server]: serverAlias, + } + + // TODO + /* const nitroOutputPublicDir = await (async () => { // Create a dummy nitro app to get the resolved public output path const dummyNitroApp = await createNitro({ preset: startConfig.target, @@ -71,7 +162,7 @@ export function TanStackStartVitePluginCore( await dummyNitroApp.close() return nitroOutputPublicDir - })() + })()*/ const startPackageName = `@tanstack/${corePluginOpts.framework}-start` const routerPackageName = `@tanstack/${corePluginOpts.framework}-router` @@ -121,18 +212,22 @@ export function TanStackStartVitePluginCore( return { base: viteAppBase, + // see https://vite.dev/config/shared-options.html#apptype + // this will prevent vite from injecting middlewares that we don't want + appType: viteConfig.appType ?? 'custom', environments: { [VITE_ENVIRONMENT_NAMES.client]: { consumer: 'client', build: { - manifest: true, rollupOptions: { input: { - main: getClientEntryPath(startConfig), + main: ENTRY_POINTS.client, // getClientEntryPath(startConfig), }, + /* + TODO unclear whether we still need this output: { dir: path.resolve(startConfig.root, CLIENT_DIST_DIR), - }, + },*/ // TODO: this should be removed external: ['node:fs', 'node:path', 'node:os', 'node:crypto'], }, @@ -142,23 +237,15 @@ export function TanStackStartVitePluginCore( consumer: 'server', build: { ssr: true, - // we don't write to the file system as the below 'capture-output' plugin will - // capture the output and write it to the virtual file system - write: false, - copyPublicDir: false, rollupOptions: { - output: { - entryFileNames: SSR_ENTRY_FILE, - }, - plugins: [ - { - name: 'capture-output', - generateBundle(_options, bundle) { - // TODO: can this hook be called more than once? - ssrBundle = bundle - }, - }, - ], + input: + viteConfig.environments?.ssr?.build?.rollupOptions?.input ?? + ENTRY_POINTS.server, + + // unclear whether we need this still? + // output: { + // entryFileNames: SSR_ENTRY_FILE, + // }, }, commonjsOptions: { include: [/node_modules/], @@ -176,6 +263,9 @@ export function TanStackStartVitePluginCore( ], external: [...result.ssr.external.sort()], dedupe: [startPackageName], + alias: { + ...entryAliasConfiguration, + }, }, optimizeDeps: { exclude: [ @@ -193,10 +283,34 @@ export function TanStackStartVitePluginCore( // This is not the same as injecting environment variables. ...defineReplaceEnv('TSS_SERVER_FN_BASE', startConfig.serverFns.base), - ...defineReplaceEnv('TSS_OUTPUT_PUBLIC_DIR', nitroOutputPublicDir), + ...defineReplaceEnv('TSS_OUTPUT_PUBLIC_DIR', 'TODO' /* nitroOutputPublicDir*/), ...defineReplaceEnv('TSS_APP_BASE', viteAppBase), ...(command === 'serve' ? defineReplaceEnv('TSS_SHELL', startConfig.spa?.enabled ? 'true' : 'false') : {}), }, + builder: { + sharedPlugins: true, + async buildApp(builder) { + const client = builder.environments[VITE_ENVIRONMENT_NAMES.client] + const server = builder.environments[VITE_ENVIRONMENT_NAMES.server] + + if (!client) { + throw new Error('Client environment not found') + } + + if (!server) { + throw new Error('SSR environment not found') + } + + if (!client.isBuilt) { + // Build the client bundle first + await builder.build(client) + } + if (!server.isBuilt) { + // Build the SSR bundle + await builder.build(server) + } + }, + }, } }, }, @@ -224,10 +338,9 @@ export function TanStackStartVitePluginCore( envName: VITE_ENVIRONMENT_NAMES.server, }, }), - loadEnvPlugin(startConfig), - startManifestPlugin({ clientEntry: getClientEntryPath(startConfig) }), + loadEnvPlugin(), + startManifestPlugin(), devServerPlugin(), - nitroPlugin(startConfig, () => ssrBundle), { name: 'tanstack-start:core:capture-client-bundle', applyToEnvironment(e) { @@ -250,22 +363,3 @@ function defineReplaceEnv( [`import.meta.env.${key}`]: JSON.stringify(value), } as { [P in `process.env.${TKey}` | `import.meta.env.${TKey}`]: TValue } } - -const getClientEntryPath = (startConfig: TanStackStartOutputConfig) => { - // when the user specifies a custom client entry path, we need to resolve it - // relative to the root of the project, keeping in mind that if not specified - // it will be /~start/default-client-entry which is a virtual path - // that is resolved by vite to the actual client entry path - const entry = startConfig.clientEntryPath.startsWith( - '/~start/default-client-entry', - ) - ? startConfig.clientEntryPath - : vite.normalizePath( - path.join( - '/@fs', - path.resolve(startConfig.root, startConfig.clientEntryPath), - ), - ) - - return entry -} diff --git a/packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts b/packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts deleted file mode 100644 index 7c517358e9b..00000000000 --- a/packages/start-plugin-core/src/resolve-virtual-entries-plugin/plugin.ts +++ /dev/null @@ -1,75 +0,0 @@ -import path from 'node:path' -import * as vite from 'vite' -import type { TanStackStartVitePluginCoreOptions } from '../plugin' -import type { TanStackStartOutputConfig } from '../schema' - -export function resolveVirtualEntriesPlugin( - opts: TanStackStartVitePluginCoreOptions, - startConfig: TanStackStartOutputConfig, -): vite.Plugin { - let resolvedConfig: vite.ResolvedConfig - - const modules = new Set([ - '/~start/server-entry', - '/~start/default-server-entry', - '/~start/default-client-entry', - ]) - - return { - name: 'tanstack-start-core:resolve-virtual-entries', - configResolved(config) { - resolvedConfig = config - }, - resolveId: { - filter: { - id: new RegExp([...modules].join('|')), - }, - handler(id) { - if (modules.has(id)) { - return `${id}.tsx` - } - - return undefined - }, - }, - load: { - filter: { - id: new RegExp([...modules].map((m) => `${m}.tsx`).join('|')), - }, - handler(id) { - const routerFilepath = vite.normalizePath( - path.resolve( - startConfig.root, - startConfig.tsr.srcDirectory, - 'router', - ), - ) - - if (id === '/~start/server-entry.tsx') { - const ssrEntryFilepath = startConfig.serverEntryPath.startsWith( - '/~start/default-server-entry', - ) - ? startConfig.serverEntryPath - : vite.normalizePath( - path.resolve(resolvedConfig.root, startConfig.serverEntryPath), - ) - - return opts.getVirtualServerRootHandler({ - routerFilepath, - serverEntryFilepath: ssrEntryFilepath, - }) - } - - if (id === '/~start/default-client-entry.tsx') { - return opts.getVirtualClientEntry({ routerFilepath }) - } - - if (id === '/~start/default-server-entry.tsx') { - return opts.getVirtualServerEntry({ routerFilepath }) - } - - return undefined - }, - }, - } -} diff --git a/packages/start-plugin-core/src/schema.ts b/packages/start-plugin-core/src/schema.ts index d02b6c66aa1..e2df64d07fc 100644 --- a/packages/start-plugin-core/src/schema.ts +++ b/packages/start-plugin-core/src/schema.ts @@ -1,13 +1,13 @@ import path from 'node:path' -import { existsSync } from 'node:fs' import { z } from 'zod' import { configSchema, getConfig } from '@tanstack/router-generator' -import type { NitroConfig } from 'nitropack' const tsrConfig = configSchema .omit({ autoCodeSplitting: true }) .partial() .extend({ + // this is relative to vite root + // TODO why is this nested under tsr? srcDirectory: z.string().optional().default('src'), }) @@ -25,38 +25,6 @@ export function parseStartConfig( options.tsr.generatedRouteTree ?? path.join(srcDirectory, 'routeTree.gen.ts') - const clientEntryPath = (() => { - if (options.client.entry) { - return path.join(srcDirectory, options.client.entry) - } - - if (existsSync(path.join(srcDirectory, 'client.tsx'))) { - return path.join(srcDirectory, 'client.tsx') - } - - return '/~start/default-client-entry' - })() - - const serverEntryPath = (() => { - if (options.server.entry) { - return path.join(srcDirectory, options.server.entry) - } - - if (existsSync(path.join(srcDirectory, 'server.tsx'))) { - return path.join(srcDirectory, 'server.tsx') - } - - if (existsSync(path.join(srcDirectory, 'server.ts'))) { - return path.join(srcDirectory, 'server.ts') - } - - if (existsSync(path.join(srcDirectory, 'server.js'))) { - return path.join(srcDirectory, 'server.js') - } - - return '/~start/default-server-entry' - })() - return { ...options, tsr: { @@ -67,8 +35,6 @@ export function parseStartConfig( generatedRouteTree, }), }, - clientEntryPath, - serverEntryPath, } } @@ -155,9 +121,14 @@ const pageSchema = pageBaseSchema.extend({ const tanstackStartOptionsSchema = z .object({ - root: z.string().optional().default(process.cwd()), - target: z.custom().optional(), tsr: tsrConfig.optional().default({}), + router: z + .object({ + // TODO naming? + entry: z.string().optional(), + }) + .optional() + .default({}), client: z .object({ entry: z.string().optional(), diff --git a/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts b/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts index 414d475c0c7..da009a2bae1 100644 --- a/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts +++ b/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts @@ -3,7 +3,8 @@ import { rootRouteId } from '@tanstack/router-core' import { VIRTUAL_MODULES } from '@tanstack/start-server-core' import { tsrSplit } from '@tanstack/router-plugin' import { resolveViteId } from '../utils' -import type { PluginOption, ResolvedConfig, Rollup } from 'vite' +import { ENTRY_POINTS } from '../constants' +import type { PluginOption, Rollup } from 'vite' import type { RouterManagedTag } from '@tanstack/router-core' export const getCSSRecursively = ( @@ -39,18 +40,10 @@ export const getCSSRecursively = ( } const resolvedModuleId = resolveViteId(VIRTUAL_MODULES.startManifest) -export function startManifestPlugin(opts: { - clientEntry: string -}): PluginOption { - let config: ResolvedConfig - +export function startManifestPlugin(): PluginOption { return { name: 'tanstack-start:start-manifest-plugin', enforce: 'pre', - - configResolved(resolvedConfig) { - config = resolvedConfig - }, resolveId: { filter: { id: new RegExp(VIRTUAL_MODULES.startManifest) }, handler(id) { @@ -76,10 +69,10 @@ export function startManifestPlugin(opts: { const APP_BASE = globalThis.TSS_APP_BASE // If we're in development, return a dummy manifest - if (config.command === 'serve') { + if (this.environment.config.command === 'serve') { return `export const tsrStartManifest = () => ({ routes: {}, - clientEntry: '${joinURL(APP_BASE, opts.clientEntry)}', + clientEntry: '${joinURL('/@id', ENTRY_POINTS.client)}', })` } @@ -88,7 +81,6 @@ export function startManifestPlugin(opts: { const routeTreeRoutes = globalThis.TSS_ROUTES_MANIFEST.routes // This is where hydration will start, from when the SSR'd page reaches the browser. - // By default, this'd be the virtual entry of `/~start/default-client-entry.tsx`, unless a custom entry is provided. let entryFile: Rollup.OutputChunk | undefined const clientBundle = globalThis.TSS_CLIENT_BUNDLE @@ -222,12 +214,12 @@ export function startManifestPlugin(opts: { recurseRoute(routeTreeRoutes[rootRouteId]!) - const routesManifest = { + const startManifest = { routes: routeTreeRoutes, clientEntry: joinURL(APP_BASE, entryFile.fileName), } - return `export const tsrStartManifest = () => (${JSON.stringify(routesManifest)})` + return `export const tsrStartManifest = () => (${JSON.stringify(startManifest)})` } return undefined diff --git a/packages/start-plugin-core/vite.config.ts b/packages/start-plugin-core/vite.config.ts index 2c711fd1810..d6650eebf65 100644 --- a/packages/start-plugin-core/vite.config.ts +++ b/packages/start-plugin-core/vite.config.ts @@ -17,5 +17,6 @@ export default mergeConfig( entry: './src/index.ts', srcDir: './src', outDir: './dist', + cjs: false, }), ) From 996ddffe9d14363e55aeef4874a67589dfeaf50f Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 010/271] move entry resolution to separate file --- packages/start-plugin-core/src/plugin.ts | 51 +----------------- .../start-plugin-core/src/resolve-entries.ts | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+), 50 deletions(-) create mode 100644 packages/start-plugin-core/src/resolve-entries.ts diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 1e1cfee8da7..abe73301e72 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -4,7 +4,6 @@ import { VIRTUAL_MODULES } from '@tanstack/start-server-core' import { TanStackServerFnPluginEnv } from '@tanstack/server-functions-plugin' import * as vite from 'vite' import { crawlFrameworkPkgs } from 'vitefu' -import { resolveModulePath } from 'exsolve' import { join } from 'pathe' import { startManifestPlugin } from './start-manifest-plugin/plugin' import { startCompilerPlugin } from './start-compiler-plugin' @@ -13,6 +12,7 @@ import { tanStackStartRouter } from './start-router-plugin/plugin' import { loadEnvPlugin } from './load-env-plugin/plugin' import { devServerPlugin } from './dev-server-plugin/plugin' import { parseStartConfig } from './schema' +import { resolveEntry } from './resolve-entries' import type { TanStackStartInputConfig } from './schema' import type { PluginOption } from 'vite' import type { CompileStartFrameworkOptions } from './compilers' @@ -30,56 +30,7 @@ export interface TanStackStartVitePluginCoreOptions { }) => 'include' | 'exclude' | undefined } -interface ResolveModuleOptions { - baseName: string - from: string -} -function resolveModule(opts: ResolveModuleOptions): string | undefined { - let baseName = opts.baseName - if (!baseName.startsWith('./')) { - baseName = `./${baseName}` - } - return resolveModulePath(baseName, { - from: opts.from, - extensions: ['.ts', '.js', '.mts', '.mjs', '.tsx', '.jsx'], - try: true, - }) -} - -function resolveEntry< - TRequired extends boolean, - TReturn = TRequired extends true ? string : string | undefined, ->(opts: { - type: string - configuredEntry?: string - defaultEntry: string - resolvedSrcDirectory: string - root: string - required: TRequired -}): TReturn { - let resolveOptions: ResolveModuleOptions - // if entry was not configured, use default relative to srcDirectory - if (!opts.configuredEntry) { - resolveOptions = { - baseName: opts.defaultEntry, - from: opts.resolvedSrcDirectory, - } - } else { - resolveOptions = { - baseName: opts.configuredEntry, - from: opts.root, - } - } - - const resolvedEntry = resolveModule(resolveOptions) - if (opts.required && !resolvedEntry) { - throw new Error( - `Could not resolve entry for ${opts.type}: ${resolveOptions.baseName} in ${resolveOptions.from}`, - ) - } - return resolvedEntry as TReturn -} export function TanStackStartVitePluginCore( corePluginOpts: TanStackStartVitePluginCoreOptions, startPluginOpts: TanStackStartInputConfig, diff --git a/packages/start-plugin-core/src/resolve-entries.ts b/packages/start-plugin-core/src/resolve-entries.ts new file mode 100644 index 00000000000..b9775640c80 --- /dev/null +++ b/packages/start-plugin-core/src/resolve-entries.ts @@ -0,0 +1,52 @@ +import { resolveModulePath } from 'exsolve' + +interface ResolveModuleOptions { + baseName: string + from: string +} +function resolveModule(opts: ResolveModuleOptions): string | undefined { + let baseName = opts.baseName + if (!baseName.startsWith('./')) { + baseName = `./${baseName}` + } + return resolveModulePath(baseName, { + from: opts.from, + extensions: ['.ts', '.js', '.mts', '.mjs', '.tsx', '.jsx'], + try: true, + }) +} + +export function resolveEntry< + TRequired extends boolean, + TReturn = TRequired extends true ? string : string | undefined, +>(opts: { + type: string + configuredEntry?: string + defaultEntry: string + resolvedSrcDirectory: string + root: string + required: TRequired +}): TReturn { + let resolveOptions: ResolveModuleOptions + + // if entry was not configured, use default relative to srcDirectory + if (!opts.configuredEntry) { + resolveOptions = { + baseName: opts.defaultEntry, + from: opts.resolvedSrcDirectory, + } + } else { + resolveOptions = { + baseName: opts.configuredEntry, + from: opts.root, + } + } + + const resolvedEntry = resolveModule(resolveOptions) + if (opts.required && !resolvedEntry) { + throw new Error( + `Could not resolve entry for ${opts.type}: ${resolveOptions.baseName} in ${resolveOptions.from}`, + ) + } + return resolvedEntry as TReturn +} From 687b836cb98001c81d57ff89ba1a4b3baba10765 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 011/271] configure default output dirs --- .../start-plugin-core/src/output-directory.ts | 18 +++++++++++ packages/start-plugin-core/src/plugin.ts | 31 +++++++++++-------- 2 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 packages/start-plugin-core/src/output-directory.ts diff --git a/packages/start-plugin-core/src/output-directory.ts b/packages/start-plugin-core/src/output-directory.ts new file mode 100644 index 00000000000..799059ebb6f --- /dev/null +++ b/packages/start-plugin-core/src/output-directory.ts @@ -0,0 +1,18 @@ +import { join } from 'pathe' +import { VITE_ENVIRONMENT_NAMES } from './constants' +import type * as vite from 'vite' + +export function getClientOutputDirectory(userConfig: vite.UserConfig) { + return ( + userConfig.environments?.[VITE_ENVIRONMENT_NAMES.client]?.build?.outDir ?? + join(getServerOutputDirectory(userConfig), 'public') + ) +} + +export function getServerOutputDirectory(userConfig: vite.UserConfig) { + const rootOutputDirectory = userConfig.build?.outDir ?? 'dist' + return ( + userConfig.environments?.[VITE_ENVIRONMENT_NAMES.server]?.build?.outDir ?? + rootOutputDirectory + ) +} diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index abe73301e72..ef14b46ba46 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -13,6 +13,10 @@ import { loadEnvPlugin } from './load-env-plugin/plugin' import { devServerPlugin } from './dev-server-plugin/plugin' import { parseStartConfig } from './schema' import { resolveEntry } from './resolve-entries' +import { + getClientOutputDirectory, + getServerOutputDirectory, +} from './output-directory' import type { TanStackStartInputConfig } from './schema' import type { PluginOption } from 'vite' import type { CompileStartFrameworkOptions } from './compilers' @@ -170,37 +174,38 @@ export function TanStackStartVitePluginCore( [VITE_ENVIRONMENT_NAMES.client]: { consumer: 'client', build: { + emptyOutDir: + viteConfig.environments?.[VITE_ENVIRONMENT_NAMES.client] + ?.build?.emptyOutDir ?? true, rollupOptions: { input: { - main: ENTRY_POINTS.client, // getClientEntryPath(startConfig), + main: ENTRY_POINTS.client, }, - /* - TODO unclear whether we still need this - output: { - dir: path.resolve(startConfig.root, CLIENT_DIST_DIR), - },*/ // TODO: this should be removed external: ['node:fs', 'node:path', 'node:os', 'node:crypto'], }, + outDir: getClientOutputDirectory(viteConfig), }, }, [VITE_ENVIRONMENT_NAMES.server]: { consumer: 'server', build: { + emptyOutDir: + viteConfig.environments?.[VITE_ENVIRONMENT_NAMES.server] + ?.build?.emptyOutDir ?? false, ssr: true, rollupOptions: { input: - viteConfig.environments?.ssr?.build?.rollupOptions?.input ?? - ENTRY_POINTS.server, - - // unclear whether we need this still? - // output: { - // entryFileNames: SSR_ENTRY_FILE, - // }, + viteConfig.environments?.[VITE_ENVIRONMENT_NAMES.server] + ?.build?.rollupOptions?.input ?? ENTRY_POINTS.server, }, + outDir: getServerOutputDirectory(viteConfig), commonjsOptions: { include: [/node_modules/], }, + copyPublicDir: + viteConfig.environments?.[VITE_ENVIRONMENT_NAMES.server] + ?.build?.copyPublicDir ?? false, }, }, }, From ce029d043c0a218be22aff53f6a05b2651086a3f Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 012/271] do not share client bundle via global --- packages/start-plugin-core/src/global.d.ts | 2 -- packages/start-plugin-core/src/plugin.ts | 4 ++-- .../start-plugin-core/src/start-manifest-plugin/plugin.ts | 6 ++++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/start-plugin-core/src/global.d.ts b/packages/start-plugin-core/src/global.d.ts index e102e7b6a82..878351c9665 100644 --- a/packages/start-plugin-core/src/global.d.ts +++ b/packages/start-plugin-core/src/global.d.ts @@ -1,10 +1,8 @@ import type { Manifest } from '@tanstack/router-core' -import type { Rollup } from 'vite' /* eslint-disable no-var */ declare global { var TSS_APP_BASE: string var TSS_ROUTES_MANIFEST: Manifest - var TSS_CLIENT_BUNDLE: Rollup.OutputBundle } export {} diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index ef14b46ba46..5d55bdde48f 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -295,7 +295,7 @@ export function TanStackStartVitePluginCore( }, }), loadEnvPlugin(), - startManifestPlugin(), + startManifestPlugin({ getClientBundle: () => clientBundle }), devServerPlugin(), { name: 'tanstack-start:core:capture-client-bundle', @@ -304,7 +304,7 @@ export function TanStackStartVitePluginCore( }, enforce: 'post', generateBundle(_options, bundle) { - globalThis.TSS_CLIENT_BUNDLE = bundle + clientBundle = bundle }, }, ] diff --git a/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts b/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts index da009a2bae1..6827847a2cf 100644 --- a/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts +++ b/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts @@ -40,7 +40,9 @@ export const getCSSRecursively = ( } const resolvedModuleId = resolveViteId(VIRTUAL_MODULES.startManifest) -export function startManifestPlugin(): PluginOption { +export function startManifestPlugin(opts: { + getClientBundle: () => Rollup.OutputBundle +}): PluginOption { return { name: 'tanstack-start:start-manifest-plugin', enforce: 'pre', @@ -83,7 +85,7 @@ export function startManifestPlugin(): PluginOption { // This is where hydration will start, from when the SSR'd page reaches the browser. let entryFile: Rollup.OutputChunk | undefined - const clientBundle = globalThis.TSS_CLIENT_BUNDLE + const clientBundle = opts.getClientBundle() const chunksByFileName = new Map() const routeChunks: Record< From de2e5f0b12aa1cb32f206a3e16d65f7f61f76f2d Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 013/271] formatting --- packages/react-start-plugin/src/index.ts | 3 ++- .../src/default-entry/client.tsx | 10 +++---- .../src/default-entry/router-entry.d.ts | 7 +++-- .../src/default-entry/server.ts | 27 +++++++++---------- packages/solid-start-plugin/src/index.ts | 1 - packages/solid-start-plugin/vite.config.ts | 2 +- packages/solid-start-server/vite.config.ts | 4 +-- packages/start-plugin-core/src/plugin.ts | 21 ++++++++------- 8 files changed, 36 insertions(+), 39 deletions(-) diff --git a/packages/react-start-plugin/src/index.ts b/packages/react-start-plugin/src/index.ts index e2537768ad9..ba34a287ebd 100644 --- a/packages/react-start-plugin/src/index.ts +++ b/packages/react-start-plugin/src/index.ts @@ -11,7 +11,8 @@ const defaultEntryPaths = { server: path.resolve(defaultEntryDir, 'server'), } -const isInsideRouterMonoRepo = path.basename(path.resolve(currentDir, '../../../')) === 'packages' +const isInsideRouterMonoRepo = + path.basename(path.resolve(currentDir, '../../../')) === 'packages' function hasRootExport( diff --git a/packages/solid-start-plugin/src/default-entry/client.tsx b/packages/solid-start-plugin/src/default-entry/client.tsx index e2b1bdbeecf..b39ab07df4b 100644 --- a/packages/solid-start-plugin/src/default-entry/client.tsx +++ b/packages/solid-start-plugin/src/default-entry/client.tsx @@ -1,7 +1,7 @@ -import { hydrate } from 'solid-js/web'; -import { StartClient } from '@tanstack/solid-start'; -import { createRouter } from '#tanstack-start-router-entry'; +import { hydrate } from 'solid-js/web' +import { StartClient } from '@tanstack/solid-start' +import { createRouter } from '#tanstack-start-router-entry' -const router = createRouter(); +const router = createRouter() -hydrate(() => , document.body); \ No newline at end of file +hydrate(() => , document.body) diff --git a/packages/solid-start-plugin/src/default-entry/router-entry.d.ts b/packages/solid-start-plugin/src/default-entry/router-entry.d.ts index b27e105aebc..00b100e7930 100644 --- a/packages/solid-start-plugin/src/default-entry/router-entry.d.ts +++ b/packages/solid-start-plugin/src/default-entry/router-entry.d.ts @@ -1,5 +1,4 @@ declare module '#tanstack-start-router-entry' { - // eslint-disable-next-line @typescript-eslint/consistent-type-imports - export const createRouter: () => import('@tanstack/router-core').AnyRouter - } - \ No newline at end of file + // eslint-disable-next-line @typescript-eslint/consistent-type-imports + export const createRouter: () => import('@tanstack/router-core').AnyRouter +} diff --git a/packages/solid-start-plugin/src/default-entry/server.ts b/packages/solid-start-plugin/src/default-entry/server.ts index 0c1c8c0ba80..cbfb788e4fe 100644 --- a/packages/solid-start-plugin/src/default-entry/server.ts +++ b/packages/solid-start-plugin/src/default-entry/server.ts @@ -1,15 +1,14 @@ import { - createStartHandler, - defaultStreamHandler, - } from '@tanstack/solid-start/server' - - import { createRouter } from '#tanstack-start-router-entry' - - const fetch = createStartHandler({ - createRouter, - })(defaultStreamHandler) - - export default { - fetch, - } - \ No newline at end of file + createStartHandler, + defaultStreamHandler, +} from '@tanstack/solid-start/server' + +import { createRouter } from '#tanstack-start-router-entry' + +const fetch = createStartHandler({ + createRouter, +})(defaultStreamHandler) + +export default { + fetch, +} diff --git a/packages/solid-start-plugin/src/index.ts b/packages/solid-start-plugin/src/index.ts index a0114178833..dae794e9b0b 100644 --- a/packages/solid-start-plugin/src/index.ts +++ b/packages/solid-start-plugin/src/index.ts @@ -11,7 +11,6 @@ const defaultEntryPaths = { server: path.resolve(defaultEntryDir, 'server'), } - export function tanstackStart( options?: TanStackStartInputConfig, ): Array { diff --git a/packages/solid-start-plugin/vite.config.ts b/packages/solid-start-plugin/vite.config.ts index d742ea63e78..a7ea4b18311 100644 --- a/packages/solid-start-plugin/vite.config.ts +++ b/packages/solid-start-plugin/vite.config.ts @@ -25,6 +25,6 @@ export default mergeConfig( entry: './src/index.ts', srcDir: './src', outDir: './dist', - cjs: false + cjs: false, }), ) diff --git a/packages/solid-start-server/vite.config.ts b/packages/solid-start-server/vite.config.ts index 7ef5e5281fe..2f124170cec 100644 --- a/packages/solid-start-server/vite.config.ts +++ b/packages/solid-start-server/vite.config.ts @@ -4,9 +4,7 @@ import solid from 'vite-plugin-solid' import packageJson from './package.json' const config = defineConfig({ - plugins: [ - solid({ solid: { generate: 'ssr' } }), - ], + plugins: [solid({ solid: { generate: 'ssr' } })], test: { name: packageJson.name, watch: false, diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 5d55bdde48f..12f0a15a53c 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -22,7 +22,7 @@ import type { PluginOption } from 'vite' import type { CompileStartFrameworkOptions } from './compilers' export interface TanStackStartVitePluginCoreOptions { - framework: CompileStartFrameworkOptions, + framework: CompileStartFrameworkOptions defaultEntryPaths: { client: string server: string @@ -34,13 +34,14 @@ export interface TanStackStartVitePluginCoreOptions { }) => 'include' | 'exclude' | undefined } - export function TanStackStartVitePluginCore( corePluginOpts: TanStackStartVitePluginCoreOptions, startPluginOpts: TanStackStartInputConfig, ): Array { const startConfig = parseStartConfig(startPluginOpts) + let clientBundle: vite.Rollup.OutputBundle + return [ tanStackStartRouter({ ...startConfig.tsr, @@ -82,8 +83,7 @@ export function TanStackStartVitePluginCore( required: false, }) - - let clientAlias : string + let clientAlias: string if (clientEntryPath) { clientAlias = vite.normalizePath( path.join('/@fs', path.resolve(root, clientEntryPath)), @@ -91,21 +91,22 @@ export function TanStackStartVitePluginCore( } else { clientAlias = corePluginOpts.defaultEntryPaths.client } - let serverAlias : string + let serverAlias: string if (serverEntryPath) { - serverAlias = vite.normalizePath( - path.resolve(root, serverEntryPath), - ) + serverAlias = vite.normalizePath(path.resolve(root, serverEntryPath)) } else { serverAlias = corePluginOpts.defaultEntryPaths.server } - const entryAliasConfiguration : Record = { + const entryAliasConfiguration: Record< + (typeof ENTRY_POINTS)[keyof typeof ENTRY_POINTS], + string + > = { [ENTRY_POINTS.router]: routerFilePath, [ENTRY_POINTS.client]: clientAlias, [ENTRY_POINTS.server]: serverAlias, } - // TODO + // TODO /* const nitroOutputPublicDir = await (async () => { // Create a dummy nitro app to get the resolved public output path const dummyNitroApp = await createNitro({ From 1fad8acd45dec5944c780c8f9c9cf62fcbcb233f Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 014/271] remove unused dep --- examples/react/basic-ssr-file-based/package.json | 1 - examples/react/basic-ssr-streaming-file-based/package.json | 1 - examples/solid/basic-ssr-streaming-file-based/package.json | 1 - pnpm-lock.yaml | 6 ------ 4 files changed, 9 deletions(-) diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 0e001ecc9ac..0e06cd437cd 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -16,7 +16,6 @@ "compression": "^1.8.0", "express": "^4.21.2", "get-port": "^7.1.0", - "isbot": "^5.1.28", "node-fetch": "^3.3.2", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index 108d3951ae7..1b54cfb8f9c 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -16,7 +16,6 @@ "compression": "^1.7.5", "express": "^4.21.2", "get-port": "^7.1.0", - "isbot": "^5.1.22", "node-fetch": "^3.3.2", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index 139634ab2b6..a96829d93b5 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -17,7 +17,6 @@ "compression": "^1.7.5", "express": "^4.21.2", "get-port": "^7.1.0", - "isbot": "^5.1.22", "node-fetch": "^3.3.2", "postcss": "^8.5.1", "redaxios": "^0.5.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75bcb051228..3448d0b9bfc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3241,9 +3241,6 @@ importers: get-port: specifier: ^7.1.0 version: 7.1.0 - isbot: - specifier: ^5.1.22 - version: 5.1.28 node-fetch: specifier: ^3.3.2 version: 3.3.2 @@ -6040,9 +6037,6 @@ importers: get-port: specifier: ^7.1.0 version: 7.1.0 - isbot: - specifier: ^5.1.22 - version: 5.1.28 node-fetch: specifier: ^3.3.2 version: 3.3.2 From 6ecc99c73c0e0ae6d633d454c9e77bfd4ec879ed Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 015/271] prerender --- .../src/{nitro-plugin => }/build-sitemap.ts | 16 +- packages/start-plugin-core/src/constants.ts | 3 + .../src/nitro-plugin/plugin.ts | 252 ------------------ packages/start-plugin-core/src/plugin.ts | 33 ++- .../src/post-server-build.ts | 73 +++++ .../src/{nitro-plugin => }/prerender.ts | 174 ++++++------ .../src/{nitro-plugin => }/queue.ts | 0 7 files changed, 202 insertions(+), 349 deletions(-) rename packages/start-plugin-core/src/{nitro-plugin => }/build-sitemap.ts (94%) delete mode 100644 packages/start-plugin-core/src/nitro-plugin/plugin.ts create mode 100644 packages/start-plugin-core/src/post-server-build.ts rename packages/start-plugin-core/src/{nitro-plugin => }/prerender.ts (56%) rename packages/start-plugin-core/src/{nitro-plugin => }/queue.ts (100%) diff --git a/packages/start-plugin-core/src/nitro-plugin/build-sitemap.ts b/packages/start-plugin-core/src/build-sitemap.ts similarity index 94% rename from packages/start-plugin-core/src/nitro-plugin/build-sitemap.ts rename to packages/start-plugin-core/src/build-sitemap.ts index d5753af701e..fabb9f19d27 100644 --- a/packages/start-plugin-core/src/nitro-plugin/build-sitemap.ts +++ b/packages/start-plugin-core/src/build-sitemap.ts @@ -1,8 +1,8 @@ import { writeFileSync } from 'node:fs' import path from 'node:path' import { create } from 'xmlbuilder2' -import { createLogger } from '../utils' -import type { TanStackStartOutputConfig } from '../schema' +import { createLogger } from './utils' +import type { TanStackStartOutputConfig } from './schema' import type { XMLBuilder } from 'xmlbuilder2/lib/interfaces' export type SitemapUrl = { @@ -123,17 +123,17 @@ function jsonToXml(sitemapData: SitemapData): string { } export function buildSitemap({ - options, + startConfig, publicDir, }: { - options: TanStackStartOutputConfig + startConfig: TanStackStartOutputConfig publicDir: string }) { const logger = createLogger('sitemap') - let sitemapOptions = options.sitemap + let sitemapOptions = startConfig.sitemap - if (!sitemapOptions && options.pages.length) { + if (!sitemapOptions && startConfig.pages.length) { sitemapOptions = { enabled: true, outputPath: 'sitemap.xml' } } @@ -144,7 +144,7 @@ export function buildSitemap({ const { host, outputPath } = sitemapOptions if (!host) { - if (!options.sitemap) { + if (!startConfig.sitemap) { logger.info( 'Hint: Pages found, but no sitemap host has been set. To enable sitemap generation, set the `sitemap.host` option.', ) @@ -159,7 +159,7 @@ export function buildSitemap({ throw new Error('Sitemap output path is not set') } - const { pages } = options + const { pages } = startConfig if (!pages.length) { logger.info('No pages were found to build the sitemap. Skipping...') diff --git a/packages/start-plugin-core/src/constants.ts b/packages/start-plugin-core/src/constants.ts index d709e790981..ba01db6e65a 100644 --- a/packages/start-plugin-core/src/constants.ts +++ b/packages/start-plugin-core/src/constants.ts @@ -5,6 +5,9 @@ export const VITE_ENVIRONMENT_NAMES = { client: 'client', } as const +export type ViteEnvironmentNames = + (typeof VITE_ENVIRONMENT_NAMES)[keyof typeof VITE_ENVIRONMENT_NAMES] + // for client and router: // if a user has a custom server/client entry point file, resolve.alias will point to this // otherwise it will be aliased to the default entry point in the respective framework plugin diff --git a/packages/start-plugin-core/src/nitro-plugin/plugin.ts b/packages/start-plugin-core/src/nitro-plugin/plugin.ts deleted file mode 100644 index 22ac5c76942..00000000000 --- a/packages/start-plugin-core/src/nitro-plugin/plugin.ts +++ /dev/null @@ -1,252 +0,0 @@ -import path from 'node:path' -import { rmSync } from 'node:fs' -import { build, copyPublicAssets, createNitro, prepare } from 'nitropack' -import { dirname, resolve } from 'pathe' -import { HEADERS } from '@tanstack/start-server-core' -import { - CLIENT_DIST_DIR, - SSR_ENTRY_FILE, - VITE_ENVIRONMENT_NAMES, -} from '../constants' -import { buildSitemap } from './build-sitemap' -import { prerender } from './prerender' -import type { TanStackStartOutputConfig } from '../schema' -import type { - EnvironmentOptions, - PluginOption, - Rollup, - ViteBuilder, -} from 'vite' -import type { Nitro, NitroConfig } from 'nitropack' - -export function nitroPlugin( - options: TanStackStartOutputConfig, - getSsrBundle: () => Rollup.OutputBundle, -): Array { - const buildPreset = - process.env['START_TARGET'] ?? (options.target as string | undefined) - return [ - { - name: 'tanstack-vite-plugin-nitro', - configEnvironment(name) { - if (name === VITE_ENVIRONMENT_NAMES.server) { - return { - build: { - commonjsOptions: { - include: [], - }, - ssr: true, - sourcemap: true, - rollupOptions: { - input: '/~start/server-entry', - }, - }, - } satisfies EnvironmentOptions - } - - return null - }, - config() { - return { - builder: { - sharedPlugins: true, - async buildApp(builder) { - const client = builder.environments[VITE_ENVIRONMENT_NAMES.client] - const server = builder.environments[VITE_ENVIRONMENT_NAMES.server] - - if (!client) { - throw new Error('Client environment not found') - } - - if (!server) { - throw new Error('SSR environment not found') - } - - // Build the client bundle - // i.e client entry file with `hydrateRoot(...)` - const clientOutputDir = resolve(options.root, CLIENT_DIST_DIR) - rmSync(clientOutputDir, { recursive: true, force: true }) - await builder.build(client) - - // Build the SSR bundle - await builder.build(server) - - const nitroConfig: NitroConfig = { - dev: false, - // TODO: do we need this? should this be made configurable? - compatibilityDate: '2024-11-19', - logLevel: 3, - preset: buildPreset, - baseURL: globalThis.TSS_APP_BASE, - publicAssets: [ - { - dir: path.resolve(options.root, CLIENT_DIST_DIR), - baseURL: '/', - maxAge: 31536000, // 1 year - }, - ], - typescript: { - generateTsConfig: false, - }, - prerender: undefined, - renderer: SSR_ENTRY_FILE, - plugins: [], // Nitro's plugins - appConfigFiles: [], - scanDirs: [], - imports: false, // unjs/unimport for global/magic imports - rollupConfig: { - plugins: [virtualBundlePlugin(getSsrBundle())], - }, - virtual: { - // This is Nitro's way of defining virtual modules - // Should we define the ones for TanStack Start's here as well? - }, - } - - const nitro = await createNitro(nitroConfig) - - await buildNitroApp(builder, nitro, options) - }, - }, - } - }, - }, - ] -} - -/** - * Correctly co-ordinates the nitro app build process to make sure that the - * app is built, while also correctly handling the prerendering and sitemap - * generation and including their outputs in the final build. - */ -async function buildNitroApp( - builder: ViteBuilder, - nitro: Nitro, - options: TanStackStartOutputConfig, -) { - // Cleans the public and server directories for a fresh build - // i.e the `.output/public` and `.output/server` directories - await prepare(nitro) - - // Creates the `.output/public` directory and copies the public assets - await copyPublicAssets(nitro) - - // If the user has not set a prerender option, we need to set it to true - // if the pages array is not empty and has sub options requiring for prerendering - // If the user has explicitly set prerender.enabled, this should be respected - if (options.prerender?.enabled !== false) { - options.prerender = { - ...options.prerender, - enabled: - options.prerender?.enabled ?? - options.pages.some((d) => - typeof d === 'string' ? false : !!d.prerender?.enabled, - ), - } - } - - // Setup the options for prerendering the SPA shell (i.e `src/routes/__root.tsx`) - if (options.spa?.enabled) { - options.prerender = { - ...options.prerender, - enabled: true, - } - - const maskUrl = new URL(options.spa.maskPath, 'http://localhost') - - options.pages.push({ - path: maskUrl.toString().replace('http://localhost', ''), - prerender: { - ...options.spa.prerender, - headers: { - ...options.spa.prerender.headers, - [HEADERS.TSS_SHELL]: 'true', - }, - }, - sitemap: { - exclude: true, - }, - }) - } - - // Run the prerendering process - if (options.prerender.enabled) { - await prerender({ - options, - nitro, - builder, - }) - } - - // Run the sitemap build process - if (options.pages.length) { - buildSitemap({ - options, - publicDir: nitro.options.output.publicDir, - }) - } - - // Build the nitro app - // We only build the nitro app, once we've prepared the public assets, - // prerendered the pages and built the sitemap. - // If we try to do this earlier, then the public assets may not be available - // in the production build. - await build(nitro) - - // Close the nitro instance - await nitro.close() - nitro.logger.success( - 'Client and Server bundles for TanStack Start have been successfully built.', - ) -} - -type NitroRollupPluginOption = NonNullable< - NitroConfig['rollupConfig'] ->['plugins'] - -function virtualBundlePlugin( - ssrBundle: Rollup.OutputBundle, -): NitroRollupPluginOption { - type VirtualModule = { code: string; map: string | null } - const _modules = new Map() - - // group chunks and source maps - for (const [fileName, content] of Object.entries(ssrBundle)) { - if (content.type === 'chunk') { - const virtualModule: VirtualModule = { - code: content.code, - map: null, - } - const maybeMap = ssrBundle[`${fileName}.map`] - if (maybeMap && maybeMap.type === 'asset') { - virtualModule.map = maybeMap.source as string - } - _modules.set(fileName, virtualModule) - _modules.set(resolve(fileName), virtualModule) - } - } - - return { - name: 'virtual-bundle', - resolveId(id, importer) { - if (_modules.has(id)) { - return resolve(id) - } - - if (importer) { - const resolved = resolve(dirname(importer), id) - if (_modules.has(resolved)) { - return resolved - } - } - return null - }, - load(id) { - const m = _modules.get(id) - if (!m) { - return null - } - return m - }, - } -} diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 12f0a15a53c..14619849492 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -17,6 +17,8 @@ import { getClientOutputDirectory, getServerOutputDirectory, } from './output-directory' +import { postServerBuild } from './post-server-build' +import type { ViteEnvironmentNames } from './constants' import type { TanStackStartInputConfig } from './schema' import type { PluginOption } from 'vite' import type { CompileStartFrameworkOptions } from './compilers' @@ -40,7 +42,17 @@ export function TanStackStartVitePluginCore( ): Array { const startConfig = parseStartConfig(startPluginOpts) - let clientBundle: vite.Rollup.OutputBundle + const capturedBundle: Partial< + Record + > = {} + + function getBundle(envName: ViteEnvironmentNames): vite.Rollup.OutputBundle { + const bundle = capturedBundle[envName] + if (!bundle) { + throw new Error(`No bundle captured for environment: ${envName}`) + } + return bundle + } return [ tanStackStartRouter({ @@ -266,6 +278,8 @@ export function TanStackStartVitePluginCore( // Build the SSR bundle await builder.build(server) } + const serverBundle = getBundle(VITE_ENVIRONMENT_NAMES.server) + await postServerBuild({ builder, startConfig, serverBundle }) }, }, } @@ -296,16 +310,25 @@ export function TanStackStartVitePluginCore( }, }), loadEnvPlugin(), - startManifestPlugin({ getClientBundle: () => clientBundle }), + startManifestPlugin({ + getClientBundle: () => getBundle(VITE_ENVIRONMENT_NAMES.client), + }), devServerPlugin(), { - name: 'tanstack-start:core:capture-client-bundle', + name: 'tanstack-start:core:capture-bundle', applyToEnvironment(e) { - return e.name === VITE_ENVIRONMENT_NAMES.client + return ( + e.name === VITE_ENVIRONMENT_NAMES.client || + e.name === VITE_ENVIRONMENT_NAMES.server + ) }, enforce: 'post', generateBundle(_options, bundle) { - clientBundle = bundle + const environment = this.environment.name as ViteEnvironmentNames + if (!Object.values(VITE_ENVIRONMENT_NAMES).includes(environment)) { + throw new Error(`Unknown environment: ${environment}`) + } + capturedBundle[environment] = bundle }, }, ] diff --git a/packages/start-plugin-core/src/post-server-build.ts b/packages/start-plugin-core/src/post-server-build.ts new file mode 100644 index 00000000000..595a92f503f --- /dev/null +++ b/packages/start-plugin-core/src/post-server-build.ts @@ -0,0 +1,73 @@ +import { HEADERS } from '@tanstack/start-server-core' +import { buildSitemap } from './build-sitemap' +import { VITE_ENVIRONMENT_NAMES } from './constants' +import { prerender } from './prerender' +import type { TanStackStartOutputConfig } from './schema' +import type { Rollup, ViteBuilder } from 'vite' + +export async function postServerBuild({ + builder, + startConfig, + serverBundle, +}: { + builder: ViteBuilder + startConfig: TanStackStartOutputConfig + serverBundle: Rollup.OutputBundle +}) { + // If the user has not set a prerender option, we need to set it to true + // if the pages array is not empty and has sub options requiring for prerendering + // If the user has explicitly set prerender.enabled, this should be respected + if (startConfig.prerender?.enabled !== false) { + startConfig.prerender = { + ...startConfig.prerender, + enabled: + startConfig.prerender?.enabled ?? + startConfig.pages.some((d) => + typeof d === 'string' ? false : !!d.prerender?.enabled, + ), + } + } + + // Setup the options for prerendering the SPA shell (i.e `src/routes/__root.tsx`) + if (startConfig.spa?.enabled) { + startConfig.prerender = { + ...startConfig.prerender, + enabled: true, + } + + const maskUrl = new URL(startConfig.spa.maskPath, 'http://localhost') + + startConfig.pages.push({ + path: maskUrl.toString().replace('http://localhost', ''), + prerender: { + ...startConfig.spa.prerender, + headers: { + ...startConfig.spa.prerender.headers, + [HEADERS.TSS_SHELL]: 'true', + }, + }, + sitemap: { + exclude: true, + }, + }) + } + + // Run the prerendering process + if (startConfig.prerender.enabled) { + await prerender({ + startConfig, + builder, + serverBundle, + }) + } + + // Run the sitemap build process + if (startConfig.pages.length) { + buildSitemap({ + startConfig, + publicDir: + builder.environments[VITE_ENVIRONMENT_NAMES.client]?.config.build + .outDir ?? builder.config.build.outDir, + }) + } +} diff --git a/packages/start-plugin-core/src/nitro-plugin/prerender.ts b/packages/start-plugin-core/src/prerender.ts similarity index 56% rename from packages/start-plugin-core/src/nitro-plugin/prerender.ts rename to packages/start-plugin-core/src/prerender.ts index cd6b832bba3..12e1b9c67df 100644 --- a/packages/start-plugin-core/src/nitro-plugin/prerender.ts +++ b/packages/start-plugin-core/src/prerender.ts @@ -1,32 +1,29 @@ -import { promises as fsp } from 'node:fs' +import { existsSync, promises as fsp, rmSync } from 'node:fs' import { pathToFileURL } from 'node:url' import os from 'node:os' -import path from 'node:path' -import { getRollupConfig } from 'nitropack/rollup' -import { build as buildNitro, createNitro } from 'nitropack' +import path from 'pathe' import { joinURL, withBase, withoutBase } from 'ufo' -import { VITE_ENVIRONMENT_NAMES } from '../constants' -import { createLogger } from '../utils' +import { VITE_ENVIRONMENT_NAMES } from './constants' +import { createLogger } from './utils' import { Queue } from './queue' -import type { ViteBuilder } from 'vite' -import type { $Fetch, Nitro } from 'nitropack' -import type { Page, TanStackStartOutputConfig } from '../schema' +import type { Rollup, ViteBuilder } from 'vite' +import type { Page, TanStackStartOutputConfig } from './schema' export async function prerender({ - options, - nitro, + startConfig, builder, + serverBundle, }: { - options: TanStackStartOutputConfig - nitro: Nitro + startConfig: TanStackStartOutputConfig builder: ViteBuilder + serverBundle: Rollup.OutputBundle }) { const logger = createLogger('prerender') logger.info('Prerendering pages...') // If prerender is enabled but no pages are provided, default to prerendering the root page - if (options.prerender?.enabled && !options.pages.length) { - options.pages = [ + if (startConfig.prerender?.enabled && !startConfig.pages.length) { + startConfig.pages = [ { path: '/', }, @@ -41,76 +38,52 @@ export async function prerender({ ) } - const prerenderOutputDir = path.resolve( - options.root, - '.tanstack', - 'start', - 'build', - 'prerenderer', - ) - - const nodeNitro = await createNitro({ - ...nitro.options._config, - preset: 'nitro-prerender', - logLevel: 0, - output: { - dir: prerenderOutputDir, - serverDir: path.resolve(prerenderOutputDir, 'server'), - publicDir: path.resolve(prerenderOutputDir, 'public'), - }, - }) - - const nodeNitroRollupOptions = getRollupConfig(nodeNitro) - - const build = serverEnv.config.build - - build.outDir = prerenderOutputDir - - build.rollupOptions = { - ...build.rollupOptions, - ...nodeNitroRollupOptions, - output: { - ...build.rollupOptions.output, - ...nodeNitroRollupOptions.output, - sourcemap: undefined, - }, + const clientEnv = builder.environments[VITE_ENVIRONMENT_NAMES.client] + if (!clientEnv) { + throw new Error( + `Vite's "${VITE_ENVIRONMENT_NAMES.client}" environment not found`, + ) } - await buildNitro(nodeNitro) + const outputDir = clientEnv.config.build.outDir - // Import renderer entry - const serverFilename = - typeof nodeNitroRollupOptions.output.entryFileNames === 'string' - ? nodeNitroRollupOptions.output.entryFileNames - : 'index.mjs' + const entryFile = findEntryFileInBundle(serverBundle) + let fullEntryFilePath = path.join(serverEnv.config.build.outDir, entryFile) + process.env.TSS_PRERENDERING = 'true' - const serverEntrypoint = pathToFileURL( - path.resolve(path.join(nodeNitro.options.output.serverDir, serverFilename)), - ).toString() + if (!existsSync(fullEntryFilePath)) { + // if the file does not exist, we need to write the bundle to a temporary directory + // this can happen e.g. with nitro that postprocesses the bundle and thus does not write SSR build to disk + const bundleOutputDir = path.resolve( + serverEnv.config.root, + '.tanstack', + 'start', + 'prerender', + ) + rmSync(bundleOutputDir, { recursive: true, force: true }) + await writeBundleToDisk({ bundle: serverBundle, outDir: bundleOutputDir }) + fullEntryFilePath = path.join(bundleOutputDir, entryFile) + } - process.env.TSS_PRERENDERING = 'true' + const { default: serverEntrypoint } = await import( + pathToFileURL(fullEntryFilePath).toString() + ) - const { closePrerenderer, localFetch } = (await import(serverEntrypoint)) as { - closePrerenderer: () => void - localFetch: $Fetch + function localFetch(path: string, options?: RequestInit): Promise { + const url = new URL(`http://localhost${path}`) + return serverEntrypoint.fetch(new Request(url, options)) } try { // Crawl all pages - const pages = await prerenderPages() + const pages = await prerenderPages({ outputDir }) logger.info(`Prerendered ${pages.length} pages:`) pages.forEach((page) => { logger.info(`- ${page}`) }) - - // TODO: Write the prerendered pages to the output directory } catch (error) { logger.error(error) - } finally { - // Ensure server is always closed - // server.process.kill() - closePrerenderer() } function extractLinks(html: string): Array { @@ -128,14 +101,14 @@ export async function prerender({ return links } - async function prerenderPages() { + async function prerenderPages({ outputDir }: { outputDir: string }) { const seen = new Set() const retriesByPath = new Map() - const concurrency = options.prerender?.concurrency ?? os.cpus().length + const concurrency = startConfig.prerender?.concurrency ?? os.cpus().length logger.info(`Concurrency: ${concurrency}`) const queue = new Queue({ concurrency }) - options.pages.forEach((page) => addCrawlPageTask(page)) + startConfig.pages.forEach((page) => addCrawlPageTask(page)) await queue.start() @@ -149,18 +122,19 @@ export async function prerender({ seen.add(page.path) if (page.fromCrawl) { - options.pages.push(page) + startConfig.pages.push(page) } // If not enabled, skip if (!(page.prerender?.enabled ?? true)) return // If there is a filter link, check if the page should be prerendered - if (options.prerender?.filter && !options.prerender.filter(page)) return + if (startConfig.prerender?.filter && !startConfig.prerender.filter(page)) + return // Resolve the merged default and page-specific prerender options const prerenderOptions = { - ...options.prerender, + ...startConfig.prerender, ...page.prerender, } @@ -172,15 +146,11 @@ export async function prerender({ // Fetch the route const encodedRoute = encodeURI(page.path) - const res = await localFetch( - withBase(encodedRoute, nodeNitro.options.baseURL), - { - headers: { - ...prerenderOptions.headers, - 'x-nitro-prerender': encodedRoute, - }, + const res = await localFetch(withBase(encodedRoute, TSS_APP_BASE), { + headers: { + ...prerenderOptions.headers, }, - ) + }) if (!res.ok) { throw new Error(`Failed to fetch ${page.path}: ${res.statusText}`, { @@ -209,12 +179,12 @@ export async function prerender({ const filename = withoutBase( isImplicitHTML ? htmlPath : routeWithIndex, - nitro.options.baseURL, + TSS_APP_BASE, ) const html = await res.text() - const filepath = path.join(nitro.options.output.publicDir, filename) + const filepath = path.join(outputDir, filename) await fsp.mkdir(path.dirname(filepath), { recursive: true, @@ -251,3 +221,39 @@ export async function prerender({ } } } + +function findEntryFileInBundle(bundle: Rollup.OutputBundle): string { + let entryFile: string | undefined + + for (const [_name, file] of Object.entries(bundle)) { + if (file.type === 'chunk') { + if (file.isEntry) { + if (entryFile !== undefined) { + throw new Error( + `Multiple entry points found. Only one entry point is allowed.`, + ) + } + entryFile = file.fileName + } + } + } + if (entryFile === undefined) { + throw new Error(`No entry point found in the bundle.`) + } + return entryFile +} + +export async function writeBundleToDisk({ + bundle, + outDir, +}: { + bundle: Rollup.OutputBundle + outDir: string +}) { + for (const [fileName, asset] of Object.entries(bundle)) { + const fullPath = path.join(outDir, fileName) + const content = asset.type === 'asset' ? asset.source : asset.code + await fsp.mkdir(path.dirname(fullPath), { recursive: true }) + await fsp.writeFile(fullPath, content) + } +} diff --git a/packages/start-plugin-core/src/nitro-plugin/queue.ts b/packages/start-plugin-core/src/queue.ts similarity index 100% rename from packages/start-plugin-core/src/nitro-plugin/queue.ts rename to packages/start-plugin-core/src/queue.ts From 0a28926a1c4cfb665ff445ea1a68ab88dd5de40c Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 016/271] correct import in dev server plugin --- packages/start-plugin-core/src/dev-server-plugin/plugin.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts index 155d4097b4c..fc51f6c62ca 100644 --- a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts @@ -1,7 +1,7 @@ import { isRunnableDevEnvironment } from 'vite' import { VIRTUAL_MODULES } from '@tanstack/start-server-core' import { NodeRequest, sendNodeResponse } from 'srvx/node' -import { VITE_ENVIRONMENT_NAMES } from '../constants' +import { ENTRY_POINTS, VITE_ENVIRONMENT_NAMES } from '../constants' import { resolveViteId } from '../utils' import { extractHtmlScripts } from './extract-html-scripts' import type { Connect, DevEnvironment, PluginOption } from 'vite' @@ -75,7 +75,7 @@ export function devServerPlugin(): PluginOption { * } */ const serverEntry = await serverEnv.runner.import( - '/~start/server-entry', + ENTRY_POINTS.server, ) const webRes = await serverEntry['default'].fetch(webReq) From cc9883ebc2e2bac94d7b7c6b9bc68a84e17ecd64 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 017/271] implement failOnError for prerender --- examples/react/start-basic-static/vite.config.ts | 3 +++ packages/start-plugin-core/src/prerender.ts | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/react/start-basic-static/vite.config.ts b/examples/react/start-basic-static/vite.config.ts index 303ac171c95..94209242acb 100644 --- a/examples/react/start-basic-static/vite.config.ts +++ b/examples/react/start-basic-static/vite.config.ts @@ -20,6 +20,9 @@ export default defineConfig({ sitemap: { host: 'https://localhost:3000', }, + prerender: { + failOnError: false, + } }), ], }) diff --git a/packages/start-plugin-core/src/prerender.ts b/packages/start-plugin-core/src/prerender.ts index 12e1b9c67df..095ab5fc486 100644 --- a/packages/start-plugin-core/src/prerender.ts +++ b/packages/start-plugin-core/src/prerender.ts @@ -214,7 +214,9 @@ export async function prerender({ retriesByPath.set(page.path, retries + 1) addCrawlPageTask(page) } else { - throw error + if (prerenderOptions.failOnError ?? true) { + throw error + } } } }) From 5559095bc9a33f37b3f7a4b415f7d2362743df3d Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 018/271] set TSS_OUTPUT_PUBLIC_DIR --- packages/start-plugin-core/src/plugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 14619849492..f9a41a77660 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -252,7 +252,7 @@ export function TanStackStartVitePluginCore( // This is not the same as injecting environment variables. ...defineReplaceEnv('TSS_SERVER_FN_BASE', startConfig.serverFns.base), - ...defineReplaceEnv('TSS_OUTPUT_PUBLIC_DIR', 'TODO' /* nitroOutputPublicDir*/), + ...defineReplaceEnv('TSS_OUTPUT_PUBLIC_DIR', getClientOutputDirectory(viteConfig)), ...defineReplaceEnv('TSS_APP_BASE', viteAppBase), ...(command === 'serve' ? defineReplaceEnv('TSS_SHELL', startConfig.spa?.enabled ? 'true' : 'false') : {}), }, From 91e1cc852a724c79380f6383beb3e155f4277bca Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 019/271] fix lockfile --- pnpm-lock.yaml | 1142 ++++++++++++++++++++++-------------------------- 1 file changed, 525 insertions(+), 617 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3448d0b9bfc..1035f7fa448 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: '@types/react': ^19.0.8 '@types/react-dom': ^19.0.3 eslint: ^9.22.0 - vite: 6.3.5 + vite: 7.0.6 '@playwright/test': ^1.52.0 '@tanstack/react-query': 5.66.0 '@tanstack/history': workspace:* @@ -64,7 +64,7 @@ importers: version: 1.52.0 '@tanstack/config': specifier: ^0.16.1 - version: 0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@tanstack/react-query': specifier: 5.66.0 version: 5.66.0(react@19.0.0) @@ -79,7 +79,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitest/browser': specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) + version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/ui': specifier: ^3.0.6 version: 3.0.6(vitest@3.0.6) @@ -144,8 +144,8 @@ importers: specifier: npm:typescript@5.8 version: typescript@5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vitest: specifier: ^3.0.6 version: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) @@ -197,10 +197,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-esbuild-file-based: dependencies: @@ -295,13 +295,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) combinate: specifier: ^1.1.11 version: 1.1.11 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-file-based-code-splitting: dependencies: @@ -347,10 +347,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query: dependencies: @@ -399,10 +399,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query-file-based: dependencies: @@ -457,10 +457,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-scroll-restoration: dependencies: @@ -506,10 +506,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-file-based: dependencies: @@ -561,10 +561,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-named-export-config-file-based: dependencies: @@ -616,10 +616,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/generator-cli-only: dependencies: @@ -665,10 +665,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/js-only-file-based: dependencies: @@ -714,10 +714,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/rspack-basic-file-based: dependencies: @@ -876,10 +876,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/sentry-integration: dependencies: @@ -931,10 +931,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-start/basic: dependencies: @@ -960,8 +960,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -983,7 +983,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1001,7 +1001,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-auth: dependencies: @@ -1033,8 +1033,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -1053,7 +1053,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1068,7 +1068,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-react-query: dependencies: @@ -1103,8 +1103,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -1123,7 +1123,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1138,7 +1138,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-rsc: dependencies: @@ -1167,8 +1167,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@types/react': specifier: ^19.0.8 @@ -1178,7 +1178,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1193,7 +1193,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-tsr-config: dependencies: @@ -1210,8 +1210,8 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': specifier: workspace:^ @@ -1253,8 +1253,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1276,7 +1276,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1294,7 +1294,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/scroll-restoration: dependencies: @@ -1323,8 +1323,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1346,7 +1346,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1364,7 +1364,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/selective-ssr: dependencies: @@ -1384,11 +1384,11 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1407,7 +1407,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) postcss: specifier: ^8.5.1 version: 8.5.3 @@ -1445,8 +1445,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1471,7 +1471,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1489,7 +1489,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/server-routes: dependencies: @@ -1518,8 +1518,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1544,7 +1544,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1562,7 +1562,7 @@ importers: version: 5.8.3 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/spa-mode: dependencies: @@ -1604,11 +1604,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/virtual-routes: dependencies: @@ -1637,8 +1637,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1660,7 +1660,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1678,7 +1678,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/website: dependencies: @@ -1724,7 +1724,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1738,11 +1738,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic: dependencies: @@ -1775,11 +1775,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-esbuild-file-based: dependencies: @@ -1861,11 +1861,11 @@ importers: specifier: ^1.1.11 version: 1.1.11 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-file-based-code-splitting: dependencies: @@ -1901,11 +1901,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-scroll-restoration: dependencies: @@ -1941,11 +1941,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query: dependencies: @@ -1984,11 +1984,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query-file-based: dependencies: @@ -2033,11 +2033,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-file-based: dependencies: @@ -2079,11 +2079,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-named-export-config-file-based: dependencies: @@ -2125,11 +2125,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/rspack-basic-file-based: dependencies: @@ -2266,11 +2266,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/basic: dependencies: @@ -2293,8 +2293,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2325,10 +2325,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/basic-tsr-config: dependencies: @@ -2345,8 +2345,8 @@ importers: specifier: ^1.9.5 version: 1.9.5 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': specifier: workspace:^ @@ -2359,7 +2359,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/custom-basepath: dependencies: @@ -2382,8 +2382,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2414,10 +2414,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/scroll-restoration: dependencies: @@ -2443,8 +2443,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2475,10 +2475,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/selective-ssr: dependencies: @@ -2508,11 +2508,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/server-functions: dependencies: @@ -2538,8 +2538,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2573,10 +2573,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/server-routes: dependencies: @@ -2602,8 +2602,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2637,10 +2637,10 @@ importers: version: 5.8.3 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/spa-mode: dependencies: @@ -2673,11 +2673,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/website: dependencies: @@ -2700,8 +2700,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2729,10 +2729,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/authenticated-routes: dependencies: @@ -2775,13 +2775,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/authenticated-routes-firebase: dependencies: @@ -2830,13 +2830,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic: dependencies: @@ -2873,13 +2873,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-default-search-params: dependencies: @@ -2922,13 +2922,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-devtools-panel: dependencies: @@ -2968,13 +2968,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-file-based: dependencies: @@ -3017,13 +3017,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-non-nested-devtools: dependencies: @@ -3060,13 +3060,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query: dependencies: @@ -3109,13 +3109,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query-file-based: dependencies: @@ -3164,13 +3164,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-file-based: dependencies: @@ -3189,9 +3189,6 @@ importers: get-port: specifier: ^7.1.0 version: 7.1.0 - isbot: - specifier: ^5.1.28 - version: 5.1.28 node-fetch: specifier: ^3.3.2 version: 3.3.2 @@ -3216,13 +3213,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.5.2 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.8.3 version: 5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-streaming-file-based: dependencies: @@ -3265,13 +3262,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-file-based: dependencies: @@ -3317,13 +3314,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-inside-file-based: dependencies: @@ -3369,13 +3366,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/deferred-data: dependencies: @@ -3415,13 +3412,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink: dependencies: @@ -3464,13 +3461,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-file-based: dependencies: @@ -3516,13 +3513,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query: dependencies: @@ -3571,13 +3568,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query-file-based: dependencies: @@ -3629,13 +3626,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/large-file-based: dependencies: @@ -3681,13 +3678,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/location-masking: dependencies: @@ -3730,13 +3727,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/navigation-blocking: dependencies: @@ -3776,13 +3773,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart: dependencies: @@ -3816,13 +3813,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-esbuild-file-based: dependencies: @@ -3899,13 +3896,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-rspack-file-based: dependencies: @@ -4034,16 +4031,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/app: dependencies: @@ -4074,7 +4071,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4088,11 +4085,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/post-feature: dependencies: @@ -4120,16 +4117,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/post-query: dependencies: @@ -4145,13 +4142,13 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/router-monorepo-react-query/packages/router: dependencies: @@ -4191,16 +4188,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple: dependencies: @@ -4234,16 +4231,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy: dependencies: @@ -4277,16 +4274,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/app: dependencies: @@ -4314,7 +4311,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4328,11 +4325,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/post-feature: dependencies: @@ -4357,16 +4354,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/router: dependencies: @@ -4400,16 +4397,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/app: dependencies: @@ -4437,7 +4434,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4451,11 +4448,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/post-feature: dependencies: @@ -4477,16 +4474,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/router: dependencies: @@ -4520,16 +4517,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/scroll-restoration: dependencies: @@ -4566,13 +4563,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/search-validator-adapters: dependencies: @@ -4636,13 +4633,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-bare: dependencies: @@ -4676,16 +4673,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic: dependencies: @@ -4722,7 +4719,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.6.0 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4736,11 +4733,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-auth: dependencies: @@ -4783,7 +4780,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4797,11 +4794,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-nitro: dependencies: @@ -4838,13 +4835,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.6.0 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.6) nitro: specifier: npm:nitro-nightly - version: nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) postcss: specifier: ^8.5.1 version: 8.5.6 @@ -4855,11 +4852,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-react-query: dependencies: @@ -4916,11 +4913,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-rsc: dependencies: @@ -4968,11 +4965,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-static: dependencies: @@ -5020,11 +5017,11 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.3 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-clerk-basic: dependencies: @@ -5075,11 +5072,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-convex-trellaux: dependencies: @@ -5157,11 +5154,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-counter: dependencies: @@ -5192,13 +5189,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-large: dependencies: @@ -5241,7 +5238,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -5255,11 +5252,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-material-ui: dependencies: @@ -5310,11 +5307,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-supabase-basic: dependencies: @@ -5362,11 +5359,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-tailwind-v4: dependencies: @@ -5394,7 +5391,7 @@ importers: devDependencies: '@tailwindcss/vite': specifier: ^4.1.6 - version: 4.1.6(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.1.6(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@types/node': specifier: ^22.5.4 version: 22.13.4 @@ -5411,11 +5408,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-trellaux: dependencies: @@ -5484,11 +5481,11 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-workos: dependencies: @@ -5539,11 +5536,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/view-transitions: dependencies: @@ -5586,13 +5583,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-framer-motion: dependencies: @@ -5635,13 +5632,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc: dependencies: @@ -5696,13 +5693,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) tsx: specifier: ^4.20.3 version: 4.20.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc-react-query: dependencies: @@ -5766,13 +5763,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) tsx: specifier: ^4.20.3 version: 4.20.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/solid/basic: dependencies: @@ -5808,11 +5805,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-devtools-panel: dependencies: @@ -5842,11 +5839,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-file-based: dependencies: @@ -5882,11 +5879,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-non-nested-devtools: dependencies: @@ -5922,11 +5919,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query: dependencies: @@ -5965,11 +5962,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query-file-based: dependencies: @@ -6011,11 +6008,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-ssr-streaming-file-based: dependencies: @@ -6066,11 +6063,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/kitchen-sink-file-based: dependencies: @@ -6109,11 +6106,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/quickstart-file-based: dependencies: @@ -6149,11 +6146,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-bare: dependencies: @@ -6189,14 +6186,14 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-basic: dependencies: @@ -6235,14 +6232,14 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-basic-static: dependencies: @@ -6281,11 +6278,11 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.3 - version: 5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/arktype-adapter: devDependencies: @@ -6342,8 +6339,8 @@ importers: specifier: ^7.20.7 version: 7.20.7 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/eslint-plugin-router: dependencies: @@ -6468,7 +6465,7 @@ importers: version: link:../start-server-functions-server '@vitejs/plugin-react': specifier: '>=4.3.4' - version: 4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6476,12 +6473,8 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - devDependencies: - esbuild: - specifier: ^0.25.0 - version: 0.25.8 + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/react-start-client: dependencies: @@ -6519,19 +6512,34 @@ importers: packages/react-start-plugin: dependencies: + '@tanstack/router-utils': + specifier: workspace:* + version: link:../router-utils '@tanstack/start-plugin-core': specifier: workspace:* version: link:../start-plugin-core pathe: specifier: ^2.0.3 version: 2.0.3 - zod: - specifier: ^3.24.2 - version: 3.25.57 devDependencies: + '@tanstack/react-router': + specifier: workspace:* + version: link:../react-router + '@tanstack/react-start': + specifier: workspace:* + version: link:../react-start + '@tanstack/react-start-client': + specifier: workspace:* + version: link:../react-start-client + '@types/react': + specifier: ^19.0.8 + version: 19.0.8 + '@types/react-dom': + specifier: ^19.0.3 + version: 19.0.3(@types/react@19.0.8) vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/react-start-server: dependencies: @@ -6550,19 +6558,10 @@ importers: '@tanstack/start-server-core': specifier: workspace:* version: link:../start-server-core - h3: - specifier: 1.13.0 - version: 1.13.0 - isbot: - specifier: ^5.1.22 - version: 5.1.28 devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - esbuild: - specifier: ^0.25.0 - version: 0.25.8 react: specifier: ^19.0.0 version: 19.0.0 @@ -6749,11 +6748,11 @@ importers: specifier: ^2.1.2 version: 2.3.4 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) webpack: specifier: '>=5.92.0' version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) @@ -6791,6 +6790,12 @@ importers: diff: specifier: ^8.0.2 version: 8.0.2 + fast-glob: + specifier: ^3.3.3 + version: 3.3.3 + pathe: + specifier: ^2.0.3 + version: 2.0.3 devDependencies: '@babel/types': specifier: ^7.27.6 @@ -6946,12 +6951,8 @@ importers: specifier: '>=1.0.0' version: 1.9.5 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - devDependencies: - esbuild: - specifier: ^0.25.0 - version: 0.25.8 + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/solid-start-client: dependencies: @@ -6992,16 +6993,25 @@ importers: '@tanstack/start-plugin-core': specifier: workspace:* version: link:../start-plugin-core - zod: - specifier: ^3.24.2 - version: 3.25.57 + pathe: + specifier: ^2.0.3 + version: 2.0.3 devDependencies: + '@tanstack/router-utils': + specifier: workspace:* + version: link:../router-utils + '@tanstack/solid-start': + specifier: workspace:* + version: link:../solid-start + solid-js: + specifier: ^1.9.5 + version: 1.9.5 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start-server: dependencies: @@ -7023,13 +7033,7 @@ importers: '@tanstack/start-server-core': specifier: workspace:* version: link:../start-server-core - isbot: - specifier: ^5.1.22 - version: 5.1.28 devDependencies: - esbuild: - specifier: ^0.25.0 - version: 0.25.8 solid-js: specifier: ^1.9.5 version: 1.9.5 @@ -7087,33 +7091,30 @@ importers: '@tanstack/start-server-core': specifier: workspace:* version: link:../start-server-core - '@types/babel__code-frame': - specifier: ^7.0.6 - version: 7.0.6 - '@types/babel__core': - specifier: ^7.20.5 - version: 7.20.5 babel-dead-code-elimination: specifier: ^1.0.9 version: 1.0.10 cheerio: specifier: ^1.0.0 version: 1.0.0 - h3: - specifier: 1.13.0 - version: 1.13.0 + exsolve: + specifier: ^1.0.7 + version: 1.0.7 nitropack: specifier: ^2.11.12 version: 2.11.12 pathe: specifier: ^2.0.3 version: 2.0.3 + srvx: + specifier: ^0.8.2 + version: 0.8.2 ufo: specifier: ^1.5.4 version: 1.6.1 vitefu: specifier: ^1.1.1 - version: 1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 1.1.1(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) xmlbuilder2: specifier: ^3.1.1 version: 3.1.1 @@ -7121,12 +7122,21 @@ importers: specifier: ^3.24.2 version: 3.25.57 devDependencies: + '@types/babel__code-frame': + specifier: ^7.0.6 + version: 7.0.6 + '@types/babel__core': + specifier: ^7.20.5 + version: 7.20.5 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-core: dependencies: + '@standard-schema/spec': + specifier: ^1.0.0 + version: 1.0.0 '@tanstack/history': specifier: workspace:* version: link:../history @@ -7139,34 +7149,28 @@ importers: '@tanstack/start-storage-context': specifier: workspace:* version: link:../start-storage-context + cookie-es: + specifier: ^1.2.2 + version: 1.2.2 + fetchdts: + specifier: ^0.1.5 + version: 0.1.5 h3: - specifier: 1.13.0 - version: 1.13.0 - isbot: - specifier: ^5.1.22 - version: 5.1.28 + specifier: 2.0.0-beta.3 + version: 2.0.0-beta.3(crossws@0.4.1(srvx@0.8.2)) tiny-invariant: specifier: ^1.3.3 version: 1.3.3 - tiny-warning: - specifier: ^1.0.3 - version: 1.0.3 - unctx: - specifier: ^2.4.1 - version: 2.4.1 devDependencies: '@tanstack/directive-functions-plugin': specifier: workspace:* version: link:../directive-functions-plugin - esbuild: - specifier: ^0.25.0 - version: 0.25.8 typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 6.3.5 - version: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.0.6 + version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-functions-client: dependencies: @@ -10435,6 +10439,9 @@ packages: '@stablelib/base64@1.0.1': resolution: {integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==} + '@standard-schema/spec@1.0.0': + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@stylistic/eslint-plugin-js@2.13.0': resolution: {integrity: sha512-GPPDK4+fcbsQD58a3abbng2Dx+jBoxM5cnYjBM4T24WFZRZdlNSKvR19TxP8CPevzMOodQ9QVzNeqWvMXzfJRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -10634,7 +10641,7 @@ packages: '@tailwindcss/vite@4.1.6': resolution: {integrity: sha512-zjtqjDeY1w3g2beYQtrMAf51n5G7o+UwmyOjtsDMP7t6XyoRMOidcoKP32ps7AkNOHIXEOK0bhIC05dj8oJp4w==} peerDependencies: - vite: 6.3.5 + vite: 7.0.6 '@tanstack/config@0.16.1': resolution: {integrity: sha512-GLt1xyQCGRty58N2jv0ONouv8OU46FjkbcSSTiAKwydcX+JycZ7FCLWt05lefrvuV8Eay0eNuN0sYUemObZLEA==} @@ -11051,13 +11058,13 @@ packages: resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 6.3.5 + vite: 7.0.6 '@vitejs/plugin-react@4.6.0': resolution: {integrity: sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 6.3.5 + vite: 7.0.6 '@vitest/browser@3.0.6': resolution: {integrity: sha512-FqKwCAkALZfNzGNx4YvRJa6HCWM2USWTjOdNO2egI/s6+3WkIl4xAlYISOARLJLDAI3yCXcpTtuUUF39K8TQgw==} @@ -11081,7 +11088,7 @@ packages: resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} peerDependencies: msw: ^2.4.9 - vite: 6.3.5 + vite: 7.0.6 peerDependenciesMeta: msw: optional: true @@ -12988,9 +12995,6 @@ packages: resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - h3@1.13.0: - resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==} - h3@1.15.3: resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==} @@ -13003,6 +13007,15 @@ packages: crossws: optional: true + h3@2.0.0-beta.3: + resolution: {integrity: sha512-AW9ry5z/YOmzuY0R1jk5jwc7jkGkeSOzyQ0+4qzVGdqY6I2JrslzKjAmcqUjfB6f+kdyIvUGOompt/Dl3MI+FA==} + engines: {node: '>=20.11.1'} + peerDependencies: + crossws: ^0.4.1 + peerDependenciesMeta: + crossws: + optional: true + handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -14032,7 +14045,7 @@ packages: hasBin: true peerDependencies: rolldown: '*' - vite: 6.3.5 + vite: 7.0.6 xml2js: ^0.6.2 peerDependenciesMeta: rolldown: @@ -14182,9 +14195,6 @@ packages: ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - ohash@1.1.6: - resolution: {integrity: sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==} - ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} @@ -15636,9 +15646,6 @@ packages: resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} engines: {node: '>=20.18.1'} - unenv@1.10.0: - resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} - unenv@2.0.0-rc.17: resolution: {integrity: sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==} @@ -15941,7 +15948,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: typescript: '*' - vite: 6.3.5 + vite: 7.0.6 peerDependenciesMeta: vite: optional: true @@ -15950,7 +15957,7 @@ packages: resolution: {integrity: sha512-M1lrPTdi7gilLYRZoLmGYnl4fbPryVYsehPN9JgaxjJKTs8/f7tuAlvCCvOLB5gRDQTTKnptBcB0ACsaw2wNLw==} peerDependencies: typescript: '*' - vite: 6.3.5 + vite: 7.0.6 peerDependenciesMeta: vite: optional: true @@ -15958,14 +15965,14 @@ packages: vite-plugin-externalize-deps@0.9.0: resolution: {integrity: sha512-wg3qb5gCy2d1KpPKyD9wkXMcYJ84yjgziHrStq9/8R7chhUC73mhQz+tVtvhFiICQHsBn1pnkY4IBbPqF9JHNw==} peerDependencies: - vite: 6.3.5 + vite: 7.0.6 vite-plugin-solid@2.11.8: resolution: {integrity: sha512-hFrCxBfv3B1BmFqnJF4JOCYpjrmi/zwyeKjcomQ0khh8HFyQ8SbuBWQ7zGojfrz6HUOBFrJBNySDi/JgAHytWg==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 - vite: 6.3.5 + vite: 7.0.6 peerDependenciesMeta: '@testing-library/jest-dom': optional: true @@ -15973,51 +15980,11 @@ packages: vite-tsconfig-paths@5.1.4: resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} peerDependencies: - vite: 6.3.5 + vite: 7.0.6 peerDependenciesMeta: vite: optional: true - vite@6.3.5: - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - vite@7.0.6: resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -16061,7 +16028,7 @@ packages: vitefu@1.1.1: resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} peerDependencies: - vite: 6.3.5 + vite: 7.0.6 peerDependenciesMeta: vite: optional: true @@ -19726,6 +19693,8 @@ snapshots: '@stablelib/base64@1.0.1': {} + '@standard-schema/spec@1.0.0': {} + '@stylistic/eslint-plugin-js@2.13.0(eslint@9.22.0(jiti@2.5.1))': dependencies: eslint: 9.22.0(jiti@2.5.1) @@ -19901,14 +19870,14 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.6 '@tailwindcss/oxide-win32-x64-msvc': 4.1.6 - '@tailwindcss/vite@4.1.6(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@tailwindcss/vite@4.1.6(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@tailwindcss/node': 4.1.6 '@tailwindcss/oxide': 4.1.6 tailwindcss: 4.1.6 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - '@tanstack/config@0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@tanstack/config@0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@commitlint/parse': 19.5.0 '@eslint/js': 9.22.0 @@ -19930,9 +19899,9 @@ snapshots: typedoc-plugin-markdown: 4.4.1(typedoc@0.27.6(typescript@5.9.2)) typescript-eslint: 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) v8flags: 4.0.1 - vite-plugin-dts: 4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - vite-plugin-externalize-deps: 0.9.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - vite-tsconfig-paths: 5.1.4(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-plugin-dts: 4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-plugin-externalize-deps: 0.9.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-tsconfig-paths: 5.1.4(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vue-eslint-parser: 9.4.3(eslint@9.22.0(jiti@2.5.1)) transitivePeerDependencies: - '@types/node' @@ -20459,17 +20428,6 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-react@4.3.4(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.27.4) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - transitivePeerDependencies: - - supports-color - '@vitejs/plugin-react@4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.4 @@ -20481,7 +20439,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.6.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitejs/plugin-react@4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.7) @@ -20489,15 +20447,15 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.19 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6)': + '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@vitest/utils': 3.0.6 magic-string: 0.30.17 msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) @@ -20521,14 +20479,14 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitest/mocker@3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.6 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) '@vitest/pretty-format@3.0.6': dependencies: @@ -22760,19 +22718,6 @@ snapshots: dependencies: duplexer: 0.1.2 - h3@1.13.0: - dependencies: - cookie-es: 1.2.2 - crossws: 0.3.5 - defu: 6.1.4 - destr: 2.0.5 - iron-webcrypto: 1.2.1 - ohash: 1.1.6 - radix3: 1.1.2 - ufo: 1.6.1 - uncrypto: 0.1.3 - unenv: 1.10.0 - h3@1.15.3: dependencies: cookie-es: 1.2.2 @@ -22794,6 +22739,15 @@ snapshots: optionalDependencies: crossws: 0.4.1(srvx@0.8.2) + h3@2.0.0-beta.3(crossws@0.4.1(srvx@0.8.2)): + dependencies: + cookie-es: 2.0.0 + fetchdts: 0.1.5 + rou3: 0.7.3 + srvx: 0.8.2 + optionalDependencies: + crossws: 0.4.1(srvx@0.8.2) + handle-thing@2.0.1: {} has-flag@4.0.0: {} @@ -23405,7 +23359,7 @@ snapshots: crossws: 0.3.5 defu: 6.1.4 get-port-please: 3.2.0 - h3: 1.13.0 + h3: 1.15.3 http-shutdown: 1.2.2 jiti: 2.4.2 mlly: 1.7.4 @@ -23761,7 +23715,7 @@ snapshots: p-wait-for: 5.0.2 qs: 6.13.0 - nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@rollup/plugin-alias': 5.1.1(rollup@4.46.2) '@rollup/plugin-commonjs': 28.0.6(rollup@4.46.2) @@ -23835,7 +23789,7 @@ snapshots: youch: 4.1.0-beta.8 youch-core: 0.3.3 optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -24121,8 +24075,6 @@ snapshots: node-fetch-native: 1.6.6 ufo: 1.6.1 - ohash@1.1.6: {} - ohash@2.0.11: {} on-finished@2.4.1: @@ -25679,14 +25631,6 @@ snapshots: undici@7.13.0: {} - unenv@1.10.0: - dependencies: - consola: 3.4.2 - defu: 6.1.4 - mime: 3.0.0 - node-fetch-native: 1.6.6 - pathe: 1.1.2 - unenv@2.0.0-rc.17: dependencies: defu: 6.1.4 @@ -25923,7 +25867,7 @@ snapshots: debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -25938,7 +25882,7 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-dts@4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@microsoft/api-extractor': 7.47.4(@types/node@22.13.4) '@rollup/pluginutils': 5.1.4(rollup@4.46.2) @@ -25952,13 +25896,13 @@ snapshots: typescript: 5.9.2 vue-tsc: 2.0.29(typescript@5.9.2) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-dts@4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-dts@4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@microsoft/api-extractor': 7.49.2(@types/node@22.13.4) '@rollup/pluginutils': 5.1.4(rollup@4.46.2) @@ -25971,30 +25915,15 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.2 optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.9.0(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-externalize-deps@0.9.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - - vite-plugin-solid@2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): - dependencies: - '@babel/core': 7.27.7 - '@types/babel__core': 7.20.5 - babel-preset-solid: 1.9.3(@babel/core@7.27.7) - merge-anything: 5.1.7 - solid-js: 1.9.5 - solid-refresh: 0.6.3(solid-js@1.9.5) - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitefu: 1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - optionalDependencies: - '@testing-library/jest-dom': 6.6.3 - transitivePeerDependencies: - - supports-color + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid@2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: @@ -26011,56 +25940,39 @@ snapshots: transitivePeerDependencies: - supports-color - vite-tsconfig-paths@5.1.4(typescript@5.8.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.8.2) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.8.3) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.9.2) optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): - dependencies: - esbuild: 0.25.8 - fdir: 6.4.6(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.46.2 - tinyglobby: 0.2.14 - optionalDependencies: - '@types/node': 22.13.4 - fsevents: 2.3.3 - jiti: 2.5.1 - lightningcss: 1.29.2 - terser: 5.37.0 - tsx: 4.20.3 - yaml: 2.7.0 - vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: esbuild: 0.25.8 @@ -26078,10 +25990,6 @@ snapshots: tsx: 4.20.3 yaml: 2.7.0 - vitefu@1.1.1(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): - optionalDependencies: - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitefu@1.1.1(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): optionalDependencies: vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) @@ -26089,7 +25997,7 @@ snapshots: vitest@3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@vitest/pretty-format': 3.0.6 '@vitest/runner': 3.0.6 '@vitest/snapshot': 3.0.6 @@ -26105,12 +26013,12 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-node: 3.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.13.4 - '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@6.3.5(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) + '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/ui': 3.0.6(vitest@3.0.6) jsdom: 25.0.1 transitivePeerDependencies: From c0265b5f56c365d23b73108c3b1ccbd735d40e75 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 020/271] fix package.json --- package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/package.json b/package.json index 93c96faf13e..bda5718c969 100644 --- a/package.json +++ b/package.json @@ -60,14 +60,11 @@ "rimraf": "^6.0.1", "tinyglobby": "^0.2.12", "typescript": "^5.9.0", - "vite": "6.3.5", - "vitest": "^3.0.6", "typescript54": "npm:typescript@5.4", "typescript55": "npm:typescript@5.5", "typescript56": "npm:typescript@5.6", "typescript57": "npm:typescript@5.7", "typescript58": "npm:typescript@5.8", - "vite": "7.0.6", "vitest": "^3.0.6" }, From 570f3db4da6d690bbb876fd7d1fb7610aa07bd52 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 021/271] merge react/solid-start-vite with react/solid-start packages avoids a circular dep --- labeler-config.yml | 6 -- package.json | 2 - packages/react-start-plugin/README.md | 9 -- packages/react-start-plugin/eslint.config.js | 5 -- packages/react-start-plugin/package.json | 78 ---------------- packages/react-start-plugin/tsconfig.json | 11 --- packages/react-start-plugin/vite.config.ts | 31 ------- packages/react-start/package.json | 35 ++------ packages/react-start/src/plugin-vite.ts | 1 - .../src/plugin}/default-entry/client.tsx | 0 .../plugin}/default-entry/router-entry.d.ts | 0 .../src/plugin}/default-entry/server.ts | 0 .../src/plugin/vite.ts} | 11 ++- packages/react-start/vite.config.ts | 13 ++- packages/solid-start-plugin/README.md | 9 -- packages/solid-start-plugin/eslint.config.js | 5 -- packages/solid-start-plugin/package.json | 81 ----------------- packages/solid-start-plugin/tsconfig.json | 12 --- packages/solid-start-plugin/vite.config.ts | 30 ------- packages/solid-start/package.json | 37 ++------ packages/solid-start/src/plugin-vite.ts | 1 - .../src/plugin}/default-entry/client.tsx | 0 .../plugin}/default-entry/router-entry.d.ts | 0 .../src/plugin}/default-entry/server.ts | 0 .../src/plugin/vite.ts} | 8 +- packages/solid-start/tsconfig.json | 3 +- packages/solid-start/vite.config.ts | 13 ++- pnpm-lock.yaml | 89 +++++-------------- scripts/publish.js | 8 -- 29 files changed, 76 insertions(+), 422 deletions(-) delete mode 100644 packages/react-start-plugin/README.md delete mode 100644 packages/react-start-plugin/eslint.config.js delete mode 100644 packages/react-start-plugin/package.json delete mode 100644 packages/react-start-plugin/tsconfig.json delete mode 100644 packages/react-start-plugin/vite.config.ts delete mode 100644 packages/react-start/src/plugin-vite.ts rename packages/{react-start-plugin/src => react-start/src/plugin}/default-entry/client.tsx (100%) rename packages/{react-start-plugin/src => react-start/src/plugin}/default-entry/router-entry.d.ts (100%) rename packages/{react-start-plugin/src => react-start/src/plugin}/default-entry/server.ts (100%) rename packages/{react-start-plugin/src/index.ts => react-start/src/plugin/vite.ts} (92%) delete mode 100644 packages/solid-start-plugin/README.md delete mode 100644 packages/solid-start-plugin/eslint.config.js delete mode 100644 packages/solid-start-plugin/package.json delete mode 100644 packages/solid-start-plugin/tsconfig.json delete mode 100644 packages/solid-start-plugin/vite.config.ts delete mode 100644 packages/solid-start/src/plugin-vite.ts rename packages/{solid-start-plugin/src => solid-start/src/plugin}/default-entry/client.tsx (100%) rename packages/{solid-start-plugin/src => solid-start/src/plugin}/default-entry/router-entry.d.ts (100%) rename packages/{solid-start-plugin/src => solid-start/src/plugin}/default-entry/server.ts (100%) rename packages/{solid-start-plugin/src/index.ts => solid-start/src/plugin/vite.ts} (87%) diff --git a/labeler-config.yml b/labeler-config.yml index 202c6272746..b5185a77e33 100644 --- a/labeler-config.yml +++ b/labeler-config.yml @@ -25,9 +25,6 @@ 'package: react-start-client': - changed-files: - any-glob-to-any-file: 'packages/react-start-client/**/*' -'package: react-start-plugin': - - changed-files: - - any-glob-to-any-file: 'packages/react-start-plugin/**/*' 'package: react-start-server': - changed-files: - any-glob-to-any-file: 'packages/react-start-server/**/*' @@ -70,9 +67,6 @@ 'package: solid-start-client': - changed-files: - any-glob-to-any-file: 'packages/solid-start-client/**/*' -'package: solid-start-plugin': - - changed-files: - - any-glob-to-any-file: 'packages/solid-start-plugin/**/*' 'package: solid-start-server': - changed-files: - any-glob-to-any-file: 'packages/solid-start-server/**/*' diff --git a/package.json b/package.json index bda5718c969..4c12abb39ee 100644 --- a/package.json +++ b/package.json @@ -96,11 +96,9 @@ "@tanstack/arktype-adapter": "workspace:*", "@tanstack/react-start": "workspace:*", "@tanstack/react-start-client": "workspace:*", - "@tanstack/react-start-plugin": "workspace:*", "@tanstack/react-start-server": "workspace:*", "@tanstack/solid-start": "workspace:*", "@tanstack/solid-start-client": "workspace:*", - "@tanstack/solid-start-plugin": "workspace:*", "@tanstack/solid-start-server": "workspace:*", "@tanstack/start-server-functions-fetcher": "workspace:*", "@tanstack/start-server-functions-client": "workspace:*", diff --git a/packages/react-start-plugin/README.md b/packages/react-start-plugin/README.md deleted file mode 100644 index 45e57a4d5b0..00000000000 --- a/packages/react-start-plugin/README.md +++ /dev/null @@ -1,9 +0,0 @@ - - -# TanStack React Start - Plugin - -This package is not meant to be used directly. It is a dependency of [`@tanstack/react-start`](https://www.npmjs.com/package/@tanstack/react-start). - -TanStack React Start is a fullstack-framework made for SSR, Streaming, Server Functions, API Routes, bundling and more powered by [TanStack Router](https://tanstack.com/router). - -Head over to [tanstack.com/start](https://tanstack.com/start) for more information about getting started. diff --git a/packages/react-start-plugin/eslint.config.js b/packages/react-start-plugin/eslint.config.js deleted file mode 100644 index 8ce6ad05fcd..00000000000 --- a/packages/react-start-plugin/eslint.config.js +++ /dev/null @@ -1,5 +0,0 @@ -// @ts-check - -import rootConfig from '../../eslint.config.js' - -export default [...rootConfig] diff --git a/packages/react-start-plugin/package.json b/packages/react-start-plugin/package.json deleted file mode 100644 index 883c0d822e6..00000000000 --- a/packages/react-start-plugin/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "@tanstack/react-start-plugin", - "version": "1.130.17", - "description": "Modern and scalable routing for React applications", - "author": "Tanner Linsley", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/TanStack/router.git", - "directory": "packages/react-start-plugin" - }, - "homepage": "https://tanstack.com/start", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "keywords": [ - "react", - "location", - "router", - "routing", - "async", - "async router", - "typescript" - ], - "scripts": { - "clean": "rimraf ./dist && rimraf ./coverage", - "clean:snapshots": "rimraf **/*snapshot* --glob", - "test": "pnpm test:eslint && pnpm test:types && pnpm test:build && pnpm test:unit", - "test:unit": "exit 0; vitest", - "test:eslint": "eslint ./src", - "test:types": "pnpm run \"/^test:types:ts[0-9]{2}$/\"", - "test:types:ts54": "node ../../node_modules/typescript54/lib/tsc.js", - "test:types:ts55": "node ../../node_modules/typescript55/lib/tsc.js", - "test:types:ts56": "node ../../node_modules/typescript56/lib/tsc.js", - "test:types:ts57": "node ../../node_modules/typescript57/lib/tsc.js", - "test:types:ts58": "node ../../node_modules/typescript58/lib/tsc.js", - "test:types:ts59": "tsc", - "test:build": "publint --strict && attw --ignore-rules no-resolution --pack .", - "build": "vite build" - }, - "type": "module", - "types": "dist/esm/index.d.ts", - "module": "dist/esm/index.js", - "exports": { - ".": { - "import": { - "types": "./dist/esm/index.d.ts", - "default": "./dist/esm/index.js" - } - }, - "./package.json": "./package.json" - }, - "sideEffects": false, - "files": [ - "dist", - "src" - ], - "engines": { - "node": ">=12" - }, - "dependencies": { - "@tanstack/router-utils": "workspace:^", - "@tanstack/start-plugin-core": "workspace:*", - "pathe": "^2.0.3" - }, - "devDependencies": { - "@tanstack/react-router": "workspace:^", - "@tanstack/react-start": "workspace:^", - "@tanstack/react-start-client": "workspace:^", - "@types/react": "^19.0.8", - "@types/react-dom": "^19.0.3", - "vite": "^7.0.6" - }, - "peerDependencies": { - "vite": ">=7.0.0" - } -} diff --git a/packages/react-start-plugin/tsconfig.json b/packages/react-start-plugin/tsconfig.json deleted file mode 100644 index 6c82f4db057..00000000000 --- a/packages/react-start-plugin/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": ["src", "vite.config.ts", "tests"], - "exclude": ["tests/**/test-files/**", "tests/**/snapshots/**"], - "compilerOptions": { - "outDir": "dist/esm", - "target": "esnext", - "noEmit": true, - "jsx": "react-jsx" - } -} diff --git a/packages/react-start-plugin/vite.config.ts b/packages/react-start-plugin/vite.config.ts deleted file mode 100644 index d0d59fa575b..00000000000 --- a/packages/react-start-plugin/vite.config.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { defineConfig, mergeConfig } from 'vitest/config' -import { tanstackViteConfig } from '@tanstack/config/vite' -import { copyFilesPlugin } from '@tanstack/router-utils' -import packageJson from './package.json' - -const config = defineConfig({ - test: { - name: packageJson.name, - dir: './tests', - watch: false, - typecheck: { enabled: true }, - }, - plugins: [ - copyFilesPlugin({ - pattern: ['*.ts', '*.tsx', '!*.d.ts'], - fromDir: 'src/default-entry', - toDir: 'dist/default-entry', - }), - ], -}) - -export default mergeConfig( - config, - tanstackViteConfig({ - entry: './src/index.ts', - srcDir: './src', - outDir: './dist', - cjs: false, - exclude: ['./src/default-entry'], - }), -) diff --git a/packages/react-start/package.json b/packages/react-start/package.json index 2fa5d4ed439..4077cbaead0 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -36,60 +36,36 @@ "import": { "types": "./dist/esm/client.d.ts", "default": "./dist/esm/client.js" - }, - "require": { - "types": "./dist/cjs/client.d.cts", - "default": "./dist/cjs/client.cjs" } }, "./client": { "import": { "types": "./dist/esm/client.d.ts", "default": "./dist/esm/client.js" - }, - "require": { - "types": "./dist/cjs/client.d.cts", - "default": "./dist/cjs/client.cjs" } }, "./server": { "import": { "types": "./dist/esm/server.d.ts", "default": "./dist/esm/server.js" - }, - "require": { - "types": "./dist/cjs/server.d.cts", - "default": "./dist/cjs/server.cjs" } }, "./plugin/vite": { "import": { - "types": "./dist/esm/plugin-vite.d.ts", - "default": "./dist/esm/plugin-vite.js" - }, - "require": { - "types": "./dist/cjs/plugin-vite.d.cts", - "default": "./dist/cjs/plugin-vite.cjs" + "types": "./dist/esm/plugin/vite.d.ts", + "default": "./dist/esm/plugin/vite.js" } }, "./server-functions-client": { "import": { "types": "./dist/esm/server-functions-client.d.ts", "default": "./dist/esm/server-functions-client.js" - }, - "require": { - "types": "./dist/cjs/server-functions-client.d.cts", - "default": "./dist/cjs/server-functions-client.cjs" } }, "./server-functions-server": { "import": { "types": "./dist/esm/server-functions-server.d.ts", "default": "./dist/esm/server-functions-server.js" - }, - "require": { - "types": "./dist/cjs/server-functions-server.d.cts", - "default": "./dist/cjs/server-functions-server.cjs" } }, "./package.json": "./package.json" @@ -105,12 +81,13 @@ "dependencies": { "@tanstack/react-start-client": "workspace:*", "@tanstack/react-start-server": "workspace:*", - "@tanstack/react-start-plugin": "workspace:*", "@tanstack/start-server-functions-client": "workspace:*", - "@tanstack/start-server-functions-server": "workspace:*" + "@tanstack/start-server-functions-server": "workspace:*", + "@tanstack/router-utils": "workspace:^", + "@tanstack/start-plugin-core": "workspace:*", + "pathe": "^2.0.3" }, "peerDependencies": { - "@vitejs/plugin-react": ">=4.3.4", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0", "vite": ">=7.0.0" diff --git a/packages/react-start/src/plugin-vite.ts b/packages/react-start/src/plugin-vite.ts deleted file mode 100644 index d991c3b71ca..00000000000 --- a/packages/react-start/src/plugin-vite.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '@tanstack/react-start-plugin' diff --git a/packages/react-start-plugin/src/default-entry/client.tsx b/packages/react-start/src/plugin/default-entry/client.tsx similarity index 100% rename from packages/react-start-plugin/src/default-entry/client.tsx rename to packages/react-start/src/plugin/default-entry/client.tsx diff --git a/packages/react-start-plugin/src/default-entry/router-entry.d.ts b/packages/react-start/src/plugin/default-entry/router-entry.d.ts similarity index 100% rename from packages/react-start-plugin/src/default-entry/router-entry.d.ts rename to packages/react-start/src/plugin/default-entry/router-entry.d.ts diff --git a/packages/react-start-plugin/src/default-entry/server.ts b/packages/react-start/src/plugin/default-entry/server.ts similarity index 100% rename from packages/react-start-plugin/src/default-entry/server.ts rename to packages/react-start/src/plugin/default-entry/server.ts diff --git a/packages/react-start-plugin/src/index.ts b/packages/react-start/src/plugin/vite.ts similarity index 92% rename from packages/react-start-plugin/src/index.ts rename to packages/react-start/src/plugin/vite.ts index ba34a287ebd..98494ae5cd4 100644 --- a/packages/react-start-plugin/src/index.ts +++ b/packages/react-start/src/plugin/vite.ts @@ -5,15 +5,20 @@ import type { TanStackStartInputConfig } from '@tanstack/start-plugin-core' import type { PluginOption } from 'vite' const currentDir = path.dirname(fileURLToPath(import.meta.url)) -const defaultEntryDir = path.resolve(currentDir, '..', 'default-entry') +const defaultEntryDir = path.resolve( + currentDir, + '..', + '..', + 'plugin', + 'default-entry', +) const defaultEntryPaths = { client: path.resolve(defaultEntryDir, 'client'), server: path.resolve(defaultEntryDir, 'server'), } const isInsideRouterMonoRepo = - path.basename(path.resolve(currentDir, '../../../')) === 'packages' - + path.basename(path.resolve(currentDir, '../../../../')) === 'packages' function hasRootExport( exportsField?: Record | string, diff --git a/packages/react-start/vite.config.ts b/packages/react-start/vite.config.ts index 99fd4a8b00e..3dc5d93fd96 100644 --- a/packages/react-start/vite.config.ts +++ b/packages/react-start/vite.config.ts @@ -1,5 +1,6 @@ import { defineConfig, mergeConfig } from 'vitest/config' import { tanstackViteConfig } from '@tanstack/config/vite' +import { copyFilesPlugin } from '@tanstack/router-utils' import packageJson from './package.json' const config = defineConfig({ @@ -8,6 +9,13 @@ const config = defineConfig({ watch: false, environment: 'jsdom', }, + plugins: [ + copyFilesPlugin({ + pattern: ['*.ts', '*.tsx', '!*.d.ts'], + fromDir: 'src/plugin/default-entry', + toDir: 'dist/plugin/default-entry', + }), + ], }) export default mergeConfig( @@ -17,16 +25,17 @@ export default mergeConfig( entry: [ './src/client.tsx', './src/server.tsx', - './src/plugin-vite.ts', + './src/plugin/vite.ts', './src/server-functions-client.tsx', './src/server-functions-server.tsx', ], externalDeps: [ '@tanstack/react-start-client', '@tanstack/react-start-server', - '@tanstack/react-start-plugin', '@tanstack/start-server-functions-client', '@tanstack/start-server-functions-server', ], + exclude: ['./src/plugin/default-entry'], + cjs: false, }), ) diff --git a/packages/solid-start-plugin/README.md b/packages/solid-start-plugin/README.md deleted file mode 100644 index f1f10693be0..00000000000 --- a/packages/solid-start-plugin/README.md +++ /dev/null @@ -1,9 +0,0 @@ - - -# TanStack Solid Start - Plugin - -This package is not meant to be used directly. It is a dependency of [`@tanstack/solid-start`](https://www.npmjs.com/package/@tanstack/solid-start). - -TanStack Solid Start is a fullstack-framework made for SSR, Streaming, Server Functions, API Routes, bundling and more powered by [TanStack Router](https://tanstack.com/router). - -Head over to [tanstack.com/start](https://tanstack.com/start) for more information about getting started. diff --git a/packages/solid-start-plugin/eslint.config.js b/packages/solid-start-plugin/eslint.config.js deleted file mode 100644 index 8ce6ad05fcd..00000000000 --- a/packages/solid-start-plugin/eslint.config.js +++ /dev/null @@ -1,5 +0,0 @@ -// @ts-check - -import rootConfig from '../../eslint.config.js' - -export default [...rootConfig] diff --git a/packages/solid-start-plugin/package.json b/packages/solid-start-plugin/package.json deleted file mode 100644 index 5feb65ee0cb..00000000000 --- a/packages/solid-start-plugin/package.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "name": "@tanstack/solid-start-plugin", - "version": "1.130.17", - "description": "Modern and scalable routing for Solid applications", - "author": "Tanner Linsley", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/TanStack/router.git", - "directory": "packages/solid-start-plugin" - }, - "homepage": "https://tanstack.com/start", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "keywords": [ - "solid", - "location", - "router", - "routing", - "async", - "async router", - "typescript" - ], - "scripts": { - "clean": "rimraf ./dist && rimraf ./coverage", - "clean:snapshots": "rimraf **/*snapshot* --glob", - "test": "pnpm test:eslint && pnpm test:types && pnpm test:build && pnpm test:unit", - "test:unit": "exit 0; vitest", - "test:eslint": "eslint ./src", - "test:types": "pnpm run \"/^test:types:ts[0-9]{2}$/\"", - "test:types:ts54": "node ../../node_modules/typescript54/lib/tsc.js", - "test:types:ts55": "node ../../node_modules/typescript55/lib/tsc.js", - "test:types:ts56": "node ../../node_modules/typescript56/lib/tsc.js", - "test:types:ts57": "node ../../node_modules/typescript57/lib/tsc.js", - "test:types:ts58": "node ../../node_modules/typescript58/lib/tsc.js", - "test:types:ts59": "tsc", - "test:build": "publint --strict && attw --ignore-rules no-resolution --pack .", - "build": "vite build" - }, - "type": "module", - "types": "dist/esm/index.d.ts", - "main": "dist/cjs/index.cjs", - "module": "dist/esm/index.js", - "exports": { - ".": { - "import": { - "types": "./dist/esm/index.d.ts", - "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" - } - }, - "./package.json": "./package.json" - }, - "sideEffects": false, - "files": [ - "dist", - "src" - ], - "engines": { - "node": ">=12" - }, - "dependencies": { - "@tanstack/start-plugin-core": "workspace:*", - "pathe": "^2.0.3" - }, - "devDependencies": { - "@tanstack/router-utils": "workspace:^", - "@tanstack/solid-start": "workspace:^", - "solid-js": "^1.9.5", - "vite": "^7.0.6", - "vite-plugin-solid": "^2.11.8" - }, - "peerDependencies": { - "vite": ">=7.0.0" - } -} diff --git a/packages/solid-start-plugin/tsconfig.json b/packages/solid-start-plugin/tsconfig.json deleted file mode 100644 index 1df04423c27..00000000000 --- a/packages/solid-start-plugin/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": ["src", "vite.config.ts", "tests"], - "exclude": ["tests/**/test-files/**", "tests/**/snapshots/**"], - "compilerOptions": { - "jsx": "preserve", - "jsxImportSource": "solid-js", - "outDir": "dist/esm", - "target": "esnext", - "noEmit": true - } -} diff --git a/packages/solid-start-plugin/vite.config.ts b/packages/solid-start-plugin/vite.config.ts deleted file mode 100644 index a7ea4b18311..00000000000 --- a/packages/solid-start-plugin/vite.config.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { defineConfig, mergeConfig } from 'vitest/config' -import { tanstackViteConfig } from '@tanstack/config/vite' -import { copyFilesPlugin } from '@tanstack/router-utils' -import packageJson from './package.json' - -const config = defineConfig({ - test: { - name: packageJson.name, - dir: './tests', - watch: false, - typecheck: { enabled: true }, - }, - plugins: [ - copyFilesPlugin({ - pattern: ['*.ts', '*.tsx', '!*.d.ts'], - fromDir: 'src/default-entry', - toDir: 'dist/default-entry', - }), - ], -}) - -export default mergeConfig( - config, - tanstackViteConfig({ - entry: './src/index.ts', - srcDir: './src', - outDir: './dist', - cjs: false, - }), -) diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index 4a9a1ea832e..f494e4167e4 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -36,60 +36,36 @@ "import": { "types": "./dist/esm/client.d.ts", "default": "./dist/esm/client.js" - }, - "require": { - "types": "./dist/cjs/client.d.cts", - "default": "./dist/cjs/client.cjs" } }, "./client": { "import": { "types": "./dist/esm/client.d.ts", "default": "./dist/esm/client.js" - }, - "require": { - "types": "./dist/cjs/client.d.cts", - "default": "./dist/cjs/client.cjs" } }, "./server": { "import": { "types": "./dist/esm/server.d.ts", "default": "./dist/esm/server.js" - }, - "require": { - "types": "./dist/cjs/server.d.cts", - "default": "./dist/cjs/server.cjs" } }, "./plugin/vite": { "import": { - "types": "./dist/esm/plugin-vite.d.ts", - "default": "./dist/esm/plugin-vite.js" - }, - "require": { - "types": "./dist/cjs/plugin-vite.d.cts", - "default": "./dist/cjs/plugin-vite.cjs" + "types": "./dist/esm/plugin/vite.d.ts", + "default": "./dist/esm/plugin/vite.js" } }, "./server-functions-client": { "import": { "types": "./dist/esm/server-functions-client.d.ts", "default": "./dist/esm/server-functions-client.js" - }, - "require": { - "types": "./dist/cjs/server-functions-client.d.cts", - "default": "./dist/cjs/server-functions-client.cjs" } }, "./server-functions-server": { "import": { "types": "./dist/esm/server-functions-server.d.ts", "default": "./dist/esm/server-functions-server.js" - }, - "require": { - "types": "./dist/cjs/server-functions-server.d.cts", - "default": "./dist/cjs/server-functions-server.cjs" } }, "./package.json": "./package.json" @@ -105,9 +81,14 @@ "dependencies": { "@tanstack/solid-start-client": "workspace:*", "@tanstack/solid-start-server": "workspace:*", - "@tanstack/solid-start-plugin": "workspace:*", "@tanstack/start-server-functions-client": "workspace:*", - "@tanstack/start-server-functions-server": "workspace:*" + "@tanstack/start-server-functions-server": "workspace:*", + "@tanstack/start-plugin-core": "workspace:*", + "pathe": "^2.0.3" + }, + "devDependencies": { + "@tanstack/router-utils": "workspace:*", + "vite": "^7.0.6" }, "peerDependencies": { "solid-js": ">=1.0.0", diff --git a/packages/solid-start/src/plugin-vite.ts b/packages/solid-start/src/plugin-vite.ts deleted file mode 100644 index 24c76d55166..00000000000 --- a/packages/solid-start/src/plugin-vite.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '@tanstack/solid-start-plugin' diff --git a/packages/solid-start-plugin/src/default-entry/client.tsx b/packages/solid-start/src/plugin/default-entry/client.tsx similarity index 100% rename from packages/solid-start-plugin/src/default-entry/client.tsx rename to packages/solid-start/src/plugin/default-entry/client.tsx diff --git a/packages/solid-start-plugin/src/default-entry/router-entry.d.ts b/packages/solid-start/src/plugin/default-entry/router-entry.d.ts similarity index 100% rename from packages/solid-start-plugin/src/default-entry/router-entry.d.ts rename to packages/solid-start/src/plugin/default-entry/router-entry.d.ts diff --git a/packages/solid-start-plugin/src/default-entry/server.ts b/packages/solid-start/src/plugin/default-entry/server.ts similarity index 100% rename from packages/solid-start-plugin/src/default-entry/server.ts rename to packages/solid-start/src/plugin/default-entry/server.ts diff --git a/packages/solid-start-plugin/src/index.ts b/packages/solid-start/src/plugin/vite.ts similarity index 87% rename from packages/solid-start-plugin/src/index.ts rename to packages/solid-start/src/plugin/vite.ts index dae794e9b0b..8963d4550db 100644 --- a/packages/solid-start-plugin/src/index.ts +++ b/packages/solid-start/src/plugin/vite.ts @@ -5,7 +5,13 @@ import type { TanStackStartInputConfig } from '@tanstack/start-plugin-core' import type { PluginOption } from 'vite' const currentDir = path.dirname(fileURLToPath(import.meta.url)) -const defaultEntryDir = path.resolve(currentDir, '..', 'default-entry') +const defaultEntryDir = path.resolve( + currentDir, + '..', + '..', + 'plugin', + 'default-entry', +) const defaultEntryPaths = { client: path.resolve(defaultEntryDir, 'client'), server: path.resolve(defaultEntryDir, 'server'), diff --git a/packages/solid-start/tsconfig.json b/packages/solid-start/tsconfig.json index 51dda9abf2a..0a0fe1f18af 100644 --- a/packages/solid-start/tsconfig.json +++ b/packages/solid-start/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "jsx": "react-jsx", + "jsx": "preserve", + "jsxImportSource": "solid-js", "module": "esnext" }, "include": ["src", "vite.config.ts"] diff --git a/packages/solid-start/vite.config.ts b/packages/solid-start/vite.config.ts index 8557385ded1..694870c9144 100644 --- a/packages/solid-start/vite.config.ts +++ b/packages/solid-start/vite.config.ts @@ -1,5 +1,6 @@ import { defineConfig, mergeConfig } from 'vitest/config' import { tanstackViteConfig } from '@tanstack/config/vite' +import { copyFilesPlugin } from '@tanstack/router-utils' import packageJson from './package.json' const config = defineConfig({ @@ -8,6 +9,13 @@ const config = defineConfig({ watch: false, environment: 'jsdom', }, + plugins: [ + copyFilesPlugin({ + pattern: ['*.ts', '*.tsx', '!*.d.ts'], + fromDir: 'src/plugin/default-entry', + toDir: 'dist/plugin/default-entry', + }), + ], }) export default mergeConfig( @@ -17,16 +25,17 @@ export default mergeConfig( entry: [ './src/client.tsx', './src/server.tsx', - './src/plugin-vite.ts', + './src/plugin/vite.ts', './src/server-functions-client.tsx', './src/server-functions-server.tsx', ], externalDeps: [ '@tanstack/solid-start-client', '@tanstack/solid-start-server', - '@tanstack/solid-start-plugin', '@tanstack/start-server-functions-client', '@tanstack/start-server-functions-server', ], + cjs: false, + exclude: ['./src/plugin/default-entry'], }), ) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1035f7fa448..074a9081e63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,11 +31,9 @@ overrides: '@tanstack/arktype-adapter': workspace:* '@tanstack/react-start': workspace:* '@tanstack/react-start-client': workspace:* - '@tanstack/react-start-plugin': workspace:* '@tanstack/react-start-server': workspace:* '@tanstack/solid-start': workspace:* '@tanstack/solid-start-client': workspace:* - '@tanstack/solid-start-plugin': workspace:* '@tanstack/solid-start-server': workspace:* '@tanstack/start-server-functions-fetcher': workspace:* '@tanstack/start-server-functions-client': workspace:* @@ -6280,6 +6278,9 @@ importers: vite: specifier: 7.0.6 version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite-plugin-solid: + specifier: ^2.11.8 + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.3 version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) @@ -6451,21 +6452,24 @@ importers: '@tanstack/react-start-client': specifier: workspace:* version: link:../react-start-client - '@tanstack/react-start-plugin': - specifier: workspace:* - version: link:../react-start-plugin '@tanstack/react-start-server': specifier: workspace:* version: link:../react-start-server + '@tanstack/router-utils': + specifier: workspace:* + version: link:../router-utils + '@tanstack/start-plugin-core': + specifier: workspace:* + version: link:../start-plugin-core '@tanstack/start-server-functions-client': specifier: workspace:* version: link:../start-server-functions-client '@tanstack/start-server-functions-server': specifier: workspace:* version: link:../start-server-functions-server - '@vitejs/plugin-react': - specifier: '>=4.3.4' - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + pathe: + specifier: ^2.0.3 + version: 2.0.3 react: specifier: ^19.0.0 version: 19.0.0 @@ -6510,37 +6514,6 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - packages/react-start-plugin: - dependencies: - '@tanstack/router-utils': - specifier: workspace:* - version: link:../router-utils - '@tanstack/start-plugin-core': - specifier: workspace:* - version: link:../start-plugin-core - pathe: - specifier: ^2.0.3 - version: 2.0.3 - devDependencies: - '@tanstack/react-router': - specifier: workspace:* - version: link:../react-router - '@tanstack/react-start': - specifier: workspace:* - version: link:../react-start - '@tanstack/react-start-client': - specifier: workspace:* - version: link:../react-start-client - '@types/react': - specifier: ^19.0.8 - version: 19.0.8 - '@types/react-dom': - specifier: ^19.0.3 - version: 19.0.3(@types/react@19.0.8) - vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - packages/react-start-server: dependencies: '@tanstack/history': @@ -6935,21 +6908,28 @@ importers: '@tanstack/solid-start-client': specifier: workspace:* version: link:../solid-start-client - '@tanstack/solid-start-plugin': - specifier: workspace:* - version: link:../solid-start-plugin '@tanstack/solid-start-server': specifier: workspace:* version: link:../solid-start-server + '@tanstack/start-plugin-core': + specifier: workspace:* + version: link:../start-plugin-core '@tanstack/start-server-functions-client': specifier: workspace:* version: link:../start-server-functions-client '@tanstack/start-server-functions-server': specifier: workspace:* version: link:../start-server-functions-server + pathe: + specifier: ^2.0.3 + version: 2.0.3 solid-js: specifier: '>=1.0.0' version: 1.9.5 + devDependencies: + '@tanstack/router-utils': + specifier: workspace:* + version: link:../router-utils vite: specifier: 7.0.6 version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) @@ -6988,31 +6968,6 @@ importers: specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - packages/solid-start-plugin: - dependencies: - '@tanstack/start-plugin-core': - specifier: workspace:* - version: link:../start-plugin-core - pathe: - specifier: ^2.0.3 - version: 2.0.3 - devDependencies: - '@tanstack/router-utils': - specifier: workspace:* - version: link:../router-utils - '@tanstack/solid-start': - specifier: workspace:* - version: link:../solid-start - solid-js: - specifier: ^1.9.5 - version: 1.9.5 - vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vite-plugin-solid: - specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - packages/solid-start-server: dependencies: '@solidjs/meta': diff --git a/scripts/publish.js b/scripts/publish.js index 0b38f0510c4..65b5659f122 100644 --- a/scripts/publish.js +++ b/scripts/publish.js @@ -92,10 +92,6 @@ await publish({ name: '@tanstack/solid-start', packageDir: 'packages/solid-start', }, - { - name: '@tanstack/solid-start-plugin', - packageDir: 'packages/solid-start-plugin', - }, { name: '@tanstack/solid-start-client', packageDir: 'packages/solid-start-client', @@ -120,10 +116,6 @@ await publish({ name: '@tanstack/react-start', packageDir: 'packages/react-start', }, - { - name: '@tanstack/react-start-plugin', - packageDir: 'packages/react-start-plugin', - }, { name: '@tanstack/react-start-client', packageDir: 'packages/react-start-client', From 1114dea8042dfd5fe50344adc1645d1b8ba90db4 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 022/271] dont build CJS for start --- packages/react-start-client/package.json | 4 ---- packages/react-start-client/vite.config.ts | 1 + packages/react-start-server/package.json | 4 ---- packages/react-start-server/vite.config.ts | 1 + packages/solid-start-client/package.json | 4 ---- packages/solid-start-client/vite.config.ts | 1 + packages/solid-start-server/package.json | 4 ---- packages/solid-start-server/vite.config.ts | 1 + packages/start-client-core/package.json | 4 ---- packages/start-client-core/vite.config.ts | 1 + packages/start-plugin-core/package.json | 4 ---- packages/start-server-core/package.json | 4 ---- packages/start-server-core/vite.config.ts | 1 + packages/start-server-functions-client/package.json | 4 ---- packages/start-server-functions-client/vite.config.ts | 1 + packages/start-server-functions-fetcher/package.json | 4 ---- packages/start-server-functions-fetcher/vite.config.ts | 1 + packages/start-server-functions-server/package.json | 4 ---- packages/start-server-functions-server/vite.config.ts | 1 + packages/start-storage-context/package.json | 4 ---- packages/start-storage-context/vite.config.ts | 1 + 21 files changed, 10 insertions(+), 44 deletions(-) diff --git a/packages/react-start-client/package.json b/packages/react-start-client/package.json index 7878d0eb7b4..2ba58f93e5f 100644 --- a/packages/react-start-client/package.json +++ b/packages/react-start-client/package.json @@ -46,10 +46,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/react-start-client/vite.config.ts b/packages/react-start-client/vite.config.ts index e1356092ad1..da4238fe1e0 100644 --- a/packages/react-start-client/vite.config.ts +++ b/packages/react-start-client/vite.config.ts @@ -20,5 +20,6 @@ export default mergeConfig( tanstackViteConfig({ srcDir: './src', entry: './src/index.tsx', + cjs: false, }), ) diff --git a/packages/react-start-server/package.json b/packages/react-start-server/package.json index 9eacacb8fd8..a499771baaf 100644 --- a/packages/react-start-server/package.json +++ b/packages/react-start-server/package.json @@ -45,10 +45,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/react-start-server/vite.config.ts b/packages/react-start-server/vite.config.ts index c5f4dc491c5..9a1d38f579a 100644 --- a/packages/react-start-server/vite.config.ts +++ b/packages/react-start-server/vite.config.ts @@ -17,5 +17,6 @@ export default mergeConfig( tanstackViteConfig({ srcDir: './src', entry: './src/index.tsx', + cjs: false, }), ) diff --git a/packages/solid-start-client/package.json b/packages/solid-start-client/package.json index 6187bd0b637..0210324a892 100644 --- a/packages/solid-start-client/package.json +++ b/packages/solid-start-client/package.json @@ -46,10 +46,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/solid-start-client/vite.config.ts b/packages/solid-start-client/vite.config.ts index 38e78635ea4..ca6fef541de 100644 --- a/packages/solid-start-client/vite.config.ts +++ b/packages/solid-start-client/vite.config.ts @@ -20,5 +20,6 @@ export default mergeConfig( tanstackViteConfig({ srcDir: './src', entry: './src/index.tsx', + cjs: false, }), ) diff --git a/packages/solid-start-server/package.json b/packages/solid-start-server/package.json index 156b6c97f2c..06fbc5896a5 100644 --- a/packages/solid-start-server/package.json +++ b/packages/solid-start-server/package.json @@ -45,10 +45,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/solid-start-server/vite.config.ts b/packages/solid-start-server/vite.config.ts index 2f124170cec..93d05451e85 100644 --- a/packages/solid-start-server/vite.config.ts +++ b/packages/solid-start-server/vite.config.ts @@ -17,5 +17,6 @@ export default mergeConfig( tanstackViteConfig({ srcDir: './src', entry: './src/index.tsx', + cjs: false, }), ) diff --git a/packages/start-client-core/package.json b/packages/start-client-core/package.json index 6cc988236c0..413d479043b 100644 --- a/packages/start-client-core/package.json +++ b/packages/start-client-core/package.json @@ -46,10 +46,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/start-client-core/vite.config.ts b/packages/start-client-core/vite.config.ts index ac2026fbb76..8918be83faa 100644 --- a/packages/start-client-core/vite.config.ts +++ b/packages/start-client-core/vite.config.ts @@ -16,5 +16,6 @@ export default mergeConfig( tanstackViteConfig({ srcDir: './src', entry: './src/index.tsx', + cjs: false, }), ) diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index c14765ae85e..d20136f90dd 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -49,10 +49,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index 370ca4c3d4f..ab481650d79 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -45,10 +45,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/start-server-core/vite.config.ts b/packages/start-server-core/vite.config.ts index 4347ad09c7b..3c22138b5e0 100644 --- a/packages/start-server-core/vite.config.ts +++ b/packages/start-server-core/vite.config.ts @@ -20,5 +20,6 @@ export default mergeConfig( srcDir: './src', entry: './src/index.tsx', externalDeps: [...Object.values(VIRTUAL_MODULES)], + cjs: false, }), ) diff --git a/packages/start-server-functions-client/package.json b/packages/start-server-functions-client/package.json index d21a122f360..31cbb939420 100644 --- a/packages/start-server-functions-client/package.json +++ b/packages/start-server-functions-client/package.json @@ -45,10 +45,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/start-server-functions-client/vite.config.ts b/packages/start-server-functions-client/vite.config.ts index 976bb5c87f4..2f00b058fd7 100644 --- a/packages/start-server-functions-client/vite.config.ts +++ b/packages/start-server-functions-client/vite.config.ts @@ -17,5 +17,6 @@ export default mergeConfig( tanstackViteConfig({ entry: './src/index.ts', srcDir: './src', + cjs: false, }), ) diff --git a/packages/start-server-functions-fetcher/package.json b/packages/start-server-functions-fetcher/package.json index 8e453679095..8703d38f7ea 100644 --- a/packages/start-server-functions-fetcher/package.json +++ b/packages/start-server-functions-fetcher/package.json @@ -45,10 +45,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/start-server-functions-fetcher/vite.config.ts b/packages/start-server-functions-fetcher/vite.config.ts index 976bb5c87f4..2f00b058fd7 100644 --- a/packages/start-server-functions-fetcher/vite.config.ts +++ b/packages/start-server-functions-fetcher/vite.config.ts @@ -17,5 +17,6 @@ export default mergeConfig( tanstackViteConfig({ entry: './src/index.ts', srcDir: './src', + cjs: false, }), ) diff --git a/packages/start-server-functions-server/package.json b/packages/start-server-functions-server/package.json index 1cb06edadce..8622131a1ae 100644 --- a/packages/start-server-functions-server/package.json +++ b/packages/start-server-functions-server/package.json @@ -45,10 +45,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/start-server-functions-server/vite.config.ts b/packages/start-server-functions-server/vite.config.ts index 976bb5c87f4..2f00b058fd7 100644 --- a/packages/start-server-functions-server/vite.config.ts +++ b/packages/start-server-functions-server/vite.config.ts @@ -17,5 +17,6 @@ export default mergeConfig( tanstackViteConfig({ entry: './src/index.ts', srcDir: './src', + cjs: false, }), ) diff --git a/packages/start-storage-context/package.json b/packages/start-storage-context/package.json index 77995562f8c..e8748873d7f 100644 --- a/packages/start-storage-context/package.json +++ b/packages/start-storage-context/package.json @@ -46,10 +46,6 @@ "import": { "types": "./dist/esm/index.d.ts", "default": "./dist/esm/index.js" - }, - "require": { - "types": "./dist/cjs/index.d.cts", - "default": "./dist/cjs/index.cjs" } }, "./package.json": "./package.json" diff --git a/packages/start-storage-context/vite.config.ts b/packages/start-storage-context/vite.config.ts index ac2026fbb76..8918be83faa 100644 --- a/packages/start-storage-context/vite.config.ts +++ b/packages/start-storage-context/vite.config.ts @@ -16,5 +16,6 @@ export default mergeConfig( tanstackViteConfig({ srcDir: './src', entry: './src/index.tsx', + cjs: false, }), ) From 9c7c4a3796ad7ef9b0752ea3b006a3777930b299 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 023/271] fix solid start-basic-static example --- .../react/start-basic-static/vite.config.ts | 2 +- .../solid/start-basic-static/package.json | 3 +- .../start-basic-static/src/routes/__root.tsx | 121 +++++++++--------- .../src/routes/posts.$postId.tsx | 8 +- .../src/routes/posts_.$postId.deep.tsx | 2 - .../src/routes/users.$userId.tsx | 2 +- .../solid/start-basic-static/vite.config.ts | 12 ++ 7 files changed, 78 insertions(+), 72 deletions(-) diff --git a/examples/react/start-basic-static/vite.config.ts b/examples/react/start-basic-static/vite.config.ts index 94209242acb..07451c7d66f 100644 --- a/examples/react/start-basic-static/vite.config.ts +++ b/examples/react/start-basic-static/vite.config.ts @@ -22,7 +22,7 @@ export default defineConfig({ }, prerender: { failOnError: false, - } + }, }), ], }) diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index 01075789eb5..ecb903c5ce2 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -23,6 +23,7 @@ "tailwindcss": "^3.4.15", "typescript": "^5.6.2", "vite": "^7.0.6", - "vite-tsconfig-paths": "^5.1.3" + "vite-tsconfig-paths": "^5.1.3", + "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/start-basic-static/src/routes/__root.tsx b/examples/solid/start-basic-static/src/routes/__root.tsx index c439d9dfcda..6d60d836c7f 100644 --- a/examples/solid/start-basic-static/src/routes/__root.tsx +++ b/examples/solid/start-basic-static/src/routes/__root.tsx @@ -73,68 +73,63 @@ function RootComponent() { function RootLayout({ children }: { children: Solid.JSX.Element }) { return ( - - - - - -
- - Home - {' '} - - Posts - {' '} - - Users - {' '} - - Pathless Layout - {' '} - - Deferred - {' '} - - This Route Does Not Exist - -
-
- {children} - - - - + <> +
+ + Home + {' '} + + Posts + {' '} + + Users + {' '} + + Pathless Layout + {' '} + + Deferred + {' '} + + This Route Does Not Exist + +
+
+ {children} + + + ) } diff --git a/examples/solid/start-basic-static/src/routes/posts.$postId.tsx b/examples/solid/start-basic-static/src/routes/posts.$postId.tsx index 73bbe725538..df0b03af9e6 100644 --- a/examples/solid/start-basic-static/src/routes/posts.$postId.tsx +++ b/examples/solid/start-basic-static/src/routes/posts.$postId.tsx @@ -12,7 +12,7 @@ export const Route = createFileRoute('/posts/$postId')({ }, }) -export function PostErrorComponent({ error }: ErrorComponentProps) { +function PostErrorComponent({ error }: ErrorComponentProps) { return } @@ -21,12 +21,12 @@ function PostComponent() { return (
-

{post.title}

-
{post.body}
+

{post().title}

+
{post().body}
fetchPost({ data: postId, }), - errorComponent: PostErrorComponent, component: PostDeepComponent, }) diff --git a/examples/solid/start-basic-static/src/routes/users.$userId.tsx b/examples/solid/start-basic-static/src/routes/users.$userId.tsx index 928077c240b..73af83b285e 100644 --- a/examples/solid/start-basic-static/src/routes/users.$userId.tsx +++ b/examples/solid/start-basic-static/src/routes/users.$userId.tsx @@ -29,7 +29,7 @@ export const Route = createFileRoute('/users/$userId')({ }, }) -export function UserErrorComponent({ error }: ErrorComponentProps) { +function UserErrorComponent({ error }: ErrorComponentProps) { return } diff --git a/examples/solid/start-basic-static/vite.config.ts b/examples/solid/start-basic-static/vite.config.ts index 2a39748970f..97fcbafb577 100644 --- a/examples/solid/start-basic-static/vite.config.ts +++ b/examples/solid/start-basic-static/vite.config.ts @@ -14,6 +14,18 @@ export default defineConfig({ tanstackStart({ spa: { enabled: true, + prerender: { + crawlLinks: true, + }, + }, + sitemap: { + host: 'https://localhost:3000', + }, + prerender: { + failOnError: true, + filter: (page) => { + return !page.path.includes('exist') + }, }, }), viteSolid({ ssr: true }), From 960265ef8145870d3503725a126cdfe42f03ca08 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 024/271] fix tsconfig --- packages/solid-start-client/tsconfig.json | 2 +- packages/solid-start-server/tsconfig.json | 7 +------ packages/start-client-core/tsconfig.json | 2 +- packages/start-storage-context/tsconfig.json | 2 +- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/solid-start-client/tsconfig.json b/packages/solid-start-client/tsconfig.json index fdda84d59ff..0a0fe1f18af 100644 --- a/packages/solid-start-client/tsconfig.json +++ b/packages/solid-start-client/tsconfig.json @@ -5,5 +5,5 @@ "jsxImportSource": "solid-js", "module": "esnext" }, - "include": ["src", "vite.config.ts", "src/tsrScript.ts"] + "include": ["src", "vite.config.ts"] } diff --git a/packages/solid-start-server/tsconfig.json b/packages/solid-start-server/tsconfig.json index 4d747d628f9..4d7edc09ba9 100644 --- a/packages/solid-start-server/tsconfig.json +++ b/packages/solid-start-server/tsconfig.json @@ -5,10 +5,5 @@ "jsxImportSource": "solid-js", "module": "esnext" }, - "include": [ - "src", - "tests", - "vite.config.ts", - "../start-client/src/tsrScript.ts" - ] + "include": ["src", "tests", "vite.config.ts"] } diff --git a/packages/start-client-core/tsconfig.json b/packages/start-client-core/tsconfig.json index fdda84d59ff..0a0fe1f18af 100644 --- a/packages/start-client-core/tsconfig.json +++ b/packages/start-client-core/tsconfig.json @@ -5,5 +5,5 @@ "jsxImportSource": "solid-js", "module": "esnext" }, - "include": ["src", "vite.config.ts", "src/tsrScript.ts"] + "include": ["src", "vite.config.ts"] } diff --git a/packages/start-storage-context/tsconfig.json b/packages/start-storage-context/tsconfig.json index fdda84d59ff..0a0fe1f18af 100644 --- a/packages/start-storage-context/tsconfig.json +++ b/packages/start-storage-context/tsconfig.json @@ -5,5 +5,5 @@ "jsxImportSource": "solid-js", "module": "esnext" }, - "include": ["src", "vite.config.ts", "src/tsrScript.ts"] + "include": ["src", "vite.config.ts"] } From 63879f7de3e1f1d7cb8f0595ac5f2fa0b475bfe2 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 025/271] move static server functions into middleware in separate package --- .../react/static-server-functions.md | 41 +-- .../react/start-basic-static/package.json | 1 + .../src/routes/deferred.tsx | 7 +- .../src/routes/users.$userId.tsx | 4 +- .../start-basic-static/src/routes/users.tsx | 9 +- .../start-basic-static/src/utils/posts.tsx | 9 +- .../solid/start-basic-static/package.json | 1 + .../src/routes/deferred.tsx | 7 +- .../src/routes/users.$userId.tsx | 4 +- .../start-basic-static/src/routes/users.tsx | 9 +- .../start-basic-static/src/utils/posts.tsx | 9 +- .../solid/start-basic/src/utils/posts.tsx | 3 +- package.json | 3 +- .../start-client-core/src/createServerFn.ts | 257 +----------------- packages/start-client-core/src/index.tsx | 2 - .../eslint.config.js | 20 ++ .../package.json | 64 +++++ .../src/index.ts | 1 + .../src/staticFunctionMiddleware.ts | 185 +++++++++++++ .../tsconfig.json | 9 + .../vite.config.ts | 21 ++ pnpm-lock.yaml | 13 + scripts/publish.js | 4 + 23 files changed, 377 insertions(+), 306 deletions(-) create mode 100644 packages/start-static-server-functions/eslint.config.js create mode 100644 packages/start-static-server-functions/package.json create mode 100644 packages/start-static-server-functions/src/index.ts create mode 100644 packages/start-static-server-functions/src/staticFunctionMiddleware.ts create mode 100644 packages/start-static-server-functions/tsconfig.json create mode 100644 packages/start-static-server-functions/vite.config.ts diff --git a/docs/start/framework/react/static-server-functions.md b/docs/start/framework/react/static-server-functions.md index 92c7adc9325..64cd80aee9c 100644 --- a/docs/start/framework/react/static-server-functions.md +++ b/docs/start/framework/react/static-server-functions.md @@ -3,50 +3,31 @@ id: static-server-functions title: Static Server Functions --- +> [!WARNING] +> Static Server Functions are experimental! + ## What are Static Server Functions? -Static server functions are server functions that are executed at build time and cached as static assets when using prerendering/static-generation. They can be set to "static" mode by passing the `type: 'static'` option to `createServerFn`: +Static server functions are server functions that are executed at build time and cached as static assets when using prerendering/static-generation. They can be set to "static" mode by applying the `staticFunctionMiddleware` middleware to `createServerFn`: ```tsx -const myServerFn = createServerFn({ type: 'static' }).handler(async () => { +import { createServerFn } from '@tanstack/react-start' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' + +const myServerFn = createServerFn({ type: 'static' })..middleware([staticFunctionMiddleware]).handler(async () => { return 'Hello, world!' }) ``` +Ensure that `staticFunctionMiddleware` is the last middleware! + This pattern goes as follows: - Build-time - - During build-time prerendering, a server function with `type: 'static'` is executed + - During build-time prerendering, a server function with `staticFunctionMiddleware` is executed - The result is cached with your build output as a static JSON file under a derived key (function ID + params/payload hash) - The result is returned as normal during prerendering/static-generation and used to prerender the page - Runtime - Initially, the prerendered page's html is served and the server function data is embedded in the html - When the client mounts, the embedded server function data is hydrated - For future client-side invocations, the server function is replaced with a fetch call to the static JSON file - -## Customizing the Server Functions Static Cache - -By default, the static server function cache implementation stores and retrieves static data in the build output directory via node's `fs` module and likewise fetches the data at runtime using a `fetch` call to the same static file. - -This interface can be customized by importing and calling the `createServerFnStaticCache` function to create a custom cache implementation and then calling `setServerFnStaticCache` to set it: - -```tsx -import { - createServerFnStaticCache, - setServerFnStaticCache, -} from '@tanstack/react-start/client' - -const myCustomStaticCache = createServerFnStaticCache({ - setItem: async (ctx, data) => { - // Store the static data in your custom cache - }, - getItem: async (ctx) => { - // Retrieve the static data from your custom cache - }, - fetchItem: async (ctx) => { - // During runtime, fetch the static data from your custom cache - }, -}) - -setServerFnStaticCache(myCustomStaticCache) -``` diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index 1a27012cf6a..ce895979b80 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -12,6 +12,7 @@ "@tanstack/react-router": "^1.130.17", "@tanstack/react-router-devtools": "^1.130.17", "@tanstack/react-start": "^1.130.17", + "@tanstack/start-static-server-functions": "^1.130.16", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-static/src/routes/deferred.tsx b/examples/react/start-basic-static/src/routes/deferred.tsx index e59a871e7b9..07810ddc39e 100644 --- a/examples/react/start-basic-static/src/routes/deferred.tsx +++ b/examples/react/start-basic-static/src/routes/deferred.tsx @@ -1,14 +1,17 @@ import { Await, createFileRoute } from '@tanstack/react-router' import { createServerFn } from '@tanstack/react-start' import { Suspense, useState } from 'react' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' -const personServerFn = createServerFn({ method: 'GET', type: 'static' }) +const personServerFn = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) .validator((d: string) => d) .handler(({ data: name }) => { return { name, randomNumber: Math.floor(Math.random() * 100) } }) -const slowServerFn = createServerFn({ method: 'GET', type: 'static' }) +const slowServerFn = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) .validator((d: string) => d) .handler(async ({ data: name }) => { await new Promise((r) => setTimeout(r, 1000)) diff --git a/examples/react/start-basic-static/src/routes/users.$userId.tsx b/examples/react/start-basic-static/src/routes/users.$userId.tsx index d166885e29d..2d2d32279d7 100644 --- a/examples/react/start-basic-static/src/routes/users.$userId.tsx +++ b/examples/react/start-basic-static/src/routes/users.$userId.tsx @@ -4,8 +4,10 @@ import { createServerFn } from '@tanstack/react-start' import type { ErrorComponentProps } from '@tanstack/react-router' import type { User } from '~/utils/users' import { NotFound } from '~/components/NotFound' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' -const fetchUser = createServerFn({ method: 'GET', type: 'static' }) +const fetchUser = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) .validator((d: string) => d) .handler(async ({ data: userId }) => { return axios diff --git a/examples/react/start-basic-static/src/routes/users.tsx b/examples/react/start-basic-static/src/routes/users.tsx index 95eeacaf638..98fb79518b3 100644 --- a/examples/react/start-basic-static/src/routes/users.tsx +++ b/examples/react/start-basic-static/src/routes/users.tsx @@ -2,9 +2,11 @@ import { Link, Outlet, createFileRoute } from '@tanstack/react-router' import axios from 'redaxios' import { createServerFn } from '@tanstack/react-start' import type { User } from '../utils/users' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' -const fetchUsers = createServerFn({ method: 'GET', type: 'static' }).handler( - async () => { +const fetchUsers = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) + .handler(async () => { console.info('Fetching users...') const res = await axios.get>( 'https://jsonplaceholder.typicode.com/users', @@ -13,8 +15,7 @@ const fetchUsers = createServerFn({ method: 'GET', type: 'static' }).handler( return res.data .slice(0, 10) .map((u) => ({ id: u.id, name: u.name, email: u.email })) - }, -) + }) export const Route = createFileRoute('/users')({ loader: async () => fetchUsers(), diff --git a/examples/react/start-basic-static/src/utils/posts.tsx b/examples/react/start-basic-static/src/utils/posts.tsx index 79f52eea476..82e568ceef1 100644 --- a/examples/react/start-basic-static/src/utils/posts.tsx +++ b/examples/react/start-basic-static/src/utils/posts.tsx @@ -2,6 +2,7 @@ import { createServerFn } from '@tanstack/react-start' import axios from 'redaxios' import { notFound } from '@tanstack/react-router' import { logMiddleware } from './loggingMiddleware' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' export type PostType = { id: string @@ -9,8 +10,8 @@ export type PostType = { body: string } -export const fetchPost = createServerFn({ method: 'GET', type: 'static' }) - .middleware([logMiddleware]) +export const fetchPost = createServerFn({ method: 'GET' }) + .middleware([logMiddleware, staticFunctionMiddleware]) .validator((d: string) => d) .handler(async ({ data }) => { console.info(`Fetching post with id ${data}...`) @@ -27,8 +28,8 @@ export const fetchPost = createServerFn({ method: 'GET', type: 'static' }) return post }) -export const fetchPosts = createServerFn({ method: 'GET', type: 'static' }) - .middleware([logMiddleware]) +export const fetchPosts = createServerFn({ method: 'GET' }) + .middleware([logMiddleware, staticFunctionMiddleware]) .handler(async () => { console.info('Fetching posts...') return axios diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index ecb903c5ce2..5b04c1844a8 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -12,6 +12,7 @@ "@tanstack/solid-router": "^1.130.17", "@tanstack/solid-router-devtools": "^1.130.17", "@tanstack/solid-start": "^1.130.17", + "@tanstack/start-static-server-functions": "^1.130.16", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.5.5" diff --git a/examples/solid/start-basic-static/src/routes/deferred.tsx b/examples/solid/start-basic-static/src/routes/deferred.tsx index ce617191eb7..17ea8b7400e 100644 --- a/examples/solid/start-basic-static/src/routes/deferred.tsx +++ b/examples/solid/start-basic-static/src/routes/deferred.tsx @@ -1,14 +1,17 @@ import { Await, createFileRoute } from '@tanstack/solid-router' import { createServerFn } from '@tanstack/solid-start' import { Suspense, createSignal } from 'solid-js' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' -const personServerFn = createServerFn({ method: 'GET', type: 'static' }) +const personServerFn = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) .validator((d: string) => d) .handler(({ data: name }) => { return { name, randomNumber: Math.floor(Math.random() * 100) } }) -const slowServerFn = createServerFn({ method: 'GET', type: 'static' }) +const slowServerFn = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) .validator((d: string) => d) .handler(async ({ data: name }) => { await new Promise((r) => setTimeout(r, 1000)) diff --git a/examples/solid/start-basic-static/src/routes/users.$userId.tsx b/examples/solid/start-basic-static/src/routes/users.$userId.tsx index 73af83b285e..2c667b8cebe 100644 --- a/examples/solid/start-basic-static/src/routes/users.$userId.tsx +++ b/examples/solid/start-basic-static/src/routes/users.$userId.tsx @@ -4,8 +4,10 @@ import { createServerFn } from '@tanstack/solid-start' import type { ErrorComponentProps } from '@tanstack/solid-router' import type { User } from '~/utils/users' import { NotFound } from '~/components/NotFound' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' -const fetchUser = createServerFn({ method: 'GET', type: 'static' }) +const fetchUser = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) .validator((d: string) => d) .handler(async ({ data: userId }) => { return axios diff --git a/examples/solid/start-basic-static/src/routes/users.tsx b/examples/solid/start-basic-static/src/routes/users.tsx index 1b5e9e23a2f..19a36135ac8 100644 --- a/examples/solid/start-basic-static/src/routes/users.tsx +++ b/examples/solid/start-basic-static/src/routes/users.tsx @@ -2,9 +2,11 @@ import { Link, Outlet, createFileRoute } from '@tanstack/solid-router' import axios from 'redaxios' import { createServerFn } from '@tanstack/solid-start' import type { User } from '../utils/users' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' -const fetchUsers = createServerFn({ method: 'GET', type: 'static' }).handler( - async () => { +const fetchUsers = createServerFn({ method: 'GET' }) + .middleware([staticFunctionMiddleware]) + .handler(async () => { console.info('Fetching users...') const res = await axios.get>( 'https://jsonplaceholder.typicode.com/users', @@ -13,8 +15,7 @@ const fetchUsers = createServerFn({ method: 'GET', type: 'static' }).handler( return res.data .slice(0, 10) .map((u) => ({ id: u.id, name: u.name, email: u.email })) - }, -) + }) export const Route = createFileRoute('/users')({ loader: async () => fetchUsers(), diff --git a/examples/solid/start-basic-static/src/utils/posts.tsx b/examples/solid/start-basic-static/src/utils/posts.tsx index 204230b7fea..01a6673569e 100644 --- a/examples/solid/start-basic-static/src/utils/posts.tsx +++ b/examples/solid/start-basic-static/src/utils/posts.tsx @@ -2,6 +2,7 @@ import { createServerFn } from '@tanstack/solid-start' import axios from 'redaxios' import { notFound } from '@tanstack/solid-router' import { logMiddleware } from './loggingMiddleware' +import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' export type PostType = { id: string @@ -9,8 +10,8 @@ export type PostType = { body: string } -export const fetchPost = createServerFn({ method: 'GET', type: 'static' }) - .middleware([logMiddleware]) +export const fetchPost = createServerFn({ method: 'GET' }) + .middleware([logMiddleware, staticFunctionMiddleware]) .validator((d: string) => d) .handler(async ({ data }) => { console.info(`Fetching post with id ${data}...`) @@ -27,8 +28,8 @@ export const fetchPost = createServerFn({ method: 'GET', type: 'static' }) return post }) -export const fetchPosts = createServerFn({ method: 'GET', type: 'static' }) - .middleware([logMiddleware]) +export const fetchPosts = createServerFn({ method: 'GET' }) + .middleware([logMiddleware, staticFunctionMiddleware]) .handler(async () => { console.info('Fetching posts...') return axios diff --git a/examples/solid/start-basic/src/utils/posts.tsx b/examples/solid/start-basic/src/utils/posts.tsx index e29706d38cd..22db5ebb5f1 100644 --- a/examples/solid/start-basic/src/utils/posts.tsx +++ b/examples/solid/start-basic/src/utils/posts.tsx @@ -8,7 +8,7 @@ export type PostType = { body: string } -export const fetchPost = createServerFn({ method: 'GET', type: 'static' }) +export const fetchPost = createServerFn({ method: 'GET' }) .validator((d: string) => d) .handler(async ({ data }) => { console.info(`Fetching post with id ${data}...`) @@ -28,7 +28,6 @@ export const fetchPost = createServerFn({ method: 'GET', type: 'static' }) export const fetchPosts = createServerFn({ method: 'GET', - type: 'static', }).handler(async () => { console.info('Fetching posts...') return axios diff --git a/package.json b/package.json index 4c12abb39ee..5c1145ffd53 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,8 @@ "@tanstack/eslint-plugin-router": "workspace:*", "@tanstack/server-functions-plugin": "workspace:*", "@tanstack/directive-functions-plugin": "workspace:*", - "@tanstack/router-utils": "workspace:*" + "@tanstack/router-utils": "workspace:*", + "@tanstack/start-static-server-functions": "workspace:*" } } } diff --git a/packages/start-client-core/src/createServerFn.ts b/packages/start-client-core/src/createServerFn.ts index c7e52f075b6..0c962c11fb1 100644 --- a/packages/start-client-core/src/createServerFn.ts +++ b/packages/start-client-core/src/createServerFn.ts @@ -170,59 +170,14 @@ export function createServerFn< signal, } - const run = () => - executeMiddleware(resolvedMiddleware, 'server', ctx).then( - (d) => ({ - // Only send the result and sendContext back to the client - result: d.result, - error: d.error, - context: d.sendContext, - }), - ) - - if (ctx.type === 'static') { - let response: StaticCachedResult | undefined - - // If we can get the cached item, try to get it - if (serverFnStaticCache?.getItem) { - // If this throws, it's okay to let it bubble up - response = await serverFnStaticCache.getItem(ctx) - } - - if (!response) { - // If there's no cached item, execute the server function - response = await run() - .then((d) => { - return { - ctx: d, - error: null, - } - }) - .catch((e) => { - return { - ctx: undefined, - error: e, - } - }) - - if (serverFnStaticCache?.setItem) { - await serverFnStaticCache.setItem(ctx, response) - } - } - - invariant( - response, - 'No response from both server and static cache!', - ) - - if (response.error) { - throw response.error - } - - return response.ctx - } - - return run() + return executeMiddleware(resolvedMiddleware, 'server', ctx).then( + (d) => ({ + // Only send the result and sendContext back to the client + result: d.result, + error: d.error, + context: d.sendContext, + }), + ) }, }, ) as any @@ -633,176 +588,6 @@ export interface ServerFnBuilder< > } -export type StaticCachedResult = { - ctx?: { - result: any - context: any - } - error?: any -} - -export type ServerFnStaticCache = { - getItem: ( - ctx: ServerFnMiddlewareResult, - ) => StaticCachedResult | Promise - setItem: ( - ctx: ServerFnMiddlewareResult, - response: StaticCachedResult, - ) => Promise - fetchItem: ( - ctx: ServerFnMiddlewareResult, - ) => StaticCachedResult | Promise -} - -export let serverFnStaticCache: ServerFnStaticCache | undefined - -export function setServerFnStaticCache( - cache?: ServerFnStaticCache | (() => ServerFnStaticCache | undefined), -) { - const previousCache = serverFnStaticCache - serverFnStaticCache = typeof cache === 'function' ? cache() : cache - - return () => { - serverFnStaticCache = previousCache - } -} - -export function createServerFnStaticCache( - serverFnStaticCache: ServerFnStaticCache, -) { - return serverFnStaticCache -} - -/** - * This is a simple hash function for generating a hash from a string to make the filenames shorter. - * - * It is not cryptographically secure (as its using SHA-1) and should not be used for any security purposes. - * - * It is only used to generate a hash for the static cache filenames. - * - * @param message - The input string to hash. - * @returns A promise that resolves to the SHA-1 hash of the input string in hexadecimal format. - * - * @example - * ```typescript - * const hash = await sha1Hash("hello"); - * console.log(hash); // Outputs the SHA-1 hash of "hello" -> "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d" - * ``` - */ -async function sha1Hash(message: string): Promise { - // Encode the string as UTF-8 - const msgBuffer = new TextEncoder().encode(message) - - // Hash the message - const hashBuffer = await crypto.subtle.digest('SHA-1', msgBuffer) - - // Convert the ArrayBuffer to a string - const hashArray = Array.from(new Uint8Array(hashBuffer)) - const hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('') - return hashHex -} - -setServerFnStaticCache(() => { - const getStaticCacheUrl = async ( - options: ServerFnMiddlewareResult, - hash: string, - ) => { - const filename = await sha1Hash(`${options.functionId}__${hash}`) - return `/__tsr/staticServerFnCache/${filename}.json` - } - - const jsonToFilenameSafeString = (json: any) => { - // Custom replacer to sort keys - const sortedKeysReplacer = (key: string, value: any) => - value && typeof value === 'object' && !Array.isArray(value) - ? Object.keys(value) - .sort() - .reduce((acc: any, curr: string) => { - acc[curr] = value[curr] - return acc - }, {}) - : value - - // Convert JSON to string with sorted keys - const jsonString = JSON.stringify(json ?? '', sortedKeysReplacer) - - // Replace characters invalid in filenames - return jsonString - .replace(/[/\\?%*:|"<>]/g, '-') // Replace invalid characters with a dash - .replace(/\s+/g, '_') // Optionally replace whitespace with underscores - } - - const staticClientCache = - typeof document !== 'undefined' ? new Map() : null - - return createServerFnStaticCache({ - getItem: async (ctx) => { - if (typeof document === 'undefined') { - const hash = jsonToFilenameSafeString(ctx.data) - const url = await getStaticCacheUrl(ctx, hash) - const publicUrl = process.env.TSS_OUTPUT_PUBLIC_DIR! - - // Use fs instead of fetch to read from filesystem - const { promises: fs } = await import('node:fs') - const path = await import('node:path') - const filePath = path.join(publicUrl, url) - - const [cachedResult, readError] = await fs - .readFile(filePath, 'utf-8') - .then((c) => [ - startSerializer.parse(c) as { - ctx: unknown - error: any - }, - null, - ]) - .catch((e) => [null, e]) - - if (readError && readError.code !== 'ENOENT') { - throw readError - } - - return cachedResult as StaticCachedResult - } - - return undefined - }, - setItem: async (ctx, response) => { - const { promises: fs } = await import('node:fs') - const path = await import('node:path') - - const hash = jsonToFilenameSafeString(ctx.data) - const url = await getStaticCacheUrl(ctx, hash) - const publicUrl = process.env.TSS_OUTPUT_PUBLIC_DIR! - const filePath = path.join(publicUrl, url) - - // Ensure the directory exists - await fs.mkdir(path.dirname(filePath), { recursive: true }) - - // Store the result with fs - await fs.writeFile(filePath, startSerializer.stringify(response)) - }, - fetchItem: async (ctx) => { - const hash = jsonToFilenameSafeString(ctx.data) - const url = await getStaticCacheUrl(ctx, hash) - - let result: any = staticClientCache?.get(url) - - if (!result) { - result = await fetch(url, { - method: 'GET', - }) - .then((r) => r.text()) - .then((d) => startSerializer.parse(d)) - - staticClientCache?.set(url, result) - } - - return result - }, - }) -}) - export function extractFormDataContext(formData: FormData) { const serializedContext = formData.get('__TSR_CONTEXT') formData.delete('__TSR_CONTEXT') @@ -960,32 +745,6 @@ export function serverFnBaseToMiddleware( type: typeof ctx.type === 'function' ? ctx.type(ctx) : ctx.type, } as any - if ( - ctx.type === 'static' && - process.env.NODE_ENV === 'production' && - typeof document !== 'undefined' - ) { - invariant( - serverFnStaticCache, - 'serverFnStaticCache.fetchItem is not available!', - ) - - const result = await serverFnStaticCache.fetchItem(payload) - - if (result) { - if (result.error) { - throw result.error - } - - return next(result.ctx) - } - - warning( - result, - `No static cache item found for ${payload.functionId}__${JSON.stringify(payload.data)}, falling back to server function...`, - ) - } - // Execute the extracted function // but not before serializing the context const res = await options.extractedFn?.(payload) diff --git a/packages/start-client-core/src/index.tsx b/packages/start-client-core/src/index.tsx index 095cb27d3bd..b5888e5d7a2 100644 --- a/packages/start-client-core/src/index.tsx +++ b/packages/start-client-core/src/index.tsx @@ -77,7 +77,6 @@ export type { ServerFnBaseOptions, NextFn, Method, - StaticCachedResult, OptionalFetcher, RequiredFetcher, } from './createServerFn' @@ -87,6 +86,5 @@ export { serverFnBaseToMiddleware, extractFormDataContext, flattenMiddlewares, - serverFnStaticCache, executeMiddleware, } from './createServerFn' diff --git a/packages/start-static-server-functions/eslint.config.js b/packages/start-static-server-functions/eslint.config.js new file mode 100644 index 00000000000..bd7118fa1a8 --- /dev/null +++ b/packages/start-static-server-functions/eslint.config.js @@ -0,0 +1,20 @@ +// @ts-check + +import rootConfig from '../../eslint.config.js' + +export default [ + ...rootConfig, + { + files: ['**/*.{ts,tsx}'], + }, + { + plugins: {}, + rules: {}, + }, + { + files: ['**/__tests__/**'], + rules: { + '@typescript-eslint/no-unnecessary-condition': 'off', + }, + }, +] diff --git a/packages/start-static-server-functions/package.json b/packages/start-static-server-functions/package.json new file mode 100644 index 00000000000..b209fb4859a --- /dev/null +++ b/packages/start-static-server-functions/package.json @@ -0,0 +1,64 @@ +{ + "name": "@tanstack/start-static-server-functions", + "version": "1.130.12", + "description": "Modern and scalable routing for React applications", + "author": "Tanner Linsley", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/TanStack/router.git", + "directory": "packages/start-static-server-functions" + }, + "homepage": "https://tanstack.com/start", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "keywords": [ + "react", + "location", + "router", + "routing", + "async", + "async router", + "typescript" + ], + "scripts": { + "clean": "rimraf ./dist && rimraf ./coverage", + "test": "pnpm test:eslint && pnpm test:types && pnpm test:build && pnpm test:unit", + "test:unit": "exit 0; vitest", + "test:unit:dev": "vitest --watch", + "test:eslint": "eslint ./src", + "test:types": "pnpm run \"/^test:types:ts[0-9]{2}$/\"", + "test:types:ts54": "node ../../node_modules/typescript54/lib/tsc.js", + "test:types:ts55": "node ../../node_modules/typescript55/lib/tsc.js", + "test:types:ts56": "node ../../node_modules/typescript56/lib/tsc.js", + "test:types:ts57": "node ../../node_modules/typescript57/lib/tsc.js", + "test:types:ts58": "node ../../node_modules/typescript58/lib/tsc.js", + "test:types:ts59": "tsc", + "test:build": "publint --strict && attw --ignore-rules no-resolution --pack .", + "build": "vite build" + }, + "type": "module", + "types": "dist/esm/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + } + }, + "./package.json": "./package.json" + }, + "sideEffects": false, + "files": [ + "dist", + "src" + ], + "engines": { + "node": ">=12" + }, + "dependencies": { + "@tanstack/start-client-core": "workspace:*" + } +} diff --git a/packages/start-static-server-functions/src/index.ts b/packages/start-static-server-functions/src/index.ts new file mode 100644 index 00000000000..2b8382fe971 --- /dev/null +++ b/packages/start-static-server-functions/src/index.ts @@ -0,0 +1 @@ +export { staticFunctionMiddleware } from './staticFunctionMiddleware' diff --git a/packages/start-static-server-functions/src/staticFunctionMiddleware.ts b/packages/start-static-server-functions/src/staticFunctionMiddleware.ts new file mode 100644 index 00000000000..618284f4573 --- /dev/null +++ b/packages/start-static-server-functions/src/staticFunctionMiddleware.ts @@ -0,0 +1,185 @@ +import { createMiddleware, startSerializer } from '@tanstack/start-client-core' + +type StaticCachedResult = { + result: any + context: any +} + +type ServerFnStaticCache = { + getItem: (opts: { + functionId: string + data: any + }) => StaticCachedResult | Promise + setItem: (opts: { + functionId: string + data: any + response: StaticCachedResult + }) => Promise +} + +/** + * This is a simple hash function for generating a hash from a string to make the filenames shorter. + * + * It is not cryptographically secure (as its using SHA-1) and should not be used for any security purposes. + * + * It is only used to generate a hash for the static cache filenames. + * + * @param message - The input string to hash. + * @returns A promise that resolves to the SHA-1 hash of the input string in hexadecimal format. + * + * @example + * ```typescript + * const hash = await sha1Hash("hello"); + * console.log(hash); // Outputs the SHA-1 hash of "hello" -> "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d" + * ``` + */ +async function sha1Hash(message: string): Promise { + // Encode the string as UTF-8 + const msgBuffer = new TextEncoder().encode(message) + + // Hash the message + const hashBuffer = await crypto.subtle.digest('SHA-1', msgBuffer) + + // Convert the ArrayBuffer to a string + const hashArray = Array.from(new Uint8Array(hashBuffer)) + const hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('') + return hashHex +} + +const getStaticCacheUrl = async (opts: { + functionId: string + hash: string +}) => { + const filename = await sha1Hash(`${opts.functionId}__${opts.hash}`) + return `/__tsr/staticServerFnCache/${filename}.json` +} + +const jsonToFilenameSafeString = (json: any) => { + // Custom replacer to sort keys + const sortedKeysReplacer = (key: string, value: any) => + value && typeof value === 'object' && !Array.isArray(value) + ? Object.keys(value) + .sort() + .reduce((acc: any, curr: string) => { + acc[curr] = value[curr] + return acc + }, {}) + : value + + // Convert JSON to string with sorted keys + const jsonString = JSON.stringify(json ?? '', sortedKeysReplacer) + + // Replace characters invalid in filenames + return jsonString + .replace(/[/\\?%*:|"<>]/g, '-') // Replace invalid characters with a dash + .replace(/\s+/g, '_') // Optionally replace whitespace with underscores +} + +const staticClientCache = + typeof document !== 'undefined' ? new Map() : null + +const serverFnStaticCache: ServerFnStaticCache = { + getItem: async (ctx) => { + if (typeof document === 'undefined') { + const hash = jsonToFilenameSafeString(ctx.data) + const url = await getStaticCacheUrl({ functionId: ctx.functionId, hash }) + const publicUrl = process.env.TSS_OUTPUT_PUBLIC_DIR! + + // Use fs instead of fetch to read from filesystem + const { promises: fs } = await import('node:fs') + const path = await import('node:path') + const filePath = path.join(publicUrl, url) + + const [cachedResult, readError] = await fs + .readFile(filePath, 'utf-8') + .then((c) => [startSerializer.parse(c) as unknown, null]) + .catch((e) => [null, e]) + + if (readError && readError.code !== 'ENOENT') { + throw readError + } + + return cachedResult as StaticCachedResult + } + + return undefined + }, + setItem: async ({ data, functionId, response }) => { + const { promises: fs } = await import('node:fs') + const path = await import('node:path') + + const hash = jsonToFilenameSafeString(data) + const url = await getStaticCacheUrl({ functionId, hash }) + const publicUrl = process.env.TSS_OUTPUT_PUBLIC_DIR! + const filePath = path.join(publicUrl, url) + + // Ensure the directory exists + await fs.mkdir(path.dirname(filePath), { recursive: true }) + + // Store the result with fs + await fs.writeFile( + filePath, + startSerializer.stringify({ + result: response.result, + context: response.context.sendContext, + }), + 'utf-8', + ) + }, +} + +const fetchItem = async ({ + data, + functionId, +}: { + data: any + functionId: string +}) => { + const hash = jsonToFilenameSafeString(data) + const url = await getStaticCacheUrl({ functionId, hash }) + + let result: any = staticClientCache?.get(url) + + result = await fetch(url, { + method: 'GET', + }) + .then((r) => r.text()) + .then((d) => startSerializer.parse(d)) + + return result +} + +export const staticFunctionMiddleware = createMiddleware({ type: 'function' }) + .client(async (ctx) => { + if ( + process.env.NODE_ENV === 'production' && + // do not run this during SSR on the server + typeof document !== 'undefined' + ) { + const response = await fetchItem({ + functionId: ctx.functionId, + data: ctx.data, + }) + + if (response) { + return { + result: response.result, + context: { ...(ctx as any).context, ...response.context }, + } as any + } + } + return ctx.next() + }) + .server(async (ctx) => { + const response = await ctx.next() + + if (process.env.NODE_ENV === 'production') { + await serverFnStaticCache.setItem({ + functionId: ctx.functionId, + response: { result: (response as any).result, context: ctx }, + data: ctx.data, + }) + } + + return response + }) diff --git a/packages/start-static-server-functions/tsconfig.json b/packages/start-static-server-functions/tsconfig.json new file mode 100644 index 00000000000..0a0fe1f18af --- /dev/null +++ b/packages/start-static-server-functions/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "jsx": "preserve", + "jsxImportSource": "solid-js", + "module": "esnext" + }, + "include": ["src", "vite.config.ts"] +} diff --git a/packages/start-static-server-functions/vite.config.ts b/packages/start-static-server-functions/vite.config.ts new file mode 100644 index 00000000000..532a6eed8d0 --- /dev/null +++ b/packages/start-static-server-functions/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig, mergeConfig } from 'vitest/config' +import { tanstackViteConfig } from '@tanstack/config/vite' +import packageJson from './package.json' + +const config = defineConfig({ + test: { + typecheck: { enabled: true }, + name: packageJson.name, + watch: false, + environment: 'jsdom', + }, +}) + +export default mergeConfig( + config, + tanstackViteConfig({ + srcDir: './src', + entry: './src/index.ts', + cjs: false, + }), +) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 074a9081e63..7a78a0b0d73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,6 +46,7 @@ overrides: '@tanstack/server-functions-plugin': workspace:* '@tanstack/directive-functions-plugin': workspace:* '@tanstack/router-utils': workspace:* + '@tanstack/start-static-server-functions': workspace:* importers: @@ -4980,6 +4981,9 @@ importers: '@tanstack/react-start': specifier: workspace:* version: link:../../../packages/react-start + '@tanstack/start-static-server-functions': + specifier: workspace:* + version: link:../../../packages/start-static-server-functions react: specifier: ^19.0.0 version: 19.0.0 @@ -6250,6 +6254,9 @@ importers: '@tanstack/solid-start': specifier: workspace:* version: link:../../../packages/solid-start + '@tanstack/start-static-server-functions': + specifier: workspace:* + version: link:../../../packages/start-static-server-functions redaxios: specifier: ^0.5.1 version: 0.5.1 @@ -7166,6 +7173,12 @@ importers: specifier: ^5.7.2 version: 5.8.2 + packages/start-static-server-functions: + dependencies: + '@tanstack/start-client-core': + specifier: workspace:* + version: link:../start-client-core + packages/start-storage-context: dependencies: '@tanstack/router-core': diff --git a/scripts/publish.js b/scripts/publish.js index 65b5659f122..d92c3620d7f 100644 --- a/scripts/publish.js +++ b/scripts/publish.js @@ -140,6 +140,10 @@ await publish({ name: '@tanstack/start-plugin-core', packageDir: 'packages/start-plugin-core', }, + { + name: '@tanstack/start-static-server-functions', + packageDir: 'packages/start-static-server-functions', + }, { name: '@tanstack/router-utils', packageDir: 'packages/router-utils', From 06e4c4ada21c91c39b51430b2bba017745aa98f2 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 026/271] fix comment --- packages/start-plugin-core/src/dev-server-plugin/plugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts index fc51f6c62ca..a0d87a48217 100644 --- a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts @@ -71,7 +71,7 @@ export function devServerPlugin(): PluginOption { // this request entry point must implement the `fetch` API as follows: /** * export default { - * async fetch(req: Request) => Promise + * fetch(req: Request): Promise * } */ const serverEntry = await serverEnv.runner.import( From 93da1a9a75ab7660e5811949df0b8a4a893fba45 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 00:41:01 +0200 Subject: [PATCH 027/271] update request/response methods --- .../start-server-core/src/request-response.ts | 27 ++++++++++++++----- packages/start-server-core/src/session.ts | 4 +-- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/packages/start-server-core/src/request-response.ts b/packages/start-server-core/src/request-response.ts index 8180a15b148..0b62d702c17 100644 --- a/packages/start-server-core/src/request-response.ts +++ b/packages/start-server-core/src/request-response.ts @@ -44,6 +44,12 @@ function getH3Event() { return event.h3Event } +export function getRequest(): Request { + const event = getH3Event() + return event.req +} + +// not public API (yet) export function getValidatedQuery( schema: StandardSchemaV1, ): Promise> { @@ -55,7 +61,7 @@ export function getRequestHeaders(): TypedHeaders { return getH3Event().req.headers as any } -export function getRequestHeade(name: RequestHeaderName): string | undefined { +export function getRequestHeader(name: RequestHeaderName): string | undefined { return getRequestHeaders().get(name) || undefined } @@ -241,6 +247,13 @@ export function deleteCookie( h3.deleteCookie(event, name, options) } +function getDefaultSessionConfig(config: SessionConfig): SessionConfig { + return { + name: 'start', + ...config, + } +} + /** * Create a session manager for the current request. */ @@ -248,7 +261,7 @@ export function useSession( config: SessionConfig, ): Promise> { const event = getH3Event() - return h3.useSession(event, config) + return h3.useSession(event, getDefaultSessionConfig(config)) } /** * Get the session for the current request @@ -257,7 +270,7 @@ export function getSession( config: SessionConfig, ): Promise> { const event = getH3Event() - return h3.getSession(event, config) + return h3.getSession(event, getDefaultSessionConfig(config)) } /** @@ -268,7 +281,7 @@ export function updateSession( update?: SessionUpdate, ): Promise> { const event = getH3Event() - return h3.updateSession(event, config, update) + return h3.updateSession(event, getDefaultSessionConfig(config), update) } /** @@ -276,7 +289,7 @@ export function updateSession( */ export function sealSession(config: SessionConfig): Promise { const event = getH3Event() - return h3.sealSession(event, config) + return h3.sealSession(event, getDefaultSessionConfig(config)) } /** * Decrypt and verify the session data for the current request. @@ -286,7 +299,7 @@ export function unsealSession( sealed: string, ): Promise> { const event = getH3Event() - return h3.unsealSession(event, config, sealed) + return h3.unsealSession(event, getDefaultSessionConfig(config), sealed) } /** @@ -294,5 +307,5 @@ export function unsealSession( */ export function clearSession(config: Partial): Promise { const event = getH3Event() - return h3.clearSession(event, config) + return h3.clearSession(event, { name: 'start', ...config }) } diff --git a/packages/start-server-core/src/session.ts b/packages/start-server-core/src/session.ts index cae4a62b20f..8617cf8ae75 100644 --- a/packages/start-server-core/src/session.ts +++ b/packages/start-server-core/src/session.ts @@ -62,11 +62,11 @@ export interface SessionConfig { password: string /** Session expiration time in seconds */ maxAge?: number - /** default is h3 */ + /** default is 'start' */ name?: string /** Default is secure, httpOnly, / */ cookie?: false | CookieSerializeOptions - /** Default is x-h3-session / x-{name}-session */ + /** Default is x-start-session / x-{name}-session */ sessionHeader?: false | string seal?: SealOptions crypto?: Crypto From 5188b06dbb9f03f87e4eb70f988edfd2d4a6bca7 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 22:48:37 +0200 Subject: [PATCH 028/271] remove externals from client build config --- packages/start-plugin-core/src/plugin.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index f9a41a77660..a4d786863e8 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -194,8 +194,6 @@ export function TanStackStartVitePluginCore( input: { main: ENTRY_POINTS.client, }, - // TODO: this should be removed - external: ['node:fs', 'node:path', 'node:os', 'node:crypto'], }, outDir: getClientOutputDirectory(viteConfig), }, From e078c8a443cf53b612be677a7d9b33eab548d6fc Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 22:48:37 +0200 Subject: [PATCH 029/271] bump vite --- .../package.json | 2 +- .../basic-file-based/package.json | 2 +- .../basic-react-query-file-based/package.json | 2 +- .../basic-react-query/package.json | 2 +- .../basic-scroll-restoration/package.json | 2 +- .../basic-virtual-file-based/package.json | 2 +- .../package.json | 2 +- e2e/react-router/basic/package.json | 2 +- .../generator-cli-only/package.json | 2 +- .../js-only-file-based/package.json | 2 +- .../package.json | 2 +- .../sentry-integration/package.json | 2 +- e2e/react-start/basic-auth/package.json | 2 +- .../basic-react-query/package.json | 2 +- e2e/react-start/basic-rsc/package.json | 2 +- e2e/react-start/basic-tsr-config/package.json | 2 +- e2e/react-start/basic/package.json | 8 +- .../clerk-basic/package.disabled.json | 2 +- e2e/react-start/custom-basepath/package.json | 2 +- .../scroll-restoration/package.json | 2 +- e2e/react-start/selective-ssr/package.json | 2 +- e2e/react-start/server-functions/package.json | 2 +- e2e/react-start/server-routes/package.json | 2 +- e2e/react-start/spa-mode/package.json | 2 +- e2e/react-start/virtual-routes/package.json | 2 +- e2e/react-start/website/package.json | 2 +- .../package.json | 2 +- .../basic-file-based/package.json | 2 +- .../basic-scroll-restoration/package.json | 2 +- .../basic-solid-query-file-based/package.json | 2 +- .../basic-solid-query/package.json | 2 +- .../basic-virtual-file-based/package.json | 2 +- .../package.json | 2 +- e2e/solid-router/basic/package.json | 2 +- .../package.json | 2 +- e2e/solid-start/basic-tsr-config/package.json | 2 +- e2e/solid-start/basic/package.json | 2 +- e2e/solid-start/custom-basepath/package.json | 2 +- .../scroll-restoration/package.json | 2 +- e2e/solid-start/selective-ssr/package.json | 2 +- e2e/solid-start/server-functions/package.json | 2 +- e2e/solid-start/server-routes/package.json | 2 +- e2e/solid-start/spa-mode/package.json | 2 +- e2e/solid-start/website/package.json | 2 +- .../package.json | 2 +- .../react/authenticated-routes/package.json | 2 +- .../basic-default-search-params/package.json | 2 +- .../react/basic-devtools-panel/package.json | 2 +- examples/react/basic-file-based/package.json | 2 +- .../basic-non-nested-devtools/package.json | 2 +- .../basic-react-query-file-based/package.json | 2 +- examples/react/basic-react-query/package.json | 2 +- .../react/basic-ssr-file-based/package.json | 2 +- .../package.json | 2 +- .../basic-virtual-file-based/package.json | 2 +- .../package.json | 2 +- examples/react/basic/package.json | 2 +- examples/react/deferred-data/package.json | 2 +- .../kitchen-sink-file-based/package.json | 2 +- .../package.json | 2 +- .../kitchen-sink-react-query/package.json | 2 +- examples/react/kitchen-sink/package.json | 2 +- examples/react/large-file-based/package.json | 2 +- examples/react/location-masking/package.json | 2 +- .../react/navigation-blocking/package.json | 2 +- .../react/quickstart-file-based/package.json | 2 +- examples/react/quickstart/package.json | 2 +- .../router-monorepo-react-query/package.json | 2 +- .../packages/app/package.json | 2 +- .../packages/post-feature/package.json | 2 +- .../packages/post-query/package.json | 2 +- .../packages/router/package.json | 2 +- .../router-monorepo-simple-lazy/package.json | 2 +- .../packages/app/package.json | 2 +- .../packages/post-feature/package.json | 2 +- .../packages/router/package.json | 2 +- .../react/router-monorepo-simple/package.json | 2 +- .../packages/app/package.json | 2 +- .../packages/post-feature/package.json | 2 +- .../packages/router/package.json | 2 +- .../react/scroll-restoration/package.json | 2 +- .../search-validator-adapters/package.json | 2 +- examples/react/start-bare/package.json | 2 +- examples/react/start-basic-auth/package.json | 2 +- .../start-basic-react-query/package.json | 2 +- examples/react/start-basic-rsc/package.json | 2 +- .../react/start-basic-static/package.json | 2 +- examples/react/start-basic/package.json | 2 +- examples/react/start-clerk-basic/package.json | 2 +- .../react/start-convex-trellaux/package.json | 2 +- examples/react/start-counter/package.json | 2 +- examples/react/start-large/package.json | 2 +- examples/react/start-material-ui/package.json | 2 +- .../react/start-supabase-basic/package.json | 2 +- examples/react/start-tailwind-v4/package.json | 2 +- examples/react/start-trellaux/package.json | 2 +- examples/react/start-workos/package.json | 2 +- examples/react/view-transitions/package.json | 2 +- .../react/with-framer-motion/package.json | 2 +- .../react/with-trpc-react-query/package.json | 2 +- examples/react/with-trpc/package.json | 2 +- .../solid/basic-devtools-panel/package.json | 2 +- examples/solid/basic-file-based/package.json | 2 +- .../basic-non-nested-devtools/package.json | 2 +- .../basic-solid-query-file-based/package.json | 2 +- examples/solid/basic-solid-query/package.json | 2 +- .../package.json | 2 +- examples/solid/basic/package.json | 2 +- .../kitchen-sink-file-based/package.json | 2 +- .../solid/quickstart-file-based/package.json | 2 +- examples/solid/start-bare/package.json | 2 +- .../solid/start-basic-static/package.json | 2 +- examples/solid/start-basic/package.json | 2 +- package.json | 2 +- .../directive-functions-plugin/package.json | 2 +- packages/solid-start/package.json | 2 +- packages/start-plugin-core/package.json | 2 +- packages/start-server-core/package.json | 2 +- pnpm-lock.yaml | 924 +++++++++--------- 119 files changed, 583 insertions(+), 583 deletions(-) diff --git a/e2e/react-router/basic-file-based-code-splitting/package.json b/e2e/react-router/basic-file-based-code-splitting/package.json index 4f9dfed627f..f6b16f53d81 100644 --- a/e2e/react-router/basic-file-based-code-splitting/package.json +++ b/e2e/react-router/basic-file-based-code-splitting/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/basic-file-based/package.json b/e2e/react-router/basic-file-based/package.json index 8179110ae39..4b528e0735c 100644 --- a/e2e/react-router/basic-file-based/package.json +++ b/e2e/react-router/basic-file-based/package.json @@ -30,6 +30,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "combinate": "^1.1.11", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/basic-react-query-file-based/package.json b/e2e/react-router/basic-react-query-file-based/package.json index 536ffda03e7..07f8813421a 100644 --- a/e2e/react-router/basic-react-query-file-based/package.json +++ b/e2e/react-router/basic-react-query-file-based/package.json @@ -30,6 +30,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/basic-react-query/package.json b/e2e/react-router/basic-react-query/package.json index a21b735704f..e3e11f23832 100644 --- a/e2e/react-router/basic-react-query/package.json +++ b/e2e/react-router/basic-react-query/package.json @@ -28,6 +28,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/basic-scroll-restoration/package.json b/e2e/react-router/basic-scroll-restoration/package.json index bae1bf01149..e84569ebb3e 100644 --- a/e2e/react-router/basic-scroll-restoration/package.json +++ b/e2e/react-router/basic-scroll-restoration/package.json @@ -27,6 +27,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/basic-virtual-file-based/package.json b/e2e/react-router/basic-virtual-file-based/package.json index 76528f919f8..49e8a3fe1ac 100644 --- a/e2e/react-router/basic-virtual-file-based/package.json +++ b/e2e/react-router/basic-virtual-file-based/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/basic-virtual-named-export-config-file-based/package.json b/e2e/react-router/basic-virtual-named-export-config-file-based/package.json index 32dde2537c5..74d013545fa 100644 --- a/e2e/react-router/basic-virtual-named-export-config-file-based/package.json +++ b/e2e/react-router/basic-virtual-named-export-config-file-based/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/basic/package.json b/e2e/react-router/basic/package.json index 77b551303d2..0cb559c6b99 100644 --- a/e2e/react-router/basic/package.json +++ b/e2e/react-router/basic/package.json @@ -26,6 +26,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/generator-cli-only/package.json b/e2e/react-router/generator-cli-only/package.json index 2abf044f34e..08f90293f34 100644 --- a/e2e/react-router/generator-cli-only/package.json +++ b/e2e/react-router/generator-cli-only/package.json @@ -27,6 +27,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/js-only-file-based/package.json b/e2e/react-router/js-only-file-based/package.json index e940b16cf22..46a351989dd 100644 --- a/e2e/react-router/js-only-file-based/package.json +++ b/e2e/react-router/js-only-file-based/package.json @@ -27,6 +27,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/scroll-restoration-sandbox-vite/package.json b/e2e/react-router/scroll-restoration-sandbox-vite/package.json index 5dd548c59bb..8469b9a79c6 100644 --- a/e2e/react-router/scroll-restoration-sandbox-vite/package.json +++ b/e2e/react-router/scroll-restoration-sandbox-vite/package.json @@ -32,6 +32,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-router/sentry-integration/package.json b/e2e/react-router/sentry-integration/package.json index 9acdf2a66a7..44fa594fa05 100644 --- a/e2e/react-router/sentry-integration/package.json +++ b/e2e/react-router/sentry-integration/package.json @@ -29,6 +29,6 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/react-start/basic-auth/package.json b/e2e/react-start/basic-auth/package.json index ef5c97d77d2..4578e784a35 100644 --- a/e2e/react-start/basic-auth/package.json +++ b/e2e/react-start/basic-auth/package.json @@ -21,7 +21,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "devDependencies": { "@playwright/test": "^1.50.1", diff --git a/e2e/react-start/basic-react-query/package.json b/e2e/react-start/basic-react-query/package.json index 2d719430a3d..d502f94a492 100644 --- a/e2e/react-start/basic-react-query/package.json +++ b/e2e/react-start/basic-react-query/package.json @@ -21,7 +21,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "devDependencies": { "@playwright/test": "^1.50.1", diff --git a/e2e/react-start/basic-rsc/package.json b/e2e/react-start/basic-rsc/package.json index a9905391052..30ac070db2b 100644 --- a/e2e/react-start/basic-rsc/package.json +++ b/e2e/react-start/basic-rsc/package.json @@ -17,7 +17,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "devDependencies": { "@types/react": "^19.0.8", diff --git a/e2e/react-start/basic-tsr-config/package.json b/e2e/react-start/basic-tsr-config/package.json index 280772b8217..8317b816a28 100644 --- a/e2e/react-start/basic-tsr-config/package.json +++ b/e2e/react-start/basic-tsr-config/package.json @@ -15,7 +15,7 @@ "@tanstack/react-start": "workspace:^", "react": "^19.0.0", "react-dom": "^19.0.0", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", diff --git a/e2e/react-start/basic/package.json b/e2e/react-start/basic/package.json index 57309b87a44..fab4660f9be 100644 --- a/e2e/react-start/basic/package.json +++ b/e2e/react-start/basic/package.json @@ -17,9 +17,7 @@ "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", - "tailwind-merge": "^2.6.0", - "vite": "6.3.5", - "zod": "^3.24.2" + "tailwind-merge": "^2.6.0" }, "devDependencies": { "@playwright/test": "^1.50.1", @@ -33,6 +31,8 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite-tsconfig-paths": "^5.1.4" + "vite": "^7.1.1", + "vite-tsconfig-paths": "^5.1.4", + "zod": "^3.24.2" } } diff --git a/e2e/react-start/clerk-basic/package.disabled.json b/e2e/react-start/clerk-basic/package.disabled.json index e7c264af8a1..fdb8592eb39 100644 --- a/e2e/react-start/clerk-basic/package.disabled.json +++ b/e2e/react-start/clerk-basic/package.disabled.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "devDependencies": { "@playwright/test": "^1.50.1", diff --git a/e2e/react-start/custom-basepath/package.json b/e2e/react-start/custom-basepath/package.json index ef1a13b2c68..9afca239b3f 100644 --- a/e2e/react-start/custom-basepath/package.json +++ b/e2e/react-start/custom-basepath/package.json @@ -18,7 +18,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "6.3.5", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/scroll-restoration/package.json b/e2e/react-start/scroll-restoration/package.json index dc7dd817173..1f476178cea 100644 --- a/e2e/react-start/scroll-restoration/package.json +++ b/e2e/react-start/scroll-restoration/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/selective-ssr/package.json b/e2e/react-start/selective-ssr/package.json index 3954f25f235..c86afc5a098 100644 --- a/e2e/react-start/selective-ssr/package.json +++ b/e2e/react-start/selective-ssr/package.json @@ -16,7 +16,7 @@ "@tanstack/react-start": "workspace:^", "react": "^19.0.0", "react-dom": "^19.0.0", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4", "zod": "^3.24.2" }, diff --git a/e2e/react-start/server-functions/package.json b/e2e/react-start/server-functions/package.json index 98d12c4dd51..b34b560bba1 100644 --- a/e2e/react-start/server-functions/package.json +++ b/e2e/react-start/server-functions/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/server-routes/package.json b/e2e/react-start/server-routes/package.json index d6b94a5548c..c9755100c19 100644 --- a/e2e/react-start/server-routes/package.json +++ b/e2e/react-start/server-routes/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/spa-mode/package.json b/e2e/react-start/spa-mode/package.json index f50a9d44dc1..589c3cc366a 100644 --- a/e2e/react-start/spa-mode/package.json +++ b/e2e/react-start/spa-mode/package.json @@ -25,7 +25,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/react-start/virtual-routes/package.json b/e2e/react-start/virtual-routes/package.json index 47130377926..5fddf36b241 100644 --- a/e2e/react-start/virtual-routes/package.json +++ b/e2e/react-start/virtual-routes/package.json @@ -19,7 +19,7 @@ "react-dom": "^19.0.0", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", - "vite": "^7.0.6", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/react-start/website/package.json b/e2e/react-start/website/package.json index ec0c24dcf0a..74b631c573a 100644 --- a/e2e/react-start/website/package.json +++ b/e2e/react-start/website/package.json @@ -31,7 +31,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-router/basic-file-based-code-splitting/package.json b/e2e/solid-router/basic-file-based-code-splitting/package.json index 8182224e716..05739aa9c5a 100644 --- a/e2e/solid-router/basic-file-based-code-splitting/package.json +++ b/e2e/solid-router/basic-file-based-code-splitting/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/e2e/solid-router/basic-file-based/package.json b/e2e/solid-router/basic-file-based/package.json index 1ecfcb862d2..f3a3019b46c 100644 --- a/e2e/solid-router/basic-file-based/package.json +++ b/e2e/solid-router/basic-file-based/package.json @@ -27,6 +27,6 @@ "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", "combinate": "^1.1.11", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-router/basic-scroll-restoration/package.json b/e2e/solid-router/basic-scroll-restoration/package.json index 55ba3e52e00..b1eef167025 100644 --- a/e2e/solid-router/basic-scroll-restoration/package.json +++ b/e2e/solid-router/basic-scroll-restoration/package.json @@ -24,6 +24,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-router/basic-solid-query-file-based/package.json b/e2e/solid-router/basic-solid-query-file-based/package.json index 7ef9e580c7d..2d9ccafe208 100644 --- a/e2e/solid-router/basic-solid-query-file-based/package.json +++ b/e2e/solid-router/basic-solid-query-file-based/package.json @@ -27,6 +27,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-router/basic-solid-query/package.json b/e2e/solid-router/basic-solid-query/package.json index 695ebfb1af1..4a1346f52ee 100644 --- a/e2e/solid-router/basic-solid-query/package.json +++ b/e2e/solid-router/basic-solid-query/package.json @@ -25,6 +25,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-router/basic-virtual-file-based/package.json b/e2e/solid-router/basic-virtual-file-based/package.json index 63c3b46257f..3a19c7f6023 100644 --- a/e2e/solid-router/basic-virtual-file-based/package.json +++ b/e2e/solid-router/basic-virtual-file-based/package.json @@ -26,6 +26,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json b/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json index 28750d9b9bd..6f57ade84c2 100644 --- a/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json +++ b/e2e/solid-router/basic-virtual-named-export-config-file-based/package.json @@ -26,6 +26,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-router/basic/package.json b/e2e/solid-router/basic/package.json index e09f0e9e163..930f065ce8d 100644 --- a/e2e/solid-router/basic/package.json +++ b/e2e/solid-router/basic/package.json @@ -23,6 +23,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-router/scroll-restoration-sandbox-vite/package.json b/e2e/solid-router/scroll-restoration-sandbox-vite/package.json index c0e5ada9c7a..c39283cc584 100644 --- a/e2e/solid-router/scroll-restoration-sandbox-vite/package.json +++ b/e2e/solid-router/scroll-restoration-sandbox-vite/package.json @@ -29,6 +29,6 @@ "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", "vite-plugin-solid": "^2.11.8", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/e2e/solid-start/basic-tsr-config/package.json b/e2e/solid-start/basic-tsr-config/package.json index 97d12fa5ba0..1fb0a942843 100644 --- a/e2e/solid-start/basic-tsr-config/package.json +++ b/e2e/solid-start/basic-tsr-config/package.json @@ -15,7 +15,7 @@ "@tanstack/solid-router-devtools": "workspace:^", "@tanstack/solid-start": "workspace:^", "solid-js": "^1.9.5", - "vite": "6.3.5" + "vite": "^7.1.1" }, "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", diff --git a/e2e/solid-start/basic/package.json b/e2e/solid-start/basic/package.json index 2f964d09ba4..62d6049ab77 100644 --- a/e2e/solid-start/basic/package.json +++ b/e2e/solid-start/basic/package.json @@ -17,7 +17,7 @@ "redaxios": "^0.5.1", "solid-js": "^1.9.5", "tailwind-merge": "^2.6.0", - "vite": "6.3.5", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/solid-start/custom-basepath/package.json b/e2e/solid-start/custom-basepath/package.json index ec336fc9f2f..10f3e221a13 100644 --- a/e2e/solid-start/custom-basepath/package.json +++ b/e2e/solid-start/custom-basepath/package.json @@ -17,7 +17,7 @@ "redaxios": "^0.5.1", "solid-js": "^1.9.5", "tailwind-merge": "^2.6.0", - "vite": "6.3.5", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/solid-start/scroll-restoration/package.json b/e2e/solid-start/scroll-restoration/package.json index 571a706bd08..5cc61329a07 100644 --- a/e2e/solid-start/scroll-restoration/package.json +++ b/e2e/solid-start/scroll-restoration/package.json @@ -18,7 +18,7 @@ "redaxios": "^0.5.1", "solid-js": "^1.9.5", "tailwind-merge": "^2.6.0", - "vite": "6.3.5", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/solid-start/selective-ssr/package.json b/e2e/solid-start/selective-ssr/package.json index 749e25af0ea..140d98ca4b4 100644 --- a/e2e/solid-start/selective-ssr/package.json +++ b/e2e/solid-start/selective-ssr/package.json @@ -21,7 +21,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/server-functions/package.json b/e2e/solid-start/server-functions/package.json index 499107a0033..3b1b7d220e7 100644 --- a/e2e/solid-start/server-functions/package.json +++ b/e2e/solid-start/server-functions/package.json @@ -18,7 +18,7 @@ "redaxios": "^0.5.1", "solid-js": "^1.9.5", "tailwind-merge": "^2.6.0", - "vite": "6.3.5", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/solid-start/server-routes/package.json b/e2e/solid-start/server-routes/package.json index b83fedeb801..edbc4ab6487 100644 --- a/e2e/solid-start/server-routes/package.json +++ b/e2e/solid-start/server-routes/package.json @@ -18,7 +18,7 @@ "redaxios": "^0.5.1", "solid-js": "^1.9.5", "tailwind-merge": "^2.6.0", - "vite": "6.3.5", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/e2e/solid-start/spa-mode/package.json b/e2e/solid-start/spa-mode/package.json index f2764e10032..4db03c13d9b 100644 --- a/e2e/solid-start/spa-mode/package.json +++ b/e2e/solid-start/spa-mode/package.json @@ -22,7 +22,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/website/package.json b/e2e/solid-start/website/package.json index b2c1a92b2df..20b6bf1302c 100644 --- a/e2e/solid-start/website/package.json +++ b/e2e/solid-start/website/package.json @@ -17,7 +17,7 @@ "redaxios": "^0.5.1", "solid-js": "^1.9.5", "tailwind-merge": "^2.6.0", - "vite": "6.3.5", + "vite": "^7.1.1", "zod": "^3.24.2" }, "devDependencies": { diff --git a/examples/react/authenticated-routes-firebase/package.json b/examples/react/authenticated-routes-firebase/package.json index 2899dab73ee..ce31b60b14c 100644 --- a/examples/react/authenticated-routes-firebase/package.json +++ b/examples/react/authenticated-routes-firebase/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index 056c5c3a0d2..0270d4000d3 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index 59bfcf396f5..17fe549a268 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-devtools-panel/package.json b/examples/react/basic-devtools-panel/package.json index 2f85275e600..4aeeeaba335 100644 --- a/examples/react/basic-devtools-panel/package.json +++ b/examples/react/basic-devtools-panel/package.json @@ -24,6 +24,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index 310e8cd853c..8aef991adc9 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-non-nested-devtools/package.json b/examples/react/basic-non-nested-devtools/package.json index baa472caa3f..3280333ddab 100644 --- a/examples/react/basic-non-nested-devtools/package.json +++ b/examples/react/basic-non-nested-devtools/package.json @@ -23,6 +23,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 59600e77565..9a13d4bdcc4 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index 4241deb605d..331521a39dc 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 0e06cd437cd..eac91212abc 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.1", "@vitejs/plugin-react": "^4.5.2", "typescript": "^5.8.3", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index 1b54cfb8f9c..ad33db87433 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.1", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-virtual-file-based/package.json b/examples/react/basic-virtual-file-based/package.json index 621b07809b3..c2fe4c0831a 100644 --- a/examples/react/basic-virtual-file-based/package.json +++ b/examples/react/basic-virtual-file-based/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index 5d18bec41d0..18f7e23f91f 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index babf1c5f473..f12a3e083dd 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -23,6 +23,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index 1f6e04cd323..44d6da1b016 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -24,6 +24,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index af7acf4a235..514fdb53076 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index acab1565507..bbce69f1d48 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -28,6 +28,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index 76a5a5a1759..a95ae3d4dec 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -27,6 +27,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index 41df3790013..468a90c322f 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index f577adac267..e22d8d5ed6d 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -28,6 +28,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 4464a0c0063..e2333ec5336 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index e809ba15ff7..b29834fdefc 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -24,6 +24,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index ead4af942f2..cba043e6201 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index 2e566abdc6f..72823a6b572 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -22,6 +22,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index 7e2ccda5202..8abd3b786b1 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -25,7 +25,7 @@ "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", "@vitejs/plugin-react": "^4.3.4", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" }, "keywords": [], diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index 65c1f135414..a7f2dd12acd 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -24,7 +24,7 @@ "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" }, "nx": { diff --git a/examples/react/router-monorepo-react-query/packages/post-feature/package.json b/examples/react/router-monorepo-react-query/packages/post-feature/package.json index 1117105e02c..fc6532deeb3 100644 --- a/examples/react/router-monorepo-react-query/packages/post-feature/package.json +++ b/examples/react/router-monorepo-react-query/packages/post-feature/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-react-query/packages/post-query/package.json b/examples/react/router-monorepo-react-query/packages/post-query/package.json index b8c50d8317f..89c813fc708 100644 --- a/examples/react/router-monorepo-react-query/packages/post-query/package.json +++ b/examples/react/router-monorepo-react-query/packages/post-query/package.json @@ -15,6 +15,6 @@ "devDependencies": { "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index 02629275697..9ee7c8c7611 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -23,7 +23,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple-lazy/package.json b/examples/react/router-monorepo-simple-lazy/package.json index 50e0a201f9f..23c5b16d1f7 100644 --- a/examples/react/router-monorepo-simple-lazy/package.json +++ b/examples/react/router-monorepo-simple-lazy/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" }, "keywords": [], diff --git a/examples/react/router-monorepo-simple-lazy/packages/app/package.json b/examples/react/router-monorepo-simple-lazy/packages/app/package.json index dc3ff8ff553..6e3300de346 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/app/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/app/package.json @@ -23,7 +23,7 @@ "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" }, "nx": { diff --git a/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json b/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json index 2d2977c7faa..b241c9403eb 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/post-feature/package.json @@ -26,7 +26,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple-lazy/packages/router/package.json b/examples/react/router-monorepo-simple-lazy/packages/router/package.json index 7342635d9cc..5134fa48fae 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/router/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/router/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 9177b45db0f..6d1e3927e12 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" }, "keywords": [], diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index 464e24a6221..353bcf9fa3b 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -20,7 +20,7 @@ "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", "@tanstack/react-router-devtools": "^1.130.17", - "vite": "^7.0.6", + "vite": "^7.1.1", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-simple/packages/post-feature/package.json b/examples/react/router-monorepo-simple/packages/post-feature/package.json index 83419dac399..eaeb4539ffc 100644 --- a/examples/react/router-monorepo-simple/packages/post-feature/package.json +++ b/examples/react/router-monorepo-simple/packages/post-feature/package.json @@ -17,7 +17,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index 37877c028e4..d81afdeb5cd 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -21,7 +21,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-dts": "^4.5.0" } } diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index ccec755268d..f6dba4a9768 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -23,6 +23,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index eeaca1b5aae..7a11ae382f3 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -33,6 +33,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/start-bare/package.json b/examples/react/start-bare/package.json index 5c14cedcabe..24612344135 100644 --- a/examples/react/start-bare/package.json +++ b/examples/react/start-bare/package.json @@ -22,7 +22,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index 181ac9d4ca7..737999da98d 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -29,7 +29,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index 81c935895a3..54c080a1a00 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -28,7 +28,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index 176957dd0e2..cb07e39434a 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -25,7 +25,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" }, "overrides": { diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index ce895979b80..7aae6d9b3f2 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -26,7 +26,7 @@ "postcss": "^8.4.49", "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.3" } } diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index 0bac0a9a2bf..5846379472e 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -26,7 +26,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index 1e2015c9083..10a5a8a6cf2 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -26,7 +26,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index 8c6687fd9e2..ebc1052eaf0 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -37,7 +37,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index 3f8b5141939..436542a38d4 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -21,6 +21,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/start-large/package.json b/examples/react/start-large/package.json index b8310cf9554..bdd876c6be0 100644 --- a/examples/react/start-large/package.json +++ b/examples/react/start-large/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" }, "keywords": [], diff --git a/examples/react/start-material-ui/package.json b/examples/react/start-material-ui/package.json index 08390568139..d2df0aec430 100644 --- a/examples/react/start-material-ui/package.json +++ b/examples/react/start-material-ui/package.json @@ -26,7 +26,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index eff24781b0f..acbf66903a8 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -29,7 +29,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-tailwind-v4/package.json b/examples/react/start-tailwind-v4/package.json index dedf46a20cf..b52839ada9a 100644 --- a/examples/react/start-tailwind-v4/package.json +++ b/examples/react/start-tailwind-v4/package.json @@ -24,7 +24,7 @@ "@types/react-dom": "^19.0.3", "tailwindcss": "^4.1.6", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index bfe9c204425..7946cdb3aee 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -32,7 +32,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.6.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/start-workos/package.json b/examples/react/start-workos/package.json index 8aefc43d85f..0ba384abbb1 100644 --- a/examples/react/start-workos/package.json +++ b/examples/react/start-workos/package.json @@ -30,7 +30,7 @@ "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/react/view-transitions/package.json b/examples/react/view-transitions/package.json index 9b005cc9577..803e1df16cb 100644 --- a/examples/react/view-transitions/package.json +++ b/examples/react/view-transitions/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index 54f664ef5a9..7b6ccf4ef68 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -25,6 +25,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index a8edc60fbf7..3319c86cd2c 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -33,6 +33,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "tsx": "^4.20.3", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index 914394c05fb..ddd24faf3f6 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -30,6 +30,6 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "tsx": "^4.20.3", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/solid/basic-devtools-panel/package.json b/examples/solid/basic-devtools-panel/package.json index e888399d405..155023b3394 100644 --- a/examples/solid/basic-devtools-panel/package.json +++ b/examples/solid/basic-devtools-panel/package.json @@ -20,6 +20,6 @@ "devDependencies": { "vite-plugin-solid": "^2.11.8", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/examples/solid/basic-file-based/package.json b/examples/solid/basic-file-based/package.json index 35c2afe10e2..76135830fdb 100644 --- a/examples/solid/basic-file-based/package.json +++ b/examples/solid/basic-file-based/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-non-nested-devtools/package.json b/examples/solid/basic-non-nested-devtools/package.json index 233a660b58d..f18fcf9bec4 100644 --- a/examples/solid/basic-non-nested-devtools/package.json +++ b/examples/solid/basic-non-nested-devtools/package.json @@ -21,7 +21,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-solid-query-file-based/package.json b/examples/solid/basic-solid-query-file-based/package.json index 14e5d32914f..0c1a30effd4 100644 --- a/examples/solid/basic-solid-query-file-based/package.json +++ b/examples/solid/basic-solid-query-file-based/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-solid-query/package.json b/examples/solid/basic-solid-query/package.json index c3a1dcc3395..73ac827e53b 100644 --- a/examples/solid/basic-solid-query/package.json +++ b/examples/solid/basic-solid-query/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index a96829d93b5..033596cdd78 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -28,7 +28,7 @@ "@tanstack/router-plugin": "^1.130.17", "@types/express": "^4.17.21", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json index 2ed3f445681..8a94b51e34b 100644 --- a/examples/solid/basic/package.json +++ b/examples/solid/basic/package.json @@ -21,7 +21,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/kitchen-sink-file-based/package.json b/examples/solid/kitchen-sink-file-based/package.json index d0665fcf45e..21203d34500 100644 --- a/examples/solid/kitchen-sink-file-based/package.json +++ b/examples/solid/kitchen-sink-file-based/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/quickstart-file-based/package.json b/examples/solid/quickstart-file-based/package.json index 0a1843a1b8a..42c04141aa9 100644 --- a/examples/solid/quickstart-file-based/package.json +++ b/examples/solid/quickstart-file-based/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@tanstack/router-plugin": "^1.130.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" } } diff --git a/examples/solid/start-bare/package.json b/examples/solid/start-bare/package.json index 49ef0844b69..a7e57431465 100644 --- a/examples/solid/start-bare/package.json +++ b/examples/solid/start-bare/package.json @@ -22,7 +22,7 @@ "vite-plugin-solid": "^2.11.8", "combinate": "^1.1.11", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index 5b04c1844a8..5ba171a97dc 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -23,7 +23,7 @@ "postcss": "^8.4.49", "tailwindcss": "^3.4.15", "typescript": "^5.6.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.3", "vite-plugin-solid": "^2.11.8" } diff --git a/examples/solid/start-basic/package.json b/examples/solid/start-basic/package.json index 054c9456f9f..d3623402d0d 100644 --- a/examples/solid/start-basic/package.json +++ b/examples/solid/start-basic/package.json @@ -22,7 +22,7 @@ "postcss": "^8.5.1", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", - "vite": "^7.0.6", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } diff --git a/package.json b/package.json index 5c1145ffd53..3d45dd4d0b1 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "typescript56": "npm:typescript@5.6", "typescript57": "npm:typescript@5.7", "typescript58": "npm:typescript@5.8", - "vite": "7.0.6", + "vite": "7.1.1", "vitest": "^3.0.6" }, "pnpm": { diff --git a/packages/directive-functions-plugin/package.json b/packages/directive-functions-plugin/package.json index a0a70024c39..fe36b6a1e18 100644 --- a/packages/directive-functions-plugin/package.json +++ b/packages/directive-functions-plugin/package.json @@ -77,7 +77,7 @@ "@types/babel__code-frame": "^7.0.6", "@types/babel__core": "^7.20.5", "@types/babel__traverse": "^7.20.7", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "peerDependencies": { "vite": ">=6.0.0 || >=7.0.0" diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index f494e4167e4..a5810a0dc26 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -88,7 +88,7 @@ }, "devDependencies": { "@tanstack/router-utils": "workspace:*", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "peerDependencies": { "solid-js": ">=1.0.0", diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index d20136f90dd..32cad48618f 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -85,7 +85,7 @@ "devDependencies": { "@types/babel__code-frame": "^7.0.6", "@types/babel__core": "^7.20.5", - "vite": "^7.0.6" + "vite": "^7.1.1" }, "peerDependencies": { "vite": ">=7.0.0" diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index ab481650d79..e8267b6c327 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -71,6 +71,6 @@ "devDependencies": { "@tanstack/directive-functions-plugin": "workspace:*", "typescript": "^5.7.2", - "vite": "^7.0.6" + "vite": "^7.1.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a78a0b0d73..6aa84ef482b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: '@types/react': ^19.0.8 '@types/react-dom': ^19.0.3 eslint: ^9.22.0 - vite: 7.0.6 + vite: 7.1.1 '@playwright/test': ^1.52.0 '@tanstack/react-query': 5.66.0 '@tanstack/history': workspace:* @@ -63,7 +63,7 @@ importers: version: 1.52.0 '@tanstack/config': specifier: ^0.16.1 - version: 0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@tanstack/react-query': specifier: 5.66.0 version: 5.66.0(react@19.0.0) @@ -78,7 +78,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitest/browser': specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) + version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/ui': specifier: ^3.0.6 version: 3.0.6(vitest@3.0.6) @@ -143,8 +143,8 @@ importers: specifier: npm:typescript@5.8 version: typescript@5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vitest: specifier: ^3.0.6 version: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) @@ -196,10 +196,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-esbuild-file-based: dependencies: @@ -294,13 +294,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) combinate: specifier: ^1.1.11 version: 1.1.11 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-file-based-code-splitting: dependencies: @@ -346,10 +346,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query: dependencies: @@ -398,10 +398,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query-file-based: dependencies: @@ -456,10 +456,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-scroll-restoration: dependencies: @@ -505,10 +505,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-file-based: dependencies: @@ -560,10 +560,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-named-export-config-file-based: dependencies: @@ -615,10 +615,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/generator-cli-only: dependencies: @@ -664,10 +664,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/js-only-file-based: dependencies: @@ -713,10 +713,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/rspack-basic-file-based: dependencies: @@ -875,10 +875,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/sentry-integration: dependencies: @@ -930,10 +930,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-start/basic: dependencies: @@ -958,12 +958,6 @@ importers: tailwind-merge: specifier: ^2.6.0 version: 2.6.0 - vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - zod: - specifier: ^3.24.2 - version: 3.25.57 devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -982,7 +976,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -998,9 +992,15 @@ importers: typescript: specifier: ^5.7.2 version: 5.8.2 + vite: + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + zod: + specifier: ^3.24.2 + version: 3.25.57 e2e/react-start/basic-auth: dependencies: @@ -1032,8 +1032,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -1052,7 +1052,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1067,7 +1067,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-react-query: dependencies: @@ -1102,8 +1102,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -1122,7 +1122,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1137,7 +1137,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-rsc: dependencies: @@ -1166,8 +1166,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@types/react': specifier: ^19.0.8 @@ -1177,7 +1177,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1192,7 +1192,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/basic-tsr-config: dependencies: @@ -1209,8 +1209,8 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': specifier: workspace:^ @@ -1252,8 +1252,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1275,7 +1275,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1293,7 +1293,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/scroll-restoration: dependencies: @@ -1322,8 +1322,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1345,7 +1345,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1363,7 +1363,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/selective-ssr: dependencies: @@ -1383,11 +1383,11 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1406,7 +1406,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) postcss: specifier: ^8.5.1 version: 8.5.3 @@ -1444,8 +1444,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1470,7 +1470,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1488,7 +1488,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/server-routes: dependencies: @@ -1517,8 +1517,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1543,7 +1543,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1561,7 +1561,7 @@ importers: version: 5.8.3 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/spa-mode: dependencies: @@ -1603,11 +1603,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/virtual-routes: dependencies: @@ -1636,8 +1636,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -1659,7 +1659,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1677,7 +1677,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/react-start/website: dependencies: @@ -1723,7 +1723,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -1737,11 +1737,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic: dependencies: @@ -1774,11 +1774,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-esbuild-file-based: dependencies: @@ -1860,11 +1860,11 @@ importers: specifier: ^1.1.11 version: 1.1.11 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-file-based-code-splitting: dependencies: @@ -1900,11 +1900,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-scroll-restoration: dependencies: @@ -1940,11 +1940,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query: dependencies: @@ -1983,11 +1983,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-solid-query-file-based: dependencies: @@ -2032,11 +2032,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-file-based: dependencies: @@ -2078,11 +2078,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/basic-virtual-named-export-config-file-based: dependencies: @@ -2124,11 +2124,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-router/rspack-basic-file-based: dependencies: @@ -2265,11 +2265,11 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/basic: dependencies: @@ -2292,8 +2292,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2324,10 +2324,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/basic-tsr-config: dependencies: @@ -2344,8 +2344,8 @@ importers: specifier: ^1.9.5 version: 1.9.5 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': specifier: workspace:^ @@ -2358,7 +2358,7 @@ importers: version: 5.8.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/custom-basepath: dependencies: @@ -2381,8 +2381,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2413,10 +2413,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/scroll-restoration: dependencies: @@ -2442,8 +2442,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2474,10 +2474,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/selective-ssr: dependencies: @@ -2507,11 +2507,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/server-functions: dependencies: @@ -2537,8 +2537,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2572,10 +2572,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/server-routes: dependencies: @@ -2601,8 +2601,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2636,10 +2636,10 @@ importers: version: 5.8.3 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/spa-mode: dependencies: @@ -2672,11 +2672,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) e2e/solid-start/website: dependencies: @@ -2699,8 +2699,8 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 version: 3.25.57 @@ -2728,10 +2728,10 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/authenticated-routes: dependencies: @@ -2774,13 +2774,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/authenticated-routes-firebase: dependencies: @@ -2829,13 +2829,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic: dependencies: @@ -2872,13 +2872,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-default-search-params: dependencies: @@ -2921,13 +2921,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-devtools-panel: dependencies: @@ -2967,13 +2967,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-file-based: dependencies: @@ -3016,13 +3016,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-non-nested-devtools: dependencies: @@ -3059,13 +3059,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query: dependencies: @@ -3108,13 +3108,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query-file-based: dependencies: @@ -3163,13 +3163,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-file-based: dependencies: @@ -3212,13 +3212,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.5.2 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.8.3 version: 5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-streaming-file-based: dependencies: @@ -3261,13 +3261,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-file-based: dependencies: @@ -3313,13 +3313,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-inside-file-based: dependencies: @@ -3365,13 +3365,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/deferred-data: dependencies: @@ -3411,13 +3411,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink: dependencies: @@ -3460,13 +3460,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-file-based: dependencies: @@ -3512,13 +3512,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query: dependencies: @@ -3567,13 +3567,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query-file-based: dependencies: @@ -3625,13 +3625,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/large-file-based: dependencies: @@ -3677,13 +3677,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/location-masking: dependencies: @@ -3726,13 +3726,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/navigation-blocking: dependencies: @@ -3772,13 +3772,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart: dependencies: @@ -3812,13 +3812,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-esbuild-file-based: dependencies: @@ -3895,13 +3895,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-rspack-file-based: dependencies: @@ -4030,16 +4030,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/app: dependencies: @@ -4070,7 +4070,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4084,11 +4084,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/post-feature: dependencies: @@ -4116,16 +4116,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-react-query/packages/post-query: dependencies: @@ -4141,13 +4141,13 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/router-monorepo-react-query/packages/router: dependencies: @@ -4187,16 +4187,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple: dependencies: @@ -4230,16 +4230,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy: dependencies: @@ -4273,16 +4273,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/app: dependencies: @@ -4310,7 +4310,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4324,11 +4324,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/post-feature: dependencies: @@ -4353,16 +4353,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple-lazy/packages/router: dependencies: @@ -4396,16 +4396,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/app: dependencies: @@ -4433,7 +4433,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4447,11 +4447,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/post-feature: dependencies: @@ -4473,16 +4473,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/router-monorepo-simple/packages/router: dependencies: @@ -4516,16 +4516,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/scroll-restoration: dependencies: @@ -4562,13 +4562,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/search-validator-adapters: dependencies: @@ -4632,13 +4632,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-bare: dependencies: @@ -4672,16 +4672,16 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic: dependencies: @@ -4718,7 +4718,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.6.0 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4732,11 +4732,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-auth: dependencies: @@ -4779,7 +4779,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -4793,11 +4793,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-nitro: dependencies: @@ -4834,13 +4834,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.6.0 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.6) nitro: specifier: npm:nitro-nightly - version: nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) postcss: specifier: ^8.5.1 version: 8.5.6 @@ -4851,11 +4851,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-react-query: dependencies: @@ -4912,11 +4912,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-rsc: dependencies: @@ -4964,11 +4964,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-basic-static: dependencies: @@ -5019,11 +5019,11 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.3 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-clerk-basic: dependencies: @@ -5074,11 +5074,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-convex-trellaux: dependencies: @@ -5156,11 +5156,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-counter: dependencies: @@ -5191,13 +5191,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-large: dependencies: @@ -5240,7 +5240,7 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -5254,11 +5254,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-material-ui: dependencies: @@ -5309,11 +5309,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-supabase-basic: dependencies: @@ -5361,11 +5361,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-tailwind-v4: dependencies: @@ -5393,7 +5393,7 @@ importers: devDependencies: '@tailwindcss/vite': specifier: ^4.1.6 - version: 4.1.6(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.1.6(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@types/node': specifier: ^22.5.4 version: 22.13.4 @@ -5410,11 +5410,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-trellaux: dependencies: @@ -5483,11 +5483,11 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/start-workos: dependencies: @@ -5538,11 +5538,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/react/view-transitions: dependencies: @@ -5585,13 +5585,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-framer-motion: dependencies: @@ -5634,13 +5634,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc: dependencies: @@ -5695,13 +5695,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) tsx: specifier: ^4.20.3 version: 4.20.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc-react-query: dependencies: @@ -5765,13 +5765,13 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) tsx: specifier: ^4.20.3 version: 4.20.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/solid/basic: dependencies: @@ -5807,11 +5807,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-devtools-panel: dependencies: @@ -5841,11 +5841,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-file-based: dependencies: @@ -5881,11 +5881,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-non-nested-devtools: dependencies: @@ -5921,11 +5921,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query: dependencies: @@ -5964,11 +5964,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-solid-query-file-based: dependencies: @@ -6010,11 +6010,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/basic-ssr-streaming-file-based: dependencies: @@ -6065,11 +6065,11 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/kitchen-sink-file-based: dependencies: @@ -6108,11 +6108,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/quickstart-file-based: dependencies: @@ -6148,11 +6148,11 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-bare: dependencies: @@ -6188,14 +6188,14 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-basic: dependencies: @@ -6234,14 +6234,14 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) examples/solid/start-basic-static: dependencies: @@ -6283,14 +6283,14 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.3 - version: 5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/arktype-adapter: devDependencies: @@ -6347,8 +6347,8 @@ importers: specifier: ^7.20.7 version: 7.20.7 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/eslint-plugin-router: dependencies: @@ -6397,7 +6397,7 @@ importers: version: 16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) combinate: specifier: ^1.1.11 version: 1.1.11 @@ -6425,7 +6425,7 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6446,7 +6446,7 @@ importers: version: link:../router-core '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6484,8 +6484,8 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/react-start-client: dependencies: @@ -6519,7 +6519,7 @@ importers: version: 16.2.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/react-start-server: dependencies: @@ -6541,7 +6541,7 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6616,7 +6616,7 @@ importers: devDependencies: '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -6647,7 +6647,7 @@ importers: devDependencies: vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/router-generator: dependencies: @@ -6728,11 +6728,11 @@ importers: specifier: ^2.1.2 version: 2.3.4 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) webpack: specifier: '>=5.92.0' version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) @@ -6889,7 +6889,7 @@ importers: version: 1.9.5 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) zod: specifier: ^3.23.8 version: 3.25.57 @@ -6908,7 +6908,7 @@ importers: version: 1.9.5 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start: dependencies: @@ -6938,8 +6938,8 @@ importers: specifier: workspace:* version: link:../router-utils vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/solid-start-client: dependencies: @@ -6973,7 +6973,7 @@ importers: version: 6.6.3 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/solid-start-server: dependencies: @@ -7004,7 +7004,7 @@ importers: version: 5.8.2 vite-plugin-solid: specifier: ^2.11.8 - version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) packages/start-client-core: dependencies: @@ -7076,7 +7076,7 @@ importers: version: 1.6.1 vitefu: specifier: ^1.1.1 - version: 1.1.1(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + version: 1.1.1(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) xmlbuilder2: specifier: ^3.1.1 version: 3.1.1 @@ -7091,8 +7091,8 @@ importers: specifier: ^7.20.5 version: 7.20.5 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-core: dependencies: @@ -7131,8 +7131,8 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.0.6 - version: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: 7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-functions-client: dependencies: @@ -10609,7 +10609,7 @@ packages: '@tailwindcss/vite@4.1.6': resolution: {integrity: sha512-zjtqjDeY1w3g2beYQtrMAf51n5G7o+UwmyOjtsDMP7t6XyoRMOidcoKP32ps7AkNOHIXEOK0bhIC05dj8oJp4w==} peerDependencies: - vite: 7.0.6 + vite: 7.1.1 '@tanstack/config@0.16.1': resolution: {integrity: sha512-GLt1xyQCGRty58N2jv0ONouv8OU46FjkbcSSTiAKwydcX+JycZ7FCLWt05lefrvuV8Eay0eNuN0sYUemObZLEA==} @@ -11026,13 +11026,13 @@ packages: resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 7.0.6 + vite: 7.1.1 '@vitejs/plugin-react@4.6.0': resolution: {integrity: sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 7.0.6 + vite: 7.1.1 '@vitest/browser@3.0.6': resolution: {integrity: sha512-FqKwCAkALZfNzGNx4YvRJa6HCWM2USWTjOdNO2egI/s6+3WkIl4xAlYISOARLJLDAI3yCXcpTtuUUF39K8TQgw==} @@ -11056,7 +11056,7 @@ packages: resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} peerDependencies: msw: ^2.4.9 - vite: 7.0.6 + vite: 7.1.1 peerDependenciesMeta: msw: optional: true @@ -14013,7 +14013,7 @@ packages: hasBin: true peerDependencies: rolldown: '*' - vite: 7.0.6 + vite: 7.1.1 xml2js: ^0.6.2 peerDependenciesMeta: rolldown: @@ -15916,7 +15916,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: typescript: '*' - vite: 7.0.6 + vite: 7.1.1 peerDependenciesMeta: vite: optional: true @@ -15925,7 +15925,7 @@ packages: resolution: {integrity: sha512-M1lrPTdi7gilLYRZoLmGYnl4fbPryVYsehPN9JgaxjJKTs8/f7tuAlvCCvOLB5gRDQTTKnptBcB0ACsaw2wNLw==} peerDependencies: typescript: '*' - vite: 7.0.6 + vite: 7.1.1 peerDependenciesMeta: vite: optional: true @@ -15933,14 +15933,14 @@ packages: vite-plugin-externalize-deps@0.9.0: resolution: {integrity: sha512-wg3qb5gCy2d1KpPKyD9wkXMcYJ84yjgziHrStq9/8R7chhUC73mhQz+tVtvhFiICQHsBn1pnkY4IBbPqF9JHNw==} peerDependencies: - vite: 7.0.6 + vite: 7.1.1 vite-plugin-solid@2.11.8: resolution: {integrity: sha512-hFrCxBfv3B1BmFqnJF4JOCYpjrmi/zwyeKjcomQ0khh8HFyQ8SbuBWQ7zGojfrz6HUOBFrJBNySDi/JgAHytWg==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 - vite: 7.0.6 + vite: 7.1.1 peerDependenciesMeta: '@testing-library/jest-dom': optional: true @@ -15948,13 +15948,13 @@ packages: vite-tsconfig-paths@5.1.4: resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} peerDependencies: - vite: 7.0.6 + vite: 7.1.1 peerDependenciesMeta: vite: optional: true - vite@7.0.6: - resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} + vite@7.1.1: + resolution: {integrity: sha512-yJ+Mp7OyV+4S+afWo+QyoL9jFWD11QFH0i5i7JypnfTcA1rmgxCbiA8WwAICDEtZ1Z1hzrVhN8R8rGTqkTY8ZQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -15996,7 +15996,7 @@ packages: vitefu@1.1.1: resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} peerDependencies: - vite: 7.0.6 + vite: 7.1.1 peerDependenciesMeta: vite: optional: true @@ -19838,14 +19838,14 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.6 '@tailwindcss/oxide-win32-x64-msvc': 4.1.6 - '@tailwindcss/vite@4.1.6(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@tailwindcss/vite@4.1.6(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@tailwindcss/node': 4.1.6 '@tailwindcss/oxide': 4.1.6 tailwindcss: 4.1.6 - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - '@tanstack/config@0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@tanstack/config@0.16.1(@types/node@22.13.4)(esbuild@0.25.8)(eslint@9.22.0(jiti@2.5.1))(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@commitlint/parse': 19.5.0 '@eslint/js': 9.22.0 @@ -19867,9 +19867,9 @@ snapshots: typedoc-plugin-markdown: 4.4.1(typedoc@0.27.6(typescript@5.9.2)) typescript-eslint: 8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) v8flags: 4.0.1 - vite-plugin-dts: 4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - vite-plugin-externalize-deps: 0.9.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - vite-tsconfig-paths: 5.1.4(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-plugin-dts: 4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-plugin-externalize-deps: 0.9.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite-tsconfig-paths: 5.1.4(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vue-eslint-parser: 9.4.3(eslint@9.22.0(jiti@2.5.1)) transitivePeerDependencies: - '@types/node' @@ -20396,18 +20396,18 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-react@4.3.4(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitejs/plugin-react@4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.4 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.27.4) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.27.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.6.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitejs/plugin-react@4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.7 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.7) @@ -20415,15 +20415,15 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.19 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6)': + '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@vitest/utils': 3.0.6 magic-string: 0.30.17 msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) @@ -20447,14 +20447,14 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + '@vitest/mocker@3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.6 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) '@vitest/pretty-format@3.0.6': dependencies: @@ -23683,7 +23683,7 @@ snapshots: p-wait-for: 5.0.2 qs: 6.13.0 - nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@rollup/plugin-alias': 5.1.1(rollup@4.46.2) '@rollup/plugin-commonjs': 28.0.6(rollup@4.46.2) @@ -23757,7 +23757,7 @@ snapshots: youch: 4.1.0-beta.8 youch-core: 0.3.3 optionalDependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25835,7 +25835,7 @@ snapshots: debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -25850,7 +25850,7 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-dts@4.0.3(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@microsoft/api-extractor': 7.47.4(@types/node@22.13.4) '@rollup/pluginutils': 5.1.4(rollup@4.46.2) @@ -25864,13 +25864,13 @@ snapshots: typescript: 5.9.2 vue-tsc: 2.0.29(typescript@5.9.2) optionalDependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-dts@4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-dts@4.5.0(@types/node@22.13.4)(rollup@4.46.2)(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@microsoft/api-extractor': 7.49.2(@types/node@22.13.4) '@rollup/pluginutils': 5.1.4(rollup@4.46.2) @@ -25883,17 +25883,17 @@ snapshots: magic-string: 0.30.17 typescript: 5.8.2 optionalDependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externalize-deps@0.9.0(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-externalize-deps@0.9.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vite-plugin-solid@2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-solid@2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@babel/core': 7.27.7 '@types/babel__core': 7.20.5 @@ -25901,47 +25901,47 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.5 solid-refresh: 0.6.3(solid-js@1.9.5) - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitefu: 1.1.1(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vitefu: 1.1.1(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) optionalDependencies: '@testing-library/jest-dom': 6.6.3 transitivePeerDependencies: - supports-color - vite-tsconfig-paths@5.1.4(typescript@5.8.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.8.2) optionalDependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.8.3) optionalDependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.9.2) optionalDependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color - typescript - vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): + vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -25958,14 +25958,14 @@ snapshots: tsx: 4.20.3 yaml: 2.7.0 - vitefu@1.1.1(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): + vitefu@1.1.1(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): optionalDependencies: - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vitest@3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) '@vitest/pretty-format': 3.0.6 '@vitest/runner': 3.0.6 '@vitest/snapshot': 3.0.6 @@ -25981,12 +25981,12 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-node: 3.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.13.4 - '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) + '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/ui': 3.0.6(vitest@3.0.6) jsdom: 25.0.1 transitivePeerDependencies: From 619530732668ff135e5b5cb8e4bd929a105f04f8 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 22:48:37 +0200 Subject: [PATCH 030/271] cleanup --- .../react/static-server-functions.md | 4 +- .../start-client-core/src/createMiddleware.ts | 7 -- .../start-client-core/src/createServerFn.ts | 70 ------------------- packages/start-client-core/src/index.tsx | 1 - .../src/tests/createServerFn.test-d.ts | 6 -- 5 files changed, 2 insertions(+), 86 deletions(-) diff --git a/docs/start/framework/react/static-server-functions.md b/docs/start/framework/react/static-server-functions.md index 64cd80aee9c..79c79d63134 100644 --- a/docs/start/framework/react/static-server-functions.md +++ b/docs/start/framework/react/static-server-functions.md @@ -14,12 +14,12 @@ Static server functions are server functions that are executed at build time and import { createServerFn } from '@tanstack/react-start' import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions' -const myServerFn = createServerFn({ type: 'static' })..middleware([staticFunctionMiddleware]).handler(async () => { +const myServerFn = createServerFn({ method: 'GET' })..middleware([staticFunctionMiddleware]).handler(async () => { return 'Hello, world!' }) ``` -Ensure that `staticFunctionMiddleware` is the last middleware! +Ensure that `staticFunctionMiddleware` is the final middleware! This pattern goes as follows: diff --git a/packages/start-client-core/src/createMiddleware.ts b/packages/start-client-core/src/createMiddleware.ts index 6ad5d2ea7cf..cfc1c045b46 100644 --- a/packages/start-client-core/src/createMiddleware.ts +++ b/packages/start-client-core/src/createMiddleware.ts @@ -2,7 +2,6 @@ import type { ConstrainValidator, Method, ServerFnResponseType, - ServerFnTypeOrTypeFn, } from './createServerFn' import type { AnyRouter, @@ -552,12 +551,6 @@ export interface FunctionMiddlewareClientFnOptions< next: FunctionMiddlewareClientNextFn filename: string functionId: string - type: ServerFnTypeOrTypeFn< - Method, - TServerFnResponseType, - TMiddlewares, - TValidator - > router: TRouter } diff --git a/packages/start-client-core/src/createServerFn.ts b/packages/start-client-core/src/createServerFn.ts index 0c962c11fb1..ef42b2e867e 100644 --- a/packages/start-client-core/src/createServerFn.ts +++ b/packages/start-client-core/src/createServerFn.ts @@ -1,5 +1,3 @@ -import { default as invariant } from 'tiny-invariant' -import { default as warning } from 'tiny-warning' import { isNotFound, isRedirect } from '@tanstack/router-core' import { mergeHeaders } from '@tanstack/router-core/ssr/client' import { getStartContext } from '@tanstack/start-storage-context' @@ -49,7 +47,6 @@ export function createServerFn< options?: { method?: TMethod response?: TServerFnResponseType - type?: ServerFnType }, __opts?: ServerFnBaseOptions< TMethod, @@ -91,15 +88,6 @@ export function createServerFn< TValidator >(undefined, Object.assign(resolvedOptions, { validator })) as any }, - type: (type) => { - return createServerFn< - TMethod, - ServerFnResponseType, - TResponse, - TMiddlewares, - TValidator - >(undefined, Object.assign(resolvedOptions, { type })) as any - }, handler: (...args) => { // This function signature changes due to AST transformations // in the babel plugin. We need to cast it to the correct @@ -159,11 +147,6 @@ export function createServerFn< const opts = opts_ instanceof FormData ? extractFormDataContext(opts_) : opts_ - opts.type = - typeof resolvedOptions.type === 'function' - ? resolvedOptions.type(opts) - : resolvedOptions.type - const ctx = { ...extractedFn, ...opts, @@ -322,12 +305,9 @@ export interface RequiredFetcher< export type FetcherBaseOptions = { headers?: HeadersInit - type?: ServerFnType signal?: AbortSignal } -export type ServerFnType = 'static' | 'dynamic' - export interface OptionalFetcherDataOptions extends FetcherBaseOptions { data?: Expand> @@ -421,12 +401,6 @@ export type ServerFnBaseOptions< TResponse > functionId: string - type: ServerFnTypeOrTypeFn< - TMethod, - TServerFnResponseType, - TMiddlewares, - AnyValidator - > } export type ValidatorInputStringify = SerializerStringifyBy< @@ -471,7 +445,6 @@ export interface ServerFnAfterMiddleware< TMiddlewares, TValidator, > extends ServerFnValidator, - ServerFnTyper, ServerFnHandler {} export type ValidatorFn< @@ -501,47 +474,8 @@ export interface ServerFnAfterValidator< TMiddlewares, TValidator, > extends ServerFnMiddleware, - ServerFnTyper, ServerFnHandler {} -// Typer -export interface ServerFnTyper< - TMethod extends Method, - TServerFnResponseType extends ServerFnResponseType, - TMiddlewares, - TValidator, -> { - type: ( - typer: ServerFnTypeOrTypeFn< - TMethod, - TServerFnResponseType, - TMiddlewares, - TValidator - >, - ) => ServerFnAfterTyper< - TMethod, - TServerFnResponseType, - TMiddlewares, - TValidator - > -} - -export type ServerFnTypeOrTypeFn< - TMethod extends Method, - TServerFnResponseType extends ServerFnResponseType, - TMiddlewares, - TValidator, -> = - | ServerFnType - | (( - ctx: ServerFnCtx< - TMethod, - TServerFnResponseType, - TMiddlewares, - TValidator - >, - ) => ServerFnType) - export interface ServerFnAfterTyper< TMethod extends Method, TServerFnResponseType extends ServerFnResponseType, @@ -577,7 +511,6 @@ export interface ServerFnBuilder< TServerFnResponseType extends ServerFnResponseType = 'data', > extends ServerFnMiddleware, ServerFnValidator, - ServerFnTyper, ServerFnHandler { options: ServerFnBaseOptions< TMethod, @@ -644,7 +577,6 @@ export type ServerFnMiddlewareOptions = { signal?: AbortSignal sendContext?: any context?: any - type: ServerFnTypeOrTypeFn functionId: string router?: AnyRouter } @@ -652,7 +584,6 @@ export type ServerFnMiddlewareOptions = { export type ServerFnMiddlewareResult = ServerFnMiddlewareOptions & { result?: unknown error?: unknown - type: ServerFnTypeOrTypeFn } export type NextFn = ( @@ -742,7 +673,6 @@ export function serverFnBaseToMiddleware( ...ctx, // switch the sendContext over to context context: sendContext, - type: typeof ctx.type === 'function' ? ctx.type(ctx) : ctx.type, } as any // Execute the extracted function diff --git a/packages/start-client-core/src/index.tsx b/packages/start-client-core/src/index.tsx index b5888e5d7a2..e37628fa01e 100644 --- a/packages/start-client-core/src/index.tsx +++ b/packages/start-client-core/src/index.tsx @@ -73,7 +73,6 @@ export type { ServerFnMiddlewareOptions, ServerFnMiddlewareResult, ServerFnBuilder, - ServerFnType, ServerFnBaseOptions, NextFn, Method, diff --git a/packages/start-client-core/src/tests/createServerFn.test-d.ts b/packages/start-client-core/src/tests/createServerFn.test-d.ts index 2abc7a409b0..deb8d4228cc 100644 --- a/packages/start-client-core/src/tests/createServerFn.test-d.ts +++ b/packages/start-client-core/src/tests/createServerFn.test-d.ts @@ -52,7 +52,6 @@ test('createServerFn with validator', () => { expectTypeOf(fn).parameter(0).toEqualTypeOf<{ data: { input: string } headers?: HeadersInit - type?: 'static' | 'dynamic' signal?: AbortSignal }>() @@ -168,7 +167,6 @@ describe('createServerFn with middleware and validator', () => { readonly inputC: 'inputC' } headers?: HeadersInit - type?: 'static' | 'dynamic' signal?: AbortSignal }>() @@ -212,7 +210,6 @@ describe('createServerFn with middleware and validator', () => { readonly inputC: 'inputC' } headers?: HeadersInit - type?: 'static' | 'dynamic' signal?: AbortSignal }>() @@ -323,7 +320,6 @@ test('createServerFn where validator is optional if object is optional', () => { | { data?: 'c' | undefined headers?: HeadersInit - type?: 'static' | 'dynamic' signal?: AbortSignal } | undefined @@ -347,7 +343,6 @@ test('createServerFn where data is optional if there is no validator', () => { | { data?: undefined headers?: HeadersInit - type?: 'static' | 'dynamic' signal?: AbortSignal } | undefined @@ -509,7 +504,6 @@ test('createServerFn validator infers unknown for default input type', () => { | { data?: unknown | undefined headers?: HeadersInit - type?: 'static' | 'dynamic' signal?: AbortSignal } | undefined From 81adebb49420b725c27f096c289efc3d3b9d3b71 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 22:48:37 +0200 Subject: [PATCH 031/271] add custom way of signalling we are running the dev server process.env.NODE_ENV is not available when running the dev server using cloudflare's vite plugin (and potentially other non-node envs) --- packages/start-plugin-core/src/plugin.ts | 1 + packages/start-server-core/src/global.d.ts | 1 + packages/start-server-core/src/router-manifest.ts | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index a4d786863e8..e6021c42fd4 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -253,6 +253,7 @@ export function TanStackStartVitePluginCore( ...defineReplaceEnv('TSS_OUTPUT_PUBLIC_DIR', getClientOutputDirectory(viteConfig)), ...defineReplaceEnv('TSS_APP_BASE', viteAppBase), ...(command === 'serve' ? defineReplaceEnv('TSS_SHELL', startConfig.spa?.enabled ? 'true' : 'false') : {}), + ...defineReplaceEnv('TSS_DEV_SERVER', command === 'serve' ? 'true' : 'false'), }, builder: { sharedPlugins: true, diff --git a/packages/start-server-core/src/global.d.ts b/packages/start-server-core/src/global.d.ts index 684b909ed65..78e0400eba5 100644 --- a/packages/start-server-core/src/global.d.ts +++ b/packages/start-server-core/src/global.d.ts @@ -6,6 +6,7 @@ declare global { TSS_OUTPUT_PUBLIC_DIR?: string TSS_SHELL?: 'true' | 'false' TSS_PRERENDERING?: 'true' | 'false' + TSS_DEV_SERVER?: 'true' | 'false' } } } diff --git a/packages/start-server-core/src/router-manifest.ts b/packages/start-server-core/src/router-manifest.ts index ebf8b729111..a10e87965a8 100644 --- a/packages/start-server-core/src/router-manifest.ts +++ b/packages/start-server-core/src/router-manifest.ts @@ -20,7 +20,7 @@ export async function getStartManifest(opts: { basePath: string }) { rootRoute.assets = rootRoute.assets || [] let script = `import('${startManifest.clientEntry}')` - if (process.env.NODE_ENV === 'development') { + if (process.env.TSS_DEV_SERVER === 'true') { const { injectedHeadScripts } = await loadVirtualModule( VIRTUAL_MODULES.injectedHeadScripts, ) From 65570b794d0e51e07bc642ad13fea097b4365b82 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Fri, 8 Aug 2025 22:48:37 +0200 Subject: [PATCH 032/271] remove deprecated re-exports --- packages/react-start-client/src/Meta.tsx | 10 -- packages/react-start-client/src/Scripts.tsx | 8 -- packages/react-start-client/src/index.tsx | 2 - packages/solid-start-client/src/Meta.tsx | 10 -- packages/solid-start-client/src/Scripts.tsx | 8 -- packages/solid-start-client/src/index.tsx | 3 - packages/solid-start-client/src/renderRSC.tsx | 92 ------------------- 7 files changed, 133 deletions(-) delete mode 100644 packages/react-start-client/src/Meta.tsx delete mode 100644 packages/react-start-client/src/Scripts.tsx delete mode 100644 packages/solid-start-client/src/Meta.tsx delete mode 100644 packages/solid-start-client/src/Scripts.tsx delete mode 100644 packages/solid-start-client/src/renderRSC.tsx diff --git a/packages/react-start-client/src/Meta.tsx b/packages/react-start-client/src/Meta.tsx deleted file mode 100644 index 6a91ca59ef7..00000000000 --- a/packages/react-start-client/src/Meta.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { HeadContent } from '@tanstack/react-router' - -export const Meta = () => { - if (process.env.NODE_ENV === 'development') { - console.warn( - 'The Meta component is deprecated. Use `HeadContent` from `@tanstack/react-router` instead.', - ) - } - return -} diff --git a/packages/react-start-client/src/Scripts.tsx b/packages/react-start-client/src/Scripts.tsx deleted file mode 100644 index 9db5f5c53eb..00000000000 --- a/packages/react-start-client/src/Scripts.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { Scripts as RouterScripts } from '@tanstack/react-router' - -export const Scripts = () => { - if (process.env.NODE_ENV === 'development') { - console.warn('The Scripts component was moved to `@tanstack/react-router`') - } - return -} diff --git a/packages/react-start-client/src/index.tsx b/packages/react-start-client/src/index.tsx index d728c17e0fc..cd5a3d51cfb 100644 --- a/packages/react-start-client/src/index.tsx +++ b/packages/react-start-client/src/index.tsx @@ -54,8 +54,6 @@ export { type FunctionMiddlewareServerNextFn, type FunctionServerResultWithContext, } from '@tanstack/start-client-core' -export { Meta } from './Meta' -export { Scripts } from './Scripts' export { StartClient } from './StartClient' export { renderRsc } from './renderRSC' export { useServerFn } from './useServerFn' diff --git a/packages/solid-start-client/src/Meta.tsx b/packages/solid-start-client/src/Meta.tsx deleted file mode 100644 index 5da9f9268b6..00000000000 --- a/packages/solid-start-client/src/Meta.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { HeadContent } from '@tanstack/solid-router' - -export const Meta = () => { - if (process.env.NODE_ENV === 'development') { - console.warn( - 'The Meta component is deprecated. Use `HeadContent` from `@tanstack/solid-router` instead.', - ) - } - return -} diff --git a/packages/solid-start-client/src/Scripts.tsx b/packages/solid-start-client/src/Scripts.tsx deleted file mode 100644 index 3f782d7d54b..00000000000 --- a/packages/solid-start-client/src/Scripts.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { Scripts as RouterScripts } from '@tanstack/solid-router' - -export const Scripts = () => { - if (process.env.NODE_ENV === 'development') { - console.warn('The Scripts component was moved to `@tanstack/solid-router`') - } - return -} diff --git a/packages/solid-start-client/src/index.tsx b/packages/solid-start-client/src/index.tsx index c2a1ca63654..576bfd26542 100644 --- a/packages/solid-start-client/src/index.tsx +++ b/packages/solid-start-client/src/index.tsx @@ -54,8 +54,5 @@ export { type FunctionMiddlewareServerNextFn, type FunctionServerResultWithContext, } from '@tanstack/start-client-core' -export { Meta } from './Meta' -export { Scripts } from './Scripts' export { StartClient } from './StartClient' -export { renderRsc } from './renderRSC' export { useServerFn } from './useServerFn' diff --git a/packages/solid-start-client/src/renderRSC.tsx b/packages/solid-start-client/src/renderRSC.tsx deleted file mode 100644 index 83735d882ac..00000000000 --- a/packages/solid-start-client/src/renderRSC.tsx +++ /dev/null @@ -1,92 +0,0 @@ -// TODO: RSCs -// // @ts-expect-error -// import * as reactDom from 'react-server-dom/client' -// import { isValidElement } from 'solid-js' -import invariant from 'tiny-invariant' -import type * as Solid from 'solid-js' - -export function renderRsc(input: any): Solid.JSX.Element { - // TODO: isValidElement - // if (isValidElement(input)) { - // return input - // } - - if (typeof input === 'object' && !input.state) { - input.state = { - status: 'pending', - promise: Promise.resolve() - .then(() => { - let element - - // We're in node - // TODO: RSCs - // if (reactDom.createFromNodeStream) { - // const stream = await import('node:stream') - - // let body: any = input - - // // Unwrap the response - // if (input instanceof Response) { - // body = input.body - // } - - // // Convert ReadableStream to NodeJS stream.Readable - // if (body instanceof ReadableStream) { - // body = stream.Readable.fromWeb(body as any) - // } - - // if (stream.Readable.isReadable(body)) { - // // body = copyStreamToRaw(body) - // } else if (input.text) { - // // create a readable stream by awaiting the text method - // body = new stream.Readable({ - // async read() { - // input.text().then((value: any) => { - // this.push(value) - // this.push(null) - // }) - // }, - // }) - // } else { - // console.error('input', input) - // throw new Error('Unexpected rsc input type 👆') - // } - - // element = await reactDom.createFromNodeStream(body) - // } else { - // // We're in the browser - // if (input.body instanceof ReadableStream) { - // input = input.body - // } - - // if (input instanceof ReadableStream) { - // element = await reactDom.createFromReadableStream(input) - // } - - // if (input instanceof Response) { - // // copy to the response body to cache the raw data - // element = await reactDom.createFromFetch(input) - // } - // } - - // return element - - invariant(false, 'renderRSC() is coming soon!') - }) - .then((element) => { - input.state.value = element - input.state.status = 'success' - }) - .catch((err) => { - input.state.status = 'error' - input.state.error = err - }), - } - } - - if (input.state.status === 'pending') { - throw input.state.promise - } - - return input.state.value -} From 3cd7e27bcda7ac1a60ad9563b0dee214ab113bc2 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 20:56:24 +0000 Subject: [PATCH 033/271] ci: apply automated fixes --- labeler-config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/labeler-config.yml b/labeler-config.yml index b5185a77e33..87b3de44497 100644 --- a/labeler-config.yml +++ b/labeler-config.yml @@ -88,6 +88,9 @@ 'package: start-server-functions-server': - changed-files: - any-glob-to-any-file: 'packages/start-server-functions-server/**/*' +'package: start-static-server-functions': + - changed-files: + - any-glob-to-any-file: 'packages/start-static-server-functions/**/*' 'package: start-storage-context': - changed-files: - any-glob-to-any-file: 'packages/start-storage-context/**/*' From af0cd986c27fac799441d68d6de286be2bc108a4 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 00:35:19 +0200 Subject: [PATCH 034/271] Revert "fix: do not pre-decodeURI before passing to createMemoryHistory (#4893)" This reverts commit e75531647a4abf76a46b12fc1b5d3220edb050e7. --- packages/react-router/src/useBlocker.tsx | 2 +- packages/router-core/src/router.ts | 17 +++++------------ packages/solid-router/src/useBlocker.tsx | 2 +- .../start-server-core/src/createStartHandler.ts | 2 +- 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/packages/react-router/src/useBlocker.tsx b/packages/react-router/src/useBlocker.tsx index 735277d1000..84a8eba9dbd 100644 --- a/packages/react-router/src/useBlocker.tsx +++ b/packages/react-router/src/useBlocker.tsx @@ -176,7 +176,7 @@ export function useBlocker( function getLocation( location: HistoryLocation, ): AnyShouldBlockFnLocation { - const parsedLocation = router.parseLocation(location) + const parsedLocation = router.parseLocation(undefined, location) const matchedRoutes = router.getMatchedRoutes( parsedLocation.pathname, undefined, diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index f6bf3042921..81e6abb24eb 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -614,8 +614,8 @@ export type InvalidateFn = (opts?: { }) => Promise export type ParseLocationFn = ( - locationToParse: HistoryLocation, previousLocation?: ParsedLocation>, + locationToParse?: HistoryLocation, ) => ParsedLocation> export type GetMatchRoutesFn = ( @@ -901,7 +901,7 @@ export class RouterCore< initialEntries: [this.basepath || '/'], }) : createBrowserHistory()) as TRouterHistory) - this.updateLatestLocation() + this.latestLocation = this.parseLocation() } if (this.options.routeTree !== this.routeTree) { @@ -939,13 +939,6 @@ export class RouterCore< return this.__store.state } - updateLatestLocation = () => { - this.latestLocation = this.parseLocation( - this.history.location, - this.latestLocation, - ) - } - buildRouteTree = () => { const { routesById, routesByPath, flatRoutes } = processRouteTree({ routeTree: this.routeTree, @@ -992,8 +985,8 @@ export class RouterCore< } parseLocation: ParseLocationFn = ( - locationToParse, previousLocation, + locationToParse, ) => { const parse = ({ pathname, @@ -1014,7 +1007,7 @@ export class RouterCore< } } - const location = parse(locationToParse) + const location = parse(locationToParse ?? this.history.location) const { __tempLocation, __tempKey } = location.state @@ -1812,7 +1805,7 @@ export class RouterCore< beforeLoad = () => { // Cancel any pending matches this.cancelMatches() - this.updateLatestLocation() + this.latestLocation = this.parseLocation(this.latestLocation) if (this.isServer) { // for SPAs on the initial load, this is handled by the Transitioner diff --git a/packages/solid-router/src/useBlocker.tsx b/packages/solid-router/src/useBlocker.tsx index 1fef61a517f..7bc23280e55 100644 --- a/packages/solid-router/src/useBlocker.tsx +++ b/packages/solid-router/src/useBlocker.tsx @@ -185,7 +185,7 @@ export function useBlocker( function getLocation( location: HistoryLocation, ): AnyShouldBlockFnLocation { - const parsedLocation = router.parseLocation(location) + const parsedLocation = router.parseLocation(undefined, location) const matchedRoutes = router.getMatchedRoutes( parsedLocation.pathname, undefined, diff --git a/packages/start-server-core/src/createStartHandler.ts b/packages/start-server-core/src/createStartHandler.ts index 17ab8efd8d5..335105ab48a 100644 --- a/packages/start-server-core/src/createStartHandler.ts +++ b/packages/start-server-core/src/createStartHandler.ts @@ -111,7 +111,7 @@ export function createStartHandler({ } const url = new URL(request.url) - const href = url.href.replace(url.origin, '') + const href = decodeURIComponent(url.href.replace(url.origin, '')) const APP_BASE = process.env.TSS_APP_BASE || '/' From 2ad70797704630ed99bfce6fcbf5d1a65d4552e0 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 00:49:07 +0200 Subject: [PATCH 035/271] run e2e test via srvx --- e2e/react-start/basic/package.json | 3 +- e2e/react-start/basic/src/server.ts | 6 +- pnpm-lock.yaml | 530 +--------------------------- 3 files changed, 15 insertions(+), 524 deletions(-) diff --git a/e2e/react-start/basic/package.json b/e2e/react-start/basic/package.json index fab4660f9be..cfc1b0640f1 100644 --- a/e2e/react-start/basic/package.json +++ b/e2e/react-start/basic/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -29,6 +29,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.2", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/e2e/react-start/basic/src/server.ts b/e2e/react-start/basic/src/server.ts index 77cb4a13169..3ce20fd4619 100644 --- a/e2e/react-start/basic/src/server.ts +++ b/e2e/react-start/basic/src/server.ts @@ -8,6 +8,10 @@ import { createRouter } from './router' console.log("[server-entry]: using custom server entry in 'src/server.ts'") -export default createStartHandler({ +const fetch = createStartHandler({ createRouter, })(defaultStreamHandler) + +export default { + fetch, +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6aa84ef482b..6ed052d553d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -986,6 +986,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.2 + version: 0.8.2 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2156,7 +2159,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2202,7 +2205,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -4799,64 +4802,6 @@ importers: specifier: ^5.1.4 version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - examples/react/start-basic-nitro: - dependencies: - '@tanstack/react-router': - specifier: workspace:* - version: link:../../../packages/react-router - '@tanstack/react-router-devtools': - specifier: workspace:^ - version: link:../../../packages/react-router-devtools - '@tanstack/react-start': - specifier: workspace:* - version: link:../../../packages/react-start - react: - specifier: ^19.0.0 - version: 19.0.0 - react-dom: - specifier: ^19.0.0 - version: 19.0.0(react@19.0.0) - tailwind-merge: - specifier: ^2.6.0 - version: 2.6.0 - zod: - specifier: ^3.24.2 - version: 3.25.57 - devDependencies: - '@types/node': - specifier: ^22.5.4 - version: 22.13.4 - '@types/react': - specifier: ^19.0.8 - version: 19.0.8 - '@types/react-dom': - specifier: ^19.0.3 - version: 19.0.3(@types/react@19.0.8) - '@vitejs/plugin-react': - specifier: ^4.6.0 - version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - autoprefixer: - specifier: ^10.4.20 - version: 10.4.20(postcss@8.5.6) - nitro: - specifier: npm:nitro-nightly - version: nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - postcss: - specifier: ^8.5.1 - version: 8.5.6 - tailwindcss: - specifier: ^3.4.17 - version: 3.4.17 - typescript: - specifier: ^5.7.2 - version: 5.8.3 - vite: - specifier: 7.1.1 - version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vite-tsconfig-paths: - specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - examples/react/start-basic-react-query: dependencies: '@tanstack/react-query': @@ -9029,9 +8974,6 @@ packages: resolution: {integrity: sha512-aQypoot0HPSJa6gDPEPTntc1GT6QINrSbgRlRhadGW2WaYqUK3tK4Bw9SBMZXhmxd3GeAlZjVcODHgiu+THY7A==} engines: {node: '>=18'} - '@poppinss/exception@1.2.2': - resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} - '@prisma/client@5.22.0': resolution: {integrity: sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==} engines: {node: '>=16.13'} @@ -9773,15 +9715,6 @@ packages: rollup: optional: true - '@rollup/plugin-commonjs@28.0.6': - resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==} - engines: {node: '>=16.0.0 || 14 >= 14.17'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/plugin-inject@5.0.5': resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} @@ -10824,9 +10757,6 @@ packages: '@types/http-proxy@1.17.15': resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} - '@types/http-proxy@1.17.16': - resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} - '@types/js-cookie@3.0.6': resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} @@ -11017,11 +10947,6 @@ packages: engines: {node: '>=18'} hasBin: true - '@vercel/nft@0.30.0': - resolution: {integrity: sha512-xVye7Z0riD9czsMuEJYpFqm2FR33r3euYaFzuEPCoUtYuDwmus3rJfKtcFU7Df+pgj8p4zs78x5lOWYoLNr+7Q==} - engines: {node: '>=18'} - hasBin: true - '@vitejs/plugin-react@4.3.4': resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} engines: {node: ^14.18.0 || >=16.0.0} @@ -11564,14 +11489,6 @@ packages: magicast: optional: true - c12@3.2.0: - resolution: {integrity: sha512-ixkEtbYafL56E6HiFuonMm1ZjoKtIo7TH68/uiEq4DAwv9NcUX2nJ95F8TrbMeNjqIkZpruo3ojXQJ+MGG5gcQ==} - peerDependencies: - magicast: ^0.3.5 - peerDependenciesMeta: - magicast: - optional: true - cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -11918,10 +11835,6 @@ packages: resolution: {integrity: sha512-onMB0OkDjkXunhdW9htFjEhqrD54+M94i6ackoUkjHKbRnXdyEyKRelp4nJ1kAz32+s27jP1FsebpJCVl0BsvA==} engines: {node: '>=18.0'} - croner@9.1.0: - resolution: {integrity: sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==} - engines: {node: '>=18.0'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -12229,10 +12142,6 @@ packages: resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} engines: {node: '>=12'} - dotenv@17.2.1: - resolution: {integrity: sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==} - engines: {node: '>=12'} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -12966,15 +12875,6 @@ packages: h3@1.15.3: resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==} - h3@2.0.0-beta.2: - resolution: {integrity: sha512-OhNyXpQoYbPVJelgKRGF/6mQxV8I2jyfueN0Q9F0D/j4qBXpu8A4bKp5MPTYH7AwmkP1hUi3o4JvjIxrFmwpDg==} - engines: {node: '>=20.11.1'} - peerDependencies: - crossws: ^0.4.1 - peerDependenciesMeta: - crossws: - optional: true - h3@2.0.0-beta.3: resolution: {integrity: sha512-AW9ry5z/YOmzuY0R1jk5jwc7jkGkeSOzyQ0+4qzVGdqY6I2JrslzKjAmcqUjfB6f+kdyIvUGOompt/Dl3MI+FA==} engines: {node: '>=20.11.1'} @@ -14007,22 +13907,6 @@ packages: resolution: {integrity: sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==} engines: {node: ^14.16.0 || >=16.0.0} - nitro-nightly@3.0.0-20250731-072721.7ed89146: - resolution: {integrity: sha512-gBmRjtNZ9PTEPDUMHsHbDn2Ohb/6+8fLpiQHNviJPowfVWlYRScpjFLtRd89tO+CDlKDR5H1KSFPRIb/CaOpbQ==} - engines: {node: '>=20.11.1'} - hasBin: true - peerDependencies: - rolldown: '*' - vite: 7.1.1 - xml2js: ^0.6.2 - peerDependenciesMeta: - rolldown: - optional: true - vite: - optional: true - xml2js: - optional: true - nitropack@2.11.12: resolution: {integrity: sha512-e2AdQrEY1IVoNTdyjfEQV93xkqz4SQxAMR0xWF8mZUUHxMLm6S4nPzpscjksmT4OdUxl0N8/DCaGjKQ9ghdodA==} engines: {node: ^16.11.0 || >=17.0.0} @@ -14414,9 +14298,6 @@ packages: pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} - pkg-types@2.2.0: - resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} - playwright-core@1.52.0: resolution: {integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==} engines: {node: '>=18'} @@ -14510,10 +14391,6 @@ packages: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} - pretty-bytes@7.0.0: - resolution: {integrity: sha512-U5otLYPR3L0SVjHGrkEUx5mf7MxV2ceXeE7VwWPk+hyzC5drNohsOGNPDZqxCqyX1lkbEN4kl1LiI8QFd7r0ZA==} - engines: {node: '>=20'} - pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -14860,19 +14737,6 @@ packages: rollup: optional: true - rollup-plugin-visualizer@6.0.3: - resolution: {integrity: sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - rolldown: 1.x || ^1.0.0-beta - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rolldown: - optional: true - rollup: - optional: true - rollup@4.41.1: resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -15114,10 +14978,6 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - spawn-command@0.0.2: resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} @@ -15610,16 +15470,9 @@ packages: resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} engines: {node: '>=18.17'} - undici@7.13.0: - resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} - engines: {node: '>=20.18.1'} - unenv@2.0.0-rc.17: resolution: {integrity: sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==} - unenv@2.0.0-rc.19: - resolution: {integrity: sha512-t/OMHBNAkknVCI7bVB9OWjUUAwhVv9vsPIAGnNUxnu3FxPQN11rjh0sksLMzc3g7IlTgvHmOTl4JM7JHpcv5wA==} - unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} @@ -15636,10 +15489,6 @@ packages: resolution: {integrity: sha512-1YWzPj6wYhtwHE+9LxRlyqP4DiRrhGfJxdtH475im8ktyZXO3jHj/3PZ97zDdvkYoovFdi0K4SKl3a7l92v3sQ==} engines: {node: '>=18.12.0'} - unimport@5.2.0: - resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==} - engines: {node: '>=18.12.0'} - universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -15738,65 +15587,6 @@ packages: uploadthing: optional: true - unstorage@1.16.1: - resolution: {integrity: sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==} - peerDependencies: - '@azure/app-configuration': ^1.8.0 - '@azure/cosmos': ^4.2.0 - '@azure/data-tables': ^13.3.0 - '@azure/identity': ^4.6.0 - '@azure/keyvault-secrets': ^4.9.0 - '@azure/storage-blob': ^12.26.0 - '@capacitor/preferences': ^6.0.3 || ^7.0.0 - '@deno/kv': '>=0.9.0' - '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 - '@planetscale/database': ^1.19.0 - '@upstash/redis': ^1.34.3 - '@vercel/blob': '>=0.27.1' - '@vercel/kv': ^1.0.1 - aws4fetch: ^1.0.20 - db0: '>=0.2.1' - idb-keyval: ^6.2.1 - ioredis: ^5.4.2 - uploadthing: ^7.4.4 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@deno/kv': - optional: true - '@netlify/blobs': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/blob': - optional: true - '@vercel/kv': - optional: true - aws4fetch: - optional: true - db0: - optional: true - idb-keyval: - optional: true - ioredis: - optional: true - uploadthing: - optional: true - untun@0.1.3: resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true @@ -16290,17 +16080,10 @@ packages: resolution: {integrity: sha512-fusrlIMLeRvTFYLUjJ9KzlGC3N+6MOPJ68HNj/yJv2nz7zq8t4HEviLms2gkdRPUS7F5rZ5n+pYx9r88m6IE1g==} engines: {node: '>=18'} - youch-core@0.3.3: - resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} - youch@4.1.0-beta.7: resolution: {integrity: sha512-HUn0M24AUTMvjdkoMtH8fJz2FEd+k1xvtR9EoTrDUoVUi6o7xl5X+pST/vjk4T3GEQo2mJ9FlAvhWBm8dIdD4g==} engines: {node: '>=18'} - youch@4.1.0-beta.8: - resolution: {integrity: sha512-rY2A2lSF7zC+l7HH9Mq+83D1dLlsPnEvy8jTouzaptDZM6geqZ3aJe/b7ULCwRURPtWV3vbDjA2DDMdoBol0HQ==} - engines: {node: '>=18'} - zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -18213,8 +17996,6 @@ snapshots: '@poppinss/exception@1.2.1': {} - '@poppinss/exception@1.2.2': {} - '@prisma/client@5.22.0(prisma@5.22.0)': optionalDependencies: prisma: 5.22.0 @@ -18980,10 +18761,6 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-alias@5.1.1(rollup@4.46.2)': - optionalDependencies: - rollup: 4.46.2 - '@rollup/plugin-commonjs@28.0.3(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -18996,18 +18773,6 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-commonjs@28.0.6(rollup@4.46.2)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) - commondir: 1.0.1 - estree-walker: 2.0.2 - fdir: 6.4.6(picomatch@4.0.3) - is-reference: 1.2.1 - magic-string: 0.30.17 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.46.2 - '@rollup/plugin-inject@5.0.5(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -19016,26 +18781,12 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-inject@5.0.5(rollup@4.46.2)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) - estree-walker: 2.0.2 - magic-string: 0.30.17 - optionalDependencies: - rollup: 4.46.2 - '@rollup/plugin-json@6.1.0(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-json@6.1.0(rollup@4.46.2)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) - optionalDependencies: - rollup: 4.46.2 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -19046,16 +18797,6 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.2)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.10 - optionalDependencies: - rollup: 4.46.2 - '@rollup/plugin-replace@6.0.2(rollup@4.41.1)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.41.1) @@ -19063,13 +18804,6 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-replace@6.0.2(rollup@4.46.2)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) - magic-string: 0.30.17 - optionalDependencies: - rollup: 4.46.2 - '@rollup/plugin-terser@0.4.4(rollup@4.41.1)': dependencies: serialize-javascript: 6.0.2 @@ -19078,14 +18812,6 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-terser@0.4.4(rollup@4.46.2)': - dependencies: - serialize-javascript: 6.0.2 - smob: 1.5.0 - terser: 5.37.0 - optionalDependencies: - rollup: 4.46.2 - '@rollup/pluginutils@5.1.4(rollup@4.41.1)': dependencies: '@types/estree': 1.0.7 @@ -20113,10 +19839,6 @@ snapshots: dependencies: '@types/node': 22.13.4 - '@types/http-proxy@1.17.16': - dependencies: - '@types/node': 22.13.4 - '@types/js-cookie@3.0.6': {} '@types/json-schema@7.0.15': {} @@ -20377,25 +20099,6 @@ snapshots: - rollup - supports-color - '@vercel/nft@0.30.0(rollup@4.46.2)': - dependencies: - '@mapbox/node-pre-gyp': 2.0.0 - '@rollup/pluginutils': 5.1.4(rollup@4.46.2) - acorn: 8.14.1 - acorn-import-attributes: 1.9.5(acorn@8.14.1) - async-sema: 3.1.1 - bindings: 1.5.0 - estree-walker: 2.0.2 - glob: 10.4.5 - graceful-fs: 4.2.11 - node-gyp-build: 4.8.4 - picomatch: 4.0.3 - resolve-from: 5.0.0 - transitivePeerDependencies: - - encoding - - rollup - - supports-color - '@vitejs/plugin-react@4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.4 @@ -20730,10 +20433,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-attributes@1.9.5(acorn@8.14.1): - dependencies: - acorn: 8.14.1 - acorn-import-attributes@1.9.5(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -20923,16 +20622,6 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 - autoprefixer@10.4.20(postcss@8.5.6): - dependencies: - browserslist: 4.24.4 - caniuse-lite: 1.0.30001696 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - axios@1.9.0: dependencies: follow-redirects: 1.15.9 @@ -21096,23 +20785,6 @@ snapshots: optionalDependencies: magicast: 0.3.5 - c12@3.2.0(magicast@0.3.5): - dependencies: - chokidar: 4.0.3 - confbox: 0.2.2 - defu: 6.1.4 - dotenv: 17.2.1 - exsolve: 1.0.7 - giget: 2.0.0 - jiti: 2.5.1 - ohash: 2.0.11 - pathe: 2.0.3 - perfect-debounce: 1.0.0 - pkg-types: 2.2.0 - rc9: 2.1.2 - optionalDependencies: - magicast: 0.3.5 - cac@6.7.14: {} call-bind-apply-helpers@1.0.1: @@ -21455,8 +21127,6 @@ snapshots: croner@9.0.0: {} - croner@9.1.0: {} - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -21470,6 +21140,7 @@ snapshots: crossws@0.4.1(srvx@0.8.2): optionalDependencies: srvx: 0.8.2 + optional: true css-select@4.3.0: dependencies: @@ -21718,8 +21389,6 @@ snapshots: dotenv@16.5.0: {} - dotenv@17.2.1: {} - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.1 @@ -22698,15 +22367,6 @@ snapshots: ufo: 1.6.1 uncrypto: 0.1.3 - h3@2.0.0-beta.2(crossws@0.4.1(srvx@0.8.2)): - dependencies: - cookie-es: 2.0.0 - fetchdts: 0.1.5 - rou3: 0.7.3 - srvx: 0.8.2 - optionalDependencies: - crossws: 0.4.1(srvx@0.8.2) - h3@2.0.0-beta.3(crossws@0.4.1(srvx@0.8.2)): dependencies: cookie-es: 2.0.0 @@ -23123,7 +22783,8 @@ snapshots: jiti@2.4.2: {} - jiti@2.5.1: {} + jiti@2.5.1: + optional: true jju@1.4.0: {} @@ -23683,107 +23344,6 @@ snapshots: p-wait-for: 5.0.2 qs: 6.13.0 - nitro-nightly@3.0.0-20250731-072721.7ed89146(@netlify/blobs@9.1.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)): - dependencies: - '@rollup/plugin-alias': 5.1.1(rollup@4.46.2) - '@rollup/plugin-commonjs': 28.0.6(rollup@4.46.2) - '@rollup/plugin-inject': 5.0.5(rollup@4.46.2) - '@rollup/plugin-json': 6.1.0(rollup@4.46.2) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.46.2) - '@rollup/plugin-replace': 6.0.2(rollup@4.46.2) - '@rollup/plugin-terser': 0.4.4(rollup@4.46.2) - '@types/http-proxy': 1.17.16 - '@vercel/nft': 0.30.0(rollup@4.46.2) - c12: 3.2.0(magicast@0.3.5) - chokidar: 4.0.3 - citty: 0.1.6 - compatx: 0.2.0 - confbox: 0.2.2 - consola: 3.4.2 - cookie-es: 2.0.0 - croner: 9.1.0 - crossws: 0.4.1(srvx@0.8.2) - db0: 0.3.2 - defu: 6.1.4 - destr: 2.0.5 - dot-prop: 9.0.0 - esbuild: 0.25.8 - escape-string-regexp: 5.0.0 - etag: 1.8.1 - exsolve: 1.0.7 - fetchdts: 0.1.5 - fs-extra: 11.3.0 - globby: 14.1.0 - gzip-size: 7.0.0 - h3: 2.0.0-beta.2(crossws@0.4.1(srvx@0.8.2)) - hookable: 5.5.3 - httpxy: 0.1.7 - ioredis: 5.6.1 - jiti: 2.5.1 - klona: 2.0.6 - knitwork: 1.2.0 - listhen: 1.9.0 - magic-string: 0.30.17 - magicast: 0.3.5 - mime: 4.0.7 - mlly: 1.7.4 - ofetch: 1.4.1 - ohash: 2.0.11 - pathe: 2.0.3 - perfect-debounce: 1.0.0 - pkg-types: 2.2.0 - pretty-bytes: 7.0.0 - rollup: 4.46.2 - rollup-plugin-visualizer: 6.0.3(rollup@4.46.2) - rou3: 0.7.3 - scule: 1.3.0 - semver: 7.7.2 - serve-placeholder: 2.0.2 - serve-static: 2.2.0 - source-map: 0.7.6 - srvx: 0.8.2 - std-env: 3.9.0 - ufo: 1.6.1 - ultrahtml: 1.6.0 - uncrypto: 0.1.3 - unctx: 2.4.1 - undici: 7.13.0 - unenv: 2.0.0-rc.19 - unimport: 5.2.0 - unplugin-utils: 0.2.4 - unstorage: 1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.6.1) - untyped: 2.0.0 - unwasm: 0.3.9 - youch: 4.1.0-beta.8 - youch-core: 0.3.3 - optionalDependencies: - vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@electric-sql/pglite' - - '@libsql/client' - - '@netlify/blobs' - - '@planetscale/database' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/kv' - - aws4fetch - - better-sqlite3 - - drizzle-orm - - encoding - - idb-keyval - - mysql2 - - sqlite3 - - supports-color - - uploadthing - nitropack@2.11.12: dependencies: '@cloudflare/kv-asset-handler': 0.4.0 @@ -24284,12 +23844,6 @@ snapshots: exsolve: 1.0.7 pathe: 2.0.3 - pkg-types@2.2.0: - dependencies: - confbox: 0.2.2 - exsolve: 1.0.7 - pathe: 2.0.3 - playwright-core@1.52.0: {} playwright@1.52.0: @@ -24380,8 +23934,6 @@ snapshots: pretty-bytes@6.1.1: {} - pretty-bytes@7.0.0: {} - pretty-error@4.0.0: dependencies: lodash: 4.17.21 @@ -24782,15 +24334,6 @@ snapshots: optionalDependencies: rollup: 4.41.1 - rollup-plugin-visualizer@6.0.3(rollup@4.46.2): - dependencies: - open: 8.4.2 - picomatch: 4.0.3 - source-map: 0.7.6 - yargs: 17.7.2 - optionalDependencies: - rollup: 4.46.2 - rollup@4.41.1: dependencies: '@types/estree': 1.0.7 @@ -25114,8 +24657,6 @@ snapshots: source-map@0.7.4: {} - source-map@0.7.6: {} - spawn-command@0.0.2: {} spdx-correct@3.2.0: @@ -25597,8 +25138,6 @@ snapshots: undici@6.21.2: {} - undici@7.13.0: {} - unenv@2.0.0-rc.17: dependencies: defu: 6.1.4 @@ -25607,14 +25146,6 @@ snapshots: pathe: 2.0.3 ufo: 1.6.1 - unenv@2.0.0-rc.19: - dependencies: - defu: 6.1.4 - exsolve: 1.0.7 - ohash: 2.0.11 - pathe: 2.0.3 - ufo: 1.6.1 - unicode-emoji-modifier-base@1.0.0: {} unicorn-magic@0.1.0: {} @@ -25638,23 +25169,6 @@ snapshots: unplugin: 2.3.5 unplugin-utils: 0.2.4 - unimport@5.2.0: - dependencies: - acorn: 8.15.0 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - local-pkg: 1.1.1 - magic-string: 0.30.17 - mlly: 1.7.4 - pathe: 2.0.3 - picomatch: 4.0.3 - pkg-types: 2.2.0 - scule: 1.3.0 - strip-literal: 3.0.0 - tinyglobby: 0.2.14 - unplugin: 2.3.5 - unplugin-utils: 0.2.4 - universalify@0.1.2: {} universalify@0.2.0: {} @@ -25710,21 +25224,6 @@ snapshots: db0: 0.3.2 ioredis: 5.6.1 - unstorage@1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.6.1): - dependencies: - anymatch: 3.1.3 - chokidar: 4.0.3 - destr: 2.0.5 - h3: 1.15.3 - lru-cache: 10.4.3 - node-fetch-native: 1.6.6 - ofetch: 1.4.1 - ufo: 1.6.1 - optionalDependencies: - '@netlify/blobs': 9.1.2 - db0: 0.3.2 - ioredis: 5.6.1 - untun@0.1.3: dependencies: citty: 0.1.6 @@ -26351,11 +25850,6 @@ snapshots: '@poppinss/exception': 1.2.1 error-stack-parser-es: 1.0.5 - youch-core@0.3.3: - dependencies: - '@poppinss/exception': 1.2.2 - error-stack-parser-es: 1.0.5 - youch@4.1.0-beta.7: dependencies: '@poppinss/dumper': 0.6.3 @@ -26363,14 +25857,6 @@ snapshots: cookie: 1.0.2 youch-core: 0.3.2 - youch@4.1.0-beta.8: - dependencies: - '@poppinss/colors': 4.1.4 - '@poppinss/dumper': 0.6.3 - '@speed-highlight/core': 1.2.7 - cookie: 1.0.2 - youch-core: 0.3.3 - zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 From beafcbd2124f0d4d7965ec43860400f1bb4e35ec Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 00:50:59 +0200 Subject: [PATCH 036/271] adapt custom server entry to fetch API interface --- e2e/solid-start/basic/src/server.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/e2e/solid-start/basic/src/server.ts b/e2e/solid-start/basic/src/server.ts index f9fbb3a2d58..dc9f5474782 100644 --- a/e2e/solid-start/basic/src/server.ts +++ b/e2e/solid-start/basic/src/server.ts @@ -8,6 +8,10 @@ import { createRouter } from './router' console.log("[server-entry]: using custom server entry in 'src/server.ts'") -export default createStartHandler({ +const fetch = createStartHandler({ createRouter, })(defaultStreamHandler) + +export default { + fetch, +} From fa7a554c49acbf5f444c9491f0d6abc2176625bf Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 01:00:47 +0200 Subject: [PATCH 037/271] don't reexport invariant/warning --- packages/react-router/src/index.tsx | 3 --- packages/solid-router/src/index.tsx | 3 --- packages/solid-router/tests/redirect.test.tsx | 2 +- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/react-router/src/index.tsx b/packages/react-router/src/index.tsx index 2d326719518..8babdf0ba88 100644 --- a/packages/react-router/src/index.tsx +++ b/packages/react-router/src/index.tsx @@ -1,6 +1,3 @@ -export { default as invariant } from 'tiny-invariant' -export { default as warning } from 'tiny-warning' - export { defer, TSR_DEFERRED_PROMISE, diff --git a/packages/solid-router/src/index.tsx b/packages/solid-router/src/index.tsx index 1cdfe6327c3..c69bd4b2e15 100644 --- a/packages/solid-router/src/index.tsx +++ b/packages/solid-router/src/index.tsx @@ -1,6 +1,3 @@ -export { default as invariant } from 'tiny-invariant' -export { default as warning } from 'tiny-warning' - export { defer, TSR_DEFERRED_PROMISE, diff --git a/packages/solid-router/tests/redirect.test.tsx b/packages/solid-router/tests/redirect.test.tsx index 5301ed6a5fb..d30265d70a3 100644 --- a/packages/solid-router/tests/redirect.test.tsx +++ b/packages/solid-router/tests/redirect.test.tsx @@ -2,6 +2,7 @@ import { cleanup, fireEvent, render, screen } from '@solidjs/testing-library' import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest' +import invariant from 'tiny-invariant' import { Link, RouterProvider, @@ -10,7 +11,6 @@ import { createRootRoute, createRoute, createRouter, - invariant, redirect, useRouter, } from '../src' From 9c7ce78534a222a6cdd217ab6b1835ba1b8ecde2 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 01:04:52 +0200 Subject: [PATCH 038/271] fix lint --- .../src/staticFunctionMiddleware.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start-static-server-functions/src/staticFunctionMiddleware.ts b/packages/start-static-server-functions/src/staticFunctionMiddleware.ts index 618284f4573..5547cd06120 100644 --- a/packages/start-static-server-functions/src/staticFunctionMiddleware.ts +++ b/packages/start-static-server-functions/src/staticFunctionMiddleware.ts @@ -92,7 +92,7 @@ const serverFnStaticCache: ServerFnStaticCache = { const [cachedResult, readError] = await fs .readFile(filePath, 'utf-8') - .then((c) => [startSerializer.parse(c) as unknown, null]) + .then((c) => [startSerializer.parse(c), null]) .catch((e) => [null, e]) if (readError && readError.code !== 'ENOENT') { From adaf70f6877be9065cd34c0e4f760b83371621cb Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 01:11:07 +0200 Subject: [PATCH 039/271] add missing dep --- e2e/solid-start/spa-mode/package.json | 3 ++- pnpm-lock.yaml | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/e2e/solid-start/spa-mode/package.json b/e2e/solid-start/spa-mode/package.json index 4db03c13d9b..7510a7e78a3 100644 --- a/e2e/solid-start/spa-mode/package.json +++ b/e2e/solid-start/spa-mode/package.json @@ -23,6 +23,7 @@ "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^7.1.1", - "vite-tsconfig-paths": "^5.1.4" + "vite-tsconfig-paths": "^5.1.4", + "vite-plugin-solid": "^2.11.8" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ed052d553d..68c9465cc66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2159,7 +2159,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2205,7 +2205,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2677,6 +2677,9 @@ importers: vite: specifier: 7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite-plugin-solid: + specifier: ^2.11.8 + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) From 7084afd6e56315e54eb714b01cbf0dadcd70cdcc Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 01:55:57 +0200 Subject: [PATCH 040/271] bump vitest --- package.json | 4 +- pnpm-lock.yaml | 195 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 144 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index 3d45dd4d0b1..86b11502711 100644 --- a/package.json +++ b/package.json @@ -65,8 +65,8 @@ "typescript56": "npm:typescript@5.6", "typescript57": "npm:typescript@5.7", "typescript58": "npm:typescript@5.8", - "vite": "7.1.1", - "vitest": "^3.0.6" + "vite": "^7.1.1", + "vitest": "^3.2.4" }, "pnpm": { "overrides": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68c9465cc66..c2ffb0abc26 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -78,10 +78,10 @@ importers: version: 19.0.3(@types/react@19.0.8) '@vitest/browser': specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) + version: 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.2.4) '@vitest/ui': specifier: ^3.0.6 - version: 3.0.6(vitest@3.0.6) + version: 3.0.6(vitest@3.2.4) eslint: specifier: ^9.22.0 version: 9.22.0(jiti@2.5.1) @@ -146,8 +146,8 @@ importers: specifier: 7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vitest: - specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + specifier: ^3.2.4 + version: 3.2.4(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/e2e-utils: devDependencies: @@ -2159,7 +2159,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2205,7 +2205,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -10697,6 +10697,9 @@ packages: '@types/bonjour@3.5.13': resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + '@types/connect-history-api-fallback@1.5.4': resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} @@ -10718,6 +10721,9 @@ packages: '@types/cookies@0.9.0': resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==} + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/diff@7.0.2': resolution: {integrity: sha512-JSWRMozjFKsGlEjiiKajUjIJVKuKdE3oVy2DNtK+fUo8q82nhFZ2CPQwicAIkXrofahDXrWJ7mjelvZphMS98Q==} @@ -10977,8 +10983,8 @@ packages: webdriverio: optional: true - '@vitest/expect@3.0.6': - resolution: {integrity: sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} '@vitest/mocker@3.0.6': resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} @@ -10991,18 +10997,35 @@ packages: vite: optional: true + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + peerDependencies: + msw: ^2.4.9 + vite: 7.1.1 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + '@vitest/pretty-format@3.0.6': resolution: {integrity: sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==} - '@vitest/runner@3.0.6': - resolution: {integrity: sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/snapshot@3.0.6': - resolution: {integrity: sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} '@vitest/spy@3.0.6': resolution: {integrity: sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/ui@3.0.6': resolution: {integrity: sha512-N4M2IUG2Q5LCeX4OWs48pQF4P3qsFejmDTc6QWGRFTLPrEe5EvM5HN0WSUnGAmuzQpSWv7ItfSsIJIWaEM2wpQ==} peerDependencies: @@ -11011,6 +11034,9 @@ packages: '@vitest/utils@3.0.6': resolution: {integrity: sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@volar/language-core@2.4.11': resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==} @@ -11941,6 +11967,15 @@ packages: supports-color: optional: true + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decache@4.6.2: resolution: {integrity: sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==} @@ -12239,6 +12274,9 @@ packages: es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -12502,8 +12540,8 @@ packages: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} - expect-type@1.1.0: - resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + expect-type@1.2.2: + resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} express@4.21.2: @@ -13626,6 +13664,9 @@ packages: loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.2.0: + resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -15242,8 +15283,8 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} - tinypool@1.0.2: - resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: @@ -15254,6 +15295,10 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + engines: {node: '>=14.0.0'} + tldts-core@6.1.76: resolution: {integrity: sha512-uzhJ02RaMzgQR3yPoeE65DrcHI6LoM4saUqXOt/b5hmb3+mc4YWpdSeAQqVqRUlQ14q8ZuLRWyBR1ictK1dzzg==} @@ -15699,8 +15744,8 @@ packages: resolution: {integrity: sha512-CVGXHyKRvDeC3S6SywxTcNGuckmSjwB+2q/v8eDSmwDBTlz0ziRqm49eI5ELLy4djKq6DdCSYvV4EGcwzsHRog==} hasBin: true - vite-node@3.0.6: - resolution: {integrity: sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -15794,16 +15839,16 @@ packages: vite: optional: true - vitest@3.0.6: - resolution: {integrity: sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.6 - '@vitest/ui': 3.0.6 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -19763,6 +19808,10 @@ snapshots: dependencies: '@types/node': 22.13.4 + '@types/chai@5.2.2': + dependencies: + '@types/deep-eql': 4.0.2 + '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.6 @@ -19789,6 +19838,8 @@ snapshots: '@types/keygrip': 1.0.6 '@types/node': 22.13.4 + '@types/deep-eql@4.0.2': {} + '@types/diff@7.0.2': {} '@types/doctrine@0.0.9': {} @@ -20125,7 +20176,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6)': + '@vitest/browser@3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.2.4)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) @@ -20135,7 +20186,7 @@ snapshots: msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vitest: 3.2.4(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) ws: 8.18.0 optionalDependencies: playwright: 1.52.0 @@ -20146,10 +20197,11 @@ snapshots: - utf-8-validate - vite - '@vitest/expect@3.0.6': + '@vitest/expect@3.2.4': dependencies: - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 + '@types/chai': 5.2.2 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 tinyrainbow: 2.0.0 @@ -20162,18 +20214,32 @@ snapshots: msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + '@vitest/mocker@3.2.4(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': + dependencies: + '@vitest/spy': 3.2.4 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + msw: 2.7.0(@types/node@22.13.4)(typescript@5.9.2) + vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + '@vitest/pretty-format@3.0.6': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.6': + '@vitest/pretty-format@3.2.4': dependencies: - '@vitest/utils': 3.0.6 + tinyrainbow: 2.0.0 + + '@vitest/runner@3.2.4': + dependencies: + '@vitest/utils': 3.2.4 pathe: 2.0.3 + strip-literal: 3.0.0 - '@vitest/snapshot@3.0.6': + '@vitest/snapshot@3.2.4': dependencies: - '@vitest/pretty-format': 3.0.6 + '@vitest/pretty-format': 3.2.4 magic-string: 0.30.17 pathe: 2.0.3 @@ -20181,7 +20247,11 @@ snapshots: dependencies: tinyspy: 3.0.2 - '@vitest/ui@3.0.6(vitest@3.0.6)': + '@vitest/spy@3.2.4': + dependencies: + tinyspy: 4.0.3 + + '@vitest/ui@3.0.6(vitest@3.2.4)': dependencies: '@vitest/utils': 3.0.6 fflate: 0.8.2 @@ -20190,7 +20260,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.13 tinyrainbow: 2.0.0 - vitest: 3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vitest: 3.2.4(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) '@vitest/utils@3.0.6': dependencies: @@ -20198,6 +20268,12 @@ snapshots: loupe: 3.1.3 tinyrainbow: 2.0.0 + '@vitest/utils@3.2.4': + dependencies: + '@vitest/pretty-format': 3.2.4 + loupe: 3.2.0 + tinyrainbow: 2.0.0 + '@volar/language-core@2.4.11': dependencies: '@volar/source-map': 2.4.11 @@ -21201,6 +21277,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.1: + dependencies: + ms: 2.1.3 + decache@4.6.2: dependencies: callsite: 1.0.0 @@ -21464,6 +21544,8 @@ snapshots: es-module-lexer@1.6.0: {} + es-module-lexer@1.7.0: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -21929,7 +22011,7 @@ snapshots: dependencies: homedir-polyfill: 1.0.3 - expect-type@1.1.0: {} + expect-type@1.2.2: {} express@4.21.2: dependencies: @@ -22707,7 +22789,7 @@ snapshots: is-reference@1.2.1: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 is-relative@1.0.0: dependencies: @@ -23063,6 +23145,8 @@ snapshots: loupe@3.1.3: {} + loupe@3.2.0: {} + lower-case@2.0.2: dependencies: tslib: 2.8.1 @@ -24959,12 +25043,14 @@ snapshots: fdir: 6.4.6(picomatch@4.0.3) picomatch: 4.0.3 - tinypool@1.0.2: {} + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} tinyspy@3.0.2: {} + tinyspy@4.0.3: {} + tldts-core@6.1.76: {} tldts@6.1.76: @@ -25331,11 +25417,11 @@ snapshots: import-meta-resolve: 4.1.0 zod: 3.25.57 - vite-node@3.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): + vite-node@3.2.4(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: cac: 6.7.14 - debug: 4.4.0 - es-module-lexer: 1.6.0 + debug: 4.4.1 + es-module-lexer: 1.7.0 pathe: 2.0.3 vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: @@ -25464,32 +25550,35 @@ snapshots: optionalDependencies: vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vitest@3.0.6(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): + vitest@3.2.4(@types/node@22.13.4)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.5.1)(jsdom@25.0.1)(lightningcss@1.29.2)(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0): dependencies: - '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) - '@vitest/pretty-format': 3.0.6 - '@vitest/runner': 3.0.6 - '@vitest/snapshot': 3.0.6 - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(msw@2.7.0(@types/node@22.13.4)(typescript@5.9.2))(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 - debug: 4.4.0 - expect-type: 1.1.0 + debug: 4.4.1 + expect-type: 1.2.2 magic-string: 0.30.17 pathe: 2.0.3 + picomatch: 4.0.3 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinypool: 1.0.2 + tinyglobby: 0.2.14 + tinypool: 1.1.1 tinyrainbow: 2.0.0 vite: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - vite-node: 3.0.6(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite-node: 3.2.4(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.13.4 - '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.0.6) - '@vitest/ui': 3.0.6(vitest@3.0.6) + '@vitest/browser': 3.0.6(@types/node@22.13.4)(playwright@1.52.0)(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))(vitest@3.2.4) + '@vitest/ui': 3.0.6(vitest@3.2.4) jsdom: 25.0.1 transitivePeerDependencies: - jiti From f5a99c024b7293e799222535532f5727cf2cf4e7 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 01:57:27 +0200 Subject: [PATCH 041/271] fix lockfile --- pnpm-lock.yaml | 266 ++++++++++++++++++++++++------------------------- 1 file changed, 133 insertions(+), 133 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c2ffb0abc26..01fb7a78ba3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: '@types/react': ^19.0.8 '@types/react-dom': ^19.0.3 eslint: ^9.22.0 - vite: 7.1.1 + vite: ^7.1.1 '@playwright/test': ^1.52.0 '@tanstack/react-query': 5.66.0 '@tanstack/history': workspace:* @@ -143,7 +143,7 @@ importers: specifier: npm:typescript@5.8 version: typescript@5.8.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vitest: specifier: ^3.2.4 @@ -198,7 +198,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-esbuild-file-based: @@ -299,7 +299,7 @@ importers: specifier: ^1.1.11 version: 1.1.11 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-file-based-code-splitting: @@ -348,7 +348,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query: @@ -400,7 +400,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-react-query-file-based: @@ -458,7 +458,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-scroll-restoration: @@ -507,7 +507,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-file-based: @@ -562,7 +562,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/basic-virtual-named-export-config-file-based: @@ -617,7 +617,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/generator-cli-only: @@ -666,7 +666,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/js-only-file-based: @@ -715,7 +715,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/rspack-basic-file-based: @@ -877,7 +877,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-router/sentry-integration: @@ -932,7 +932,7 @@ importers: specifier: ^4.3.4 version: 4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) e2e/react-start/basic: @@ -996,7 +996,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -1035,7 +1035,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': @@ -1105,7 +1105,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@playwright/test': @@ -1169,7 +1169,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@types/react': @@ -1212,7 +1212,7 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': @@ -1255,7 +1255,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -1325,7 +1325,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -1386,7 +1386,7 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -1447,7 +1447,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -1520,7 +1520,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -1606,7 +1606,7 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -1639,7 +1639,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -1740,7 +1740,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -1777,7 +1777,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -1863,7 +1863,7 @@ importers: specifier: ^1.1.11 version: 1.1.11 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -1903,7 +1903,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -1943,7 +1943,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -1986,7 +1986,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -2035,7 +2035,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -2081,7 +2081,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -2127,7 +2127,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -2159,7 +2159,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2205,7 +2205,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2268,7 +2268,7 @@ importers: specifier: workspace:^ version: link:../../e2e-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -2295,7 +2295,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -2347,7 +2347,7 @@ importers: specifier: ^1.9.5 version: 1.9.5 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tanstack/router-e2e-utils': @@ -2384,7 +2384,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -2445,7 +2445,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -2510,7 +2510,7 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -2540,7 +2540,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -2604,7 +2604,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -2675,7 +2675,7 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -2705,7 +2705,7 @@ importers: specifier: ^2.6.0 version: 2.6.0 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) zod: specifier: ^3.24.2 @@ -2785,7 +2785,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/authenticated-routes-firebase: @@ -2840,7 +2840,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic: @@ -2883,7 +2883,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-default-search-params: @@ -2932,7 +2932,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-devtools-panel: @@ -2978,7 +2978,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-file-based: @@ -3027,7 +3027,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-non-nested-devtools: @@ -3070,7 +3070,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query: @@ -3119,7 +3119,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-react-query-file-based: @@ -3174,7 +3174,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-file-based: @@ -3223,7 +3223,7 @@ importers: specifier: ^5.8.3 version: 5.8.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-ssr-streaming-file-based: @@ -3272,7 +3272,7 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-file-based: @@ -3324,7 +3324,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/basic-virtual-inside-file-based: @@ -3376,7 +3376,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/deferred-data: @@ -3422,7 +3422,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink: @@ -3471,7 +3471,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-file-based: @@ -3523,7 +3523,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query: @@ -3578,7 +3578,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/kitchen-sink-react-query-file-based: @@ -3636,7 +3636,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/large-file-based: @@ -3688,7 +3688,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/location-masking: @@ -3737,7 +3737,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/navigation-blocking: @@ -3783,7 +3783,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart: @@ -3823,7 +3823,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-esbuild-file-based: @@ -3906,7 +3906,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/quickstart-rspack-file-based: @@ -4041,7 +4041,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4090,7 +4090,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4127,7 +4127,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4152,7 +4152,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/router-monorepo-react-query/packages/router: @@ -4198,7 +4198,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4241,7 +4241,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4284,7 +4284,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4330,7 +4330,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4364,7 +4364,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4407,7 +4407,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4453,7 +4453,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4484,7 +4484,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4527,7 +4527,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-dts: specifier: ^4.5.0 @@ -4573,7 +4573,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/search-validator-adapters: @@ -4643,7 +4643,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-bare: @@ -4683,7 +4683,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -4738,7 +4738,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -4799,7 +4799,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -4860,7 +4860,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -4912,7 +4912,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -4967,7 +4967,7 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.3 @@ -5022,7 +5022,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5104,7 +5104,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5144,7 +5144,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/start-large: @@ -5202,7 +5202,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5257,7 +5257,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5309,7 +5309,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5358,7 +5358,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5431,7 +5431,7 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5486,7 +5486,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 @@ -5538,7 +5538,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-framer-motion: @@ -5587,7 +5587,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc: @@ -5648,7 +5648,7 @@ importers: specifier: ^4.20.3 version: 4.20.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/react/with-trpc-react-query: @@ -5718,7 +5718,7 @@ importers: specifier: ^4.20.3 version: 4.20.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) examples/solid/basic: @@ -5755,7 +5755,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -5789,7 +5789,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -5829,7 +5829,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -5869,7 +5869,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -5912,7 +5912,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -5958,7 +5958,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6013,7 +6013,7 @@ importers: specifier: ^5.7.2 version: 5.8.3 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6056,7 +6056,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6096,7 +6096,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6136,7 +6136,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6182,7 +6182,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6231,7 +6231,7 @@ importers: specifier: ^5.6.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6295,7 +6295,7 @@ importers: specifier: ^7.20.7 version: 7.20.7 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/eslint-plugin-router: @@ -6432,7 +6432,7 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/react-start-client: @@ -6676,7 +6676,7 @@ importers: specifier: ^2.1.2 version: 2.3.4 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 @@ -6886,7 +6886,7 @@ importers: specifier: workspace:* version: link:../router-utils vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/solid-start-client: @@ -7039,7 +7039,7 @@ importers: specifier: ^7.20.5 version: 7.20.5 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-core: @@ -7079,7 +7079,7 @@ importers: specifier: ^5.7.2 version: 5.8.2 vite: - specifier: 7.1.1 + specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-functions-client: @@ -10545,7 +10545,7 @@ packages: '@tailwindcss/vite@4.1.6': resolution: {integrity: sha512-zjtqjDeY1w3g2beYQtrMAf51n5G7o+UwmyOjtsDMP7t6XyoRMOidcoKP32ps7AkNOHIXEOK0bhIC05dj8oJp4w==} peerDependencies: - vite: 7.1.1 + vite: ^7.1.1 '@tanstack/config@0.16.1': resolution: {integrity: sha512-GLt1xyQCGRty58N2jv0ONouv8OU46FjkbcSSTiAKwydcX+JycZ7FCLWt05lefrvuV8Eay0eNuN0sYUemObZLEA==} @@ -10960,13 +10960,13 @@ packages: resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 7.1.1 + vite: ^7.1.1 '@vitejs/plugin-react@4.6.0': resolution: {integrity: sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: 7.1.1 + vite: ^7.1.1 '@vitest/browser@3.0.6': resolution: {integrity: sha512-FqKwCAkALZfNzGNx4YvRJa6HCWM2USWTjOdNO2egI/s6+3WkIl4xAlYISOARLJLDAI3yCXcpTtuUUF39K8TQgw==} @@ -10990,7 +10990,7 @@ packages: resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} peerDependencies: msw: ^2.4.9 - vite: 7.1.1 + vite: ^7.1.1 peerDependenciesMeta: msw: optional: true @@ -11001,7 +11001,7 @@ packages: resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 - vite: 7.1.1 + vite: ^7.1.1 peerDependenciesMeta: msw: optional: true @@ -15754,7 +15754,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: typescript: '*' - vite: 7.1.1 + vite: ^7.1.1 peerDependenciesMeta: vite: optional: true @@ -15763,7 +15763,7 @@ packages: resolution: {integrity: sha512-M1lrPTdi7gilLYRZoLmGYnl4fbPryVYsehPN9JgaxjJKTs8/f7tuAlvCCvOLB5gRDQTTKnptBcB0ACsaw2wNLw==} peerDependencies: typescript: '*' - vite: 7.1.1 + vite: ^7.1.1 peerDependenciesMeta: vite: optional: true @@ -15771,14 +15771,14 @@ packages: vite-plugin-externalize-deps@0.9.0: resolution: {integrity: sha512-wg3qb5gCy2d1KpPKyD9wkXMcYJ84yjgziHrStq9/8R7chhUC73mhQz+tVtvhFiICQHsBn1pnkY4IBbPqF9JHNw==} peerDependencies: - vite: 7.1.1 + vite: ^7.1.1 vite-plugin-solid@2.11.8: resolution: {integrity: sha512-hFrCxBfv3B1BmFqnJF4JOCYpjrmi/zwyeKjcomQ0khh8HFyQ8SbuBWQ7zGojfrz6HUOBFrJBNySDi/JgAHytWg==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 - vite: 7.1.1 + vite: ^7.1.1 peerDependenciesMeta: '@testing-library/jest-dom': optional: true @@ -15786,7 +15786,7 @@ packages: vite-tsconfig-paths@5.1.4: resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} peerDependencies: - vite: 7.1.1 + vite: ^7.1.1 peerDependenciesMeta: vite: optional: true @@ -15834,7 +15834,7 @@ packages: vitefu@1.1.1: resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} peerDependencies: - vite: 7.1.1 + vite: ^7.1.1 peerDependenciesMeta: vite: optional: true From 93afcca2fc4412f5c0ac591bae51de0626af82d0 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sat, 9 Aug 2025 03:47:52 +0200 Subject: [PATCH 042/271] add wait for networkidle --- e2e/react-start/basic/tests/redirect.spec.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/e2e/react-start/basic/tests/redirect.spec.ts b/e2e/react-start/basic/tests/redirect.spec.ts index 87e93a42e6b..233b340bd64 100644 --- a/e2e/react-start/basic/tests/redirect.spec.ts +++ b/e2e/react-start/basic/tests/redirect.spec.ts @@ -184,6 +184,8 @@ test.describe('redirects', () => { await page.goto(`/redirect/${target}/serverFn/via-useServerFn?${q}`) + await page.waitForLoadState('networkidle') + const button = page.getByTestId('redirect-on-click') let fullPageLoad = false From 5cb57797fdf8600f011007550c2a8e2365e672c2 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sat, 9 Aug 2025 12:04:18 +0200 Subject: [PATCH 043/271] update e2e-tests --- .../basic-react-query/package.json | 3 +- e2e/react-start/basic-tsr-config/package.json | 3 +- .../basic-tsr-config/tests/app.spec.ts | 11 +- e2e/react-start/basic/package.json | 2 +- e2e/react-start/custom-basepath/package.json | 3 +- .../scroll-restoration/package.json | 3 +- e2e/react-start/selective-ssr/package.json | 3 +- e2e/react-start/server-functions/package.json | 3 +- .../server-functions/src/routes/headers.tsx | 8 +- .../tests/server-functions.spec.ts | 5 +- e2e/react-start/server-routes/package.json | 3 +- e2e/react-start/spa-mode/package.json | 2 +- e2e/react-start/virtual-routes/package.json | 3 +- e2e/react-start/website/package.json | 3 +- e2e/solid-start/basic-tsr-config/package.json | 4 +- .../basic-tsr-config/tests/app.spec.ts | 1 + e2e/solid-start/basic/package.json | 3 +- e2e/solid-start/basic/tests/redirect.spec.ts | 2 + e2e/solid-start/custom-basepath/package.json | 3 +- .../scroll-restoration/package.json | 3 +- e2e/solid-start/selective-ssr/package.json | 4 +- e2e/solid-start/server-functions/package.json | 3 +- e2e/solid-start/server-routes/package.json | 3 +- e2e/solid-start/spa-mode/package.json | 2 +- e2e/solid-start/website/package.json | 3 +- pnpm-lock.yaml | 120 ++++++++++++++---- 26 files changed, 151 insertions(+), 55 deletions(-) diff --git a/e2e/react-start/basic-react-query/package.json b/e2e/react-start/basic-react-query/package.json index d502f94a492..2848f8e0279 100644 --- a/e2e/react-start/basic-react-query/package.json +++ b/e2e/react-start/basic-react-query/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -32,6 +32,7 @@ "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/basic-tsr-config/package.json b/e2e/react-start/basic-tsr-config/package.json index 8317b816a28..103b9cf4e0d 100644 --- a/e2e/react-start/basic-tsr-config/package.json +++ b/e2e/react-start/basic-tsr-config/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "rimraf ./count.txt && vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -22,6 +22,7 @@ "@types/node": "^22.10.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "srvx": "^0.8.6", "typescript": "^5.7.2" } } diff --git a/e2e/react-start/basic-tsr-config/tests/app.spec.ts b/e2e/react-start/basic-tsr-config/tests/app.spec.ts index e3488df952b..07a562fcb31 100644 --- a/e2e/react-start/basic-tsr-config/tests/app.spec.ts +++ b/e2e/react-start/basic-tsr-config/tests/app.spec.ts @@ -2,9 +2,14 @@ import { expect, test } from '@playwright/test' test('opening the app', async ({ page }) => { await page.goto('/') + await page.waitForLoadState('networkidle') + + const button = page.getByTestId('add-button') - await expect(page.getByTestId('add-button')).toContainText('Add 1 to 0?') - await page.getByTestId('add-button').click() + await expect(button).toContainText('Add 1 to 0?') + + await button.click() await page.waitForLoadState('networkidle') - await expect(page.getByTestId('add-button')).toContainText('Add 1 to 1?') + + await expect(button).toContainText('Add 1 to 1?') }) diff --git a/e2e/react-start/basic/package.json b/e2e/react-start/basic/package.json index cfc1b0640f1..9de07e45866 100644 --- a/e2e/react-start/basic/package.json +++ b/e2e/react-start/basic/package.json @@ -29,7 +29,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.2", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/e2e/react-start/custom-basepath/package.json b/e2e/react-start/custom-basepath/package.json index 9afca239b3f..3584d39ceb2 100644 --- a/e2e/react-start/custom-basepath/package.json +++ b/e2e/react-start/custom-basepath/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -31,6 +31,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/scroll-restoration/package.json b/e2e/react-start/scroll-restoration/package.json index 1f476178cea..b847915ff7a 100644 --- a/e2e/react-start/scroll-restoration/package.json +++ b/e2e/react-start/scroll-restoration/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -32,6 +32,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/selective-ssr/package.json b/e2e/react-start/selective-ssr/package.json index c86afc5a098..a573ae57d07 100644 --- a/e2e/react-start/selective-ssr/package.json +++ b/e2e/react-start/selective-ssr/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -27,6 +27,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2" } diff --git a/e2e/react-start/server-functions/package.json b/e2e/react-start/server-functions/package.json index b34b560bba1..253b0eef9e4 100644 --- a/e2e/react-start/server-functions/package.json +++ b/e2e/react-start/server-functions/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -33,6 +33,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/server-functions/src/routes/headers.tsx b/e2e/react-start/server-functions/src/routes/headers.tsx index 77c576e40b8..3784b56c074 100644 --- a/e2e/react-start/server-functions/src/routes/headers.tsx +++ b/e2e/react-start/server-functions/src/routes/headers.tsx @@ -1,7 +1,7 @@ import { createFileRoute } from '@tanstack/react-router' import * as React from 'react' import { createServerFn } from '@tanstack/react-start' -import { getHeaders, setHeader } from '@tanstack/react-start/server' +import { getRequestHeaders, setResponseHeaders } from '@tanstack/react-start/server' import type { HTTPHeaderName } from '@tanstack/react-start/server' export const Route = createFileRoute('/headers')({ @@ -17,11 +17,11 @@ export const Route = createFileRoute('/headers')({ }) export const getTestHeaders = createServerFn().handler(() => { - setHeader('x-test-header', 'test-value') + setResponseHeaders('x-test-header', 'test-value') return { - serverHeaders: getHeaders(), - headers: getHeaders(), + serverHeaders: getRequestHeaders(), + headers: getRequestHeaders(), } }) diff --git a/e2e/react-start/server-functions/tests/server-functions.spec.ts b/e2e/react-start/server-functions/tests/server-functions.spec.ts index 86332e74918..d46beeda324 100644 --- a/e2e/react-start/server-functions/tests/server-functions.spec.ts +++ b/e2e/react-start/server-functions/tests/server-functions.spec.ts @@ -1,8 +1,11 @@ import * as fs from 'node:fs' import { expect, test } from '@playwright/test' -import { PORT } from '../playwright.config' +import { getTestServerPort } from '@tanstack/router-e2e-utils' +import packageJson from '../package.json' with { type: 'json' } import type { Page } from '@playwright/test' +const PORT = await getTestServerPort(packageJson.name) + test('invoking a server function with custom response status code', async ({ page, }) => { diff --git a/e2e/react-start/server-routes/package.json b/e2e/react-start/server-routes/package.json index c9755100c19..66dbd1e5cc0 100644 --- a/e2e/react-start/server-routes/package.json +++ b/e2e/react-start/server-routes/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "playwright test --project=chromium" }, "dependencies": { @@ -33,6 +33,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/spa-mode/package.json b/e2e/react-start/spa-mode/package.json index 589c3cc366a..d39ce80e4c1 100644 --- a/e2e/react-start/spa-mode/package.json +++ b/e2e/react-start/spa-mode/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "npx serve .output/public", + "start": "npx serve dist/public", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { diff --git a/e2e/react-start/virtual-routes/package.json b/e2e/react-start/virtual-routes/package.json index 5fddf36b241..691f699f989 100644 --- a/e2e/react-start/virtual-routes/package.json +++ b/e2e/react-start/virtual-routes/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -32,6 +32,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/website/package.json b/e2e/react-start/website/package.json index 74b631c573a..1c8e460cf94 100644 --- a/e2e/react-start/website/package.json +++ b/e2e/react-start/website/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -29,6 +29,7 @@ "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/e2e/solid-start/basic-tsr-config/package.json b/e2e/solid-start/basic-tsr-config/package.json index 1fb0a942843..b0892cbe24d 100644 --- a/e2e/solid-start/basic-tsr-config/package.json +++ b/e2e/solid-start/basic-tsr-config/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "rimraf ./count.txt && vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -20,7 +20,9 @@ "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", "@types/node": "^22.10.2", + "srvx": "^0.8.6", "typescript": "^5.7.2", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/basic-tsr-config/tests/app.spec.ts b/e2e/solid-start/basic-tsr-config/tests/app.spec.ts index e3488df952b..782007684ab 100644 --- a/e2e/solid-start/basic-tsr-config/tests/app.spec.ts +++ b/e2e/solid-start/basic-tsr-config/tests/app.spec.ts @@ -3,6 +3,7 @@ import { expect, test } from '@playwright/test' test('opening the app', async ({ page }) => { await page.goto('/') + await page.waitForLoadState('networkidle') await expect(page.getByTestId('add-button')).toContainText('Add 1 to 0?') await page.getByTestId('add-button').click() await page.waitForLoadState('networkidle') diff --git a/e2e/solid-start/basic/package.json b/e2e/solid-start/basic/package.json index 62d6049ab77..a4fb4d15d7c 100644 --- a/e2e/solid-start/basic/package.json +++ b/e2e/solid-start/basic/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -27,6 +27,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/basic/tests/redirect.spec.ts b/e2e/solid-start/basic/tests/redirect.spec.ts index 87e93a42e6b..233b340bd64 100644 --- a/e2e/solid-start/basic/tests/redirect.spec.ts +++ b/e2e/solid-start/basic/tests/redirect.spec.ts @@ -184,6 +184,8 @@ test.describe('redirects', () => { await page.goto(`/redirect/${target}/serverFn/via-useServerFn?${q}`) + await page.waitForLoadState('networkidle') + const button = page.getByTestId('redirect-on-click') let fullPageLoad = false diff --git a/e2e/solid-start/custom-basepath/package.json b/e2e/solid-start/custom-basepath/package.json index 10f3e221a13..260a3b92f15 100644 --- a/e2e/solid-start/custom-basepath/package.json +++ b/e2e/solid-start/custom-basepath/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -27,6 +27,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/scroll-restoration/package.json b/e2e/solid-start/scroll-restoration/package.json index 5cc61329a07..fdfbc8a1d89 100644 --- a/e2e/solid-start/scroll-restoration/package.json +++ b/e2e/solid-start/scroll-restoration/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -28,6 +28,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/selective-ssr/package.json b/e2e/solid-start/selective-ssr/package.json index 140d98ca4b4..1dd0d02e9b9 100644 --- a/e2e/solid-start/selective-ssr/package.json +++ b/e2e/solid-start/selective-ssr/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -19,9 +19,11 @@ "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^7.1.1", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/server-functions/package.json b/e2e/solid-start/server-functions/package.json index 3b1b7d220e7..750cf55599a 100644 --- a/e2e/solid-start/server-functions/package.json +++ b/e2e/solid-start/server-functions/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -29,6 +29,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/server-routes/package.json b/e2e/solid-start/server-routes/package.json index edbc4ab6487..f69eb068983 100644 --- a/e2e/solid-start/server-routes/package.json +++ b/e2e/solid-start/server-routes/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "playwright test --project=chromium" }, "dependencies": { @@ -29,6 +29,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/spa-mode/package.json b/e2e/solid-start/spa-mode/package.json index 7510a7e78a3..1fa3b87fd30 100644 --- a/e2e/solid-start/spa-mode/package.json +++ b/e2e/solid-start/spa-mode/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "npx serve .output/public", + "start": "npx serve dist/public", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { diff --git a/e2e/solid-start/website/package.json b/e2e/solid-start/website/package.json index 20b6bf1302c..6b3cd7b693f 100644 --- a/e2e/solid-start/website/package.json +++ b/e2e/solid-start/website/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { @@ -26,6 +26,7 @@ "@types/node": "^22.10.2", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 01fb7a78ba3..7580db0cdb1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -987,8 +987,8 @@ importers: specifier: ^8.5.1 version: 8.5.3 srvx: - specifier: ^0.8.2 - version: 0.8.2 + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1132,6 +1132,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1227,6 +1230,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + srvx: + specifier: ^0.8.6 + version: 0.8.6 typescript: specifier: ^5.7.2 version: 5.8.2 @@ -1288,6 +1294,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1358,6 +1367,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1413,6 +1425,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1483,6 +1498,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1556,6 +1574,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1672,6 +1693,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1733,6 +1757,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2319,6 +2346,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2356,9 +2386,15 @@ importers: '@types/node': specifier: ^22.10.2 version: 22.13.4 + srvx: + specifier: ^0.8.6 + version: 0.8.6 typescript: specifier: ^5.7.2 version: 5.8.2 + vite-plugin-solid: + specifier: ^2.11.8 + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) @@ -2408,6 +2444,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2469,6 +2508,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2503,6 +2545,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2512,6 +2557,9 @@ importers: vite: specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite-plugin-solid: + specifier: ^2.11.8 + version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) vite-tsconfig-paths: specifier: ^5.1.4 version: 5.1.4(typescript@5.8.3)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) @@ -2567,6 +2615,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2631,6 +2682,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -2726,6 +2780,9 @@ importers: postcss: specifier: ^8.5.1 version: 8.5.3 + srvx: + specifier: ^0.8.6 + version: 0.8.6 tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -3981,10 +4038,10 @@ importers: version: 19.0.3(@types/react@19.0.8) html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1) swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1) typescript: specifier: ^5.7.2 version: 5.8.2 @@ -7067,7 +7124,7 @@ importers: version: 0.1.5 h3: specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3(crossws@0.4.1(srvx@0.8.2)) + version: 2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)) tiny-invariant: specifier: ^1.3.3 version: 1.3.3 @@ -15055,6 +15112,11 @@ packages: resolution: {integrity: sha512-anC1+7B6tryHQd4lFVSDZIfZ1QwJwqm5h1iveKwC1E40PA8nOD50hEt7+AlUoGc9jW3OdmztWBqf4yHCdCPdRQ==} engines: {node: '>=20.16.0'} + srvx@0.8.6: + resolution: {integrity: sha512-jnIxPn5A7ugRKGZ/+TlcD2hKIkMx64aTAk1ct0y+S4MWXIzTbpq+7B1gdpZTwJZvNJu5/ayx7c/1YT0pAmD0Kw==} + engines: {node: '>=20.16.0'} + hasBin: true + stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} @@ -20425,17 +20487,17 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.97.1)': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.97.1)': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1)': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) @@ -21216,9 +21278,9 @@ snapshots: dependencies: uncrypto: 0.1.3 - crossws@0.4.1(srvx@0.8.2): + crossws@0.4.1(srvx@0.8.6): optionalDependencies: - srvx: 0.8.2 + srvx: 0.8.6 optional: true css-select@4.3.0: @@ -22452,14 +22514,14 @@ snapshots: ufo: 1.6.1 uncrypto: 0.1.3 - h3@2.0.0-beta.3(crossws@0.4.1(srvx@0.8.2)): + h3@2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)): dependencies: cookie-es: 2.0.0 fetchdts: 0.1.5 rou3: 0.7.3 - srvx: 0.8.2 + srvx: 0.8.6 optionalDependencies: - crossws: 0.4.1(srvx@0.8.2) + crossws: 0.4.1(srvx@0.8.6) handle-thing@2.0.1: {} @@ -22522,7 +22584,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -24789,6 +24851,10 @@ snapshots: dependencies: cookie-es: 2.0.0 + srvx@0.8.6: + dependencies: + cookie-es: 2.0.0 + stable-hash@0.0.4: {} stack-trace@0.0.10: {} @@ -24898,7 +24964,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1): dependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) '@swc/counter': 0.1.3 @@ -24970,26 +25036,26 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 @@ -24997,7 +25063,7 @@ snapshots: terser@5.37.0: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.14.1 + acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -25140,7 +25206,7 @@ snapshots: tsx@4.20.3: dependencies: - esbuild: 0.25.4 + esbuild: 0.25.8 get-tsconfig: 4.10.0 optionalDependencies: fsevents: 2.3.3 @@ -25652,9 +25718,9 @@ snapshots: webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.97.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.97.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 @@ -25668,7 +25734,7 @@ snapshots: optionalDependencies: webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1) - webpack-dev-middleware@7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + webpack-dev-middleware@7.4.2(webpack@5.97.1): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -25706,7 +25772,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + webpack-dev-middleware: 7.4.2(webpack@5.97.1) ws: 8.18.0 optionalDependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) @@ -25781,7 +25847,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: From c8171007a8a30a2f85640f5110180962162bb503 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 10:05:21 +0000 Subject: [PATCH 044/271] ci: apply automated fixes --- e2e/react-start/basic-react-query/package.json | 2 +- e2e/react-start/basic-tsr-config/package.json | 2 +- e2e/react-start/custom-basepath/package.json | 2 +- e2e/react-start/scroll-restoration/package.json | 2 +- e2e/react-start/selective-ssr/package.json | 2 +- e2e/react-start/server-functions/package.json | 2 +- e2e/react-start/server-functions/src/routes/headers.tsx | 5 ++++- e2e/react-start/server-routes/package.json | 2 +- e2e/react-start/virtual-routes/package.json | 2 +- e2e/react-start/website/package.json | 2 +- e2e/solid-start/basic-tsr-config/package.json | 4 ++-- e2e/solid-start/basic/package.json | 2 +- e2e/solid-start/scroll-restoration/package.json | 2 +- e2e/solid-start/selective-ssr/package.json | 4 ++-- e2e/solid-start/server-functions/package.json | 2 +- e2e/solid-start/server-routes/package.json | 2 +- e2e/solid-start/website/package.json | 2 +- 17 files changed, 22 insertions(+), 19 deletions(-) diff --git a/e2e/react-start/basic-react-query/package.json b/e2e/react-start/basic-react-query/package.json index 2848f8e0279..173ee1138e2 100644 --- a/e2e/react-start/basic-react-query/package.json +++ b/e2e/react-start/basic-react-query/package.json @@ -32,7 +32,7 @@ "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/basic-tsr-config/package.json b/e2e/react-start/basic-tsr-config/package.json index 103b9cf4e0d..dd32cc18dd8 100644 --- a/e2e/react-start/basic-tsr-config/package.json +++ b/e2e/react-start/basic-tsr-config/package.json @@ -22,7 +22,7 @@ "@types/node": "^22.10.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "typescript": "^5.7.2" } } diff --git a/e2e/react-start/custom-basepath/package.json b/e2e/react-start/custom-basepath/package.json index 3584d39ceb2..6c7a60eddb1 100644 --- a/e2e/react-start/custom-basepath/package.json +++ b/e2e/react-start/custom-basepath/package.json @@ -31,7 +31,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/scroll-restoration/package.json b/e2e/react-start/scroll-restoration/package.json index b847915ff7a..8b56fcea552 100644 --- a/e2e/react-start/scroll-restoration/package.json +++ b/e2e/react-start/scroll-restoration/package.json @@ -32,7 +32,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/selective-ssr/package.json b/e2e/react-start/selective-ssr/package.json index a573ae57d07..f84a000dad1 100644 --- a/e2e/react-start/selective-ssr/package.json +++ b/e2e/react-start/selective-ssr/package.json @@ -27,7 +27,7 @@ "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2" } diff --git a/e2e/react-start/server-functions/package.json b/e2e/react-start/server-functions/package.json index 253b0eef9e4..ed6452bd654 100644 --- a/e2e/react-start/server-functions/package.json +++ b/e2e/react-start/server-functions/package.json @@ -33,7 +33,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/server-functions/src/routes/headers.tsx b/e2e/react-start/server-functions/src/routes/headers.tsx index 3784b56c074..bc0a20803d4 100644 --- a/e2e/react-start/server-functions/src/routes/headers.tsx +++ b/e2e/react-start/server-functions/src/routes/headers.tsx @@ -1,7 +1,10 @@ import { createFileRoute } from '@tanstack/react-router' import * as React from 'react' import { createServerFn } from '@tanstack/react-start' -import { getRequestHeaders, setResponseHeaders } from '@tanstack/react-start/server' +import { + getRequestHeaders, + setResponseHeaders, +} from '@tanstack/react-start/server' import type { HTTPHeaderName } from '@tanstack/react-start/server' export const Route = createFileRoute('/headers')({ diff --git a/e2e/react-start/server-routes/package.json b/e2e/react-start/server-routes/package.json index 66dbd1e5cc0..3e443a014fd 100644 --- a/e2e/react-start/server-routes/package.json +++ b/e2e/react-start/server-routes/package.json @@ -33,7 +33,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/virtual-routes/package.json b/e2e/react-start/virtual-routes/package.json index 691f699f989..d3f6ab1e7e8 100644 --- a/e2e/react-start/virtual-routes/package.json +++ b/e2e/react-start/virtual-routes/package.json @@ -32,7 +32,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-tsconfig-paths": "^5.1.4" diff --git a/e2e/react-start/website/package.json b/e2e/react-start/website/package.json index 1c8e460cf94..adfa0ab404b 100644 --- a/e2e/react-start/website/package.json +++ b/e2e/react-start/website/package.json @@ -29,7 +29,7 @@ "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/e2e/solid-start/basic-tsr-config/package.json b/e2e/solid-start/basic-tsr-config/package.json index b0892cbe24d..f7585d40f5c 100644 --- a/e2e/solid-start/basic-tsr-config/package.json +++ b/e2e/solid-start/basic-tsr-config/package.json @@ -20,9 +20,9 @@ "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", "@types/node": "^22.10.2", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.8", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/basic/package.json b/e2e/solid-start/basic/package.json index a4fb4d15d7c..fdcf8a5a423 100644 --- a/e2e/solid-start/basic/package.json +++ b/e2e/solid-start/basic/package.json @@ -27,7 +27,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/scroll-restoration/package.json b/e2e/solid-start/scroll-restoration/package.json index fdfbc8a1d89..1fd57b9933d 100644 --- a/e2e/solid-start/scroll-restoration/package.json +++ b/e2e/solid-start/scroll-restoration/package.json @@ -28,7 +28,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/selective-ssr/package.json b/e2e/solid-start/selective-ssr/package.json index 1dd0d02e9b9..32ce15f0496 100644 --- a/e2e/solid-start/selective-ssr/package.json +++ b/e2e/solid-start/selective-ssr/package.json @@ -19,11 +19,11 @@ "devDependencies": { "@tanstack/router-e2e-utils": "workspace:^", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite": "^7.1.1", - "vite-plugin-solid": "^2.11.8", + "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/solid-start/server-functions/package.json b/e2e/solid-start/server-functions/package.json index 750cf55599a..1476486d274 100644 --- a/e2e/solid-start/server-functions/package.json +++ b/e2e/solid-start/server-functions/package.json @@ -29,7 +29,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/server-routes/package.json b/e2e/solid-start/server-routes/package.json index f69eb068983..6b817af5416 100644 --- a/e2e/solid-start/server-routes/package.json +++ b/e2e/solid-start/server-routes/package.json @@ -29,7 +29,7 @@ "autoprefixer": "^10.4.20", "combinate": "^1.1.11", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", diff --git a/e2e/solid-start/website/package.json b/e2e/solid-start/website/package.json index 6b3cd7b693f..bb5598c6bc0 100644 --- a/e2e/solid-start/website/package.json +++ b/e2e/solid-start/website/package.json @@ -26,7 +26,7 @@ "@types/node": "^22.10.2", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", - "srvx": "^0.8.6", + "srvx": "^0.8.6", "tailwindcss": "^3.4.17", "typescript": "^5.7.2", "vite-plugin-solid": "^2.11.8", From ee22571131e57b1cd3ac51cc2200c2ebd9653d47 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sat, 9 Aug 2025 13:03:29 +0200 Subject: [PATCH 045/271] export ResponseHeaderName and RequestHeaderName --- packages/start-server-core/src/request-response.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/start-server-core/src/request-response.ts b/packages/start-server-core/src/request-response.ts index 0b62d702c17..d68bc9efa95 100644 --- a/packages/start-server-core/src/request-response.ts +++ b/packages/start-server-core/src/request-response.ts @@ -26,6 +26,8 @@ const eventStorage = new AsyncLocalStorage() export type RequestHandler = (request: Request) => Promise | Response +export type {ResponseHeaderName, RequestHeaderName} + export function requestHandler(handler: RequestHandler) { return (request: Request): Promise | Response => { const h3Event = new h3.H3Event(request) From df1e08b897788216d4fc4b7ffc3333f957f6efb9 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sat, 9 Aug 2025 13:05:02 +0200 Subject: [PATCH 046/271] update test to use new Header type exports --- .../server-functions/src/routes/headers.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/e2e/react-start/server-functions/src/routes/headers.tsx b/e2e/react-start/server-functions/src/routes/headers.tsx index bc0a20803d4..95db9ef99c2 100644 --- a/e2e/react-start/server-functions/src/routes/headers.tsx +++ b/e2e/react-start/server-functions/src/routes/headers.tsx @@ -3,9 +3,9 @@ import * as React from 'react' import { createServerFn } from '@tanstack/react-start' import { getRequestHeaders, - setResponseHeaders, + setResponseHeader, } from '@tanstack/react-start/server' -import type { HTTPHeaderName } from '@tanstack/react-start/server' +import type { RequestHeaderName } from '@tanstack/react-start/server' export const Route = createFileRoute('/headers')({ loader: async () => { @@ -20,17 +20,18 @@ export const Route = createFileRoute('/headers')({ }) export const getTestHeaders = createServerFn().handler(() => { - setResponseHeaders('x-test-header', 'test-value') + setResponseHeader('x-test-header', 'test-value') + const reqHeaders= Object.fromEntries(getRequestHeaders().entries()) return { - serverHeaders: getRequestHeaders(), - headers: getRequestHeaders(), + serverHeaders: reqHeaders, + headers: reqHeaders, } }) type TestHeadersResult = { - headers?: Partial> - serverHeaders?: Partial> + headers?: Partial> + serverHeaders?: Partial> } function ResponseHeaders({ From 28c7ce97861e7f7cdf6f6b9adb2832ff7e24708b Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 11:09:56 +0000 Subject: [PATCH 047/271] ci: apply automated fixes --- e2e/react-start/server-functions/src/routes/headers.tsx | 2 +- packages/start-server-core/src/request-response.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/e2e/react-start/server-functions/src/routes/headers.tsx b/e2e/react-start/server-functions/src/routes/headers.tsx index 95db9ef99c2..79b05c0fcb3 100644 --- a/e2e/react-start/server-functions/src/routes/headers.tsx +++ b/e2e/react-start/server-functions/src/routes/headers.tsx @@ -21,7 +21,7 @@ export const Route = createFileRoute('/headers')({ export const getTestHeaders = createServerFn().handler(() => { setResponseHeader('x-test-header', 'test-value') - const reqHeaders= Object.fromEntries(getRequestHeaders().entries()) + const reqHeaders = Object.fromEntries(getRequestHeaders().entries()) return { serverHeaders: reqHeaders, diff --git a/packages/start-server-core/src/request-response.ts b/packages/start-server-core/src/request-response.ts index d68bc9efa95..94ca125f60b 100644 --- a/packages/start-server-core/src/request-response.ts +++ b/packages/start-server-core/src/request-response.ts @@ -26,7 +26,7 @@ const eventStorage = new AsyncLocalStorage() export type RequestHandler = (request: Request) => Promise | Response -export type {ResponseHeaderName, RequestHeaderName} +export type { ResponseHeaderName, RequestHeaderName } export function requestHandler(handler: RequestHandler) { return (request: Request): Promise | Response => { From 29b8b0c46f7058831187f427628701dfad364946 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 14:38:44 +0200 Subject: [PATCH 048/271] docs --- .../start/framework/react/learn-the-basics.md | 18 ++++++++-- .../start/framework/react/server-functions.md | 31 +++++++--------- docs/start/framework/react/server-routes.md | 36 +++---------------- .../start/framework/solid/learn-the-basics.md | 16 ++++++++- 4 files changed, 49 insertions(+), 52 deletions(-) diff --git a/docs/start/framework/react/learn-the-basics.md b/docs/start/framework/react/learn-the-basics.md index d9f9939be6c..8e4e49b4e88 100644 --- a/docs/start/framework/react/learn-the-basics.md +++ b/docs/start/framework/react/learn-the-basics.md @@ -49,7 +49,7 @@ The `routeTree.gen.ts` file is generated when you run TanStack Start (via `npm r > [!NOTE] > The server entry point is **optional** out of the box. If not provided, TanStack Start will automatically handle the server entry point for you using the below as a default. -This is done via the `src/server.ts` file: +This is done via the `src/server.ts` file. ```tsx // src/server.ts @@ -59,9 +59,23 @@ import { } from '@tanstack/react-start/server' import { createRouter } from './router' -export default createStartHandler({ +const fetch = createStartHandler({ createRouter, })(defaultStreamHandler) + +export default { + fetch, +} +``` + +The entry point must conform to the following interface: + +```tsx +export default { + fetch(req: Request): Promise { + // ... + }, +} ``` Whether we are statically generating our app or serving it dynamically, the `server.ts` file is the entry point for doing all SSR-related work. diff --git a/docs/start/framework/react/server-functions.md b/docs/start/framework/react/server-functions.md index 2c6a075b35b..ad9604bd742 100644 --- a/docs/start/framework/react/server-functions.md +++ b/docs/start/framework/react/server-functions.md @@ -360,7 +360,7 @@ function Test() { ## Server Function Context -In addition to the single parameter that server functions accept, you can also access server request context from within any server function using utilities from `@tanstack/react-start/server`. Under the hood, we use [Unjs](https://unjs.io/)'s `h3` package to perform cross-platform HTTP requests. +In addition to the single parameter that server functions accept, you can also access server request context from within any server function using utilities from `@tanstack/react-start/server`. There are many context functions available to you for things like: @@ -369,23 +369,20 @@ There are many context functions available to you for things like: - Accessing/setting sessions/cookies - Setting response status codes and status messages - Dealing with multi-part form data -- Reading/Setting custom server context properties - -For a full list of available context functions, see all of the available [h3 Methods](https://h3.unjs.io/utils/request) or inspect the [@tanstack/start-server-core Source Code](https://github.com/TanStack/router/tree/main/packages/start-server-core/src). For starters, here are a few examples: ## Accessing the Request Context -Let's use the `getWebRequest` function to access the request itself from within a server function: +Let's use the `getRequest` function to access the request itself from within a server function: ```tsx import { createServerFn } from '@tanstack/react-start' -import { getWebRequest } from '@tanstack/react-start/server' +import { getRequest } from '@tanstack/react-start/server' export const getServerTime = createServerFn({ method: 'GET' }).handler( async () => { - const request = getWebRequest() + const request = getRequest() console.log(request.method) // GET @@ -396,15 +393,15 @@ export const getServerTime = createServerFn({ method: 'GET' }).handler( ## Accessing Headers -Use the `getHeaders` function to access all headers from within a server function: +Use the `getRequestHeaders` function to access all headers from within a server function: ```tsx import { createServerFn } from '@tanstack/react-start' -import { getHeaders } from '@tanstack/react-start/server' +import { getRequestHeaders } from '@tanstack/react-start/server' export const getServerTime = createServerFn({ method: 'GET' }).handler( async () => { - console.log(getHeaders()) + console.log(getRequestHeaders()) // { // "accept": "*/*", // "accept-encoding": "gzip, deflate, br", @@ -417,15 +414,15 @@ export const getServerTime = createServerFn({ method: 'GET' }).handler( ) ``` -You can also access individual headers using the `getHeader` function: +You can also access individual headers using the `getRequestHeader` function: ```tsx import { createServerFn } from '@tanstack/react-start' -import { getHeader } from '@tanstack/react-start/server' +import { getRequestHeader } from '@tanstack/react-start/server' export const getServerTime = createServerFn({ method: 'GET' }).handler( async () => { - console.log(getHeader('User-Agent')) // Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3 + console.log(getRequestHeader('User-Agent')) // Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3 }, ) ``` @@ -466,15 +463,15 @@ By default, server functions assume that any non-Response object returned is eit ## Responding with Custom Headers -To respond with custom headers, you can use the `setHeader` function: +To respond with custom headers, you can use the `setResponseHeader` function: ```tsx import { createServerFn } from '@tanstack/react-start' -import { setHeader } from '@tanstack/react-start/server' +import { setResponseHeader } from '@tanstack/react-start/server' export const getServerTime = createServerFn({ method: 'GET' }).handler( async () => { - setHeader('X-Custom-Header', 'value') + setResponseHeader('X-Custom-Header', 'value') return new Date().toISOString() }, ) @@ -748,8 +745,6 @@ export const auth = createServerFn({ method: 'GET' }).handler(async () => { }) ``` -> ⚠️ Do not use `@tanstack/react-start/server`'s `sendRedirect` function to send soft redirects from within server functions. This will send the redirect using the `Location` header and will force a full page hard navigation on the client. - ## Redirect Headers You can also set custom headers on a redirect by passing a `headers` option: diff --git a/docs/start/framework/react/server-routes.md b/docs/start/framework/react/server-routes.md index 0f2a92199a0..2f4cb39519e 100644 --- a/docs/start/framework/react/server-routes.md +++ b/docs/start/framework/react/server-routes.md @@ -99,37 +99,11 @@ In the examples above, you may have noticed that the file naming conventions are ## Handling Server Route Requests -Server route requests are handled by Start's `createStartHandler` in your `server.ts` entry file. - -```tsx -// server.ts -import { - createStartHandler, - defaultStreamHandler, -} from '@tanstack/react-start/server' -import { createRouter } from './router' - -export default createStartHandler({ - createRouter, -})(defaultStreamHandler) -``` +Server route requests are handled by Start automatically by default or by Start's `createStartHandler` in your custom `src/server.ts` entry point file. The start handler is responsible for matching an incoming request to a server route and executing the appropriate middleware and handler. -Remember, if you need to customize the server handler, you can do so by creating a custom handler and then passing the event to the start handler: - -```tsx -// server.ts -import { createStartHandler } from '@tanstack/react-start/server' - -export default defineHandler((event) => { - const startHandler = createStartHandler({ - createRouter, - })(defaultStreamHandler) - - return startHandler(event) -}) -``` +If you need to customize the server handler, you can do so by creating a custom handler and then passing the event to the start handler. See [The Server Entry Point](../learn-the-basics#the-server-entry-point-optional). ## Defining a Server Route @@ -366,15 +340,15 @@ Sometimes you may need to set headers in the response. You can do this by either // Hello, World! ``` -- Or using the `setHeaders` helper function from `@tanstack/react-start/server`. +- Or using the `setResponseHeaders` helper function from `@tanstack/react-start/server`. ```ts // routes/hello.ts - import { setHeaders } from '@tanstack/react-start/server' + import { setResponseHeaders } from '@tanstack/react-start/server' export const ServerRoute = createServerFileRoute().methods({ GET: async ({ request }) => { - setHeaders({ + setResponseHeaders({ 'Content-Type': 'text/plain', }) return new Response('Hello, World!') diff --git a/docs/start/framework/solid/learn-the-basics.md b/docs/start/framework/solid/learn-the-basics.md index a7a7d2c545c..a417eacb2cf 100644 --- a/docs/start/framework/solid/learn-the-basics.md +++ b/docs/start/framework/solid/learn-the-basics.md @@ -60,9 +60,23 @@ import { import { createRouter } from './router' -export default createStartHandler({ +const fetch = createStartHandler({ createRouter, })(defaultStreamHandler) + +export default { + fetch, +} +``` + +The entry point must conform to the following interface: + +```tsx +export default { + fetch(req: Request): Promise { + // ... + }, +} ``` Whether we are statically generating our app or serving it dynamically, the `server.ts` file is the entry point for doing all SSR-related work. From e71485a494bd785f25eaa2bdcef6e76a838e759a Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 14:41:35 +0200 Subject: [PATCH 049/271] fix solid test --- .../server-functions/src/routes/headers.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/e2e/solid-start/server-functions/src/routes/headers.tsx b/e2e/solid-start/server-functions/src/routes/headers.tsx index 3b1ce8d499a..57c73eef167 100644 --- a/e2e/solid-start/server-functions/src/routes/headers.tsx +++ b/e2e/solid-start/server-functions/src/routes/headers.tsx @@ -1,8 +1,11 @@ import { createFileRoute } from '@tanstack/solid-router' import * as Solid from 'solid-js' import { createServerFn } from '@tanstack/solid-start' -import { getHeaders, setHeader } from '@tanstack/solid-start/server' -import type { HTTPHeaderName } from '@tanstack/solid-start/server' +import { + getRequestHeaders, + setResponseHeader, +} from '@tanstack/solid-start/server' +import type { RequestHeaderName } from '@tanstack/solid-start/server' export const Route = createFileRoute('/headers')({ loader: async () => { @@ -17,11 +20,11 @@ export const Route = createFileRoute('/headers')({ }) export const getTestHeaders = createServerFn().handler(() => { - setHeader('x-test-header', 'test-value') + setResponseHeader('x-test-header', 'test-value') return { - serverHeaders: getHeaders(), - headers: getHeaders(), + serverHeaders: getRequestHeaders(), + headers: getRequestHeaders(), } }) From 79a96a86105907b426c97e1ae8d471ada536b207 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 14:51:47 +0200 Subject: [PATCH 050/271] fix response handling --- packages/start-server-core/src/request-response.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/start-server-core/src/request-response.ts b/packages/start-server-core/src/request-response.ts index 94ca125f60b..df2f8c65b00 100644 --- a/packages/start-server-core/src/request-response.ts +++ b/packages/start-server-core/src/request-response.ts @@ -32,7 +32,8 @@ export function requestHandler(handler: RequestHandler) { return (request: Request): Promise | Response => { const h3Event = new h3.H3Event(request) - return eventStorage.run({ h3Event }, () => handler(request)) + const response = eventStorage.run({ h3Event }, () => handler(request)) + return h3.toResponse(response, h3Event) } } From febeddec7ac2a96adcbcb9c3a3494a62458f235e Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 9 Aug 2025 15:02:31 +0200 Subject: [PATCH 051/271] fix packages --- .../start-basic-react-query/package.json | 1 + examples/react/start-basic-rsc/package.json | 1 + examples/react/start-clerk-basic/package.json | 1 + examples/react/start-tailwind-v4/package.json | 1 + examples/react/start-workos/package.json | 1 + packages/start-plugin-core/package.json | 1 - pnpm-lock.yaml | 19 +++++++++++++++++-- 7 files changed, 22 insertions(+), 3 deletions(-) diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index cf3872186b3..c24849c2e30 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -24,6 +24,7 @@ "@types/node": "^22.5.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index 5ac62a0e209..49301027c3f 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -21,6 +21,7 @@ "devDependencies": { "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index 52bea657335..ea5b1096d8e 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -13,6 +13,7 @@ "@tanstack/react-router": "^1.131.2", "@tanstack/react-router-devtools": "^1.131.2", "@tanstack/react-start": "^1.131.2", + "@vitejs/plugin-react": "^4.3.4", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-tailwind-v4/package.json b/examples/react/start-tailwind-v4/package.json index 0646c8942f0..f9e01bbd38b 100644 --- a/examples/react/start-tailwind-v4/package.json +++ b/examples/react/start-tailwind-v4/package.json @@ -22,6 +22,7 @@ "@types/node": "^22.5.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "tailwindcss": "^4.1.6", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/examples/react/start-workos/package.json b/examples/react/start-workos/package.json index eb329efc535..53aad57a672 100644 --- a/examples/react/start-workos/package.json +++ b/examples/react/start-workos/package.json @@ -26,6 +26,7 @@ "devDependencies": { "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 8f93ffb7cee..4174abb35ae 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -42,7 +42,6 @@ }, "type": "module", "types": "dist/esm/index.d.ts", - "main": "dist/cjs/index.cjs", "module": "dist/esm/index.js", "exports": { ".": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d7fb23e02fa..fadabb0e3c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2261,7 +2261,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2307,7 +2307,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -4979,6 +4979,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -5031,6 +5034,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -5119,6 +5125,9 @@ importers: '@tanstack/react-start': specifier: workspace:* version: link:../../../packages/react-start + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) react: specifier: ^19.0.0 version: 19.0.0 @@ -5483,6 +5492,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) tailwindcss: specifier: ^4.1.6 version: 4.1.6 @@ -5605,6 +5617,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) From cc4c4bdadcca1a3d11c3a0ba65e6939b93c203c5 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 052/271] remove externals --- packages/start-plugin-core/src/plugin.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index e6021c42fd4..0ae70b16b91 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -228,7 +228,6 @@ export function TanStackStartVitePluginCore( startPackageName, ...result.ssr.noExternal.sort(), ], - external: [...result.ssr.external.sort()], dedupe: [startPackageName], alias: { ...entryAliasConfiguration, From 4398f040035d6cb3133b466c28791efdb331a5a5 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 053/271] fix snapshots --- .../tests/compiler.test.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/directive-functions-plugin/tests/compiler.test.ts b/packages/directive-functions-plugin/tests/compiler.test.ts index e405a7411e7..a943f7f0803 100644 --- a/packages/directive-functions-plugin/tests/compiler.test.ts +++ b/packages/directive-functions-plugin/tests/compiler.test.ts @@ -825,12 +825,14 @@ describe('server function compilation', () => { expect(client.compiledResult.code).toMatchInlineSnapshot(` "import { createClientRpc } from "my-rpc-lib-client"; const generator_1 = createClientRpc("test_ts--generator_1"); - const generator = generator_1;"`) + const generator = generator_1;" + `) expect(ssr.compiledResult.code).toMatchInlineSnapshot(` "import { createSsrRpc } from "my-rpc-lib-server"; const generator_1 = createSsrRpc("test_ts--generator_1"); - const generator = generator_1;"`) + const generator = generator_1;" + `) expect(server.compiledResult.code).toMatchInlineSnapshot(` "import { createServerRpc } from "my-rpc-lib-server"; @@ -839,7 +841,8 @@ describe('server function compilation', () => { return 'hello world'; }); const generator = generator_1; - export { generator_1 };"`) + export { generator_1 };" + `) }) test('async generator function', () => { const code = ` @@ -864,12 +867,14 @@ describe('server function compilation', () => { expect(client.compiledResult.code).toMatchInlineSnapshot(` "import { createClientRpc } from "my-rpc-lib-client"; const asyncGenerator_1 = createClientRpc("test_ts--asyncGenerator_1"); - const asyncGenerator = asyncGenerator_1;"`) + const asyncGenerator = asyncGenerator_1;" + `) expect(ssr.compiledResult.code).toMatchInlineSnapshot(` "import { createSsrRpc } from "my-rpc-lib-server"; const asyncGenerator_1 = createSsrRpc("test_ts--asyncGenerator_1"); - const asyncGenerator = asyncGenerator_1;"`) + const asyncGenerator = asyncGenerator_1;" + `) expect(server.compiledResult.code).toMatchInlineSnapshot(` "import { createServerRpc } from "my-rpc-lib-server"; @@ -878,6 +883,7 @@ describe('server function compilation', () => { return 'hello world'; }); const asyncGenerator = asyncGenerator_1; - export { asyncGenerator_1 };"`) + export { asyncGenerator_1 };" + `) }) }) From 9b783bd007ca3ba3926503fe75cbac99985bf59b Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 054/271] rename getWebRequest to getRequest --- e2e/react-start/clerk-basic/src/routes/__root.tsx | 4 ++-- examples/react/start-clerk-basic/src/routes/__root.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/e2e/react-start/clerk-basic/src/routes/__root.tsx b/e2e/react-start/clerk-basic/src/routes/__root.tsx index 51f8705b28a..f2a475c95f5 100644 --- a/e2e/react-start/clerk-basic/src/routes/__root.tsx +++ b/e2e/react-start/clerk-basic/src/routes/__root.tsx @@ -17,13 +17,13 @@ import { TanStackRouterDevtools } from '@tanstack/react-router-devtools' import { createServerFn } from '@tanstack/react-start' import * as React from 'react' import { getAuth } from '@clerk/tanstack-react-start/server' -import { getWebRequest } from '@tanstack/react-start/server' +import { getRequest } from '@tanstack/react-start/server' import { DefaultCatchBoundary } from '~/components/DefaultCatchBoundary.js' import { NotFound } from '~/components/NotFound.js' import appCss from '~/styles/app.css?url' const fetchClerkAuth = createServerFn({ method: 'GET' }).handler(async () => { - const user = await getAuth(getWebRequest()!) + const user = await getAuth(getRequest()!) return { user, diff --git a/examples/react/start-clerk-basic/src/routes/__root.tsx b/examples/react/start-clerk-basic/src/routes/__root.tsx index 1842003cea7..80ce274116b 100644 --- a/examples/react/start-clerk-basic/src/routes/__root.tsx +++ b/examples/react/start-clerk-basic/src/routes/__root.tsx @@ -17,13 +17,13 @@ import { TanStackRouterDevtools } from '@tanstack/react-router-devtools' import { createServerFn } from '@tanstack/react-start' import * as React from 'react' import { getAuth } from '@clerk/tanstack-react-start/server' -import { getWebRequest } from '@tanstack/react-start/server' +import { getRequest } from '@tanstack/react-start/server' import { DefaultCatchBoundary } from '~/components/DefaultCatchBoundary.js' import { NotFound } from '~/components/NotFound.js' import appCss from '~/styles/app.css?url' const fetchClerkAuth = createServerFn({ method: 'GET' }).handler(async () => { - const { userId } = await getAuth(getWebRequest()!) + const { userId } = await getAuth(getRequest()) return { userId, From bf51a52910531066dc14294d3951b28774df55ba Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 055/271] fix packages --- .../react/start-convex-trellaux/package.json | 1 + examples/react/start-material-ui/package.json | 1 + .../react/start-supabase-basic/package.json | 1 + examples/react/start-trellaux/package.json | 1 + .../directive-functions-plugin/package.json | 1 + pnpm-lock.yaml | 40 +++++++++++++++---- 6 files changed, 38 insertions(+), 7 deletions(-) diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index e01e9b484c0..7b910fd13a0 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -33,6 +33,7 @@ "devDependencies": { "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/start-material-ui/package.json b/examples/react/start-material-ui/package.json index fed58013732..7e04d8a234d 100644 --- a/examples/react/start-material-ui/package.json +++ b/examples/react/start-material-ui/package.json @@ -25,6 +25,7 @@ "@types/node": "^22.5.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index 766eaeeefd8..c75335e8a03 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -25,6 +25,7 @@ "devDependencies": { "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "tailwindcss": "^3.4.17", diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index 80bde622748..6971d3d6ed7 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -28,6 +28,7 @@ "devDependencies": { "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/packages/directive-functions-plugin/package.json b/packages/directive-functions-plugin/package.json index 50201f199df..0ee8e11c42e 100644 --- a/packages/directive-functions-plugin/package.json +++ b/packages/directive-functions-plugin/package.json @@ -77,6 +77,7 @@ "@types/babel__code-frame": "^7.0.6", "@types/babel__core": "^7.20.5", "@types/babel__traverse": "^7.20.7", + "dedent": "^1.6.0", "vite": "^7.1.1" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fadabb0e3c1..38d78aa5fa1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2261,7 +2261,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2307,7 +2307,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -5232,6 +5232,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -5394,6 +5397,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) typescript: specifier: ^5.7.2 version: 5.8.2 @@ -5437,6 +5443,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -5562,6 +5571,9 @@ importers: '@types/react-dom': specifier: ^19.0.3 version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) @@ -6441,6 +6453,9 @@ importers: '@types/babel__traverse': specifier: ^7.20.7 version: 7.20.7 + dedent: + specifier: ^1.6.0 + version: 1.6.0(babel-plugin-macros@3.1.0) vite: specifier: ^7.1.1 version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) @@ -12139,6 +12154,14 @@ packages: decimal.js@10.5.0: resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + dedent@1.6.0: + resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==} + 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'} @@ -21447,6 +21470,10 @@ snapshots: decimal.js@10.5.0: {} + dedent@1.6.0(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 + deep-eql@5.0.2: {} deep-is@0.1.4: {} @@ -22832,7 +22859,7 @@ snapshots: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 - debug: 4.4.0 + debug: 4.4.1 denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -23028,8 +23055,7 @@ snapshots: jiti@2.4.2: {} - jiti@2.5.1: - optional: true + jiti@2.5.1: {} jju@1.4.0: {} @@ -23235,7 +23261,7 @@ snapshots: get-port-please: 3.2.0 h3: 1.15.3 http-shutdown: 1.2.2 - jiti: 2.4.2 + jiti: 2.5.1 mlly: 1.7.4 node-forge: 1.3.1 pathe: 1.1.2 @@ -23339,7 +23365,7 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.27.7 '@babel/types': 7.27.7 source-map-js: 1.2.1 From 73499fb1aafe56a12fd7af237950c90ccaeecf85 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 056/271] fix e2e test --- e2e/react-start/query-integration/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/react-start/query-integration/package.json b/e2e/react-start/query-integration/package.json index 7916c849f69..6c319fb06aa 100644 --- a/e2e/react-start/query-integration/package.json +++ b/e2e/react-start/query-integration/package.json @@ -7,7 +7,7 @@ "dev": "vite dev --port 3000", "dev:e2e": "vite dev", "build": "vite build && tsc --noEmit", - "start": "node .output/server/index.mjs", + "start": "pnpx srvx --prod dist/server.js", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { From 4695e16b47af2f8dcc05c82705595e1e154777b6 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 057/271] fix e2e test --- e2e/solid-start/server-functions/src/routes/headers.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/e2e/solid-start/server-functions/src/routes/headers.tsx b/e2e/solid-start/server-functions/src/routes/headers.tsx index 57c73eef167..132f304fbe7 100644 --- a/e2e/solid-start/server-functions/src/routes/headers.tsx +++ b/e2e/solid-start/server-functions/src/routes/headers.tsx @@ -21,16 +21,17 @@ export const Route = createFileRoute('/headers')({ export const getTestHeaders = createServerFn().handler(() => { setResponseHeader('x-test-header', 'test-value') + const reqHeaders = Object.fromEntries(getRequestHeaders().entries()) return { - serverHeaders: getRequestHeaders(), - headers: getRequestHeaders(), + serverHeaders: reqHeaders, + headers: reqHeaders, } }) type TestHeadersResult = { - headers?: Partial> - serverHeaders?: Partial> + headers?: Partial> + serverHeaders?: Partial> } function ResponseHeaders({ From c0f6a35f17f489085e59976612ad025e32739444 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 058/271] remove unused exports --- packages/react-router/src/index.tsx | 2 -- packages/router-core/src/index.ts | 2 -- packages/router-core/src/utils.ts | 41 ----------------------------- packages/solid-router/src/index.tsx | 2 -- 4 files changed, 47 deletions(-) diff --git a/packages/react-router/src/index.tsx b/packages/react-router/src/index.tsx index 8babdf0ba88..99f621391d3 100644 --- a/packages/react-router/src/index.tsx +++ b/packages/react-router/src/index.tsx @@ -21,14 +21,12 @@ export { defaultStringifySearch, parseSearchWith, stringifySearchWith, - escapeJSON, // SSR pick, functionalUpdate, replaceEqualDeep, isPlainObject, isPlainArray, deepEqual, - shallow, createControlledPromise, retainSearchParams, stripSearchParams, diff --git a/packages/router-core/src/index.ts b/packages/router-core/src/index.ts index 1b6f4dea873..716ed2e6a00 100644 --- a/packages/router-core/src/index.ts +++ b/packages/router-core/src/index.ts @@ -273,8 +273,6 @@ export { isPlainObject, isPlainArray, deepEqual, - escapeJSON, - shallow, createControlledPromise, isModuleNotFoundError, } from './utils' diff --git a/packages/router-core/src/utils.ts b/packages/router-core/src/utils.ts index 784e7c4227f..9b715a19f3c 100644 --- a/packages/router-core/src/utils.ts +++ b/packages/router-core/src/utils.ts @@ -421,47 +421,6 @@ export function createControlledPromise(onResolve?: (value: T) => void) { return controlledPromise } -/** - * - * @deprecated use `jsesc` instead - */ -export function escapeJSON(jsonString: string) { - return jsonString - .replace(/\\/g, '\\\\') // Escape backslashes - .replace(/'/g, "\\'") // Escape single quotes - .replace(/"/g, '\\"') // Escape double quotes -} - -export function shallow(objA: T, objB: T) { - if (Object.is(objA, objB)) { - return true - } - - if ( - typeof objA !== 'object' || - objA === null || - typeof objB !== 'object' || - objB === null - ) { - return false - } - - const keysA = Object.keys(objA) - if (keysA.length !== Object.keys(objB).length) { - return false - } - - for (const item of keysA) { - if ( - !Object.prototype.hasOwnProperty.call(objB, item) || - !Object.is(objA[item as keyof T], objB[item as keyof T]) - ) { - return false - } - } - return true -} - export function isModuleNotFoundError(error: any): boolean { // chrome: "Failed to fetch dynamically imported module: http://localhost:5173/src/routes/posts.index.tsx?tsr-split" // firefox: "error loading dynamically imported module: http://localhost:5173/src/routes/posts.index.tsx?tsr-split" diff --git a/packages/solid-router/src/index.tsx b/packages/solid-router/src/index.tsx index c69bd4b2e15..2feabdaa13e 100644 --- a/packages/solid-router/src/index.tsx +++ b/packages/solid-router/src/index.tsx @@ -21,14 +21,12 @@ export { defaultStringifySearch, parseSearchWith, stringifySearchWith, - escapeJSON, // SSR pick, functionalUpdate, replaceEqualDeep, isPlainObject, isPlainArray, deepEqual, - shallow, createControlledPromise, retainSearchParams, stripSearchParams, From 871aa82626e93ff349b8e7a4788a7777123272dc Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 059/271] fix example --- examples/react/start-supabase-basic/src/utils/supabase.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/react/start-supabase-basic/src/utils/supabase.ts b/examples/react/start-supabase-basic/src/utils/supabase.ts index 39ad47a8fac..b06ffb81cd5 100644 --- a/examples/react/start-supabase-basic/src/utils/supabase.ts +++ b/examples/react/start-supabase-basic/src/utils/supabase.ts @@ -1,4 +1,4 @@ -import { parseCookies, setCookie } from '@tanstack/react-start/server' +import { getCookies, setCookie } from '@tanstack/react-start/server' import { createServerClient } from '@supabase/ssr' export function getSupabaseServerClient() { @@ -8,7 +8,7 @@ export function getSupabaseServerClient() { { cookies: { getAll() { - return Object.entries(parseCookies()).map(([name, value]) => ({ + return Object.entries(getCookies()).map(([name, value]) => ({ name, value, })) From cd112e01e2ec54a431cffcd9f6b6cc10e7d5145b Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 060/271] update clerk usage --- .../clerk-basic/package.disabled.json | 2 +- .../clerk-basic/src/routeTree.gen.ts | 257 +++++------------- .../clerk-basic/src/routes/_authed.tsx | 3 +- .../src/routes/_authed/posts.$postId.tsx | 4 +- .../src/routes/_authed/posts.index.tsx | 3 +- .../clerk-basic/src/routes/_authed/posts.tsx | 4 +- .../src/routes/_authed/profile.$.tsx | 4 +- .../clerk-basic/src/routes/index.tsx | 3 +- e2e/react-start/clerk-basic/src/server.ts | 15 + e2e/react-start/clerk-basic/src/server.tsx | 18 -- .../react/start-clerk-basic/src/server.ts | 4 +- 11 files changed, 98 insertions(+), 219 deletions(-) create mode 100644 e2e/react-start/clerk-basic/src/server.ts delete mode 100644 e2e/react-start/clerk-basic/src/server.tsx diff --git a/e2e/react-start/clerk-basic/package.disabled.json b/e2e/react-start/clerk-basic/package.disabled.json index fdb8592eb39..43d26930a6a 100644 --- a/e2e/react-start/clerk-basic/package.disabled.json +++ b/e2e/react-start/clerk-basic/package.disabled.json @@ -11,7 +11,7 @@ "test:e2e": "exit 0; rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { - "@clerk/tanstack-react-start": "^0.12.0", + "@clerk/tanstack-react-start": "^0.19.0", "@tanstack/react-router": "workspace:^", "@tanstack/react-router-devtools": "workspace:^", "@tanstack/react-start": "workspace:^", diff --git a/e2e/react-start/clerk-basic/src/routeTree.gen.ts b/e2e/react-start/clerk-basic/src/routeTree.gen.ts index 00f53c86239..8ac0e6e8c32 100644 --- a/e2e/react-start/clerk-basic/src/routeTree.gen.ts +++ b/e2e/react-start/clerk-basic/src/routeTree.gen.ts @@ -8,11 +8,7 @@ // 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 type { CreateFileRoute, FileRoutesByPath } from '@tanstack/react-router' - -// Import Routes - -import { Route as rootRoute } from './routes/__root' +import { Route as rootRouteImport } from './routes/__root' import { Route as AuthedRouteImport } from './routes/_authed' import { Route as IndexRouteImport } from './routes/index' import { Route as AuthedPostsRouteImport } from './routes/_authed/posts' @@ -20,151 +16,125 @@ import { Route as AuthedPostsIndexRouteImport } from './routes/_authed/posts.ind import { Route as AuthedProfileSplatRouteImport } from './routes/_authed/profile.$' import { Route as AuthedPostsPostIdRouteImport } from './routes/_authed/posts.$postId' -// Create/Update Routes - const AuthedRoute = AuthedRouteImport.update({ id: '/_authed', - getParentRoute: () => rootRoute, + getParentRoute: () => rootRouteImport, } as any) - const IndexRoute = IndexRouteImport.update({ id: '/', path: '/', - getParentRoute: () => rootRoute, + getParentRoute: () => rootRouteImport, } as any) - const AuthedPostsRoute = AuthedPostsRouteImport.update({ id: '/posts', path: '/posts', getParentRoute: () => AuthedRoute, } as any) - const AuthedPostsIndexRoute = AuthedPostsIndexRouteImport.update({ id: '/', path: '/', getParentRoute: () => AuthedPostsRoute, } as any) - const AuthedProfileSplatRoute = AuthedProfileSplatRouteImport.update({ id: '/profile/$', path: '/profile/$', getParentRoute: () => AuthedRoute, } as any) - const AuthedPostsPostIdRoute = AuthedPostsPostIdRouteImport.update({ id: '/$postId', path: '/$postId', getParentRoute: () => AuthedPostsRoute, } as any) -// Populate the FileRoutesByPath interface +export interface FileRoutesByFullPath { + '/': typeof IndexRoute + '/posts': typeof AuthedPostsRouteWithChildren + '/posts/$postId': typeof AuthedPostsPostIdRoute + '/profile/$': typeof AuthedProfileSplatRoute + '/posts/': typeof AuthedPostsIndexRoute +} +export interface FileRoutesByTo { + '/': typeof IndexRoute + '/posts/$postId': typeof AuthedPostsPostIdRoute + '/profile/$': typeof AuthedProfileSplatRoute + '/posts': typeof AuthedPostsIndexRoute +} +export interface FileRoutesById { + __root__: typeof rootRouteImport + '/': typeof IndexRoute + '/_authed': typeof AuthedRouteWithChildren + '/_authed/posts': typeof AuthedPostsRouteWithChildren + '/_authed/posts/$postId': typeof AuthedPostsPostIdRoute + '/_authed/profile/$': typeof AuthedProfileSplatRoute + '/_authed/posts/': typeof AuthedPostsIndexRoute +} +export interface FileRouteTypes { + fileRoutesByFullPath: FileRoutesByFullPath + fullPaths: '/' | '/posts' | '/posts/$postId' | '/profile/$' | '/posts/' + fileRoutesByTo: FileRoutesByTo + to: '/' | '/posts/$postId' | '/profile/$' | '/posts' + id: + | '__root__' + | '/' + | '/_authed' + | '/_authed/posts' + | '/_authed/posts/$postId' + | '/_authed/profile/$' + | '/_authed/posts/' + fileRoutesById: FileRoutesById +} +export interface RootRouteChildren { + IndexRoute: typeof IndexRoute + AuthedRoute: typeof AuthedRouteWithChildren +} declare module '@tanstack/react-router' { interface FileRoutesByPath { - '/': { - id: '/' - path: '/' - fullPath: '/' - preLoaderRoute: typeof IndexRouteImport - parentRoute: typeof rootRoute - } '/_authed': { id: '/_authed' path: '' fullPath: '' preLoaderRoute: typeof AuthedRouteImport - parentRoute: typeof rootRoute + parentRoute: typeof rootRouteImport + } + '/': { + id: '/' + path: '/' + fullPath: '/' + preLoaderRoute: typeof IndexRouteImport + parentRoute: typeof rootRouteImport } '/_authed/posts': { id: '/_authed/posts' path: '/posts' fullPath: '/posts' preLoaderRoute: typeof AuthedPostsRouteImport - parentRoute: typeof AuthedRouteImport + parentRoute: typeof AuthedRoute } - '/_authed/posts/$postId': { - id: '/_authed/posts/$postId' - path: '/$postId' - fullPath: '/posts/$postId' - preLoaderRoute: typeof AuthedPostsPostIdRouteImport - parentRoute: typeof AuthedPostsRouteImport + '/_authed/posts/': { + id: '/_authed/posts/' + path: '/' + fullPath: '/posts/' + preLoaderRoute: typeof AuthedPostsIndexRouteImport + parentRoute: typeof AuthedPostsRoute } '/_authed/profile/$': { id: '/_authed/profile/$' path: '/profile/$' fullPath: '/profile/$' preLoaderRoute: typeof AuthedProfileSplatRouteImport - parentRoute: typeof AuthedRouteImport + parentRoute: typeof AuthedRoute } - '/_authed/posts/': { - id: '/_authed/posts/' - path: '/' - fullPath: '/posts/' - preLoaderRoute: typeof AuthedPostsIndexRouteImport - parentRoute: typeof AuthedPostsRouteImport + '/_authed/posts/$postId': { + id: '/_authed/posts/$postId' + path: '/$postId' + fullPath: '/posts/$postId' + preLoaderRoute: typeof AuthedPostsPostIdRouteImport + parentRoute: typeof AuthedPostsRoute } } } -// Add type-safety to the createFileRoute function across the route tree - -declare module './routes/index' { - const createFileRoute: CreateFileRoute< - '/', - FileRoutesByPath['/']['parentRoute'], - FileRoutesByPath['/']['id'], - FileRoutesByPath['/']['path'], - FileRoutesByPath['/']['fullPath'] - > -} -declare module './routes/_authed' { - const createFileRoute: CreateFileRoute< - '/_authed', - FileRoutesByPath['/_authed']['parentRoute'], - FileRoutesByPath['/_authed']['id'], - FileRoutesByPath['/_authed']['path'], - FileRoutesByPath['/_authed']['fullPath'] - > -} -declare module './routes/_authed/posts' { - const createFileRoute: CreateFileRoute< - '/_authed/posts', - FileRoutesByPath['/_authed/posts']['parentRoute'], - FileRoutesByPath['/_authed/posts']['id'], - FileRoutesByPath['/_authed/posts']['path'], - FileRoutesByPath['/_authed/posts']['fullPath'] - > -} -declare module './routes/_authed/posts.$postId' { - const createFileRoute: CreateFileRoute< - '/_authed/posts/$postId', - FileRoutesByPath['/_authed/posts/$postId']['parentRoute'], - FileRoutesByPath['/_authed/posts/$postId']['id'], - FileRoutesByPath['/_authed/posts/$postId']['path'], - FileRoutesByPath['/_authed/posts/$postId']['fullPath'] - > -} -declare module './routes/_authed/profile.$' { - const createFileRoute: CreateFileRoute< - '/_authed/profile/$', - FileRoutesByPath['/_authed/profile/$']['parentRoute'], - FileRoutesByPath['/_authed/profile/$']['id'], - FileRoutesByPath['/_authed/profile/$']['path'], - FileRoutesByPath['/_authed/profile/$']['fullPath'] - > -} -declare module './routes/_authed/posts.index' { - const createFileRoute: CreateFileRoute< - '/_authed/posts/', - FileRoutesByPath['/_authed/posts/']['parentRoute'], - FileRoutesByPath['/_authed/posts/']['id'], - FileRoutesByPath['/_authed/posts/']['path'], - FileRoutesByPath['/_authed/posts/']['fullPath'] - > -} - -// Create and export the route tree - interface AuthedPostsRouteChildren { AuthedPostsPostIdRoute: typeof AuthedPostsPostIdRoute AuthedPostsIndexRoute: typeof AuthedPostsIndexRoute @@ -192,103 +162,10 @@ const AuthedRouteChildren: AuthedRouteChildren = { const AuthedRouteWithChildren = AuthedRoute._addFileChildren(AuthedRouteChildren) -export interface FileRoutesByFullPath { - '/': typeof IndexRoute - '': typeof AuthedRouteWithChildren - '/posts': typeof AuthedPostsRouteWithChildren - '/posts/$postId': typeof AuthedPostsPostIdRoute - '/profile/$': typeof AuthedProfileSplatRoute - '/posts/': typeof AuthedPostsIndexRoute -} - -export interface FileRoutesByTo { - '/': typeof IndexRoute - '': typeof AuthedRouteWithChildren - '/posts/$postId': typeof AuthedPostsPostIdRoute - '/profile/$': typeof AuthedProfileSplatRoute - '/posts': typeof AuthedPostsIndexRoute -} - -export interface FileRoutesById { - __root__: typeof rootRoute - '/': typeof IndexRoute - '/_authed': typeof AuthedRouteWithChildren - '/_authed/posts': typeof AuthedPostsRouteWithChildren - '/_authed/posts/$postId': typeof AuthedPostsPostIdRoute - '/_authed/profile/$': typeof AuthedProfileSplatRoute - '/_authed/posts/': typeof AuthedPostsIndexRoute -} - -export interface FileRouteTypes { - fileRoutesByFullPath: FileRoutesByFullPath - fullPaths: '/' | '' | '/posts' | '/posts/$postId' | '/profile/$' | '/posts/' - fileRoutesByTo: FileRoutesByTo - to: '/' | '' | '/posts/$postId' | '/profile/$' | '/posts' - id: - | '__root__' - | '/' - | '/_authed' - | '/_authed/posts' - | '/_authed/posts/$postId' - | '/_authed/profile/$' - | '/_authed/posts/' - fileRoutesById: FileRoutesById -} - -export interface RootRouteChildren { - IndexRoute: typeof IndexRoute - AuthedRoute: typeof AuthedRouteWithChildren -} - const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, AuthedRoute: AuthedRouteWithChildren, } - -export const routeTree = rootRoute +export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) ._addFileTypes() - -/* ROUTE_MANIFEST_START -{ - "routes": { - "__root__": { - "filePath": "__root.tsx", - "children": [ - "/", - "/_authed" - ] - }, - "/": { - "filePath": "index.tsx" - }, - "/_authed": { - "filePath": "_authed.tsx", - "children": [ - "/_authed/posts", - "/_authed/profile/$" - ] - }, - "/_authed/posts": { - "filePath": "_authed/posts.tsx", - "parent": "/_authed", - "children": [ - "/_authed/posts/$postId", - "/_authed/posts/" - ] - }, - "/_authed/posts/$postId": { - "filePath": "_authed/posts.$postId.tsx", - "parent": "/_authed/posts" - }, - "/_authed/profile/$": { - "filePath": "_authed/profile.$.tsx", - "parent": "/_authed" - }, - "/_authed/posts/": { - "filePath": "_authed/posts.index.tsx", - "parent": "/_authed/posts" - } - } -} -ROUTE_MANIFEST_END */ diff --git a/e2e/react-start/clerk-basic/src/routes/_authed.tsx b/e2e/react-start/clerk-basic/src/routes/_authed.tsx index 62429752724..226ae0829ff 100644 --- a/e2e/react-start/clerk-basic/src/routes/_authed.tsx +++ b/e2e/react-start/clerk-basic/src/routes/_authed.tsx @@ -1,6 +1,7 @@ +import { createFileRoute } from '@tanstack/react-router' import { SignIn } from '@clerk/tanstack-react-start' -export const Route = createFileRoute({ +export const Route = createFileRoute('/_authed')({ beforeLoad: ({ context }) => { if (!context.user.userId) { throw new Error('Not authenticated') diff --git a/e2e/react-start/clerk-basic/src/routes/_authed/posts.$postId.tsx b/e2e/react-start/clerk-basic/src/routes/_authed/posts.$postId.tsx index 49cad9b3748..27296b96585 100644 --- a/e2e/react-start/clerk-basic/src/routes/_authed/posts.$postId.tsx +++ b/e2e/react-start/clerk-basic/src/routes/_authed/posts.$postId.tsx @@ -1,10 +1,10 @@ -import { ErrorComponent } from '@tanstack/react-router' +import { ErrorComponent, createFileRoute } from '@tanstack/react-router' import type { ErrorComponentProps } from '@tanstack/react-router' import { NotFound } from '~/components/NotFound.js' import { fetchPost } from '~/utils/posts.js' -export const Route = createFileRoute({ +export const Route = createFileRoute('/_authed/posts/$postId')({ loader: ({ params: { postId } }) => fetchPost({ data: postId }), errorComponent: PostErrorComponent, component: PostComponent, diff --git a/e2e/react-start/clerk-basic/src/routes/_authed/posts.index.tsx b/e2e/react-start/clerk-basic/src/routes/_authed/posts.index.tsx index 13529228bb4..de01fe5ddef 100644 --- a/e2e/react-start/clerk-basic/src/routes/_authed/posts.index.tsx +++ b/e2e/react-start/clerk-basic/src/routes/_authed/posts.index.tsx @@ -1,4 +1,5 @@ -export const Route = createFileRoute({ +import { createFileRoute } from '@tanstack/react-router' +export const Route = createFileRoute('/_authed/posts/')({ component: PostsIndexComponent, }) diff --git a/e2e/react-start/clerk-basic/src/routes/_authed/posts.tsx b/e2e/react-start/clerk-basic/src/routes/_authed/posts.tsx index 6c37957e8c2..c01f12c49ae 100644 --- a/e2e/react-start/clerk-basic/src/routes/_authed/posts.tsx +++ b/e2e/react-start/clerk-basic/src/routes/_authed/posts.tsx @@ -1,8 +1,8 @@ -import { Link, Outlet } from '@tanstack/react-router' +import { Link, Outlet, createFileRoute } from '@tanstack/react-router' import { fetchPosts } from '~/utils/posts.js' -export const Route = createFileRoute({ +export const Route = createFileRoute('/_authed/posts')({ loader: () => fetchPosts(), component: PostsComponent, }) diff --git a/e2e/react-start/clerk-basic/src/routes/_authed/profile.$.tsx b/e2e/react-start/clerk-basic/src/routes/_authed/profile.$.tsx index 6c37957e8c2..1e5a8b1429e 100644 --- a/e2e/react-start/clerk-basic/src/routes/_authed/profile.$.tsx +++ b/e2e/react-start/clerk-basic/src/routes/_authed/profile.$.tsx @@ -1,8 +1,8 @@ -import { Link, Outlet } from '@tanstack/react-router' +import { Link, Outlet, createFileRoute } from '@tanstack/react-router' import { fetchPosts } from '~/utils/posts.js' -export const Route = createFileRoute({ +export const Route = createFileRoute('/_authed/profile/$')({ loader: () => fetchPosts(), component: PostsComponent, }) diff --git a/e2e/react-start/clerk-basic/src/routes/index.tsx b/e2e/react-start/clerk-basic/src/routes/index.tsx index 66baf1e9f11..00ce18725b4 100644 --- a/e2e/react-start/clerk-basic/src/routes/index.tsx +++ b/e2e/react-start/clerk-basic/src/routes/index.tsx @@ -1,4 +1,5 @@ -export const Route = createFileRoute({ +import { createFileRoute } from '@tanstack/react-router' +export const Route = createFileRoute('/')({ component: Home, }) diff --git a/e2e/react-start/clerk-basic/src/server.ts b/e2e/react-start/clerk-basic/src/server.ts new file mode 100644 index 00000000000..39afb5c85fe --- /dev/null +++ b/e2e/react-start/clerk-basic/src/server.ts @@ -0,0 +1,15 @@ +import { + createStartHandler, + defaultStreamHandler, +} from '@tanstack/react-start/server' +import { createClerkHandler } from '@clerk/tanstack-react-start/server' +import { createRouter } from './router' + +const startHandler = createStartHandler({ + createRouter, +}) +const fetch = createClerkHandler(startHandler)(defaultStreamHandler) + +export default { + fetch, +} diff --git a/e2e/react-start/clerk-basic/src/server.tsx b/e2e/react-start/clerk-basic/src/server.tsx deleted file mode 100644 index 2987216e24d..00000000000 --- a/e2e/react-start/clerk-basic/src/server.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { - createStartHandler, - defaultStreamHandler, - defineEventHandler, -} from '@tanstack/react-start/server' -import { createClerkHandler } from '@clerk/tanstack-react-start/server' -import { createRouter } from './router' - -export default defineEventHandler((event) => { - const startHandler = createStartHandler({ - createRouter, - }) - - const withClerkHandler = - createClerkHandler(startHandler)(defaultStreamHandler) - - return withClerkHandler(event) -}) diff --git a/examples/react/start-clerk-basic/src/server.ts b/examples/react/start-clerk-basic/src/server.ts index 7fb77bd8cb0..116dda52ff8 100644 --- a/examples/react/start-clerk-basic/src/server.ts +++ b/examples/react/start-clerk-basic/src/server.ts @@ -11,4 +11,6 @@ const handler = createStartHandler({ const clerkHandler = createClerkHandler(handler) -export default clerkHandler(defaultStreamHandler) +export default { + fetch: clerkHandler(defaultStreamHandler), +} From ae4c98f6d6d0ba76949e8642e6ebbeaa0b0589e4 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 061/271] response status / statusText handling for server functions --- packages/start-server-core/package.json | 9 +-- .../start-server-core/src/request-response.ts | 81 ++++++++++++------- .../src/server-functions-handler.ts | 8 +- pnpm-lock.yaml | 30 +++---- 4 files changed, 68 insertions(+), 60 deletions(-) diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index 9a1a0a5c21f..a5c057d2f6f 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -63,14 +63,9 @@ "@tanstack/router-core": "workspace:*", "@tanstack/start-client-core": "workspace:*", "@tanstack/start-storage-context": "workspace:*", - "cookie-es": "^1.2.2", - "fetchdts": "^0.1.5", + "cookie-es": "^2.0.0", + "fetchdts": "^0.1.6", "h3": "2.0.0-beta.3", "tiny-invariant": "^1.3.3" - }, - "devDependencies": { - "@tanstack/directive-functions-plugin": "workspace:*", - "typescript": "^5.7.2", - "vite": "^7.1.1" } } diff --git a/packages/start-server-core/src/request-response.ts b/packages/start-server-core/src/request-response.ts index df2f8c65b00..ac378e463b8 100644 --- a/packages/start-server-core/src/request-response.ts +++ b/packages/start-server-core/src/request-response.ts @@ -1,6 +1,25 @@ import { AsyncLocalStorage } from 'node:async_hooks' -import * as h3 from 'h3' +import { + H3Event, + clearSession as h3_clearSession, + deleteCookie as h3_deleteCookie, + getRequestHost as h3_getRequestHost, + getRequestIP as h3_getRequestIP, + getRequestProtocol as h3_getRequestProtocol, + getRequestURL as h3_getRequestURL, + getSession as h3_getSession, + getValidatedQuery as h3_getValidatedQuery, + parseCookies as h3_parseCookies, + sanitizeStatusCode as h3_sanitizeStatusCode, + sanitizeStatusMessage as h3_sanitizeStatusMessage, + sealSession as h3_sealSession, + setCookie as h3_setCookie, + toResponse as h3_toResponse, + unsealSession as h3_unsealSession, + updateSession as h3_updateSession, + useSession as h3_useSession, +} from 'h3' import type { RequestHeaderMap, RequestHeaderName, @@ -20,7 +39,7 @@ import type { import type { StandardSchemaV1 } from '@standard-schema/spec' interface StartEvent { - h3Event: h3.H3Event + h3Event: H3Event } const eventStorage = new AsyncLocalStorage() @@ -30,10 +49,10 @@ export type { ResponseHeaderName, RequestHeaderName } export function requestHandler(handler: RequestHandler) { return (request: Request): Promise | Response => { - const h3Event = new h3.H3Event(request) + const h3Event = new H3Event(request) const response = eventStorage.run({ h3Event }, () => handler(request)) - return h3.toResponse(response, h3Event) + return h3_toResponse(response, h3Event) } } @@ -52,13 +71,6 @@ export function getRequest(): Request { return event.req } -// not public API (yet) -export function getValidatedQuery( - schema: StandardSchemaV1, -): Promise> { - return h3.getValidatedQuery(getH3Event(), schema) -} - export function getRequestHeaders(): TypedHeaders { // TODO `as any` not needed when fetchdts is updated return getH3Event().req.headers as any @@ -68,7 +80,6 @@ export function getRequestHeader(name: RequestHeaderName): string | undefined { return getRequestHeaders().get(name) || undefined } -// TODO discuss: do we want to expose this? export function getRequestIP(opts?: { /** * Use the X-Forwarded-For HTTP header set by proxies. @@ -77,10 +88,9 @@ export function getRequestIP(opts?: { */ xForwardedFor?: boolean }) { - return h3.getRequestIP(getH3Event(), opts) + return h3_getRequestIP(getH3Event(), opts) } -// TODO discuss: do we want to expose this? /** * Get the request hostname. * @@ -89,10 +99,9 @@ export function getRequestIP(opts?: { * If no host header is found, it will default to "localhost". */ export function getRequestHost(opts?: { xForwardedHost?: boolean }) { - return h3.getRequestHost(getH3Event(), opts) + return h3_getRequestHost(getH3Event(), opts) } -// TODO do we want to expose this? /** * Get the full incoming request URL. * @@ -104,10 +113,9 @@ export function getRequestUrl(opts?: { xForwardedHost?: boolean xForwardedProto?: boolean }) { - return h3.getRequestURL(getH3Event(), opts) + return h3_getRequestURL(getH3Event(), opts) } -// TODO do we want to expose this? /** * Get the request protocol. * @@ -118,7 +126,7 @@ export function getRequestUrl(opts?: { export function getRequestProtocol(opts?: { xForwardedProto?: boolean }): 'http' | 'https' | (string & {}) { - return h3.getRequestProtocol(getH3Event(), opts) + return h3_getRequestProtocol(getH3Event(), opts) } export function setResponseHeaders( @@ -185,10 +193,10 @@ export function getResponseStatus(): number { export function setResponseStatus(code?: number, text?: string): void { const event = getH3Event() if (code) { - event.res.status = h3.sanitizeStatusCode(code, event.res.status) + event.res.status = h3_sanitizeStatusCode(code, event.res.status) } if (text) { - event.res.statusText = h3.sanitizeStatusMessage(text) + event.res.statusText = h3_sanitizeStatusMessage(text) } } @@ -201,7 +209,7 @@ export function setResponseStatus(code?: number, text?: string): void { */ export function getCookies(): Record { const event = getH3Event() - return h3.parseCookies(event) + return h3_parseCookies(event) } /** @@ -231,7 +239,7 @@ export function setCookie( options?: CookieSerializeOptions, ): void { const event = getH3Event() - h3.setCookie(event, name, value, options) + h3_setCookie(event, name, value, options) } /** @@ -247,7 +255,7 @@ export function deleteCookie( options?: CookieSerializeOptions, ): void { const event = getH3Event() - h3.deleteCookie(event, name, options) + h3_deleteCookie(event, name, options) } function getDefaultSessionConfig(config: SessionConfig): SessionConfig { @@ -264,7 +272,7 @@ export function useSession( config: SessionConfig, ): Promise> { const event = getH3Event() - return h3.useSession(event, getDefaultSessionConfig(config)) + return h3_useSession(event, getDefaultSessionConfig(config)) } /** * Get the session for the current request @@ -273,7 +281,7 @@ export function getSession( config: SessionConfig, ): Promise> { const event = getH3Event() - return h3.getSession(event, getDefaultSessionConfig(config)) + return h3_getSession(event, getDefaultSessionConfig(config)) } /** @@ -284,7 +292,7 @@ export function updateSession( update?: SessionUpdate, ): Promise> { const event = getH3Event() - return h3.updateSession(event, getDefaultSessionConfig(config), update) + return h3_updateSession(event, getDefaultSessionConfig(config), update) } /** @@ -292,7 +300,7 @@ export function updateSession( */ export function sealSession(config: SessionConfig): Promise { const event = getH3Event() - return h3.sealSession(event, getDefaultSessionConfig(config)) + return h3_sealSession(event, getDefaultSessionConfig(config)) } /** * Decrypt and verify the session data for the current request. @@ -302,7 +310,7 @@ export function unsealSession( sealed: string, ): Promise> { const event = getH3Event() - return h3.unsealSession(event, getDefaultSessionConfig(config), sealed) + return h3_unsealSession(event, getDefaultSessionConfig(config), sealed) } /** @@ -310,5 +318,18 @@ export function unsealSession( */ export function clearSession(config: Partial): Promise { const event = getH3Event() - return h3.clearSession(event, { name: 'start', ...config }) + return h3_clearSession(event, { name: 'start', ...config }) +} + +// not public API +export function getResponse() { + const event = getH3Event() + return event._res +} + +// not public API (yet) +export function getValidatedQuery( + schema: StandardSchemaV1, +): Promise> { + return h3_getValidatedQuery(getH3Event(), schema) } diff --git a/packages/start-server-core/src/server-functions-handler.ts b/packages/start-server-core/src/server-functions-handler.ts index d16fb181400..715729a7907 100644 --- a/packages/start-server-core/src/server-functions-handler.ts +++ b/packages/start-server-core/src/server-functions-handler.ts @@ -3,7 +3,7 @@ import invariant from 'tiny-invariant' import { startSerializer } from '@tanstack/start-client-core' import { VIRTUAL_MODULES } from './virtual-modules' import { loadVirtualModule } from './loadVirtualModule' -import { getResponseStatus } from './request-response' +import { getResponse } from './request-response' function sanitizeBase(base: string | undefined) { if (!base) { @@ -187,10 +187,12 @@ export const handleServerAction = async ({ request }: { request: Request }) => { return isNotFoundResponse(result) } + const response = getResponse() return new Response( result !== undefined ? startSerializer.stringify(result) : undefined, { - status: getResponseStatus(), + status: response?.status, + statusText: response?.statusText, headers: { 'Content-Type': 'application/json', }, @@ -245,7 +247,7 @@ function isNotFoundResponse(error: any) { const { headers, ...rest } = error return new Response(JSON.stringify(rest), { - status: 200, + status: 404, headers: { 'Content-Type': 'application/json', ...(headers || {}), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38d78aa5fa1..5a51194f2ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2261,7 +2261,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2307,7 +2307,7 @@ importers: version: 1.0.3(@rsbuild/core@1.2.4) '@rsbuild/plugin-solid': specifier: ^1.0.4 - version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.5) + version: 1.0.4(@babel/core@7.27.7)(@rsbuild/core@1.2.4)(solid-js@1.9.5) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -7235,27 +7235,17 @@ importers: specifier: workspace:* version: link:../start-storage-context cookie-es: - specifier: ^1.2.2 - version: 1.2.2 + specifier: ^2.0.0 + version: 2.0.0 fetchdts: - specifier: ^0.1.5 - version: 0.1.5 + specifier: ^0.1.6 + version: 0.1.6 h3: specifier: 2.0.0-beta.3 version: 2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)) tiny-invariant: specifier: ^1.3.3 version: 1.3.3 - devDependencies: - '@tanstack/directive-functions-plugin': - specifier: workspace:* - version: link:../directive-functions-plugin - typescript: - specifier: ^5.7.2 - version: 5.8.2 - vite: - specifier: ^7.1.1 - version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) packages/start-server-functions-client: dependencies: @@ -12798,8 +12788,8 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - fetchdts@0.1.5: - resolution: {integrity: sha512-GCxyHdCCUm56atms+sIjOsAENvhebk3HAM1CfzgKCgMRjPUylpkkPmNknsaXe1gDRqM3cJbMhpkXMhCzXSE+Jg==} + fetchdts@0.1.6: + resolution: {integrity: sha512-yR7rc9v+7KOEnSU5sOJfH9OaxhWRfrrk3am1CUliTCy6Bc+JQtGcxFT9MxvmbU34wA8HYkCk5r9lVRAld8IAcQ==} fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -22299,7 +22289,7 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - fetchdts@0.1.5: {} + fetchdts@0.1.6: {} fflate@0.8.2: {} @@ -22642,7 +22632,7 @@ snapshots: h3@2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)): dependencies: cookie-es: 2.0.0 - fetchdts: 0.1.5 + fetchdts: 0.1.6 rou3: 0.7.3 srvx: 0.8.6 optionalDependencies: From afd0ec3843c34ecc6a99d8954d34fcd49749c047 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 11 Aug 2025 21:55:40 +0200 Subject: [PATCH 062/271] respect base path for client entry script --- packages/start-plugin-core/src/start-manifest-plugin/plugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts b/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts index 6827847a2cf..1e66685a2d0 100644 --- a/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts +++ b/packages/start-plugin-core/src/start-manifest-plugin/plugin.ts @@ -74,7 +74,7 @@ export function startManifestPlugin(opts: { if (this.environment.config.command === 'serve') { return `export const tsrStartManifest = () => ({ routes: {}, - clientEntry: '${joinURL('/@id', ENTRY_POINTS.client)}', + clientEntry: '${joinURL(APP_BASE, '@id', ENTRY_POINTS.client)}', })` } From 6f923a030ef4dc37e2fc80dd23d43a933eff9e7a Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Tue, 12 Aug 2025 19:23:57 +0200 Subject: [PATCH 063/271] fix lint --- scripts/llms-generate.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/llms-generate.mjs b/scripts/llms-generate.mjs index c84b4a0adcc..ed50c319f18 100755 --- a/scripts/llms-generate.mjs +++ b/scripts/llms-generate.mjs @@ -160,6 +160,7 @@ fs.writeFileSync( lib: ['ESNext', 'DOM'], declaration: true, outDir: '../dist/llms', + strict: true, }, include: ['./index.ts', './rules/*.ts'], exclude: ['node_modules', 'dist'], From 162edced29f56a1c0404b82b6ca0ae7dd96cf4ae Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Tue, 12 Aug 2025 19:23:57 +0200 Subject: [PATCH 064/271] allow to explicitly configure whether to install dev server middleware --- .../src/dev-server-plugin/plugin.ts | 42 +++++++++++++------ packages/start-plugin-core/src/plugin.ts | 2 +- packages/start-plugin-core/src/schema.ts | 3 ++ 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts index a0d87a48217..c8a8bded9ea 100644 --- a/packages/start-plugin-core/src/dev-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/dev-server-plugin/plugin.ts @@ -5,8 +5,13 @@ import { ENTRY_POINTS, VITE_ENVIRONMENT_NAMES } from '../constants' import { resolveViteId } from '../utils' import { extractHtmlScripts } from './extract-html-scripts' import type { Connect, DevEnvironment, PluginOption } from 'vite' +import type { TanStackStartOutputConfig } from '../schema' -export function devServerPlugin(): PluginOption { +export function devServerPlugin({ + startConfig, +}: { + startConfig: TanStackStartOutputConfig +}): PluginOption { let isTest = false let injectedHeadScripts: string | undefined @@ -34,11 +39,6 @@ export function devServerPlugin(): PluginOption { .join(';') return () => { - // do not install middleware in middlewareMode - if (viteDevServer.config.server.middlewareMode) { - return - } - const serverEnv = viteDevServer.environments[ VITE_ENVIRONMENT_NAMES.server ] as DevEnvironment | undefined @@ -48,15 +48,31 @@ export function devServerPlugin(): PluginOption { `Server environment ${VITE_ENVIRONMENT_NAMES.server} not found`, ) } - - // do not install middleware if SSR env in case another plugin already did - if ( - !isRunnableDevEnvironment(serverEnv) || - // do not check via `isFetchableDevEnvironment` since nitro does implement the `FetchableDevEnvironment` interface but not via inheritance (which this helper checks) - 'dispatchFetch' in serverEnv - ) { + const installMiddleware = startConfig.vite?.installDevServerMiddleware + if (installMiddleware === false) { return } + if (installMiddleware == undefined) { + // do not install middleware in middlewareMode by default + if (viteDevServer.config.server.middlewareMode) { + return + } + + // do not install middleware if SSR env in case another plugin already did + if ( + !isRunnableDevEnvironment(serverEnv) || + // do not check via `isFetchableDevEnvironment` since nitro does implement the `FetchableDevEnvironment` interface but not via inheritance (which this helper checks) + 'dispatchFetch' in serverEnv + ) { + return + } + } + + if (!isRunnableDevEnvironment(serverEnv)) { + throw new Error( + 'cannot install vite dev server middleware for TanStack Start since the SSR environment is not a RunnableDevEnvironment', + ) + } viteDevServer.middlewares.use(async (req, res) => { // fix the request URL to match the original URL diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 0ae70b16b91..155681c6701 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -311,7 +311,7 @@ export function TanStackStartVitePluginCore( startManifestPlugin({ getClientBundle: () => getBundle(VITE_ENVIRONMENT_NAMES.client), }), - devServerPlugin(), + devServerPlugin({ startConfig }), { name: 'tanstack-start:core:capture-bundle', applyToEnvironment(e) { diff --git a/packages/start-plugin-core/src/schema.ts b/packages/start-plugin-core/src/schema.ts index e2df64d07fc..e7977916825 100644 --- a/packages/start-plugin-core/src/schema.ts +++ b/packages/start-plugin-core/src/schema.ts @@ -173,6 +173,9 @@ const tanstackStartOptionsSchema = z .and(pagePrerenderOptionsSchema.optional()) .optional(), spa: spaSchema.optional(), + vite: z + .object({ installDevServerMiddleware: z.boolean().optional() }) + .optional(), }) .optional() .default({}) From d5b4c3b49068404d775b7c4e9be94b1e8c2ed4d4 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Tue, 12 Aug 2025 19:23:57 +0200 Subject: [PATCH 065/271] remove unused dep --- packages/start-plugin-core/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 4174abb35ae..c08fa249af1 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -73,7 +73,6 @@ "babel-dead-code-elimination": "^1.0.9", "cheerio": "^1.0.0", "exsolve": "^1.0.7", - "nitropack": "^2.11.12", "pathe": "^2.0.3", "srvx": "^0.8.2", "ufo": "^1.5.4", From e77e8173da06adb9db393834f30b8eb94bbcb477 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Tue, 12 Aug 2025 19:23:57 +0200 Subject: [PATCH 066/271] use custom server in e2e examples --- .../custom-basepath/express-server.ts | 44 + e2e/react-start/custom-basepath/package.json | 16 +- e2e/react-start/custom-basepath/src/server.ts | 14 + .../custom-basepath/vite.config.ts | 4 +- .../custom-basepath/express-server.ts | 44 + e2e/solid-start/custom-basepath/package.json | 16 +- e2e/solid-start/custom-basepath/src/server.ts | 14 + pnpm-lock.yaml | 2974 +---------------- 8 files changed, 216 insertions(+), 2910 deletions(-) create mode 100644 e2e/react-start/custom-basepath/express-server.ts create mode 100644 e2e/react-start/custom-basepath/src/server.ts create mode 100644 e2e/solid-start/custom-basepath/express-server.ts create mode 100644 e2e/solid-start/custom-basepath/src/server.ts diff --git a/e2e/react-start/custom-basepath/express-server.ts b/e2e/react-start/custom-basepath/express-server.ts new file mode 100644 index 00000000000..ec05a2ad498 --- /dev/null +++ b/e2e/react-start/custom-basepath/express-server.ts @@ -0,0 +1,44 @@ +import express from 'express' +import { toNodeHandler } from 'srvx/node' + +const DEVELOPMENT = process.env.NODE_ENV === 'development' +const PORT = Number.parseInt(process.env.PORT || '3000') + +const app = express() + +if (DEVELOPMENT) { + const viteDevServer = await import('vite').then((vite) => + vite.createServer({ + server: { middlewareMode: true }, + }), + ) + app.use(viteDevServer.middlewares) + app.use(async (req, res, next) => { + try { + const { default: serverEntry } = + await viteDevServer.ssrLoadModule('./src/server.ts') + const handler = toNodeHandler(serverEntry.fetch) + await handler(req, res) + } catch (error) { + if (typeof error === 'object' && error instanceof Error) { + viteDevServer.ssrFixStacktrace(error) + } + next(error) + } + }) +} else { + const { default: handler } = await import('./dist/server.js') + const nodeHandler = toNodeHandler(handler.fetch) + app.use('/custom/basepath', express.static('dist/public')) + app.use(async (req, res, next) => { + try { + await nodeHandler(req, res) + } catch (error) { + next(error) + } + }) +} + +app.listen(PORT, () => { + console.log(`Server is running on http://localhost:${PORT}`) +}) diff --git a/e2e/react-start/custom-basepath/package.json b/e2e/react-start/custom-basepath/package.json index 6c7a60eddb1..9a89b00d26b 100644 --- a/e2e/react-start/custom-basepath/package.json +++ b/e2e/react-start/custom-basepath/package.json @@ -4,36 +4,36 @@ "sideEffects": false, "type": "module", "scripts": { - "dev": "vite dev --port 3000", - "dev:e2e": "vite dev", + "dev": "cross-env NODE_ENV=development tsx express-server.ts", "build": "vite build && tsc --noEmit", - "start": "pnpx srvx --prod dist/server.js", + "start": "tsx express-server.ts", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { "@tanstack/react-router": "workspace:^", "@tanstack/react-router-devtools": "workspace:^", "@tanstack/react-start": "workspace:^", + "express": "^4.21.2", "react": "^19.0.0", "react-dom": "^19.0.0", - "redaxios": "^0.5.1", - "tailwind-merge": "^2.6.0", - "vite": "^7.1.1", - "zod": "^3.24.2" + "redaxios": "^0.5.1" }, "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", + "@types/express": "^5.0.3", "@types/node": "^22.10.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", - "combinate": "^1.1.11", + "cross-env": "^10.0.0", "postcss": "^8.5.1", "srvx": "^0.8.6", "tailwindcss": "^3.4.17", + "tsx": "^4.20.3", "typescript": "^5.7.2", + "vite": "^7.1.1", "vite-tsconfig-paths": "^5.1.4" } } diff --git a/e2e/react-start/custom-basepath/src/server.ts b/e2e/react-start/custom-basepath/src/server.ts new file mode 100644 index 00000000000..1d977805863 --- /dev/null +++ b/e2e/react-start/custom-basepath/src/server.ts @@ -0,0 +1,14 @@ +import { + createStartHandler, + defaultStreamHandler, +} from '@tanstack/react-start/server' + +import { createRouter } from './router' + +const fetch = createStartHandler({ + createRouter, +})(defaultStreamHandler) + +export default { + fetch, +} diff --git a/e2e/react-start/custom-basepath/vite.config.ts b/e2e/react-start/custom-basepath/vite.config.ts index 97f11383b4a..7e200dc0740 100644 --- a/e2e/react-start/custom-basepath/vite.config.ts +++ b/e2e/react-start/custom-basepath/vite.config.ts @@ -12,7 +12,9 @@ export default defineConfig({ tsConfigPaths({ projects: ['./tsconfig.json'], }), - tanstackStart(), + tanstackStart({ + vite: { installDevServerMiddleware: true }, + }), viteReact(), ], }) diff --git a/e2e/solid-start/custom-basepath/express-server.ts b/e2e/solid-start/custom-basepath/express-server.ts new file mode 100644 index 00000000000..ec05a2ad498 --- /dev/null +++ b/e2e/solid-start/custom-basepath/express-server.ts @@ -0,0 +1,44 @@ +import express from 'express' +import { toNodeHandler } from 'srvx/node' + +const DEVELOPMENT = process.env.NODE_ENV === 'development' +const PORT = Number.parseInt(process.env.PORT || '3000') + +const app = express() + +if (DEVELOPMENT) { + const viteDevServer = await import('vite').then((vite) => + vite.createServer({ + server: { middlewareMode: true }, + }), + ) + app.use(viteDevServer.middlewares) + app.use(async (req, res, next) => { + try { + const { default: serverEntry } = + await viteDevServer.ssrLoadModule('./src/server.ts') + const handler = toNodeHandler(serverEntry.fetch) + await handler(req, res) + } catch (error) { + if (typeof error === 'object' && error instanceof Error) { + viteDevServer.ssrFixStacktrace(error) + } + next(error) + } + }) +} else { + const { default: handler } = await import('./dist/server.js') + const nodeHandler = toNodeHandler(handler.fetch) + app.use('/custom/basepath', express.static('dist/public')) + app.use(async (req, res, next) => { + try { + await nodeHandler(req, res) + } catch (error) { + next(error) + } + }) +} + +app.listen(PORT, () => { + console.log(`Server is running on http://localhost:${PORT}`) +}) diff --git a/e2e/solid-start/custom-basepath/package.json b/e2e/solid-start/custom-basepath/package.json index 260a3b92f15..1b0755af310 100644 --- a/e2e/solid-start/custom-basepath/package.json +++ b/e2e/solid-start/custom-basepath/package.json @@ -4,32 +4,32 @@ "sideEffects": false, "type": "module", "scripts": { - "dev": "vite dev --port 3000", - "dev:e2e": "vite dev", + "dev": "cross-env NODE_ENV=development tsx express-server.ts", "build": "vite build && tsc --noEmit", - "start": "pnpx srvx --prod dist/server.js", + "start": "tsx express-server.ts", "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" }, "dependencies": { "@tanstack/solid-router": "workspace:^", "@tanstack/solid-router-devtools": "workspace:^", "@tanstack/solid-start": "workspace:^", + "express": "^4.21.2", "redaxios": "^0.5.1", - "solid-js": "^1.9.5", - "tailwind-merge": "^2.6.0", - "vite": "^7.1.1", - "zod": "^3.24.2" + "solid-js": "^1.9.5" }, "devDependencies": { "@playwright/test": "^1.50.1", "@tanstack/router-e2e-utils": "workspace:^", + "@types/express": "^5.0.3", "@types/node": "^22.10.2", "autoprefixer": "^10.4.20", - "combinate": "^1.1.11", + "cross-env": "^10.0.0", "postcss": "^8.5.1", "srvx": "^0.8.6", "tailwindcss": "^3.4.17", + "tsx": "^4.20.3", "typescript": "^5.7.2", + "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8", "vite-tsconfig-paths": "^5.1.4" } diff --git a/e2e/solid-start/custom-basepath/src/server.ts b/e2e/solid-start/custom-basepath/src/server.ts new file mode 100644 index 00000000000..d54db7edf0d --- /dev/null +++ b/e2e/solid-start/custom-basepath/src/server.ts @@ -0,0 +1,14 @@ +import { + createStartHandler, + defaultStreamHandler, +} from '@tanstack/solid-start/server' + +import { createRouter } from './router' + +const fetch = createStartHandler({ + createRouter, +})(defaultStreamHandler) + +export default { + fetch, +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a51194f2ce..77302fe2cef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,7 +107,7 @@ importers: version: 4.0.2 nx: specifier: 21.3.7 - version: 21.3.7(@swc/core@1.10.15(@swc/helpers@0.5.15)) + version: 21.3.7(@swc/core@1.10.15) prettier: specifier: ^3.6.2 version: 3.6.2 @@ -1253,6 +1253,9 @@ importers: '@tanstack/react-start': specifier: workspace:* version: link:../../../packages/react-start + express: + specifier: ^4.21.2 + version: 4.21.2 react: specifier: ^19.0.0 version: 19.0.0 @@ -1262,15 +1265,6 @@ importers: redaxios: specifier: ^0.5.1 version: 0.5.1 - tailwind-merge: - specifier: ^2.6.0 - version: 2.6.0 - vite: - specifier: ^7.1.1 - version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - zod: - specifier: ^3.24.2 - version: 3.25.57 devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -1278,6 +1272,9 @@ importers: '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils + '@types/express': + specifier: ^5.0.3 + version: 5.0.3 '@types/node': specifier: ^22.10.2 version: 22.13.4 @@ -1293,9 +1290,9 @@ importers: autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) - combinate: - specifier: ^1.1.11 - version: 1.1.11 + cross-env: + specifier: ^10.0.0 + version: 10.0.0 postcss: specifier: ^8.5.1 version: 8.5.3 @@ -1305,9 +1302,15 @@ importers: tailwindcss: specifier: ^3.4.17 version: 3.4.17 + tsx: + specifier: ^4.20.3 + version: 4.20.3 typescript: specifier: ^5.7.2 version: 5.8.2 + vite: + specifier: ^7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-tsconfig-paths: specifier: ^5.1.4 version: 5.1.4(typescript@5.8.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) @@ -2485,21 +2488,15 @@ importers: '@tanstack/solid-start': specifier: workspace:* version: link:../../../packages/solid-start + express: + specifier: ^4.21.2 + version: 4.21.2 redaxios: specifier: ^0.5.1 version: 0.5.1 solid-js: specifier: ^1.9.5 version: 1.9.5 - tailwind-merge: - specifier: ^2.6.0 - version: 2.6.0 - vite: - specifier: ^7.1.1 - version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) - zod: - specifier: ^3.24.2 - version: 3.25.57 devDependencies: '@playwright/test': specifier: ^1.52.0 @@ -2507,15 +2504,18 @@ importers: '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils + '@types/express': + specifier: ^5.0.3 + version: 5.0.3 '@types/node': specifier: ^22.10.2 version: 22.13.4 autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) - combinate: - specifier: ^1.1.11 - version: 1.1.11 + cross-env: + specifier: ^10.0.0 + version: 10.0.0 postcss: specifier: ^8.5.1 version: 8.5.3 @@ -2525,9 +2525,15 @@ importers: tailwindcss: specifier: ^3.4.17 version: 3.4.17 + tsx: + specifier: ^4.20.3 + version: 4.20.3 typescript: specifier: ^5.7.2 version: 5.8.2 + vite: + specifier: ^7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) vite-plugin-solid: specifier: ^2.11.8 version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) @@ -6849,7 +6855,7 @@ importers: version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) webpack: specifier: '>=5.92.0' - version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) + version: 5.97.1(@swc/core@1.10.15)(esbuild@0.25.8) zod: specifier: ^3.24.2 version: 3.25.57 @@ -7185,9 +7191,6 @@ importers: exsolve: specifier: ^1.0.7 version: 1.0.7 - nitropack: - specifier: ^2.11.12 - version: 2.11.12 pathe: specifier: ^2.0.3 version: 2.0.3 @@ -7242,7 +7245,7 @@ importers: version: 0.1.6 h3: specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)) + version: 2.0.0-beta.3(crossws@0.4.1) tiny-invariant: specifier: ^1.3.3 version: 1.3.3 @@ -7560,10 +7563,6 @@ packages: resolution: {integrity: sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==} engines: {node: '>=6.9.0'} - '@babel/types@7.27.1': - resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} - engines: {node: '>=6.9.0'} - '@babel/types@7.27.6': resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} @@ -7617,18 +7616,10 @@ packages: resolution: {integrity: sha512-R9V4aJ8o7A7CJiqleNTTlIWt77pbmWeyD/rkvbN/CQ7By0KE0IPZbsWGXK0q2/WZNcP47LwOYO9aOnuXVrdLYw==} engines: {node: '>=18.17.0'} - '@cloudflare/kv-asset-handler@0.4.0': - resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} - engines: {node: '>=18.0.0'} - '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@colors/colors@1.6.0': - resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} - engines: {node: '>=0.1.90'} - '@commitlint/parse@19.5.0': resolution: {integrity: sha512-cZ/IxfAlfWYhAQV0TwcbdR1Oc0/r0Ik1GEessDJ3Lbuma/MRO8FRQX76eurcXtmhJC//rj52ZSZuXUg0oIX0Fw==} engines: {node: '>=v18'} @@ -7671,13 +7662,6 @@ packages: resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} engines: {node: '>=18'} - '@dabh/diagnostics@2.0.3': - resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} - - '@dependents/detective-less@5.0.1': - resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==} - engines: {node: '>=18'} - '@discoveryjs/json-ext@0.5.7': resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -7745,6 +7729,9 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + '@epic-web/invariant@1.0.0': + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + '@esbuild/aix-ppc64@0.23.0': resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} engines: {node: '>=18'} @@ -8411,9 +8398,6 @@ packages: resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@fastify/busboy@3.1.1': - resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==} - '@firebase/analytics-compat@0.2.18': resolution: {integrity: sha512-Hw9mzsSMZaQu6wrTbi3kYYwGw9nBqOHr47pVLxfr5v8CalsdrG5gfs9XUlPOZjHRVISp3oQrh1j7d3E+ulHPjQ==} peerDependencies: @@ -8697,9 +8681,6 @@ packages: '@types/node': optional: true - '@ioredis/commands@1.2.0': - resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -8768,11 +8749,6 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@mapbox/node-pre-gyp@2.0.0': - resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==} - engines: {node: '>=18'} - hasBin: true - '@microsoft/api-extractor-model@7.29.4': resolution: {integrity: sha512-LHOMxmT8/tU1IiiiHOdHFF83Qsi+V8d0kLfscG4EvQE9cafiR8blOYr8SfkQKWB1wgEilQgXJX3MIA4vetDLZw==} @@ -8895,38 +8871,6 @@ packages: '@napi-rs/wasm-runtime@0.2.4': resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} - '@netlify/binary-info@1.0.0': - resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} - - '@netlify/blobs@9.1.2': - resolution: {integrity: sha512-7dMjExSH4zj4ShvLem49mE3mf0K171Tx2pV4WDWhJbRUWW3SJIR2qntz0LvUGS97N5HO1SmnzrgWUhEXCsApiw==} - engines: {node: ^14.16.0 || >=16.0.0} - - '@netlify/dev-utils@2.2.0': - resolution: {integrity: sha512-5XUvZuffe3KetyhbWwd4n2ktd7wraocCYw10tlM+/u/95iAz29GjNiuNxbCD1T6Bn1MyGc4QLVNKOWhzJkVFAw==} - engines: {node: ^14.16.0 || >=16.0.0} - - '@netlify/functions@3.1.9': - resolution: {integrity: sha512-mbmQIylPzOTDicMFbJF839W3bywJVR0Fm77uvjS6AkDl000VlLwQb+4eO3p0BV7j8+l5IgN/3ltQ/Byi/esTEQ==} - engines: {node: '>=14.0.0'} - - '@netlify/open-api@2.37.0': - resolution: {integrity: sha512-zXnRFkxgNsalSgU8/vwTWnav3R+8KG8SsqHxqaoJdjjJtnZR7wo3f+qqu4z+WtZ/4V7fly91HFUwZ6Uz2OdW7w==} - engines: {node: '>=14.8.0'} - - '@netlify/runtime-utils@1.3.1': - resolution: {integrity: sha512-7/vIJlMYrPJPlEW84V2yeRuG3QBu66dmlv9neTmZ5nXzwylhBEOhy11ai+34A8mHCSZI4mKns25w3HM9kaDdJg==} - engines: {node: '>=16.0.0'} - - '@netlify/serverless-functions-api@1.41.2': - resolution: {integrity: sha512-pfCkH50JV06SGMNsNPjn8t17hOcId4fA881HeYQgMBOrewjsw4csaYgHEnCxCEu24Y5x75E2ULbFpqm9CvRCqw==} - engines: {node: '>=18.0.0'} - - '@netlify/zip-it-and-ship-it@12.1.0': - resolution: {integrity: sha512-+ND2fNnfeOZwnho79aMQ5rreFpI9tu/l4N9/F5H8t9rKYwVHHlv5Zi9o6g/gxZHDLfSbGC9th7Z46CihV8JaZw==} - engines: {node: '>=18.14.0'} - hasBin: true - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -9017,94 +8961,6 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} - '@parcel/watcher-android-arm64@2.5.1': - resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - - '@parcel/watcher-darwin-arm64@2.5.1': - resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] - - '@parcel/watcher-darwin-x64@2.5.1': - resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - - '@parcel/watcher-freebsd-x64@2.5.1': - resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - - '@parcel/watcher-linux-arm-glibc@2.5.1': - resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm-musl@2.5.1': - resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm64-glibc@2.5.1': - resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-arm64-musl@2.5.1': - resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-x64-glibc@2.5.1': - resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-linux-x64-musl@2.5.1': - resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-wasm@2.5.1': - resolution: {integrity: sha512-RJxlQQLkaMMIuWRozy+z2vEqbaQlCuaCgVZIUCzQLYggY22LZbP5Y1+ia+FD724Ids9e+XIyOLXLrLgQSHIthw==} - engines: {node: '>= 10.0.0'} - bundledDependencies: - - napi-wasm - - '@parcel/watcher-win32-arm64@2.5.1': - resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - - '@parcel/watcher-win32-ia32@2.5.1': - resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.5.1': - resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - - '@parcel/watcher@2.5.1': - resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} - engines: {node: '>= 10.0.0'} - '@peculiar/asn1-schema@2.3.15': resolution: {integrity: sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==} @@ -9131,17 +8987,6 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@poppinss/colors@4.1.4': - resolution: {integrity: sha512-FA+nTU8p6OcSH4tLDY5JilGYr1bVWHpNmcLr7xmMEdbWmKHa+3QZ+DqefrXKmdjO/brHTnQZo20lLSjaO7ydog==} - engines: {node: '>=18.16.0'} - - '@poppinss/dumper@0.6.3': - resolution: {integrity: sha512-iombbn8ckOixMtuV1p3f8jN6vqhXefNjJttoPaJDMeIk/yIGhkkL3OrHkEjE9SRsgoAx1vBUU2GtgggjvA5hCA==} - - '@poppinss/exception@1.2.1': - resolution: {integrity: sha512-aQypoot0HPSJa6gDPEPTntc1GT6QINrSbgRlRhadGW2WaYqUK3tK4Bw9SBMZXhmxd3GeAlZjVcODHgiu+THY7A==} - engines: {node: '>=18'} - '@prisma/client@5.22.0': resolution: {integrity: sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==} engines: {node: '>=16.13'} @@ -9865,69 +9710,6 @@ packages: '@rolldown/pluginutils@1.0.0-beta.19': resolution: {integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==} - '@rollup/plugin-alias@5.1.1': - resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-commonjs@28.0.3': - resolution: {integrity: sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==} - engines: {node: '>=16.0.0 || 14 >= 14.17'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-inject@5.0.5': - resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-json@6.1.0': - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-node-resolve@16.0.1': - resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-replace@6.0.2': - resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-terser@0.4.4': - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -9937,201 +9719,101 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.41.1': - resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.46.2': resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.41.1': - resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.46.2': resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.41.1': - resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.46.2': resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.41.1': - resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.46.2': resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.41.1': - resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.46.2': resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.41.1': - resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.46.2': resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.41.1': - resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.41.1': - resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.46.2': resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.41.1': - resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.46.2': resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.41.1': - resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.46.2': resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.41.1': - resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==} - cpu: [loong64] - os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': - resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==} - cpu: [ppc64] - os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.46.2': resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.41.1': - resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.46.2': resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.41.1': - resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.46.2': resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.41.1': - resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==} - cpu: [s390x] - os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.46.2': resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.41.1': - resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.46.2': resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.41.1': - resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.46.2': resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.41.1': - resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.46.2': resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.41.1': - resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.46.2': resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.41.1': - resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.46.2': resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} cpu: [x64] @@ -10394,14 +10076,6 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@sindresorhus/is@7.0.1': - resolution: {integrity: sha512-QWLl2P+rsCJeofkDNIT3WFmb6NrRud1SUYW8dIhXK/46XFV8Q/g7Bsvib0Askb0reRLe+WYPeeE+l5cH7SlkuQ==} - engines: {node: '>=18'} - - '@sindresorhus/merge-streams@2.3.0': - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - '@solid-devtools/debugger@0.26.0': resolution: {integrity: sha512-36QxZ+s/lY60E+Pb9q0eTsdqgaog4c823WIj5dC2LFdGrGXbVGBQEj6k7CgvMnEETdwndrd0Fm72fQyYPlZrVA==} peerDependencies: @@ -10502,9 +10176,6 @@ packages: '@solidjs/router': optional: true - '@speed-highlight/core@1.2.7': - resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==} - '@stablelib/base64@1.0.1': resolution: {integrity: sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==} @@ -10913,6 +10584,9 @@ packages: '@types/express@4.17.23': resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} + '@types/express@5.0.3': + resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -10955,9 +10629,6 @@ packages: '@types/node@22.13.4': resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==} - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -10986,9 +10657,6 @@ packages: '@types/react@19.0.8': resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==} - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - '@types/retry@0.12.2': resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} @@ -11010,9 +10678,6 @@ packages: '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - '@types/triple-beam@1.3.5': - resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} - '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -11025,9 +10690,6 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.22.0': resolution: {integrity: sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -11113,11 +10775,6 @@ packages: resolution: {integrity: sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vercel/nft@0.29.3': - resolution: {integrity: sha512-aVV0E6vJpuvImiMwU1/5QKkw2N96BRFE7mBYGS7FhXUoS6V7SarQ+8tuj33o7ofECz8JtHpmQ9JW+oVzOoB7MA==} - engines: {node: '>=18'} - hasBin: true - '@vitejs/plugin-react@4.3.4': resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} engines: {node: ^14.18.0 || >=16.0.0} @@ -11214,12 +10871,6 @@ packages: '@vue/compiler-dom@3.5.14': resolution: {integrity: sha512-1aOCSqxGOea5I80U2hQJvXYpPm/aXo95xL/m/mMhgyPUsKe9jhjwWpziNAw7tYRnbz1I61rd9Mld4W9KmmRoug==} - '@vue/compiler-sfc@3.5.14': - resolution: {integrity: sha512-9T6m/9mMr81Lj58JpzsiSIjBgv2LiVoWjIVa7kuXHICUi8LiDSIotMpPRXYJsXKqyARrzjT24NAwttrMnMaCXA==} - - '@vue/compiler-ssr@3.5.14': - resolution: {integrity: sha512-Y0G7PcBxr1yllnHuS/NxNCSPWnRGH4Ogrp0tsLA5QemDZuJLs99YjAKQ7KqkHE0vCg4QTKlQzXLKCMF7WPSl7Q==} - '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -11312,29 +10963,9 @@ packages: webpack-dev-server: optional: true - '@whatwg-node/disposablestack@0.0.6': - resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==} - engines: {node: '>=18.0.0'} - - '@whatwg-node/fetch@0.10.8': - resolution: {integrity: sha512-Rw9z3ctmeEj8QIB9MavkNJqekiu9usBCSMZa+uuAvM0lF3v70oQVCXNppMIqaV6OTZbdaHF1M2HLow58DEw+wg==} - engines: {node: '>=18.0.0'} - - '@whatwg-node/node-fetch@0.7.21': - resolution: {integrity: sha512-QC16IdsEyIW7kZd77aodrMO7zAoDyyqRCTLg+qG4wqtP4JV9AA+p7/lgqMdD29XyiYdVvIdFrfI9yh7B1QvRvw==} - engines: {node: '>=18.0.0'} - - '@whatwg-node/promise-helpers@1.3.2': - resolution: {integrity: sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==} - engines: {node: '>=16.0.0'} - - '@whatwg-node/server@0.9.71': - resolution: {integrity: sha512-ueFCcIPaMgtuYDS9u0qlUoEvj6GiSsKrwnOLPp9SshqjtcRaR1IEHRjoReq3sXNydsF5i0ZnmuYgXq9dV53t0g==} - engines: {node: '>=18.0.0'} - - '@workos-inc/node@7.46.0': - resolution: {integrity: sha512-r/j+l/nlHkOqgIt0U70shZMKIQwLYFFU9aYmFW53l16+FwG+61SfldaK3ckjb3gscoGxWq+t7RlxcEe7Tz5eRA==} - engines: {node: '>=16'} + '@workos-inc/node@7.46.0': + resolution: {integrity: sha512-r/j+l/nlHkOqgIt0U70shZMKIQwLYFFU9aYmFW53l16+FwG+61SfldaK3ckjb3gscoGxWq+t7RlxcEe7Tz5eRA==} + engines: {node: '>=16'} '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -11357,23 +10988,10 @@ packages: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true - abbrev@3.0.0: - resolution: {integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==} - engines: {node: ^18.17.0 || >=20.5.0} - - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-import-attributes@1.9.5: - resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} - peerDependencies: - acorn: ^8 - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -11494,14 +11112,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - archiver-utils@5.0.2: - resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} - engines: {node: '>= 14'} - - archiver@7.0.1: - resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} - engines: {node: '>= 14'} - arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -11547,20 +11157,10 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-module-types@6.0.1: - resolution: {integrity: sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==} - engines: {node: '>=18'} - ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} - async-sema@3.1.1: - resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} - - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -11574,9 +11174,6 @@ packages: axios@1.9.0: resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} - b4a@1.6.7: - resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} - babel-dead-code-elimination@1.0.10: resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} @@ -11597,9 +11194,6 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.5.4: - resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} - base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -11610,9 +11204,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - birecord@0.1.1: resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} @@ -11644,13 +11235,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - - buffer-crc32@1.0.0: - resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} - engines: {node: '>=8.0.0'} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -11660,10 +11244,6 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -11672,14 +11252,6 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - c12@3.0.4: - resolution: {integrity: sha512-t5FaZTYbbCtvxuZq9xxIruYydrAGsJ+8UdP0pZzMiK2xl/gNiSOy0OxhLzHUEEb0m1QXYqfzfvyIFEmz/g9lqg==} - peerDependencies: - magicast: ^0.3.5 - peerDependenciesMeta: - magicast: - optional: true - cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -11692,9 +11264,6 @@ packages: resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} engines: {node: '>= 0.4'} - callsite@1.0.0: - resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -11744,10 +11313,6 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -11756,9 +11321,6 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} - citty@0.1.6: - resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} @@ -11790,10 +11352,6 @@ packages: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - clipboardy@4.0.0: - resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} - engines: {node: '>=18'} - cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} @@ -11813,35 +11371,16 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - - color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} - colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - colorspace@1.1.4: - resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} - combinate@1.1.11: resolution: {integrity: sha512-+2MNAQ29HtNejOxkgaTQPC2Bm+pQvFuqf7o18uObl/Bx3daX06kjLUNY/qa9f+YSqzqm/ic3SdrlfN0fvTlw2g==} @@ -11857,10 +11396,6 @@ packages: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - commander@13.1.0: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} @@ -11876,25 +11411,12 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} - compatx@0.2.0: - resolution: {integrity: sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA==} - - compress-commons@6.0.2: - resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} - engines: {node: '>= 14'} - compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -11917,17 +11439,10 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - confbox@0.2.2: - resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} - connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} - consola@3.4.2: - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} - engines: {node: ^14.18.0 || >=16.10.0} - content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -11995,10 +11510,6 @@ packages: resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} engines: {node: '>=18'} - copy-file@11.0.0: - resolution: {integrity: sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==} - engines: {node: '>=18'} - core-js@3.40.0: resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==} @@ -12009,30 +11520,15 @@ packages: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} - crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} + cross-env@10.0.0: + resolution: {integrity: sha512-aU8qlEK/nHYtVuN4p7UQgAwVljzMg8hB4YK5ThRqD2l/ziSnryncPNn7bMLt5cFYsKVKBh8HqLqyCoTupEUu7Q==} + engines: {node: '>=20'} hasBin: true - crc32-stream@6.0.0: - resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} - engines: {node: '>= 14'} - - cron-parser@4.9.0: - resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} - engines: {node: '>=12.0.0'} - - croner@9.0.0: - resolution: {integrity: sha512-onMB0OkDjkXunhdW9htFjEhqrD54+M94i6ackoUkjHKbRnXdyEyKRelp4nJ1kAz32+s27jP1FsebpJCVl0BsvA==} - engines: {node: '>=18.0'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crossws@0.3.5: - resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} - crossws@0.4.1: resolution: {integrity: sha512-E7WKBcHVhAVrY6JYD5kteNqVq1GSZxqGrdSiwXR9at+XHi43HJoCQKXcCczR5LBnBquFZPsB3o7HklulKoBU5w==} peerDependencies: @@ -12078,29 +11574,6 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} - db0@0.3.2: - resolution: {integrity: sha512-xzWNQ6jk/+NtdfLyXEipbX55dmDSeteLFt/ayF+wZUU5bzKgmrDOxmInUTbyVRp46YwnJdkDA1KhB7WIXFofJw==} - peerDependencies: - '@electric-sql/pglite': '*' - '@libsql/client': '*' - better-sqlite3: '*' - drizzle-orm: '*' - mysql2: '*' - sqlite3: '*' - peerDependenciesMeta: - '@electric-sql/pglite': - optional: true - '@libsql/client': - optional: true - better-sqlite3: - optional: true - drizzle-orm: - optional: true - mysql2: - optional: true - sqlite3: - optional: true - de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -12138,9 +11611,6 @@ packages: supports-color: optional: true - decache@4.6.2: - resolution: {integrity: sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==} - decimal.js@10.5.0: resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} @@ -12182,17 +11652,10 @@ packages: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - denque@2.1.0: - resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} - engines: {node: '>=0.10'} - depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -12205,9 +11668,6 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - destr@2.0.5: - resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} - destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -12216,11 +11676,6 @@ packages: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - detect-libc@2.0.4: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} @@ -12231,49 +11686,6 @@ packages: detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - detective-amd@6.0.1: - resolution: {integrity: sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==} - engines: {node: '>=18'} - hasBin: true - - detective-cjs@6.0.1: - resolution: {integrity: sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==} - engines: {node: '>=18'} - - detective-es6@5.0.1: - resolution: {integrity: sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==} - engines: {node: '>=18'} - - detective-postcss@7.0.1: - resolution: {integrity: sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==} - engines: {node: ^14.0.0 || >=16.0.0} - peerDependencies: - postcss: ^8.4.47 - - detective-sass@6.0.1: - resolution: {integrity: sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==} - engines: {node: '>=18'} - - detective-scss@5.0.1: - resolution: {integrity: sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==} - engines: {node: '>=18'} - - detective-stylus@5.0.1: - resolution: {integrity: sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==} - engines: {node: '>=18'} - - detective-typescript@14.0.0: - resolution: {integrity: sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==} - engines: {node: '>=18'} - peerDependencies: - typescript: ^5.4.4 - - detective-vue2@2.2.0: - resolution: {integrity: sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==} - engines: {node: '>=18'} - peerDependencies: - typescript: ^5.4.4 - didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -12334,10 +11746,6 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} - dot-prop@9.0.0: - resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} - engines: {node: '>=18'} - dotenv-expand@11.0.7: resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} engines: {node: '>=12'} @@ -12354,9 +11762,6 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -12375,9 +11780,6 @@ packages: emojilib@2.4.0: resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - enabled@2.0.0: - resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} - encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -12411,10 +11813,6 @@ packages: resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} engines: {node: '>=0.12'} - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - envinfo@7.14.0: resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} @@ -12427,9 +11825,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - error-stack-parser-es@1.0.5: - resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} - error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -12497,15 +11892,6 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - eslint-compat-utils@0.5.1: resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} engines: {node: '>=12'} @@ -12691,10 +12077,6 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -12702,10 +12084,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - expand-tilde@2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} @@ -12724,17 +12102,9 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -12762,9 +12132,6 @@ packages: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} - fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.4.4: resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} peerDependencies: @@ -12781,9 +12148,6 @@ packages: picomatch: optional: true - fecha@4.2.3: - resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} - fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -12802,17 +12166,10 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - filter-obj@6.1.0: - resolution: {integrity: sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA==} - engines: {node: '>=18'} - finalhandler@1.3.1: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} @@ -12820,10 +12177,6 @@ packages: find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up-simple@1.0.1: - resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} - engines: {node: '>=18'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -12832,10 +12185,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-up@7.0.0: - resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} - engines: {node: '>=18'} - findup-sync@5.0.0: resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} engines: {node: '>= 10.13.0'} @@ -12862,9 +12211,6 @@ packages: flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - fn.name@1.1.0: - resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -12919,10 +12265,6 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} - front-matter@4.0.2: resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} @@ -12957,10 +12299,6 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-amd-module-type@6.0.1: - resolution: {integrity: sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==} - engines: {node: '>=18'} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -12984,21 +12322,9 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - get-tsconfig@4.10.0: resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} - giget@2.0.0: - resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} - hasBin: true - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -13019,11 +12345,6 @@ packages: engines: {node: 20 || >=22} hasBin: true - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - glob@9.3.5: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} @@ -13048,18 +12369,9 @@ packages: resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} engines: {node: '>=18'} - globby@14.1.0: - resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} - engines: {node: '>=18'} - globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - gonzales-pe@4.3.0: - resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} - engines: {node: '>=0.6.0'} - hasBin: true - goober@2.1.16: resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} peerDependencies: @@ -13079,13 +12391,6 @@ packages: resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - gzip-size@7.0.0: - resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - h3@1.15.3: - resolution: {integrity: sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==} - h3@2.0.0-beta.3: resolution: {integrity: sha512-AW9ry5z/YOmzuY0R1jk5jwc7jkGkeSOzyQ0+4qzVGdqY6I2JrslzKjAmcqUjfB6f+kdyIvUGOompt/Dl3MI+FA==} engines: {node: '>=20.11.1'} @@ -13127,13 +12432,6 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - - hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} - hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} @@ -13208,10 +12506,6 @@ packages: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} - http-shutdown@1.2.2: - resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -13220,13 +12514,6 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - httpxy@0.1.7: - resolution: {integrity: sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ==} - - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} @@ -13249,10 +12536,6 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.3: - resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} - engines: {node: '>= 4'} - immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} @@ -13280,14 +12563,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - index-to-position@1.1.0: - resolution: {integrity: sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==} - engines: {node: '>=18'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -13304,10 +12579,6 @@ packages: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} - ioredis@5.6.1: - resolution: {integrity: sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA==} - engines: {node: '>=12.22.0'} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -13347,17 +12618,10 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} @@ -13403,9 +12667,6 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - is-network-error@1.1.0: resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} engines: {node: '>=16'} @@ -13421,14 +12682,6 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} - - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} @@ -13444,25 +12697,10 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - is-relative@1.0.0: resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} engines: {node: '>=0.10.0'} - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-stream@4.0.1: - resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} - engines: {node: '>=18'} - is-text-path@2.0.0: resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} engines: {node: '>=8'} @@ -13475,13 +12713,6 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} - - is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - is-what@4.1.16: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} @@ -13498,10 +12729,6 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - is64bit@2.0.0: - resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} - engines: {node: '>=18'} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -13621,17 +12848,9 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} - junk@4.0.1: - resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} - engines: {node: '>=12.20'} - jwt-decode@3.1.2: resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} - jwt-decode@4.0.0: - resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} - engines: {node: '>=18'} - kebab-case@1.0.2: resolution: {integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==} @@ -13642,42 +12861,19 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - - klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} - - knitwork@1.2.0: - resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} - known-css-properties@0.30.0: resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==} kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - kuler@2.0.0: - resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - ky@1.7.4: resolution: {integrity: sha512-zYEr/gh7uLW2l4su11bmQ2M9xLgQLjyvx58UyNM/6nuqyWFHPX5ktMjvpev3F8QWdjSsHUpnWew4PBCswBNuMQ==} engines: {node: '>=18'} - lambda-local@2.2.0: - resolution: {integrity: sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg==} - engines: {node: '>=8'} - hasBin: true - launch-editor@2.9.1: resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==} - lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} - leb@1.0.0: resolution: {integrity: sha512-Y3c3QZfvKWHX60BVOQPhLCvVGmDYWyJEiINE3drOog6KCyN2AOwvuQQzlS3uJg1J85kzpILXIUwRXULWavir+w==} @@ -13767,10 +12963,6 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - listhen@1.9.0: - resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} - hasBin: true - loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -13779,10 +12971,6 @@ packages: resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} engines: {node: '>=14'} - local-pkg@1.1.1: - resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} - engines: {node: '>=14'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -13791,25 +12979,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - - lodash.isarguments@3.1.0: - resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -13820,10 +12992,6 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - logform@2.7.0: - resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} - engines: {node: '>= 12.0.0'} - long@5.3.1: resolution: {integrity: sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==} @@ -13857,10 +13025,6 @@ packages: lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - luxon@3.6.1: - resolution: {integrity: sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ==} - engines: {node: '>=12'} - lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -13872,9 +13036,6 @@ packages: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} - magicast@0.3.5: - resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} - map-cache@0.2.2: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} engines: {node: '>=0.10.0'} @@ -13932,10 +13093,6 @@ packages: merge-descriptors@1.0.3: resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - merge-options@3.0.4: - resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} - engines: {node: '>=10'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -13947,9 +13104,6 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micro-api-client@3.3.0: - resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -13966,33 +13120,15 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} - engines: {node: '>= 0.6'} - mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - - mime@4.0.7: - resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==} - engines: {node: '>=16'} - hasBin: true - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -14010,10 +13146,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - minimatch@8.0.4: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} @@ -14049,11 +13181,6 @@ packages: mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - module-definition@6.0.1: - resolution: {integrity: sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==} - engines: {node: '>=18'} - hasBin: true - motion-dom@11.18.1: resolution: {integrity: sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw==} @@ -14117,26 +13244,9 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - netlify@13.3.5: - resolution: {integrity: sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==} - engines: {node: ^14.16.0 || >=16.0.0} - - nitropack@2.11.12: - resolution: {integrity: sha512-e2AdQrEY1IVoNTdyjfEQV93xkqz4SQxAMR0xWF8mZUUHxMLm6S4nPzpscjksmT4OdUxl0N8/DCaGjKQ9ghdodA==} - engines: {node: ^16.11.0 || >=17.0.0} - hasBin: true - peerDependencies: - xml2js: ^0.6.2 - peerDependenciesMeta: - xml2js: - optional: true - no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -14146,9 +13256,6 @@ packages: resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} engines: {node: '>=18'} - node-fetch-native@1.6.6: - resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} - node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -14166,36 +13273,12 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} - hasBin: true - node-machine-id@1.1.12: resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - node-mock-http@1.0.0: - resolution: {integrity: sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==} - node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - node-source-walk@7.0.1: - resolution: {integrity: sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==} - engines: {node: '>=18'} - - nopt@8.1.0: - resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} - engines: {node: ^18.17.0 || >=20.5.0} - hasBin: true - - normalize-package-data@6.0.2: - resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} - engines: {node: ^16.14.0 || >=18.0.0} - - normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -14208,10 +13291,6 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -14230,11 +13309,6 @@ packages: '@swc/core': optional: true - nypm@0.6.0: - resolution: {integrity: sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==} - engines: {node: ^14.16.0 || >=16.10.0} - hasBin: true - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -14258,12 +13332,6 @@ packages: obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - ofetch@1.4.1: - resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - - ohash@2.0.11: - resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -14275,17 +13343,10 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - one-time@1.0.0: - resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} - onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - open@10.1.0: resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} engines: {node: '>=18'} @@ -14305,10 +13366,6 @@ packages: outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} - p-event@6.0.1: - resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} - engines: {node: '>=16.17'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -14317,10 +13374,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -14329,30 +13382,14 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} - engines: {node: '>=18'} - p-retry@6.2.1: resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} engines: {node: '>=16.17'} - p-timeout@6.1.4: - resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} - engines: {node: '>=14.16'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - p-wait-for@5.0.2: - resolution: {integrity: sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==} - engines: {node: '>=12'} - package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -14370,18 +13407,10 @@ packages: resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} engines: {node: '>=0.8'} - parse-gitignore@2.0.0: - resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} - engines: {node: '>=14'} - parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-json@8.3.0: - resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} - engines: {node: '>=18'} - parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -14418,18 +13447,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -14459,13 +13480,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - path-type@6.0.0: - resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} - engines: {node: '>=18'} - - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -14473,12 +13487,6 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} - pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - - perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -14509,9 +13517,6 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.1.0: - resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} - playwright-core@1.52.0: resolution: {integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==} engines: {node: '>=18'} @@ -14563,12 +13568,6 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss-values-parser@6.0.2: - resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.2.9 - postcss@8.5.3: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} @@ -14577,11 +13576,6 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - precinct@12.2.0: - resolution: {integrity: sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==} - engines: {node: '>=18'} - hasBin: true - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -14601,10 +13595,6 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-bytes@6.1.1: - resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} - engines: {node: ^14.13.1 || >=16.0.0} - pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -14624,10 +13614,6 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -14654,9 +13640,6 @@ packages: engines: {node: '>=18'} hasBin: true - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -14676,18 +13659,12 @@ packages: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} - quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} - querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quote-unquote@1.0.0: - resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} - radix-ui@1.2.0: resolution: {integrity: sha512-05auM88p3yNwAarx3JQGnRHbtzDNATbMx6/Qkr2gXg5QNLPUjdeduJvlhhVzlGxfUMBnwzYmydUIzAdrOz3J5w==} peerDependencies: @@ -14701,9 +13678,6 @@ packages: '@types/react-dom': optional: true - radix3@1.1.2: - resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -14715,9 +13689,6 @@ packages: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - rc9@2.1.2: - resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} - react-dom@19.0.0: resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: @@ -14797,14 +13768,6 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-package-up@11.0.0: - resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} - engines: {node: '>=18'} - - read-pkg@9.0.1: - resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} - engines: {node: '>=18'} - readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -14812,21 +13775,10 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readable-stream@4.7.0: - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - readdir-glob@1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - readdirp@4.1.1: - resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} - engines: {node: '>= 14.18.0'} - recast@0.23.11: resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} engines: {node: '>= 4'} @@ -14842,14 +13794,6 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - redis-errors@1.2.0: - resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} - engines: {node: '>=4'} - - redis-parser@3.0.0: - resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} - engines: {node: '>=4'} - reduce-configs@1.1.0: resolution: {integrity: sha512-DQxy6liNadHfrLahZR7lMdc227NYVaQZhY5FMsxLEjX8X0SCuH+ESHSLCoz2yDZFq1/CLMDOAHdsEHwOEXKtvg==} @@ -14860,9 +13804,6 @@ packages: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} - remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - renderkid@3.0.0: resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} @@ -14874,9 +13815,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-package-name@2.0.1: - resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} - requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -14908,10 +13846,6 @@ packages: engines: {node: '>= 0.4'} hasBin: true - resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true - restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -14938,24 +13872,6 @@ packages: peerDependencies: rollup: 2.x || 3.x || 4.x - rollup-plugin-visualizer@5.14.0: - resolution: {integrity: sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - rolldown: 1.x - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rolldown: - optional: true - rollup: - optional: true - - rollup@4.41.1: - resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - rollup@4.46.2: resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -14990,10 +13906,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -15012,9 +13924,6 @@ packages: resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==} engines: {node: '>= 10.13.0'} - scule@1.3.0: - resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - select-hose@2.0.0: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} @@ -15040,10 +13949,6 @@ packages: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} - send@1.2.0: - resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} - engines: {node: '>= 18'} - serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -15071,17 +13976,10 @@ packages: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} engines: {node: '>= 0.8.0'} - serve-placeholder@2.0.2: - resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==} - serve-static@1.16.2: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} - serve-static@2.2.0: - resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} - engines: {node: '>= 18'} - setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} @@ -15137,9 +14035,6 @@ packages: resolution: {integrity: sha512-d3nebH+gVXaEsHEy3juuX2EJ9H3Es6gHJTyz58Vcx33zAoCwWPQiOC0ONsEHOg7ciwZanFH1FEnJFB4OKzWrdw==} engines: {node: '>=0.12.18'} - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sirv@3.0.1: resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} engines: {node: '>=18'} @@ -15148,13 +14043,6 @@ packages: resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} engines: {node: '>=8'} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - - smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} @@ -15195,18 +14083,6 @@ packages: spawn-command@0.0.2: resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} - 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.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} @@ -15233,18 +14109,12 @@ packages: stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - standard-as-callback@2.1.0: - resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} - standardwebhooks@1.0.0: resolution: {integrity: sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg==} @@ -15259,9 +14129,6 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - streamx@2.22.0: - resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} - strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} @@ -15298,10 +14165,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -15324,10 +14187,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supports-color@10.0.0: - resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==} - engines: {node: '>=18'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -15358,10 +14217,6 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - system-architecture@0.1.0: - resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} - engines: {node: '>=18'} - tailwind-merge@2.6.0: resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} @@ -15381,9 +14236,6 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} - tar-stream@3.1.7: - resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} @@ -15409,16 +14261,10 @@ packages: engines: {node: '>=10'} hasBin: true - text-decoder@1.2.3: - resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} - text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} - text-hex@1.0.0: - resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -15481,9 +14327,6 @@ packages: resolution: {integrity: sha512-6U2ti64/nppsDxQs9hw8ephA3nO6nSQvVVfxwRw8wLQPFtLI1cFI1a1eP22g+LUP+1TA2pKKjUTwWB+K2coqmQ==} hasBin: true - tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - tmp@0.2.3: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} @@ -15496,9 +14339,6 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - toml@3.0.0: - resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} - totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -15528,10 +14368,6 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - triple-beam@1.4.1: - resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} - engines: {node: '>= 14.0.0'} - ts-api-utils@2.0.1: resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} engines: {node: '>=18.12'} @@ -15673,9 +14509,6 @@ packages: ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - ultrahtml@1.6.0: - resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} - unc-path-regex@0.1.2: resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} engines: {node: '>=0.10.0'} @@ -15683,9 +14516,6 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - unctx@2.4.1: - resolution: {integrity: sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==} - undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} @@ -15693,25 +14523,10 @@ packages: resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} engines: {node: '>=18.17'} - unenv@2.0.0-rc.17: - resolution: {integrity: sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==} - unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} - - unimport@5.0.1: - resolution: {integrity: sha512-1YWzPj6wYhtwHE+9LxRlyqP4DiRrhGfJxdtH475im8ktyZXO3jHj/3PZ97zDdvkYoovFdi0K4SKl3a7l92v3sQ==} - engines: {node: '>=18.12.0'} - universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -15724,103 +14539,17 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unixify@1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} - unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin-utils@0.2.4: - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} - engines: {node: '>=18.12.0'} - unplugin@1.0.1: resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} - engines: {node: '>=14.0.0'} - unplugin@2.3.4: resolution: {integrity: sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg==} engines: {node: '>=18.12.0'} - unplugin@2.3.5: - resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} - engines: {node: '>=18.12.0'} - - unstorage@1.16.0: - resolution: {integrity: sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==} - peerDependencies: - '@azure/app-configuration': ^1.8.0 - '@azure/cosmos': ^4.2.0 - '@azure/data-tables': ^13.3.0 - '@azure/identity': ^4.6.0 - '@azure/keyvault-secrets': ^4.9.0 - '@azure/storage-blob': ^12.26.0 - '@capacitor/preferences': ^6.0.3 || ^7.0.0 - '@deno/kv': '>=0.9.0' - '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 - '@planetscale/database': ^1.19.0 - '@upstash/redis': ^1.34.3 - '@vercel/blob': '>=0.27.1' - '@vercel/kv': ^1.0.1 - aws4fetch: ^1.0.20 - db0: '>=0.2.1' - idb-keyval: ^6.2.1 - ioredis: ^5.4.2 - uploadthing: ^7.4.4 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@deno/kv': - optional: true - '@netlify/blobs': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/blob': - optional: true - '@vercel/kv': - optional: true - aws4fetch: - optional: true - db0: - optional: true - idb-keyval: - optional: true - ioredis: - optional: true - uploadthing: - optional: true - - untun@0.1.3: - resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} - hasBin: true - - untyped@2.0.0: - resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} - hasBin: true - - unwasm@0.3.9: - resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} - upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} @@ -15831,21 +14560,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - uqr@0.1.2: - resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - urlpattern-polyfill@10.1.0: - resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==} - - urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} - use-callback-ref@1.3.3: resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} @@ -15881,10 +14601,6 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - uuid@11.1.0: - resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} - hasBin: true - uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -15904,9 +14620,6 @@ packages: 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} @@ -16191,14 +14904,6 @@ packages: wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - winston-transport@4.9.0: - resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} - engines: {node: '>= 12.0.0'} - - winston@3.17.0: - resolution: {integrity: sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==} - engines: {node: '>= 12.0.0'} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -16218,10 +14923,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@6.0.0: - resolution: {integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==} - engines: {node: ^18.17.0 || >=20.5.0} - ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -16284,33 +14985,14 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.2.1: - resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} - engines: {node: '>=12.20'} - yoctocolors-cjs@2.1.2: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} - youch-core@0.3.2: - resolution: {integrity: sha512-fusrlIMLeRvTFYLUjJ9KzlGC3N+6MOPJ68HNj/yJv2nz7zq8t4HEviLms2gkdRPUS7F5rZ5n+pYx9r88m6IE1g==} - engines: {node: '>=18'} - - youch@4.1.0-beta.7: - resolution: {integrity: sha512-HUn0M24AUTMvjdkoMtH8fJz2FEd+k1xvtR9EoTrDUoVUi6o7xl5X+pST/vjk4T3GEQo2mJ9FlAvhWBm8dIdD4g==} - engines: {node: '>=18'} - - zip-stream@6.0.1: - resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} - engines: {node: '>= 14'} - zod@3.25.57: resolution: {integrity: sha512-6tgzLuwVST5oLUxXTmBqoinKMd3JeesgbgseXeFasKKj8Q1FCZrHnbqJOyiEvr4cVAlbug+CgIsmJ8cl/pU5FA==} @@ -16639,11 +15321,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.27.1': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/types@7.27.6': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -16715,15 +15392,9 @@ snapshots: dependencies: csstype: 3.1.3 - '@cloudflare/kv-asset-handler@0.4.0': - dependencies: - mime: 3.0.0 - '@colors/colors@1.5.0': optional: true - '@colors/colors@1.6.0': {} - '@commitlint/parse@19.5.0': dependencies: '@commitlint/types': 19.5.0 @@ -16760,17 +15431,6 @@ snapshots: '@csstools/css-tokenizer@3.0.3': {} - '@dabh/diagnostics@2.0.3': - dependencies: - colorspace: 1.1.4 - enabled: 2.0.0 - kuler: 2.0.0 - - '@dependents/detective-less@5.0.1': - dependencies: - gonzales-pe: 4.3.0 - node-source-walk: 7.0.1 - '@discoveryjs/json-ext@0.5.7': {} '@emnapi/core@1.3.1': @@ -16869,6 +15529,8 @@ snapshots: '@emotion/weak-memoize@0.4.0': {} + '@epic-web/invariant@1.0.0': {} + '@esbuild/aix-ppc64@0.23.0': optional: true @@ -17269,7 +15931,7 @@ snapshots: '@eslint/config-array@0.19.2': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0 + debug: 4.4.1 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -17283,7 +15945,7 @@ snapshots: '@eslint/eslintrc@3.3.0': dependencies: ajv: 6.12.6 - debug: 4.4.0 + debug: 4.4.1 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -17303,8 +15965,6 @@ snapshots: '@eslint/core': 0.12.0 levn: 0.4.1 - '@fastify/busboy@3.1.1': {} - '@firebase/analytics-compat@0.2.18(@firebase/app-compat@0.2.51)(@firebase/app@0.11.2)': dependencies: '@firebase/analytics': 0.10.12(@firebase/app@0.11.2) @@ -17698,8 +16358,6 @@ snapshots: optionalDependencies: '@types/node': 22.13.4 - '@ioredis/commands@1.2.0': {} - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -17769,19 +16427,6 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@mapbox/node-pre-gyp@2.0.0': - dependencies: - consola: 3.4.2 - detect-libc: 2.0.4 - https-proxy-agent: 7.0.6 - node-fetch: 2.7.0 - nopt: 8.1.0 - semver: 7.7.2 - tar: 7.4.3 - transitivePeerDependencies: - - encoding - - supports-color - '@microsoft/api-extractor-model@7.29.4(@types/node@22.13.4)': dependencies: '@microsoft/tsdoc': 0.15.1 @@ -17956,93 +16601,6 @@ snapshots: '@emnapi/runtime': 1.3.1 '@tybys/wasm-util': 0.9.0 - '@netlify/binary-info@1.0.0': {} - - '@netlify/blobs@9.1.2': - dependencies: - '@netlify/dev-utils': 2.2.0 - '@netlify/runtime-utils': 1.3.1 - - '@netlify/dev-utils@2.2.0': - dependencies: - '@whatwg-node/server': 0.9.71 - chokidar: 4.0.3 - decache: 4.6.2 - dot-prop: 9.0.0 - env-paths: 3.0.0 - find-up: 7.0.0 - lodash.debounce: 4.0.8 - netlify: 13.3.5 - parse-gitignore: 2.0.0 - uuid: 11.1.0 - write-file-atomic: 6.0.0 - - '@netlify/functions@3.1.9(rollup@4.41.1)': - dependencies: - '@netlify/blobs': 9.1.2 - '@netlify/dev-utils': 2.2.0 - '@netlify/serverless-functions-api': 1.41.2 - '@netlify/zip-it-and-ship-it': 12.1.0(rollup@4.41.1) - cron-parser: 4.9.0 - decache: 4.6.2 - extract-zip: 2.0.1 - is-stream: 4.0.1 - jwt-decode: 4.0.0 - lambda-local: 2.2.0 - read-package-up: 11.0.0 - source-map-support: 0.5.21 - transitivePeerDependencies: - - encoding - - rollup - - supports-color - - '@netlify/open-api@2.37.0': {} - - '@netlify/runtime-utils@1.3.1': {} - - '@netlify/serverless-functions-api@1.41.2': {} - - '@netlify/zip-it-and-ship-it@12.1.0(rollup@4.41.1)': - dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.1 - '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 1.41.2 - '@vercel/nft': 0.29.3(rollup@4.41.1) - archiver: 7.0.1 - common-path-prefix: 3.0.0 - copy-file: 11.0.0 - es-module-lexer: 1.6.0 - esbuild: 0.25.4 - execa: 8.0.1 - fast-glob: 3.3.3 - filter-obj: 6.1.0 - find-up: 7.0.0 - glob: 8.1.0 - is-builtin-module: 3.2.1 - is-path-inside: 4.0.0 - junk: 4.0.1 - locate-path: 7.2.0 - merge-options: 3.0.4 - minimatch: 9.0.5 - normalize-path: 3.0.0 - p-map: 7.0.3 - path-exists: 5.0.0 - precinct: 12.2.0 - require-package-name: 2.0.1 - resolve: 2.0.0-next.5 - semver: 7.7.2 - tmp-promise: 3.0.3 - toml: 3.0.0 - unixify: 1.0.0 - urlpattern-polyfill: 8.0.2 - yargs: 17.7.2 - zod: 3.25.57 - transitivePeerDependencies: - - encoding - - rollup - - supports-color - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -18113,71 +16671,6 @@ snapshots: '@open-draft/until@2.1.0': {} - '@parcel/watcher-android-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-x64@2.5.1': - optional: true - - '@parcel/watcher-freebsd-x64@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-musl@2.5.1': - optional: true - - '@parcel/watcher-wasm@2.5.1': - dependencies: - is-glob: 4.0.3 - micromatch: 4.0.8 - - '@parcel/watcher-win32-arm64@2.5.1': - optional: true - - '@parcel/watcher-win32-ia32@2.5.1': - optional: true - - '@parcel/watcher-win32-x64@2.5.1': - optional: true - - '@parcel/watcher@2.5.1': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 - '@peculiar/asn1-schema@2.3.15': dependencies: asn1js: 3.0.6 @@ -18207,18 +16700,6 @@ snapshots: '@popperjs/core@2.11.8': {} - '@poppinss/colors@4.1.4': - dependencies: - kleur: 4.1.5 - - '@poppinss/dumper@0.6.3': - dependencies: - '@poppinss/colors': 4.1.4 - '@sindresorhus/is': 7.0.1 - supports-color: 10.0.0 - - '@poppinss/exception@1.2.1': {} - '@prisma/client@5.22.0(prisma@5.22.0)': optionalDependencies: prisma: 5.22.0 @@ -18980,69 +17461,6 @@ snapshots: '@rolldown/pluginutils@1.0.0-beta.19': {} - '@rollup/plugin-alias@5.1.1(rollup@4.41.1)': - optionalDependencies: - rollup: 4.41.1 - - '@rollup/plugin-commonjs@28.0.3(rollup@4.41.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) - commondir: 1.0.1 - estree-walker: 2.0.2 - fdir: 6.4.4(picomatch@4.0.2) - is-reference: 1.2.1 - magic-string: 0.30.17 - picomatch: 4.0.2 - optionalDependencies: - rollup: 4.41.1 - - '@rollup/plugin-inject@5.0.5(rollup@4.41.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) - estree-walker: 2.0.2 - magic-string: 0.30.17 - optionalDependencies: - rollup: 4.41.1 - - '@rollup/plugin-json@6.1.0(rollup@4.41.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) - optionalDependencies: - rollup: 4.41.1 - - '@rollup/plugin-node-resolve@16.0.1(rollup@4.41.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.10 - optionalDependencies: - rollup: 4.41.1 - - '@rollup/plugin-replace@6.0.2(rollup@4.41.1)': - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) - magic-string: 0.30.17 - optionalDependencies: - rollup: 4.41.1 - - '@rollup/plugin-terser@0.4.4(rollup@4.41.1)': - dependencies: - serialize-javascript: 6.0.2 - smob: 1.5.0 - terser: 5.37.0 - optionalDependencies: - rollup: 4.41.1 - - '@rollup/pluginutils@5.1.4(rollup@4.41.1)': - dependencies: - '@types/estree': 1.0.7 - estree-walker: 2.0.2 - picomatch: 4.0.2 - optionalDependencies: - rollup: 4.41.1 - '@rollup/pluginutils@5.1.4(rollup@4.46.2)': dependencies: '@types/estree': 1.0.7 @@ -19051,123 +17469,63 @@ snapshots: optionalDependencies: rollup: 4.46.2 - '@rollup/rollup-android-arm-eabi@4.41.1': - optional: true - '@rollup/rollup-android-arm-eabi@4.46.2': optional: true - '@rollup/rollup-android-arm64@4.41.1': - optional: true - '@rollup/rollup-android-arm64@4.46.2': optional: true - '@rollup/rollup-darwin-arm64@4.41.1': - optional: true - '@rollup/rollup-darwin-arm64@4.46.2': optional: true - '@rollup/rollup-darwin-x64@4.41.1': - optional: true - '@rollup/rollup-darwin-x64@4.46.2': optional: true - '@rollup/rollup-freebsd-arm64@4.41.1': - optional: true - '@rollup/rollup-freebsd-arm64@4.46.2': optional: true - '@rollup/rollup-freebsd-x64@4.41.1': - optional: true - '@rollup/rollup-freebsd-x64@4.46.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.41.1': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.41.1': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.46.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.41.1': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.41.1': - optional: true - '@rollup/rollup-linux-arm64-musl@4.46.2': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.41.1': - optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.41.1': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.41.1': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.46.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.41.1': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.46.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.41.1': - optional: true - '@rollup/rollup-linux-x64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-x64-musl@4.41.1': - optional: true - '@rollup/rollup-linux-x64-musl@4.46.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.41.1': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.46.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.41.1': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.46.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.41.1': - optional: true - '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true @@ -19478,10 +17836,6 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@sindresorhus/is@7.0.1': {} - - '@sindresorhus/merge-streams@2.3.0': {} - '@solid-devtools/debugger@0.26.0(solid-js@1.9.5)': dependencies: '@nothing-but/utils': 0.17.0 @@ -19606,8 +17960,6 @@ snapshots: '@testing-library/dom': 10.4.0 solid-js: 1.9.5 - '@speed-highlight/core@1.2.7': {} - '@stablelib/base64@1.0.1': {} '@standard-schema/spec@1.0.0': {} @@ -20052,6 +18404,12 @@ snapshots: '@types/qs': 6.9.18 '@types/serve-static': 1.15.7 + '@types/express@5.0.3': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 5.0.6 + '@types/serve-static': 1.15.7 + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -20099,8 +18457,6 @@ snapshots: dependencies: undici-types: 6.20.0 - '@types/normalize-package-data@2.4.4': {} - '@types/parse-json@4.0.2': {} '@types/phoenix@1.6.6': {} @@ -20123,8 +18479,6 @@ snapshots: dependencies: csstype: 3.1.3 - '@types/resolve@1.20.2': {} - '@types/retry@0.12.2': {} '@types/send@0.17.4': @@ -20150,8 +18504,6 @@ snapshots: '@types/tough-cookie@4.0.5': {} - '@types/triple-beam@1.3.5': {} - '@types/unist@3.0.3': {} '@types/ws@8.5.14': @@ -20164,11 +18516,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yauzl@2.10.3': - dependencies: - '@types/node': 22.13.4 - optional: true - '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -20236,7 +18583,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.9.2) '@typescript-eslint/utils': 8.23.0(eslint@9.22.0(jiti@2.5.1))(typescript@5.9.2) - debug: 4.4.0 + debug: 4.4.1 eslint: 9.22.0(jiti@2.5.1) ts-api-utils: 2.0.1(typescript@5.9.2) typescript: 5.9.2 @@ -20265,7 +18612,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.23.0 '@typescript-eslint/visitor-keys': 8.23.0 - debug: 4.4.0 + debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -20307,25 +18654,6 @@ snapshots: '@typescript-eslint/types': 8.23.0 eslint-visitor-keys: 4.2.0 - '@vercel/nft@0.29.3(rollup@4.41.1)': - dependencies: - '@mapbox/node-pre-gyp': 2.0.0 - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) - acorn: 8.15.0 - acorn-import-attributes: 1.9.5(acorn@8.15.0) - async-sema: 3.1.1 - bindings: 1.5.0 - estree-walker: 2.0.2 - glob: 10.4.5 - graceful-fs: 4.2.11 - node-gyp-build: 4.8.4 - picomatch: 4.0.2 - resolve-from: 5.0.0 - transitivePeerDependencies: - - encoding - - rollup - - supports-color - '@vitejs/plugin-react@4.3.4(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.27.4 @@ -20472,23 +18800,6 @@ snapshots: '@vue/compiler-core': 3.5.14 '@vue/shared': 3.5.14 - '@vue/compiler-sfc@3.5.14': - dependencies: - '@babel/parser': 7.27.5 - '@vue/compiler-core': 3.5.14 - '@vue/compiler-dom': 3.5.14 - '@vue/compiler-ssr': 3.5.14 - '@vue/shared': 3.5.14 - estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.5.6 - source-map-js: 1.2.1 - - '@vue/compiler-ssr@3.5.14': - dependencies: - '@vue/compiler-dom': 3.5.14 - '@vue/shared': 3.5.14 - '@vue/compiler-vue2@2.7.16': dependencies: de-indent: 1.0.2 @@ -20615,34 +18926,6 @@ snapshots: optionalDependencies: webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1) - '@whatwg-node/disposablestack@0.0.6': - dependencies: - '@whatwg-node/promise-helpers': 1.3.2 - tslib: 2.8.1 - - '@whatwg-node/fetch@0.10.8': - dependencies: - '@whatwg-node/node-fetch': 0.7.21 - urlpattern-polyfill: 10.1.0 - - '@whatwg-node/node-fetch@0.7.21': - dependencies: - '@fastify/busboy': 3.1.1 - '@whatwg-node/disposablestack': 0.0.6 - '@whatwg-node/promise-helpers': 1.3.2 - tslib: 2.8.1 - - '@whatwg-node/promise-helpers@1.3.2': - dependencies: - tslib: 2.8.1 - - '@whatwg-node/server@0.9.71': - dependencies: - '@whatwg-node/disposablestack': 0.0.6 - '@whatwg-node/fetch': 0.10.8 - '@whatwg-node/promise-helpers': 1.3.2 - tslib: 2.8.1 - '@workos-inc/node@7.46.0(express@4.21.2)': dependencies: iron-session: 6.3.1(express@4.21.2) @@ -20674,21 +18957,11 @@ snapshots: jsonparse: 1.3.1 through: 2.3.8 - abbrev@3.0.0: {} - - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 - accepts@1.3.8: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-attributes@1.9.5(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@8.14.1): dependencies: acorn: 8.14.1 @@ -20703,7 +18976,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.0 + debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -20793,26 +19066,6 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - archiver-utils@5.0.2: - dependencies: - glob: 10.4.5 - graceful-fs: 4.2.11 - is-stream: 2.0.1 - lazystream: 1.0.1 - lodash: 4.17.21 - normalize-path: 3.0.0 - readable-stream: 4.7.0 - - archiver@7.0.1: - dependencies: - archiver-utils: 5.0.2 - async: 3.2.6 - buffer-crc32: 1.0.0 - readable-stream: 4.7.0 - readdir-glob: 1.1.3 - tar-stream: 3.1.7 - zip-stream: 6.0.1 - arg@5.0.2: {} argparse@1.0.10: @@ -20852,16 +19105,10 @@ snapshots: assertion-error@2.0.1: {} - ast-module-types@6.0.1: {} - ast-types@0.16.1: dependencies: tslib: 2.8.1 - async-sema@3.1.1: {} - - async@3.2.6: {} - asynckit@0.4.0: {} autoprefixer@10.4.20(postcss@8.5.3): @@ -20882,8 +19129,6 @@ snapshots: transitivePeerDependencies: - debug - b4a@1.6.7: {} - babel-dead-code-elimination@1.0.10: dependencies: '@babel/core': 7.27.7 @@ -20931,19 +19176,12 @@ snapshots: balanced-match@1.0.2: {} - bare-events@2.5.4: - optional: true - base64-js@1.5.1: {} batch@0.6.1: {} binary-extensions@2.3.0: {} - bindings@1.5.0: - dependencies: - file-uri-to-path: 1.0.0 - birecord@0.1.1: {} bl@4.1.0: @@ -20996,10 +19234,6 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) - buffer-crc32@0.2.13: {} - - buffer-crc32@1.0.0: {} - buffer-from@1.1.2: {} buffer@5.7.1: @@ -21012,31 +19246,12 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - builtin-modules@3.3.0: {} - bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 bytes@3.1.2: {} - c12@3.0.4(magicast@0.3.5): - dependencies: - chokidar: 4.0.3 - confbox: 0.2.2 - defu: 6.1.4 - dotenv: 16.5.0 - exsolve: 1.0.7 - giget: 2.0.0 - jiti: 2.4.2 - ohash: 2.0.11 - pathe: 2.0.3 - perfect-debounce: 1.0.0 - pkg-types: 2.1.0 - rc9: 2.1.2 - optionalDependencies: - magicast: 0.3.5 - cac@6.7.14: {} call-bind-apply-helpers@1.0.1: @@ -21049,8 +19264,6 @@ snapshots: call-bind-apply-helpers: 1.0.1 get-intrinsic: 1.2.7 - callsite@1.0.0: {} - callsites@3.1.0: {} camel-case@4.1.2: @@ -21121,18 +19334,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chokidar@4.0.3: - dependencies: - readdirp: 4.1.1 - chownr@3.0.0: {} chrome-trace-event@1.0.4: {} - citty@0.1.6: - dependencies: - consola: 3.4.2 - cjs-module-lexer@1.4.3: {} classnames@2.5.1: {} @@ -21164,12 +19369,6 @@ snapshots: cli-width@4.1.0: {} - clipboardy@4.0.0: - dependencies: - execa: 8.0.1 - is-wsl: 3.1.0 - is64bit: 2.0.0 - cliui@7.0.4: dependencies: string-width: 4.2.3 @@ -21192,37 +19391,14 @@ snapshots: clsx@2.1.1: {} - cluster-key-slot@1.1.2: {} - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - - color@3.2.1: - dependencies: - color-convert: 1.9.3 - color-string: 1.9.1 - colorette@2.0.20: {} - colorspace@1.1.4: - dependencies: - color: 3.2.1 - text-hex: 1.0.0 - combinate@1.1.11: {} combined-stream@1.0.8: @@ -21233,8 +19409,6 @@ snapshots: commander@11.1.0: {} - commander@12.1.0: {} - commander@13.1.0: {} commander@2.20.3: {} @@ -21243,10 +19417,6 @@ snapshots: commander@8.3.0: {} - common-path-prefix@3.0.0: {} - - commondir@1.0.1: {} - compare-func@2.0.0: dependencies: array-ify: 1.0.0 @@ -21254,16 +19424,6 @@ snapshots: compare-versions@6.1.1: {} - compatx@0.2.0: {} - - compress-commons@6.0.2: - dependencies: - crc-32: 1.2.2 - crc32-stream: 6.0.0 - is-stream: 2.0.1 - normalize-path: 3.0.0 - readable-stream: 4.7.0 - compressible@2.0.18: dependencies: mime-db: 1.54.0 @@ -21298,12 +19458,8 @@ snapshots: confbox@0.1.8: {} - confbox@0.2.2: {} - connect-history-api-fallback@2.0.0: {} - consola@3.4.2: {} - content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -21349,11 +19505,6 @@ snapshots: cookie@1.0.2: {} - copy-file@11.0.0: - dependencies: - graceful-fs: 4.2.11 - p-event: 6.0.1 - core-js@3.40.0: {} core-util-is@1.0.3: {} @@ -21366,18 +19517,10 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - crc-32@1.2.2: {} - - crc32-stream@6.0.0: - dependencies: - crc-32: 1.2.2 - readable-stream: 4.7.0 - - cron-parser@4.9.0: + cross-env@10.0.0: dependencies: - luxon: 3.6.1 - - croner@9.0.0: {} + '@epic-web/invariant': 1.0.0 + cross-spawn: 7.0.6 cross-spawn@7.0.6: dependencies: @@ -21385,13 +19528,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crossws@0.3.5: - dependencies: - uncrypto: 0.1.3 - - crossws@0.4.1(srvx@0.8.6): - optionalDependencies: - srvx: 0.8.6 + crossws@0.4.1: optional: true css-select@4.3.0: @@ -21434,8 +19571,6 @@ snapshots: dependencies: '@babel/runtime': 7.26.7 - db0@0.3.2: {} - de-indent@1.0.2: {} debug@2.6.9: @@ -21454,10 +19589,6 @@ snapshots: dependencies: ms: 2.1.3 - decache@4.6.2: - dependencies: - callsite: 1.0.0 - decimal.js@10.5.0: {} dedent@1.6.0(babel-plugin-macros@3.1.0): @@ -21485,88 +19616,24 @@ snapshots: define-lazy-prop@3.0.0: {} - defu@6.1.4: {} - delayed-stream@1.0.0: {} - denque@2.1.0: {} - depd@1.1.2: {} depd@2.0.0: {} dequal@2.0.3: {} - destr@2.0.5: {} - destroy@1.2.0: {} detect-file@1.0.0: {} - detect-libc@1.0.3: {} - detect-libc@2.0.4: {} detect-node-es@1.1.0: {} detect-node@2.1.0: {} - detective-amd@6.0.1: - dependencies: - ast-module-types: 6.0.1 - escodegen: 2.1.0 - get-amd-module-type: 6.0.1 - node-source-walk: 7.0.1 - - detective-cjs@6.0.1: - dependencies: - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 - - detective-es6@5.0.1: - dependencies: - node-source-walk: 7.0.1 - - detective-postcss@7.0.1(postcss@8.5.6): - dependencies: - is-url: 1.2.4 - postcss: 8.5.6 - postcss-values-parser: 6.0.2(postcss@8.5.6) - - detective-sass@6.0.1: - dependencies: - gonzales-pe: 4.3.0 - node-source-walk: 7.0.1 - - detective-scss@5.0.1: - dependencies: - gonzales-pe: 4.3.0 - node-source-walk: 7.0.1 - - detective-stylus@5.0.1: {} - - detective-typescript@14.0.0(typescript@5.9.2): - dependencies: - '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.9.2) - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - detective-vue2@2.2.0(typescript@5.9.2): - dependencies: - '@dependents/detective-less': 5.0.1 - '@vue/compiler-sfc': 3.5.14 - detective-es6: 5.0.1 - detective-sass: 6.0.1 - detective-scss: 5.0.1 - detective-stylus: 5.0.1 - detective-typescript: 14.0.0(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - didyoumean@1.2.2: {} diff@8.0.2: {} @@ -21637,10 +19704,6 @@ snapshots: dependencies: is-obj: 2.0.0 - dot-prop@9.0.0: - dependencies: - type-fest: 4.41.0 - dotenv-expand@11.0.7: dependencies: dotenv: 16.5.0 @@ -21655,8 +19718,6 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - duplexer@0.1.2: {} - eastasianwidth@0.2.0: {} ee-first@1.1.1: {} @@ -21669,8 +19730,6 @@ snapshots: emojilib@2.4.0: {} - enabled@2.0.0: {} - encodeurl@1.0.2: {} encodeurl@2.0.0: {} @@ -21699,8 +19758,6 @@ snapshots: entities@6.0.0: {} - env-paths@3.0.0: {} - envinfo@7.14.0: {} environment@1.1.0: {} @@ -21709,8 +19766,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - error-stack-parser-es@1.0.5: {} - error-stack-parser@2.1.4: dependencies: stackframe: 1.3.4 @@ -21863,16 +19918,6 @@ snapshots: escape-string-regexp@4.0.0: {} - escape-string-regexp@5.0.0: {} - - escodegen@2.1.0: - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.22.0(jiti@2.5.1)): dependencies: eslint: 9.22.0(jiti@2.5.1) @@ -22166,24 +20211,10 @@ snapshots: etag@1.8.1: {} - event-target-shim@5.0.1: {} - eventemitter3@4.0.7: {} events@3.3.0: {} - execa@8.0.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - expand-tilde@2.0.2: dependencies: homedir-polyfill: 1.0.3 @@ -22230,20 +20261,8 @@ snapshots: extend@3.0.2: {} - extract-zip@2.0.1: - dependencies: - debug: 4.4.0 - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.3 - transitivePeerDependencies: - - supports-color - fast-deep-equal@3.1.3: {} - fast-fifo@1.3.2: {} - fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -22270,10 +20289,6 @@ snapshots: dependencies: websocket-driver: 0.7.4 - fd-slicer@1.1.0: - dependencies: - pend: 1.2.0 - fdir@6.4.4(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -22282,8 +20297,6 @@ snapshots: optionalDependencies: picomatch: 4.0.3 - fecha@4.2.3: {} - fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -22301,14 +20314,10 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-uri-to-path@1.0.0: {} - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - filter-obj@6.1.0: {} - finalhandler@1.3.1: dependencies: debug: 2.6.9 @@ -22323,8 +20332,6 @@ snapshots: find-root@1.1.0: {} - find-up-simple@1.0.1: {} - find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -22335,12 +20342,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-up@7.0.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - unicorn-magic: 0.1.0 - findup-sync@5.0.0: dependencies: detect-file: 1.0.0 @@ -22400,8 +20401,6 @@ snapshots: flatted@3.3.2: {} - fn.name@1.1.0: {} - follow-redirects@1.15.9: {} for-in@1.0.2: {} @@ -22441,8 +20440,6 @@ snapshots: fresh@0.5.2: {} - fresh@2.0.0: {} - front-matter@4.0.2: dependencies: js-yaml: 3.14.1 @@ -22473,11 +20470,6 @@ snapshots: gensync@1.0.0-beta.2: {} - get-amd-module-type@6.0.1: - dependencies: - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 - get-caller-file@2.0.5: {} get-intrinsic@1.2.7: @@ -22504,25 +20496,10 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-stream@5.2.0: - dependencies: - pump: 3.0.2 - - get-stream@8.0.1: {} - get-tsconfig@4.10.0: dependencies: resolve-pkg-maps: 1.0.0 - giget@2.0.0: - dependencies: - citty: 0.1.6 - consola: 3.4.2 - defu: 6.1.4 - node-fetch-native: 1.6.6 - nypm: 0.6.0 - pathe: 2.0.3 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -22551,14 +20528,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - glob@9.3.5: dependencies: fs.realpath: 1.0.0 @@ -22586,21 +20555,8 @@ snapshots: globals@15.14.0: {} - globby@14.1.0: - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.3 - ignore: 7.0.3 - path-type: 6.0.0 - slash: 5.1.0 - unicorn-magic: 0.3.0 - globrex@0.1.2: {} - gonzales-pe@4.3.0: - dependencies: - minimist: 1.2.8 - goober@2.1.16(csstype@3.1.3): dependencies: csstype: 3.1.3 @@ -22613,30 +20569,14 @@ snapshots: graphql@16.10.0: {} - gzip-size@7.0.0: - dependencies: - duplexer: 0.1.2 - - h3@1.15.3: - dependencies: - cookie-es: 1.2.2 - crossws: 0.3.5 - defu: 6.1.4 - destr: 2.0.5 - iron-webcrypto: 1.2.1 - node-mock-http: 1.0.0 - radix3: 1.1.2 - ufo: 1.6.1 - uncrypto: 0.1.3 - - h3@2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)): + h3@2.0.0-beta.3(crossws@0.4.1): dependencies: cookie-es: 2.0.0 fetchdts: 0.1.6 rou3: 0.7.3 srvx: 0.8.6 optionalDependencies: - crossws: 0.4.1(srvx@0.8.6) + crossws: 0.4.1 handle-thing@2.0.1: {} @@ -22662,12 +20602,6 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hookable@5.5.3: {} - - hosted-git-info@7.0.2: - dependencies: - lru-cache: 10.4.3 - hpack.js@2.1.6: dependencies: inherits: 2.0.4 @@ -22746,7 +20680,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.3 - debug: 4.4.0 + debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -22770,26 +20704,20 @@ snapshots: transitivePeerDependencies: - debug - http-shutdown@1.2.2: {} - https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.0 + debug: 4.4.1 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 - debug: 4.4.0 + debug: 4.4.1 transitivePeerDependencies: - supports-color - httpxy@0.1.7: {} - - human-signals@5.0.0: {} - hyperdyperid@1.2.0: {} iconv-lite@0.4.24: @@ -22806,8 +20734,6 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.3: {} - immer@10.1.1: {} import-fresh@3.3.0: @@ -22828,13 +20754,6 @@ snapshots: indent-string@4.0.0: {} - index-to-position@1.1.0: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - inherits@2.0.3: {} inherits@2.0.4: {} @@ -22845,20 +20764,6 @@ snapshots: interpret@3.1.1: {} - ioredis@5.6.1: - dependencies: - '@ioredis/commands': 1.2.0 - cluster-key-slot: 1.1.2 - debug: 4.4.1 - denque: 2.1.0 - lodash.defaults: 4.2.0 - lodash.isarguments: 3.1.0 - redis-errors: 1.2.0 - redis-parser: 3.0.0 - standard-as-callback: 2.1.0 - transitivePeerDependencies: - - supports-color - ipaddr.js@1.9.1: {} ipaddr.js@2.2.0: {} @@ -22894,16 +20799,10 @@ snapshots: is-arrayish@0.2.1: {} - is-arrayish@0.3.2: {} - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-builtin-module@3.2.1: - dependencies: - builtin-modules: 3.3.0 - is-core-module@2.16.1: dependencies: hasown: 2.0.2 @@ -22940,8 +20839,6 @@ snapshots: is-interactive@1.0.0: {} - is-module@1.0.0: {} - is-network-error@1.1.0: {} is-node-process@1.2.0: {} @@ -22950,10 +20847,6 @@ snapshots: is-obj@2.0.0: {} - is-path-inside@4.0.0: {} - - is-plain-obj@2.1.0: {} - is-plain-obj@3.0.0: {} is-plain-object@2.0.4: @@ -22964,20 +20857,10 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-reference@1.2.1: - dependencies: - '@types/estree': 1.0.8 - is-relative@1.0.0: dependencies: is-unc-path: 1.0.0 - is-stream@2.0.1: {} - - is-stream@3.0.0: {} - - is-stream@4.0.1: {} - is-text-path@2.0.0: dependencies: text-extensions: 2.4.0 @@ -22988,10 +20871,6 @@ snapshots: is-unicode-supported@0.1.0: {} - is-url-superb@4.0.0: {} - - is-url@1.2.4: {} - is-what@4.1.16: {} is-windows@1.0.2: {} @@ -23004,10 +20883,6 @@ snapshots: dependencies: is-inside-container: 1.0.0 - is64bit@2.0.0: - dependencies: - system-architecture: 0.1.0 - isarray@1.0.0: {} isbot@5.1.28: {} @@ -23045,7 +20920,8 @@ snapshots: jiti@2.4.2: {} - jiti@2.5.1: {} + jiti@2.5.1: + optional: true jju@1.4.0: {} @@ -23124,12 +21000,8 @@ snapshots: jsonparse@1.3.1: {} - junk@4.0.1: {} - jwt-decode@3.1.2: {} - jwt-decode@4.0.0: {} - kebab-case@1.0.2: {} keyv@4.5.4: @@ -23138,35 +21010,17 @@ snapshots: kind-of@6.0.3: {} - kleur@4.1.5: {} - - klona@2.0.6: {} - - knitwork@1.2.0: {} - known-css-properties@0.30.0: {} kolorist@1.8.0: {} - kuler@2.0.0: {} - ky@1.7.4: {} - lambda-local@2.2.0: - dependencies: - commander: 10.0.1 - dotenv: 16.5.0 - winston: 3.17.0 - launch-editor@2.9.1: dependencies: picocolors: 1.1.1 shell-quote: 1.8.2 - lazystream@1.0.1: - dependencies: - readable-stream: 2.3.8 - leb@1.0.0: {} levn@0.4.1: @@ -23239,27 +21093,6 @@ snapshots: dependencies: uc.micro: 2.1.0 - listhen@1.9.0: - dependencies: - '@parcel/watcher': 2.5.1 - '@parcel/watcher-wasm': 2.5.1 - citty: 0.1.6 - clipboardy: 4.0.0 - consola: 3.4.2 - crossws: 0.3.5 - defu: 6.1.4 - get-port-please: 3.2.0 - h3: 1.15.3 - http-shutdown: 1.2.2 - jiti: 2.5.1 - mlly: 1.7.4 - node-forge: 1.3.1 - pathe: 1.1.2 - std-env: 3.9.0 - ufo: 1.6.1 - untun: 0.1.3 - uqr: 0.1.2 - loader-runner@4.3.0: {} local-pkg@0.5.1: @@ -23267,12 +21100,6 @@ snapshots: mlly: 1.7.4 pkg-types: 1.3.1 - local-pkg@1.1.1: - dependencies: - mlly: 1.7.4 - pkg-types: 2.1.0 - quansync: 0.2.10 - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -23281,20 +21108,8 @@ snapshots: dependencies: p-locate: 5.0.0 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash-es@4.17.21: {} - lodash.camelcase@4.3.0: {} - lodash.debounce@4.0.8: {} - - lodash.defaults@4.2.0: {} - - lodash.isarguments@3.1.0: {} - lodash.merge@4.6.2: {} lodash@4.17.21: {} @@ -23304,15 +21119,6 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - logform@2.7.0: - dependencies: - '@colors/colors': 1.6.0 - '@types/triple-beam': 1.3.5 - fecha: 4.2.3 - ms: 2.1.3 - safe-stable-stringify: 2.5.0 - triple-beam: 1.4.1 - long@5.3.1: {} loose-envify@1.4.0: @@ -23341,8 +21147,6 @@ snapshots: lunr@2.3.9: {} - luxon@3.6.1: {} - lz-string@1.5.0: {} magic-string@0.30.17: @@ -23353,12 +21157,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - magicast@0.3.5: - dependencies: - '@babel/parser': 7.27.7 - '@babel/types': 7.27.7 - source-map-js: 1.2.1 - map-cache@0.2.2: {} map-obj@4.3.0: {} @@ -23413,18 +21211,12 @@ snapshots: merge-descriptors@1.0.3: {} - merge-options@3.0.4: - dependencies: - is-plain-obj: 2.1.0 - merge-stream@2.0.0: {} merge2@1.4.1: {} methods@1.1.2: {} - micro-api-client@3.3.0: {} - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -23438,20 +21230,10 @@ snapshots: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: - dependencies: - mime-db: 1.54.0 - mime@1.6.0: {} - mime@3.0.0: {} - - mime@4.0.7: {} - mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} - min-indent@1.0.1: {} minimalistic-assert@1.0.1: {} @@ -23468,10 +21250,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - minimatch@8.0.4: dependencies: brace-expansion: 2.0.1 @@ -23499,16 +21277,11 @@ snapshots: mlly@1.7.4: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.1 - module-definition@6.0.1: - dependencies: - ast-module-types: 6.0.1 - node-source-walk: 7.0.1 - motion-dom@11.18.1: dependencies: motion-utils: 11.18.1 @@ -23598,122 +21371,11 @@ snapshots: neo-async@2.6.2: {} - netlify@13.3.5: - dependencies: - '@netlify/open-api': 2.37.0 - lodash-es: 4.17.21 - micro-api-client: 3.3.0 - node-fetch: 3.3.2 - p-wait-for: 5.0.2 - qs: 6.13.0 - - nitropack@2.11.12: - dependencies: - '@cloudflare/kv-asset-handler': 0.4.0 - '@netlify/functions': 3.1.9(rollup@4.41.1) - '@rollup/plugin-alias': 5.1.1(rollup@4.41.1) - '@rollup/plugin-commonjs': 28.0.3(rollup@4.41.1) - '@rollup/plugin-inject': 5.0.5(rollup@4.41.1) - '@rollup/plugin-json': 6.1.0(rollup@4.41.1) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.41.1) - '@rollup/plugin-replace': 6.0.2(rollup@4.41.1) - '@rollup/plugin-terser': 0.4.4(rollup@4.41.1) - '@vercel/nft': 0.29.3(rollup@4.41.1) - archiver: 7.0.1 - c12: 3.0.4(magicast@0.3.5) - chokidar: 4.0.3 - citty: 0.1.6 - compatx: 0.2.0 - confbox: 0.2.2 - consola: 3.4.2 - cookie-es: 2.0.0 - croner: 9.0.0 - crossws: 0.3.5 - db0: 0.3.2 - defu: 6.1.4 - destr: 2.0.5 - dot-prop: 9.0.0 - esbuild: 0.25.8 - escape-string-regexp: 5.0.0 - etag: 1.8.1 - exsolve: 1.0.7 - globby: 14.1.0 - gzip-size: 7.0.0 - h3: 1.15.3 - hookable: 5.5.3 - httpxy: 0.1.7 - ioredis: 5.6.1 - jiti: 2.4.2 - klona: 2.0.6 - knitwork: 1.2.0 - listhen: 1.9.0 - magic-string: 0.30.17 - magicast: 0.3.5 - mime: 4.0.7 - mlly: 1.7.4 - node-fetch-native: 1.6.6 - node-mock-http: 1.0.0 - ofetch: 1.4.1 - ohash: 2.0.11 - pathe: 2.0.3 - perfect-debounce: 1.0.0 - pkg-types: 2.1.0 - pretty-bytes: 6.1.1 - radix3: 1.1.2 - rollup: 4.41.1 - rollup-plugin-visualizer: 5.14.0(rollup@4.41.1) - scule: 1.3.0 - semver: 7.7.2 - serve-placeholder: 2.0.2 - serve-static: 2.2.0 - source-map: 0.7.4 - std-env: 3.9.0 - ufo: 1.6.1 - ultrahtml: 1.6.0 - uncrypto: 0.1.3 - unctx: 2.4.1 - unenv: 2.0.0-rc.17 - unimport: 5.0.1 - unplugin-utils: 0.2.4 - unstorage: 1.16.0(db0@0.3.2)(ioredis@5.6.1) - untyped: 2.0.0 - unwasm: 0.3.9 - youch: 4.1.0-beta.7 - youch-core: 0.3.2 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@electric-sql/pglite' - - '@libsql/client' - - '@netlify/blobs' - - '@planetscale/database' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/kv' - - aws4fetch - - better-sqlite3 - - drizzle-orm - - encoding - - idb-keyval - - mysql2 - - rolldown - - sqlite3 - - supports-color - - uploadthing - no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.8.1 - node-addon-api@7.1.1: {} - node-domexception@1.0.0: {} node-emoji@2.2.0: @@ -23723,8 +21385,6 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-fetch-native@1.6.6: {} - node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -23737,32 +21397,10 @@ snapshots: node-forge@1.3.1: {} - node-gyp-build@4.8.4: {} - node-machine-id@1.1.12: {} - node-mock-http@1.0.0: {} - node-releases@2.0.19: {} - node-source-walk@7.0.1: - dependencies: - '@babel/parser': 7.27.5 - - nopt@8.1.0: - dependencies: - abbrev: 3.0.0 - - normalize-package-data@6.0.2: - dependencies: - hosted-git-info: 7.0.2 - semver: 7.7.2 - validate-npm-package-license: 3.0.4 - - normalize-path@2.1.1: - dependencies: - remove-trailing-separator: 1.1.0 - normalize-path@3.0.0: {} normalize-range@0.1.2: {} @@ -23771,17 +21409,13 @@ snapshots: dependencies: path-key: 3.1.1 - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - nth-check@2.1.1: dependencies: boolbase: 1.0.0 nwsapi@2.2.16: {} - nx@21.3.7(@swc/core@1.10.15(@swc/helpers@0.5.15)): + nx@21.3.7(@swc/core@1.10.15): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -23833,14 +21467,6 @@ snapshots: transitivePeerDependencies: - debug - nypm@0.6.0: - dependencies: - citty: 0.1.6 - consola: 3.4.2 - pathe: 2.0.3 - pkg-types: 2.1.0 - tinyexec: 0.3.2 - object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -23860,14 +21486,6 @@ snapshots: obuf@1.1.2: {} - ofetch@1.4.1: - dependencies: - destr: 2.0.5 - node-fetch-native: 1.6.6 - ufo: 1.6.1 - - ohash@2.0.11: {} - on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -23878,18 +21496,10 @@ snapshots: dependencies: wrappy: 1.0.2 - one-time@1.0.0: - dependencies: - fn.name: 1.1.0 - onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - open@10.1.0: dependencies: default-browser: 5.2.1 @@ -23925,10 +21535,6 @@ snapshots: outvariant@1.4.3: {} - p-event@6.0.1: - dependencies: - p-timeout: 6.1.4 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -23937,10 +21543,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.2.1 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -23949,26 +21551,14 @@ snapshots: dependencies: p-limit: 3.1.0 - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - - p-map@7.0.3: {} - p-retry@6.2.1: dependencies: '@types/retry': 0.12.2 is-network-error: 1.1.0 retry: 0.13.1 - p-timeout@6.1.4: {} - p-try@2.2.0: {} - p-wait-for@5.0.2: - dependencies: - p-timeout: 6.1.4 - package-json-from-dist@1.0.1: {} package-manager-detector@1.3.0: {} @@ -23988,8 +21578,6 @@ snapshots: map-cache: 0.2.2 path-root: 0.1.1 - parse-gitignore@2.0.0: {} - parse-json@5.2.0: dependencies: '@babel/code-frame': 7.27.1 @@ -23997,12 +21585,6 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-json@8.3.0: - dependencies: - '@babel/code-frame': 7.27.1 - index-to-position: 1.1.0 - type-fest: 4.41.0 - parse-passwd@1.0.0: {} parse5-htmlparser2-tree-adapter@6.0.1: @@ -24037,12 +21619,8 @@ snapshots: path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-key@3.1.1: {} - path-key@4.0.0: {} - path-parse@1.0.7: {} path-root-regex@0.1.2: {} @@ -24067,18 +21645,10 @@ snapshots: path-type@4.0.0: {} - path-type@6.0.0: {} - - pathe@1.1.2: {} - pathe@2.0.3: {} pathval@2.0.0: {} - pend@1.2.0: {} - - perfect-debounce@1.0.0: {} - picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -24101,12 +21671,6 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 - pkg-types@2.1.0: - dependencies: - confbox: 0.2.2 - exsolve: 1.0.7 - pathe: 2.0.3 - playwright-core@1.52.0: {} playwright@1.52.0: @@ -24148,13 +21712,6 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss-values-parser@6.0.2(postcss@8.5.6): - dependencies: - color-name: 1.1.4 - is-url-superb: 4.0.0 - postcss: 8.5.6 - quote-unquote: 1.0.0 - postcss@8.5.3: dependencies: nanoid: 3.3.11 @@ -24167,26 +21724,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - precinct@12.2.0: - dependencies: - '@dependents/detective-less': 5.0.1 - commander: 12.1.0 - detective-amd: 6.0.1 - detective-cjs: 6.0.1 - detective-es6: 5.0.1 - detective-postcss: 7.0.1(postcss@8.5.6) - detective-sass: 6.0.1 - detective-scss: 5.0.1 - detective-stylus: 5.0.1 - detective-typescript: 14.0.0(typescript@5.9.2) - detective-vue2: 2.2.0(typescript@5.9.2) - module-definition: 6.0.1 - node-source-walk: 7.0.1 - postcss: 8.5.6 - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - prelude-ls@1.2.1: {} prettier@3.4.2: {} @@ -24195,8 +21732,6 @@ snapshots: prettier@3.6.2: {} - pretty-bytes@6.1.1: {} - pretty-error@4.0.0: dependencies: lodash: 4.17.21 @@ -24222,8 +21757,6 @@ snapshots: process-nextick-args@2.0.1: {} - process@0.11.10: {} - progress@2.0.3: {} prop-types@15.8.1: @@ -24265,11 +21798,6 @@ snapshots: picocolors: 1.1.1 sade: 1.8.1 - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - punycode.js@2.3.1: {} punycode@2.3.1: {} @@ -24284,14 +21812,10 @@ snapshots: dependencies: side-channel: 1.1.0 - quansync@0.2.10: {} - querystringify@2.2.0: {} queue-microtask@1.2.3: {} - quote-unquote@1.0.0: {} - radix-ui@1.2.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@radix-ui/primitive': 1.1.2 @@ -24350,8 +21874,6 @@ snapshots: '@types/react': 19.0.8 '@types/react-dom': 19.0.3(@types/react@19.0.8) - radix3@1.1.2: {} - randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -24365,11 +21887,6 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - rc9@2.1.2: - dependencies: - defu: 6.1.4 - destr: 2.0.5 - react-dom@19.0.0(react@19.0.0): dependencies: react: 19.0.0 @@ -24438,20 +21955,6 @@ snapshots: dependencies: pify: 2.3.0 - read-package-up@11.0.0: - dependencies: - find-up-simple: 1.0.1 - read-pkg: 9.0.1 - type-fest: 4.41.0 - - read-pkg@9.0.1: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 6.0.2 - parse-json: 8.3.0 - type-fest: 4.41.0 - unicorn-magic: 0.1.0 - readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -24468,24 +21971,10 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readable-stream@4.7.0: - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - - readdir-glob@1.1.3: - dependencies: - minimatch: 5.1.6 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 - readdirp@4.1.1: {} - recast@0.23.11: dependencies: ast-types: 0.16.1 @@ -24505,20 +21994,12 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 - redis-errors@1.2.0: {} - - redis-parser@3.0.0: - dependencies: - redis-errors: 1.2.0 - reduce-configs@1.1.0: {} regenerator-runtime@0.14.1: {} relateurl@0.2.7: {} - remove-trailing-separator@1.1.0: {} - renderkid@3.0.0: dependencies: css-select: 4.3.0 @@ -24531,8 +22012,6 @@ snapshots: require-from-string@2.0.2: {} - require-package-name@2.0.1: {} - requires-port@1.0.0: {} resolve-cwd@3.0.0: @@ -24558,12 +22037,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.5: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -24588,41 +22061,6 @@ snapshots: magic-string: 0.30.17 rollup: 4.46.2 - rollup-plugin-visualizer@5.14.0(rollup@4.41.1): - dependencies: - open: 8.4.2 - picomatch: 4.0.2 - source-map: 0.7.4 - yargs: 17.7.2 - optionalDependencies: - rollup: 4.41.1 - - rollup@4.41.1: - dependencies: - '@types/estree': 1.0.7 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.41.1 - '@rollup/rollup-android-arm64': 4.41.1 - '@rollup/rollup-darwin-arm64': 4.41.1 - '@rollup/rollup-darwin-x64': 4.41.1 - '@rollup/rollup-freebsd-arm64': 4.41.1 - '@rollup/rollup-freebsd-x64': 4.41.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.41.1 - '@rollup/rollup-linux-arm-musleabihf': 4.41.1 - '@rollup/rollup-linux-arm64-gnu': 4.41.1 - '@rollup/rollup-linux-arm64-musl': 4.41.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.41.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.41.1 - '@rollup/rollup-linux-riscv64-gnu': 4.41.1 - '@rollup/rollup-linux-riscv64-musl': 4.41.1 - '@rollup/rollup-linux-s390x-gnu': 4.41.1 - '@rollup/rollup-linux-x64-gnu': 4.41.1 - '@rollup/rollup-linux-x64-musl': 4.41.1 - '@rollup/rollup-win32-arm64-msvc': 4.41.1 - '@rollup/rollup-win32-ia32-msvc': 4.41.1 - '@rollup/rollup-win32-x64-msvc': 4.41.1 - fsevents: 2.3.3 - rollup@4.46.2: dependencies: '@types/estree': 1.0.8 @@ -24673,8 +22111,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-stable-stringify@2.5.0: {} - safer-buffer@2.1.2: {} saxes@6.0.0: @@ -24696,8 +22132,6 @@ snapshots: ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) - scule@1.3.0: {} - select-hose@2.0.0: {} selfsigned@2.4.1: @@ -24731,22 +22165,6 @@ snapshots: transitivePeerDependencies: - supports-color - send@1.2.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -24775,10 +22193,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve-placeholder@2.0.2: - dependencies: - defu: 6.1.4 - serve-static@1.16.2: dependencies: encodeurl: 2.0.0 @@ -24788,15 +22202,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@2.2.0: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.0 - transitivePeerDependencies: - - supports-color - setprototypeof@1.1.0: {} setprototypeof@1.2.0: {} @@ -24857,10 +22262,6 @@ snapshots: simple-icons@14.9.0: {} - simple-swizzle@0.2.2: - dependencies: - is-arrayish: 0.3.2 - sirv@3.0.1: dependencies: '@polka/url': 1.0.0-next.28 @@ -24871,10 +22272,6 @@ snapshots: dependencies: unicode-emoji-modifier-base: 1.0.0 - slash@5.1.0: {} - - smob@1.5.0: {} - snake-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -24922,23 +22319,9 @@ snapshots: spawn-command@0.0.2: {} - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 - - spdx-license-ids@3.0.21: {} - spdy-transport@3.0.0: dependencies: - debug: 4.4.0 + debug: 4.4.1 detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -24949,7 +22332,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.4.0 + debug: 4.4.1 handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -24971,14 +22354,10 @@ snapshots: stable-hash@0.0.4: {} - stack-trace@0.0.10: {} - stackback@0.0.2: {} stackframe@1.3.4: {} - standard-as-callback@2.1.0: {} - standardwebhooks@1.0.0: dependencies: '@stablelib/base64': 1.0.1 @@ -24990,13 +22369,6 @@ snapshots: std-env@3.9.0: {} - streamx@2.22.0: - dependencies: - fast-fifo: 1.3.2 - text-decoder: 1.2.3 - optionalDependencies: - bare-events: 2.5.4 - strict-event-emitter@0.5.1: {} string-argv@0.3.2: {} @@ -25033,8 +22405,6 @@ snapshots: strip-bom@3.0.0: {} - strip-final-newline@3.0.0: {} - strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -25061,8 +22431,6 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 - supports-color@10.0.0: {} - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -25092,8 +22460,6 @@ snapshots: symbol-tree@3.2.4: {} - system-architecture@0.1.0: {} - tailwind-merge@2.6.0: {} tailwindcss@3.4.17: @@ -25135,12 +22501,6 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - tar-stream@3.1.7: - dependencies: - b4a: 1.6.7 - fast-fifo: 1.3.2 - streamx: 2.22.0 - tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -25162,14 +22522,14 @@ snapshots: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15)(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15)(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) + webpack: 5.97.1(@swc/core@1.10.15)(esbuild@0.25.8) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 @@ -25181,14 +22541,8 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - text-decoder@1.2.3: - dependencies: - b4a: 1.6.7 - text-extensions@2.4.0: {} - text-hex@1.0.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -25237,10 +22591,6 @@ snapshots: dependencies: tldts-core: 6.1.76 - tmp-promise@3.0.3: - dependencies: - tmp: 0.2.3 - tmp@0.2.3: {} to-regex-range@5.0.1: @@ -25249,8 +22599,6 @@ snapshots: toidentifier@1.0.1: {} - toml@3.0.0: {} - totalist@3.0.1: {} tough-cookie@4.1.4: @@ -25276,8 +22624,6 @@ snapshots: tree-kill@1.2.2: {} - triple-beam@1.4.1: {} - ts-api-utils@2.0.1(typescript@5.9.2): dependencies: typescript: 5.9.2 @@ -25390,71 +22736,24 @@ snapshots: ufo@1.6.1: {} - ultrahtml@1.6.0: {} - unc-path-regex@0.1.2: {} uncrypto@0.1.3: {} - unctx@2.4.1: - dependencies: - acorn: 8.15.0 - estree-walker: 3.0.3 - magic-string: 0.30.17 - unplugin: 2.3.5 - undici-types@6.20.0: {} undici@6.21.2: {} - unenv@2.0.0-rc.17: - dependencies: - defu: 6.1.4 - exsolve: 1.0.7 - ohash: 2.0.11 - pathe: 2.0.3 - ufo: 1.6.1 - unicode-emoji-modifier-base@1.0.0: {} - unicorn-magic@0.1.0: {} - - unicorn-magic@0.3.0: {} - - unimport@5.0.1: - dependencies: - acorn: 8.15.0 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - local-pkg: 1.1.1 - magic-string: 0.30.17 - mlly: 1.7.4 - pathe: 2.0.3 - picomatch: 4.0.2 - pkg-types: 2.1.0 - scule: 1.3.0 - strip-literal: 3.0.0 - tinyglobby: 0.2.13 - unplugin: 2.3.5 - unplugin-utils: 0.2.4 - universalify@0.1.2: {} universalify@0.2.0: {} universalify@2.0.1: {} - unixify@1.0.0: - dependencies: - normalize-path: 2.1.1 - unpipe@1.0.0: {} - unplugin-utils@0.2.4: - dependencies: - pathe: 2.0.3 - picomatch: 4.0.2 - unplugin@1.0.1: dependencies: acorn: 8.14.1 @@ -25462,60 +22761,12 @@ snapshots: webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 - unplugin@1.16.1: - dependencies: - acorn: 8.15.0 - webpack-virtual-modules: 0.6.2 - unplugin@2.3.4: dependencies: acorn: 8.14.1 picomatch: 4.0.2 webpack-virtual-modules: 0.6.2 - unplugin@2.3.5: - dependencies: - acorn: 8.15.0 - picomatch: 4.0.3 - webpack-virtual-modules: 0.6.2 - - unstorage@1.16.0(db0@0.3.2)(ioredis@5.6.1): - dependencies: - anymatch: 3.1.3 - chokidar: 4.0.3 - destr: 2.0.5 - h3: 1.15.3 - lru-cache: 10.4.3 - node-fetch-native: 1.6.6 - ofetch: 1.4.1 - ufo: 1.6.1 - optionalDependencies: - db0: 0.3.2 - ioredis: 5.6.1 - - untun@0.1.3: - dependencies: - citty: 0.1.6 - consola: 3.4.2 - pathe: 1.1.2 - - untyped@2.0.0: - dependencies: - citty: 0.1.6 - defu: 6.1.4 - jiti: 2.4.2 - knitwork: 1.2.0 - scule: 1.3.0 - - unwasm@0.3.9: - dependencies: - knitwork: 1.2.0 - magic-string: 0.30.17 - mlly: 1.7.4 - pathe: 1.1.2 - pkg-types: 1.3.1 - unplugin: 1.16.1 - upath@2.0.1: {} update-browserslist-db@1.1.2(browserslist@4.24.4): @@ -25524,8 +22775,6 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - uqr@0.1.2: {} - uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -25535,10 +22784,6 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - urlpattern-polyfill@10.1.0: {} - - urlpattern-polyfill@8.0.2: {} - use-callback-ref@1.3.3(@types/react@19.0.8)(react@19.0.0): dependencies: react: 19.0.0 @@ -25564,8 +22809,6 @@ snapshots: utils-merge@1.0.1: {} - uuid@11.1.0: {} - uuid@8.3.2: {} v8flags@4.0.1: {} @@ -25580,11 +22823,6 @@ snapshots: 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: {} vary@1.1.2: {} @@ -25909,7 +23147,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8): + webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -25931,15 +23169,17 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) watchpack: 2.4.2 webpack-sources: 3.2.3 + optionalDependencies: + webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4): + webpack@5.97.1(@swc/core@1.10.15)(esbuild@0.25.8): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -25961,11 +23201,9 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15)(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15)(esbuild@0.25.8)) watchpack: 2.4.2 webpack-sources: 3.2.3 - optionalDependencies: - webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) transitivePeerDependencies: - '@swc/core' - esbuild @@ -26010,26 +23248,6 @@ snapshots: wildcard@2.0.1: {} - winston-transport@4.9.0: - dependencies: - logform: 2.7.0 - readable-stream: 3.6.2 - triple-beam: 1.4.1 - - winston@3.17.0: - dependencies: - '@colors/colors': 1.6.0 - '@dabh/diagnostics': 2.0.3 - async: 3.2.6 - is-stream: 2.0.1 - logform: 2.7.0 - one-time: 1.0.0 - readable-stream: 3.6.2 - safe-stable-stringify: 2.5.0 - stack-trace: 0.0.10 - triple-beam: 1.4.1 - winston-transport: 4.9.0 - word-wrap@1.2.5: {} wrap-ansi@6.2.0: @@ -26052,11 +23270,6 @@ snapshots: wrappy@1.0.2: {} - write-file-atomic@6.0.0: - dependencies: - imurmurhash: 0.1.4 - signal-exit: 4.1.0 - ws@8.18.0: {} xml-name-validator@5.0.0: {} @@ -26106,33 +23319,8 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yauzl@2.10.0: - dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 - yocto-queue@0.1.0: {} - yocto-queue@1.2.1: {} - yoctocolors-cjs@2.1.2: {} - youch-core@0.3.2: - dependencies: - '@poppinss/exception': 1.2.1 - error-stack-parser-es: 1.0.5 - - youch@4.1.0-beta.7: - dependencies: - '@poppinss/dumper': 0.6.3 - '@speed-highlight/core': 1.2.7 - cookie: 1.0.2 - youch-core: 0.3.2 - - zip-stream@6.0.1: - dependencies: - archiver-utils: 5.0.2 - compress-commons: 6.0.2 - readable-stream: 4.7.0 - zod@3.25.57: {} From dce72704347e8420134bb7e28e3733fe44dd9d82 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Tue, 12 Aug 2025 19:46:32 +0200 Subject: [PATCH 067/271] ignore type error --- examples/react/with-trpc-react-query/src/server/server.ts | 2 +- examples/react/with-trpc/src/server/server.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/react/with-trpc-react-query/src/server/server.ts b/examples/react/with-trpc-react-query/src/server/server.ts index 1f8b4a3c47f..b2b3fd24855 100644 --- a/examples/react/with-trpc-react-query/src/server/server.ts +++ b/examples/react/with-trpc-react-query/src/server/server.ts @@ -24,7 +24,7 @@ export const createServer = async ( ) => { const app = express() - app.use('/trpc', trpcMiddleWare) + app.use('/trpc', trpcMiddleWare as any) if (!isProd) { const vite = await import('vite') diff --git a/examples/react/with-trpc/src/server/server.ts b/examples/react/with-trpc/src/server/server.ts index 1f8b4a3c47f..b2b3fd24855 100644 --- a/examples/react/with-trpc/src/server/server.ts +++ b/examples/react/with-trpc/src/server/server.ts @@ -24,7 +24,7 @@ export const createServer = async ( ) => { const app = express() - app.use('/trpc', trpcMiddleWare) + app.use('/trpc', trpcMiddleWare as any) if (!isProd) { const vite = await import('vite') From 82f309bf98addf03c41b154d32ef121aed8c85e1 Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Tue, 12 Aug 2025 17:49:31 +0000 Subject: [PATCH 068/271] release: v1.121.0-alpha.28 --- .../package.json | 6 +- .../react/authenticated-routes/package.json | 6 +- .../basic-default-search-params/package.json | 4 +- .../react/basic-devtools-panel/package.json | 4 +- examples/react/basic-file-based/package.json | 6 +- .../basic-non-nested-devtools/package.json | 4 +- .../basic-react-query-file-based/package.json | 6 +- examples/react/basic-react-query/package.json | 4 +- .../react/basic-ssr-file-based/package.json | 6 +- .../package.json | 6 +- .../basic-virtual-file-based/package.json | 8 +- .../package.json | 8 +- examples/react/basic/package.json | 4 +- examples/react/deferred-data/package.json | 4 +- .../kitchen-sink-file-based/package.json | 6 +- .../package.json | 6 +- .../kitchen-sink-react-query/package.json | 4 +- examples/react/kitchen-sink/package.json | 4 +- examples/react/large-file-based/package.json | 6 +- examples/react/location-masking/package.json | 4 +- .../react/navigation-blocking/package.json | 4 +- .../package.json | 6 +- .../react/quickstart-file-based/package.json | 6 +- .../quickstart-rspack-file-based/package.json | 6 +- .../package.json | 6 +- examples/react/quickstart/package.json | 4 +- .../router-monorepo-react-query/package.json | 6 +- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 +- .../router-monorepo-simple-lazy/package.json | 6 +- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 +- .../react/router-monorepo-simple/package.json | 6 +- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 +- .../react/scroll-restoration/package.json | 4 +- .../search-validator-adapters/package.json | 12 +-- examples/react/start-bare/package.json | 6 +- examples/react/start-basic-auth/package.json | 6 +- .../start-basic-react-query/package.json | 8 +- examples/react/start-basic-rsc/package.json | 6 +- .../react/start-basic-static/package.json | 8 +- examples/react/start-basic/package.json | 6 +- examples/react/start-clerk-basic/package.json | 6 +- .../react/start-convex-trellaux/package.json | 8 +- examples/react/start-counter/package.json | 6 +- examples/react/start-large/package.json | 6 +- examples/react/start-material-ui/package.json | 6 +- .../react/start-supabase-basic/package.json | 6 +- examples/react/start-tailwind-v4/package.json | 6 +- examples/react/start-trellaux/package.json | 8 +- examples/react/start-workos/package.json | 6 +- examples/react/view-transitions/package.json | 6 +- .../react/with-framer-motion/package.json | 4 +- .../react/with-trpc-react-query/package.json | 6 +- examples/react/with-trpc/package.json | 6 +- .../solid/basic-devtools-panel/package.json | 4 +- examples/solid/basic-file-based/package.json | 6 +- .../basic-non-nested-devtools/package.json | 4 +- .../basic-solid-query-file-based/package.json | 6 +- examples/solid/basic-solid-query/package.json | 6 +- .../package.json | 6 +- examples/solid/basic/package.json | 4 +- .../kitchen-sink-file-based/package.json | 6 +- .../solid/quickstart-file-based/package.json | 6 +- examples/solid/start-bare/package.json | 6 +- .../solid/start-basic-static/package.json | 8 +- examples/solid/start-basic/package.json | 6 +- packages/arktype-adapter/package.json | 2 +- .../directive-functions-plugin/package.json | 2 +- packages/eslint-plugin-router/package.json | 2 +- packages/history/package.json | 2 +- packages/react-router-devtools/package.json | 2 +- packages/react-router-ssr-query/package.json | 2 +- packages/react-router/package.json | 2 +- packages/react-start-client/package.json | 2 +- packages/react-start-server/package.json | 2 +- packages/react-start/package.json | 2 +- packages/router-cli/package.json | 2 +- packages/router-core/package.json | 2 +- packages/router-devtools-core/package.json | 2 +- packages/router-devtools/package.json | 2 +- packages/router-generator/package.json | 2 +- packages/router-plugin/package.json | 2 +- packages/router-ssr-query-core/package.json | 2 +- packages/router-utils/package.json | 2 +- packages/router-vite-plugin/package.json | 2 +- packages/server-functions-plugin/package.json | 2 +- packages/solid-router-devtools/package.json | 2 +- packages/solid-router/package.json | 2 +- packages/solid-start-client/package.json | 2 +- packages/solid-start-server/package.json | 2 +- packages/solid-start/package.json | 2 +- packages/start-client-core/package.json | 2 +- packages/start-plugin-core/package.json | 2 +- packages/start-server-core/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/start-storage-context/package.json | 2 +- packages/valibot-adapter/package.json | 2 +- packages/virtual-file-routes/package.json | 2 +- packages/zod-adapter/package.json | 2 +- pnpm-lock.yaml | 84 ++++++++++--------- 105 files changed, 271 insertions(+), 269 deletions(-) diff --git a/examples/react/authenticated-routes-firebase/package.json b/examples/react/authenticated-routes-firebase/package.json index cc318ec0bc3..91986f65940 100644 --- a/examples/react/authenticated-routes-firebase/package.json +++ b/examples/react/authenticated-routes-firebase/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "autoprefixer": "^10.4.20", "firebase": "^11.4.0", "postcss": "^8.5.1", diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index 60472541a75..5573343c07a 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index f91b8de3308..28c2c9bc3f8 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-devtools-panel/package.json b/examples/react/basic-devtools-panel/package.json index ae26bd8bd93..e2db6f093bc 100644 --- a/examples/react/basic-devtools-panel/package.json +++ b/examples/react/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "@tanstack/react-query-devtools": "^5.67.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index 7d8967e25eb..6498f97a98e 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-non-nested-devtools/package.json b/examples/react/basic-non-nested-devtools/package.json index cb780c4afdd..6a718dc4fae 100644 --- a/examples/react/basic-non-nested-devtools/package.json +++ b/examples/react/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 3b970a0eef2..3a897d24621 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index e1ab941f3ed..f2b93612dc5 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 8d7f293c513..08b3cbceb81 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "compression": "^1.8.0", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "@types/express": "^4.17.23", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index 2d0fc453f79..45c4cd2227c 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "compression": "^1.7.5", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "@types/express": "^4.17.21", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-virtual-file-based/package.json b/examples/react/basic-virtual-file-based/package.json index 2b64520795f..5738f402e42 100644 --- a/examples/react/basic-virtual-file-based/package.json +++ b/examples/react/basic-virtual-file-based/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", - "@tanstack/virtual-file-routes": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/virtual-file-routes": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index ac700eedc6f..ce62460180f 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", - "@tanstack/virtual-file-routes": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/virtual-file-routes": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index 9f63b05643f..4f32f004b97 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index f2a98d2cfe4..1a2c33de31d 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index 9f099a29cc0..860eb26566a 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index bf3cf473a23..4b6eb4d9a69 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index f5969fdecec..af63c782fdc 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index 04109f0c05d..1aa4c9c74fc 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index 6fabf1bb124..a6f408e3e41 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 4a7b4ea6b5e..91bbd51d56e 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -11,8 +11,8 @@ "dependencies": { "@radix-ui/react-dialog": "^1.1.6", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index f1bf5af0b77..73a80f8552c 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-esbuild-file-based/package.json b/examples/react/quickstart-esbuild-file-based/package.json index 100e30fd3ab..6c5c57792a0 100644 --- a/examples/react/quickstart-esbuild-file-based/package.json +++ b/examples/react/quickstart-esbuild-file-based/package.json @@ -9,9 +9,9 @@ "start": "dev" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index c390e408821..9a9d0645be6 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-rspack-file-based/package.json b/examples/react/quickstart-rspack-file-based/package.json index 20f8dd20bbe..3986a05b6d9 100644 --- a/examples/react/quickstart-rspack-file-based/package.json +++ b/examples/react/quickstart-rspack-file-based/package.json @@ -8,8 +8,8 @@ "preview": "rsbuild preview" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", @@ -19,7 +19,7 @@ "devDependencies": { "@rsbuild/core": "1.2.4", "@rsbuild/plugin-react": "1.1.0", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.6.2" diff --git a/examples/react/quickstart-webpack-file-based/package.json b/examples/react/quickstart-webpack-file-based/package.json index 3d352549f23..67d738bd1bd 100644 --- a/examples/react/quickstart-webpack-file-based/package.json +++ b/examples/react/quickstart-webpack-file-based/package.json @@ -7,14 +7,14 @@ "build": "webpack build && tsc --noEmit" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0" }, "devDependencies": { "@swc/core": "^1.10.15", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "html-webpack-plugin": "^5.6.3", diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index ca4abf297e2..97bda1b1ed6 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index dd0ad6a9494..7fd1ddbadd9 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index a57ee2a77d8..814d9487e06 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -20,7 +20,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index e40bc095297..d7c30320683 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -8,10 +8,10 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.131.2", + "@tanstack/history": "^1.121.0-alpha.28", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "@router-mono-react-query/post-query": "workspace:*", "redaxios": "^0.5.1", "zod": "^3.24.2", diff --git a/examples/react/router-monorepo-simple-lazy/package.json b/examples/react/router-monorepo-simple-lazy/package.json index f349bcb289d..632a862fa84 100644 --- a/examples/react/router-monorepo-simple-lazy/package.json +++ b/examples/react/router-monorepo-simple-lazy/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple-lazy/packages/app/package.json b/examples/react/router-monorepo-simple-lazy/packages/app/package.json index 751605d3bc9..e34306d84dc 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/app/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-simple-lazy/packages/router/package.json b/examples/react/router-monorepo-simple-lazy/packages/router/package.json index 7863dc71d75..173525b6c97 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/router/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/router/package.json @@ -8,9 +8,9 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.131.2", - "@tanstack/react-router": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/history": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 7308d109b1b..7e0d37d3458 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index 7bd4915db80..b2e33a82ba1 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "vite": "^7.1.1", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index 1d49608c068..888660d38dd 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -8,9 +8,9 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.131.2", - "@tanstack/react-router": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/history": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index 6fae0db3c7d..9c139959600 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", "@tanstack/react-virtual": "^3.13.0", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index fad4da11a68..e6a6ad0c8d6 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -10,13 +10,13 @@ "test:unit": "vitest" }, "dependencies": { - "@tanstack/arktype-adapter": "^1.131.2", + "@tanstack/arktype-adapter": "^1.121.0-alpha.28", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", - "@tanstack/valibot-adapter": "^1.131.2", - "@tanstack/zod-adapter": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/valibot-adapter": "^1.121.0-alpha.28", + "@tanstack/zod-adapter": "^1.121.0-alpha.28", "arktype": "^2.1.7", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-bare/package.json b/examples/react/start-bare/package.json index e463243d5d5..1906dec2719 100644 --- a/examples/react/start-bare/package.json +++ b/examples/react/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index 94fcf564f68..ec8115e19fb 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -11,9 +11,9 @@ }, "dependencies": { "@prisma/client": "5.22.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "prisma": "^5.22.0", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index c24849c2e30..c4aacf920d2 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-ssr-query": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-ssr-query": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index 49301027c3f..b75b3b31f1d 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@babel/plugin-syntax-typescript": "^7.25.9", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index 85a8abcf980..f0642918105 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", - "@tanstack/start-static-server-functions": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/start-static-server-functions": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index 905714784c3..3f0425bbe20 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index ea5b1096d8e..3f9343734c3 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@clerk/tanstack-react-start": "^0.19.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "@vitejs/plugin-react": "^4.3.4", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index 7b910fd13a0..cd4caaea764 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -14,10 +14,10 @@ "@convex-dev/react-query": "0.0.0-alpha.8", "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-ssr-query": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-ssr-query": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "concurrently": "^8.2.2", "convex": "^1.19.0", "ky": "^1.7.4", diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index 78305118fc9..b20bc766aac 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0" }, diff --git a/examples/react/start-large/package.json b/examples/react/start-large/package.json index feca27f6019..63f4b4fa6c8 100644 --- a/examples/react/start-large/package.json +++ b/examples/react/start-large/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-material-ui/package.json b/examples/react/start-material-ui/package.json index 7e04d8a234d..d954dbbff31 100644 --- a/examples/react/start-material-ui/package.json +++ b/examples/react/start-material-ui/package.json @@ -14,9 +14,9 @@ "@emotion/styled": "11.14.0", "@fontsource-variable/roboto": "5.2.5", "@mui/material": "6.4.7", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-start": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index c75335e8a03..3ea19ab9a44 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -15,9 +15,9 @@ "dependencies": { "@supabase/ssr": "^0.5.2", "@supabase/supabase-js": "^2.48.1", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/start-tailwind-v4/package.json b/examples/react/start-tailwind-v4/package.json index f9e01bbd38b..92f50a99106 100644 --- a/examples/react/start-tailwind-v4/package.json +++ b/examples/react/start-tailwind-v4/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index 6971d3d6ed7..b5d09484b90 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-ssr-query": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-ssr-query": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "ky": "^1.7.4", "msw": "^2.7.0", "react": "^19.0.0", diff --git a/examples/react/start-workos/package.json b/examples/react/start-workos/package.json index 53aad57a672..4532bfdbe63 100644 --- a/examples/react/start-workos/package.json +++ b/examples/react/start-workos/package.json @@ -14,9 +14,9 @@ "license": "MIT", "dependencies": { "@radix-ui/themes": "^3.2.1", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/react-start": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-start": "^1.121.0-alpha.28", "@workos-inc/node": "^7.45.0", "iron-session": "^8.0.4", "jose": "^6.0.10", diff --git a/examples/react/view-transitions/package.json b/examples/react/view-transitions/package.json index 57908742aa2..c4c6c946f1b 100644 --- a/examples/react/view-transitions/package.json +++ b/examples/react/view-transitions/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index 5bdaa3b4cbc..4402456213e 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", "framer-motion": "^11.18.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index 9741a8728eb..9fd98625fd0 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "@trpc/tanstack-react-query": "^11.4.3", diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index ee01c61af35..23eb72fd730 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -10,9 +10,9 @@ "start": "NODE_ENV=production node dist/server/server.js" }, "dependencies": { - "@tanstack/react-router": "^1.131.2", - "@tanstack/react-router-devtools": "^1.131.2", - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "autoprefixer": "^10.4.20", diff --git a/examples/solid/basic-devtools-panel/package.json b/examples/solid/basic-devtools-panel/package.json index f23778d2035..ffa75ad345d 100644 --- a/examples/solid/basic-devtools-panel/package.json +++ b/examples/solid/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", diff --git a/examples/solid/basic-file-based/package.json b/examples/solid/basic-file-based/package.json index 5935f3e810b..a72f761523c 100644 --- a/examples/solid/basic-file-based/package.json +++ b/examples/solid/basic-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-non-nested-devtools/package.json b/examples/solid/basic-non-nested-devtools/package.json index b94881ddf14..01e74403d16 100644 --- a/examples/solid/basic-non-nested-devtools/package.json +++ b/examples/solid/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/basic-solid-query-file-based/package.json b/examples/solid/basic-solid-query-file-based/package.json index f9591880abe..667eb4b5d73 100644 --- a/examples/solid/basic-solid-query-file-based/package.json +++ b/examples/solid/basic-solid-query-file-based/package.json @@ -12,8 +12,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -22,7 +22,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-solid-query/package.json b/examples/solid/basic-solid-query/package.json index 2069fb8ed28..64b21af48d5 100644 --- a/examples/solid/basic-solid-query/package.json +++ b/examples/solid/basic-solid-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -20,7 +20,7 @@ "tailwindcss": "^3.4.17" }, "devDependencies": { - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index 18e0587fd4d..be65974e80e 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "autoprefixer": "^10.4.20", "compression": "^1.7.5", "express": "^4.21.2", @@ -25,7 +25,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "@types/express": "^4.17.21", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json index 44ab879f88a..fa04851dda6 100644 --- a/examples/solid/basic/package.json +++ b/examples/solid/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/kitchen-sink-file-based/package.json b/examples/solid/kitchen-sink-file-based/package.json index a13069a7227..ceb3af1beb4 100644 --- a/examples/solid/kitchen-sink-file-based/package.json +++ b/examples/solid/kitchen-sink-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "immer": "^10.1.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", @@ -20,7 +20,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/quickstart-file-based/package.json b/examples/solid/quickstart-file-based/package.json index ad7c4e3a012..2385f97d813 100644 --- a/examples/solid/quickstart-file-based/package.json +++ b/examples/solid/quickstart-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.131.2", + "@tanstack/router-plugin": "^1.121.0-alpha.28", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/start-bare/package.json b/examples/solid/start-bare/package.json index c114fe02446..098d6f47a4d 100644 --- a/examples/solid/start-bare/package.json +++ b/examples/solid/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", - "@tanstack/solid-start": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-start": "^1.121.0-alpha.28", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index 62ef31b4ef2..9b856d74062 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", - "@tanstack/solid-start": "^1.131.2", - "@tanstack/start-static-server-functions": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-start": "^1.121.0-alpha.28", + "@tanstack/start-static-server-functions": "^1.121.0-alpha.28", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.5.5" diff --git a/examples/solid/start-basic/package.json b/examples/solid/start-basic/package.json index f352d1fa0d8..93c356ac9a0 100644 --- a/examples/solid/start-basic/package.json +++ b/examples/solid/start-basic/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.131.2", - "@tanstack/solid-router-devtools": "^1.131.2", - "@tanstack/solid-start": "^1.131.2", + "@tanstack/solid-router": "^1.121.0-alpha.28", + "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-start": "^1.121.0-alpha.28", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0" diff --git a/packages/arktype-adapter/package.json b/packages/arktype-adapter/package.json index 946fb2e2fc9..f845eb245aa 100644 --- a/packages/arktype-adapter/package.json +++ b/packages/arktype-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/arktype-adapter", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/directive-functions-plugin/package.json b/packages/directive-functions-plugin/package.json index 0ee8e11c42e..d2e9139ea1b 100644 --- a/packages/directive-functions-plugin/package.json +++ b/packages/directive-functions-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/directive-functions-plugin", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/eslint-plugin-router/package.json b/packages/eslint-plugin-router/package.json index f52e05f35fb..a04bfa4db69 100644 --- a/packages/eslint-plugin-router/package.json +++ b/packages/eslint-plugin-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/eslint-plugin-router", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "ESLint plugin for TanStack Router", "author": "Manuel Schiller", "license": "MIT", diff --git a/packages/history/package.json b/packages/history/package.json index 022d1a175df..22c19ba16f9 100644 --- a/packages/history/package.json +++ b/packages/history/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/history", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-devtools/package.json b/packages/react-router-devtools/package.json index 453077d1f22..764264852a9 100644 --- a/packages/react-router-devtools/package.json +++ b/packages/react-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-devtools", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-ssr-query/package.json b/packages/react-router-ssr-query/package.json index b7deb1fc4ac..e16fffcb5cd 100644 --- a/packages/react-router-ssr-query/package.json +++ b/packages/react-router-ssr-query/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-ssr-query", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 49747550dab..7b313257931 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-client/package.json b/packages/react-start-client/package.json index 663df6b6858..ea40395a53f 100644 --- a/packages/react-start-client/package.json +++ b/packages/react-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-client", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-server/package.json b/packages/react-start-server/package.json index a6c8fa2e7ca..428999fca0e 100644 --- a/packages/react-start-server/package.json +++ b/packages/react-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-server", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start/package.json b/packages/react-start/package.json index 0ee70664be8..cbad6a55baf 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-cli/package.json b/packages/router-cli/package.json index 7c5c0abd607..98ce499a62a 100644 --- a/packages/router-cli/package.json +++ b/packages/router-cli/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-cli", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-core/package.json b/packages/router-core/package.json index 1537f50bf73..6e957e135c4 100644 --- a/packages/router-core/package.json +++ b/packages/router-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-core", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools-core/package.json b/packages/router-devtools-core/package.json index b445f98be56..2c369b4e0f4 100644 --- a/packages/router-devtools-core/package.json +++ b/packages/router-devtools-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools-core", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for Web applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools/package.json b/packages/router-devtools/package.json index b30d77a6462..ed32909d696 100644 --- a/packages/router-devtools/package.json +++ b/packages/router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-generator/package.json b/packages/router-generator/package.json index 15713e64e94..7021c74c18e 100644 --- a/packages/router-generator/package.json +++ b/packages/router-generator/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-generator", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-plugin/package.json b/packages/router-plugin/package.json index 3aafb2aa476..9490d385e5c 100644 --- a/packages/router-plugin/package.json +++ b/packages/router-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-plugin", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-ssr-query-core/package.json b/packages/router-ssr-query-core/package.json index ef9e90dda4e..293dd72d904 100644 --- a/packages/router-ssr-query-core/package.json +++ b/packages/router-ssr-query-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-ssr-query-core", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-utils/package.json b/packages/router-utils/package.json index 79818259092..0ecd2fbad91 100644 --- a/packages/router-utils/package.json +++ b/packages/router-utils/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-utils", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-vite-plugin/package.json b/packages/router-vite-plugin/package.json index 9be4506e118..c65231c8d22 100644 --- a/packages/router-vite-plugin/package.json +++ b/packages/router-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-vite-plugin", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/server-functions-plugin/package.json b/packages/server-functions-plugin/package.json index dc5876d26f7..a06b6183000 100644 --- a/packages/server-functions-plugin/package.json +++ b/packages/server-functions-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/server-functions-plugin", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router-devtools/package.json b/packages/solid-router-devtools/package.json index dc44f5b7b83..53e6e64087b 100644 --- a/packages/solid-router-devtools/package.json +++ b/packages/solid-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router-devtools", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router/package.json b/packages/solid-router/package.json index 842d4d0afe6..31d03ee3c5b 100644 --- a/packages/solid-router/package.json +++ b/packages/solid-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-client/package.json b/packages/solid-start-client/package.json index ec41a74972a..e48f173b205 100644 --- a/packages/solid-start-client/package.json +++ b/packages/solid-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-client", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-server/package.json b/packages/solid-start-server/package.json index 0a9e48a7d8c..5a31119287f 100644 --- a/packages/solid-start-server/package.json +++ b/packages/solid-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-server", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index b89d8e46c6f..e659920a66b 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-client-core/package.json b/packages/start-client-core/package.json index 73ff9dd8429..e14d8249438 100644 --- a/packages/start-client-core/package.json +++ b/packages/start-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-client-core", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index c08fa249af1..2ddb746ef88 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-plugin-core", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index a5c057d2f6f..aaafc8964d6 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-core", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-client/package.json b/packages/start-server-functions-client/package.json index 1508ae6565f..3ce1b887d4f 100644 --- a/packages/start-server-functions-client/package.json +++ b/packages/start-server-functions-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-client", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-fetcher/package.json b/packages/start-server-functions-fetcher/package.json index 10957da8948..5095aeb3612 100644 --- a/packages/start-server-functions-fetcher/package.json +++ b/packages/start-server-functions-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-fetcher", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-server/package.json b/packages/start-server-functions-server/package.json index 2f9fe2a0dd1..9f65cc6d8ec 100644 --- a/packages/start-server-functions-server/package.json +++ b/packages/start-server-functions-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-server", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-static-server-functions/package.json b/packages/start-static-server-functions/package.json index df077ff9626..e40ad287845 100644 --- a/packages/start-static-server-functions/package.json +++ b/packages/start-static-server-functions/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-static-server-functions", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-storage-context/package.json b/packages/start-storage-context/package.json index 15d82d48db3..d4cdb8a1d1b 100644 --- a/packages/start-storage-context/package.json +++ b/packages/start-storage-context/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-storage-context", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/valibot-adapter/package.json b/packages/valibot-adapter/package.json index 968fdb6d274..3763b8a0fad 100644 --- a/packages/valibot-adapter/package.json +++ b/packages/valibot-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/valibot-adapter", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/virtual-file-routes/package.json b/packages/virtual-file-routes/package.json index d1bbdcc7cfe..ab52ea42c16 100644 --- a/packages/virtual-file-routes/package.json +++ b/packages/virtual-file-routes/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/virtual-file-routes", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/zod-adapter/package.json b/packages/zod-adapter/package.json index c3ec00e5d1f..8f9939aceed 100644 --- a/packages/zod-adapter/package.json +++ b/packages/zod-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/zod-adapter", - "version": "1.131.2", + "version": "1.121.0-alpha.28", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77302fe2cef..cf401cbe1f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,7 +107,7 @@ importers: version: 4.0.2 nx: specifier: 21.3.7 - version: 21.3.7(@swc/core@1.10.15) + version: 21.3.7(@swc/core@1.10.15(@swc/helpers@0.5.15)) prettier: specifier: ^3.6.2 version: 3.6.2 @@ -4119,10 +4119,10 @@ importers: version: 19.0.3(@types/react@19.0.8) html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1) swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1) typescript: specifier: ^5.7.2 version: 5.8.2 @@ -5889,7 +5889,7 @@ importers: examples/solid/basic: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5929,7 +5929,7 @@ importers: examples/solid/basic-devtools-panel: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5963,7 +5963,7 @@ importers: examples/solid/basic-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6003,7 +6003,7 @@ importers: examples/solid/basic-non-nested-devtools: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6049,7 +6049,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6092,7 +6092,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6132,7 +6132,7 @@ importers: examples/solid/basic-ssr-streaming-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6187,7 +6187,7 @@ importers: examples/solid/kitchen-sink-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6230,7 +6230,7 @@ importers: examples/solid/quickstart-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6270,7 +6270,7 @@ importers: examples/solid/start-bare: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6313,7 +6313,7 @@ importers: examples/solid/start-basic: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6359,7 +6359,7 @@ importers: examples/solid/start-basic-static: dependencies: '@tanstack/solid-router': - specifier: ^1.131.2 + specifier: ^1.121.0-alpha.28 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6855,7 +6855,7 @@ importers: version: 2.11.8(@testing-library/jest-dom@6.6.3)(solid-js@1.9.5)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) webpack: specifier: '>=5.92.0' - version: 5.97.1(@swc/core@1.10.15)(esbuild@0.25.8) + version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) zod: specifier: ^3.24.2 version: 3.25.57 @@ -7245,7 +7245,7 @@ importers: version: 0.1.6 h3: specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3(crossws@0.4.1) + version: 2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)) tiny-invariant: specifier: ^1.3.3 version: 1.3.3 @@ -18909,17 +18909,17 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.97.1)': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.97.1)': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1)': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) @@ -19528,7 +19528,9 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crossws@0.4.1: + crossws@0.4.1(srvx@0.8.6): + optionalDependencies: + srvx: 0.8.6 optional: true css-select@4.3.0: @@ -20569,14 +20571,14 @@ snapshots: graphql@16.10.0: {} - h3@2.0.0-beta.3(crossws@0.4.1): + h3@2.0.0-beta.3(crossws@0.4.1(srvx@0.8.6)): dependencies: cookie-es: 2.0.0 fetchdts: 0.1.6 rou3: 0.7.3 srvx: 0.8.6 optionalDependencies: - crossws: 0.4.1 + crossws: 0.4.1(srvx@0.8.6) handle-thing@2.0.1: {} @@ -20633,7 +20635,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -21415,7 +21417,7 @@ snapshots: nwsapi@2.2.16: {} - nx@21.3.7(@swc/core@1.10.15): + nx@21.3.7(@swc/core@1.10.15(@swc/helpers@0.5.15)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -22446,7 +22448,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1): dependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) '@swc/counter': 0.1.3 @@ -22510,26 +22512,26 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15)(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15)(esbuild@0.25.8)): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15)(esbuild@0.25.8) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 @@ -23070,9 +23072,9 @@ snapshots: webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.97.1) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.97.1) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 @@ -23086,7 +23088,7 @@ snapshots: optionalDependencies: webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1) - webpack-dev-middleware@7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): + webpack-dev-middleware@7.4.2(webpack@5.97.1): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -23124,7 +23126,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + webpack-dev-middleware: 7.4.2(webpack@5.97.1) ws: 8.18.0 optionalDependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) @@ -23147,7 +23149,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4): + webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -23169,17 +23171,15 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)) watchpack: 2.4.2 webpack-sources: 3.2.3 - optionalDependencies: - webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.10.15)(esbuild@0.25.8): + webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -23201,9 +23201,11 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15)(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15)(esbuild@0.25.8)) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1) watchpack: 2.4.2 webpack-sources: 3.2.3 + optionalDependencies: + webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) transitivePeerDependencies: - '@swc/core' - esbuild From 4266be986c4f8508a0f9197ff9282a687e6ede48 Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Tue, 12 Aug 2025 18:16:03 +0000 Subject: [PATCH 069/271] release: v1.132.0-alpha.0 --- .../package.json | 6 ++--- .../react/authenticated-routes/package.json | 6 ++--- .../basic-default-search-params/package.json | 4 ++-- .../react/basic-devtools-panel/package.json | 4 ++-- examples/react/basic-file-based/package.json | 6 ++--- .../basic-non-nested-devtools/package.json | 4 ++-- .../basic-react-query-file-based/package.json | 6 ++--- examples/react/basic-react-query/package.json | 4 ++-- .../react/basic-ssr-file-based/package.json | 6 ++--- .../package.json | 6 ++--- .../basic-virtual-file-based/package.json | 8 +++---- .../package.json | 8 +++---- examples/react/basic/package.json | 4 ++-- examples/react/deferred-data/package.json | 4 ++-- .../kitchen-sink-file-based/package.json | 6 ++--- .../package.json | 6 ++--- .../kitchen-sink-react-query/package.json | 4 ++-- examples/react/kitchen-sink/package.json | 4 ++-- examples/react/large-file-based/package.json | 6 ++--- examples/react/location-masking/package.json | 4 ++-- .../react/navigation-blocking/package.json | 4 ++-- .../package.json | 6 ++--- .../react/quickstart-file-based/package.json | 6 ++--- .../quickstart-rspack-file-based/package.json | 6 ++--- .../package.json | 6 ++--- examples/react/quickstart/package.json | 4 ++-- .../router-monorepo-react-query/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 ++--- .../router-monorepo-simple-lazy/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 ++--- .../react/router-monorepo-simple/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 ++--- .../react/scroll-restoration/package.json | 4 ++-- .../search-validator-adapters/package.json | 12 +++++----- examples/react/start-bare/package.json | 6 ++--- examples/react/start-basic-auth/package.json | 6 ++--- .../start-basic-react-query/package.json | 8 +++---- examples/react/start-basic-rsc/package.json | 6 ++--- .../react/start-basic-static/package.json | 8 +++---- examples/react/start-basic/package.json | 6 ++--- examples/react/start-clerk-basic/package.json | 6 ++--- .../react/start-convex-trellaux/package.json | 8 +++---- examples/react/start-counter/package.json | 6 ++--- examples/react/start-large/package.json | 6 ++--- examples/react/start-material-ui/package.json | 6 ++--- .../react/start-supabase-basic/package.json | 6 ++--- examples/react/start-tailwind-v4/package.json | 6 ++--- examples/react/start-trellaux/package.json | 8 +++---- examples/react/start-workos/package.json | 6 ++--- examples/react/view-transitions/package.json | 6 ++--- .../react/with-framer-motion/package.json | 4 ++-- .../react/with-trpc-react-query/package.json | 6 ++--- examples/react/with-trpc/package.json | 6 ++--- .../solid/basic-devtools-panel/package.json | 4 ++-- examples/solid/basic-file-based/package.json | 6 ++--- .../basic-non-nested-devtools/package.json | 4 ++-- .../basic-solid-query-file-based/package.json | 6 ++--- examples/solid/basic-solid-query/package.json | 6 ++--- .../package.json | 6 ++--- examples/solid/basic/package.json | 4 ++-- .../kitchen-sink-file-based/package.json | 6 ++--- .../solid/quickstart-file-based/package.json | 6 ++--- examples/solid/start-bare/package.json | 6 ++--- .../solid/start-basic-static/package.json | 8 +++---- examples/solid/start-basic/package.json | 6 ++--- packages/arktype-adapter/package.json | 2 +- .../directive-functions-plugin/package.json | 2 +- packages/eslint-plugin-router/package.json | 2 +- packages/history/package.json | 2 +- packages/react-router-devtools/package.json | 2 +- packages/react-router-ssr-query/package.json | 2 +- packages/react-router/package.json | 2 +- packages/react-start-client/package.json | 2 +- packages/react-start-server/package.json | 2 +- packages/react-start/package.json | 2 +- packages/router-cli/package.json | 2 +- packages/router-core/package.json | 2 +- packages/router-devtools-core/package.json | 2 +- packages/router-devtools/package.json | 2 +- packages/router-generator/package.json | 2 +- packages/router-plugin/package.json | 2 +- packages/router-ssr-query-core/package.json | 2 +- packages/router-utils/package.json | 2 +- packages/router-vite-plugin/package.json | 2 +- packages/server-functions-plugin/package.json | 2 +- packages/solid-router-devtools/package.json | 2 +- packages/solid-router/package.json | 2 +- packages/solid-start-client/package.json | 2 +- packages/solid-start-server/package.json | 2 +- packages/solid-start/package.json | 2 +- packages/start-client-core/package.json | 2 +- packages/start-plugin-core/package.json | 2 +- packages/start-server-core/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/start-storage-context/package.json | 2 +- packages/valibot-adapter/package.json | 2 +- packages/virtual-file-routes/package.json | 2 +- packages/zod-adapter/package.json | 2 +- pnpm-lock.yaml | 24 +++++++++---------- 105 files changed, 240 insertions(+), 240 deletions(-) diff --git a/examples/react/authenticated-routes-firebase/package.json b/examples/react/authenticated-routes-firebase/package.json index 91986f65940..eb48aaf9eb8 100644 --- a/examples/react/authenticated-routes-firebase/package.json +++ b/examples/react/authenticated-routes-firebase/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "autoprefixer": "^10.4.20", "firebase": "^11.4.0", "postcss": "^8.5.1", diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index 5573343c07a..688b43a6707 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index 28c2c9bc3f8..85a40d3ba3e 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-devtools-panel/package.json b/examples/react/basic-devtools-panel/package.json index e2db6f093bc..9ce3b40266e 100644 --- a/examples/react/basic-devtools-panel/package.json +++ b/examples/react/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "@tanstack/react-query-devtools": "^5.67.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index 6498f97a98e..286abfc28da 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-non-nested-devtools/package.json b/examples/react/basic-non-nested-devtools/package.json index 6a718dc4fae..f1e92c1f8e4 100644 --- a/examples/react/basic-non-nested-devtools/package.json +++ b/examples/react/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 3a897d24621..48479574dba 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index f2b93612dc5..9596ebcab0a 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 08b3cbceb81..12971888b4a 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "compression": "^1.8.0", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "@types/express": "^4.17.23", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index 45c4cd2227c..019d20c4cb0 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "compression": "^1.7.5", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "@types/express": "^4.17.21", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-virtual-file-based/package.json b/examples/react/basic-virtual-file-based/package.json index 5738f402e42..f440b9669ff 100644 --- a/examples/react/basic-virtual-file-based/package.json +++ b/examples/react/basic-virtual-file-based/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", - "@tanstack/virtual-file-routes": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/virtual-file-routes": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index ce62460180f..84e659b5fa8 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", - "@tanstack/virtual-file-routes": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/virtual-file-routes": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index 4f32f004b97..0a43e5ad20d 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index 1a2c33de31d..f4f6628dc2e 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index 860eb26566a..524d00ef160 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index 4b6eb4d9a69..20ed6aa339b 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index af63c782fdc..744a1677475 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index 1aa4c9c74fc..bbb37c625f1 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index a6f408e3e41..51eae290b69 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 91bbd51d56e..6ec25c1c765 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -11,8 +11,8 @@ "dependencies": { "@radix-ui/react-dialog": "^1.1.6", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index 73a80f8552c..abdb7f74e12 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-esbuild-file-based/package.json b/examples/react/quickstart-esbuild-file-based/package.json index 6c5c57792a0..75330fc3a17 100644 --- a/examples/react/quickstart-esbuild-file-based/package.json +++ b/examples/react/quickstart-esbuild-file-based/package.json @@ -9,9 +9,9 @@ "start": "dev" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index 9a9d0645be6..e65fdc62daf 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-rspack-file-based/package.json b/examples/react/quickstart-rspack-file-based/package.json index 3986a05b6d9..509149bc165 100644 --- a/examples/react/quickstart-rspack-file-based/package.json +++ b/examples/react/quickstart-rspack-file-based/package.json @@ -8,8 +8,8 @@ "preview": "rsbuild preview" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", @@ -19,7 +19,7 @@ "devDependencies": { "@rsbuild/core": "1.2.4", "@rsbuild/plugin-react": "1.1.0", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.6.2" diff --git a/examples/react/quickstart-webpack-file-based/package.json b/examples/react/quickstart-webpack-file-based/package.json index 67d738bd1bd..3498b391b1b 100644 --- a/examples/react/quickstart-webpack-file-based/package.json +++ b/examples/react/quickstart-webpack-file-based/package.json @@ -7,14 +7,14 @@ "build": "webpack build && tsc --noEmit" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0" }, "devDependencies": { "@swc/core": "^1.10.15", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "html-webpack-plugin": "^5.6.3", diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index 97bda1b1ed6..5f65c53133a 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index 7fd1ddbadd9..cadd06f8aaf 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index 814d9487e06..1eb025603e8 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -20,7 +20,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index d7c30320683..5e8ebaf5438 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -8,10 +8,10 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.121.0-alpha.28", + "@tanstack/history": "^1.132.0-alpha.0", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "@router-mono-react-query/post-query": "workspace:*", "redaxios": "^0.5.1", "zod": "^3.24.2", diff --git a/examples/react/router-monorepo-simple-lazy/package.json b/examples/react/router-monorepo-simple-lazy/package.json index 632a862fa84..9c13e8a4848 100644 --- a/examples/react/router-monorepo-simple-lazy/package.json +++ b/examples/react/router-monorepo-simple-lazy/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple-lazy/packages/app/package.json b/examples/react/router-monorepo-simple-lazy/packages/app/package.json index e34306d84dc..8eb3f1438d1 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/app/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-simple-lazy/packages/router/package.json b/examples/react/router-monorepo-simple-lazy/packages/router/package.json index 173525b6c97..3eeaa4ecad9 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/router/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/router/package.json @@ -8,9 +8,9 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.121.0-alpha.28", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/history": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 7e0d37d3458..91468d912e7 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index b2e33a82ba1..96a21c839b7 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "vite": "^7.1.1", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index 888660d38dd..5bcc87f3c9c 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -8,9 +8,9 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.121.0-alpha.28", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/history": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index 9c139959600..bb54c093c22 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", "@tanstack/react-virtual": "^3.13.0", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index e6a6ad0c8d6..08f060102f8 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -10,13 +10,13 @@ "test:unit": "vitest" }, "dependencies": { - "@tanstack/arktype-adapter": "^1.121.0-alpha.28", + "@tanstack/arktype-adapter": "^1.132.0-alpha.0", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", - "@tanstack/valibot-adapter": "^1.121.0-alpha.28", - "@tanstack/zod-adapter": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/valibot-adapter": "^1.132.0-alpha.0", + "@tanstack/zod-adapter": "^1.132.0-alpha.0", "arktype": "^2.1.7", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-bare/package.json b/examples/react/start-bare/package.json index 1906dec2719..cfd2a907c19 100644 --- a/examples/react/start-bare/package.json +++ b/examples/react/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index ec8115e19fb..e7b8efd42a9 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -11,9 +11,9 @@ }, "dependencies": { "@prisma/client": "5.22.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "prisma": "^5.22.0", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index c4aacf920d2..7081e874230 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-ssr-query": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index b75b3b31f1d..e07d8b01012 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@babel/plugin-syntax-typescript": "^7.25.9", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index f0642918105..bfbdabb72c1 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", - "@tanstack/start-static-server-functions": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/start-static-server-functions": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index 3f0425bbe20..52d09bde406 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index 3f9343734c3..8d2e90ae6d0 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@clerk/tanstack-react-start": "^0.19.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "@vitejs/plugin-react": "^4.3.4", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index cd4caaea764..1c69c4b8b27 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -14,10 +14,10 @@ "@convex-dev/react-query": "0.0.0-alpha.8", "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-ssr-query": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "concurrently": "^8.2.2", "convex": "^1.19.0", "ky": "^1.7.4", diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index b20bc766aac..089415241ce 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0" }, diff --git a/examples/react/start-large/package.json b/examples/react/start-large/package.json index 63f4b4fa6c8..15db25725a1 100644 --- a/examples/react/start-large/package.json +++ b/examples/react/start-large/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-material-ui/package.json b/examples/react/start-material-ui/package.json index d954dbbff31..110f790ef3a 100644 --- a/examples/react/start-material-ui/package.json +++ b/examples/react/start-material-ui/package.json @@ -14,9 +14,9 @@ "@emotion/styled": "11.14.0", "@fontsource-variable/roboto": "5.2.5", "@mui/material": "6.4.7", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index 3ea19ab9a44..1c18a8ce500 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -15,9 +15,9 @@ "dependencies": { "@supabase/ssr": "^0.5.2", "@supabase/supabase-js": "^2.48.1", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/start-tailwind-v4/package.json b/examples/react/start-tailwind-v4/package.json index 92f50a99106..100bd6dbc41 100644 --- a/examples/react/start-tailwind-v4/package.json +++ b/examples/react/start-tailwind-v4/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index b5d09484b90..476159d7c89 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-ssr-query": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "ky": "^1.7.4", "msw": "^2.7.0", "react": "^19.0.0", diff --git a/examples/react/start-workos/package.json b/examples/react/start-workos/package.json index 4532bfdbe63..a61e3b39f35 100644 --- a/examples/react/start-workos/package.json +++ b/examples/react/start-workos/package.json @@ -14,9 +14,9 @@ "license": "MIT", "dependencies": { "@radix-ui/themes": "^3.2.1", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/react-start": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-start": "^1.132.0-alpha.0", "@workos-inc/node": "^7.45.0", "iron-session": "^8.0.4", "jose": "^6.0.10", diff --git a/examples/react/view-transitions/package.json b/examples/react/view-transitions/package.json index c4c6c946f1b..6fe80a508ba 100644 --- a/examples/react/view-transitions/package.json +++ b/examples/react/view-transitions/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index 4402456213e..873381bc113 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", "framer-motion": "^11.18.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index 9fd98625fd0..a2f05df0602 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "@trpc/tanstack-react-query": "^11.4.3", diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index 23eb72fd730..00cdcfadcfe 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -10,9 +10,9 @@ "start": "NODE_ENV=production node dist/server/server.js" }, "dependencies": { - "@tanstack/react-router": "^1.121.0-alpha.28", - "@tanstack/react-router-devtools": "^1.121.0-alpha.28", - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "autoprefixer": "^10.4.20", diff --git a/examples/solid/basic-devtools-panel/package.json b/examples/solid/basic-devtools-panel/package.json index ffa75ad345d..0defa354385 100644 --- a/examples/solid/basic-devtools-panel/package.json +++ b/examples/solid/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", diff --git a/examples/solid/basic-file-based/package.json b/examples/solid/basic-file-based/package.json index a72f761523c..0fbbddc7a05 100644 --- a/examples/solid/basic-file-based/package.json +++ b/examples/solid/basic-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-non-nested-devtools/package.json b/examples/solid/basic-non-nested-devtools/package.json index 01e74403d16..801cbb6a052 100644 --- a/examples/solid/basic-non-nested-devtools/package.json +++ b/examples/solid/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/basic-solid-query-file-based/package.json b/examples/solid/basic-solid-query-file-based/package.json index 667eb4b5d73..5ebb3d18846 100644 --- a/examples/solid/basic-solid-query-file-based/package.json +++ b/examples/solid/basic-solid-query-file-based/package.json @@ -12,8 +12,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -22,7 +22,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-solid-query/package.json b/examples/solid/basic-solid-query/package.json index 64b21af48d5..38417a5319a 100644 --- a/examples/solid/basic-solid-query/package.json +++ b/examples/solid/basic-solid-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -20,7 +20,7 @@ "tailwindcss": "^3.4.17" }, "devDependencies": { - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index be65974e80e..cdbdb769a08 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "autoprefixer": "^10.4.20", "compression": "^1.7.5", "express": "^4.21.2", @@ -25,7 +25,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "@types/express": "^4.17.21", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json index fa04851dda6..5bb32fb299d 100644 --- a/examples/solid/basic/package.json +++ b/examples/solid/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/kitchen-sink-file-based/package.json b/examples/solid/kitchen-sink-file-based/package.json index ceb3af1beb4..846b9a8f866 100644 --- a/examples/solid/kitchen-sink-file-based/package.json +++ b/examples/solid/kitchen-sink-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "immer": "^10.1.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", @@ -20,7 +20,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/quickstart-file-based/package.json b/examples/solid/quickstart-file-based/package.json index 2385f97d813..cd40adedf99 100644 --- a/examples/solid/quickstart-file-based/package.json +++ b/examples/solid/quickstart-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.121.0-alpha.28", + "@tanstack/router-plugin": "^1.132.0-alpha.0", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/start-bare/package.json b/examples/solid/start-bare/package.json index 098d6f47a4d..b4232309607 100644 --- a/examples/solid/start-bare/package.json +++ b/examples/solid/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", - "@tanstack/solid-start": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-start": "^1.132.0-alpha.0", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index 9b856d74062..dd397d62a4d 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", - "@tanstack/solid-start": "^1.121.0-alpha.28", - "@tanstack/start-static-server-functions": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-start": "^1.132.0-alpha.0", + "@tanstack/start-static-server-functions": "^1.132.0-alpha.0", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.5.5" diff --git a/examples/solid/start-basic/package.json b/examples/solid/start-basic/package.json index 93c356ac9a0..41df806b869 100644 --- a/examples/solid/start-basic/package.json +++ b/examples/solid/start-basic/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.121.0-alpha.28", - "@tanstack/solid-router-devtools": "^1.121.0-alpha.28", - "@tanstack/solid-start": "^1.121.0-alpha.28", + "@tanstack/solid-router": "^1.132.0-alpha.0", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-start": "^1.132.0-alpha.0", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0" diff --git a/packages/arktype-adapter/package.json b/packages/arktype-adapter/package.json index f845eb245aa..10551c33620 100644 --- a/packages/arktype-adapter/package.json +++ b/packages/arktype-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/arktype-adapter", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/directive-functions-plugin/package.json b/packages/directive-functions-plugin/package.json index d2e9139ea1b..891f3c2ddea 100644 --- a/packages/directive-functions-plugin/package.json +++ b/packages/directive-functions-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/directive-functions-plugin", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/eslint-plugin-router/package.json b/packages/eslint-plugin-router/package.json index a04bfa4db69..c5747d74bb0 100644 --- a/packages/eslint-plugin-router/package.json +++ b/packages/eslint-plugin-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/eslint-plugin-router", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "ESLint plugin for TanStack Router", "author": "Manuel Schiller", "license": "MIT", diff --git a/packages/history/package.json b/packages/history/package.json index 22c19ba16f9..c0be9e09520 100644 --- a/packages/history/package.json +++ b/packages/history/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/history", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-devtools/package.json b/packages/react-router-devtools/package.json index 764264852a9..eb55f1fd19a 100644 --- a/packages/react-router-devtools/package.json +++ b/packages/react-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-devtools", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-ssr-query/package.json b/packages/react-router-ssr-query/package.json index e16fffcb5cd..4d860d510db 100644 --- a/packages/react-router-ssr-query/package.json +++ b/packages/react-router-ssr-query/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-ssr-query", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 7b313257931..07ef6495141 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-client/package.json b/packages/react-start-client/package.json index ea40395a53f..4a4d7854986 100644 --- a/packages/react-start-client/package.json +++ b/packages/react-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-client", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-server/package.json b/packages/react-start-server/package.json index 428999fca0e..f07de1189ef 100644 --- a/packages/react-start-server/package.json +++ b/packages/react-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-server", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start/package.json b/packages/react-start/package.json index cbad6a55baf..5f3d5018fa5 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-cli/package.json b/packages/router-cli/package.json index 98ce499a62a..bfcaeecd506 100644 --- a/packages/router-cli/package.json +++ b/packages/router-cli/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-cli", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-core/package.json b/packages/router-core/package.json index 6e957e135c4..8ce22884e15 100644 --- a/packages/router-core/package.json +++ b/packages/router-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-core", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools-core/package.json b/packages/router-devtools-core/package.json index 2c369b4e0f4..e621913aada 100644 --- a/packages/router-devtools-core/package.json +++ b/packages/router-devtools-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools-core", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for Web applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools/package.json b/packages/router-devtools/package.json index ed32909d696..cd9cd5052eb 100644 --- a/packages/router-devtools/package.json +++ b/packages/router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-generator/package.json b/packages/router-generator/package.json index 7021c74c18e..551041a0ee5 100644 --- a/packages/router-generator/package.json +++ b/packages/router-generator/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-generator", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-plugin/package.json b/packages/router-plugin/package.json index 9490d385e5c..f1cb38e3d24 100644 --- a/packages/router-plugin/package.json +++ b/packages/router-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-plugin", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-ssr-query-core/package.json b/packages/router-ssr-query-core/package.json index 293dd72d904..89eef986c88 100644 --- a/packages/router-ssr-query-core/package.json +++ b/packages/router-ssr-query-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-ssr-query-core", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-utils/package.json b/packages/router-utils/package.json index 0ecd2fbad91..725325d1eae 100644 --- a/packages/router-utils/package.json +++ b/packages/router-utils/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-utils", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-vite-plugin/package.json b/packages/router-vite-plugin/package.json index c65231c8d22..6274ee42859 100644 --- a/packages/router-vite-plugin/package.json +++ b/packages/router-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-vite-plugin", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/server-functions-plugin/package.json b/packages/server-functions-plugin/package.json index a06b6183000..1208f58552d 100644 --- a/packages/server-functions-plugin/package.json +++ b/packages/server-functions-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/server-functions-plugin", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router-devtools/package.json b/packages/solid-router-devtools/package.json index 53e6e64087b..d0b76fb1712 100644 --- a/packages/solid-router-devtools/package.json +++ b/packages/solid-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router-devtools", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router/package.json b/packages/solid-router/package.json index 31d03ee3c5b..014349dc706 100644 --- a/packages/solid-router/package.json +++ b/packages/solid-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-client/package.json b/packages/solid-start-client/package.json index e48f173b205..5970da60fb4 100644 --- a/packages/solid-start-client/package.json +++ b/packages/solid-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-client", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-server/package.json b/packages/solid-start-server/package.json index 5a31119287f..a23724e34a5 100644 --- a/packages/solid-start-server/package.json +++ b/packages/solid-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-server", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index e659920a66b..3f4f49fed2b 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-client-core/package.json b/packages/start-client-core/package.json index e14d8249438..5425b9f22e7 100644 --- a/packages/start-client-core/package.json +++ b/packages/start-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-client-core", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 2ddb746ef88..28b57ee1a78 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-plugin-core", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index aaafc8964d6..b5932240a89 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-core", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-client/package.json b/packages/start-server-functions-client/package.json index 3ce1b887d4f..9c86b4f93a1 100644 --- a/packages/start-server-functions-client/package.json +++ b/packages/start-server-functions-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-client", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-fetcher/package.json b/packages/start-server-functions-fetcher/package.json index 5095aeb3612..a28a383657e 100644 --- a/packages/start-server-functions-fetcher/package.json +++ b/packages/start-server-functions-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-fetcher", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-server/package.json b/packages/start-server-functions-server/package.json index 9f65cc6d8ec..15f1bf79031 100644 --- a/packages/start-server-functions-server/package.json +++ b/packages/start-server-functions-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-server", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-static-server-functions/package.json b/packages/start-static-server-functions/package.json index e40ad287845..214cb3916dd 100644 --- a/packages/start-static-server-functions/package.json +++ b/packages/start-static-server-functions/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-static-server-functions", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-storage-context/package.json b/packages/start-storage-context/package.json index d4cdb8a1d1b..ad7745fc434 100644 --- a/packages/start-storage-context/package.json +++ b/packages/start-storage-context/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-storage-context", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/valibot-adapter/package.json b/packages/valibot-adapter/package.json index 3763b8a0fad..a05c5201a42 100644 --- a/packages/valibot-adapter/package.json +++ b/packages/valibot-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/valibot-adapter", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/virtual-file-routes/package.json b/packages/virtual-file-routes/package.json index ab52ea42c16..8d2437896a1 100644 --- a/packages/virtual-file-routes/package.json +++ b/packages/virtual-file-routes/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/virtual-file-routes", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/zod-adapter/package.json b/packages/zod-adapter/package.json index 8f9939aceed..e90a13cf6ad 100644 --- a/packages/zod-adapter/package.json +++ b/packages/zod-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/zod-adapter", - "version": "1.121.0-alpha.28", + "version": "1.132.0-alpha.0", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf401cbe1f4..8e15ee40823 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5889,7 +5889,7 @@ importers: examples/solid/basic: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5929,7 +5929,7 @@ importers: examples/solid/basic-devtools-panel: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5963,7 +5963,7 @@ importers: examples/solid/basic-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6003,7 +6003,7 @@ importers: examples/solid/basic-non-nested-devtools: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6049,7 +6049,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6092,7 +6092,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6132,7 +6132,7 @@ importers: examples/solid/basic-ssr-streaming-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6187,7 +6187,7 @@ importers: examples/solid/kitchen-sink-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6230,7 +6230,7 @@ importers: examples/solid/quickstart-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6270,7 +6270,7 @@ importers: examples/solid/start-bare: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6313,7 +6313,7 @@ importers: examples/solid/start-basic: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6359,7 +6359,7 @@ importers: examples/solid/start-basic-static: dependencies: '@tanstack/solid-router': - specifier: ^1.121.0-alpha.28 + specifier: ^1.132.0-alpha.0 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ From 11e6af28f306bab592dab6c1c77d47e2f4b747ab Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Wed, 13 Aug 2025 22:09:15 +0200 Subject: [PATCH 070/271] fix optimizeDeps --- packages/react-start/src/plugin/vite.ts | 17 ++++++++++++----- packages/start-plugin-core/src/index.ts | 2 ++ packages/start-plugin-core/src/plugin.ts | 12 ++++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/packages/react-start/src/plugin/vite.ts b/packages/react-start/src/plugin/vite.ts index 98494ae5cd4..2946c0b82f9 100644 --- a/packages/react-start/src/plugin/vite.ts +++ b/packages/react-start/src/plugin/vite.ts @@ -1,5 +1,8 @@ import { fileURLToPath } from 'node:url' -import { TanStackStartVitePluginCore } from '@tanstack/start-plugin-core' +import { + TanStackStartVitePluginCore, + VITE_ENVIRONMENT_NAMES, +} from '@tanstack/start-plugin-core' import path from 'pathe' import type { TanStackStartInputConfig } from '@tanstack/start-plugin-core' import type { PluginOption } from 'vite' @@ -43,14 +46,15 @@ export function tanstackStart( return [ { name: 'tanstack-react-start:config', - configEnvironment() { + configEnvironment(env, userConfig) { return { resolve: { dedupe: ['react', 'react-dom', '@tanstack/react-router'], - external: isInsideRouterMonoRepo - ? ['@tanstack/react-router', '@tanstack/react-router-devtools'] - : undefined, + external: + userConfig.resolve?.noExternal === true || !isInsideRouterMonoRepo + ? undefined + : ['@tanstack/react-router', '@tanstack/react-router-devtools'], }, optimizeDeps: { @@ -62,6 +66,9 @@ export function tanstackStart( 'react-dom', 'react-dom/client', '@tanstack/react-router', + ...(env === VITE_ENVIRONMENT_NAMES.server + ? ['react-dom/server'] + : []), ], }, } diff --git a/packages/start-plugin-core/src/index.ts b/packages/start-plugin-core/src/index.ts index 65c036daec2..df946192ae1 100644 --- a/packages/start-plugin-core/src/index.ts +++ b/packages/start-plugin-core/src/index.ts @@ -2,3 +2,5 @@ export type { TanStackStartInputConfig } from './schema' export { TanStackStartVitePluginCore } from './plugin' export { resolveViteId } from './utils' + +export { VITE_ENVIRONMENT_NAMES } from './constants' diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 155681c6701..5a649f29723 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -218,6 +218,18 @@ export function TanStackStartVitePluginCore( viteConfig.environments?.[VITE_ENVIRONMENT_NAMES.server] ?.build?.copyPublicDir ?? false, }, + optimizeDeps: { + exclude: [ + ...Object.values(VIRTUAL_MODULES), + ...result.optimizeDeps.exclude.sort(), + ...additionalOptimizeDeps.exclude, + `@tanstack/${corePluginOpts.framework}-start/server-functions-server`, + ], + include: [ + ...additionalOptimizeDeps.include, + ...result.optimizeDeps.include.sort(), + ], + }, }, }, resolve: { From 1c2977cd47ee72e9f117d6c6ea19e2d44bec082e Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Wed, 13 Aug 2025 21:07:17 +0000 Subject: [PATCH 071/271] release: v1.132.0-alpha.1 --- .../package.json | 6 ++--- .../react/authenticated-routes/package.json | 6 ++--- .../basic-default-search-params/package.json | 4 ++-- .../react/basic-devtools-panel/package.json | 4 ++-- examples/react/basic-file-based/package.json | 6 ++--- .../basic-non-nested-devtools/package.json | 4 ++-- .../basic-react-query-file-based/package.json | 6 ++--- examples/react/basic-react-query/package.json | 4 ++-- .../react/basic-ssr-file-based/package.json | 6 ++--- .../package.json | 6 ++--- .../basic-virtual-file-based/package.json | 8 +++---- .../package.json | 8 +++---- examples/react/basic/package.json | 4 ++-- examples/react/deferred-data/package.json | 4 ++-- .../kitchen-sink-file-based/package.json | 6 ++--- .../package.json | 6 ++--- .../kitchen-sink-react-query/package.json | 4 ++-- examples/react/kitchen-sink/package.json | 4 ++-- examples/react/large-file-based/package.json | 6 ++--- examples/react/location-masking/package.json | 4 ++-- .../react/navigation-blocking/package.json | 4 ++-- .../package.json | 6 ++--- .../react/quickstart-file-based/package.json | 6 ++--- .../quickstart-rspack-file-based/package.json | 6 ++--- .../package.json | 6 ++--- examples/react/quickstart/package.json | 4 ++-- .../router-monorepo-react-query/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 ++--- .../router-monorepo-simple-lazy/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 ++--- .../react/router-monorepo-simple/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 6 ++--- .../react/scroll-restoration/package.json | 4 ++-- .../search-validator-adapters/package.json | 12 +++++----- examples/react/start-bare/package.json | 6 ++--- examples/react/start-basic-auth/package.json | 6 ++--- .../start-basic-react-query/package.json | 8 +++---- examples/react/start-basic-rsc/package.json | 6 ++--- .../react/start-basic-static/package.json | 8 +++---- examples/react/start-basic/package.json | 6 ++--- examples/react/start-clerk-basic/package.json | 6 ++--- .../react/start-convex-trellaux/package.json | 8 +++---- examples/react/start-counter/package.json | 6 ++--- examples/react/start-large/package.json | 6 ++--- examples/react/start-material-ui/package.json | 6 ++--- .../react/start-supabase-basic/package.json | 6 ++--- examples/react/start-tailwind-v4/package.json | 6 ++--- examples/react/start-trellaux/package.json | 8 +++---- examples/react/start-workos/package.json | 6 ++--- examples/react/view-transitions/package.json | 6 ++--- .../react/with-framer-motion/package.json | 4 ++-- .../react/with-trpc-react-query/package.json | 6 ++--- examples/react/with-trpc/package.json | 6 ++--- .../solid/basic-devtools-panel/package.json | 4 ++-- examples/solid/basic-file-based/package.json | 6 ++--- .../basic-non-nested-devtools/package.json | 4 ++-- .../basic-solid-query-file-based/package.json | 6 ++--- examples/solid/basic-solid-query/package.json | 6 ++--- .../package.json | 6 ++--- examples/solid/basic/package.json | 4 ++-- .../kitchen-sink-file-based/package.json | 6 ++--- .../solid/quickstart-file-based/package.json | 6 ++--- examples/solid/start-bare/package.json | 6 ++--- .../solid/start-basic-static/package.json | 8 +++---- examples/solid/start-basic/package.json | 6 ++--- packages/arktype-adapter/package.json | 2 +- .../directive-functions-plugin/package.json | 2 +- packages/eslint-plugin-router/package.json | 2 +- packages/history/package.json | 2 +- packages/react-router-devtools/package.json | 2 +- packages/react-router-ssr-query/package.json | 2 +- packages/react-router/package.json | 2 +- packages/react-start-client/package.json | 2 +- packages/react-start-server/package.json | 2 +- packages/react-start/package.json | 2 +- packages/router-cli/package.json | 2 +- packages/router-core/package.json | 2 +- packages/router-devtools-core/package.json | 2 +- packages/router-devtools/package.json | 2 +- packages/router-generator/package.json | 2 +- packages/router-plugin/package.json | 2 +- packages/router-ssr-query-core/package.json | 2 +- packages/router-utils/package.json | 2 +- packages/router-vite-plugin/package.json | 2 +- packages/server-functions-plugin/package.json | 2 +- packages/solid-router-devtools/package.json | 2 +- packages/solid-router/package.json | 2 +- packages/solid-start-client/package.json | 2 +- packages/solid-start-server/package.json | 2 +- packages/solid-start/package.json | 2 +- packages/start-client-core/package.json | 2 +- packages/start-plugin-core/package.json | 2 +- packages/start-server-core/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/start-storage-context/package.json | 2 +- packages/valibot-adapter/package.json | 2 +- packages/virtual-file-routes/package.json | 2 +- packages/zod-adapter/package.json | 2 +- pnpm-lock.yaml | 24 +++++++++---------- 105 files changed, 240 insertions(+), 240 deletions(-) diff --git a/examples/react/authenticated-routes-firebase/package.json b/examples/react/authenticated-routes-firebase/package.json index eb48aaf9eb8..5ae5be860b5 100644 --- a/examples/react/authenticated-routes-firebase/package.json +++ b/examples/react/authenticated-routes-firebase/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "autoprefixer": "^10.4.20", "firebase": "^11.4.0", "postcss": "^8.5.1", diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index 688b43a6707..1b4d616b524 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index 85a40d3ba3e..53b63f7e25a 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-devtools-panel/package.json b/examples/react/basic-devtools-panel/package.json index 9ce3b40266e..c7c40f0e82c 100644 --- a/examples/react/basic-devtools-panel/package.json +++ b/examples/react/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "@tanstack/react-query-devtools": "^5.67.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index 286abfc28da..dd237a89dc0 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-non-nested-devtools/package.json b/examples/react/basic-non-nested-devtools/package.json index f1e92c1f8e4..fef09000b15 100644 --- a/examples/react/basic-non-nested-devtools/package.json +++ b/examples/react/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 48479574dba..781ee4e2c7c 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index 9596ebcab0a..382f204d08a 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 12971888b4a..960792ee860 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "compression": "^1.8.0", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "@types/express": "^4.17.23", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index 019d20c4cb0..f3e4d0fe362 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "compression": "^1.7.5", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "@types/express": "^4.17.21", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-virtual-file-based/package.json b/examples/react/basic-virtual-file-based/package.json index f440b9669ff..f2672eb99fb 100644 --- a/examples/react/basic-virtual-file-based/package.json +++ b/examples/react/basic-virtual-file-based/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", - "@tanstack/virtual-file-routes": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/virtual-file-routes": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index 84e659b5fa8..c9bb6a45f30 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -9,10 +9,10 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", - "@tanstack/virtual-file-routes": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/virtual-file-routes": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index 0a43e5ad20d..65511b52629 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index f4f6628dc2e..f8595ace85f 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index 524d00ef160..d1d01021bf3 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index 20ed6aa339b..d106fd72b7d 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index 744a1677475..2a1564fcb5d 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index bbb37c625f1..4a429ee633c 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index 51eae290b69..8f956e507d6 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 6ec25c1c765..629b7fe598f 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -11,8 +11,8 @@ "dependencies": { "@radix-ui/react-dialog": "^1.1.6", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index abdb7f74e12..25e96324923 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-esbuild-file-based/package.json b/examples/react/quickstart-esbuild-file-based/package.json index 75330fc3a17..e83caf16492 100644 --- a/examples/react/quickstart-esbuild-file-based/package.json +++ b/examples/react/quickstart-esbuild-file-based/package.json @@ -9,9 +9,9 @@ "start": "dev" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index e65fdc62daf..00b734320fd 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-rspack-file-based/package.json b/examples/react/quickstart-rspack-file-based/package.json index 509149bc165..87b43202d88 100644 --- a/examples/react/quickstart-rspack-file-based/package.json +++ b/examples/react/quickstart-rspack-file-based/package.json @@ -8,8 +8,8 @@ "preview": "rsbuild preview" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", @@ -19,7 +19,7 @@ "devDependencies": { "@rsbuild/core": "1.2.4", "@rsbuild/plugin-react": "1.1.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.6.2" diff --git a/examples/react/quickstart-webpack-file-based/package.json b/examples/react/quickstart-webpack-file-based/package.json index 3498b391b1b..72637772888 100644 --- a/examples/react/quickstart-webpack-file-based/package.json +++ b/examples/react/quickstart-webpack-file-based/package.json @@ -7,14 +7,14 @@ "build": "webpack build && tsc --noEmit" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0" }, "devDependencies": { "@swc/core": "^1.10.15", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "html-webpack-plugin": "^5.6.3", diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index 5f65c53133a..333f4520f1d 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index cadd06f8aaf..d1bfe2635ce 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index 1eb025603e8..a89167ff068 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -20,7 +20,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index 5e8ebaf5438..e0db2669fbf 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -8,10 +8,10 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.132.0-alpha.0", + "@tanstack/history": "^1.132.0-alpha.1", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "@router-mono-react-query/post-query": "workspace:*", "redaxios": "^0.5.1", "zod": "^3.24.2", diff --git a/examples/react/router-monorepo-simple-lazy/package.json b/examples/react/router-monorepo-simple-lazy/package.json index 9c13e8a4848..0a46e438fbf 100644 --- a/examples/react/router-monorepo-simple-lazy/package.json +++ b/examples/react/router-monorepo-simple-lazy/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple-lazy/packages/app/package.json b/examples/react/router-monorepo-simple-lazy/packages/app/package.json index 8eb3f1438d1..b51f547c2c4 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/app/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-simple-lazy/packages/router/package.json b/examples/react/router-monorepo-simple-lazy/packages/router/package.json index 3eeaa4ecad9..da929d6c703 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/router/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/router/package.json @@ -8,9 +8,9 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.132.0-alpha.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/history": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 91468d912e7..590b4997dd3 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index 96a21c839b7..2526230d58e 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "vite": "^7.1.1", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index 5bcc87f3c9c..d9b20ee82b3 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -8,9 +8,9 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/history": "^1.132.0-alpha.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/history": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index bb54c093c22..ed3a41af3ca 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", "@tanstack/react-virtual": "^3.13.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index 08f060102f8..8d7dc10b0e1 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -10,13 +10,13 @@ "test:unit": "vitest" }, "dependencies": { - "@tanstack/arktype-adapter": "^1.132.0-alpha.0", + "@tanstack/arktype-adapter": "^1.132.0-alpha.1", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", - "@tanstack/valibot-adapter": "^1.132.0-alpha.0", - "@tanstack/zod-adapter": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/valibot-adapter": "^1.132.0-alpha.1", + "@tanstack/zod-adapter": "^1.132.0-alpha.1", "arktype": "^2.1.7", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-bare/package.json b/examples/react/start-bare/package.json index cfd2a907c19..2e04aa78295 100644 --- a/examples/react/start-bare/package.json +++ b/examples/react/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index e7b8efd42a9..fa15bfcbad9 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -11,9 +11,9 @@ }, "dependencies": { "@prisma/client": "5.22.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "prisma": "^5.22.0", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index 7081e874230..e897f01705d 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-ssr-query": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index e07d8b01012..2fb5fdcaa25 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@babel/plugin-syntax-typescript": "^7.25.9", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index bfbdabb72c1..07f896ea9d8 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", - "@tanstack/start-static-server-functions": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/start-static-server-functions": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index 52d09bde406..c15fb1d1590 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index 8d2e90ae6d0..9f13504298f 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@clerk/tanstack-react-start": "^0.19.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "@vitejs/plugin-react": "^4.3.4", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index 1c69c4b8b27..a8d9694d054 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -14,10 +14,10 @@ "@convex-dev/react-query": "0.0.0-alpha.8", "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-ssr-query": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "concurrently": "^8.2.2", "convex": "^1.19.0", "ky": "^1.7.4", diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index 089415241ce..b0524c46f34 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0" }, diff --git a/examples/react/start-large/package.json b/examples/react/start-large/package.json index 15db25725a1..54ec4981a57 100644 --- a/examples/react/start-large/package.json +++ b/examples/react/start-large/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-material-ui/package.json b/examples/react/start-material-ui/package.json index 110f790ef3a..2e81d1cef1b 100644 --- a/examples/react/start-material-ui/package.json +++ b/examples/react/start-material-ui/package.json @@ -14,9 +14,9 @@ "@emotion/styled": "11.14.0", "@fontsource-variable/roboto": "5.2.5", "@mui/material": "6.4.7", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index 1c18a8ce500..59911209bf1 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -15,9 +15,9 @@ "dependencies": { "@supabase/ssr": "^0.5.2", "@supabase/supabase-js": "^2.48.1", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/start-tailwind-v4/package.json b/examples/react/start-tailwind-v4/package.json index 100bd6dbc41..fe8ceb8f350 100644 --- a/examples/react/start-tailwind-v4/package.json +++ b/examples/react/start-tailwind-v4/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index 476159d7c89..963efa21c31 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-ssr-query": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "ky": "^1.7.4", "msw": "^2.7.0", "react": "^19.0.0", diff --git a/examples/react/start-workos/package.json b/examples/react/start-workos/package.json index a61e3b39f35..af7a1064675 100644 --- a/examples/react/start-workos/package.json +++ b/examples/react/start-workos/package.json @@ -14,9 +14,9 @@ "license": "MIT", "dependencies": { "@radix-ui/themes": "^3.2.1", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/react-start": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-start": "^1.132.0-alpha.1", "@workos-inc/node": "^7.45.0", "iron-session": "^8.0.4", "jose": "^6.0.10", diff --git a/examples/react/view-transitions/package.json b/examples/react/view-transitions/package.json index 6fe80a508ba..f42db900940 100644 --- a/examples/react/view-transitions/package.json +++ b/examples/react/view-transitions/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index 873381bc113..f33bdbb15dc 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", "framer-motion": "^11.18.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index a2f05df0602..20eb491cbf5 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "@trpc/tanstack-react-query": "^11.4.3", diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index 00cdcfadcfe..6ab16de5a7d 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -10,9 +10,9 @@ "start": "NODE_ENV=production node dist/server/server.js" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.0", - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "autoprefixer": "^10.4.20", diff --git a/examples/solid/basic-devtools-panel/package.json b/examples/solid/basic-devtools-panel/package.json index 0defa354385..169a7fa325d 100644 --- a/examples/solid/basic-devtools-panel/package.json +++ b/examples/solid/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", diff --git a/examples/solid/basic-file-based/package.json b/examples/solid/basic-file-based/package.json index 0fbbddc7a05..18391530063 100644 --- a/examples/solid/basic-file-based/package.json +++ b/examples/solid/basic-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-non-nested-devtools/package.json b/examples/solid/basic-non-nested-devtools/package.json index 801cbb6a052..8eb4ec78cf8 100644 --- a/examples/solid/basic-non-nested-devtools/package.json +++ b/examples/solid/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/basic-solid-query-file-based/package.json b/examples/solid/basic-solid-query-file-based/package.json index 5ebb3d18846..4f328e868cd 100644 --- a/examples/solid/basic-solid-query-file-based/package.json +++ b/examples/solid/basic-solid-query-file-based/package.json @@ -12,8 +12,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -22,7 +22,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-solid-query/package.json b/examples/solid/basic-solid-query/package.json index 38417a5319a..57ef8895445 100644 --- a/examples/solid/basic-solid-query/package.json +++ b/examples/solid/basic-solid-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -20,7 +20,7 @@ "tailwindcss": "^3.4.17" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index cdbdb769a08..8a21196b2ee 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "autoprefixer": "^10.4.20", "compression": "^1.7.5", "express": "^4.21.2", @@ -25,7 +25,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "@types/express": "^4.17.21", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json index 5bb32fb299d..a9b5902a98f 100644 --- a/examples/solid/basic/package.json +++ b/examples/solid/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/kitchen-sink-file-based/package.json b/examples/solid/kitchen-sink-file-based/package.json index 846b9a8f866..af2549ad002 100644 --- a/examples/solid/kitchen-sink-file-based/package.json +++ b/examples/solid/kitchen-sink-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "immer": "^10.1.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", @@ -20,7 +20,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/quickstart-file-based/package.json b/examples/solid/quickstart-file-based/package.json index cd40adedf99..238c50d0408 100644 --- a/examples/solid/quickstart-file-based/package.json +++ b/examples/solid/quickstart-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.0", + "@tanstack/router-plugin": "^1.132.0-alpha.1", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/start-bare/package.json b/examples/solid/start-bare/package.json index b4232309607..53be248b76a 100644 --- a/examples/solid/start-bare/package.json +++ b/examples/solid/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", - "@tanstack/solid-start": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-start": "^1.132.0-alpha.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index dd397d62a4d..7231cd96abf 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", - "@tanstack/solid-start": "^1.132.0-alpha.0", - "@tanstack/start-static-server-functions": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-start": "^1.132.0-alpha.1", + "@tanstack/start-static-server-functions": "^1.132.0-alpha.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.5.5" diff --git a/examples/solid/start-basic/package.json b/examples/solid/start-basic/package.json index 41df806b869..3d44ae58c00 100644 --- a/examples/solid/start-basic/package.json +++ b/examples/solid/start-basic/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.0", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.0", - "@tanstack/solid-start": "^1.132.0-alpha.0", + "@tanstack/solid-router": "^1.132.0-alpha.1", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-start": "^1.132.0-alpha.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0" diff --git a/packages/arktype-adapter/package.json b/packages/arktype-adapter/package.json index 10551c33620..2150b5c8d50 100644 --- a/packages/arktype-adapter/package.json +++ b/packages/arktype-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/arktype-adapter", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/directive-functions-plugin/package.json b/packages/directive-functions-plugin/package.json index 891f3c2ddea..3e86f4ad88e 100644 --- a/packages/directive-functions-plugin/package.json +++ b/packages/directive-functions-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/directive-functions-plugin", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/eslint-plugin-router/package.json b/packages/eslint-plugin-router/package.json index c5747d74bb0..c28a6273304 100644 --- a/packages/eslint-plugin-router/package.json +++ b/packages/eslint-plugin-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/eslint-plugin-router", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "ESLint plugin for TanStack Router", "author": "Manuel Schiller", "license": "MIT", diff --git a/packages/history/package.json b/packages/history/package.json index c0be9e09520..f6a63175a93 100644 --- a/packages/history/package.json +++ b/packages/history/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/history", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-devtools/package.json b/packages/react-router-devtools/package.json index eb55f1fd19a..653bb92caaa 100644 --- a/packages/react-router-devtools/package.json +++ b/packages/react-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-devtools", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-ssr-query/package.json b/packages/react-router-ssr-query/package.json index 4d860d510db..1d34c73c34f 100644 --- a/packages/react-router-ssr-query/package.json +++ b/packages/react-router-ssr-query/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-ssr-query", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 07ef6495141..c1b272dc7c1 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-client/package.json b/packages/react-start-client/package.json index 4a4d7854986..08178bb2852 100644 --- a/packages/react-start-client/package.json +++ b/packages/react-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-client", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-server/package.json b/packages/react-start-server/package.json index f07de1189ef..b4639ec0843 100644 --- a/packages/react-start-server/package.json +++ b/packages/react-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-server", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start/package.json b/packages/react-start/package.json index 5f3d5018fa5..41b77d4ebce 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-cli/package.json b/packages/router-cli/package.json index bfcaeecd506..baef5562414 100644 --- a/packages/router-cli/package.json +++ b/packages/router-cli/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-cli", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-core/package.json b/packages/router-core/package.json index 8ce22884e15..8e01a0315df 100644 --- a/packages/router-core/package.json +++ b/packages/router-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-core", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools-core/package.json b/packages/router-devtools-core/package.json index e621913aada..e40608a9eb4 100644 --- a/packages/router-devtools-core/package.json +++ b/packages/router-devtools-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools-core", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for Web applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools/package.json b/packages/router-devtools/package.json index cd9cd5052eb..073ba344214 100644 --- a/packages/router-devtools/package.json +++ b/packages/router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-generator/package.json b/packages/router-generator/package.json index 551041a0ee5..36eb3af84ec 100644 --- a/packages/router-generator/package.json +++ b/packages/router-generator/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-generator", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-plugin/package.json b/packages/router-plugin/package.json index f1cb38e3d24..09c34da3d28 100644 --- a/packages/router-plugin/package.json +++ b/packages/router-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-plugin", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-ssr-query-core/package.json b/packages/router-ssr-query-core/package.json index 89eef986c88..16055005c80 100644 --- a/packages/router-ssr-query-core/package.json +++ b/packages/router-ssr-query-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-ssr-query-core", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-utils/package.json b/packages/router-utils/package.json index 725325d1eae..3640521b2ba 100644 --- a/packages/router-utils/package.json +++ b/packages/router-utils/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-utils", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-vite-plugin/package.json b/packages/router-vite-plugin/package.json index 6274ee42859..b6d60f5ef08 100644 --- a/packages/router-vite-plugin/package.json +++ b/packages/router-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-vite-plugin", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/server-functions-plugin/package.json b/packages/server-functions-plugin/package.json index 1208f58552d..31a36bf604c 100644 --- a/packages/server-functions-plugin/package.json +++ b/packages/server-functions-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/server-functions-plugin", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router-devtools/package.json b/packages/solid-router-devtools/package.json index d0b76fb1712..7d91c074759 100644 --- a/packages/solid-router-devtools/package.json +++ b/packages/solid-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router-devtools", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router/package.json b/packages/solid-router/package.json index 014349dc706..3c9710935d6 100644 --- a/packages/solid-router/package.json +++ b/packages/solid-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-client/package.json b/packages/solid-start-client/package.json index 5970da60fb4..ceb3ed2ac0c 100644 --- a/packages/solid-start-client/package.json +++ b/packages/solid-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-client", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-server/package.json b/packages/solid-start-server/package.json index a23724e34a5..5b2a2ae4006 100644 --- a/packages/solid-start-server/package.json +++ b/packages/solid-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-server", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index 3f4f49fed2b..a479a99befb 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-client-core/package.json b/packages/start-client-core/package.json index 5425b9f22e7..7f13d904bff 100644 --- a/packages/start-client-core/package.json +++ b/packages/start-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-client-core", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 28b57ee1a78..9356d402fe7 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-plugin-core", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index b5932240a89..e8496b29b44 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-core", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-client/package.json b/packages/start-server-functions-client/package.json index 9c86b4f93a1..1705f43fc09 100644 --- a/packages/start-server-functions-client/package.json +++ b/packages/start-server-functions-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-client", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-fetcher/package.json b/packages/start-server-functions-fetcher/package.json index a28a383657e..b73223ab0e5 100644 --- a/packages/start-server-functions-fetcher/package.json +++ b/packages/start-server-functions-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-fetcher", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-server/package.json b/packages/start-server-functions-server/package.json index 15f1bf79031..d78d4ba05ff 100644 --- a/packages/start-server-functions-server/package.json +++ b/packages/start-server-functions-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-server", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-static-server-functions/package.json b/packages/start-static-server-functions/package.json index 214cb3916dd..a18387e7c8e 100644 --- a/packages/start-static-server-functions/package.json +++ b/packages/start-static-server-functions/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-static-server-functions", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-storage-context/package.json b/packages/start-storage-context/package.json index ad7745fc434..e7397dcd581 100644 --- a/packages/start-storage-context/package.json +++ b/packages/start-storage-context/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-storage-context", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/valibot-adapter/package.json b/packages/valibot-adapter/package.json index a05c5201a42..a8c79b848c4 100644 --- a/packages/valibot-adapter/package.json +++ b/packages/valibot-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/valibot-adapter", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/virtual-file-routes/package.json b/packages/virtual-file-routes/package.json index 8d2437896a1..f9c11c53ad4 100644 --- a/packages/virtual-file-routes/package.json +++ b/packages/virtual-file-routes/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/virtual-file-routes", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/zod-adapter/package.json b/packages/zod-adapter/package.json index e90a13cf6ad..1b99a32c57f 100644 --- a/packages/zod-adapter/package.json +++ b/packages/zod-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/zod-adapter", - "version": "1.132.0-alpha.0", + "version": "1.132.0-alpha.1", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e15ee40823..770d89988e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5889,7 +5889,7 @@ importers: examples/solid/basic: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5929,7 +5929,7 @@ importers: examples/solid/basic-devtools-panel: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5963,7 +5963,7 @@ importers: examples/solid/basic-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6003,7 +6003,7 @@ importers: examples/solid/basic-non-nested-devtools: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6049,7 +6049,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6092,7 +6092,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6132,7 +6132,7 @@ importers: examples/solid/basic-ssr-streaming-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6187,7 +6187,7 @@ importers: examples/solid/kitchen-sink-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6230,7 +6230,7 @@ importers: examples/solid/quickstart-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6270,7 +6270,7 @@ importers: examples/solid/start-bare: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6313,7 +6313,7 @@ importers: examples/solid/start-basic: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6359,7 +6359,7 @@ importers: examples/solid/start-basic-static: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.0 + specifier: ^1.132.0-alpha.1 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ From 39fc80d5635582c0056b734649a5d35bfe35afe9 Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Sat, 16 Aug 2025 17:22:18 +0000 Subject: [PATCH 072/271] release: v1.132.0-alpha.2 --- .../package.json | 6 ++--- .../react/authenticated-routes/package.json | 6 ++--- .../basic-default-search-params/package.json | 4 ++-- .../react/basic-devtools-panel/package.json | 4 ++-- examples/react/basic-file-based/package.json | 6 ++--- .../basic-non-nested-devtools/package.json | 4 ++-- .../basic-react-query-file-based/package.json | 6 ++--- examples/react/basic-react-query/package.json | 4 ++-- .../react/basic-ssr-file-based/package.json | 6 ++--- .../package.json | 6 ++--- .../basic-virtual-file-based/package.json | 6 ++--- .../package.json | 6 ++--- examples/react/basic/package.json | 4 ++-- examples/react/deferred-data/package.json | 4 ++-- .../kitchen-sink-file-based/package.json | 6 ++--- .../package.json | 6 ++--- .../kitchen-sink-react-query/package.json | 4 ++-- examples/react/kitchen-sink/package.json | 4 ++-- examples/react/large-file-based/package.json | 6 ++--- examples/react/location-masking/package.json | 4 ++-- .../react/navigation-blocking/package.json | 4 ++-- .../package.json | 6 ++--- .../react/quickstart-file-based/package.json | 6 ++--- .../quickstart-rspack-file-based/package.json | 6 ++--- .../package.json | 6 ++--- examples/react/quickstart/package.json | 4 ++-- .../router-monorepo-react-query/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 4 ++-- .../router-monorepo-simple-lazy/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 4 ++-- .../react/router-monorepo-simple/package.json | 6 ++--- .../packages/app/package.json | 2 +- .../packages/router/package.json | 4 ++-- .../react/scroll-restoration/package.json | 4 ++-- .../search-validator-adapters/package.json | 12 +++++----- examples/react/start-bare/package.json | 6 ++--- examples/react/start-basic-auth/package.json | 6 ++--- .../start-basic-react-query/package.json | 8 +++---- examples/react/start-basic-rsc/package.json | 6 ++--- .../react/start-basic-static/package.json | 8 +++---- examples/react/start-basic/package.json | 6 ++--- examples/react/start-clerk-basic/package.json | 6 ++--- .../react/start-convex-trellaux/package.json | 8 +++---- examples/react/start-counter/package.json | 6 ++--- examples/react/start-large/package.json | 6 ++--- examples/react/start-material-ui/package.json | 6 ++--- .../react/start-supabase-basic/package.json | 6 ++--- examples/react/start-tailwind-v4/package.json | 6 ++--- examples/react/start-trellaux/package.json | 8 +++---- examples/react/start-workos/package.json | 6 ++--- examples/react/view-transitions/package.json | 6 ++--- .../react/with-framer-motion/package.json | 4 ++-- .../react/with-trpc-react-query/package.json | 6 ++--- examples/react/with-trpc/package.json | 6 ++--- .../solid/basic-devtools-panel/package.json | 4 ++-- examples/solid/basic-file-based/package.json | 6 ++--- .../basic-non-nested-devtools/package.json | 4 ++-- .../basic-solid-query-file-based/package.json | 6 ++--- examples/solid/basic-solid-query/package.json | 6 ++--- .../package.json | 6 ++--- examples/solid/basic/package.json | 4 ++-- .../kitchen-sink-file-based/package.json | 6 ++--- .../solid/quickstart-file-based/package.json | 6 ++--- examples/solid/start-bare/package.json | 6 ++--- .../solid/start-basic-static/package.json | 8 +++---- examples/solid/start-basic/package.json | 6 ++--- packages/arktype-adapter/package.json | 2 +- packages/react-router-devtools/package.json | 2 +- packages/react-router-ssr-query/package.json | 2 +- packages/react-router/package.json | 2 +- packages/react-start-client/package.json | 2 +- packages/react-start-server/package.json | 2 +- packages/react-start/package.json | 2 +- packages/router-cli/package.json | 2 +- packages/router-core/package.json | 2 +- packages/router-devtools-core/package.json | 2 +- packages/router-devtools/package.json | 2 +- packages/router-generator/package.json | 2 +- packages/router-plugin/package.json | 2 +- packages/router-ssr-query-core/package.json | 2 +- packages/router-vite-plugin/package.json | 2 +- packages/solid-router-devtools/package.json | 2 +- packages/solid-router/package.json | 2 +- packages/solid-start-client/package.json | 2 +- packages/solid-start-server/package.json | 2 +- packages/solid-start/package.json | 2 +- packages/start-client-core/package.json | 2 +- packages/start-plugin-core/package.json | 2 +- packages/start-server-core/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- packages/start-storage-context/package.json | 2 +- packages/valibot-adapter/package.json | 2 +- packages/zod-adapter/package.json | 2 +- pnpm-lock.yaml | 24 +++++++++---------- 98 files changed, 228 insertions(+), 228 deletions(-) diff --git a/examples/react/authenticated-routes-firebase/package.json b/examples/react/authenticated-routes-firebase/package.json index 5ae5be860b5..b3d062146ab 100644 --- a/examples/react/authenticated-routes-firebase/package.json +++ b/examples/react/authenticated-routes-firebase/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "autoprefixer": "^10.4.20", "firebase": "^11.4.0", "postcss": "^8.5.1", diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index 1b4d616b524..67620744e74 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index 53b63f7e25a..42bcd332ee3 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-devtools-panel/package.json b/examples/react/basic-devtools-panel/package.json index c7c40f0e82c..f014aac2bd7 100644 --- a/examples/react/basic-devtools-panel/package.json +++ b/examples/react/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "@tanstack/react-query-devtools": "^5.67.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index dd237a89dc0..1e3323bb1a0 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-non-nested-devtools/package.json b/examples/react/basic-non-nested-devtools/package.json index fef09000b15..e4cb255c5ae 100644 --- a/examples/react/basic-non-nested-devtools/package.json +++ b/examples/react/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 781ee4e2c7c..f935630a7a9 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index 382f204d08a..1a239b75307 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 960792ee860..6589953b736 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "compression": "^1.8.0", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "@types/express": "^4.17.23", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index f3e4d0fe362..fcaab678c57 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "compression": "^1.7.5", "express": "^4.21.2", "get-port": "^7.1.0", @@ -21,7 +21,7 @@ "react-dom": "^19.0.0" }, "devDependencies": { - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "@types/express": "^4.17.21", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.1", diff --git a/examples/react/basic-virtual-file-based/package.json b/examples/react/basic-virtual-file-based/package.json index f2672eb99fb..f523c5b8a88 100644 --- a/examples/react/basic-virtual-file-based/package.json +++ b/examples/react/basic-virtual-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@tanstack/virtual-file-routes": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index c9bb6a45f30..992a9ebad10 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@tanstack/virtual-file-routes": "^1.132.0-alpha.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index 65511b52629..80e19c88bc4 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index f8595ace85f..6bc11bf8dd0 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index d1d01021bf3..f32d71978bb 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index d106fd72b7d..43174faa7c1 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -11,9 +11,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index 2a1564fcb5d..28155c574ab 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index 4a429ee633c..46ce4e09b2b 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "immer": "^10.1.1", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index 8f956e507d6..e93c9c206db 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 629b7fe598f..d0c82ba1a5a 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -11,8 +11,8 @@ "dependencies": { "@radix-ui/react-dialog": "^1.1.6", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index 25e96324923..9b6cb0e646d 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-esbuild-file-based/package.json b/examples/react/quickstart-esbuild-file-based/package.json index e83caf16492..5b025b7d30f 100644 --- a/examples/react/quickstart-esbuild-file-based/package.json +++ b/examples/react/quickstart-esbuild-file-based/package.json @@ -9,9 +9,9 @@ "start": "dev" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index 00b734320fd..e24866ac642 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/quickstart-rspack-file-based/package.json b/examples/react/quickstart-rspack-file-based/package.json index 87b43202d88..11d18e7d1bf 100644 --- a/examples/react/quickstart-rspack-file-based/package.json +++ b/examples/react/quickstart-rspack-file-based/package.json @@ -8,8 +8,8 @@ "preview": "rsbuild preview" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", @@ -19,7 +19,7 @@ "devDependencies": { "@rsbuild/core": "1.2.4", "@rsbuild/plugin-react": "1.1.0", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "typescript": "^5.6.2" diff --git a/examples/react/quickstart-webpack-file-based/package.json b/examples/react/quickstart-webpack-file-based/package.json index 72637772888..adb447c0f99 100644 --- a/examples/react/quickstart-webpack-file-based/package.json +++ b/examples/react/quickstart-webpack-file-based/package.json @@ -7,14 +7,14 @@ "build": "webpack build && tsc --noEmit" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0" }, "devDependencies": { "@swc/core": "^1.10.15", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", "html-webpack-plugin": "^5.6.3", diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index 333f4520f1d..a431b201ede 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index d1bfe2635ce..6e8d0357026 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index a89167ff068..4da4080e545 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -20,7 +20,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index e0db2669fbf..eb117c70a6f 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -10,8 +10,8 @@ "dependencies": { "@tanstack/history": "^1.132.0-alpha.1", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@router-mono-react-query/post-query": "workspace:*", "redaxios": "^0.5.1", "zod": "^3.24.2", diff --git a/examples/react/router-monorepo-simple-lazy/package.json b/examples/react/router-monorepo-simple-lazy/package.json index 0a46e438fbf..97bfe3d9d4c 100644 --- a/examples/react/router-monorepo-simple-lazy/package.json +++ b/examples/react/router-monorepo-simple-lazy/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple-lazy/packages/app/package.json b/examples/react/router-monorepo-simple-lazy/packages/app/package.json index b51f547c2c4..7e61f58262f 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/app/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.17", diff --git a/examples/react/router-monorepo-simple-lazy/packages/router/package.json b/examples/react/router-monorepo-simple-lazy/packages/router/package.json index da929d6c703..a7dcb83b3fa 100644 --- a/examples/react/router-monorepo-simple-lazy/packages/router/package.json +++ b/examples/react/router-monorepo-simple-lazy/packages/router/package.json @@ -9,8 +9,8 @@ "types": "./dist/index.d.ts", "dependencies": { "@tanstack/history": "^1.132.0-alpha.1", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 590b4997dd3..8aaba397669 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -8,9 +8,9 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index 2526230d58e..e350c08f3e1 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "vite": "^7.1.1", "postcss": "^8.5.1", "autoprefixer": "^10.4.20", diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index d9b20ee82b3..b360bf06352 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -9,8 +9,8 @@ "types": "./dist/index.d.ts", "dependencies": { "@tanstack/history": "^1.132.0-alpha.1", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "redaxios": "^0.5.1", "zod": "^3.24.2", "react": "^19.0.0", diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index ed3a41af3ca..7518253fc7e 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", "@tanstack/react-virtual": "^3.13.0", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "postcss": "^8.5.1", diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index 8d7dc10b0e1..02002b0b501 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -10,13 +10,13 @@ "test:unit": "vitest" }, "dependencies": { - "@tanstack/arktype-adapter": "^1.132.0-alpha.1", + "@tanstack/arktype-adapter": "^1.132.0-alpha.2", "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", - "@tanstack/valibot-adapter": "^1.132.0-alpha.1", - "@tanstack/zod-adapter": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", + "@tanstack/valibot-adapter": "^1.132.0-alpha.2", + "@tanstack/zod-adapter": "^1.132.0-alpha.2", "arktype": "^2.1.7", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-bare/package.json b/examples/react/start-bare/package.json index 2e04aa78295..35c926bc449 100644 --- a/examples/react/start-bare/package.json +++ b/examples/react/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index fa15bfcbad9..32fc56dfb50 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -11,9 +11,9 @@ }, "dependencies": { "@prisma/client": "5.22.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "prisma": "^5.22.0", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index e897f01705d..3e3e8d6ecb5 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-ssr-query": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index 2fb5fdcaa25..04766c1d7e9 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@babel/plugin-syntax-typescript": "^7.25.9", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-static/package.json b/examples/react/start-basic-static/package.json index 07f896ea9d8..ca289eff039 100644 --- a/examples/react/start-basic-static/package.json +++ b/examples/react/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", - "@tanstack/start-static-server-functions": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", + "@tanstack/start-static-server-functions": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index c15fb1d1590..9e49a441fa0 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index 9f13504298f..7b5c8e6728b 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@clerk/tanstack-react-start": "^0.19.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "@vitejs/plugin-react": "^4.3.4", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index a8d9694d054..c7a74285f71 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -14,10 +14,10 @@ "@convex-dev/react-query": "0.0.0-alpha.8", "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-ssr-query": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "concurrently": "^8.2.2", "convex": "^1.19.0", "ky": "^1.7.4", diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index b0524c46f34..c42abefa0d6 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0" }, diff --git a/examples/react/start-large/package.json b/examples/react/start-large/package.json index 54ec4981a57..158c738cafb 100644 --- a/examples/react/start-large/package.json +++ b/examples/react/start-large/package.json @@ -12,9 +12,9 @@ }, "dependencies": { "@tanstack/react-query": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/start-material-ui/package.json b/examples/react/start-material-ui/package.json index 2e81d1cef1b..85a4ffb0787 100644 --- a/examples/react/start-material-ui/package.json +++ b/examples/react/start-material-ui/package.json @@ -14,9 +14,9 @@ "@emotion/styled": "11.14.0", "@fontsource-variable/roboto": "5.2.5", "@mui/material": "6.4.7", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.24.2" diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index 59911209bf1..cb296ea20dc 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -15,9 +15,9 @@ "dependencies": { "@supabase/ssr": "^0.5.2", "@supabase/supabase-js": "^2.48.1", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1" diff --git a/examples/react/start-tailwind-v4/package.json b/examples/react/start-tailwind-v4/package.json index fe8ceb8f350..cef1f0aff14 100644 --- a/examples/react/start-tailwind-v4/package.json +++ b/examples/react/start-tailwind-v4/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0", diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index 963efa21c31..5ab687cd610 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-ssr-query": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-ssr-query": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "ky": "^1.7.4", "msw": "^2.7.0", "react": "^19.0.0", diff --git a/examples/react/start-workos/package.json b/examples/react/start-workos/package.json index af7a1064675..7a4e36d5f1a 100644 --- a/examples/react/start-workos/package.json +++ b/examples/react/start-workos/package.json @@ -14,9 +14,9 @@ "license": "MIT", "dependencies": { "@radix-ui/themes": "^3.2.1", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/react-start": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/react-start": "^1.132.0-alpha.2", "@workos-inc/node": "^7.45.0", "iron-session": "^8.0.4", "jose": "^6.0.10", diff --git a/examples/react/view-transitions/package.json b/examples/react/view-transitions/package.json index f42db900940..f347ae2d3ce 100644 --- a/examples/react/view-transitions/package.json +++ b/examples/react/view-transitions/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "react": "^19.0.0", "react-dom": "^19.0.0", "redaxios": "^0.5.1", diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index f33bdbb15dc..c107cf01111 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", "framer-motion": "^11.18.2", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index 20eb491cbf5..cf6d296523e 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -12,9 +12,9 @@ "dependencies": { "@tanstack/react-query": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0", - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "@trpc/tanstack-react-query": "^11.4.3", diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index 6ab16de5a7d..1fa02f22f40 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -10,9 +10,9 @@ "start": "NODE_ENV=production node dist/server/server.js" }, "dependencies": { - "@tanstack/react-router": "^1.132.0-alpha.1", - "@tanstack/react-router-devtools": "^1.132.0-alpha.1", - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/react-router": "^1.132.0-alpha.2", + "@tanstack/react-router-devtools": "^1.132.0-alpha.2", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@trpc/client": "^11.4.3", "@trpc/server": "^11.4.3", "autoprefixer": "^10.4.20", diff --git a/examples/solid/basic-devtools-panel/package.json b/examples/solid/basic-devtools-panel/package.json index 169a7fa325d..ba978e61e8a 100644 --- a/examples/solid/basic-devtools-panel/package.json +++ b/examples/solid/basic-devtools-panel/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", diff --git a/examples/solid/basic-file-based/package.json b/examples/solid/basic-file-based/package.json index 18391530063..cb532f46004 100644 --- a/examples/solid/basic-file-based/package.json +++ b/examples/solid/basic-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-non-nested-devtools/package.json b/examples/solid/basic-non-nested-devtools/package.json index 8eb4ec78cf8..213b7cd37eb 100644 --- a/examples/solid/basic-non-nested-devtools/package.json +++ b/examples/solid/basic-non-nested-devtools/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/basic-solid-query-file-based/package.json b/examples/solid/basic-solid-query-file-based/package.json index 4f328e868cd..b8b379c618d 100644 --- a/examples/solid/basic-solid-query-file-based/package.json +++ b/examples/solid/basic-solid-query-file-based/package.json @@ -12,8 +12,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -22,7 +22,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-solid-query/package.json b/examples/solid/basic-solid-query/package.json index 57ef8895445..fe571e3f80c 100644 --- a/examples/solid/basic-solid-query/package.json +++ b/examples/solid/basic-solid-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/solid-query": "^5.71.9", "@tanstack/solid-query-devtools": "^5.71.9", - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "postcss": "^8.5.1", @@ -20,7 +20,7 @@ "tailwindcss": "^3.4.17" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/basic-ssr-streaming-file-based/package.json b/examples/solid/basic-ssr-streaming-file-based/package.json index 8a21196b2ee..988a770d308 100644 --- a/examples/solid/basic-ssr-streaming-file-based/package.json +++ b/examples/solid/basic-ssr-streaming-file-based/package.json @@ -11,8 +11,8 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "autoprefixer": "^10.4.20", "compression": "^1.7.5", "express": "^4.21.2", @@ -25,7 +25,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "@types/express": "^4.17.21", "typescript": "^5.7.2", "vite": "^7.1.1", diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json index a9b5902a98f..49d66fa055e 100644 --- a/examples/solid/basic/package.json +++ b/examples/solid/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "redaxios": "^0.5.1", "postcss": "^8.5.1", "solid-js": "^1.9.5", diff --git a/examples/solid/kitchen-sink-file-based/package.json b/examples/solid/kitchen-sink-file-based/package.json index af2549ad002..591196ef9ba 100644 --- a/examples/solid/kitchen-sink-file-based/package.json +++ b/examples/solid/kitchen-sink-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "immer": "^10.1.1", "solid-js": "^1.9.5", "redaxios": "^0.5.1", @@ -20,7 +20,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/quickstart-file-based/package.json b/examples/solid/quickstart-file-based/package.json index 238c50d0408..4803e9adda0 100644 --- a/examples/solid/quickstart-file-based/package.json +++ b/examples/solid/quickstart-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", "autoprefixer": "^10.4.20", "postcss": "^8.5.1", "redaxios": "^0.5.1", @@ -19,7 +19,7 @@ "zod": "^3.24.2" }, "devDependencies": { - "@tanstack/router-plugin": "^1.132.0-alpha.1", + "@tanstack/router-plugin": "^1.132.0-alpha.2", "typescript": "^5.7.2", "vite": "^7.1.1", "vite-plugin-solid": "^2.11.8" diff --git a/examples/solid/start-bare/package.json b/examples/solid/start-bare/package.json index 53be248b76a..de3da4fdd2b 100644 --- a/examples/solid/start-bare/package.json +++ b/examples/solid/start-bare/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", - "@tanstack/solid-start": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", + "@tanstack/solid-start": "^1.132.0-alpha.2", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0", diff --git a/examples/solid/start-basic-static/package.json b/examples/solid/start-basic-static/package.json index 7231cd96abf..5cbbb1cd268 100644 --- a/examples/solid/start-basic-static/package.json +++ b/examples/solid/start-basic-static/package.json @@ -9,10 +9,10 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", - "@tanstack/solid-start": "^1.132.0-alpha.1", - "@tanstack/start-static-server-functions": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", + "@tanstack/solid-start": "^1.132.0-alpha.2", + "@tanstack/start-static-server-functions": "^1.132.0-alpha.2", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.5.5" diff --git a/examples/solid/start-basic/package.json b/examples/solid/start-basic/package.json index 3d44ae58c00..0c7c7e623d4 100644 --- a/examples/solid/start-basic/package.json +++ b/examples/solid/start-basic/package.json @@ -9,9 +9,9 @@ "start": "vite start" }, "dependencies": { - "@tanstack/solid-router": "^1.132.0-alpha.1", - "@tanstack/solid-router-devtools": "^1.132.0-alpha.1", - "@tanstack/solid-start": "^1.132.0-alpha.1", + "@tanstack/solid-router": "^1.132.0-alpha.2", + "@tanstack/solid-router-devtools": "^1.132.0-alpha.2", + "@tanstack/solid-start": "^1.132.0-alpha.2", "solid-js": "^1.9.5", "redaxios": "^0.5.1", "tailwind-merge": "^2.6.0" diff --git a/packages/arktype-adapter/package.json b/packages/arktype-adapter/package.json index 2150b5c8d50..89871d5cf58 100644 --- a/packages/arktype-adapter/package.json +++ b/packages/arktype-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/arktype-adapter", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-devtools/package.json b/packages/react-router-devtools/package.json index 653bb92caaa..69fedc82940 100644 --- a/packages/react-router-devtools/package.json +++ b/packages/react-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-devtools", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-ssr-query/package.json b/packages/react-router-ssr-query/package.json index 1d34c73c34f..cd38f29bf9a 100644 --- a/packages/react-router-ssr-query/package.json +++ b/packages/react-router-ssr-query/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-ssr-query", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index c1b272dc7c1..b9374628757 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-client/package.json b/packages/react-start-client/package.json index 08178bb2852..c92449f65fd 100644 --- a/packages/react-start-client/package.json +++ b/packages/react-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-client", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start-server/package.json b/packages/react-start-server/package.json index b4639ec0843..8a15da75c31 100644 --- a/packages/react-start-server/package.json +++ b/packages/react-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start-server", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-start/package.json b/packages/react-start/package.json index 41b77d4ebce..34b9d93d813 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-start", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-cli/package.json b/packages/router-cli/package.json index baef5562414..f81a4c1272a 100644 --- a/packages/router-cli/package.json +++ b/packages/router-cli/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-cli", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-core/package.json b/packages/router-core/package.json index 8e01a0315df..d834cadab60 100644 --- a/packages/router-core/package.json +++ b/packages/router-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-core", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools-core/package.json b/packages/router-devtools-core/package.json index e40608a9eb4..95397904b9d 100644 --- a/packages/router-devtools-core/package.json +++ b/packages/router-devtools-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools-core", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for Web applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools/package.json b/packages/router-devtools/package.json index 073ba344214..943c738e838 100644 --- a/packages/router-devtools/package.json +++ b/packages/router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-generator/package.json b/packages/router-generator/package.json index 36eb3af84ec..2e70fd4333d 100644 --- a/packages/router-generator/package.json +++ b/packages/router-generator/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-generator", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-plugin/package.json b/packages/router-plugin/package.json index 09c34da3d28..efe575f5811 100644 --- a/packages/router-plugin/package.json +++ b/packages/router-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-plugin", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-ssr-query-core/package.json b/packages/router-ssr-query-core/package.json index 16055005c80..02469aeebd3 100644 --- a/packages/router-ssr-query-core/package.json +++ b/packages/router-ssr-query-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-ssr-query-core", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-vite-plugin/package.json b/packages/router-vite-plugin/package.json index b6d60f5ef08..b6ba35fdc1c 100644 --- a/packages/router-vite-plugin/package.json +++ b/packages/router-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-vite-plugin", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router-devtools/package.json b/packages/solid-router-devtools/package.json index 7d91c074759..7280c4d1354 100644 --- a/packages/solid-router-devtools/package.json +++ b/packages/solid-router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router-devtools", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-router/package.json b/packages/solid-router/package.json index 3c9710935d6..ebd11027b52 100644 --- a/packages/solid-router/package.json +++ b/packages/solid-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-router", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-client/package.json b/packages/solid-start-client/package.json index ceb3ed2ac0c..25cd11eef6e 100644 --- a/packages/solid-start-client/package.json +++ b/packages/solid-start-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-client", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start-server/package.json b/packages/solid-start-server/package.json index 5b2a2ae4006..1d207d3e29c 100644 --- a/packages/solid-start-server/package.json +++ b/packages/solid-start-server/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start-server", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index a479a99befb..211467bd673 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-start", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for Solid applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-client-core/package.json b/packages/start-client-core/package.json index 7f13d904bff..2e20e6f07a9 100644 --- a/packages/start-client-core/package.json +++ b/packages/start-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-client-core", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-plugin-core/package.json b/packages/start-plugin-core/package.json index 9356d402fe7..b94c433579e 100644 --- a/packages/start-plugin-core/package.json +++ b/packages/start-plugin-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-plugin-core", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-core/package.json b/packages/start-server-core/package.json index e8496b29b44..f1354447caa 100644 --- a/packages/start-server-core/package.json +++ b/packages/start-server-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-core", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-client/package.json b/packages/start-server-functions-client/package.json index 1705f43fc09..803999ff8c8 100644 --- a/packages/start-server-functions-client/package.json +++ b/packages/start-server-functions-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-client", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-server-functions-fetcher/package.json b/packages/start-server-functions-fetcher/package.json index b73223ab0e5..7c1636a9c28 100644 --- a/packages/start-server-functions-fetcher/package.json +++ b/packages/start-server-functions-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-server-functions-fetcher", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-static-server-functions/package.json b/packages/start-static-server-functions/package.json index a18387e7c8e..6b60b105ee5 100644 --- a/packages/start-static-server-functions/package.json +++ b/packages/start-static-server-functions/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-static-server-functions", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start-storage-context/package.json b/packages/start-storage-context/package.json index e7397dcd581..122f050085c 100644 --- a/packages/start-storage-context/package.json +++ b/packages/start-storage-context/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start-storage-context", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/valibot-adapter/package.json b/packages/valibot-adapter/package.json index a8c79b848c4..821a138430a 100644 --- a/packages/valibot-adapter/package.json +++ b/packages/valibot-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/valibot-adapter", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/zod-adapter/package.json b/packages/zod-adapter/package.json index 1b99a32c57f..f4d68d36e99 100644 --- a/packages/zod-adapter/package.json +++ b/packages/zod-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/zod-adapter", - "version": "1.132.0-alpha.1", + "version": "1.132.0-alpha.2", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 770d89988e7..0f39be52762 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5889,7 +5889,7 @@ importers: examples/solid/basic: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5929,7 +5929,7 @@ importers: examples/solid/basic-devtools-panel: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -5963,7 +5963,7 @@ importers: examples/solid/basic-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6003,7 +6003,7 @@ importers: examples/solid/basic-non-nested-devtools: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6049,7 +6049,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6092,7 +6092,7 @@ importers: specifier: ^5.71.9 version: 5.72.2(@tanstack/solid-query@5.72.2(solid-js@1.9.5))(solid-js@1.9.5) '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6132,7 +6132,7 @@ importers: examples/solid/basic-ssr-streaming-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6187,7 +6187,7 @@ importers: examples/solid/kitchen-sink-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6230,7 +6230,7 @@ importers: examples/solid/quickstart-file-based: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6270,7 +6270,7 @@ importers: examples/solid/start-bare: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6313,7 +6313,7 @@ importers: examples/solid/start-basic: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ @@ -6359,7 +6359,7 @@ importers: examples/solid/start-basic-static: dependencies: '@tanstack/solid-router': - specifier: ^1.132.0-alpha.1 + specifier: ^1.132.0-alpha.2 version: link:../../../packages/solid-router '@tanstack/solid-router-devtools': specifier: workspace:^ From b8af5756c31071ea2df5247702b699be5c5fed3c Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 03:30:24 +0200 Subject: [PATCH 073/271] enhance relative navigation from determination --- packages/react-router/src/link.tsx | 82 +++++++++++++---------- packages/react-router/src/useNavigate.tsx | 13 ++-- packages/router-core/src/router.ts | 20 ++++-- 3 files changed, 72 insertions(+), 43 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index c72d0e85678..69e55d114fe 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -99,19 +99,29 @@ export function useLinkProps< structuralSharing: true as any, }) - const from = useMatch({ + const matchIndex = useMatch({ strict: false, - select: (match) => options.from ?? match.fullPath, + select: (match) => match.index, }) + const getFrom = React.useCallback( () => { + const currentRouteMatches= router.matchRoutes(router.latestLocation, { + _buildLocation: false, + }) + + return options.from ?? + currentRouteMatches.slice(-1)[0]?.fullPath ?? + router.state.matches[matchIndex]!.fullPath + }, [router, options.from, matchIndex]) + const next = React.useMemo( - () => router.buildLocation({ ...options, from } as any), + () => router.buildLocation({ ...options, from: getFrom() } as any), // eslint-disable-next-line react-hooks/exhaustive-deps [ router, currentSearch, options._fromLocation, - from, + options.from, options.hash, options.to, options.search, @@ -182,7 +192,7 @@ export function useLinkProps< const doPreload = React.useCallback( () => { - router.preloadRoute({ ...options, from } as any).catch((err) => { + router.preloadRoute({ ...options, from: getFrom() } as any).catch((err) => { console.warn(err) console.warn(preloadWarning) }) @@ -192,7 +202,7 @@ export function useLinkProps< router, options.to, options._fromLocation, - from, + options.from, options.search, options.hash, options.params, @@ -235,24 +245,18 @@ export function useLinkProps< } }, [disabled, doPreload, preload]) - if (isExternal) { - return { - ...propsSafeToSpread, - ref: innerRef as React.ComponentPropsWithRef<'a'>['ref'], - type, - href: to, - ...(children && { children }), - ...(target && { target }), - ...(disabled && { disabled }), - ...(style && { style }), - ...(className && { className }), - ...(onClick && { onClick }), - ...(onFocus && { onFocus }), - ...(onMouseEnter && { onMouseEnter }), - ...(onMouseLeave && { onMouseLeave }), - ...(onTouchStart && { onTouchStart }), - } - } + const navigate = React.useCallback(() => { + router.navigate({ + ...options, + from: getFrom(), + replace, + resetScroll, + hashScrollIntoView, + startTransition, + viewTransition, + ignoreBlocker, + }) + }, [router, options, getFrom, replace, resetScroll, hashScrollIntoView, startTransition, viewTransition, ignoreBlocker]) // The click handler const handleClick = (e: React.MouseEvent) => { @@ -276,16 +280,26 @@ export function useLinkProps< // All is well? Navigate! // N.B. we don't call `router.commitLocation(next) here because we want to run `validateSearch` before committing - router.navigate({ - ...options, - from, - replace, - resetScroll, - hashScrollIntoView, - startTransition, - viewTransition, - ignoreBlocker, - }) + navigate() + } + } + + if (isExternal) { + return { + ...propsSafeToSpread, + ref: innerRef as React.ComponentPropsWithRef<'a'>['ref'], + type, + href: to, + ...(children && { children }), + ...(target && { target }), + ...(disabled && { disabled }), + ...(style && { style }), + ...(className && { className }), + ...(onClick && { onClick }), + ...(onFocus && { onFocus }), + ...(onMouseEnter && { onMouseEnter }), + ...(onMouseLeave && { onMouseLeave }), + ...(onTouchStart && { onTouchStart }), } } diff --git a/packages/react-router/src/useNavigate.tsx b/packages/react-router/src/useNavigate.tsx index 1fcef979673..b4a1e1d395c 100644 --- a/packages/react-router/src/useNavigate.tsx +++ b/packages/react-router/src/useNavigate.tsx @@ -15,7 +15,7 @@ export function useNavigate< >(_defaultOpts?: { from?: FromPathOption }): UseNavigateResult { - const { navigate, state } = useRouter() + const router = useRouter() // Just get the index of the current match to avoid rerenders // as much as possible @@ -26,18 +26,23 @@ export function useNavigate< return React.useCallback( (options: NavigateOptions) => { + const currentRouteMatches= router.matchRoutes(router.latestLocation, { + _buildLocation: false, + }) + const from = options.from ?? _defaultOpts?.from ?? - state.matches[matchIndex]!.fullPath + currentRouteMatches.slice(-1)[0]?.fullPath ?? + router.state.matches[matchIndex]!.fullPath - return navigate({ + return router.navigate({ ...options, from, }) }, // eslint-disable-next-line react-hooks/exhaustive-deps - [_defaultOpts?.from, navigate], + [_defaultOpts?.from, router.navigate, router.latestLocation], ) as UseNavigateResult } diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index c4409961b83..2c602f00e5d 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -1419,14 +1419,24 @@ export class RouterCore< // First let's find the starting pathname // By default, start with the current location let fromPath = this.resolvePathWithBase(lastMatch.fullPath, '.') - const toPath = dest.to - ? this.resolvePathWithBase(fromPath, `${dest.to}`) - : this.resolvePathWithBase(fromPath, '.') + const destFromPath = dest.from && this.resolvePathWithBase(dest.from, '.') + + const toPath = destFromPath + ? this.resolvePathWithBase(destFromPath, `${dest.to ?? "."}`) + : this.resolvePathWithBase(fromPath, `${dest.to ?? "."}`) const routeIsChanging = !!dest.to && - !comparePaths(dest.to.toString(), fromPath) && - !comparePaths(toPath, fromPath) + ( + comparePaths(destFromPath ?? fromPath, fromPath) ? + ( + !comparePaths(toPath, fromPath) + ) : + ( + !comparePaths(toPath, destFromPath!) || + !comparePaths(toPath, fromPath) + ) + ) // If the route is changing we need to find the relative fromPath if (dest.unsafeRelative === 'path') { From c53266f8f64849710e8bee8f70c14ebf49fa6547 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 03:31:02 +0200 Subject: [PATCH 074/271] update react-router tests --- packages/react-router/tests/link.test.tsx | 715 +++++++++++++++++- .../react-router/tests/useNavigate.test.tsx | 433 ++++++++++- 2 files changed, 1143 insertions(+), 5 deletions(-) diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 92c215a0e9a..90126ac5b3b 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -33,6 +33,7 @@ import { useRouteContext, useRouterState, useSearch, + getRouteApi, } from '../src' import { getIntersectionObserverMock, @@ -5073,7 +5074,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- Link to ./a + Link to ./a Link to c @@ -5093,7 +5094,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param A Route

- Link to .. from /param/foo/a + Link to .. from /param/foo/a ) @@ -5407,3 +5408,713 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( }) }, ) + +test.each([true, false])( + 'should navigate to current route when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Search2 + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () => ( + <> +
Post
+ + ), + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postButton = await screen.findByTestId('posts-link') + const searchButton = await screen.findByTestId('search-link') + const searchButton2 = await screen.findByTestId('search2-link') + + await act(() => fireEvent.click(postButton)) + + expect(window.location.pathname).toBe(`/post${tail}`) + + await act(() => fireEvent.click(searchButton)) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + + await act(() => fireEvent.click(searchButton2)) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }, +) + +test.each([true, false])( + 'should navigate to current route with changing path params when using "." in nested route structure', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + return ( + <> +

Posts

+ + To first post + + + To second post + + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params.postId} + + + ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postsButton = await screen.findByTestId('posts-link') + + await act(() => fireEvent.click(postsButton)) + + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + + const firstPostButton = await screen.findByTestId('first-post-link') + + await act(() => fireEvent.click(firstPostButton)) + + expect(await screen.findByTestId('post-id1')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + + const secondPostButton = await screen.findByTestId('second-post-link') + + await act(() => fireEvent.click(secondPostButton)) + + // expect(await screen.findByTestId('post-id2')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }, +) + +test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Search2 + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postButton = await screen.findByTestId('posts-link') + + await act(() => fireEvent.click(postButton)) + + expect(window.location.pathname).toBe(`/post${tail}`) + + const searchButton = await screen.findByTestId('search-link') + + await act(() => fireEvent.click(searchButton)) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + + const searchButton2 = await screen.findByTestId('search2-link') + + await act(() => fireEvent.click(searchButton2)) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }, +) + +test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Go To Home + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postButton = await screen.findByTestId('posts-link') + + fireEvent.click(postButton) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + + const searchButton = await screen.findByTestId('search-link') + + fireEvent.click(searchButton) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + + const homeBtn = await screen.findByTestId('home-link') + + fireEvent.click(homeBtn) + + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + }, +) + +test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + return ( + <> +

Posts

+ + To first post + + + To second post + + + To posts list + + + + ) + } + + const PostDetailComponent = () => { + const navigate = postDetailRoute.useNavigate() + return ( + <> +

Post Detail

+ + To post info + + + To post notes + + + To index detail options + + + + ) + } + + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } + + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) + + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) + + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postsButton = await screen.findByTestId('posts-link') + + fireEvent.click(postsButton) + + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + + const firstPostButton = await screen.findByTestId('first-post-link') + + fireEvent.click(firstPostButton) + + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + + const postInfoButton = await screen.findByTestId('post-info-link') + + fireEvent.click(postInfoButton) + + expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + + const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-link') + + fireEvent.click(toPostDetailIndexButton) + + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-info-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + + const postNotesButton = await screen.findByTestId('post-notes-link') + + fireEvent.click(postNotesButton) + + expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + + const toPostsIndexButton = await screen.findByTestId('to-posts-index-link') + + fireEvent.click(toPostsIndexButton) + + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-notes-heading"), + ).not.toBeInTheDocument() + expect( + screen.queryByTestId("'post-detail-index-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + + const secondPostButton = await screen.findByTestId('second-post-link') + + fireEvent.click(secondPostButton) + + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }, +) + +describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { + async function runTest(navigateVia: 'Route' | 'RouteApi') { + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> +

Index

+ Posts + + To first post + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + const linkVia = () => { + if (navigateVia === 'Route') { + return To Home + } + + const RouteApiLink = getRouteApi('/_layout/posts').Link + + return To Home + } + + return ( + <> +

Posts

+ {linkVia()} + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + Params: {params.postId} + + + ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) + + const PostIndexComponent = () => { + return ( + <> +

Post Index

+ + ) + } + + const postIndexRoute = createRoute({ + getParentRoute: () => postRoute, + path: '/', + component: PostIndexComponent, + }) + + const DetailsComponent = () => { + return ( + <> +

Details!

+ + ) + } + + const detailsRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'details', + component: DetailsComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([ + postsRoute.addChildren([ + postRoute.addChildren([postIndexRoute, detailsRoute]), + ]), + ]), + ]), + }) + + render() + + const postsButton = await screen.findByTestId('index-to-first-post-link') + + fireEvent.click(postsButton) + + expect(await screen.findByTestId('details-heading')).toBeInTheDocument() + + expect(window.location.pathname).toEqual('/posts/id1/details') + + const homeButton = await screen.findByTestId('link-to-home') + + fireEvent.click(homeButton) + + expect(await screen.findByTestId('index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual('/') + } + + test('Route', () => runTest('Route')) + test('RouteApi', () => runTest('RouteApi')) +}) diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index 8d98abdf286..07b84d694fe 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -1504,7 +1504,8 @@ test.each([true, false])( }) const PostsComponent = () => { - const navigate = postsRoute.useNavigate() + const navigate = useNavigate() + return ( <>

Posts

@@ -1776,6 +1777,432 @@ test.each([true, false])( }, ) +test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> + + + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postButton) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + + const searchButton = await screen.findByTestId('search-btn') + + fireEvent.click(searchButton) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + + const searchButton2 = await screen.findByTestId('search2-btn') + + fireEvent.click(searchButton2) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }, +) + +test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> + + + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postButton) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + + const searchButton = await screen.findByTestId('search-btn') + + fireEvent.click(searchButton) + + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + + const homeBtn = await screen.findByTestId('home-btn') + + fireEvent.click(homeBtn) + + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + }, +) + +test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + const navigate = postsRoute.useNavigate() + return ( + <> +

Posts

+ + + + + + ) + } + + const PostDetailComponent = () => { + const navigate = postDetailRoute.useNavigate() + return ( + <> +

Post Detail

+ + + + + + ) + } + + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } + + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) + + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) + + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render() + + const postsButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postsButton) + + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + + const firstPostButton = await screen.findByTestId('first-post-btn') + + fireEvent.click(firstPostButton) + + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + + const postInfoButton = await screen.findByTestId('post-info-btn') + + fireEvent.click(postInfoButton) + + expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + + const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-btn') + + fireEvent.click(toPostDetailIndexButton) + + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-info-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + + const postNotesButton = await screen.findByTestId('post-notes-btn') + + fireEvent.click(postNotesButton) + + expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + + const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') + + fireEvent.click(toPostsIndexButton) + + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-notes-heading"), + ).not.toBeInTheDocument() + expect( + screen.queryByTestId("'post-detail-index-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + + const secondPostButton = await screen.findByTestId('second-post-btn') + + fireEvent.click(secondPostButton) + + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }, +) + describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { async function runTest(navigateVia: 'Route' | 'RouteApi') { const rootRoute = createRootRoute() @@ -1975,7 +2402,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- From 9e1b1dd47b1e3a4690c2c956973e3f8c981df925 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 14:06:19 +0200 Subject: [PATCH 075/271] some more test refining --- packages/react-router/tests/link.test.tsx | 925 +++++++++--------- .../react-router/tests/useNavigate.test.tsx | 128 +-- 2 files changed, 480 insertions(+), 573 deletions(-) diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 90126ac5b3b..67ab8a8eb6d 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -24,6 +24,7 @@ import { createRoute, createRouteMask, createRouter, + getRouteApi, redirect, retainSearchParams, stripSearchParams, @@ -33,7 +34,6 @@ import { useRouteContext, useRouterState, useSearch, - getRouteApi, } from '../src' import { getIntersectionObserverMock, @@ -5409,573 +5409,576 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( }, ) -test.each([true, false])( - 'should navigate to current route when using "." in nested route structure from Index Route', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' - - const rootRoute = createRootRoute() +describe('relative links to current route', () => { + test.each([true, false])( + 'should navigate to current route when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - const IndexComponent = () => { - return ( - <> - - Post - - - Search - - - Search2 - - - - ) - } + const rootRoute = createRootRoute() - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Search2 + + + + ) + } - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () => ( - <> -
Post
- - ), - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () => ( + <> +
Post
+ + ), + }) - render() + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const postButton = await screen.findByTestId('posts-link') - const searchButton = await screen.findByTestId('search-link') - const searchButton2 = await screen.findByTestId('search2-link') + render() - await act(() => fireEvent.click(postButton)) + const postButton = await screen.findByTestId('posts-link') + const searchButton = await screen.findByTestId('search-link') + const searchButton2 = await screen.findByTestId('search2-link') - expect(window.location.pathname).toBe(`/post${tail}`) + await act(() => fireEvent.click(postButton)) - await act(() => fireEvent.click(searchButton)) + expect(window.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + await act(() => fireEvent.click(searchButton)) - await act(() => fireEvent.click(searchButton2)) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }, -) + await act(() => fireEvent.click(searchButton2)) -test.each([true, false])( - 'should navigate to current route with changing path params when using "." in nested route structure', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }, + ) - const IndexComponent = () => { - return ( - <> -

Index

- - Posts - - - ) - } + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const rootRoute = createRootRoute() - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { + const IndexComponent = () => { return ( <> -

Layout

+ + Post + + + Search + + + Search2 + ) - }, - }) + } - const PostsComponent = () => { - return ( - <> -

Posts

- - To first post - - - To second post - - - - ) - } + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - - Params: {params.postId} - - - ) - } + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) + render() - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const postButton = await screen.findByTestId('posts-link') - render() + await act(() => fireEvent.click(postButton)) - const postsButton = await screen.findByTestId('posts-link') + expect(window.location.pathname).toBe(`/post${tail}`) - await act(() => fireEvent.click(postsButton)) + const searchButton = await screen.findByTestId('search-link') - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + await act(() => fireEvent.click(searchButton)) - const firstPostButton = await screen.findByTestId('first-post-link') + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) - await act(() => fireEvent.click(firstPostButton)) + const searchButton2 = await screen.findByTestId('search2-link') - expect(await screen.findByTestId('post-id1')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + await act(() => fireEvent.click(searchButton2)) - const secondPostButton = await screen.findByTestId('second-post-link') + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }, + ) - await act(() => fireEvent.click(secondPostButton)) + test.each([true, false])( + 'should navigate to current route with changing path params when using "." in nested route structure', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - // expect(await screen.findByTestId('post-id2')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id2${tail}`) - }, -) + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } -test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from Index Route', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - const rootRoute = createRootRoute() + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) - const IndexComponent = () => { - return ( - <> - - Post - - - Search - - - Search2 - - - - ) - } + const PostsComponent = () => { + return ( + <> +

Posts

+ + To first post + + + To second post + + + + ) + } - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params.postId} + + + ) + } - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) - render() + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const postButton = await screen.findByTestId('posts-link') + render() - await act(() => fireEvent.click(postButton)) + const postsButton = await screen.findByTestId('posts-link') - expect(window.location.pathname).toBe(`/post${tail}`) + await act(() => fireEvent.click(postsButton)) - const searchButton = await screen.findByTestId('search-link') + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - await act(() => fireEvent.click(searchButton)) + const firstPostButton = await screen.findByTestId('first-post-link') - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + await act(() => fireEvent.click(firstPostButton)) - const searchButton2 = await screen.findByTestId('search2-link') + expect(await screen.findByTestId('post-id1')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) - await act(() => fireEvent.click(searchButton2)) + const secondPostButton = await screen.findByTestId('second-post-link') - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }, -) + await act(() => fireEvent.click(secondPostButton)) -test.each([true, false])( - 'should navigate to from route when using "." in nested route structure from Index Route', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' + // expect(await screen.findByTestId('post-id2')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }, + ) +}) - const rootRoute = createRootRoute() +describe('relative links to from route', () => { + test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - const IndexComponent = () => { - return ( - <> - - Post - - - Search - - - Go To Home - - - - ) - } + const rootRoute = createRootRoute() - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Go To Home + + + + ) + } - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - render() + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const postButton = await screen.findByTestId('posts-link') + render() - fireEvent.click(postButton) + const postButton = await screen.findByTestId('posts-link') - expect(router.state.location.pathname).toBe(`/post${tail}`) + await act(() => fireEvent.click(postButton)) - const searchButton = await screen.findByTestId('search-link') + expect(router.state.location.pathname).toBe(`/post${tail}`) - fireEvent.click(searchButton) + const searchButton = await screen.findByTestId('search-link') - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + await act(() => fireEvent.click(searchButton)) - const homeBtn = await screen.findByTestId('home-link') + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) - fireEvent.click(homeBtn) + const homeBtn = await screen.findByTestId('home-link') - expect(router.state.location.pathname).toBe(`/`) - expect(router.state.location.search).toEqual({}) - }, -) + await act(() => fireEvent.click(homeBtn)) -test.each([true, false])( - 'should navigate to from route with path params when using "." in nested route structure', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + }, + ) - const IndexComponent = () => { - return ( - <> -

Index

- - Posts - - - ) - } + test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { return ( <> -

Layout

+

Posts

+ + To first post + + + To second post + + + To posts list + ) - }, - }) - - const PostsComponent = () => { - return ( - <> -

Posts

- - To first post - - - To second post - - - To posts list - - - - ) - } + } - const PostDetailComponent = () => { - const navigate = postDetailRoute.useNavigate() - return ( - <> -

Post Detail

- - To post info - - - To post notes - - - To index detail options - - - - ) - } + const PostDetailComponent = () => { + return ( + <> +

Post Detail

+ + To post info + + + To post notes + + + To index detail options + + + + ) + } - const PostInfoComponent = () => { - return ( - <> -

Post Info

- - ) - } + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } - const PostNotesComponent = () => { - return ( - <> -

Post Notes

- - ) - } + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const postDetailRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostDetailComponent, - }) + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) - const postInfoRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'info', - component: PostInfoComponent, - }) + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) - const postNotesRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'notes', - component: PostNotesComponent, - }) + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - render() + render() - const postsButton = await screen.findByTestId('posts-link') + const postsButton = await screen.findByTestId('posts-link') - fireEvent.click(postsButton) + fireEvent.click(postsButton) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - const firstPostButton = await screen.findByTestId('first-post-link') + const firstPostButton = await screen.findByTestId('first-post-link') - fireEvent.click(firstPostButton) + fireEvent.click(firstPostButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) - const postInfoButton = await screen.findByTestId('post-info-link') + const postInfoButton = await screen.findByTestId('post-info-link') - fireEvent.click(postInfoButton) + fireEvent.click(postInfoButton) - expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) - const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-link') + const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-link') - fireEvent.click(toPostDetailIndexButton) + fireEvent.click(toPostDetailIndexButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() - expect( - screen.queryByTestId("'post-info-heading"), - ).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-info-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) - const postNotesButton = await screen.findByTestId('post-notes-link') + const postNotesButton = await screen.findByTestId('post-notes-link') - fireEvent.click(postNotesButton) + fireEvent.click(postNotesButton) - expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) - const toPostsIndexButton = await screen.findByTestId('to-posts-index-link') + const toPostsIndexButton = await screen.findByTestId('to-posts-index-link') - fireEvent.click(toPostsIndexButton) + fireEvent.click(toPostsIndexButton) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() - expect( - screen.queryByTestId("'post-notes-heading"), - ).not.toBeInTheDocument() - expect( - screen.queryByTestId("'post-detail-index-heading"), - ).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-notes-heading"), + ).not.toBeInTheDocument() + expect( + screen.queryByTestId("'post-detail-index-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - const secondPostButton = await screen.findByTestId('second-post-link') + const secondPostButton = await screen.findByTestId('second-post-link') - fireEvent.click(secondPostButton) + fireEvent.click(secondPostButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/2${tail}`) - }, -) + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }, + ) +}) describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { async function runTest(navigateVia: 'Route' | 'RouteApi') { diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index 07b84d694fe..275f2a8e287 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -1058,13 +1058,13 @@ test('when navigating from /invoices to ./invoiceId and the current route is /po name: 'To first post', }) - fireEvent.click(postsButton) + await act(() => fireEvent.click(postsButton)) const invoicesButton = await screen.findByRole('button', { name: 'To Invoices', }) - fireEvent.click(invoicesButton) + await act(() => fireEvent.click(invoicesButton)) expect(consoleWarn).toHaveBeenCalledWith( 'Could not find match for from: /invoices', @@ -1443,20 +1443,20 @@ test.each([true, false])( const postButton = await screen.findByTestId('posts-btn') - fireEvent.click(postButton) + await act(() => fireEvent.click(postButton)) expect(router.state.location.pathname).toBe(`/post${tail}`) const searchButton = await screen.findByTestId('search-btn') - fireEvent.click(searchButton) + await act(() => fireEvent.click(searchButton)) expect(router.state.location.pathname).toBe(`/post${tail}`) expect(router.state.location.search).toEqual({ param1: 'value1' }) const searchButton2 = await screen.findByTestId('search2-btn') - fireEvent.click(searchButton2) + await act(() => fireEvent.click(searchButton2)) expect(router.state.location.pathname).toBe(`/post${tail}`) expect(router.state.location.search).toEqual({ param1: 'value2' }) @@ -1737,13 +1737,14 @@ test.each([true, false])( const postsButton = await screen.findByTestId('posts-btn') - fireEvent.click(postsButton) + await act(() => fireEvent.click(postsButton)) expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() const post1Button = await screen.findByTestId('first-post-btn') - fireEvent.click(post1Button) + await act(() => fireEvent.click(post1Button)) + expect(await screen.findByTestId('post-heading')).toBeInTheDocument() expect(await screen.findByTestId('detail-heading-1')).toBeInTheDocument() expect(await screen.findByTestId('detail-heading-2')).toBeInTheDocument() @@ -1756,124 +1757,27 @@ test.each([true, false])( const detail1AddBtn = await screen.findByTestId('detail-btn-add-1') - fireEvent.click(detail1AddBtn) + await act(() => fireEvent.click(detail1AddBtn)) expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) expect(router.state.location.search).toEqual({ _test: true }) const detail1RemoveBtn = await screen.findByTestId('detail-btn-remove-1') - fireEvent.click(detail1RemoveBtn) + await act(() => fireEvent.click(detail1RemoveBtn)) expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) expect(router.state.location.search).toEqual({}) const detail2AddBtn = await screen.findByTestId('detail-btn-add-2') - fireEvent.click(detail2AddBtn) + await act(() => fireEvent.click(detail2AddBtn)) expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) expect(router.state.location.search).toEqual({ _test: true }) }, ) -test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from Index Route', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' - - const rootRoute = createRootRoute() - - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> - - - - - - ) - } - - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) - - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) - - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) - - render() - - const postButton = await screen.findByTestId('posts-btn') - - fireEvent.click(postButton) - - expect(router.state.location.pathname).toBe(`/post${tail}`) - - const searchButton = await screen.findByTestId('search-btn') - - fireEvent.click(searchButton) - - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) - - const searchButton2 = await screen.findByTestId('search2-btn') - - fireEvent.click(searchButton2) - - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }, -) - test.each([true, false])( 'should navigate to from route when using "." in nested route structure from Index Route', async (trailingSlash: boolean) => { @@ -1949,20 +1853,20 @@ test.each([true, false])( const postButton = await screen.findByTestId('posts-btn') - fireEvent.click(postButton) + await act(() => fireEvent.click(postButton)) expect(router.state.location.pathname).toBe(`/post${tail}`) const searchButton = await screen.findByTestId('search-btn') - fireEvent.click(searchButton) + await act(() => fireEvent.click(searchButton)) expect(router.state.location.pathname).toBe(`/post${tail}`) expect(router.state.location.search).toEqual({ param1: 'value1' }) const homeBtn = await screen.findByTestId('home-btn') - fireEvent.click(homeBtn) + await act(() => fireEvent.click(homeBtn)) expect(router.state.location.pathname).toBe(`/`) expect(router.state.location.search).toEqual({}) @@ -2402,7 +2306,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- From 55ba9afd9de5d8f3682b87233c69d11715ff1bae Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 14:22:02 +0200 Subject: [PATCH 076/271] code cleanup --- packages/react-router/src/link.tsx | 24 ++++----- packages/router-core/src/router.ts | 80 +++++++++++------------------- 2 files changed, 39 insertions(+), 65 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index 69e55d114fe..3b8553c5ad9 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -245,19 +245,6 @@ export function useLinkProps< } }, [disabled, doPreload, preload]) - const navigate = React.useCallback(() => { - router.navigate({ - ...options, - from: getFrom(), - replace, - resetScroll, - hashScrollIntoView, - startTransition, - viewTransition, - ignoreBlocker, - }) - }, [router, options, getFrom, replace, resetScroll, hashScrollIntoView, startTransition, viewTransition, ignoreBlocker]) - // The click handler const handleClick = (e: React.MouseEvent) => { if ( @@ -280,7 +267,16 @@ export function useLinkProps< // All is well? Navigate! // N.B. we don't call `router.commitLocation(next) here because we want to run `validateSearch` before committing - navigate() + router.navigate({ + ...options, + from: getFrom(), + replace, + resetScroll, + hashScrollIntoView, + startTransition, + viewTransition, + ignoreBlocker, + }) } } diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index 2c602f00e5d..030ebd910bf 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -1414,62 +1414,39 @@ export class RouterCore< _buildLocation: true, }) - const lastMatch = last(allCurrentLocationMatches)! - - // First let's find the starting pathname - // By default, start with the current location - let fromPath = this.resolvePathWithBase(lastMatch.fullPath, '.') - const destFromPath = dest.from && this.resolvePathWithBase(dest.from, '.') - - const toPath = destFromPath - ? this.resolvePathWithBase(destFromPath, `${dest.to ?? "."}`) - : this.resolvePathWithBase(fromPath, `${dest.to ?? "."}`) - - const routeIsChanging = - !!dest.to && - ( - comparePaths(destFromPath ?? fromPath, fromPath) ? - ( - !comparePaths(toPath, fromPath) - ) : - ( - !comparePaths(toPath, destFromPath!) || - !comparePaths(toPath, fromPath) - ) - ) - - // If the route is changing we need to find the relative fromPath - if (dest.unsafeRelative === 'path') { - fromPath = currentLocation.pathname - } else if (routeIsChanging && dest.from) { - fromPath = dest.from - - // do this check only on navigations during test or development - if (process.env.NODE_ENV !== 'production' && dest._isNavigate) { - const allFromMatches = this.getMatchedRoutes( - dest.from, - undefined, - ).matchedRoutes - - const matchedFrom = [...allCurrentLocationMatches] - .reverse() - .find((d) => { - return comparePaths(d.fullPath, fromPath) - }) - - const matchedCurrent = [...allFromMatches].reverse().find((d) => { - return comparePaths(d.fullPath, currentLocation.pathname) + // check that from path exists in the current route tree + // do this check only on navigations during test or development + if (dest.from && process.env.NODE_ENV !== 'production' && dest._isNavigate) { + const allFromMatches = this.getMatchedRoutes( + dest.from, + undefined, + ).matchedRoutes + + const matchedFrom = [...allCurrentLocationMatches] + .reverse() + .find((d) => { + return comparePaths(d.fullPath, dest.from!) }) - // for from to be invalid it shouldn't just be unmatched to currentLocation - // but the currentLocation should also be unmatched to from - if (!matchedFrom && !matchedCurrent) { - console.warn(`Could not find match for from: ${fromPath}`) - } + const matchedCurrent = [...allFromMatches].reverse().find((d) => { + return comparePaths(d.fullPath, currentLocation.pathname) + }) + + // for from to be invalid it shouldn't just be unmatched to currentLocation + // but the currentLocation should also be unmatched to from + if (!matchedFrom && !matchedCurrent) { + console.warn(`Could not find match for from: ${dest.from}`) } } - fromPath = this.resolvePathWithBase(fromPath, '.') + // Now let's find the starting pathname + // This should default to the current location if no from is provided + const lastMatch = last(allCurrentLocationMatches)! + + const defaultedFromPath = dest.unsafeRelative === 'path' ? currentLocation.pathname : dest.from ?? lastMatch.fullPath + + // ensure this includes the basePath if set + const fromPath = this.resolvePathWithBase(defaultedFromPath, '.') // From search should always use the current location const fromSearch = lastMatch.search @@ -1477,6 +1454,7 @@ export class RouterCore< const fromParams = { ...lastMatch.params } // Resolve the next to + // ensure this includes the basePath if set const nextTo = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, '.') From ba524f121c807867a4e52e23e9162c1afebb97db Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 14:27:36 +0200 Subject: [PATCH 077/271] test cleanup --- packages/react-router/tests/link.test.tsx | 10 +- .../react-router/tests/useNavigate.test.tsx | 1474 +++++++++-------- 2 files changed, 744 insertions(+), 740 deletions(-) diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 67ab8a8eb6d..5e4a900a322 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -5411,7 +5411,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( describe('relative links to current route', () => { test.each([true, false])( - 'should navigate to current route when using "." in nested route structure from Index Route', + 'should navigate to current route when using "." in nested route structure from Index Route with trailingSlash: %s', async (trailingSlash: boolean) => { const tail = trailingSlash ? '/' : '' @@ -5493,7 +5493,7 @@ describe('relative links to current route', () => { ) test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from Index Route', + 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', async (trailingSlash: boolean) => { const tail = trailingSlash ? '/' : '' @@ -5573,7 +5573,7 @@ describe('relative links to current route', () => { ) test.each([true, false])( - 'should navigate to current route with changing path params when using "." in nested route structure', + 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', async (trailingSlash) => { const tail = trailingSlash ? '/' : '' const rootRoute = createRootRoute() @@ -5693,7 +5693,7 @@ describe('relative links to current route', () => { describe('relative links to from route', () => { test.each([true, false])( - 'should navigate to from route when using "." in nested route structure from Index Route', + 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', async (trailingSlash: boolean) => { const tail = trailingSlash ? '/' : '' @@ -5773,7 +5773,7 @@ describe('relative links to from route', () => { ) test.each([true, false])( - 'should navigate to from route with path params when using "." in nested route structure', + 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', async (trailingSlash) => { const tail = trailingSlash ? '/' : '' const rootRoute = createRootRoute() diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index 275f2a8e287..51fe8d28ede 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -1366,895 +1366,899 @@ test(' navigates only once in ', async () => { expect(navigateSpy.mock.calls.length).toBe(1) }) -test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from Index Route', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' +describe('relative navigate to current route', () => { + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + const rootRoute = createRootRoute() - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> - - - - - - ) - } + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> + + + + + + ) + } - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - render() + render() - const postButton = await screen.findByTestId('posts-btn') + const postButton = await screen.findByTestId('posts-btn') - await act(() => fireEvent.click(postButton)) + await act(() => fireEvent.click(postButton)) - expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.pathname).toBe(`/post${tail}`) - const searchButton = await screen.findByTestId('search-btn') + const searchButton = await screen.findByTestId('search-btn') - await act(() => fireEvent.click(searchButton)) + await act(() => fireEvent.click(searchButton)) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) - const searchButton2 = await screen.findByTestId('search2-btn') + const searchButton2 = await screen.findByTestId('search2-btn') - await act(() => fireEvent.click(searchButton2)) + await act(() => fireEvent.click(searchButton2)) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }, -) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }, + ) -test.each([true, false])( - 'should navigate to current route with changing path params when using "." in nested route structure', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + test.each([true, false])( + 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - ) - } + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + const navigate = useNavigate() - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { return ( <> -

Layout

+

Posts

+ + ) - }, - }) - - const PostsComponent = () => { - const navigate = useNavigate() + } - return ( - <> -

Posts

- - - - - ) - } + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params.postId} + + + ) + } - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - - Params: {params.postId} - - - ) - } + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + render() - render() + const postsButton = await screen.findByTestId('posts-btn') - const postsButton = await screen.findByTestId('posts-btn') + fireEvent.click(postsButton) - fireEvent.click(postsButton) + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + const firstPostButton = await screen.findByTestId('first-post-btn') - const firstPostButton = await screen.findByTestId('first-post-btn') + fireEvent.click(firstPostButton) - fireEvent.click(firstPostButton) + expect(await screen.findByTestId('post-id1')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) - expect(await screen.findByTestId('post-id1')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + const secondPostButton = await screen.findByTestId('second-post-btn') - const secondPostButton = await screen.findByTestId('second-post-btn') + fireEvent.click(secondPostButton) - fireEvent.click(secondPostButton) + expect(await screen.findByTestId('post-id2')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }, + ) - expect(await screen.findByTestId('post-id2')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id2${tail}`) - }, -) + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from non-Index Route with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() -test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from non-Index Route', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - ) - } + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const PostsComponent = () => { + const navigate = postsRoute.useNavigate() + return ( + <> +

Posts

+ + + + ) + } - const PostsComponent = () => { - const navigate = postsRoute.useNavigate() - return ( - <> -

Posts

- - - - ) - } + const postsRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'posts', + component: PostsComponent, + }) - const postsRoute = createRoute({ - getParentRoute: () => rootRoute, - path: 'posts', - component: PostsComponent, - }) + const useModal = (name: string) => { + const currentOpen = postRoute.useSearch({ + select: (search) => search[`_${name}`], + }) - const useModal = (name: string) => { - const currentOpen = postRoute.useSearch({ - select: (search) => search[`_${name}`], - }) + const navigate = useNavigate() - const navigate = useNavigate() - - const setModal = React.useCallback( - (open: boolean) => { - navigate({ - to: '.', - search: (prev: {}) => ({ - ...prev, - [`_${name}`]: open ? true : undefined, - }), - resetScroll: false, - }) - }, - [name, navigate], - ) + const setModal = React.useCallback( + (open: boolean) => { + navigate({ + to: '.', + search: (prev: {}) => ({ + ...prev, + [`_${name}`]: open ? true : undefined, + }), + resetScroll: false, + }) + }, + [name, navigate], + ) - return [currentOpen, setModal] as const - } + return [currentOpen, setModal] as const + } - function DetailComponent(props: { id: string }) { - const params = useParams({ strict: false }) - const [currentTest, setTest] = useModal('test') + function DetailComponent(props: { id: string }) { + const params = useParams({ strict: false }) + const [currentTest, setTest] = useModal('test') - return ( - <> -
- Post Path "/{params.postId}/detail-{props.id}"! -
- {currentTest ? ( - - ) : ( - - )} - - ) - } + return ( + <> +
+ Post Path "/{params.postId}/detail-{props.id}"! +
+ {currentTest ? ( + + ) : ( + + )} + + ) + } - const PostComponent = () => { - const params = useParams({ strict: false }) + const PostComponent = () => { + const params = useParams({ strict: false }) - return ( -
-
Post "{params.postId}"!
- - -
- ) - } + return ( +
+
Post "{params.postId}"!
+ + +
+ ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + validateSearch: z.object({ + _test: z.boolean().optional(), + }), + }) - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - validateSearch: z.object({ - _test: z.boolean().optional(), - }), - }) + const detailRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'detail', + component: () => , + }) - const detailRoute = createRoute({ - getParentRoute: () => postRoute, - path: 'detail', - component: () => , - }) + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + postsRoute.addChildren([postRoute.addChildren([detailRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - postsRoute.addChildren([postRoute.addChildren([detailRoute])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + render() - render() + const postsButton = await screen.findByTestId('posts-btn') - const postsButton = await screen.findByTestId('posts-btn') + await act(() => fireEvent.click(postsButton)) - await act(() => fireEvent.click(postsButton)) + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + const post1Button = await screen.findByTestId('first-post-btn') - const post1Button = await screen.findByTestId('first-post-btn') + await act(() => fireEvent.click(post1Button)) - await act(() => fireEvent.click(post1Button)) + expect(await screen.findByTestId('post-heading')).toBeInTheDocument() + expect(await screen.findByTestId('detail-heading-1')).toBeInTheDocument() + expect(await screen.findByTestId('detail-heading-2')).toBeInTheDocument() + expect(await screen.findByTestId('detail-heading-1')).toHaveTextContent( + 'Post Path "/id1/detail-1', + ) + expect(await screen.findByTestId('detail-heading-2')).toHaveTextContent( + 'Post Path "/id1/detail-2', + ) - expect(await screen.findByTestId('post-heading')).toBeInTheDocument() - expect(await screen.findByTestId('detail-heading-1')).toBeInTheDocument() - expect(await screen.findByTestId('detail-heading-2')).toBeInTheDocument() - expect(await screen.findByTestId('detail-heading-1')).toHaveTextContent( - 'Post Path "/id1/detail-1', - ) - expect(await screen.findByTestId('detail-heading-2')).toHaveTextContent( - 'Post Path "/id1/detail-2', - ) + const detail1AddBtn = await screen.findByTestId('detail-btn-add-1') - const detail1AddBtn = await screen.findByTestId('detail-btn-add-1') + await act(() => fireEvent.click(detail1AddBtn)) - await act(() => fireEvent.click(detail1AddBtn)) + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({ _test: true }) - expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) - expect(router.state.location.search).toEqual({ _test: true }) + const detail1RemoveBtn = await screen.findByTestId('detail-btn-remove-1') - const detail1RemoveBtn = await screen.findByTestId('detail-btn-remove-1') + await act(() => fireEvent.click(detail1RemoveBtn)) - await act(() => fireEvent.click(detail1RemoveBtn)) + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({}) - expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) - expect(router.state.location.search).toEqual({}) + const detail2AddBtn = await screen.findByTestId('detail-btn-add-2') - const detail2AddBtn = await screen.findByTestId('detail-btn-add-2') + await act(() => fireEvent.click(detail2AddBtn)) - await act(() => fireEvent.click(detail2AddBtn)) + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({ _test: true }) + }, + ) +}) - expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) - expect(router.state.location.search).toEqual({ _test: true }) - }, -) +describe('relative navigate to from route', () => { + test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' -test.each([true, false])( - 'should navigate to from route when using "." in nested route structure from Index Route', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - const rootRoute = createRootRoute() + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> + + + + + + ) + } - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> - - - - - - ) - } + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + render() - render() + const postButton = await screen.findByTestId('posts-btn') - const postButton = await screen.findByTestId('posts-btn') + await act(() => fireEvent.click(postButton)) - await act(() => fireEvent.click(postButton)) + expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.pathname).toBe(`/post${tail}`) + const searchButton = await screen.findByTestId('search-btn') - const searchButton = await screen.findByTestId('search-btn') + await act(() => fireEvent.click(searchButton)) - await act(() => fireEvent.click(searchButton)) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + const homeBtn = await screen.findByTestId('home-btn') - const homeBtn = await screen.findByTestId('home-btn') + await act(() => fireEvent.click(homeBtn)) - await act(() => fireEvent.click(homeBtn)) + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + }, + ) - expect(router.state.location.pathname).toBe(`/`) - expect(router.state.location.search).toEqual({}) - }, -) + test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() -test.each([true, false])( - 'should navigate to from route with path params when using "." in nested route structure', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - ) - } + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { + const PostsComponent = () => { + const navigate = postsRoute.useNavigate() return ( <> -

Layout

+

Posts

+ + + ) - }, - }) + } - const PostsComponent = () => { - const navigate = postsRoute.useNavigate() - return ( - <> -

Posts

- - - - - - ) - } + const PostDetailComponent = () => { + const navigate = postDetailRoute.useNavigate() + return ( + <> +

Post Detail

+ + + + + + ) + } - const PostDetailComponent = () => { - const navigate = postDetailRoute.useNavigate() - return ( - <> -

Post Detail

- - - - - - ) - } + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } - const PostInfoComponent = () => { - return ( - <> -

Post Info

- - ) - } + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } - const PostNotesComponent = () => { - return ( - <> -

Post Notes

- - ) - } + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) - const postDetailRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostDetailComponent, - }) + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) - const postInfoRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'info', - component: PostInfoComponent, - }) + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) - const postNotesRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'notes', - component: PostNotesComponent, - }) + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + render() - render() + const postsButton = await screen.findByTestId('posts-btn') - const postsButton = await screen.findByTestId('posts-btn') + fireEvent.click(postsButton) - fireEvent.click(postsButton) + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + const firstPostButton = await screen.findByTestId('first-post-btn') - const firstPostButton = await screen.findByTestId('first-post-btn') + fireEvent.click(firstPostButton) - fireEvent.click(firstPostButton) + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + const postInfoButton = await screen.findByTestId('post-info-btn') - const postInfoButton = await screen.findByTestId('post-info-btn') + fireEvent.click(postInfoButton) - fireEvent.click(postInfoButton) + expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) - expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-btn') - const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-btn') + fireEvent.click(toPostDetailIndexButton) - fireEvent.click(toPostDetailIndexButton) + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-info-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() - expect( - screen.queryByTestId("'post-info-heading"), - ).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + const postNotesButton = await screen.findByTestId('post-notes-btn') - const postNotesButton = await screen.findByTestId('post-notes-btn') + fireEvent.click(postNotesButton) - fireEvent.click(postNotesButton) + expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) - expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') - const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') + fireEvent.click(toPostsIndexButton) - fireEvent.click(toPostsIndexButton) + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-notes-heading"), + ).not.toBeInTheDocument() + expect( + screen.queryByTestId("'post-detail-index-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() - expect( - screen.queryByTestId("'post-notes-heading"), - ).not.toBeInTheDocument() - expect( - screen.queryByTestId("'post-detail-index-heading"), - ).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + const secondPostButton = await screen.findByTestId('second-post-btn') - const secondPostButton = await screen.findByTestId('second-post-btn') + fireEvent.click(secondPostButton) - fireEvent.click(secondPostButton) + expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }, + ) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/2${tail}`) - }, -) + describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { + async function runTest(navigateVia: 'Route' | 'RouteApi') { + const rootRoute = createRootRoute() -describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { - async function runTest(navigateVia: 'Route' | 'RouteApi') { - const rootRoute = createRootRoute() + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + + ) + } - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - - ) - } + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { + const PostsComponent = () => { + const routeNavigate = postsRoute.useNavigate() + const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() return ( <> -

Layout

+

Posts

+ ) - }, - }) + } - const PostsComponent = () => { - const routeNavigate = postsRoute.useNavigate() - const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() - return ( - <> -

Posts

- - - - ) - } - - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - Params: {params.postId} - - - ) - } + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + Params: {params.postId} + + + ) + } - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) - const PostIndexComponent = () => { - return ( - <> -

Post Index

- - ) - } + const PostIndexComponent = () => { + return ( + <> +

Post Index

+ + ) + } - const postIndexRoute = createRoute({ - getParentRoute: () => postRoute, - path: '/', - component: PostIndexComponent, - }) + const postIndexRoute = createRoute({ + getParentRoute: () => postRoute, + path: '/', + component: PostIndexComponent, + }) - const DetailsComponent = () => { - return ( - <> -

Details!

- - ) - } + const DetailsComponent = () => { + return ( + <> +

Details!

+ + ) + } - const detailsRoute = createRoute({ - getParentRoute: () => postRoute, - path: 'details', - component: DetailsComponent, - }) + const detailsRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'details', + component: DetailsComponent, + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([ - postsRoute.addChildren([ - postRoute.addChildren([postIndexRoute, detailsRoute]), + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([ + postsRoute.addChildren([ + postRoute.addChildren([postIndexRoute, detailsRoute]), + ]), ]), ]), - ]), - }) + }) - render() + render() - const postsButton = await screen.findByTestId('index-to-first-post-btn') + const postsButton = await screen.findByTestId('index-to-first-post-btn') - fireEvent.click(postsButton) + fireEvent.click(postsButton) - expect(await screen.findByTestId('details-heading')).toBeInTheDocument() + expect(await screen.findByTestId('details-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual('/posts/id1/details') + expect(window.location.pathname).toEqual('/posts/id1/details') - const homeButton = await screen.findByTestId('btn-to-home') + const homeButton = await screen.findByTestId('btn-to-home') - fireEvent.click(homeButton) + fireEvent.click(homeButton) - expect(await screen.findByTestId('index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual('/') - } + expect(await screen.findByTestId('index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual('/') + } - test('Route', () => runTest('Route')) - test('RouteApi', () => runTest('RouteApi')) + test('Route', () => runTest('Route')) + test('RouteApi', () => runTest('RouteApi')) + }) }) describe.each([{ basepath: '' }, { basepath: '/basepath' }])( From 745107c9bc03342c717bdd9fce16c2dc60ee73fa Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 15:23:55 +0200 Subject: [PATCH 078/271] replicate changes to Solid --- packages/solid-router/src/link.tsx | 27 +- packages/solid-router/src/useNavigate.tsx | 11 +- packages/solid-router/tests/link.test.tsx | 612 +++++++++- .../solid-router/tests/useNavigate.test.tsx | 1039 +++++++++++++++-- 4 files changed, 1555 insertions(+), 134 deletions(-) diff --git a/packages/solid-router/src/link.tsx b/packages/solid-router/src/link.tsx index 008483ac0d8..807a05579de 100644 --- a/packages/solid-router/src/link.tsx +++ b/packages/solid-router/src/link.tsx @@ -135,15 +135,30 @@ export function useLinkProps< // when `from` is not supplied, use the route of the current match as the `from` location // so relative routing works as expected - const from = useMatch({ + // const from = useMatch({ + // strict: false, + // select: (match) => options.from ?? match.fullPath, + // }) + + const matchIndex = useMatch({ strict: false, - select: (match) => options.from ?? match.fullPath, + select: (match) => match.index, }) - const _options = () => ({ - ...options, - from: from(), - }) + const _options = () => { + const currentRouteMatches= router.matchRoutes(router.latestLocation, { + _buildLocation: false, + }) + + const from = options.from ?? + currentRouteMatches.slice(-1)[0]?.fullPath ?? + router.state.matches[matchIndex()]!.fullPath + + return ({ + ...options, + from + }) + } const next = Solid.createMemo(() => { currentSearch() diff --git a/packages/solid-router/src/useNavigate.tsx b/packages/solid-router/src/useNavigate.tsx index 96d1207533b..94c0374e223 100644 --- a/packages/solid-router/src/useNavigate.tsx +++ b/packages/solid-router/src/useNavigate.tsx @@ -15,7 +15,7 @@ export function useNavigate< >(_defaultOpts?: { from?: FromPathOption }): UseNavigateResult { - const { navigate, state } = useRouter() + const router = useRouter() const matchIndex = useMatch({ strict: false, @@ -23,12 +23,17 @@ export function useNavigate< }) return ((options: NavigateOptions) => { - return navigate({ + const currentRouteMatches= router.matchRoutes(router.latestLocation, { + _buildLocation: false, + }) + + return router.navigate({ ...options, from: options.from ?? _defaultOpts?.from ?? - state.matches[matchIndex()]!.fullPath, + currentRouteMatches.slice(-1)[0]?.fullPath ?? + router.state.matches[matchIndex()]!.fullPath }) }) as UseNavigateResult } diff --git a/packages/solid-router/tests/link.test.tsx b/packages/solid-router/tests/link.test.tsx index f1243d9f7fb..4afbacf1218 100644 --- a/packages/solid-router/tests/link.test.tsx +++ b/packages/solid-router/tests/link.test.tsx @@ -4591,6 +4591,612 @@ describe('search middleware', () => { }) }) +describe('relative links to current route', () => { + test.each([true, false])( + 'should navigate to current route when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Search2 + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () => ( + <> +
Post
+ + ), + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postButton = await screen.findByTestId('posts-link') + const searchButton = await screen.findByTestId('search-link') + const searchButton2 = await screen.findByTestId('search2-link') + + fireEvent.click(postButton) + + await waitFor(() => { + expect(window.location.pathname).toBe(`/post${tail}`) + }) + + fireEvent.click(searchButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + }) + + fireEvent.click(searchButton2) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }) + }, + ) + + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Search2 + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postButton = await screen.findByTestId('posts-link') + + fireEvent.click(postButton) + + await waitFor(() => { + expect(window.location.pathname).toBe(`/post${tail}`) + }) + + const searchButton = await screen.findByTestId('search-link') + + fireEvent.click(searchButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + }) + + const searchButton2 = await screen.findByTestId('search2-link') + + fireEvent.click(searchButton2) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }) + }, + ) + + test.each([true, false])( + 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + return ( + <> +

Posts

+ + To first post + + + To second post + + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params().postId} + + + ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postsButton = await screen.findByTestId('posts-link') + + fireEvent.click(postsButton) + + await waitFor(() => { + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) + + const firstPostButton = await screen.findByTestId('first-post-link') + + fireEvent.click(firstPostButton) + + await waitFor(() => { + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + }) + + const secondPostButton = await screen.findByTestId('second-post-link') + + fireEvent.click(secondPostButton) + + await waitFor(() => { + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }) + }, + ) +}) + +describe('relative links to from route', () => { + test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Go To Home + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postButton = await screen.findByTestId('posts-link') + + fireEvent.click(postButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + }) + + const searchButton = await screen.findByTestId('search-link') + + fireEvent.click(searchButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + }) + + const homeBtn = await screen.findByTestId('home-link') + + fireEvent.click(homeBtn) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + }) + }, + ) + + test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + return ( + <> +

Posts

+ + To first post + + + To second post + + + To posts list + + + + ) + } + + const PostDetailComponent = () => { + return ( + <> +

Post Detail

+ + To post info + + + To post notes + + + To index detail options + + + + ) + } + + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } + + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) + + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) + + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postsButton = await screen.findByTestId('posts-link') + + fireEvent.click(postsButton) + + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) + + const firstPostButton = await screen.findByTestId('first-post-link') + + fireEvent.click(firstPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + }) + + const postInfoButton = await screen.findByTestId('post-info-link') + + fireEvent.click(postInfoButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + }) + + const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-link') + + fireEvent.click(toPostDetailIndexButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-info-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + }) + + const postNotesButton = await screen.findByTestId('post-notes-link') + + fireEvent.click(postNotesButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-notes-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + }) + + const toPostsIndexButton = await screen.findByTestId('to-posts-index-link') + + fireEvent.click(toPostsIndexButton) + + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-notes-heading"), + ).not.toBeInTheDocument() + expect( + screen.queryByTestId("'post-detail-index-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) + + const secondPostButton = await screen.findByTestId('second-post-link') + + fireEvent.click(secondPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }) + }, + ) +}) + describe.each([{ basepath: '' }, { basepath: '/basepath' }])( 'relative links with %s', ({ basepath }) => { @@ -4636,7 +5242,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- Link to ./a + Link to ./a Link to c @@ -4656,7 +5262,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param A Route

- Link to .. from /param/foo/a + Link to .. from /param/foo/a ) @@ -4937,7 +5543,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( fireEvent.click(parentLink) - waitFor(() => + await waitFor(() => expect(window.location.pathname).toBe(`${basepath}/param/bar/a/b`), ) }) diff --git a/packages/solid-router/tests/useNavigate.test.tsx b/packages/solid-router/tests/useNavigate.test.tsx index cf9ef4831db..3c9aedc086a 100644 --- a/packages/solid-router/tests/useNavigate.test.tsx +++ b/packages/solid-router/tests/useNavigate.test.tsx @@ -1,6 +1,6 @@ import * as Solid from 'solid-js' import '@testing-library/jest-dom/vitest' -import { afterEach, describe, expect, test } from 'vitest' +import { afterEach, beforeEach, describe, expect, test } from 'vitest' import { cleanup, fireEvent, @@ -13,6 +13,7 @@ import { z } from 'zod' import { Outlet, RouterProvider, + createBrowserHistory, createRootRoute, createRoute, createRouteMask, @@ -21,6 +22,14 @@ import { useNavigate, useParams, } from '../src' +import type { RouterHistory } from '../src' + +let history: RouterHistory + +beforeEach(() => { + history = createBrowserHistory() + expect(window.location.pathname).toBe('/') +}) afterEach(() => { window.history.replaceState(null, 'root', '/') @@ -1310,156 +1319,942 @@ test('when setting search params with 2 parallel navigate calls', async () => { expect(search.get('param2')).toEqual('bar') }) -describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { - async function runTest(navigateVia: 'Route' | 'RouteApi') { - const rootRoute = createRootRoute() - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - - ) - } +describe('relative navigate to current route', () => { + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const rootRoute = createRootRoute() - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { + const IndexComponent = () => { + const navigate = useNavigate() return ( <> -

Layout

+ + + ) - }, - }) + } - const PostsComponent = () => { - const routeNavigate = postsRoute.useNavigate() - const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() - return ( - <> -

Posts

- + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + const navigate = useNavigate() + + return ( + <> +

Posts

+ - - - ) - } + > + To first post + + + + + ) + } - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - Params: {params().postId} - - - ) - } + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params().postId} + + + ) + } - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) - const PostIndexComponent = () => { - return ( - <> -

Post Index

- - ) - } + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const postIndexRoute = createRoute({ - getParentRoute: () => postRoute, - path: '/', - component: PostIndexComponent, - }) + render(() => ) - const DetailsComponent = () => { - return ( - <> -

Details!

- - ) - } + const postsButton = await screen.findByTestId('posts-btn') - const detailsRoute = createRoute({ - getParentRoute: () => postRoute, - path: 'details', - component: DetailsComponent, - }) + fireEvent.click(postsButton) + + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) + + const firstPostButton = await screen.findByTestId('first-post-btn') + + fireEvent.click(firstPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-id1')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + }) + + const secondPostButton = await screen.findByTestId('second-post-btn') + + fireEvent.click(secondPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-id2')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }) + }, + ) + + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from non-Index Route with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const PostsComponent = () => { + const navigate = postsRoute.useNavigate() + return ( + <> +

Posts

+ + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'posts', + component: PostsComponent, + }) + + const useModal = (name: string) => { + const currentOpen = postRoute.useSearch({ + select: (search) => search[`_${name}`], + }) + + const navigate = useNavigate() + + const setModal = (open: boolean) => { + navigate({ + to: '.', + search: (prev: {}) => ({ + ...prev, + [`_${name}`]: open ? true : undefined, + }), + resetScroll: false, + }) + } + + return [currentOpen, setModal] as const + } + + function DetailComponent(props: { id: string }) { + const params = useParams({ strict: false }) + const [currentTest, setTest] = useModal('test') + + return ( + <> +
+ Post Path "/{params().postId}/detail-{props.id}"! +
+ {currentTest() ? ( + + ) : ( + + )} + + ) + } + + const PostComponent = () => { + const params = useParams({ strict: false }) + + return ( +
+
Post "{params().postId}"!
+ + +
+ ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + validateSearch: z.object({ + _test: z.boolean().optional(), + }), + }) + + const detailRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'detail', + component: () => , + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + postsRoute.addChildren([postRoute.addChildren([detailRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postsButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postsButton) + + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + }) + + const post1Button = await screen.findByTestId('first-post-btn') + + fireEvent.click(post1Button) + + await waitFor(() => { + expect(screen.queryByTestId('post-heading')).toBeInTheDocument() + expect(screen.queryByTestId('detail-heading-1')).toBeInTheDocument() + expect(screen.queryByTestId('detail-heading-2')).toBeInTheDocument() + expect(screen.queryByTestId('detail-heading-1')).toHaveTextContent( + 'Post Path "/id1/detail-1', + ) + expect(screen.queryByTestId('detail-heading-2')).toHaveTextContent( + 'Post Path "/id1/detail-2', + ) + }) + + const detail1AddBtn = await screen.findByTestId('detail-btn-add-1') + + fireEvent.click(detail1AddBtn) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({ _test: true }) + }) + + const detail1RemoveBtn = await screen.findByTestId('detail-btn-remove-1') + + fireEvent.click(detail1RemoveBtn) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({}) + }) + + const detail2AddBtn = await screen.findByTestId('detail-btn-add-2') + + fireEvent.click(detail2AddBtn) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({ _test: true }) + }) + }, + ) +}) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([ - postsRoute.addChildren([ - postRoute.addChildren([postIndexRoute, detailsRoute]), +describe('relative navigate to from route', () => { + test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' + + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> + + + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + }) + + const searchButton = await screen.findByTestId('search-btn') + + fireEvent.click(searchButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + }) + + const homeBtn = await screen.findByTestId('home-btn') + + fireEvent.click(homeBtn) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + }) + }, + ) + + test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + const navigate = postsRoute.useNavigate() + return ( + <> +

Posts

+ + + + + + ) + } + + const PostDetailComponent = () => { + const navigate = postDetailRoute.useNavigate() + return ( + <> +

Post Detail

+ + + + + + ) + } + + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } + + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) + + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) + + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postsButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postsButton) + + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) + + const firstPostButton = await screen.findByTestId('first-post-btn') + + fireEvent.click(firstPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + }) + + const postInfoButton = await screen.findByTestId('post-info-btn') + + fireEvent.click(postInfoButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + }) + + const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-btn') + + fireEvent.click(toPostDetailIndexButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-info-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + }) + + const postNotesButton = await screen.findByTestId('post-notes-btn') + + fireEvent.click(postNotesButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-notes-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + }) + + const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') + + fireEvent.click(toPostsIndexButton) + + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId("'post-notes-heading"), + ).not.toBeInTheDocument() + expect( + screen.queryByTestId("'post-detail-index-heading"), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) + + const secondPostButton = await screen.findByTestId('second-post-btn') + + fireEvent.click(secondPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }) + }, + ) + + describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { + async function runTest(navigateVia: 'Route' | 'RouteApi') { + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + const routeNavigate = postsRoute.useNavigate() + const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() + return ( + <> +

Posts

+ + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + Params: {params().postId} + + + ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) + + const PostIndexComponent = () => { + return ( + <> +

Post Index

+ + ) + } + + const postIndexRoute = createRoute({ + getParentRoute: () => postRoute, + path: '/', + component: PostIndexComponent, + }) + + const DetailsComponent = () => { + return ( + <> +

Details!

+ + ) + } + + const detailsRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'details', + component: DetailsComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([ + postsRoute.addChildren([ + postRoute.addChildren([postIndexRoute, detailsRoute]), + ]), ]), ]), - ]), - }) + }) - render(() => ) + render(() => ) - const postsButton = await screen.findByTestId('index-to-first-post-btn') + const postsButton = await screen.findByTestId('index-to-first-post-btn') - fireEvent.click(postsButton) + fireEvent.click(postsButton) - expect(await screen.findByTestId('details-heading')).toBeInTheDocument() + expect(await screen.findByTestId('details-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual('/posts/id1/details') + expect(window.location.pathname).toEqual('/posts/id1/details') - const homeButton = await screen.findByTestId('btn-to-home') + const homeButton = await screen.findByTestId('btn-to-home') - fireEvent.click(homeButton) + fireEvent.click(homeButton) - expect(await screen.findByTestId('index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual('/') - } + expect(await screen.findByTestId('index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual('/') + } - test('Route', () => runTest('Route')) - test('RouteApi', () => runTest('RouteApi')) + test('Route', () => runTest('Route')) + test('RouteApi', () => runTest('RouteApi')) + }) }) + describe.each([{ basepath: '' }, { basepath: '/basepath' }])( 'relative useNavigate with %s', ({ basepath }) => { @@ -1509,7 +2304,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- From b4d41f89f755fa1f67485bd2a16d32f904d3fef2 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 15:31:46 +0200 Subject: [PATCH 079/271] update docs --- docs/router/framework/react/guide/navigation.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/router/framework/react/guide/navigation.md b/docs/router/framework/react/guide/navigation.md index 26b8a02ce3f..538de8d4e9b 100644 --- a/docs/router/framework/react/guide/navigation.md +++ b/docs/router/framework/react/guide/navigation.md @@ -183,7 +183,7 @@ Keep in mind that normally dynamic segment params are `string` values, but they By default, all links are absolute unless a `from` route path is provided. This means that the above link will always navigate to the `/about` route regardless of what route you are currently on. -If you want to make a link that is relative to the current route, you can provide a `from` route path: +Relative links will always apply to the current location. To make it relative to another route, you can provide a `from` route path: ```tsx const postIdRoute = createRoute({ @@ -201,9 +201,9 @@ As seen above, it's common to provide the `route.fullPath` as the `from` route p ### Special relative paths: `"."` and `".."` -Quite often you might want to reload the current location, for example, to rerun the loaders on the current and/or parent routes, or maybe there was a change in search parameters. This can be achieved by specifying a `to` route path of `"."` which will reload the current location. This is only applicable to the current location, and hence any `from` route path specified is ignored. +Quite often you might want to reload the current location or another `from` path, for example, to rerun the loaders on the current and/or parent routes, or maybe navigate back to a parent route. This can be achieved by specifying a `to` route path of `"."` which will reload the current location or provided `from` path. -Another common need is to navigate one route back relative to the current location or some other matched route in the current tree. By specifying a `to` route path of `".."` navigation will be resolved to either the first parent route preceding the current location or, if specified, preceding the `"from"` route path. +Another common need is to navigate one route back relative to the current location or another path. By specifying a `to` route path of `".."` navigation will be resolved to the first parent route preceding the current location. ```tsx export const Route = createFileRoute('/posts/$postId')({ @@ -214,7 +214,14 @@ function PostComponent() { return (
Reload the current route of /posts/$postId - Navigate to /posts + Navigate back to /posts + // the below are all equivalent + Navigate back to /posts + + Navigate back to /posts + + // the below are all equivalent + Navigate to root Navigate to root From 44ad37c8686c5c47b7fb9759cd30032b928fa275 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 13:50:59 +0000 Subject: [PATCH 080/271] ci: apply automated fixes --- packages/react-router/src/link.tsx | 18 ++- packages/react-router/src/useNavigate.tsx | 2 +- packages/react-router/tests/link.test.tsx | 153 +++++++++--------- .../react-router/tests/useNavigate.test.tsx | 62 +++++-- packages/router-core/src/router.ts | 11 +- packages/solid-router/src/link.tsx | 11 +- packages/solid-router/src/useNavigate.tsx | 4 +- packages/solid-router/tests/link.test.tsx | 113 ++++++------- .../solid-router/tests/useNavigate.test.tsx | 42 +++-- 9 files changed, 236 insertions(+), 180 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index 3b8553c5ad9..98831bc8712 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -104,14 +104,16 @@ export function useLinkProps< select: (match) => match.index, }) - const getFrom = React.useCallback( () => { - const currentRouteMatches= router.matchRoutes(router.latestLocation, { + const getFrom = React.useCallback(() => { + const currentRouteMatches = router.matchRoutes(router.latestLocation, { _buildLocation: false, }) - return options.from ?? + return ( + options.from ?? currentRouteMatches.slice(-1)[0]?.fullPath ?? router.state.matches[matchIndex]!.fullPath + ) }, [router, options.from, matchIndex]) const next = React.useMemo( @@ -192,10 +194,12 @@ export function useLinkProps< const doPreload = React.useCallback( () => { - router.preloadRoute({ ...options, from: getFrom() } as any).catch((err) => { - console.warn(err) - console.warn(preloadWarning) - }) + router + .preloadRoute({ ...options, from: getFrom() } as any) + .catch((err) => { + console.warn(err) + console.warn(preloadWarning) + }) }, // eslint-disable-next-line react-hooks/exhaustive-deps [ diff --git a/packages/react-router/src/useNavigate.tsx b/packages/react-router/src/useNavigate.tsx index b4a1e1d395c..985ed477528 100644 --- a/packages/react-router/src/useNavigate.tsx +++ b/packages/react-router/src/useNavigate.tsx @@ -26,7 +26,7 @@ export function useNavigate< return React.useCallback( (options: NavigateOptions) => { - const currentRouteMatches= router.matchRoutes(router.latestLocation, { + const currentRouteMatches = router.matchRoutes(router.latestLocation, { _buildLocation: false, }) diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 5e4a900a322..2e2f32ed87d 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -5074,7 +5074,9 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- Link to ./a + + Link to ./a + Link to c @@ -5094,7 +5096,9 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param A Route

- Link to .. from /param/foo/a + + Link to .. from /param/foo/a + ) @@ -5420,23 +5424,20 @@ describe('relative links to current route', () => { const IndexComponent = () => { return ( <> - + Post Search Search2 @@ -5502,23 +5503,20 @@ describe('relative links to current route', () => { const IndexComponent = () => { return ( <> - + Post Search Search2 @@ -5582,10 +5580,7 @@ describe('relative links to current route', () => { return ( <>

Index

- + Posts @@ -5617,14 +5612,14 @@ describe('relative links to current route', () => {

Posts

To first post To second post @@ -5671,7 +5666,9 @@ describe('relative links to current route', () => { await act(() => fireEvent.click(postsButton)) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) const firstPostButton = await screen.findByTestId('first-post-link') @@ -5702,24 +5699,17 @@ describe('relative links to from route', () => { const IndexComponent = () => { return ( <> - + Post Search - + Go To Home @@ -5782,10 +5772,7 @@ describe('relative links to from route', () => { return ( <>

Index

- + Posts @@ -5817,23 +5804,19 @@ describe('relative links to from route', () => {

Posts

To first post To second post - + To posts list @@ -5845,22 +5828,16 @@ describe('relative links to from route', () => { return ( <>

Post Detail

- + To post info - + To post notes To index detail options @@ -5912,7 +5889,11 @@ describe('relative links to from route', () => { const router = createRouter({ routeTree: rootRoute.addChildren([ indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + layoutRoute.addChildren([ + postsRoute.addChildren([ + postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), + ]), + ]), ]), trailingSlash: trailingSlash ? 'always' : 'never', }) @@ -5923,14 +5904,18 @@ describe('relative links to from route', () => { fireEvent.click(postsButton) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) const firstPostButton = await screen.findByTestId('first-post-link') fireEvent.click(firstPostButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) const postInfoButton = await screen.findByTestId('post-info-link') @@ -5940,28 +5925,36 @@ describe('relative links to from route', () => { expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) - const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-link') + const toPostDetailIndexButton = await screen.findByTestId( + 'to-post-detail-index-link', + ) fireEvent.click(toPostDetailIndexButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() expect( - screen.queryByTestId("'post-info-heading"), - ).not.toBeInTheDocument() + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect(screen.queryByTestId("'post-info-heading")).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) const postNotesButton = await screen.findByTestId('post-notes-link') fireEvent.click(postNotesButton) - expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('post-notes-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) - const toPostsIndexButton = await screen.findByTestId('to-posts-index-link') + const toPostsIndexButton = await screen.findByTestId( + 'to-posts-index-link', + ) fireEvent.click(toPostsIndexButton) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() expect( screen.queryByTestId("'post-notes-heading"), ).not.toBeInTheDocument() @@ -5974,7 +5967,9 @@ describe('relative links to from route', () => { fireEvent.click(secondPostButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/2${tail}`) }, ) @@ -5988,10 +5983,12 @@ describe('when on /posts/$postId and navigating to ../ with default `from` /post return ( <>

Index

- Posts + + Posts + To first post @@ -6022,12 +6019,24 @@ describe('when on /posts/$postId and navigating to ../ with default `from` /post const PostsComponent = () => { const linkVia = () => { if (navigateVia === 'Route') { - return To Home + return ( + + To Home + + ) } const RouteApiLink = getRouteApi('/_layout/posts').Link - return To Home + return ( + + To Home + + ) } return ( diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index 51fe8d28ede..02e036901d4 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -1574,7 +1574,9 @@ describe('relative navigate to current route', () => { fireEvent.click(postsButton) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) const firstPostButton = await screen.findByTestId('first-post-btn') @@ -1740,7 +1742,9 @@ describe('relative navigate to current route', () => { await act(() => fireEvent.click(postsButton)) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() const post1Button = await screen.findByTestId('first-post-btn') @@ -1820,7 +1824,7 @@ describe('relative navigate to from route', () => { onClick={() => navigate({ from: '/', - to: '.' + to: '.', }) } > @@ -1948,7 +1952,7 @@ describe('relative navigate to from route', () => { onClick={() => navigate({ from: '/posts', - to: '.' + to: '.', }) } > @@ -1989,7 +1993,7 @@ describe('relative navigate to from route', () => { onClick={() => navigate({ from: '/posts/$postId', - to: '.' + to: '.', }) } > @@ -2043,7 +2047,11 @@ describe('relative navigate to from route', () => { const router = createRouter({ routeTree: rootRoute.addChildren([ indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + layoutRoute.addChildren([ + postsRoute.addChildren([ + postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), + ]), + ]), ]), trailingSlash: trailingSlash ? 'always' : 'never', }) @@ -2054,14 +2062,18 @@ describe('relative navigate to from route', () => { fireEvent.click(postsButton) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) const firstPostButton = await screen.findByTestId('first-post-btn') fireEvent.click(firstPostButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) const postInfoButton = await screen.findByTestId('post-info-btn') @@ -2071,28 +2083,34 @@ describe('relative navigate to from route', () => { expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) - const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-btn') + const toPostDetailIndexButton = await screen.findByTestId( + 'to-post-detail-index-btn', + ) fireEvent.click(toPostDetailIndexButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() expect( - screen.queryByTestId("'post-info-heading"), - ).not.toBeInTheDocument() + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect(screen.queryByTestId("'post-info-heading")).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) const postNotesButton = await screen.findByTestId('post-notes-btn') fireEvent.click(postNotesButton) - expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('post-notes-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') fireEvent.click(toPostsIndexButton) - expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() expect( screen.queryByTestId("'post-notes-heading"), ).not.toBeInTheDocument() @@ -2105,7 +2123,9 @@ describe('relative navigate to from route', () => { fireEvent.click(secondPostButton) - expect(await screen.findByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/2${tail}`) }, ) @@ -2310,7 +2330,11 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index 030ebd910bf..97c4bc984fc 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -1416,7 +1416,11 @@ export class RouterCore< // check that from path exists in the current route tree // do this check only on navigations during test or development - if (dest.from && process.env.NODE_ENV !== 'production' && dest._isNavigate) { + if ( + dest.from && + process.env.NODE_ENV !== 'production' && + dest._isNavigate + ) { const allFromMatches = this.getMatchedRoutes( dest.from, undefined, @@ -1443,7 +1447,10 @@ export class RouterCore< // This should default to the current location if no from is provided const lastMatch = last(allCurrentLocationMatches)! - const defaultedFromPath = dest.unsafeRelative === 'path' ? currentLocation.pathname : dest.from ?? lastMatch.fullPath + const defaultedFromPath = + dest.unsafeRelative === 'path' + ? currentLocation.pathname + : (dest.from ?? lastMatch.fullPath) // ensure this includes the basePath if set const fromPath = this.resolvePathWithBase(defaultedFromPath, '.') diff --git a/packages/solid-router/src/link.tsx b/packages/solid-router/src/link.tsx index 807a05579de..01676cacad4 100644 --- a/packages/solid-router/src/link.tsx +++ b/packages/solid-router/src/link.tsx @@ -146,18 +146,19 @@ export function useLinkProps< }) const _options = () => { - const currentRouteMatches= router.matchRoutes(router.latestLocation, { + const currentRouteMatches = router.matchRoutes(router.latestLocation, { _buildLocation: false, }) - const from = options.from ?? + const from = + options.from ?? currentRouteMatches.slice(-1)[0]?.fullPath ?? router.state.matches[matchIndex()]!.fullPath - return ({ + return { ...options, - from - }) + from, + } } const next = Solid.createMemo(() => { diff --git a/packages/solid-router/src/useNavigate.tsx b/packages/solid-router/src/useNavigate.tsx index 94c0374e223..5b447507146 100644 --- a/packages/solid-router/src/useNavigate.tsx +++ b/packages/solid-router/src/useNavigate.tsx @@ -23,7 +23,7 @@ export function useNavigate< }) return ((options: NavigateOptions) => { - const currentRouteMatches= router.matchRoutes(router.latestLocation, { + const currentRouteMatches = router.matchRoutes(router.latestLocation, { _buildLocation: false, }) @@ -33,7 +33,7 @@ export function useNavigate< options.from ?? _defaultOpts?.from ?? currentRouteMatches.slice(-1)[0]?.fullPath ?? - router.state.matches[matchIndex()]!.fullPath + router.state.matches[matchIndex()]!.fullPath, }) }) as UseNavigateResult } diff --git a/packages/solid-router/tests/link.test.tsx b/packages/solid-router/tests/link.test.tsx index 4afbacf1218..5202a0d0386 100644 --- a/packages/solid-router/tests/link.test.tsx +++ b/packages/solid-router/tests/link.test.tsx @@ -4602,23 +4602,20 @@ describe('relative links to current route', () => { const IndexComponent = () => { return ( <> - + Post Search Search2 @@ -4690,23 +4687,20 @@ describe('relative links to current route', () => { const IndexComponent = () => { return ( <> - + Post Search Search2 @@ -4776,10 +4770,7 @@ describe('relative links to current route', () => { return ( <>

Index

- + Posts @@ -4811,14 +4802,14 @@ describe('relative links to current route', () => {

Posts

To first post To second post @@ -4899,24 +4890,17 @@ describe('relative links to from route', () => { const IndexComponent = () => { return ( <> - + Post Search - + Go To Home @@ -4985,10 +4969,7 @@ describe('relative links to from route', () => { return ( <>

Index

- + Posts @@ -5020,23 +5001,19 @@ describe('relative links to from route', () => {

Posts

To first post To second post - + To posts list @@ -5048,22 +5025,16 @@ describe('relative links to from route', () => { return ( <>

Post Detail

- + To post info - + To post notes To index detail options @@ -5115,7 +5086,11 @@ describe('relative links to from route', () => { const router = createRouter({ routeTree: rootRoute.addChildren([ indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + layoutRoute.addChildren([ + postsRoute.addChildren([ + postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), + ]), + ]), ]), trailingSlash: trailingSlash ? 'always' : 'never', }) @@ -5136,7 +5111,9 @@ describe('relative links to from route', () => { fireEvent.click(firstPostButton) await waitFor(() => { - expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) }) @@ -5149,12 +5126,16 @@ describe('relative links to from route', () => { expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) }) - const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-link') + const toPostDetailIndexButton = await screen.findByTestId( + 'to-post-detail-index-link', + ) fireEvent.click(toPostDetailIndexButton) await waitFor(() => { - expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect( screen.queryByTestId("'post-info-heading"), ).not.toBeInTheDocument() @@ -5170,7 +5151,9 @@ describe('relative links to from route', () => { expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) }) - const toPostsIndexButton = await screen.findByTestId('to-posts-index-link') + const toPostsIndexButton = await screen.findByTestId( + 'to-posts-index-link', + ) fireEvent.click(toPostsIndexButton) @@ -5190,7 +5173,9 @@ describe('relative links to from route', () => { fireEvent.click(secondPostButton) await waitFor(() => { - expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/2${tail}`) }) }, @@ -5242,7 +5227,9 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- Link to ./a + + Link to ./a + Link to c @@ -5262,7 +5249,9 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param A Route

- Link to .. from /param/foo/a + + Link to .. from /param/foo/a + ) diff --git a/packages/solid-router/tests/useNavigate.test.tsx b/packages/solid-router/tests/useNavigate.test.tsx index 3c9aedc086a..676ab63c0ea 100644 --- a/packages/solid-router/tests/useNavigate.test.tsx +++ b/packages/solid-router/tests/useNavigate.test.tsx @@ -1319,7 +1319,6 @@ test('when setting search params with 2 parallel navigate calls', async () => { expect(search.get('param2')).toEqual('bar') }) - describe('relative navigate to current route', () => { test.each([true, false])( 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', @@ -1793,7 +1792,7 @@ describe('relative navigate to from route', () => { onClick={() => navigate({ from: '/', - to: '.' + to: '.', }) } > @@ -1927,7 +1926,7 @@ describe('relative navigate to from route', () => { onClick={() => navigate({ from: '/posts', - to: '.' + to: '.', }) } > @@ -1968,7 +1967,7 @@ describe('relative navigate to from route', () => { onClick={() => navigate({ from: '/posts/$postId', - to: '.' + to: '.', }) } > @@ -2022,7 +2021,11 @@ describe('relative navigate to from route', () => { const router = createRouter({ routeTree: rootRoute.addChildren([ indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postDetailRoute.addChildren([postInfoRoute, postNotesRoute])])]), + layoutRoute.addChildren([ + postsRoute.addChildren([ + postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), + ]), + ]), ]), trailingSlash: trailingSlash ? 'always' : 'never', }) @@ -2043,7 +2046,9 @@ describe('relative navigate to from route', () => { fireEvent.click(firstPostButton) await waitFor(() => { - expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) }) @@ -2056,12 +2061,16 @@ describe('relative navigate to from route', () => { expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) }) - const toPostDetailIndexButton = await screen.findByTestId('to-post-detail-index-btn') + const toPostDetailIndexButton = await screen.findByTestId( + 'to-post-detail-index-btn', + ) fireEvent.click(toPostDetailIndexButton) await waitFor(() => { - expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect( screen.queryByTestId("'post-info-heading"), ).not.toBeInTheDocument() @@ -2097,7 +2106,9 @@ describe('relative navigate to from route', () => { fireEvent.click(secondPostButton) await waitFor(() => { - expect(screen.queryByTestId('post-detail-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/2${tail}`) }) }, @@ -2254,7 +2265,6 @@ describe('relative navigate to from route', () => { }) }) - describe.each([{ basepath: '' }, { basepath: '/basepath' }])( 'relative useNavigate with %s', ({ basepath }) => { @@ -2304,7 +2314,11 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( return ( <>

Param Route

- From e0b8814b6a621ae94e56010e5cb93304fada0cf8 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 21:30:20 +0200 Subject: [PATCH 081/271] resolve merge issue --- packages/router-core/src/router.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index 30a74b1abea..65617e9dc0e 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -1428,7 +1428,7 @@ export class RouterCore< ).matchedRoutes const matchedFrom = findLast(allCurrentLocationMatches, (d) => { - return comparePaths(d.fullPath, fromPath) + return comparePaths(d.fullPath, dest.from!) }) const matchedCurrent = findLast(allFromMatches, (d) => { From 0c9b67a0fb5e7f63f745e0925ea8778eff498525 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 22:06:44 +0200 Subject: [PATCH 082/271] apply code rabbit suggestions --- packages/react-router/src/link.tsx | 2 ++ packages/react-router/src/useNavigate.tsx | 2 +- packages/react-router/tests/link.test.tsx | 8 ++++---- packages/react-router/tests/useNavigate.test.tsx | 8 ++++---- packages/router-core/src/router.ts | 10 +++++----- packages/solid-router/src/link.tsx | 6 +++++- packages/solid-router/tests/link.test.tsx | 6 +++--- packages/solid-router/tests/useNavigate.test.tsx | 7 ++++--- 8 files changed, 28 insertions(+), 21 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index 98831bc8712..e455ed1d2f9 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -131,6 +131,7 @@ export function useLinkProps< options.state, options.mask, options.unsafeRelative, + getFrom, ], ) @@ -220,6 +221,7 @@ export function useLinkProps< options.replace, options.resetScroll, options.viewTransition, + getFrom ], ) diff --git a/packages/react-router/src/useNavigate.tsx b/packages/react-router/src/useNavigate.tsx index 985ed477528..f70f464236a 100644 --- a/packages/react-router/src/useNavigate.tsx +++ b/packages/react-router/src/useNavigate.tsx @@ -42,7 +42,7 @@ export function useNavigate< }) }, // eslint-disable-next-line react-hooks/exhaustive-deps - [_defaultOpts?.from, router.navigate, router.latestLocation], + [_defaultOpts?.from, router.navigate, router.latestLocation, matchIndex], ) as UseNavigateResult } diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 34461d51b4c..52e982c8ecc 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -5682,7 +5682,7 @@ describe('relative links to current route', () => { await act(() => fireEvent.click(secondPostButton)) - // expect(await screen.findByTestId('post-id2')).toBeInTheDocument() + expect(await screen.findByTestId('post-id2')).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/id2${tail}`) }, ) @@ -5934,7 +5934,7 @@ describe('relative links to from route', () => { expect( await screen.findByTestId('post-detail-index-heading'), ).toBeInTheDocument() - expect(screen.queryByTestId("'post-info-heading")).not.toBeInTheDocument() + expect(screen.queryByTestId('post-info-heading')).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) const postNotesButton = await screen.findByTestId('post-notes-link') @@ -5956,10 +5956,10 @@ describe('relative links to from route', () => { await screen.findByTestId('posts-index-heading'), ).toBeInTheDocument() expect( - screen.queryByTestId("'post-notes-heading"), + screen.queryByTestId('post-notes-heading'), ).not.toBeInTheDocument() expect( - screen.queryByTestId("'post-detail-index-heading"), + screen.queryByTestId('post-detail-index-heading'), ).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index 02e036901d4..3a8b7272edb 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -1623,7 +1623,7 @@ describe('relative navigate to current route', () => { }) const PostsComponent = () => { - const navigate = postsRoute.useNavigate() + const navigate = useNavigate() return ( <>

Posts

@@ -2092,7 +2092,7 @@ describe('relative navigate to from route', () => { expect( await screen.findByTestId('post-detail-index-heading'), ).toBeInTheDocument() - expect(screen.queryByTestId("'post-info-heading")).not.toBeInTheDocument() + expect(screen.queryByTestId('post-info-heading')).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) const postNotesButton = await screen.findByTestId('post-notes-btn') @@ -2112,10 +2112,10 @@ describe('relative navigate to from route', () => { await screen.findByTestId('posts-index-heading'), ).toBeInTheDocument() expect( - screen.queryByTestId("'post-notes-heading"), + screen.queryByTestId('post-notes-heading'), ).not.toBeInTheDocument() expect( - screen.queryByTestId("'post-detail-index-heading"), + screen.queryByTestId('post-detail-index-heading'), ).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index 65617e9dc0e..5134a7a402a 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -1415,6 +1415,10 @@ export class RouterCore< _buildLocation: true, }) + // Now let's find the starting pathname + // This should default to the current location if no from is provided + const lastMatch = last(allCurrentLocationMatches)! + // check that from path exists in the current route tree // do this check only on navigations during test or development if ( @@ -1432,7 +1436,7 @@ export class RouterCore< }) const matchedCurrent = findLast(allFromMatches, (d) => { - return comparePaths(d.fullPath, currentLocation.pathname) + return comparePaths(d.fullPath, lastMatch.fullPath) }) // for from to be invalid it shouldn't just be unmatched to currentLocation @@ -1442,10 +1446,6 @@ export class RouterCore< } } - // Now let's find the starting pathname - // This should default to the current location if no from is provided - const lastMatch = last(allCurrentLocationMatches)! - const defaultedFromPath = dest.unsafeRelative === 'path' ? currentLocation.pathname diff --git a/packages/solid-router/src/link.tsx b/packages/solid-router/src/link.tsx index 01676cacad4..1308040024c 100644 --- a/packages/solid-router/src/link.tsx +++ b/packages/solid-router/src/link.tsx @@ -145,8 +145,10 @@ export function useLinkProps< select: (match) => match.index, }) + const activeLocation = useRouterState({ select: (s) => s.location }) + const _options = () => { - const currentRouteMatches = router.matchRoutes(router.latestLocation, { + const currentRouteMatches = router.matchRoutes(activeLocation(), { _buildLocation: false, }) @@ -163,6 +165,8 @@ export function useLinkProps< const next = Solid.createMemo(() => { currentSearch() + // Access activeLocation to make this memo re-run on route changes + activeLocation() return router.buildLocation(_options() as any) }) diff --git a/packages/solid-router/tests/link.test.tsx b/packages/solid-router/tests/link.test.tsx index 21b045cbf1f..f53c6d46baa 100644 --- a/packages/solid-router/tests/link.test.tsx +++ b/packages/solid-router/tests/link.test.tsx @@ -5137,7 +5137,7 @@ describe('relative links to from route', () => { screen.queryByTestId('post-detail-index-heading'), ).toBeInTheDocument() expect( - screen.queryByTestId("'post-info-heading"), + screen.queryByTestId('post-info-heading'), ).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) }) @@ -5160,10 +5160,10 @@ describe('relative links to from route', () => { await waitFor(() => { expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() expect( - screen.queryByTestId("'post-notes-heading"), + screen.queryByTestId('post-notes-heading'), ).not.toBeInTheDocument() expect( - screen.queryByTestId("'post-detail-index-heading"), + screen.queryByTestId('post-detail-index-heading'), ).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) }) diff --git a/packages/solid-router/tests/useNavigate.test.tsx b/packages/solid-router/tests/useNavigate.test.tsx index 676ab63c0ea..5d22b0adb76 100644 --- a/packages/solid-router/tests/useNavigate.test.tsx +++ b/packages/solid-router/tests/useNavigate.test.tsx @@ -32,6 +32,7 @@ beforeEach(() => { }) afterEach(() => { + history.destroy() window.history.replaceState(null, 'root', '/') cleanup() }) @@ -2072,7 +2073,7 @@ describe('relative navigate to from route', () => { screen.queryByTestId('post-detail-index-heading'), ).toBeInTheDocument() expect( - screen.queryByTestId("'post-info-heading"), + screen.queryByTestId('post-info-heading'), ).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1${tail}`) }) @@ -2093,10 +2094,10 @@ describe('relative navigate to from route', () => { await waitFor(() => { expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() expect( - screen.queryByTestId("'post-notes-heading"), + screen.queryByTestId('post-notes-heading'), ).not.toBeInTheDocument() expect( - screen.queryByTestId("'post-detail-index-heading"), + screen.queryByTestId('post-detail-index-heading'), ).not.toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) }) From 723540c4c112909164340f238f843ccff7ed14e9 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 20:12:41 +0000 Subject: [PATCH 083/271] ci: apply automated fixes --- packages/react-router/src/link.tsx | 2 +- packages/react-router/tests/link.test.tsx | 4 +--- packages/react-router/tests/useNavigate.test.tsx | 4 +--- packages/router-core/src/router.ts | 12 ++++++------ 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index e455ed1d2f9..45ab8e00965 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -221,7 +221,7 @@ export function useLinkProps< options.replace, options.resetScroll, options.viewTransition, - getFrom + getFrom, ], ) diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 52e982c8ecc..55508040e43 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -5955,9 +5955,7 @@ describe('relative links to from route', () => { expect( await screen.findByTestId('posts-index-heading'), ).toBeInTheDocument() - expect( - screen.queryByTestId('post-notes-heading'), - ).not.toBeInTheDocument() + expect(screen.queryByTestId('post-notes-heading')).not.toBeInTheDocument() expect( screen.queryByTestId('post-detail-index-heading'), ).not.toBeInTheDocument() diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index 3a8b7272edb..fe9b05b3278 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -2111,9 +2111,7 @@ describe('relative navigate to from route', () => { expect( await screen.findByTestId('posts-index-heading'), ).toBeInTheDocument() - expect( - screen.queryByTestId('post-notes-heading'), - ).not.toBeInTheDocument() + expect(screen.queryByTestId('post-notes-heading')).not.toBeInTheDocument() expect( screen.queryByTestId('post-detail-index-heading'), ).not.toBeInTheDocument() diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index e5dda78fa4d..807c296abf9 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -1430,13 +1430,13 @@ export class RouterCore< undefined, ).matchedRoutes - const matchedFrom = findLast(allCurrentLocationMatches, (d) => { - return comparePaths(d.fullPath, dest.from!) - }) + const matchedFrom = findLast(allCurrentLocationMatches, (d) => { + return comparePaths(d.fullPath, dest.from!) + }) - const matchedCurrent = findLast(allFromMatches, (d) => { - return comparePaths(d.fullPath, lastMatch.fullPath) - }) + const matchedCurrent = findLast(allFromMatches, (d) => { + return comparePaths(d.fullPath, lastMatch.fullPath) + }) // for from to be invalid it shouldn't just be unmatched to currentLocation // but the currentLocation should also be unmatched to from From 944af34e835283cd69cbeecf518c9a505358856a Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 22:15:55 +0200 Subject: [PATCH 084/271] apply code rabbit doc suggestion --- docs/router/framework/react/guide/navigation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/router/framework/react/guide/navigation.md b/docs/router/framework/react/guide/navigation.md index 538de8d4e9b..a9abd1371c4 100644 --- a/docs/router/framework/react/guide/navigation.md +++ b/docs/router/framework/react/guide/navigation.md @@ -183,7 +183,7 @@ Keep in mind that normally dynamic segment params are `string` values, but they By default, all links are absolute unless a `from` route path is provided. This means that the above link will always navigate to the `/about` route regardless of what route you are currently on. -Relative links will always apply to the current location. To make it relative to another route, you can provide a `from` route path: +Relative links can be combined with a `from` route path. If a from route path isn't provided, relative paths default to the current active location. ```tsx const postIdRoute = createRoute({ From f5c5559247613107d6357dfda8bc8da43aab7c08 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 22:22:17 +0200 Subject: [PATCH 085/271] apply code rabbit doc suggestion --- docs/router/framework/react/guide/navigation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/router/framework/react/guide/navigation.md b/docs/router/framework/react/guide/navigation.md index a9abd1371c4..3305a61bf3c 100644 --- a/docs/router/framework/react/guide/navigation.md +++ b/docs/router/framework/react/guide/navigation.md @@ -28,7 +28,7 @@ type ToOptions< TTo extends string = '', > = { // `from` is an optional route ID or path. If it is not supplied, only absolute paths will be auto-completed and type-safe. It's common to supply the route.fullPath of the origin route you are rendering from for convenience. If you don't know the origin route, leave this empty and work with absolute paths or unsafe relative paths. - from: string + from?: string // `to` can be an absolute route path or a relative path from the `from` option to a valid route path. ⚠️ Do not interpolate path params, hash or search params into the `to` options. Use the `params`, `search`, and `hash` options instead. to: string // `params` is either an object of path params to interpolate into the `to` option or a function that supplies the previous params and allows you to return new ones. This is the only way to interpolate dynamic parameters into the final URL. Depending on the `from` and `to` route, you may need to supply none, some or all of the path params. TypeScript will notify you of the required params if there are any. From 8fec1d3b5ce8cab760f70e968398c7bd6e9bdd18 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sun, 17 Aug 2025 23:37:14 +0200 Subject: [PATCH 086/271] don't check whether $_TSR global is undefined it must be since the bootstrapping script was injected at the beginning --- packages/router-core/src/ssr/ssr-server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/router-core/src/ssr/ssr-server.ts b/packages/router-core/src/ssr/ssr-server.ts index 186cb2c4e2e..3c17e456b6c 100644 --- a/packages/router-core/src/ssr/ssr-server.ts +++ b/packages/router-core/src/ssr/ssr-server.ts @@ -82,7 +82,7 @@ export function attachRouterServerSsrUtils( injectScript: (getScript) => { return router.serverSsr!.injectHtml(async () => { const script = await getScript() - return `` + return `` }) }, dehydrate: async () => { From 0ae150e41e164b848f79e628c54f40738eabf377 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Sun, 17 Aug 2025 23:22:40 +0200 Subject: [PATCH 087/271] reactivity and code cleanup --- packages/react-router/src/link.tsx | 64 +++++++++-------------- packages/react-router/src/useNavigate.tsx | 3 +- packages/solid-router/src/link.tsx | 12 +++-- packages/solid-router/src/useNavigate.tsx | 3 +- 4 files changed, 37 insertions(+), 45 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index 45ab8e00965..f95866477c6 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -4,6 +4,7 @@ import { deepEqual, exactPathTest, functionalUpdate, + last, preloadWarning, removeTrailingSlash, } from '@tanstack/router-core' @@ -104,24 +105,28 @@ export function useLinkProps< select: (match) => match.index, }) - const getFrom = React.useCallback(() => { - const currentRouteMatches = router.matchRoutes(router.latestLocation, { - _buildLocation: false, - }) + // Track the active location to ensure recomputation on path changes + const activeLocation = useRouterState({ + select: (s) => s.location, + structuralSharing: true as any, + }) - return ( - options.from ?? - currentRouteMatches.slice(-1)[0]?.fullPath ?? - router.state.matches[matchIndex]!.fullPath - ) - }, [router, options.from, matchIndex]) + const _options = React.useMemo(() => { + const currentRouteMatches = router.matchRoutes(activeLocation, { + _buildLocation: false, + }) - const next = React.useMemo( - () => router.buildLocation({ ...options, from: getFrom() } as any), + const from = options.from ?? + last(currentRouteMatches)?.fullPath ?? + router.state.matches[matchIndex]!.fullPath + + return {...options, from} + }, // eslint-disable-next-line react-hooks/exhaustive-deps [ router, currentSearch, + activeLocation, options._fromLocation, options.from, options.hash, @@ -131,8 +136,12 @@ export function useLinkProps< options.state, options.mask, options.unsafeRelative, - getFrom, - ], + ] + ) + + const next = React.useMemo( + () => router.buildLocation({ ..._options } as any), + [router, _options] ) const isExternal = type === 'external' @@ -196,33 +205,13 @@ export function useLinkProps< const doPreload = React.useCallback( () => { router - .preloadRoute({ ...options, from: getFrom() } as any) + .preloadRoute({ ... _options } as any) .catch((err) => { console.warn(err) console.warn(preloadWarning) }) }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [ - router, - options.to, - options._fromLocation, - options.from, - options.search, - options.hash, - options.params, - options.state, - options.mask, - options.unsafeRelative, - options.hashScrollIntoView, - options.href, - options.ignoreBlocker, - options.reloadDocument, - options.replace, - options.resetScroll, - options.viewTransition, - getFrom, - ], + [router, _options] ) const preloadViewportIoCallback = React.useCallback( @@ -274,8 +263,7 @@ export function useLinkProps< // All is well? Navigate! // N.B. we don't call `router.commitLocation(next) here because we want to run `validateSearch` before committing router.navigate({ - ...options, - from: getFrom(), + ..._options, replace, resetScroll, hashScrollIntoView, diff --git a/packages/react-router/src/useNavigate.tsx b/packages/react-router/src/useNavigate.tsx index f70f464236a..83b5f63298c 100644 --- a/packages/react-router/src/useNavigate.tsx +++ b/packages/react-router/src/useNavigate.tsx @@ -1,4 +1,5 @@ import * as React from 'react' +import { last } from '@tanstack/router-core' import { useRouter } from './useRouter' import { useMatch } from './useMatch' import type { @@ -33,7 +34,7 @@ export function useNavigate< const from = options.from ?? _defaultOpts?.from ?? - currentRouteMatches.slice(-1)[0]?.fullPath ?? + last(currentRouteMatches)?.fullPath ?? router.state.matches[matchIndex]!.fullPath return router.navigate({ diff --git a/packages/solid-router/src/link.tsx b/packages/solid-router/src/link.tsx index 1308040024c..cc5d7609a51 100644 --- a/packages/solid-router/src/link.tsx +++ b/packages/solid-router/src/link.tsx @@ -6,6 +6,7 @@ import { deepEqual, exactPathTest, functionalUpdate, + last, preloadWarning, removeTrailingSlash, } from '@tanstack/router-core' @@ -147,19 +148,20 @@ export function useLinkProps< const activeLocation = useRouterState({ select: (s) => s.location }) - const _options = () => { + const from = Solid.createMemo(() => { const currentRouteMatches = router.matchRoutes(activeLocation(), { _buildLocation: false, }) - const from = - options.from ?? - currentRouteMatches.slice(-1)[0]?.fullPath ?? + return options.from ?? + last(currentRouteMatches)?.fullPath ?? router.state.matches[matchIndex()]!.fullPath + }) + const _options = () => { return { ...options, - from, + from: from(), } } diff --git a/packages/solid-router/src/useNavigate.tsx b/packages/solid-router/src/useNavigate.tsx index 5b447507146..a0b99751cb7 100644 --- a/packages/solid-router/src/useNavigate.tsx +++ b/packages/solid-router/src/useNavigate.tsx @@ -1,4 +1,5 @@ import * as Solid from 'solid-js' +import { last } from '@tanstack/router-core' import { useRouter } from './useRouter' import { useMatch } from './useMatch' import type { @@ -32,7 +33,7 @@ export function useNavigate< from: options.from ?? _defaultOpts?.from ?? - currentRouteMatches.slice(-1)[0]?.fullPath ?? + last(currentRouteMatches)?.fullPath ?? router.state.matches[matchIndex()]!.fullPath, }) }) as UseNavigateResult From ad7eea5006a227dd4fbb1e056b6e4ff52f99175a Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 22:12:12 +0000 Subject: [PATCH 088/271] ci: apply automated fixes --- packages/react-router/src/link.tsx | 33 ++++++++++++++---------------- packages/solid-router/src/link.tsx | 4 +++- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index f95866477c6..c867370290f 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -107,20 +107,22 @@ export function useLinkProps< // Track the active location to ensure recomputation on path changes const activeLocation = useRouterState({ - select: (s) => s.location, - structuralSharing: true as any, + select: (s) => s.location, + structuralSharing: true as any, }) - const _options = React.useMemo(() => { + const _options = React.useMemo( + () => { const currentRouteMatches = router.matchRoutes(activeLocation, { _buildLocation: false, }) - const from = options.from ?? + const from = + options.from ?? last(currentRouteMatches)?.fullPath ?? router.state.matches[matchIndex]!.fullPath - return {...options, from} + return { ...options, from } }, // eslint-disable-next-line react-hooks/exhaustive-deps [ @@ -136,12 +138,12 @@ export function useLinkProps< options.state, options.mask, options.unsafeRelative, - ] + ], ) const next = React.useMemo( () => router.buildLocation({ ..._options } as any), - [router, _options] + [router, _options], ) const isExternal = type === 'external' @@ -202,17 +204,12 @@ export function useLinkProps< }, }) - const doPreload = React.useCallback( - () => { - router - .preloadRoute({ ... _options } as any) - .catch((err) => { - console.warn(err) - console.warn(preloadWarning) - }) - }, - [router, _options] - ) + const doPreload = React.useCallback(() => { + router.preloadRoute({ ..._options } as any).catch((err) => { + console.warn(err) + console.warn(preloadWarning) + }) + }, [router, _options]) const preloadViewportIoCallback = React.useCallback( (entry: IntersectionObserverEntry | undefined) => { diff --git a/packages/solid-router/src/link.tsx b/packages/solid-router/src/link.tsx index cc5d7609a51..397abdd693d 100644 --- a/packages/solid-router/src/link.tsx +++ b/packages/solid-router/src/link.tsx @@ -153,9 +153,11 @@ export function useLinkProps< _buildLocation: false, }) - return options.from ?? + return ( + options.from ?? last(currentRouteMatches)?.fullPath ?? router.state.matches[matchIndex()]!.fullPath + ) }) const _options = () => { From a75e1913bf7dbfdf39028ef665dfbd8f0687e0f9 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 00:52:23 +0200 Subject: [PATCH 089/271] custom transformers --- packages/react-router/src/index.tsx | 3 + packages/react-router/src/router.ts | 7 ++- packages/router-core/src/index.ts | 4 ++ packages/router-core/src/router.ts | 32 +++++++--- packages/router-core/src/ssr/constants.ts | 1 + .../router-core/src/ssr/seroval-plugins.ts | 2 +- packages/router-core/src/ssr/ssr-client.ts | 32 +++++++++- packages/router-core/src/ssr/ssr-server.ts | 16 +++-- packages/router-core/src/ssr/transformer.ts | 63 +++++++++++++++++++ packages/router-core/src/ssr/tsrScript.ts | 6 +- packages/solid-router/src/index.tsx | 3 + packages/solid-router/src/router.ts | 7 ++- 12 files changed, 155 insertions(+), 21 deletions(-) create mode 100644 packages/router-core/src/ssr/constants.ts create mode 100644 packages/router-core/src/ssr/transformer.ts diff --git a/packages/react-router/src/index.tsx b/packages/react-router/src/index.tsx index 99f621391d3..456445ec2cd 100644 --- a/packages/react-router/src/index.tsx +++ b/packages/react-router/src/index.tsx @@ -30,6 +30,7 @@ export { createControlledPromise, retainSearchParams, stripSearchParams, + createTransformer, } from '@tanstack/router-core' export type { @@ -110,6 +111,8 @@ export type { RouteById, RootRouteOptions, CreateFileRoute, + Transformer, + AnyTransformer, } from '@tanstack/router-core' export { diff --git a/packages/react-router/src/router.ts b/packages/react-router/src/router.ts index c48e04ccfb3..ccbe66927a8 100644 --- a/packages/react-router/src/router.ts +++ b/packages/react-router/src/router.ts @@ -87,12 +87,14 @@ export class Router< in out TDefaultStructuralSharingOption extends boolean = false, in out TRouterHistory extends RouterHistory = RouterHistory, in out TDehydrated extends Record = Record, + in out TTransformerConfig = any, > extends RouterCore< TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig > { constructor( options: RouterConstructorOptions< @@ -100,7 +102,8 @@ export class Router< TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig >, ) { super(options) diff --git a/packages/router-core/src/index.ts b/packages/router-core/src/index.ts index 13befd23e82..8b1dc7e411c 100644 --- a/packages/router-core/src/index.ts +++ b/packages/router-core/src/index.ts @@ -411,3 +411,7 @@ export type { ValidateUseSearchResult, ValidateUseParamsResult, } from './typePrimitives' + +export type { AnyTransformer, Transformer } from './ssr/transformer' + +export { createTransformer } from './ssr/transformer' diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index 7f765a4806d..b30697e52f8 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -117,6 +117,7 @@ export interface RouterOptions< TDefaultStructuralSharingOption extends boolean = false, TRouterHistory extends RouterHistory = RouterHistory, TDehydrated extends Record = Record, + TTransformerConfig = any, > extends RouterOptionsExtensions { /** * The history object that will be used to manage the browser history. @@ -421,6 +422,8 @@ export interface RouterOptions< * @default false */ disableGlobalCatchBoundary?: boolean + + transformers?: TTransformerConfig } export interface RouterState< @@ -529,13 +532,15 @@ export type RouterConstructorOptions< TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record, + TTransformerConfig, > = Omit< RouterOptions< TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig >, 'context' > & @@ -595,13 +600,15 @@ export type UpdateFn< TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record, + TTransformerConfig extends any, > = ( newOptions: RouterConstructorOptions< TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig >, ) => void @@ -686,10 +693,11 @@ export type AnyRouterWithContext = RouterCore< any, any, any, + any, any > -export type AnyRouter = RouterCore +export type AnyRouter = RouterCore export interface ViewTransitionOptions { types: @@ -703,6 +711,7 @@ export interface ViewTransitionOptions { }) => Array) } +// TODO where is this used? can we remove this? export function defaultSerializeError(err: unknown) { if (err instanceof Error) { const obj = { @@ -742,6 +751,7 @@ export type CreateRouterFn = < TDefaultStructuralSharingOption extends boolean = false, TRouterHistory extends RouterHistory = RouterHistory, TDehydrated extends Record = Record, + TTransformerConfig = any, >( options: undefined extends number ? 'strictNullChecks must be enabled in tsconfig.json' @@ -750,14 +760,16 @@ export type CreateRouterFn = < TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig >, ) => RouterCore< TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig > export class RouterCore< @@ -766,6 +778,7 @@ export class RouterCore< in out TDefaultStructuralSharingOption extends boolean, in out TRouterHistory extends RouterHistory = RouterHistory, in out TDehydrated extends Record = Record, + in out TTransformerConfig = any, > { // Option-independent properties tempLocationKey: string | undefined = `${Math.round( @@ -787,7 +800,8 @@ export class RouterCore< TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig >, 'stringifySearch' | 'parseSearch' | 'context' > @@ -810,7 +824,8 @@ export class RouterCore< TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig >, ) { this.update({ @@ -848,7 +863,8 @@ export class RouterCore< TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig > = (newOptions) => { if (newOptions.notFoundRoute) { console.warn( diff --git a/packages/router-core/src/ssr/constants.ts b/packages/router-core/src/ssr/constants.ts new file mode 100644 index 00000000000..45cb85950ad --- /dev/null +++ b/packages/router-core/src/ssr/constants.ts @@ -0,0 +1 @@ +export const GLOBAL_TSR = '$_TSR' diff --git a/packages/router-core/src/ssr/seroval-plugins.ts b/packages/router-core/src/ssr/seroval-plugins.ts index f60b8a5657f..5bdbf429862 100644 --- a/packages/router-core/src/ssr/seroval-plugins.ts +++ b/packages/router-core/src/ssr/seroval-plugins.ts @@ -13,7 +13,7 @@ export const ShallowErrorPlugin = /* @__PURE__ */ createPlugin< Error, ErrorNode >({ - tag: 'tanstack-start:seroval-plugins/Error', + tag: 'tanstack-router:seroval-plugins/Error', test(value) { return value instanceof Error }, diff --git a/packages/router-core/src/ssr/ssr-client.ts b/packages/router-core/src/ssr/ssr-client.ts index 75af28a76d7..597c87b74fe 100644 --- a/packages/router-core/src/ssr/ssr-client.ts +++ b/packages/router-core/src/ssr/ssr-client.ts @@ -5,7 +5,8 @@ import type { AnyRouteMatch, MakeRouteMatch } from '../Matches' import type { AnyRouter } from '../router' import type { Manifest } from '../manifest' import type { RouteContextOptions } from '../route' -import type { GLOBAL_TSR } from './ssr-server' +import type { AnyTransformer } from './transformer' +import type { GLOBAL_TSR } from './constants' declare global { interface Window { @@ -15,8 +16,15 @@ declare global { export interface TsrSsrGlobal { router?: DehydratedRouter - // clean scripts, shortened since this is sent for each streamed script + // clean scripts; shortened since this is sent for each streamed script c: () => void + // push script into buffer; shortened since this is sent for each streamed script as soon as the first custom transformer was invoked + p: (script: () => void) => void + buffer: Array<() => void> + // custom transformers, shortened since this is sent for each streamed value that needs a custom transformer + t?: Map any> + // this flag indicates whether the transformers were initialized + initialized?: boolean } function hydrateMatch( @@ -50,7 +58,25 @@ export interface DehydratedRouter { export async function hydrate(router: AnyRouter): Promise { invariant( - window.$_TSR?.router, + window.$_TSR, + 'Expected to find bootstrap data on window.$_TSR, but we did not. Please file an issue!', + ) + + const transformers = router.options.transformers as + | Array + | undefined + + if (transformers?.length) { + window.$_TSR.t = new Map() + transformers.forEach((transformer) => { + window.$_TSR!.t!.set(transformer.key, transformer.fromValue) + }) + window.$_TSR.buffer.forEach((script) => script()) + } + window.$_TSR.initialized = true + + invariant( + window.$_TSR.router, 'Expected to find a dehydrated data on window.$_TSR.router, but we did not. Please file an issue!', ) diff --git a/packages/router-core/src/ssr/ssr-server.ts b/packages/router-core/src/ssr/ssr-server.ts index 3c17e456b6c..eb94eee5fd8 100644 --- a/packages/router-core/src/ssr/ssr-server.ts +++ b/packages/router-core/src/ssr/ssr-server.ts @@ -4,11 +4,13 @@ import invariant from 'tiny-invariant' import { createControlledPromise } from '../utils' import minifiedTsrBootStrapScript from './tsrScript?script-string' import { ShallowErrorPlugin } from './seroval-plugins' +import { GLOBAL_TSR } from './constants' import type { AnyRouter } from '../router' import type { DehydratedMatch } from './ssr-client' import type { DehydratedRouter } from './client' import type { AnyRouteMatch } from '../Matches' import type { Manifest } from '../manifest' +import type { AnyTransformer } from './transformer' declare module '../router' { interface ServerSsr { @@ -22,7 +24,6 @@ declare module '../router' { } } -export const GLOBAL_TSR = '$_TSR' const SCOPE_ID = 'tsr' export function dehydrateMatch(match: AnyRouteMatch): DehydratedMatch { @@ -106,12 +107,19 @@ export function attachRouterServerSsrUtils( _dehydrated = true const p = createControlledPromise() + const trackPlugins = { didRun: false } + const plugins = + (router.options.transformers as Array | undefined)?.map( + (t) => t.makePlugin(trackPlugins), + ) ?? [] crossSerializeStream(dehydratedRouter, { refs: serializationRefs, - // TODO make plugins configurable - plugins: [ReadableStreamPlugin, ShallowErrorPlugin], + plugins: [...plugins, ReadableStreamPlugin, ShallowErrorPlugin], onSerialize: (data, initial) => { - const serialized = initial ? `${GLOBAL_TSR}["router"]=` + data : data + let serialized = initial ? GLOBAL_TSR + '.router=' + data : data + if (trackPlugins.didRun) { + serialized = GLOBAL_TSR + '.p(()=>' + serialized + ')' + } router.serverSsr!.injectScript(() => serialized) }, scopeId: SCOPE_ID, diff --git a/packages/router-core/src/ssr/transformer.ts b/packages/router-core/src/ssr/transformer.ts new file mode 100644 index 00000000000..f606e4dc5e7 --- /dev/null +++ b/packages/router-core/src/ssr/transformer.ts @@ -0,0 +1,63 @@ +import { createPlugin } from 'seroval' +import { GLOBAL_TSR } from './constants' +import type { SerovalNode } from 'seroval' + +export type Transformer = { + key: string + toValue: (value: TInput) => TTransformed + fromValue: (value: TTransformed) => TInput + makePlugin: (options: { + didRun: boolean + }) => ReturnType> +} + +export type AnyTransformer = Transformer + +export function createTransformer< + TKey extends string, + TInput, + TTransformed /* we need to check that this type is actually serializable taking into account all seroval native types and any custom plugin WE=router/start add!!! */, +>({ + key, + test, + toValue, + fromValue, +}: { + key: TKey + test: (value: any) => value is TInput + // TODO we need a better naming for `toValue` and `fromValue` + // `toValue` is a function that transforms the input value to a serializable value. + // it is NOT `stringify`, as the result is not necessarily a string. It can be an object, Map, etc. whatever seroval is able to serialize. + toValue: (value: TInput) => TTransformed + fromValue: (value: TTransformed) => TInput +}): Transformer { + const makePlugin = (options: { didRun: boolean }) => + createPlugin({ + tag: `tanstack-router:transformer/${key}`, + test, + parse: { + sync(value, ctx) { + return ctx.parse(toValue(value)) + }, + async async(value, ctx) { + return await ctx.parse(toValue(value)) + }, + stream(value, ctx) { + return ctx.parse(toValue(value)) + }, + }, + serialize(node, ctx) { + options.didRun = true + return GLOBAL_TSR + '.t.get("' + key + '")(' + ctx.serialize(node) + ')' + }, + deserialize(node, ctx) { + return fromValue(ctx.deserialize(node) as TTransformed) + }, + }) + return { + makePlugin, + key, + toValue, + fromValue, + } +} diff --git a/packages/router-core/src/ssr/tsrScript.ts b/packages/router-core/src/ssr/tsrScript.ts index bd8c2a0e0fa..c399733fd82 100644 --- a/packages/router-core/src/ssr/tsrScript.ts +++ b/packages/router-core/src/ssr/tsrScript.ts @@ -1,7 +1,11 @@ self.$_TSR = { - c: () => { + c() { document.querySelectorAll('.\\$tsr').forEach((o) => { o.remove() }) }, + p(script) { + !this.initialized ? this.buffer.push(script) : script() + }, + buffer: [], } diff --git a/packages/solid-router/src/index.tsx b/packages/solid-router/src/index.tsx index 2feabdaa13e..acf1a156c23 100644 --- a/packages/solid-router/src/index.tsx +++ b/packages/solid-router/src/index.tsx @@ -30,6 +30,7 @@ export { createControlledPromise, retainSearchParams, stripSearchParams, + createTransformer, } from '@tanstack/router-core' export type { @@ -192,6 +193,8 @@ export type { InjectedHtmlEntry, CreateFileRoute, CreateLazyFileRoute, + Transformer, + AnyTransformer, } from '@tanstack/router-core' export { diff --git a/packages/solid-router/src/router.ts b/packages/solid-router/src/router.ts index fd79cc6cf6b..90a1a71ea7d 100644 --- a/packages/solid-router/src/router.ts +++ b/packages/solid-router/src/router.ts @@ -83,12 +83,14 @@ export class Router< in out TDefaultStructuralSharingOption extends boolean = false, in out TRouterHistory extends RouterHistory = RouterHistory, in out TDehydrated extends Record = Record, + in out TTransformerConfig = any, > extends RouterCore< TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig > { constructor( options: RouterConstructorOptions< @@ -96,7 +98,8 @@ export class Router< TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, - TDehydrated + TDehydrated, + TTransformerConfig >, ) { super(options) From f82aaab156bffde95e89767322afea1d238d505b Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 00:52:30 +0200 Subject: [PATCH 090/271] example usage --- examples/react/start-basic/src/foo.ts | 5 +++++ examples/react/start-basic/src/router.tsx | 15 ++++++++++++++- examples/react/start-basic/src/routes/index.tsx | 3 +++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 examples/react/start-basic/src/foo.ts diff --git a/examples/react/start-basic/src/foo.ts b/examples/react/start-basic/src/foo.ts new file mode 100644 index 00000000000..95a0f79a222 --- /dev/null +++ b/examples/react/start-basic/src/foo.ts @@ -0,0 +1,5 @@ +export class Foo { + constructor(public bar: string) { + console.log('Foo instance created', bar) + } +} diff --git a/examples/react/start-basic/src/router.tsx b/examples/react/start-basic/src/router.tsx index c76eb0210cc..ce9b978c534 100644 --- a/examples/react/start-basic/src/router.tsx +++ b/examples/react/start-basic/src/router.tsx @@ -1,7 +1,11 @@ -import { createRouter as createTanStackRouter } from '@tanstack/react-router' +import { + createRouter as createTanStackRouter, + createTransformer, +} from '@tanstack/react-router' import { routeTree } from './routeTree.gen' import { DefaultCatchBoundary } from './components/DefaultCatchBoundary' import { NotFound } from './components/NotFound' +import { Foo } from './foo' export function createRouter() { const router = createTanStackRouter({ @@ -10,6 +14,15 @@ export function createRouter() { defaultErrorComponent: DefaultCatchBoundary, defaultNotFoundComponent: () => , scrollRestoration: true, + transformers: [ + createTransformer({ + key: 'foo', + test: (value): value is Foo => value instanceof Foo, + // order of properties matters for typescript inference + toValue: (value) => value.bar, + fromValue: (value) => new Foo(value), + }), + ], }) return router diff --git a/examples/react/start-basic/src/routes/index.tsx b/examples/react/start-basic/src/routes/index.tsx index 37c8d237bd4..bfe1517b6f5 100644 --- a/examples/react/start-basic/src/routes/index.tsx +++ b/examples/react/start-basic/src/routes/index.tsx @@ -1,5 +1,8 @@ import { createFileRoute } from '@tanstack/react-router' +import { Foo } from '~/foo' + export const Route = createFileRoute('/')({ + loader: () => new Foo('xyz'), component: Home, }) From 43c01fb9d2ca932b5af62265c581e837bf5e0d90 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 19:37:32 +0200 Subject: [PATCH 091/271] rename --- examples/react/start-basic/src/router.tsx | 12 ++++----- packages/react-router/src/index.tsx | 2 +- packages/router-core/src/index.ts | 2 +- packages/router-core/src/router.ts | 2 +- packages/router-core/src/ssr/ssr-client.ts | 11 ++++---- packages/router-core/src/ssr/ssr-server.ts | 8 +++--- packages/router-core/src/ssr/transformer.ts | 29 +++++++++------------ packages/solid-router/src/index.tsx | 2 +- 8 files changed, 34 insertions(+), 34 deletions(-) diff --git a/examples/react/start-basic/src/router.tsx b/examples/react/start-basic/src/router.tsx index ce9b978c534..5ac0a5dd9bc 100644 --- a/examples/react/start-basic/src/router.tsx +++ b/examples/react/start-basic/src/router.tsx @@ -1,6 +1,6 @@ import { + createSerializationAdapter, createRouter as createTanStackRouter, - createTransformer, } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' import { DefaultCatchBoundary } from './components/DefaultCatchBoundary' @@ -14,13 +14,13 @@ export function createRouter() { defaultErrorComponent: DefaultCatchBoundary, defaultNotFoundComponent: () => , scrollRestoration: true, - transformers: [ - createTransformer({ + serializationAdapters: [ + createSerializationAdapter({ key: 'foo', - test: (value): value is Foo => value instanceof Foo, + test: (value) => value instanceof Foo, // order of properties matters for typescript inference - toValue: (value) => value.bar, - fromValue: (value) => new Foo(value), + toSerializable: (value) => value.bar, + fromSerializable: (value) => new Foo(value), }), ], }) diff --git a/packages/react-router/src/index.tsx b/packages/react-router/src/index.tsx index 456445ec2cd..36fc19cd2a8 100644 --- a/packages/react-router/src/index.tsx +++ b/packages/react-router/src/index.tsx @@ -30,7 +30,7 @@ export { createControlledPromise, retainSearchParams, stripSearchParams, - createTransformer, + createSerializationAdapter, } from '@tanstack/router-core' export type { diff --git a/packages/router-core/src/index.ts b/packages/router-core/src/index.ts index 8b1dc7e411c..74bc8629326 100644 --- a/packages/router-core/src/index.ts +++ b/packages/router-core/src/index.ts @@ -414,4 +414,4 @@ export type { export type { AnyTransformer, Transformer } from './ssr/transformer' -export { createTransformer } from './ssr/transformer' +export { createSerializationAdapter } from './ssr/transformer' diff --git a/packages/router-core/src/router.ts b/packages/router-core/src/router.ts index b30697e52f8..098b2d8dc33 100644 --- a/packages/router-core/src/router.ts +++ b/packages/router-core/src/router.ts @@ -423,7 +423,7 @@ export interface RouterOptions< */ disableGlobalCatchBoundary?: boolean - transformers?: TTransformerConfig + serializationAdapters?: TTransformerConfig } export interface RouterState< diff --git a/packages/router-core/src/ssr/ssr-client.ts b/packages/router-core/src/ssr/ssr-client.ts index 597c87b74fe..6ecaa90bd2f 100644 --- a/packages/router-core/src/ssr/ssr-client.ts +++ b/packages/router-core/src/ssr/ssr-client.ts @@ -62,15 +62,16 @@ export async function hydrate(router: AnyRouter): Promise { 'Expected to find bootstrap data on window.$_TSR, but we did not. Please file an issue!', ) - const transformers = router.options.transformers as + const serializationAdapters = router.options.serializationAdapters as | Array | undefined - if (transformers?.length) { - window.$_TSR.t = new Map() - transformers.forEach((transformer) => { - window.$_TSR!.t!.set(transformer.key, transformer.fromValue) + if (serializationAdapters?.length) { + const fromSerializableMap = new Map() + serializationAdapters.forEach((adapter) => { + fromSerializableMap.set(adapter.key, adapter.fromSerializable) }) + window.$_TSR.t = fromSerializableMap window.$_TSR.buffer.forEach((script) => script()) } window.$_TSR.initialized = true diff --git a/packages/router-core/src/ssr/ssr-server.ts b/packages/router-core/src/ssr/ssr-server.ts index eb94eee5fd8..824d22dd449 100644 --- a/packages/router-core/src/ssr/ssr-server.ts +++ b/packages/router-core/src/ssr/ssr-server.ts @@ -109,9 +109,11 @@ export function attachRouterServerSsrUtils( const p = createControlledPromise() const trackPlugins = { didRun: false } const plugins = - (router.options.transformers as Array | undefined)?.map( - (t) => t.makePlugin(trackPlugins), - ) ?? [] + ( + router.options.serializationAdapters as + | Array + | undefined + )?.map((t) => t.makePlugin(trackPlugins)) ?? [] crossSerializeStream(dehydratedRouter, { refs: serializationRefs, plugins: [...plugins, ReadableStreamPlugin, ShallowErrorPlugin], diff --git a/packages/router-core/src/ssr/transformer.ts b/packages/router-core/src/ssr/transformer.ts index f606e4dc5e7..9b7778e34cc 100644 --- a/packages/router-core/src/ssr/transformer.ts +++ b/packages/router-core/src/ssr/transformer.ts @@ -4,8 +4,8 @@ import type { SerovalNode } from 'seroval' export type Transformer = { key: string - toValue: (value: TInput) => TTransformed - fromValue: (value: TTransformed) => TInput + toSerializable: (value: TInput) => TTransformed + fromSerializable: (value: TTransformed) => TInput makePlugin: (options: { didRun: boolean }) => ReturnType> @@ -13,23 +13,20 @@ export type Transformer = { export type AnyTransformer = Transformer -export function createTransformer< +export function createSerializationAdapter< TKey extends string, TInput, TTransformed /* we need to check that this type is actually serializable taking into account all seroval native types and any custom plugin WE=router/start add!!! */, >({ key, test, - toValue, - fromValue, + toSerializable, + fromSerializable, }: { key: TKey test: (value: any) => value is TInput - // TODO we need a better naming for `toValue` and `fromValue` - // `toValue` is a function that transforms the input value to a serializable value. - // it is NOT `stringify`, as the result is not necessarily a string. It can be an object, Map, etc. whatever seroval is able to serialize. - toValue: (value: TInput) => TTransformed - fromValue: (value: TTransformed) => TInput + toSerializable: (value: TInput) => TTransformed + fromSerializable: (value: TTransformed) => TInput }): Transformer { const makePlugin = (options: { didRun: boolean }) => createPlugin({ @@ -37,13 +34,13 @@ export function createTransformer< test, parse: { sync(value, ctx) { - return ctx.parse(toValue(value)) + return ctx.parse(toSerializable(value)) }, async async(value, ctx) { - return await ctx.parse(toValue(value)) + return await ctx.parse(toSerializable(value)) }, stream(value, ctx) { - return ctx.parse(toValue(value)) + return ctx.parse(toSerializable(value)) }, }, serialize(node, ctx) { @@ -51,13 +48,13 @@ export function createTransformer< return GLOBAL_TSR + '.t.get("' + key + '")(' + ctx.serialize(node) + ')' }, deserialize(node, ctx) { - return fromValue(ctx.deserialize(node) as TTransformed) + return fromSerializable(ctx.deserialize(node) as TTransformed) }, }) return { makePlugin, key, - toValue, - fromValue, + toSerializable, + fromSerializable, } } diff --git a/packages/solid-router/src/index.tsx b/packages/solid-router/src/index.tsx index acf1a156c23..21040633947 100644 --- a/packages/solid-router/src/index.tsx +++ b/packages/solid-router/src/index.tsx @@ -30,7 +30,7 @@ export { createControlledPromise, retainSearchParams, stripSearchParams, - createTransformer, + createSerializationAdapter, } from '@tanstack/router-core' export type { From e459efd26ccfb33ce418ad13db5fca938cc0770f Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 19:37:32 +0200 Subject: [PATCH 092/271] don't duplicate test fixture in e2e tests --- .../tests => e2e-utils/src}/fixture.ts | 0 e2e/e2e-utils/src/index.ts | 1 + .../sentry-integration/tests/app.spec.ts | 3 +- e2e/react-start/basic/tests/fixture.ts | 28 ------------------- .../basic/tests/navigation.spec.ts | 4 ++- e2e/react-start/basic/tests/not-found.spec.ts | 2 +- e2e/react-start/basic/tests/params.spec.ts | 4 ++- e2e/react-start/basic/tests/redirect.spec.ts | 2 +- .../basic/tests/search-params.spec.ts | 2 +- e2e/react-start/basic/tests/streaming.spec.ts | 3 +- .../query-integration/tests/app.spec.ts | 2 +- .../query-integration/tests/fixture.ts | 28 ------------------- .../selective-ssr/tests/app.spec.ts | 2 +- .../selective-ssr/tests/fixture.ts | 28 ------------------- .../server-functions/tests/fixture.ts | 28 ------------------- .../tests/server-functions.spec.ts | 4 +-- .../server-routes/tests/fixture.ts | 28 ------------------- .../server-routes/tests/server-routes.spec.ts | 3 +- e2e/react-start/spa-mode/tests/app.spec.ts | 2 +- e2e/react-start/spa-mode/tests/fixture.ts | 28 ------------------- e2e/solid-start/basic/tests/fixture.ts | 28 ------------------- .../basic/tests/navigation.spec.ts | 3 +- e2e/solid-start/basic/tests/not-found.spec.ts | 2 +- e2e/solid-start/basic/tests/redirect.spec.ts | 2 +- .../basic/tests/search-params.spec.ts | 2 +- e2e/solid-start/basic/tests/streaming.spec.ts | 3 +- .../selective-ssr/tests/app.spec.ts | 2 +- .../selective-ssr/tests/fixture.ts | 28 ------------------- .../server-functions/tests/fixture.ts | 28 ------------------- .../tests/server-functions.spec.ts | 3 +- .../server-routes/tests/fixture.ts | 28 ------------------- .../server-routes/tests/server-routes.spec.ts | 3 +- e2e/solid-start/spa-mode/tests/app.spec.ts | 2 +- e2e/solid-start/spa-mode/tests/fixture.ts | 28 ------------------- 34 files changed, 33 insertions(+), 331 deletions(-) rename e2e/{react-router/sentry-integration/tests => e2e-utils/src}/fixture.ts (100%) delete mode 100644 e2e/react-start/basic/tests/fixture.ts delete mode 100644 e2e/react-start/query-integration/tests/fixture.ts delete mode 100644 e2e/react-start/selective-ssr/tests/fixture.ts delete mode 100644 e2e/react-start/server-functions/tests/fixture.ts delete mode 100644 e2e/react-start/server-routes/tests/fixture.ts delete mode 100644 e2e/react-start/spa-mode/tests/fixture.ts delete mode 100644 e2e/solid-start/basic/tests/fixture.ts delete mode 100644 e2e/solid-start/selective-ssr/tests/fixture.ts delete mode 100644 e2e/solid-start/server-functions/tests/fixture.ts delete mode 100644 e2e/solid-start/server-routes/tests/fixture.ts delete mode 100644 e2e/solid-start/spa-mode/tests/fixture.ts diff --git a/e2e/react-router/sentry-integration/tests/fixture.ts b/e2e/e2e-utils/src/fixture.ts similarity index 100% rename from e2e/react-router/sentry-integration/tests/fixture.ts rename to e2e/e2e-utils/src/fixture.ts diff --git a/e2e/e2e-utils/src/index.ts b/e2e/e2e-utils/src/index.ts index 59cbb0bc62c..2a4219ddcf1 100644 --- a/e2e/e2e-utils/src/index.ts +++ b/e2e/e2e-utils/src/index.ts @@ -4,3 +4,4 @@ export { toRuntimePath } from './to-runtime-path' export { resolveRuntimeSuffix } from './resolve-runtime-suffix' export { e2eStartDummyServer, e2eStopDummyServer } from './e2eSetupTeardown' export type { Post } from './posts' +export { test } from './fixture' diff --git a/e2e/react-router/sentry-integration/tests/app.spec.ts b/e2e/react-router/sentry-integration/tests/app.spec.ts index 9a3b53a966e..1de2800c80a 100644 --- a/e2e/react-router/sentry-integration/tests/app.spec.ts +++ b/e2e/react-router/sentry-integration/tests/app.spec.ts @@ -1,6 +1,5 @@ import { expect } from '@playwright/test' - -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' test.beforeEach(async ({ page }) => { await page.goto('/') diff --git a/e2e/react-start/basic/tests/fixture.ts b/e2e/react-start/basic/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/react-start/basic/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/react-start/basic/tests/navigation.spec.ts b/e2e/react-start/basic/tests/navigation.spec.ts index 5d21f2adbe1..1695b650025 100644 --- a/e2e/react-start/basic/tests/navigation.spec.ts +++ b/e2e/react-start/basic/tests/navigation.spec.ts @@ -1,4 +1,6 @@ -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' + +import { test } from '@tanstack/router-e2e-utils' test('Navigating to post', async ({ page }) => { await page.goto('/') diff --git a/e2e/react-start/basic/tests/not-found.spec.ts b/e2e/react-start/basic/tests/not-found.spec.ts index 0d83ab52802..ab1c94eee90 100644 --- a/e2e/react-start/basic/tests/not-found.spec.ts +++ b/e2e/react-start/basic/tests/not-found.spec.ts @@ -1,6 +1,6 @@ import { expect } from '@playwright/test' import combinateImport from 'combinate' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' // somehow playwright does not correctly import default exports const combinate = (combinateImport as any).default as typeof combinateImport diff --git a/e2e/react-start/basic/tests/params.spec.ts b/e2e/react-start/basic/tests/params.spec.ts index b22c3e26554..09148f622f3 100644 --- a/e2e/react-start/basic/tests/params.spec.ts +++ b/e2e/react-start/basic/tests/params.spec.ts @@ -1,4 +1,6 @@ -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' + +import { test } from '@tanstack/router-e2e-utils' test.beforeEach(async ({ page }) => { await page.goto('/') diff --git a/e2e/react-start/basic/tests/redirect.spec.ts b/e2e/react-start/basic/tests/redirect.spec.ts index 233b340bd64..78c57d6a00b 100644 --- a/e2e/react-start/basic/tests/redirect.spec.ts +++ b/e2e/react-start/basic/tests/redirect.spec.ts @@ -4,9 +4,9 @@ import combinateImport from 'combinate' import { getDummyServerPort, getTestServerPort, + test, } from '@tanstack/router-e2e-utils' import packageJson from '../package.json' with { type: 'json' } -import { test } from './fixture' // somehow playwright does not correctly import default exports const combinate = (combinateImport as any).default as typeof combinateImport diff --git a/e2e/react-start/basic/tests/search-params.spec.ts b/e2e/react-start/basic/tests/search-params.spec.ts index 23cd97517d6..d7ce6178900 100644 --- a/e2e/react-start/basic/tests/search-params.spec.ts +++ b/e2e/react-start/basic/tests/search-params.spec.ts @@ -1,5 +1,5 @@ import { expect } from '@playwright/test' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' import type { Response } from '@playwright/test' function expectRedirect(response: Response | null, endsWith: string) { diff --git a/e2e/react-start/basic/tests/streaming.spec.ts b/e2e/react-start/basic/tests/streaming.spec.ts index 252bb192aaf..15f60b7deb9 100644 --- a/e2e/react-start/basic/tests/streaming.spec.ts +++ b/e2e/react-start/basic/tests/streaming.spec.ts @@ -1,4 +1,5 @@ -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' +import { test } from '@tanstack/router-e2e-utils' test('Navigating to deferred route', async ({ page }) => { await page.goto('/') diff --git a/e2e/react-start/query-integration/tests/app.spec.ts b/e2e/react-start/query-integration/tests/app.spec.ts index 5c78722d20f..b55f0db8012 100644 --- a/e2e/react-start/query-integration/tests/app.spec.ts +++ b/e2e/react-start/query-integration/tests/app.spec.ts @@ -1,5 +1,5 @@ import { expect } from '@playwright/test' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' // if the query would not be streamed to the client, it would re-execute on the client // and thus cause a hydration mismatch since the query function returns 'client' when executed on the client diff --git a/e2e/react-start/query-integration/tests/fixture.ts b/e2e/react-start/query-integration/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/react-start/query-integration/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/react-start/selective-ssr/tests/app.spec.ts b/e2e/react-start/selective-ssr/tests/app.spec.ts index b013dfb1694..aea216d5065 100644 --- a/e2e/react-start/selective-ssr/tests/app.spec.ts +++ b/e2e/react-start/selective-ssr/tests/app.spec.ts @@ -1,5 +1,5 @@ import { expect } from '@playwright/test' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' const testCount = 7 diff --git a/e2e/react-start/selective-ssr/tests/fixture.ts b/e2e/react-start/selective-ssr/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/react-start/selective-ssr/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/react-start/server-functions/tests/fixture.ts b/e2e/react-start/server-functions/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/react-start/server-functions/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/react-start/server-functions/tests/server-functions.spec.ts b/e2e/react-start/server-functions/tests/server-functions.spec.ts index d46beeda324..9e5cbe45d3d 100644 --- a/e2e/react-start/server-functions/tests/server-functions.spec.ts +++ b/e2e/react-start/server-functions/tests/server-functions.spec.ts @@ -1,6 +1,6 @@ import * as fs from 'node:fs' -import { expect, test } from '@playwright/test' -import { getTestServerPort } from '@tanstack/router-e2e-utils' +import { expect } from '@playwright/test' +import { getTestServerPort, test } from '@tanstack/router-e2e-utils' import packageJson from '../package.json' with { type: 'json' } import type { Page } from '@playwright/test' diff --git a/e2e/react-start/server-routes/tests/fixture.ts b/e2e/react-start/server-routes/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/react-start/server-routes/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/react-start/server-routes/tests/server-routes.spec.ts b/e2e/react-start/server-routes/tests/server-routes.spec.ts index 098a40b2efe..33176a23fd2 100644 --- a/e2e/react-start/server-routes/tests/server-routes.spec.ts +++ b/e2e/react-start/server-routes/tests/server-routes.spec.ts @@ -1,4 +1,5 @@ -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' +import { test } from '@tanstack/router-e2e-utils' test('merge-server-fn-middleware-context', async ({ page }) => { await page.goto('/merge-server-fn-middleware-context') diff --git a/e2e/react-start/spa-mode/tests/app.spec.ts b/e2e/react-start/spa-mode/tests/app.spec.ts index 8970ec333c8..c18a0ff65d5 100644 --- a/e2e/react-start/spa-mode/tests/app.spec.ts +++ b/e2e/react-start/spa-mode/tests/app.spec.ts @@ -1,5 +1,5 @@ import { expect } from '@playwright/test' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' import type { Page } from '@playwright/test' async function runTest( diff --git a/e2e/react-start/spa-mode/tests/fixture.ts b/e2e/react-start/spa-mode/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/react-start/spa-mode/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/solid-start/basic/tests/fixture.ts b/e2e/solid-start/basic/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/solid-start/basic/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/solid-start/basic/tests/navigation.spec.ts b/e2e/solid-start/basic/tests/navigation.spec.ts index 5d21f2adbe1..0313e6fe1f6 100644 --- a/e2e/solid-start/basic/tests/navigation.spec.ts +++ b/e2e/solid-start/basic/tests/navigation.spec.ts @@ -1,4 +1,5 @@ -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' +import { test } from '@tanstack/router-e2e-utils' test('Navigating to post', async ({ page }) => { await page.goto('/') diff --git a/e2e/solid-start/basic/tests/not-found.spec.ts b/e2e/solid-start/basic/tests/not-found.spec.ts index 0d83ab52802..ab1c94eee90 100644 --- a/e2e/solid-start/basic/tests/not-found.spec.ts +++ b/e2e/solid-start/basic/tests/not-found.spec.ts @@ -1,6 +1,6 @@ import { expect } from '@playwright/test' import combinateImport from 'combinate' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' // somehow playwright does not correctly import default exports const combinate = (combinateImport as any).default as typeof combinateImport diff --git a/e2e/solid-start/basic/tests/redirect.spec.ts b/e2e/solid-start/basic/tests/redirect.spec.ts index 233b340bd64..78c57d6a00b 100644 --- a/e2e/solid-start/basic/tests/redirect.spec.ts +++ b/e2e/solid-start/basic/tests/redirect.spec.ts @@ -4,9 +4,9 @@ import combinateImport from 'combinate' import { getDummyServerPort, getTestServerPort, + test, } from '@tanstack/router-e2e-utils' import packageJson from '../package.json' with { type: 'json' } -import { test } from './fixture' // somehow playwright does not correctly import default exports const combinate = (combinateImport as any).default as typeof combinateImport diff --git a/e2e/solid-start/basic/tests/search-params.spec.ts b/e2e/solid-start/basic/tests/search-params.spec.ts index 23cd97517d6..d7ce6178900 100644 --- a/e2e/solid-start/basic/tests/search-params.spec.ts +++ b/e2e/solid-start/basic/tests/search-params.spec.ts @@ -1,5 +1,5 @@ import { expect } from '@playwright/test' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' import type { Response } from '@playwright/test' function expectRedirect(response: Response | null, endsWith: string) { diff --git a/e2e/solid-start/basic/tests/streaming.spec.ts b/e2e/solid-start/basic/tests/streaming.spec.ts index 252bb192aaf..15f60b7deb9 100644 --- a/e2e/solid-start/basic/tests/streaming.spec.ts +++ b/e2e/solid-start/basic/tests/streaming.spec.ts @@ -1,4 +1,5 @@ -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' +import { test } from '@tanstack/router-e2e-utils' test('Navigating to deferred route', async ({ page }) => { await page.goto('/') diff --git a/e2e/solid-start/selective-ssr/tests/app.spec.ts b/e2e/solid-start/selective-ssr/tests/app.spec.ts index b013dfb1694..aea216d5065 100644 --- a/e2e/solid-start/selective-ssr/tests/app.spec.ts +++ b/e2e/solid-start/selective-ssr/tests/app.spec.ts @@ -1,5 +1,5 @@ import { expect } from '@playwright/test' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' const testCount = 7 diff --git a/e2e/solid-start/selective-ssr/tests/fixture.ts b/e2e/solid-start/selective-ssr/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/solid-start/selective-ssr/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/solid-start/server-functions/tests/fixture.ts b/e2e/solid-start/server-functions/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/solid-start/server-functions/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/solid-start/server-functions/tests/server-functions.spec.ts b/e2e/solid-start/server-functions/tests/server-functions.spec.ts index 80c89004c57..41082b3af57 100644 --- a/e2e/solid-start/server-functions/tests/server-functions.spec.ts +++ b/e2e/solid-start/server-functions/tests/server-functions.spec.ts @@ -1,5 +1,6 @@ import * as fs from 'node:fs' -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' +import { test } from '@tanstack/router-e2e-utils' import { PORT } from '../playwright.config' import type { Page } from '@playwright/test' diff --git a/e2e/solid-start/server-routes/tests/fixture.ts b/e2e/solid-start/server-routes/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/solid-start/server-routes/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) diff --git a/e2e/solid-start/server-routes/tests/server-routes.spec.ts b/e2e/solid-start/server-routes/tests/server-routes.spec.ts index 098a40b2efe..33176a23fd2 100644 --- a/e2e/solid-start/server-routes/tests/server-routes.spec.ts +++ b/e2e/solid-start/server-routes/tests/server-routes.spec.ts @@ -1,4 +1,5 @@ -import { expect, test } from '@playwright/test' +import { expect } from '@playwright/test' +import { test } from '@tanstack/router-e2e-utils' test('merge-server-fn-middleware-context', async ({ page }) => { await page.goto('/merge-server-fn-middleware-context') diff --git a/e2e/solid-start/spa-mode/tests/app.spec.ts b/e2e/solid-start/spa-mode/tests/app.spec.ts index 8970ec333c8..c18a0ff65d5 100644 --- a/e2e/solid-start/spa-mode/tests/app.spec.ts +++ b/e2e/solid-start/spa-mode/tests/app.spec.ts @@ -1,5 +1,5 @@ import { expect } from '@playwright/test' -import { test } from './fixture' +import { test } from '@tanstack/router-e2e-utils' import type { Page } from '@playwright/test' async function runTest( diff --git a/e2e/solid-start/spa-mode/tests/fixture.ts b/e2e/solid-start/spa-mode/tests/fixture.ts deleted file mode 100644 index abb7b1d564d..00000000000 --- a/e2e/solid-start/spa-mode/tests/fixture.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { test as base, expect } from '@playwright/test' - -export interface TestFixtureOptions { - whitelistErrors: Array -} -export const test = base.extend({ - whitelistErrors: [[], { option: true }], - page: async ({ page, whitelistErrors }, use) => { - const errorMessages: Array = [] - page.on('console', (m) => { - if (m.type() === 'error') { - const text = m.text() - for (const whitelistError of whitelistErrors) { - if ( - (typeof whitelistError === 'string' && - text.includes(whitelistError)) || - (whitelistError instanceof RegExp && whitelistError.test(text)) - ) { - return - } - } - errorMessages.push(text) - } - }) - await use(page) - expect(errorMessages).toEqual([]) - }, -}) From 6959929efcd08b7d5d0789e7d0da3607114c1379 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 19:37:32 +0200 Subject: [PATCH 093/271] use env var for server fn base --- packages/server-functions-plugin/src/index.ts | 6 +----- packages/start-plugin-core/src/plugin.ts | 6 ++---- .../start-server-functions-client/src/index.ts | 9 +++++---- .../start-server-functions-server/src/index.ts | 15 ++++++--------- 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/packages/server-functions-plugin/src/index.ts b/packages/server-functions-plugin/src/index.ts index 8a396252edc..710fe0b2ba2 100644 --- a/packages/server-functions-plugin/src/index.ts +++ b/packages/server-functions-plugin/src/index.ts @@ -8,11 +8,7 @@ import type { ReplacerFn, } from '@tanstack/directive-functions-plugin' -export type CreateRpcFn = ( - functionId: string, - serverBase: string, - splitImportFn?: string, -) => any +export type CreateRpcFn = (functionId: string, splitImportFn?: string) => any export type ServerFnPluginOpts = { /** diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index 5a649f29723..f98c7d371eb 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -307,15 +307,13 @@ export function TanStackStartVitePluginCore( client: { getRuntimeCode: () => `import { createClientRpc } from '@tanstack/${corePluginOpts.framework}-start/server-functions-client'`, - replacer: (d) => - `createClientRpc('${d.functionId}', '${startConfig.serverFns.base}')`, + replacer: (d) => `createClientRpc('${d.functionId}')`, envName: VITE_ENVIRONMENT_NAMES.client, }, server: { getRuntimeCode: () => `import { createServerRpc } from '@tanstack/${corePluginOpts.framework}-start/server-functions-server'`, - replacer: (d) => - `createServerRpc('${d.functionId}', '${startConfig.serverFns.base}', ${d.fn})`, + replacer: (d) => `createServerRpc('${d.functionId}', ${d.fn})`, envName: VITE_ENVIRONMENT_NAMES.server, }, }), diff --git a/packages/start-server-functions-client/src/index.ts b/packages/start-server-functions-client/src/index.ts index f77869c8d5a..6dafe486f02 100644 --- a/packages/start-server-functions-client/src/index.ts +++ b/packages/start-server-functions-client/src/index.ts @@ -5,11 +5,12 @@ function sanitizeBase(base: string) { return base.replace(/^\/|\/$/g, '') } -export const createClientRpc: CreateRpcFn = (functionId, serverBase) => { - const sanitizedAppBase = sanitizeBase(process.env.TSS_APP_BASE || '/') - const sanitizedServerBase = sanitizeBase(serverBase) +const sanitizedAppBase = sanitizeBase(process.env.TSS_APP_BASE || '/') +const sanitizedServerBase = sanitizeBase(process.env.TSS_SERVER_FN_BASE!) +const baseUrl = `${sanitizedAppBase ? `/${sanitizedAppBase}` : ''}/${sanitizedServerBase}/` - const url = `${sanitizedAppBase ? `/${sanitizedAppBase}` : ``}/${sanitizedServerBase}/${functionId}` +export const createClientRpc: CreateRpcFn = (functionId) => { + const url = baseUrl + functionId const clientFn = (...args: Array) => { return serverFnFetcher(url, args, fetch) diff --git a/packages/start-server-functions-server/src/index.ts b/packages/start-server-functions-server/src/index.ts index 7e6e0e54e02..23e9ab196cc 100644 --- a/packages/start-server-functions-server/src/index.ts +++ b/packages/start-server-functions-server/src/index.ts @@ -5,20 +5,17 @@ function sanitizeBase(base: string) { return base.replace(/^\/|\/$/g, '') } -export const createServerRpc: CreateRpcFn = ( - functionId, - serverBase, - splitImportFn, -) => { +const sanitizedAppBase = sanitizeBase(process.env.TSS_APP_BASE || '/') +const sanitizedServerBase = sanitizeBase(process.env.TSS_SERVER_FN_BASE!) +const baseUrl = `${sanitizedAppBase ? `/${sanitizedAppBase}` : ''}/${sanitizedServerBase}/` + +export const createServerRpc: CreateRpcFn = (functionId, splitImportFn) => { invariant( splitImportFn, '🚨splitImportFn required for the server functions server runtime, but was not provided.', ) - const sanitizedAppBase = sanitizeBase(process.env.TSS_APP_BASE || '/') - const sanitizedServerBase = sanitizeBase(serverBase) - - const url = `${sanitizedAppBase ? `/${sanitizedAppBase}` : ``}/${sanitizedServerBase}/${functionId}` + const url = baseUrl + functionId return Object.assign(splitImportFn, { url, From 1158731b5127c461e4848a898664c0e402c00f11 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 19:37:32 +0200 Subject: [PATCH 094/271] add e2e test --- .../serialization-adapters/.gitignore | 20 +++ .../serialization-adapters/.prettierignore | 4 + .../serialization-adapters/package.json | 34 +++++ .../playwright.config.ts | 34 +++++ .../serialization-adapters/postcss.config.mjs | 6 + .../serialization-adapters/src/data.tsx | 127 ++++++++++++++++++ .../src/routeTree.gen.ts | 110 +++++++++++++++ .../serialization-adapters/src/router.tsx | 19 +++ .../src/routes/__root.tsx | 72 ++++++++++ .../src/routes/_ssr.tsx | 10 ++ .../src/routes/data-only.tsx | 51 +++++++ .../src/routes/index.tsx | 19 +++ .../src/routes/stream.tsx | 31 +++++ .../serialization-adapters/src/styles/app.css | 22 +++ .../tailwind.config.mjs | 4 + .../serialization-adapters/tests/app.spec.ts | 46 +++++++ .../serialization-adapters/tsconfig.json | 22 +++ .../serialization-adapters/vite.config.ts | 17 +++ pnpm-lock.yaml | 89 +++++++++--- 19 files changed, 720 insertions(+), 17 deletions(-) create mode 100644 e2e/react-start/serialization-adapters/.gitignore create mode 100644 e2e/react-start/serialization-adapters/.prettierignore create mode 100644 e2e/react-start/serialization-adapters/package.json create mode 100644 e2e/react-start/serialization-adapters/playwright.config.ts create mode 100644 e2e/react-start/serialization-adapters/postcss.config.mjs create mode 100644 e2e/react-start/serialization-adapters/src/data.tsx create mode 100644 e2e/react-start/serialization-adapters/src/routeTree.gen.ts create mode 100644 e2e/react-start/serialization-adapters/src/router.tsx create mode 100644 e2e/react-start/serialization-adapters/src/routes/__root.tsx create mode 100644 e2e/react-start/serialization-adapters/src/routes/_ssr.tsx create mode 100644 e2e/react-start/serialization-adapters/src/routes/data-only.tsx create mode 100644 e2e/react-start/serialization-adapters/src/routes/index.tsx create mode 100644 e2e/react-start/serialization-adapters/src/routes/stream.tsx create mode 100644 e2e/react-start/serialization-adapters/src/styles/app.css create mode 100644 e2e/react-start/serialization-adapters/tailwind.config.mjs create mode 100644 e2e/react-start/serialization-adapters/tests/app.spec.ts create mode 100644 e2e/react-start/serialization-adapters/tsconfig.json create mode 100644 e2e/react-start/serialization-adapters/vite.config.ts diff --git a/e2e/react-start/serialization-adapters/.gitignore b/e2e/react-start/serialization-adapters/.gitignore new file mode 100644 index 00000000000..08eba9e7065 --- /dev/null +++ b/e2e/react-start/serialization-adapters/.gitignore @@ -0,0 +1,20 @@ +node_modules +package-lock.json +yarn.lock + +.DS_Store +.cache +.env +.vercel +.output +/build/ +/api/ +/server/build +/public/build# Sentry Config File +.env.sentry-build-plugin +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ + +count.txt diff --git a/e2e/react-start/serialization-adapters/.prettierignore b/e2e/react-start/serialization-adapters/.prettierignore new file mode 100644 index 00000000000..2be5eaa6ece --- /dev/null +++ b/e2e/react-start/serialization-adapters/.prettierignore @@ -0,0 +1,4 @@ +**/build +**/public +pnpm-lock.yaml +routeTree.gen.ts \ No newline at end of file diff --git a/e2e/react-start/serialization-adapters/package.json b/e2e/react-start/serialization-adapters/package.json new file mode 100644 index 00000000000..d0e7e6bb090 --- /dev/null +++ b/e2e/react-start/serialization-adapters/package.json @@ -0,0 +1,34 @@ +{ + "name": "tanstack-react-start-e2e-serialization-adapters", + "private": true, + "sideEffects": false, + "type": "module", + "scripts": { + "dev": "vite dev --port 3000", + "dev:e2e": "vite dev", + "build": "vite build && tsc --noEmit", + "start": "pnpx srvx --prod dist/server.js", + "test:e2e": "rm -rf port*.txt; playwright test --project=chromium" + }, + "dependencies": { + "@tanstack/react-router": "workspace:^", + "@tanstack/react-router-devtools": "workspace:^", + "@tanstack/react-start": "workspace:^", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "vite": "^7.1.1", + "vite-tsconfig-paths": "^5.1.4", + "zod": "^3.24.2" + }, + "devDependencies": { + "@tanstack/router-e2e-utils": "workspace:^", + "@vitejs/plugin-react": "^4.3.4", + "@types/node": "^22.10.2", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "postcss": "^8.5.1", + "srvx": "^0.8.6", + "tailwindcss": "^3.4.17", + "typescript": "^5.7.2" + } +} diff --git a/e2e/react-start/serialization-adapters/playwright.config.ts b/e2e/react-start/serialization-adapters/playwright.config.ts new file mode 100644 index 00000000000..badd6db0eb3 --- /dev/null +++ b/e2e/react-start/serialization-adapters/playwright.config.ts @@ -0,0 +1,34 @@ +import { defineConfig, devices } from '@playwright/test' +import { getTestServerPort } from '@tanstack/router-e2e-utils' +import packageJson from './package.json' with { type: 'json' } + +const PORT = await getTestServerPort(packageJson.name) +const baseURL = `http://localhost:${PORT}` +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: './tests', + workers: 1, + + reporter: [['line']], + + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + baseURL, + }, + + webServer: { + command: `VITE_SERVER_PORT=${PORT} pnpm build && NODE_ENV=production PORT=${PORT} VITE_SERVER_PORT=${PORT} pnpm start`, + url: baseURL, + reuseExistingServer: !process.env.CI, + stdout: 'pipe', + }, + + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + ], +}) diff --git a/e2e/react-start/serialization-adapters/postcss.config.mjs b/e2e/react-start/serialization-adapters/postcss.config.mjs new file mode 100644 index 00000000000..2e7af2b7f1a --- /dev/null +++ b/e2e/react-start/serialization-adapters/postcss.config.mjs @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/e2e/react-start/serialization-adapters/src/data.tsx b/e2e/react-start/serialization-adapters/src/data.tsx new file mode 100644 index 00000000000..ea1922fedc8 --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/data.tsx @@ -0,0 +1,127 @@ +import { createSerializationAdapter } from '@tanstack/react-router' + +export class Foo { + constructor(public value: string) {} +} + +export interface Car { + __type: 'car' + make: string + model: string + year: number + honk: () => { message: string; make: string; model: string; year: number } +} + +export function makeCar(opts: { + make: string + model: string + year: number +}): Car { + return { + ...opts, + __type: 'car', + honk: () => { + return { message: `Honk! Honk!`, ...opts } + }, + } +} + +export const fooAdapter = createSerializationAdapter({ + key: 'foo', + test: (value: any) => value instanceof Foo, + toSerializable: (foo) => foo.value, + fromSerializable: (value) => new Foo(value), +}) + +export const carAdapter = createSerializationAdapter({ + key: 'car', + test: (value: any): value is Car => + '__type' in (value as Car) && value.__type === 'car', + toSerializable: (car) => ({ + make: car.make, + model: car.model, + year: car.year, + }), + fromSerializable: (value: { make: string; model: string; year: number }) => + makeCar(value), +}) + +export function makeData() { + function makeFoo(suffix: string = '') { + return new Foo(typeof window === 'undefined' ? 'server' : 'client' + suffix) + } + return { + foo: { + singleInstance: makeFoo(), + array: [makeFoo('0'), makeFoo('1'), makeFoo('2')], + map: new Map([ + [0, makeFoo('0')], + [1, makeFoo('1')], + [2, makeFoo('2')], + ]), + mapOfArrays: new Map([ + [0, [makeFoo('0-a'), makeFoo('0-b')]], + [1, [makeFoo('1-a'), makeFoo('1-b')]], + [2, [makeFoo('2-a'), makeFoo('2-b')]], + ]), + }, + car: { + singleInstance: makeCar({ + make: 'Toyota', + model: 'Camry', + year: 2020, + }), + array: [ + makeCar({ make: 'Honda', model: 'Accord', year: 2019 }), + makeCar({ make: 'Ford', model: 'Mustang', year: 2021 }), + ], + map: new Map([ + [0, makeCar({ make: 'Chevrolet', model: 'Malibu', year: 2018 })], + [1, makeCar({ make: 'Nissan', model: 'Altima', year: 2020 })], + [2, makeCar({ make: 'Hyundai', model: 'Sonata', year: 2021 })], + ]), + mapOfArrays: new Map([ + [0, [makeCar({ make: 'Kia', model: 'Optima', year: 2019 })]], + [1, [makeCar({ make: 'Subaru', model: 'Legacy', year: 2020 })]], + [2, [makeCar({ make: 'Volkswagen', model: 'Passat', year: 2021 })]], + ]), + }, + } +} + +export function RenderData({ + id, + data, +}: { + id: string + data: ReturnType +}) { + const localData = makeData() + return ( +
+

Car

+

expected

+
+ {JSON.stringify({ + make: localData.car.singleInstance.make, + model: localData.car.singleInstance.model, + year: localData.car.singleInstance.year, + })} +
+

actual

+
+ {JSON.stringify({ + make: data.car.singleInstance.make, + model: data.car.singleInstance.model, + year: data.car.singleInstance.year, + })} +
+ Foo +
+ {JSON.stringify({ + value: data.foo.singleInstance.value, + })} +
+
+ ) +} diff --git a/e2e/react-start/serialization-adapters/src/routeTree.gen.ts b/e2e/react-start/serialization-adapters/src/routeTree.gen.ts new file mode 100644 index 00000000000..f954d53f45f --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/routeTree.gen.ts @@ -0,0 +1,110 @@ +/* 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 StreamRouteImport } from './routes/stream' +import { Route as DataOnlyRouteImport } from './routes/data-only' +import { Route as SsrRouteImport } from './routes/_ssr' +import { Route as IndexRouteImport } from './routes/index' + +const StreamRoute = StreamRouteImport.update({ + id: '/stream', + path: '/stream', + getParentRoute: () => rootRouteImport, +} as any) +const DataOnlyRoute = DataOnlyRouteImport.update({ + id: '/data-only', + path: '/data-only', + getParentRoute: () => rootRouteImport, +} as any) +const SsrRoute = SsrRouteImport.update({ + id: '/_ssr', + getParentRoute: () => rootRouteImport, +} as any) +const IndexRoute = IndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => rootRouteImport, +} as any) + +export interface FileRoutesByFullPath { + '/': typeof IndexRoute + '/data-only': typeof DataOnlyRoute + '/stream': typeof StreamRoute +} +export interface FileRoutesByTo { + '/': typeof IndexRoute + '/data-only': typeof DataOnlyRoute + '/stream': typeof StreamRoute +} +export interface FileRoutesById { + __root__: typeof rootRouteImport + '/': typeof IndexRoute + '/_ssr': typeof SsrRoute + '/data-only': typeof DataOnlyRoute + '/stream': typeof StreamRoute +} +export interface FileRouteTypes { + fileRoutesByFullPath: FileRoutesByFullPath + fullPaths: '/' | '/data-only' | '/stream' + fileRoutesByTo: FileRoutesByTo + to: '/' | '/data-only' | '/stream' + id: '__root__' | '/' | '/_ssr' | '/data-only' | '/stream' + fileRoutesById: FileRoutesById +} +export interface RootRouteChildren { + IndexRoute: typeof IndexRoute + SsrRoute: typeof SsrRoute + DataOnlyRoute: typeof DataOnlyRoute + StreamRoute: typeof StreamRoute +} + +declare module '@tanstack/react-router' { + interface FileRoutesByPath { + '/stream': { + id: '/stream' + path: '/stream' + fullPath: '/stream' + preLoaderRoute: typeof StreamRouteImport + parentRoute: typeof rootRouteImport + } + '/data-only': { + id: '/data-only' + path: '/data-only' + fullPath: '/data-only' + preLoaderRoute: typeof DataOnlyRouteImport + parentRoute: typeof rootRouteImport + } + '/_ssr': { + id: '/_ssr' + path: '' + fullPath: '' + preLoaderRoute: typeof SsrRouteImport + parentRoute: typeof rootRouteImport + } + '/': { + id: '/' + path: '/' + fullPath: '/' + preLoaderRoute: typeof IndexRouteImport + parentRoute: typeof rootRouteImport + } + } +} + +const rootRouteChildren: RootRouteChildren = { + IndexRoute: IndexRoute, + SsrRoute: SsrRoute, + DataOnlyRoute: DataOnlyRoute, + StreamRoute: StreamRoute, +} +export const routeTree = rootRouteImport + ._addFileChildren(rootRouteChildren) + ._addFileTypes() diff --git a/e2e/react-start/serialization-adapters/src/router.tsx b/e2e/react-start/serialization-adapters/src/router.tsx new file mode 100644 index 00000000000..7ec7997f9aa --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/router.tsx @@ -0,0 +1,19 @@ +import { createRouter as createTanStackRouter } from '@tanstack/react-router' +import { routeTree } from './routeTree.gen' +import { carAdapter, fooAdapter } from './data' + +export function createRouter() { + const router = createTanStackRouter({ + routeTree, + scrollRestoration: true, + serializationAdapters: [fooAdapter, carAdapter], + }) + + return router +} + +declare module '@tanstack/react-router' { + interface Register { + router: ReturnType + } +} diff --git a/e2e/react-start/serialization-adapters/src/routes/__root.tsx b/e2e/react-start/serialization-adapters/src/routes/__root.tsx new file mode 100644 index 00000000000..2f30dfa3f1f --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/routes/__root.tsx @@ -0,0 +1,72 @@ +/// +import * as React from 'react' +import { + ClientOnly, + HeadContent, + Link, + Scripts, + createRootRoute, + useRouterState, +} from '@tanstack/react-router' +import { TanStackRouterDevtools } from '@tanstack/react-router-devtools' +import appCss from '~/styles/app.css?url' + +export const Route = createRootRoute({ + head: () => ({ + meta: [ + { + charSet: 'utf-8', + }, + { + name: 'viewport', + content: 'width=device-width, initial-scale=1', + }, + { + title: 'Serialization Adapters E2E Test', + }, + ], + links: [{ rel: 'stylesheet', href: appCss }], + }), + shellComponent: RootDocument, +}) + +function RootDocument({ children }: { children: React.ReactNode }) { + const { isLoading, status } = useRouterState({ + select: (state) => ({ isLoading: state.isLoading, status: state.status }), + structuralSharing: true, + }) + return ( + + + + + +
+

Serialization Adapters E2E Test

+ + Home + +
+
+ +
+ router isLoading:{' '} + {isLoading ? 'true' : 'false'} +
+
+ router status: {status} +
+
+
+ {children} + + + + + ) +} diff --git a/e2e/react-start/serialization-adapters/src/routes/_ssr.tsx b/e2e/react-start/serialization-adapters/src/routes/_ssr.tsx new file mode 100644 index 00000000000..0c5f098714e --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/routes/_ssr.tsx @@ -0,0 +1,10 @@ +import { createFileRoute } from '@tanstack/react-router' + +export const Route = createFileRoute('/_ssr')({ + component: RouteComponent, + ssr: true, +}) + +function RouteComponent() { + return
Hello "/_ssr"!
+} diff --git a/e2e/react-start/serialization-adapters/src/routes/data-only.tsx b/e2e/react-start/serialization-adapters/src/routes/data-only.tsx new file mode 100644 index 00000000000..7c7f8195968 --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/routes/data-only.tsx @@ -0,0 +1,51 @@ +import { Outlet, createFileRoute } from '@tanstack/react-router' +import { RenderData, makeData } from '~/data' + +export const Route = createFileRoute('/data-only')({ + ssr: 'data-only', + beforeLoad: () => { + return makeData() + }, + loader: ({ context }) => { + return context + }, + component: () => { + const context = Route.useRouteContext() + const loaderData = Route.useLoaderData() + + const localData = makeData() + const expectedHonkState = localData.car.singleInstance.honk() + + const honkState = loaderData.car.singleInstance.honk() + + return ( +
+

data-only

+
+ context: +
+
+ loader: +
+
+

honk

+
+ expected:{' '} +
+ {JSON.stringify(expectedHonkState)} +
+
+
+ actual:{' '} +
+ {JSON.stringify(honkState)} +
+
+
+
+ +
+ ) + }, + pendingComponent: () =>
posts Loading...
, +}) diff --git a/e2e/react-start/serialization-adapters/src/routes/index.tsx b/e2e/react-start/serialization-adapters/src/routes/index.tsx new file mode 100644 index 00000000000..8d18a8a3cd5 --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/routes/index.tsx @@ -0,0 +1,19 @@ +import { Link, createFileRoute } from '@tanstack/react-router' + +export const Route = createFileRoute('/')({ + component: Home, +}) + +function Home() { + return ( + <> + + Data Only + +
+ + Stream + + + ) +} diff --git a/e2e/react-start/serialization-adapters/src/routes/stream.tsx b/e2e/react-start/serialization-adapters/src/routes/stream.tsx new file mode 100644 index 00000000000..b75c7f6b381 --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/routes/stream.tsx @@ -0,0 +1,31 @@ +import { Await, createFileRoute } from '@tanstack/react-router' +import { Suspense } from 'react' +import { RenderData, makeData } from '~/data' + +export const Route = createFileRoute('/stream')({ + loader: () => { + const dataPromise = new Promise>((r) => + setTimeout(() => r(makeData()), 1000), + ) + return { + someString: 'hello world', + dataPromise, + } + }, + component: RouteComponent, +}) + +function RouteComponent() { + const loaderData = Route.useLoaderData() + return ( +
+

Stream

+
{loaderData.someString}
+ Loading...
}> + + {(data) => } + + +
+ ) +} diff --git a/e2e/react-start/serialization-adapters/src/styles/app.css b/e2e/react-start/serialization-adapters/src/styles/app.css new file mode 100644 index 00000000000..c53c8706654 --- /dev/null +++ b/e2e/react-start/serialization-adapters/src/styles/app.css @@ -0,0 +1,22 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + html { + color-scheme: light dark; + } + + * { + @apply border-gray-200 dark:border-gray-800; + } + + html, + body { + @apply text-gray-900 bg-gray-50 dark:bg-gray-950 dark:text-gray-200; + } + + .using-mouse * { + outline: none !important; + } +} diff --git a/e2e/react-start/serialization-adapters/tailwind.config.mjs b/e2e/react-start/serialization-adapters/tailwind.config.mjs new file mode 100644 index 00000000000..e49f4eb776e --- /dev/null +++ b/e2e/react-start/serialization-adapters/tailwind.config.mjs @@ -0,0 +1,4 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./src/**/*.{js,jsx,ts,tsx}'], +} diff --git a/e2e/react-start/serialization-adapters/tests/app.spec.ts b/e2e/react-start/serialization-adapters/tests/app.spec.ts new file mode 100644 index 00000000000..65c72070b15 --- /dev/null +++ b/e2e/react-start/serialization-adapters/tests/app.spec.ts @@ -0,0 +1,46 @@ +import { expect } from '@playwright/test' +import { test } from '@tanstack/router-e2e-utils' +import type { Page } from '@playwright/test' + +async function checkData(page: Page, id: string) { + const expectedData = await page + .getByTestId(`${id}-car-expected`) + .textContent() + expect(expectedData).not.toBeNull() + await expect(page.getByTestId(`${id}-car-actual`)).toContainText( + expectedData!, + ) + + await expect(page.getByTestId(`${id}-foo`)).toContainText( + '{"value":"server"}', + ) +} +test.describe('SSR serialization adapters', () => { + test(`data-only`, async ({ page }) => { + await page.goto('/data-only') + // wait for page to be loaded by waiting for the ClientOnly component to be rendered + await expect(page.getByTestId('router-isLoading')).toContainText('false') + await expect(page.getByTestId('router-status')).toContainText('idle') + + await Promise.all( + ['context', 'loader'].map(async (id) => checkData(page, id)), + ) + + const expectedHonkData = await page + .getByTestId('honk-expected-state') + .textContent() + expect(expectedHonkData).not.toBeNull() + await expect(page.getByTestId('honk-actual-state')).toContainText( + expectedHonkData!, + ) + }) + + test(`stream`, async ({ page }) => { + await page.goto('/stream') + // wait for page to be loaded by waiting for the ClientOnly component to be rendered + await expect(page.getByTestId('router-isLoading')).toContainText('false') + await expect(page.getByTestId('router-status')).toContainText('idle') + + await checkData(page, 'stream') + }) +}) diff --git a/e2e/react-start/serialization-adapters/tsconfig.json b/e2e/react-start/serialization-adapters/tsconfig.json new file mode 100644 index 00000000000..3a9fb7cd716 --- /dev/null +++ b/e2e/react-start/serialization-adapters/tsconfig.json @@ -0,0 +1,22 @@ +{ + "include": ["**/*.ts", "**/*.tsx"], + "compilerOptions": { + "strict": true, + "esModuleInterop": true, + "jsx": "react-jsx", + "module": "ESNext", + "moduleResolution": "Bundler", + "lib": ["DOM", "DOM.Iterable", "ES2022"], + "isolatedModules": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "target": "ES2022", + "allowJs": true, + "forceConsistentCasingInFileNames": true, + "baseUrl": ".", + "paths": { + "~/*": ["./src/*"] + }, + "noEmit": true + } +} diff --git a/e2e/react-start/serialization-adapters/vite.config.ts b/e2e/react-start/serialization-adapters/vite.config.ts new file mode 100644 index 00000000000..04033010e8f --- /dev/null +++ b/e2e/react-start/serialization-adapters/vite.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from 'vite' +import { tanstackStart } from '@tanstack/react-start/plugin/vite' +import tsConfigPaths from 'vite-tsconfig-paths' +import viteReact from '@vitejs/plugin-react' + +export default defineConfig({ + server: { + port: 3000, + }, + plugins: [ + tsConfigPaths({ + projects: ['./tsconfig.json'], + }), + tanstackStart(), + viteReact(), + ], +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 770d89988e7..e6be4678052 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1513,6 +1513,61 @@ importers: specifier: ^5.7.2 version: 5.8.3 + e2e/react-start/serialization-adapters: + dependencies: + '@tanstack/react-router': + specifier: workspace:* + version: link:../../../packages/react-router + '@tanstack/react-router-devtools': + specifier: workspace:^ + version: link:../../../packages/react-router-devtools + '@tanstack/react-start': + specifier: workspace:* + version: link:../../../packages/react-start + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + vite: + specifier: ^7.1.1 + version: 7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0) + vite-tsconfig-paths: + specifier: ^5.1.4 + version: 5.1.4(typescript@5.9.2)(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + zod: + specifier: ^3.24.2 + version: 3.25.57 + devDependencies: + '@tanstack/router-e2e-utils': + specifier: workspace:^ + version: link:../../e2e-utils + '@types/node': + specifier: ^22.10.2 + version: 22.13.4 + '@types/react': + specifier: ^19.0.8 + version: 19.0.8 + '@types/react-dom': + specifier: ^19.0.3 + version: 19.0.3(@types/react@19.0.8) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.6.0(vite@7.1.1(@types/node@22.13.4)(jiti@2.5.1)(lightningcss@1.29.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.7.0)) + postcss: + specifier: ^8.5.1 + version: 8.5.6 + srvx: + specifier: ^0.8.6 + version: 0.8.6 + tailwindcss: + specifier: ^3.4.17 + version: 3.4.17 + typescript: + specifier: ^5.7.2 + version: 5.9.2 + e2e/react-start/server-functions: dependencies: '@tanstack/react-router': @@ -4119,10 +4174,10 @@ importers: version: 19.0.3(@types/react@19.0.8) html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1) + version: 5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1) + version: 0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) typescript: specifier: ^5.7.2 version: 5.8.2 @@ -18909,17 +18964,17 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.97.1)': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.97.1)': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4))': dependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1) @@ -20635,7 +20690,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1): + html-webpack-plugin@5.6.3(@rspack/core@1.2.2(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -22448,7 +22503,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1): + swc-loader@0.2.6(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) '@swc/counter': 0.1.3 @@ -22512,26 +22567,26 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 - terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1): + terser-webpack-plugin@5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.37.0 - webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8) optionalDependencies: '@swc/core': 1.10.15(@swc/helpers@0.5.15) esbuild: 0.25.8 @@ -23072,9 +23127,9 @@ snapshots: webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.97.1) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.97.1) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.97.1) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.97.1))(webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1))(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.6 @@ -23088,7 +23143,7 @@ snapshots: optionalDependencies: webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1) - webpack-dev-middleware@7.4.2(webpack@5.97.1): + webpack-dev-middleware@7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -23126,7 +23181,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.97.1) + webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) ws: 8.18.0 optionalDependencies: webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4) @@ -23201,7 +23256,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1) + terser-webpack-plugin: 5.3.11(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack@5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(esbuild@0.25.8)(webpack-cli@5.1.4)) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: From 9bb12fc5d45a59fb71edfa897912735adb6e1bb1 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 19:37:32 +0200 Subject: [PATCH 095/271] clean up example --- examples/react/start-basic/src/foo.ts | 5 ----- examples/react/start-basic/src/router.tsx | 15 +-------------- examples/react/start-basic/src/routes/index.tsx | 2 -- 3 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 examples/react/start-basic/src/foo.ts diff --git a/examples/react/start-basic/src/foo.ts b/examples/react/start-basic/src/foo.ts deleted file mode 100644 index 95a0f79a222..00000000000 --- a/examples/react/start-basic/src/foo.ts +++ /dev/null @@ -1,5 +0,0 @@ -export class Foo { - constructor(public bar: string) { - console.log('Foo instance created', bar) - } -} diff --git a/examples/react/start-basic/src/router.tsx b/examples/react/start-basic/src/router.tsx index 5ac0a5dd9bc..c76eb0210cc 100644 --- a/examples/react/start-basic/src/router.tsx +++ b/examples/react/start-basic/src/router.tsx @@ -1,11 +1,7 @@ -import { - createSerializationAdapter, - createRouter as createTanStackRouter, -} from '@tanstack/react-router' +import { createRouter as createTanStackRouter } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' import { DefaultCatchBoundary } from './components/DefaultCatchBoundary' import { NotFound } from './components/NotFound' -import { Foo } from './foo' export function createRouter() { const router = createTanStackRouter({ @@ -14,15 +10,6 @@ export function createRouter() { defaultErrorComponent: DefaultCatchBoundary, defaultNotFoundComponent: () => , scrollRestoration: true, - serializationAdapters: [ - createSerializationAdapter({ - key: 'foo', - test: (value) => value instanceof Foo, - // order of properties matters for typescript inference - toSerializable: (value) => value.bar, - fromSerializable: (value) => new Foo(value), - }), - ], }) return router diff --git a/examples/react/start-basic/src/routes/index.tsx b/examples/react/start-basic/src/routes/index.tsx index bfe1517b6f5..09a907cb18e 100644 --- a/examples/react/start-basic/src/routes/index.tsx +++ b/examples/react/start-basic/src/routes/index.tsx @@ -1,8 +1,6 @@ import { createFileRoute } from '@tanstack/react-router' -import { Foo } from '~/foo' export const Route = createFileRoute('/')({ - loader: () => new Foo('xyz'), component: Home, }) From 29df9cba3c01e140b1d498ccd38a35ccb6386d79 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Mon, 18 Aug 2025 22:58:36 +0200 Subject: [PATCH 096/271] move client server function handling into start-client-core --- labeler-config.yml | 6 -- package.json | 2 - packages/react-start/package.json | 7 -- .../src/server-functions-client.tsx | 1 - packages/react-start/vite.config.ts | 2 - packages/solid-start/package.json | 7 -- .../src/server-functions-client.tsx | 1 - packages/solid-start/vite.config.ts | 2 - .../start-client-core/src/createClientRpc.ts | 24 +++++++ packages/start-client-core/src/index.tsx | 2 + .../src/serverFnFetcher.ts} | 4 +- packages/start-plugin-core/src/plugin.ts | 2 +- .../start-server-functions-client/README.md | 12 ---- .../eslint.config.js | 20 ------ .../package.json | 67 ------------------- .../src/index.ts | 23 ------- .../tsconfig.json | 8 --- .../vite.config.ts | 22 ------ .../start-server-functions-fetcher/README.md | 12 ---- .../eslint.config.js | 20 ------ .../package.json | 67 ------------------- .../tsconfig.json | 7 -- .../vite.config.ts | 22 ------ pnpm-lock.yaml | 34 ---------- scripts/publish.js | 8 --- 25 files changed, 29 insertions(+), 353 deletions(-) delete mode 100644 packages/react-start/src/server-functions-client.tsx delete mode 100644 packages/solid-start/src/server-functions-client.tsx create mode 100644 packages/start-client-core/src/createClientRpc.ts rename packages/{start-server-functions-fetcher/src/index.ts => start-client-core/src/serverFnFetcher.ts} (96%) delete mode 100644 packages/start-server-functions-client/README.md delete mode 100644 packages/start-server-functions-client/eslint.config.js delete mode 100644 packages/start-server-functions-client/package.json delete mode 100644 packages/start-server-functions-client/src/index.ts delete mode 100644 packages/start-server-functions-client/tsconfig.json delete mode 100644 packages/start-server-functions-client/vite.config.ts delete mode 100644 packages/start-server-functions-fetcher/README.md delete mode 100644 packages/start-server-functions-fetcher/eslint.config.js delete mode 100644 packages/start-server-functions-fetcher/package.json delete mode 100644 packages/start-server-functions-fetcher/tsconfig.json delete mode 100644 packages/start-server-functions-fetcher/vite.config.ts diff --git a/labeler-config.yml b/labeler-config.yml index d46efaf0dd7..f28861a2373 100644 --- a/labeler-config.yml +++ b/labeler-config.yml @@ -82,12 +82,6 @@ 'package: start-server-core': - changed-files: - any-glob-to-any-file: 'packages/start-server-core/**/*' -'package: start-server-functions-client': - - changed-files: - - any-glob-to-any-file: 'packages/start-server-functions-client/**/*' -'package: start-server-functions-fetcher': - - changed-files: - - any-glob-to-any-file: 'packages/start-server-functions-fetcher/**/*' 'package: start-server-functions-server': - changed-files: - any-glob-to-any-file: 'packages/start-server-functions-server/**/*' diff --git a/package.json b/package.json index 53699ee97a2..cd851fe35ba 100644 --- a/package.json +++ b/package.json @@ -103,8 +103,6 @@ "@tanstack/solid-start": "workspace:*", "@tanstack/solid-start-client": "workspace:*", "@tanstack/solid-start-server": "workspace:*", - "@tanstack/start-server-functions-fetcher": "workspace:*", - "@tanstack/start-server-functions-client": "workspace:*", "@tanstack/start-server-functions-server": "workspace:*", "@tanstack/start-plugin-core": "workspace:*", "@tanstack/start-client-core": "workspace:*", diff --git a/packages/react-start/package.json b/packages/react-start/package.json index 41b77d4ebce..2bfc02d2bd0 100644 --- a/packages/react-start/package.json +++ b/packages/react-start/package.json @@ -56,12 +56,6 @@ "default": "./dist/esm/plugin/vite.js" } }, - "./server-functions-client": { - "import": { - "types": "./dist/esm/server-functions-client.d.ts", - "default": "./dist/esm/server-functions-client.js" - } - }, "./server-functions-server": { "import": { "types": "./dist/esm/server-functions-server.d.ts", @@ -81,7 +75,6 @@ "dependencies": { "@tanstack/react-start-client": "workspace:*", "@tanstack/react-start-server": "workspace:*", - "@tanstack/start-server-functions-client": "workspace:*", "@tanstack/start-server-functions-server": "workspace:*", "@tanstack/router-utils": "workspace:^", "@tanstack/start-plugin-core": "workspace:*", diff --git a/packages/react-start/src/server-functions-client.tsx b/packages/react-start/src/server-functions-client.tsx deleted file mode 100644 index 6fc38947aab..00000000000 --- a/packages/react-start/src/server-functions-client.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from '@tanstack/start-server-functions-client' diff --git a/packages/react-start/vite.config.ts b/packages/react-start/vite.config.ts index 3dc5d93fd96..b32b527c2ed 100644 --- a/packages/react-start/vite.config.ts +++ b/packages/react-start/vite.config.ts @@ -26,13 +26,11 @@ export default mergeConfig( './src/client.tsx', './src/server.tsx', './src/plugin/vite.ts', - './src/server-functions-client.tsx', './src/server-functions-server.tsx', ], externalDeps: [ '@tanstack/react-start-client', '@tanstack/react-start-server', - '@tanstack/start-server-functions-client', '@tanstack/start-server-functions-server', ], exclude: ['./src/plugin/default-entry'], diff --git a/packages/solid-start/package.json b/packages/solid-start/package.json index a479a99befb..60fa0f81c95 100644 --- a/packages/solid-start/package.json +++ b/packages/solid-start/package.json @@ -56,12 +56,6 @@ "default": "./dist/esm/plugin/vite.js" } }, - "./server-functions-client": { - "import": { - "types": "./dist/esm/server-functions-client.d.ts", - "default": "./dist/esm/server-functions-client.js" - } - }, "./server-functions-server": { "import": { "types": "./dist/esm/server-functions-server.d.ts", @@ -81,7 +75,6 @@ "dependencies": { "@tanstack/solid-start-client": "workspace:*", "@tanstack/solid-start-server": "workspace:*", - "@tanstack/start-server-functions-client": "workspace:*", "@tanstack/start-server-functions-server": "workspace:*", "@tanstack/start-plugin-core": "workspace:*", "pathe": "^2.0.3" diff --git a/packages/solid-start/src/server-functions-client.tsx b/packages/solid-start/src/server-functions-client.tsx deleted file mode 100644 index 6fc38947aab..00000000000 --- a/packages/solid-start/src/server-functions-client.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from '@tanstack/start-server-functions-client' diff --git a/packages/solid-start/vite.config.ts b/packages/solid-start/vite.config.ts index 694870c9144..6c1a98f5b20 100644 --- a/packages/solid-start/vite.config.ts +++ b/packages/solid-start/vite.config.ts @@ -26,13 +26,11 @@ export default mergeConfig( './src/client.tsx', './src/server.tsx', './src/plugin/vite.ts', - './src/server-functions-client.tsx', './src/server-functions-server.tsx', ], externalDeps: [ '@tanstack/solid-start-client', '@tanstack/solid-start-server', - '@tanstack/start-server-functions-client', '@tanstack/start-server-functions-server', ], cjs: false, diff --git a/packages/start-client-core/src/createClientRpc.ts b/packages/start-client-core/src/createClientRpc.ts new file mode 100644 index 00000000000..5511117d0b6 --- /dev/null +++ b/packages/start-client-core/src/createClientRpc.ts @@ -0,0 +1,24 @@ +import { serverFnFetcher } from './serverFnFetcher' + +let baseUrl: string +function sanitizeBase(base: string) { + return base.replace(/^\/|\/$/g, '') +} + +export const createClientRpc = (functionId: string) => { + if (!baseUrl) { + const sanitizedAppBase = sanitizeBase(process.env.TSS_APP_BASE || '/') + const sanitizedServerBase = sanitizeBase(process.env.TSS_SERVER_FN_BASE!) + baseUrl = `${sanitizedAppBase ? `/${sanitizedAppBase}` : ''}/${sanitizedServerBase}/` + } + const url = baseUrl + functionId + + const clientFn = (...args: Array) => { + return serverFnFetcher(url, args, fetch) + } + + return Object.assign(clientFn, { + url, + functionId, + }) +} diff --git a/packages/start-client-core/src/index.tsx b/packages/start-client-core/src/index.tsx index e37628fa01e..34c1740d3e0 100644 --- a/packages/start-client-core/src/index.tsx +++ b/packages/start-client-core/src/index.tsx @@ -87,3 +87,5 @@ export { flattenMiddlewares, executeMiddleware, } from './createServerFn' + +export { createClientRpc } from './createClientRpc' diff --git a/packages/start-server-functions-fetcher/src/index.ts b/packages/start-client-core/src/serverFnFetcher.ts similarity index 96% rename from packages/start-server-functions-fetcher/src/index.ts rename to packages/start-client-core/src/serverFnFetcher.ts index d04ce5a6bd9..5368f005f48 100644 --- a/packages/start-server-functions-fetcher/src/index.ts +++ b/packages/start-client-core/src/serverFnFetcher.ts @@ -5,8 +5,8 @@ import { isRedirect, parseRedirect, } from '@tanstack/router-core' -import { startSerializer } from '@tanstack/start-client-core' -import type { FunctionMiddlewareClientFnOptions } from '@tanstack/start-client-core' +import { startSerializer } from './serializer' +import type { FunctionMiddlewareClientFnOptions } from './createMiddleware' export async function serverFnFetcher( url: string, diff --git a/packages/start-plugin-core/src/plugin.ts b/packages/start-plugin-core/src/plugin.ts index f98c7d371eb..63ec788c70d 100644 --- a/packages/start-plugin-core/src/plugin.ts +++ b/packages/start-plugin-core/src/plugin.ts @@ -306,7 +306,7 @@ export function TanStackStartVitePluginCore( manifestVirtualImportId: VIRTUAL_MODULES.serverFnManifest, client: { getRuntimeCode: () => - `import { createClientRpc } from '@tanstack/${corePluginOpts.framework}-start/server-functions-client'`, + `import { createClientRpc } from '@tanstack/${corePluginOpts.framework}-start/client'`, replacer: (d) => `createClientRpc('${d.functionId}')`, envName: VITE_ENVIRONMENT_NAMES.client, }, diff --git a/packages/start-server-functions-client/README.md b/packages/start-server-functions-client/README.md deleted file mode 100644 index 68beb4f16b3..00000000000 --- a/packages/start-server-functions-client/README.md +++ /dev/null @@ -1,12 +0,0 @@ - - -# TanStack Start - Server Functions Client - -This package is not meant to be used directly. It is a dependency of the TanStack Start framework-specific packages: - -- [`@tanstack/react-start`](https://www.npmjs.com/package/@tanstack/react-start) -- [`@tanstack/solid-start`](https://www.npmjs.com/package/@tanstack/solid-start). - -It provides the core functionality for TanStack Start, which is a fullstack-framework made for SSR, Streaming, Server Functions, API Routes, bundling and more powered by [TanStack Router](https://tanstack.com/router). - -Head over to [tanstack.com/start](https://tanstack.com/start) for more information about getting started. diff --git a/packages/start-server-functions-client/eslint.config.js b/packages/start-server-functions-client/eslint.config.js deleted file mode 100644 index bd7118fa1a8..00000000000 --- a/packages/start-server-functions-client/eslint.config.js +++ /dev/null @@ -1,20 +0,0 @@ -// @ts-check - -import rootConfig from '../../eslint.config.js' - -export default [ - ...rootConfig, - { - files: ['**/*.{ts,tsx}'], - }, - { - plugins: {}, - rules: {}, - }, - { - files: ['**/__tests__/**'], - rules: { - '@typescript-eslint/no-unnecessary-condition': 'off', - }, - }, -] diff --git a/packages/start-server-functions-client/package.json b/packages/start-server-functions-client/package.json deleted file mode 100644 index 1705f43fc09..00000000000 --- a/packages/start-server-functions-client/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "name": "@tanstack/start-server-functions-client", - "version": "1.132.0-alpha.1", - "description": "Modern and scalable routing for React applications", - "author": "Tanner Linsley", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/TanStack/router.git", - "directory": "packages/start-server-functions-client" - }, - "homepage": "https://tanstack.com/start", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "keywords": [ - "react", - "location", - "router", - "routing", - "async", - "async router", - "typescript" - ], - "scripts": { - "clean": "rimraf ./dist && rimraf ./coverage", - "test": "pnpm test:eslint && pnpm test:types && pnpm test:build && pnpm test:unit", - "test:unit": "exit 0; vitest", - "test:eslint": "eslint ./src", - "test:types": "pnpm run \"/^test:types:ts[0-9]{2}$/\"", - "test:types:ts54": "node ../../node_modules/typescript54/lib/tsc.js", - "test:types:ts55": "node ../../node_modules/typescript55/lib/tsc.js", - "test:types:ts56": "node ../../node_modules/typescript56/lib/tsc.js", - "test:types:ts57": "node ../../node_modules/typescript57/lib/tsc.js", - "test:types:ts58": "node ../../node_modules/typescript58/lib/tsc.js", - "test:types:ts59": "tsc", - "test:build": "publint --strict && attw --ignore-rules no-resolution --pack .", - "build": "vite build" - }, - "type": "module", - "types": "dist/esm/index.d.ts", - "exports": { - ".": { - "import": { - "types": "./dist/esm/index.d.ts", - "default": "./dist/esm/index.js" - } - }, - "./package.json": "./package.json" - }, - "sideEffects": false, - "files": [ - "dist", - "src" - ], - "engines": { - "node": ">=12" - }, - "dependencies": { - "@tanstack/server-functions-plugin": "workspace:*", - "@tanstack/start-server-functions-fetcher": "workspace:*" - }, - "devDependencies": { - "typescript": "^5.7.2" - } -} diff --git a/packages/start-server-functions-client/src/index.ts b/packages/start-server-functions-client/src/index.ts deleted file mode 100644 index 6dafe486f02..00000000000 --- a/packages/start-server-functions-client/src/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { serverFnFetcher } from '@tanstack/start-server-functions-fetcher' -import type { CreateRpcFn } from '@tanstack/server-functions-plugin' - -function sanitizeBase(base: string) { - return base.replace(/^\/|\/$/g, '') -} - -const sanitizedAppBase = sanitizeBase(process.env.TSS_APP_BASE || '/') -const sanitizedServerBase = sanitizeBase(process.env.TSS_SERVER_FN_BASE!) -const baseUrl = `${sanitizedAppBase ? `/${sanitizedAppBase}` : ''}/${sanitizedServerBase}/` - -export const createClientRpc: CreateRpcFn = (functionId) => { - const url = baseUrl + functionId - - const clientFn = (...args: Array) => { - return serverFnFetcher(url, args, fetch) - } - - return Object.assign(clientFn, { - url, - functionId, - }) -} diff --git a/packages/start-server-functions-client/tsconfig.json b/packages/start-server-functions-client/tsconfig.json deleted file mode 100644 index 51dda9abf2a..00000000000 --- a/packages/start-server-functions-client/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "jsx": "react-jsx", - "module": "esnext" - }, - "include": ["src", "vite.config.ts"] -} diff --git a/packages/start-server-functions-client/vite.config.ts b/packages/start-server-functions-client/vite.config.ts deleted file mode 100644 index 2f00b058fd7..00000000000 --- a/packages/start-server-functions-client/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { defineConfig, mergeConfig } from 'vitest/config' -import { tanstackViteConfig } from '@tanstack/config/vite' -import packageJson from './package.json' -import type { ViteUserConfig } from 'vitest/config' - -const config = defineConfig({ - plugins: [] as ViteUserConfig['plugins'], - test: { - name: packageJson.name, - watch: false, - environment: 'jsdom', - }, -}) - -export default mergeConfig( - config, - tanstackViteConfig({ - entry: './src/index.ts', - srcDir: './src', - cjs: false, - }), -) diff --git a/packages/start-server-functions-fetcher/README.md b/packages/start-server-functions-fetcher/README.md deleted file mode 100644 index 9039fddc7c4..00000000000 --- a/packages/start-server-functions-fetcher/README.md +++ /dev/null @@ -1,12 +0,0 @@ - - -# TanStack Start - Server Functions Fetcher - -This package is not meant to be used directly. It is a dependency of the TanStack Start framework-specific packages: - -- [`@tanstack/react-start`](https://www.npmjs.com/package/@tanstack/react-start) -- [`@tanstack/solid-start`](https://www.npmjs.com/package/@tanstack/solid-start). - -It provides the core functionality for TanStack Start, which is a fullstack-framework made for SSR, Streaming, Server Functions, API Routes, bundling and more powered by [TanStack Router](https://tanstack.com/router). - -Head over to [tanstack.com/start](https://tanstack.com/start) for more information about getting started. diff --git a/packages/start-server-functions-fetcher/eslint.config.js b/packages/start-server-functions-fetcher/eslint.config.js deleted file mode 100644 index bd7118fa1a8..00000000000 --- a/packages/start-server-functions-fetcher/eslint.config.js +++ /dev/null @@ -1,20 +0,0 @@ -// @ts-check - -import rootConfig from '../../eslint.config.js' - -export default [ - ...rootConfig, - { - files: ['**/*.{ts,tsx}'], - }, - { - plugins: {}, - rules: {}, - }, - { - files: ['**/__tests__/**'], - rules: { - '@typescript-eslint/no-unnecessary-condition': 'off', - }, - }, -] diff --git a/packages/start-server-functions-fetcher/package.json b/packages/start-server-functions-fetcher/package.json deleted file mode 100644 index b73223ab0e5..00000000000 --- a/packages/start-server-functions-fetcher/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "name": "@tanstack/start-server-functions-fetcher", - "version": "1.132.0-alpha.1", - "description": "Modern and scalable routing for applications", - "author": "Tanner Linsley", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/TanStack/router.git", - "directory": "packages/start-server-functions-fetcher" - }, - "homepage": "https://tanstack.com/start", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "keywords": [ - "react", - "location", - "router", - "routing", - "async", - "async router", - "typescript" - ], - "scripts": { - "clean": "rimraf ./dist && rimraf ./coverage", - "test": "pnpm test:eslint && pnpm test:types && pnpm test:build && pnpm test:unit", - "test:unit": "exit 0; vitest", - "test:eslint": "eslint ./src", - "test:types": "pnpm run \"/^test:types:ts[0-9]{2}$/\"", - "test:types:ts54": "node ../../node_modules/typescript54/lib/tsc.js", - "test:types:ts55": "node ../../node_modules/typescript55/lib/tsc.js", - "test:types:ts56": "node ../../node_modules/typescript56/lib/tsc.js", - "test:types:ts57": "node ../../node_modules/typescript57/lib/tsc.js", - "test:types:ts58": "node ../../node_modules/typescript58/lib/tsc.js", - "test:types:ts59": "tsc", - "test:build": "publint --strict && attw --ignore-rules no-resolution --pack .", - "build": "vite build" - }, - "type": "module", - "types": "dist/esm/index.d.ts", - "exports": { - ".": { - "import": { - "types": "./dist/esm/index.d.ts", - "default": "./dist/esm/index.js" - } - }, - "./package.json": "./package.json" - }, - "sideEffects": false, - "files": [ - "dist", - "src" - ], - "engines": { - "node": ">=12" - }, - "dependencies": { - "@tanstack/router-core": "workspace:*", - "@tanstack/start-client-core": "workspace:*" - }, - "devDependencies": { - "typescript": "^5.7.2" - } -} diff --git a/packages/start-server-functions-fetcher/tsconfig.json b/packages/start-server-functions-fetcher/tsconfig.json deleted file mode 100644 index 0484835e6b5..00000000000 --- a/packages/start-server-functions-fetcher/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "module": "esnext" - }, - "include": ["src", "vite.config.ts"] -} diff --git a/packages/start-server-functions-fetcher/vite.config.ts b/packages/start-server-functions-fetcher/vite.config.ts deleted file mode 100644 index 2f00b058fd7..00000000000 --- a/packages/start-server-functions-fetcher/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { defineConfig, mergeConfig } from 'vitest/config' -import { tanstackViteConfig } from '@tanstack/config/vite' -import packageJson from './package.json' -import type { ViteUserConfig } from 'vitest/config' - -const config = defineConfig({ - plugins: [] as ViteUserConfig['plugins'], - test: { - name: packageJson.name, - watch: false, - environment: 'jsdom', - }, -}) - -export default mergeConfig( - config, - tanstackViteConfig({ - entry: './src/index.ts', - srcDir: './src', - cjs: false, - }), -) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6be4678052..f21a7bbd20e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,8 +37,6 @@ overrides: '@tanstack/solid-start': workspace:* '@tanstack/solid-start-client': workspace:* '@tanstack/solid-start-server': workspace:* - '@tanstack/start-server-functions-fetcher': workspace:* - '@tanstack/start-server-functions-client': workspace:* '@tanstack/start-server-functions-server': workspace:* '@tanstack/start-plugin-core': workspace:* '@tanstack/start-client-core': workspace:* @@ -6643,9 +6641,6 @@ importers: '@tanstack/start-plugin-core': specifier: workspace:* version: link:../start-plugin-core - '@tanstack/start-server-functions-client': - specifier: workspace:* - version: link:../start-server-functions-client '@tanstack/start-server-functions-server': specifier: workspace:* version: link:../start-server-functions-server @@ -7105,9 +7100,6 @@ importers: '@tanstack/start-plugin-core': specifier: workspace:* version: link:../start-plugin-core - '@tanstack/start-server-functions-client': - specifier: workspace:* - version: link:../start-server-functions-client '@tanstack/start-server-functions-server': specifier: workspace:* version: link:../start-server-functions-server @@ -7305,32 +7297,6 @@ importers: specifier: ^1.3.3 version: 1.3.3 - packages/start-server-functions-client: - dependencies: - '@tanstack/server-functions-plugin': - specifier: workspace:* - version: link:../server-functions-plugin - '@tanstack/start-server-functions-fetcher': - specifier: workspace:* - version: link:../start-server-functions-fetcher - devDependencies: - typescript: - specifier: ^5.7.2 - version: 5.8.2 - - packages/start-server-functions-fetcher: - dependencies: - '@tanstack/router-core': - specifier: workspace:* - version: link:../router-core - '@tanstack/start-client-core': - specifier: workspace:* - version: link:../start-client-core - devDependencies: - typescript: - specifier: ^5.7.2 - version: 5.8.2 - packages/start-server-functions-server: dependencies: '@tanstack/server-functions-plugin': diff --git a/scripts/publish.js b/scripts/publish.js index ea8e4c628f5..4238490670b 100644 --- a/scripts/publish.js +++ b/scripts/publish.js @@ -128,14 +128,6 @@ await publish({ name: '@tanstack/react-start-server', packageDir: 'packages/react-start-server', }, - { - name: '@tanstack/start-server-functions-fetcher', - packageDir: 'packages/start-server-functions-fetcher', - }, - { - name: '@tanstack/start-server-functions-client', - packageDir: 'packages/start-server-functions-client', - }, { name: '@tanstack/start-server-functions-server', packageDir: 'packages/start-server-functions-server', From 8f41f218f56610fdb2976ad18f83d28de22db440 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Tue, 19 Aug 2025 00:12:47 +0200 Subject: [PATCH 097/271] cleanup tests --- packages/react-router/tests/link.test.tsx | 49 +- .../react-router/tests/useNavigate.test.tsx | 1539 +++++++++-------- packages/solid-router/tests/link.test.tsx | 1480 ++++++++-------- .../solid-router/tests/useNavigate.test.tsx | 1221 ++++++------- 4 files changed, 2190 insertions(+), 2099 deletions(-) diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 55508040e43..7a8971b6a30 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -5099,6 +5099,9 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( Link to .. from /param/foo/a + + Link to .. from current active route + ) @@ -5285,6 +5288,27 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( expect(window.location.pathname).toBe(`${basepath}/param/foo`) }) + test('should navigate to a parent link based on active location', async () => { + const router = setupRouter() + + render() + + await act(async () => { + history.push(`${basepath}/param/foo/a/b`) + }) + + const relativeLink = await screen.findByTestId('link-to-previous') + + expect(relativeLink.getAttribute('href')).toBe(`${basepath}/param/foo/a`) + + // Click the link and ensure the new location + await act(async () => { + fireEvent.click(relativeLink) + }) + + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`) + }) + test('should navigate to a child link based on pathname', async () => { const router = setupRouter() @@ -6015,21 +6039,14 @@ describe('when on /posts/$postId and navigating to ../ with default `from` /post }) const PostsComponent = () => { - const linkVia = () => { - if (navigateVia === 'Route') { - return ( - - To Home - - ) - } + const LinkViaRoute = () => ( + + To Home + + ) + const LinkViaRouteApi = () => { const RouteApiLink = getRouteApi('/_layout/posts').Link - return ( To Home @@ -6040,7 +6057,11 @@ describe('when on /posts/$postId and navigating to ../ with default `from` /post return ( <>

Posts

- {linkVia()} + { + navigateVia === 'Route' + ? + : + } ) diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index fe9b05b3278..ebd2f0a21df 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -1058,13 +1058,13 @@ test('when navigating from /invoices to ./invoiceId and the current route is /po name: 'To first post', }) - await act(() => fireEvent.click(postsButton)) + fireEvent.click(postsButton) const invoicesButton = await screen.findByRole('button', { name: 'To Invoices', }) - await act(() => fireEvent.click(invoicesButton)) + fireEvent.click(invoicesButton) expect(consoleWarn).toHaveBeenCalledWith( 'Could not find match for from: /invoices', @@ -1366,917 +1366,912 @@ test(' navigates only once in ', async () => { expect(navigateSpy.mock.calls.length).toBe(1) }) -describe('relative navigate to current route', () => { - test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' - - const rootRoute = createRootRoute() - - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> - - - - - - ) - } +test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const rootRoute = createRootRoute() - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> + + + + + + ) + } - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - render() + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - const postButton = await screen.findByTestId('posts-btn') + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - await act(() => fireEvent.click(postButton)) + render() - expect(router.state.location.pathname).toBe(`/post${tail}`) + const postButton = await screen.findByTestId('posts-btn') - const searchButton = await screen.findByTestId('search-btn') + fireEvent.click(postButton) - await act(() => fireEvent.click(searchButton)) + expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + const searchButton = await screen.findByTestId('search-btn') - const searchButton2 = await screen.findByTestId('search2-btn') + fireEvent.click(searchButton) - await act(() => fireEvent.click(searchButton2)) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }, - ) + const searchButton2 = await screen.findByTestId('search2-btn') - test.each([true, false])( - 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + fireEvent.click(searchButton2) - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - ) - } + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }, +) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) +test.each([true, false])( + 'should navigate to current route with changing path params when using "." in nested route structure', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { - return ( - <> -

Layout

- - - ) - }, - }) + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } - const PostsComponent = () => { - const navigate = useNavigate() + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { return ( <> -

Posts

- - +

Layout

) - } + }, + }) - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const PostsComponent = () => { + const navigate = useNavigate() - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - - Params: {params.postId} - - - ) - } + return ( + <> +

Posts

+ + + + + ) + } - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params.postId} + + + ) + } - render() + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) - const postsButton = await screen.findByTestId('posts-btn') + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - fireEvent.click(postsButton) + render() - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + const postsButton = await screen.findByTestId('posts-btn') - const firstPostButton = await screen.findByTestId('first-post-btn') + fireEvent.click(postsButton) - fireEvent.click(firstPostButton) + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - expect(await screen.findByTestId('post-id1')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + const firstPostButton = await screen.findByTestId('first-post-btn') - const secondPostButton = await screen.findByTestId('second-post-btn') + fireEvent.click(firstPostButton) - fireEvent.click(secondPostButton) + expect(await screen.findByTestId('post-id1')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) - expect(await screen.findByTestId('post-id2')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id2${tail}`) - }, - ) + const secondPostButton = await screen.findByTestId('second-post-btn') - test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from non-Index Route with trailingSlash: %s', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + fireEvent.click(secondPostButton) - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - ) - } - - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + expect(await screen.findByTestId('post-id2')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }, +) - const PostsComponent = () => { - const navigate = useNavigate() - return ( - <> -

Posts

- - - - ) - } +test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from non-Index Route', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - const postsRoute = createRoute({ - getParentRoute: () => rootRoute, - path: 'posts', - component: PostsComponent, - }) + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } - const useModal = (name: string) => { - const currentOpen = postRoute.useSearch({ - select: (search) => search[`_${name}`], - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - const navigate = useNavigate() + const PostsComponent = () => { + const navigate = useNavigate() + return ( + <> +

Posts

+ + + + ) + } - const setModal = React.useCallback( - (open: boolean) => { - navigate({ - to: '.', - search: (prev: {}) => ({ - ...prev, - [`_${name}`]: open ? true : undefined, - }), - resetScroll: false, - }) - }, - [name, navigate], - ) + const postsRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'posts', + component: PostsComponent, + }) - return [currentOpen, setModal] as const - } + const useModal = (name: string) => { + const currentOpen = postRoute.useSearch({ + select: (search) => search[`_${name}`], + }) - function DetailComponent(props: { id: string }) { - const params = useParams({ strict: false }) - const [currentTest, setTest] = useModal('test') + const navigate = useNavigate() + + const setModal = React.useCallback( + (open: boolean) => { + navigate({ + to: '.', + search: (prev: {}) => ({ + ...prev, + [`_${name}`]: open ? true : undefined, + }), + resetScroll: false, + }) + }, + [name, navigate], + ) - return ( - <> -
- Post Path "/{params.postId}/detail-{props.id}"! -
- {currentTest ? ( - - ) : ( - - )} - - ) - } + return [currentOpen, setModal] as const + } - const PostComponent = () => { - const params = useParams({ strict: false }) + function DetailComponent(props: { id: string }) { + const params = useParams({ strict: false }) + const [currentTest, setTest] = useModal('test') - return ( -
-
Post "{params.postId}"!
- - + return ( + <> +
+ Post Path "/{params.postId}/detail-{props.id}"!
- ) - } - - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - validateSearch: z.object({ - _test: z.boolean().optional(), - }), - }) + {currentTest ? ( + + ) : ( + + )} + + ) + } - const detailRoute = createRoute({ - getParentRoute: () => postRoute, - path: 'detail', - component: () => , - }) + const PostComponent = () => { + const params = useParams({ strict: false }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - postsRoute.addChildren([postRoute.addChildren([detailRoute])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + return ( +
+
Post "{params.postId}"!
+ + +
+ ) + } - render() + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + validateSearch: z.object({ + _test: z.boolean().optional(), + }), + }) - const postsButton = await screen.findByTestId('posts-btn') + const detailRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'detail', + component: () => , + }) - await act(() => fireEvent.click(postsButton)) + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + postsRoute.addChildren([postRoute.addChildren([detailRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() + render() - const post1Button = await screen.findByTestId('first-post-btn') + const postsButton = await screen.findByTestId('posts-btn') - await act(() => fireEvent.click(post1Button)) + fireEvent.click(postsButton) - expect(await screen.findByTestId('post-heading')).toBeInTheDocument() - expect(await screen.findByTestId('detail-heading-1')).toBeInTheDocument() - expect(await screen.findByTestId('detail-heading-2')).toBeInTheDocument() - expect(await screen.findByTestId('detail-heading-1')).toHaveTextContent( - 'Post Path "/id1/detail-1', - ) - expect(await screen.findByTestId('detail-heading-2')).toHaveTextContent( - 'Post Path "/id1/detail-2', - ) + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() - const detail1AddBtn = await screen.findByTestId('detail-btn-add-1') + const post1Button = await screen.findByTestId('first-post-btn') - await act(() => fireEvent.click(detail1AddBtn)) + fireEvent.click(post1Button) + expect(await screen.findByTestId('post-heading')).toBeInTheDocument() + expect(await screen.findByTestId('detail-heading-1')).toBeInTheDocument() + expect(await screen.findByTestId('detail-heading-2')).toBeInTheDocument() + expect(await screen.findByTestId('detail-heading-1')).toHaveTextContent( + 'Post Path "/id1/detail-1', + ) + expect(await screen.findByTestId('detail-heading-2')).toHaveTextContent( + 'Post Path "/id1/detail-2', + ) - expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) - expect(router.state.location.search).toEqual({ _test: true }) + const detail1AddBtn = await screen.findByTestId('detail-btn-add-1') - const detail1RemoveBtn = await screen.findByTestId('detail-btn-remove-1') + fireEvent.click(detail1AddBtn) - await act(() => fireEvent.click(detail1RemoveBtn)) + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({ _test: true }) - expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) - expect(router.state.location.search).toEqual({}) + const detail1RemoveBtn = await screen.findByTestId('detail-btn-remove-1') - const detail2AddBtn = await screen.findByTestId('detail-btn-add-2') + fireEvent.click(detail1RemoveBtn) - await act(() => fireEvent.click(detail2AddBtn)) + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({}) - expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) - expect(router.state.location.search).toEqual({ _test: true }) - }, - ) -}) + const detail2AddBtn = await screen.findByTestId('detail-btn-add-2') -describe('relative navigate to from route', () => { - test.each([true, false])( - 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' + fireEvent.click(detail2AddBtn) - const rootRoute = createRootRoute() + expect(router.state.location.pathname).toBe(`/posts/id1/detail${tail}`) + expect(router.state.location.search).toEqual({ _test: true }) + }, +) - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> - - - - - - ) - } +test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const rootRoute = createRootRoute() - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> + + + + + + ) + } - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - render() + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - const postButton = await screen.findByTestId('posts-btn') + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - await act(() => fireEvent.click(postButton)) + render() - expect(router.state.location.pathname).toBe(`/post${tail}`) + const postButton = await screen.findByTestId('posts-btn') - const searchButton = await screen.findByTestId('search-btn') + await act(() => fireEvent.click(postButton)) - await act(() => fireEvent.click(searchButton)) + expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + const searchButton = await screen.findByTestId('search-btn') - const homeBtn = await screen.findByTestId('home-btn') + await act(() => fireEvent.click(searchButton)) - await act(() => fireEvent.click(homeBtn)) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) - expect(router.state.location.pathname).toBe(`/`) - expect(router.state.location.search).toEqual({}) - }, - ) + const homeBtn = await screen.findByTestId('home-btn') - test.each([true, false])( - 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + await act(() => fireEvent.click(homeBtn)) - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - ) - } + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + } +) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) +test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { - return ( - <> -

Layout

- - - ) - }, - }) + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } - const PostsComponent = () => { - const navigate = postsRoute.useNavigate() - return ( - <> -

Posts

- - - - - - ) - } + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - const PostDetailComponent = () => { - const navigate = postDetailRoute.useNavigate() + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { return ( <> -

Post Detail

- - - +

Layout

) - } + }, + }) - const PostInfoComponent = () => { - return ( - <> -

Post Info

- - ) - } + const PostsComponent = () => { + const navigate = postsRoute.useNavigate() + return ( + <> +

Posts

+ + + + + + ) + } - const PostNotesComponent = () => { - return ( - <> -

Post Notes

- - ) - } + const PostDetailComponent = () => { + const navigate = postDetailRoute.useNavigate() + return ( + <> +

Post Detail

+ + + + + + ) + } - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } - const postDetailRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostDetailComponent, - }) + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } - const postInfoRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'info', - component: PostInfoComponent, - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const postNotesRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'notes', - component: PostNotesComponent, - }) + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([ - postsRoute.addChildren([ - postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), - ]), + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) + + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([ + postsRoute.addChildren([ + postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), ]), ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) - - render() + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - const postsButton = await screen.findByTestId('posts-btn') + render() - fireEvent.click(postsButton) + const postsButton = await screen.findByTestId('posts-btn') - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + fireEvent.click(postsButton) - const firstPostButton = await screen.findByTestId('first-post-btn') + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - fireEvent.click(firstPostButton) + const firstPostButton = await screen.findByTestId('first-post-btn') - expect( - await screen.findByTestId('post-detail-index-heading'), - ).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + fireEvent.click(firstPostButton) - const postInfoButton = await screen.findByTestId('post-info-btn') + expect( + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) - fireEvent.click(postInfoButton) + const postInfoButton = await screen.findByTestId('post-info-btn') - expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + fireEvent.click(postInfoButton) - const toPostDetailIndexButton = await screen.findByTestId( - 'to-post-detail-index-btn', - ) + expect(await screen.findByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) - fireEvent.click(toPostDetailIndexButton) + const toPostDetailIndexButton = await screen.findByTestId( + 'to-post-detail-index-btn', + ) - expect( - await screen.findByTestId('post-detail-index-heading'), - ).toBeInTheDocument() - expect(screen.queryByTestId('post-info-heading')).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + fireEvent.click(toPostDetailIndexButton) - const postNotesButton = await screen.findByTestId('post-notes-btn') + expect( + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect(screen.queryByTestId('post-info-heading')).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) - fireEvent.click(postNotesButton) + const postNotesButton = await screen.findByTestId('post-notes-btn') - expect( - await screen.findByTestId('post-notes-heading'), - ).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + fireEvent.click(postNotesButton) - const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') + expect( + await screen.findByTestId('post-notes-heading'), + ).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) - fireEvent.click(toPostsIndexButton) + const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() - expect(screen.queryByTestId('post-notes-heading')).not.toBeInTheDocument() - expect( - screen.queryByTestId('post-detail-index-heading'), - ).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + fireEvent.click(toPostsIndexButton) - const secondPostButton = await screen.findByTestId('second-post-btn') + expect( + await screen.findByTestId('posts-index-heading'), + ).toBeInTheDocument() + expect(screen.queryByTestId('post-notes-heading')).not.toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) - fireEvent.click(secondPostButton) + const secondPostButton = await screen.findByTestId('second-post-btn') - expect( - await screen.findByTestId('post-detail-index-heading'), - ).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/2${tail}`) - }, - ) + fireEvent.click(secondPostButton) - describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { - async function runTest(navigateVia: 'Route' | 'RouteApi') { - const rootRoute = createRootRoute() + expect( + await screen.findByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }, +) - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - - ) - } +describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { + async function runTest(navigateVia: 'Route' | 'RouteApi') { + const rootRoute = createRootRoute() - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + + ) + } - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { - return ( - <> -

Layout

- - - ) - }, - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - const PostsComponent = () => { - const routeNavigate = postsRoute.useNavigate() - const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { return ( <> -

Posts

- +

Layout

) - } + }, + }) - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + const PostsComponent = () => { + const routeNavigate = postsRoute.useNavigate() + const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() + return ( + <> +

Posts

+ + + + ) + } - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - Params: {params.postId} - - - ) - } + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + Params: {params.postId} + + + ) + } - const PostIndexComponent = () => { - return ( - <> -

Post Index

- - ) - } + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) - const postIndexRoute = createRoute({ - getParentRoute: () => postRoute, - path: '/', - component: PostIndexComponent, - }) + const PostIndexComponent = () => { + return ( + <> +

Post Index

+ + ) + } - const DetailsComponent = () => { - return ( - <> -

Details!

- - ) - } + const postIndexRoute = createRoute({ + getParentRoute: () => postRoute, + path: '/', + component: PostIndexComponent, + }) - const detailsRoute = createRoute({ - getParentRoute: () => postRoute, - path: 'details', - component: DetailsComponent, - }) + const DetailsComponent = () => { + return ( + <> +

Details!

+ + ) + } - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([ - postsRoute.addChildren([ - postRoute.addChildren([postIndexRoute, detailsRoute]), - ]), + const detailsRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'details', + component: DetailsComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([ + postsRoute.addChildren([ + postRoute.addChildren([postIndexRoute, detailsRoute]), ]), ]), - }) + ]), + }) - render() + render() - const postsButton = await screen.findByTestId('index-to-first-post-btn') + const postsButton = await screen.findByTestId('index-to-first-post-btn') - fireEvent.click(postsButton) + fireEvent.click(postsButton) - expect(await screen.findByTestId('details-heading')).toBeInTheDocument() + expect(await screen.findByTestId('details-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual('/posts/id1/details') + expect(window.location.pathname).toEqual('/posts/id1/details') - const homeButton = await screen.findByTestId('btn-to-home') + const homeButton = await screen.findByTestId('btn-to-home') - fireEvent.click(homeButton) + fireEvent.click(homeButton) - expect(await screen.findByTestId('index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual('/') - } + expect(await screen.findByTestId('index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual('/') + } - test('Route', () => runTest('Route')) - test('RouteApi', () => runTest('RouteApi')) - }) + test('Route', () => runTest('Route')) + test('RouteApi', () => runTest('RouteApi')) }) describe.each([{ basepath: '' }, { basepath: '/basepath' }])( @@ -2361,6 +2356,14 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( > Link to .. from /param/foo/a + ) @@ -2511,6 +2514,26 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( expect(window.location.pathname).toBe(`${basepath}/param/foo`) }) + test('should navigate to a parent link based on active location', async () => { + const router = setupRouter() + + render() + + await act(async () => { + history.push(`${basepath}/param/foo/a/b`) + }) + + const relativeLink = await screen.findByTestId('link-to-previous') + + // Click the link and ensure the new location + await act(async () => { + fireEvent.click(relativeLink) + }) + + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`) + }) + + test('should navigate to same route with different params', async () => { const router = setupRouter() diff --git a/packages/solid-router/tests/link.test.tsx b/packages/solid-router/tests/link.test.tsx index f53c6d46baa..ae751d4386f 100644 --- a/packages/solid-router/tests/link.test.tsx +++ b/packages/solid-router/tests/link.test.tsx @@ -4591,950 +4591,972 @@ describe('search middleware', () => { }) }) -describe('relative links to current route', () => { - test.each([true, false])( - 'should navigate to current route when using "." in nested route structure from Index Route with trailingSlash: %s', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' - +describe.each([{ basepath: '' }, { basepath: '/basepath' }])( + 'relative links with %s', + ({ basepath }) => { + const setupRouter = () => { const rootRoute = createRootRoute() - - const IndexComponent = () => { - return ( - <> - - Post - - - Search - - - Search2 - - - - ) - } - const indexRoute = createRoute({ getParentRoute: () => rootRoute, path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), + component: () => { + return

Index Route

+ }, + }) + const aRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'a', + component: () => { + return ( + <> +

A Route

+ + + ) + }, }) - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () => ( - <> -
Post
- - ), + const bRoute = createRoute({ + getParentRoute: () => aRoute, + path: 'b', + component: () => { + return ( + <> +

B Route

+ Link to Parent + + ) + }, }) - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', + const paramRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'param/$param', + component: () => { + return ( + <> +

Param Route

+ + Link to ./a + + + Link to c + + + Link to ../c + + + + ) + }, }) - render(() => ) + const paramARoute = createRoute({ + getParentRoute: () => paramRoute, + path: 'a', + component: () => { + return ( + <> +

Param A Route

+ + Link to .. from /param/foo/a + + + Link to .. from current active route + + + + ) + }, + }) - const postButton = await screen.findByTestId('posts-link') - const searchButton = await screen.findByTestId('search-link') - const searchButton2 = await screen.findByTestId('search2-link') + const paramBRoute = createRoute({ + getParentRoute: () => paramARoute, + path: 'b', + component: () => { + return ( + <> +

Param B Route

+ Link to Parent + + Link to . with param:bar + + + Link to Parent with param:bar + + ({ ...prev, param: 'bar' })} + > + Link to Parent with param:bar functional + + + ) + }, + }) - fireEvent.click(postButton) + const paramCRoute = createRoute({ + getParentRoute: () => paramARoute, + path: 'c', + component: () => { + return

Param C Route

+ }, + }) - await waitFor(() => { - expect(window.location.pathname).toBe(`/post${tail}`) + const splatRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'splat/$', + component: () => { + return ( + <> +

Splat Route

+ + Unsafe link to .. + + + Unsafe link to . + + + Unsafe link to ./child + + + ) + }, }) - fireEvent.click(searchButton) + return createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + aRoute.addChildren([bRoute]), + paramRoute.addChildren([ + paramARoute.addChildren([paramBRoute, paramCRoute]), + ]), + splatRoute, + ]), - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) + basepath: basepath === '' ? undefined : basepath, }) + } - fireEvent.click(searchButton2) + test('should navigate to the parent route', async () => { + const router = setupRouter() - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }) - }, - ) + render(() => ) - test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' + // Navigate to /a/b + window.history.replaceState(null, 'root', `${basepath}/a/b`) - const rootRoute = createRootRoute() + // Inspect the link to go up a parent + const parentLink = await screen.findByText('Link to Parent') + expect(parentLink.getAttribute('href')).toBe(`${basepath}/a`) - const IndexComponent = () => { - return ( - <> - - Post - - - Search - - - Search2 - - - - ) - } + // Click the link and ensure the new location + fireEvent.click(parentLink) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/a`), + ) + }) - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + test('should navigate to the parent route and keep params', async () => { + const router = setupRouter() - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + render(() => ) + + // Navigate to /param/oldParamValue/a/b + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + + // Inspect the link to go up a parent and keep the params + const parentLink = await screen.findByText('Link to Parent') + expect(parentLink.getAttribute('href')).toBe(`${basepath}/param/foo/a`) + + // Click the link and ensure the new location + fireEvent.click(parentLink) + + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), + ) + }) + + test('should navigate to the parent route and change params', async () => { + const router = setupRouter() render(() => ) - const postButton = await screen.findByTestId('posts-link') + // Navigate to /param/oldParamValue/a/b + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - fireEvent.click(postButton) + // Inspect the link to go up a parent and keep the params + const parentLink = await screen.findByText( + 'Link to Parent with param:bar', + ) + expect(parentLink.getAttribute('href')).toBe(`${basepath}/param/bar/a`) - await waitFor(() => { - expect(window.location.pathname).toBe(`/post${tail}`) - }) + // Click the link and ensure the new location + fireEvent.click(parentLink) - const searchButton = await screen.findByTestId('search-link') + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/bar/a`), + ) + }) - fireEvent.click(searchButton) + test('should navigate to a relative link based on render location', async () => { + const router = setupRouter() - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) - }) + render(() => ) - const searchButton2 = await screen.findByTestId('search2-link') + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - fireEvent.click(searchButton2) + // Inspect the relative link to ./a + const relativeLink = await screen.findByText('Link to ./a') + expect(relativeLink.getAttribute('href')).toBe(`${basepath}/param/foo/a`) - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }) - }, - ) + // Click the link and ensure the new location + fireEvent.click(relativeLink) - test.each([true, false])( - 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), + ) + }) - const IndexComponent = () => { - return ( - <> -

Index

- - Posts - - - ) - } + test('should navigate to a parent link based on render location', async () => { + const router = setupRouter() - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) + render(() => ) - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { - return ( - <> -

Layout

- - - ) - }, - }) + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - const PostsComponent = () => { - return ( - <> -

Posts

- - To first post - - - To second post - - - - ) - } + // Inspect the relative link to ./a + const relativeLink = await screen.findByText( + 'Link to .. from /param/foo/a', + ) + expect(relativeLink.getAttribute('href')).toBe(`${basepath}/param/foo`) - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) + // Click the link and ensure the new location + fireEvent.click(relativeLink) - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - - Params: {params().postId} - - - ) - } + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo`), + ) + }) - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) + test('should navigate to a parent link based on active location', async () => { + const router = setupRouter() - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), - ]), - trailingSlash: trailingSlash ? 'always' : 'never', - }) + render(() => ) + + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + + const relativeLink = await screen.findByTestId('link-to-previous') + + expect(relativeLink.getAttribute('href')).toBe(`${basepath}/param/foo/a`) + + // Click the link and ensure the new location + fireEvent.click(relativeLink) + + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), + ) + }) + + test('should navigate to a child link based on pathname', async () => { + const router = setupRouter() + + render(() => ) + + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + + // Inspect the relative link to ./a + const relativeLink = await screen.findByText('Link to c') + expect(relativeLink.getAttribute('href')).toBe( + `${basepath}/param/foo/a/b/c`, + ) + + // Click the link and ensure the new location + fireEvent.click(relativeLink) + + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a/b/c`), + ) + }) + + test('should navigate to a relative link based on pathname', async () => { + const router = setupRouter() render(() => ) - const postsButton = await screen.findByTestId('posts-link') + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - fireEvent.click(postsButton) + // Inspect the relative link to ./a + const relativeLink = await screen.findByText('Link to ../c') + expect(relativeLink.getAttribute('href')).toBe( + `${basepath}/param/foo/a/c`, + ) - await waitFor(() => { - expect(window.location.pathname).toEqual(`/posts${tail}`) - }) + // Click the link and ensure the new location + fireEvent.click(relativeLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a/c`), + ) + }) - const firstPostButton = await screen.findByTestId('first-post-link') + test('should navigate to parent inside of splat route based on pathname', async () => { + const router = setupRouter() - fireEvent.click(firstPostButton) + render(() => ) - await waitFor(() => { - expect(window.location.pathname).toEqual(`/posts/id1${tail}`) - }) + window.history.replaceState(null, 'root', `${basepath}/splat/a/b/c/d`) - const secondPostButton = await screen.findByTestId('second-post-link') + const relativeLink = await screen.findByText('Unsafe link to ..') + expect(relativeLink.getAttribute('href')).toBe(`${basepath}/splat/a/b/c`) - fireEvent.click(secondPostButton) + // Click the link and ensure the new location + fireEvent.click(relativeLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/splat/a/b/c`), + ) + }) - await waitFor(() => { - expect(window.location.pathname).toEqual(`/posts/id2${tail}`) - }) - }, - ) -}) + test('should navigate to same route inside of splat route based on pathname', async () => { + const router = setupRouter() -describe('relative links to from route', () => { - test.each([true, false])( - 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' + window.history.replaceState(null, 'root', `${basepath}/splat/a/b/c`) - const rootRoute = createRootRoute() + render(() => ) - const IndexComponent = () => { - return ( - <> - - Post - - - Search - - - Go To Home - - - - ) - } + const relativeLink = await screen.findByText('Unsafe link to .') + expect(relativeLink.getAttribute('href')).toBe(`${basepath}/splat/a/b/c`) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + // Click the link and ensure the new location + fireEvent.click(relativeLink) - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + expect(window.location.pathname).toBe(`${basepath}/splat/a/b/c`) + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + test('should navigate to child route inside of splat route based on pathname', async () => { + const router = setupRouter() - render(() => ) + window.history.replaceState(null, 'root', `${basepath}/splat/a/b/c`) - const postButton = await screen.findByTestId('posts-link') + render(() => ) - fireEvent.click(postButton) + const relativeLink = await screen.findByText('Unsafe link to ./child') + expect(relativeLink.getAttribute('href')).toBe( + `${basepath}/splat/a/b/c/child`, + ) - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - }) + // Click the link and ensure the new location + fireEvent.click(relativeLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/splat/a/b/c/child`), + ) + }) - const searchButton = await screen.findByTestId('search-link') + test('should navigate to same route with different params', async () => { + const router = setupRouter() - fireEvent.click(searchButton) + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) - }) + render(() => ) - const homeBtn = await screen.findByTestId('home-link') + const parentLink = await screen.findByText('Link to . with param:bar') - fireEvent.click(homeBtn) + fireEvent.click(parentLink) - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/`) - expect(router.state.location.search).toEqual({}) - }) - }, - ) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/bar/a/b`), + ) + }) + }, +) +describe('relative links to current route', () => { test.each([true, false])( - 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', - async (trailingSlash) => { + 'should navigate to current route when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() const IndexComponent = () => { return ( <> -

Index

- - Posts - - - ) - } - - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) - - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { - return ( - <> -

Layout

- - - ) - }, - }) - - const PostsComponent = () => { - return ( - <> -

Posts

- - To first post + + Post - To second post - - - To posts list - - - - ) - } - - const PostDetailComponent = () => { - return ( - <> -

Post Detail

- - To post info - - - To post notes + Search - To index detail options + Search2 ) } - const PostInfoComponent = () => { - return ( - <> -

Post Info

- - ) - } - - const PostNotesComponent = () => { - return ( - <> -

Post Notes

- - ) - } - - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) - - const postDetailRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostDetailComponent, - }) - - const postInfoRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'info', - component: PostInfoComponent, + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), }) - const postNotesRoute = createRoute({ - getParentRoute: () => postDetailRoute, - path: 'notes', - component: PostNotesComponent, + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () => ( + <> +
Post
+ + ), }) const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([ - postsRoute.addChildren([ - postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), - ]), - ]), - ]), + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, trailingSlash: trailingSlash ? 'always' : 'never', }) render(() => ) - const postsButton = await screen.findByTestId('posts-link') + const postButton = await screen.findByTestId('posts-link') + const searchButton = await screen.findByTestId('search-link') + const searchButton2 = await screen.findByTestId('search2-link') - fireEvent.click(postsButton) + fireEvent.click(postButton) await waitFor(() => { - expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + expect(window.location.pathname).toBe(`/post${tail}`) }) - const firstPostButton = await screen.findByTestId('first-post-link') - - fireEvent.click(firstPostButton) + fireEvent.click(searchButton) await waitFor(() => { - expect( - screen.queryByTestId('post-detail-index-heading'), - ).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) }) - const postInfoButton = await screen.findByTestId('post-info-link') - - fireEvent.click(postInfoButton) + fireEvent.click(searchButton2) await waitFor(() => { - expect(screen.queryByTestId('post-info-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) }) + }, + ) - const toPostDetailIndexButton = await screen.findByTestId( - 'to-post-detail-index-link', - ) + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - fireEvent.click(toPostDetailIndexButton) + const rootRoute = createRootRoute() - await waitFor(() => { - expect( - screen.queryByTestId('post-detail-index-heading'), - ).toBeInTheDocument() - expect( - screen.queryByTestId('post-info-heading'), - ).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1${tail}`) + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Search2 + + + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), }) - const postNotesButton = await screen.findByTestId('post-notes-link') + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - fireEvent.click(postNotesButton) + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postButton = await screen.findByTestId('posts-link') + + fireEvent.click(postButton) await waitFor(() => { - expect(screen.queryByTestId('post-notes-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + expect(window.location.pathname).toBe(`/post${tail}`) }) - const toPostsIndexButton = await screen.findByTestId( - 'to-posts-index-link', - ) + const searchButton = await screen.findByTestId('search-link') - fireEvent.click(toPostsIndexButton) + fireEvent.click(searchButton) await waitFor(() => { - expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() - expect( - screen.queryByTestId('post-notes-heading'), - ).not.toBeInTheDocument() - expect( - screen.queryByTestId('post-detail-index-heading'), - ).not.toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) }) - const secondPostButton = await screen.findByTestId('second-post-link') + const searchButton2 = await screen.findByTestId('search2-link') - fireEvent.click(secondPostButton) + fireEvent.click(searchButton2) await waitFor(() => { - expect( - screen.queryByTestId('post-detail-index-heading'), - ).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/2${tail}`) + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) }) }, ) -}) -describe.each([{ basepath: '' }, { basepath: '/basepath' }])( - 'relative links with %s', - ({ basepath }) => { - const setupRouter = () => { + test.each([true, false])( + 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' const rootRoute = createRootRoute() - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: () => { - return

Index Route

- }, - }) - const aRoute = createRoute({ - getParentRoute: () => rootRoute, - path: 'a', - component: () => { - return ( - <> -

A Route

- - - ) - }, - }) - - const bRoute = createRoute({ - getParentRoute: () => aRoute, - path: 'b', - component: () => { - return ( - <> -

B Route

- Link to Parent - - ) - }, - }) - - const paramRoute = createRoute({ - getParentRoute: () => rootRoute, - path: 'param/$param', - component: () => { - return ( - <> -

Param Route

- - Link to ./a - - - Link to c - - - Link to ../c - - - - ) - }, - }) - - const paramARoute = createRoute({ - getParentRoute: () => paramRoute, - path: 'a', - component: () => { - return ( - <> -

Param A Route

- - Link to .. from /param/foo/a - - - - ) - }, - }) - const paramBRoute = createRoute({ - getParentRoute: () => paramARoute, - path: 'b', - component: () => { - return ( - <> -

Param B Route

- Link to Parent - - Link to . with param:bar - - - Link to Parent with param:bar - - ({ ...prev, param: 'bar' })} - > - Link to Parent with param:bar functional - - - ) - }, - }) + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } - const paramCRoute = createRoute({ - getParentRoute: () => paramARoute, - path: 'c', - component: () => { - return

Param C Route

- }, + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, }) - const splatRoute = createRoute({ + const layoutRoute = createRoute({ getParentRoute: () => rootRoute, - path: 'splat/$', + id: '_layout', component: () => { return ( <> -

Splat Route

- - Unsafe link to .. - - - Unsafe link to . - - - Unsafe link to ./child - +

Layout

+ ) }, }) - return createRouter({ + const PostsComponent = () => { + return ( + <> +

Posts

+ + To first post + + + To second post + + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params().postId} + + + ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) + + const router = createRouter({ routeTree: rootRoute.addChildren([ indexRoute, - aRoute.addChildren([bRoute]), - paramRoute.addChildren([ - paramARoute.addChildren([paramBRoute, paramCRoute]), - ]), - splatRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), ]), - - basepath: basepath === '' ? undefined : basepath, + trailingSlash: trailingSlash ? 'always' : 'never', }) - } - - test('should navigate to the parent route', async () => { - const router = setupRouter() render(() => ) - // Navigate to /a/b - window.history.replaceState(null, 'root', `${basepath}/a/b`) + const postsButton = await screen.findByTestId('posts-link') - // Inspect the link to go up a parent - const parentLink = await screen.findByText('Link to Parent') - expect(parentLink.getAttribute('href')).toBe(`${basepath}/a`) + fireEvent.click(postsButton) - // Click the link and ensure the new location - fireEvent.click(parentLink) + await waitFor(() => { + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/a`), - ) - }) + const firstPostButton = await screen.findByTestId('first-post-link') - test('should navigate to the parent route and keep params', async () => { - const router = setupRouter() + fireEvent.click(firstPostButton) - render(() => ) + await waitFor(() => { + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + }) - // Navigate to /param/oldParamValue/a/b - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + const secondPostButton = await screen.findByTestId('second-post-link') - // Inspect the link to go up a parent and keep the params - const parentLink = await screen.findByText('Link to Parent') - expect(parentLink.getAttribute('href')).toBe(`${basepath}/param/foo/a`) + fireEvent.click(secondPostButton) - // Click the link and ensure the new location - fireEvent.click(parentLink) + await waitFor(() => { + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }) + }, + ) +}) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), - ) - }) +describe('relative links to from route', () => { + test.each([true, false])( + 'should navigate to from route when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { + const tail = trailingSlash ? '/' : '' - test('should navigate to the parent route and change params', async () => { - const router = setupRouter() + const rootRoute = createRootRoute() - render(() => ) + const IndexComponent = () => { + return ( + <> + + Post + + + Search + + + Go To Home + + + + ) + } - // Navigate to /param/oldParamValue/a/b - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) - // Inspect the link to go up a parent and keep the params - const parentLink = await screen.findByText( - 'Link to Parent with param:bar', - ) - expect(parentLink.getAttribute('href')).toBe(`${basepath}/param/bar/a`) + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) - // Click the link and ensure the new location - fireEvent.click(parentLink) + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/bar/a`), - ) - }) + render(() => ) - test('should navigate to a relative link based on render location', async () => { - const router = setupRouter() + const postButton = await screen.findByTestId('posts-link') - render(() => ) + fireEvent.click(postButton) - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + }) - // Inspect the relative link to ./a - const relativeLink = await screen.findByText('Link to ./a') - expect(relativeLink.getAttribute('href')).toBe(`${basepath}/param/foo/a`) + const searchButton = await screen.findByTestId('search-link') - // Click the link and ensure the new location - fireEvent.click(relativeLink) + fireEvent.click(searchButton) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), - ) - }) + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + }) - test('should navigate to a parent link based on render location', async () => { - const router = setupRouter() + const homeBtn = await screen.findByTestId('home-link') - render(() => ) + fireEvent.click(homeBtn) - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/`) + expect(router.state.location.search).toEqual({}) + }) + }, + ) - // Inspect the relative link to ./a - const relativeLink = await screen.findByText( - 'Link to .. from /param/foo/a', - ) - expect(relativeLink.getAttribute('href')).toBe(`${basepath}/param/foo`) + test.each([true, false])( + 'should navigate to from route with path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() - // Click the link and ensure the new location - fireEvent.click(relativeLink) + const IndexComponent = () => { + return ( + <> +

Index

+ + Posts + + + ) + } - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo`), - ) - }) + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) - test('should navigate to a child link based on pathname', async () => { - const router = setupRouter() + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) - render(() => ) + const PostsComponent = () => { + return ( + <> +

Posts

+ + To first post + + + To second post + + + To posts list + + + + ) + } - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + const PostDetailComponent = () => { + return ( + <> +

Post Detail

+ + To post info + + + To post notes + + + To index detail options + + + + ) + } - // Inspect the relative link to ./a - const relativeLink = await screen.findByText('Link to c') - expect(relativeLink.getAttribute('href')).toBe( - `${basepath}/param/foo/a/b/c`, - ) + const PostInfoComponent = () => { + return ( + <> +

Post Info

+ + ) + } - // Click the link and ensure the new location - fireEvent.click(relativeLink) + const PostNotesComponent = () => { + return ( + <> +

Post Notes

+ + ) + } - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo/a/b/c`), - ) - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - test('should navigate to a relative link based on pathname', async () => { - const router = setupRouter() + const postDetailRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostDetailComponent, + }) - render(() => ) + const postInfoRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'info', + component: PostInfoComponent, + }) - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + const postNotesRoute = createRoute({ + getParentRoute: () => postDetailRoute, + path: 'notes', + component: PostNotesComponent, + }) - // Inspect the relative link to ./a - const relativeLink = await screen.findByText('Link to ../c') - expect(relativeLink.getAttribute('href')).toBe( - `${basepath}/param/foo/a/c`, - ) + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([ + postsRoute.addChildren([ + postDetailRoute.addChildren([postInfoRoute, postNotesRoute]), + ]), + ]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) - // Click the link and ensure the new location - fireEvent.click(relativeLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo/a/c`), - ) - }) + render(() => ) - test('should navigate to parent inside of splat route based on pathname', async () => { - const router = setupRouter() + const postsButton = await screen.findByTestId('posts-link') - render(() => ) + fireEvent.click(postsButton) - window.history.replaceState(null, 'root', `${basepath}/splat/a/b/c/d`) + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) - const relativeLink = await screen.findByText('Unsafe link to ..') - expect(relativeLink.getAttribute('href')).toBe(`${basepath}/splat/a/b/c`) + const firstPostButton = await screen.findByTestId('first-post-link') - // Click the link and ensure the new location - fireEvent.click(relativeLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/splat/a/b/c`), - ) - }) + fireEvent.click(firstPostButton) - test('should navigate to same route inside of splat route based on pathname', async () => { - const router = setupRouter() + await waitFor(() => { + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + }) - window.history.replaceState(null, 'root', `${basepath}/splat/a/b/c`) + const postInfoButton = await screen.findByTestId('post-info-link') - render(() => ) + fireEvent.click(postInfoButton) - const relativeLink = await screen.findByText('Unsafe link to .') - expect(relativeLink.getAttribute('href')).toBe(`${basepath}/splat/a/b/c`) + await waitFor(() => { + expect(screen.queryByTestId('post-info-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/info${tail}`) + }) - // Click the link and ensure the new location - fireEvent.click(relativeLink) + const toPostDetailIndexButton = await screen.findByTestId( + 'to-post-detail-index-link', + ) - expect(window.location.pathname).toBe(`${basepath}/splat/a/b/c`) - }) + fireEvent.click(toPostDetailIndexButton) - test('should navigate to child route inside of splat route based on pathname', async () => { - const router = setupRouter() + await waitFor(() => { + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect( + screen.queryByTestId('post-info-heading'), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1${tail}`) + }) - window.history.replaceState(null, 'root', `${basepath}/splat/a/b/c`) + const postNotesButton = await screen.findByTestId('post-notes-link') - render(() => ) + fireEvent.click(postNotesButton) - const relativeLink = await screen.findByText('Unsafe link to ./child') - expect(relativeLink.getAttribute('href')).toBe( - `${basepath}/splat/a/b/c/child`, - ) + await waitFor(() => { + expect(screen.queryByTestId('post-notes-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) + }) - // Click the link and ensure the new location - fireEvent.click(relativeLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/splat/a/b/c/child`), + const toPostsIndexButton = await screen.findByTestId( + 'to-posts-index-link', ) - }) - - test('should navigate to same route with different params', async () => { - const router = setupRouter() - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + fireEvent.click(toPostsIndexButton) - render(() => ) + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect( + screen.queryByTestId('post-notes-heading'), + ).not.toBeInTheDocument() + expect( + screen.queryByTestId('post-detail-index-heading'), + ).not.toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) - const parentLink = await screen.findByText('Link to . with param:bar') + const secondPostButton = await screen.findByTestId('second-post-link') - fireEvent.click(parentLink) + fireEvent.click(secondPostButton) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/bar/a/b`), - ) - }) - }, -) + await waitFor(() => { + expect( + screen.queryByTestId('post-detail-index-heading'), + ).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/2${tail}`) + }) + }, + ) +}) diff --git a/packages/solid-router/tests/useNavigate.test.tsx b/packages/solid-router/tests/useNavigate.test.tsx index 5d22b0adb76..d4d15eed1a6 100644 --- a/packages/solid-router/tests/useNavigate.test.tsx +++ b/packages/solid-router/tests/useNavigate.test.tsx @@ -1320,301 +1320,711 @@ test('when setting search params with 2 parallel navigate calls', async () => { expect(search.get('param2')).toEqual('bar') }) -describe('relative navigate to current route', () => { - test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', - async (trailingSlash: boolean) => { - const tail = trailingSlash ? '/' : '' +describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { + async function runTest(navigateVia: 'Route' | 'RouteApi') { + const rootRoute = createRootRoute() - const rootRoute = createRootRoute() + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + + ) + } - const IndexComponent = () => { - const navigate = useNavigate() + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { return ( <> - - - +

Layout

) - } + }, + }) - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - validateSearch: z.object({ - param1: z.string().optional(), - }), - }) + const PostsComponent = () => { + const routeNavigate = postsRoute.useNavigate() + const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() + return ( + <> +

Posts

+ + + + ) + } - const postRoute = createRoute({ - getParentRoute: () => indexRoute, - path: 'post', - component: () =>
Post
, - }) + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) - const router = createRouter({ - routeTree: rootRoute.addChildren([indexRoute, postRoute]), - history, - trailingSlash: trailingSlash ? 'always' : 'never', - }) + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + Params: {params().postId} + + + ) + } - render(() => ) + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) - const postButton = await screen.findByTestId('posts-btn') + const PostIndexComponent = () => { + return ( + <> +

Post Index

+ + ) + } - fireEvent.click(postButton) + const postIndexRoute = createRoute({ + getParentRoute: () => postRoute, + path: '/', + component: PostIndexComponent, + }) - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - }) + const DetailsComponent = () => { + return ( + <> +

Details!

+ + ) + } - const searchButton = await screen.findByTestId('search-btn') + const detailsRoute = createRoute({ + getParentRoute: () => postRoute, + path: 'details', + component: DetailsComponent, + }) - fireEvent.click(searchButton) + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([ + postsRoute.addChildren([ + postRoute.addChildren([postIndexRoute, detailsRoute]), + ]), + ]), + ]), + }) - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value1' }) - }) + render(() => ) - const searchButton2 = await screen.findByTestId('search2-btn') + const postsButton = await screen.findByTestId('index-to-first-post-btn') - fireEvent.click(searchButton2) + fireEvent.click(postsButton) - await waitFor(() => { - expect(router.state.location.pathname).toBe(`/post${tail}`) - expect(router.state.location.search).toEqual({ param1: 'value2' }) - }) - }, - ) + expect(await screen.findByTestId('details-heading')).toBeInTheDocument() - test.each([true, false])( - 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', - async (trailingSlash) => { - const tail = trailingSlash ? '/' : '' - const rootRoute = createRootRoute() + expect(window.location.pathname).toEqual('/posts/id1/details') - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - ) - } + const homeButton = await screen.findByTestId('btn-to-home') + + fireEvent.click(homeButton) + + expect(await screen.findByTestId('index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual('/') + } + test('Route', () => runTest('Route')) + test('RouteApi', () => runTest('RouteApi')) +}) + +describe.each([{ basepath: '' }, { basepath: '/basepath' }])( + 'relative useNavigate with %s', + ({ basepath }) => { + const setupRouter = () => { + const rootRoute = createRootRoute() const indexRoute = createRoute({ getParentRoute: () => rootRoute, path: '/', - component: IndexComponent, + component: () => { + return

Index Route

+ }, }) - - const layoutRoute = createRoute({ + const aRoute = createRoute({ getParentRoute: () => rootRoute, - id: '_layout', + path: 'a', component: () => { return ( <> -

Layout

+

A Route

) }, }) - const PostsComponent = () => { - const navigate = useNavigate() - - return ( - <> -

Posts

- - - - - ) - } - - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, + const bRoute = createRoute({ + getParentRoute: () => aRoute, + path: 'b', + component: function BRoute() { + const navigate = useNavigate() + return ( + <> +

B Route

+ + + ) + }, }) - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - - Params: {params().postId} - - - ) - } - - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, + const paramRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'param/$param', + component: function ParamRoute() { + const navigate = useNavigate() + return ( + <> +

Param Route

+ + + + + ) + }, }) - const router = createRouter({ + const paramARoute = createRoute({ + getParentRoute: () => paramRoute, + path: 'a', + component: function ParamARoute() { + const navigate = useNavigate() + return ( + <> +

Param A Route

+ + + + + ) + }, + }) + + const paramBRoute = createRoute({ + getParentRoute: () => paramARoute, + path: 'b', + component: function ParamBRoute() { + const navigate = useNavigate() + return ( + <> +

Param B Route

+ + + + + ) + }, + }) + + return createRouter({ routeTree: rootRoute.addChildren([ indexRoute, - layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + aRoute.addChildren([bRoute]), + paramRoute.addChildren([paramARoute, paramBRoute]), ]), - trailingSlash: trailingSlash ? 'always' : 'never', + + basepath: basepath === '' ? undefined : basepath, }) + } + + test('should navigate to the parent route', async () => { + const router = setupRouter() + + // Navigate to /a/b + window.history.replaceState(null, 'root', `${basepath}/a/b`) render(() => ) - const postsButton = await screen.findByTestId('posts-btn') + // Inspect the link to go up a parent + const parentLink = await screen.findByText('Link to Parent') - fireEvent.click(postsButton) + // Click the link and ensure the new location + fireEvent.click(parentLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/a`), + ) + }) - await waitFor(() => { - expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts${tail}`) - }) + test('should navigate to the parent route and keep params', async () => { + const router = setupRouter() - const firstPostButton = await screen.findByTestId('first-post-btn') + // Navigate to /param/oldParamValue/a/b + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - fireEvent.click(firstPostButton) + render(() => ) - await waitFor(() => { - expect(screen.queryByTestId('post-id1')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id1${tail}`) - }) + // Inspect the link to go up a parent and keep the params + const parentLink = await screen.findByText('Link to Parent') - const secondPostButton = await screen.findByTestId('second-post-btn') + // Click the link and ensure the new location + fireEvent.click(parentLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), + ) + }) - fireEvent.click(secondPostButton) + test('should navigate to the parent route and change params', async () => { + const router = setupRouter() + // Navigate to /param/oldParamValue/a/b - await waitFor(() => { - expect(screen.queryByTestId('post-id2')).toBeInTheDocument() - expect(window.location.pathname).toEqual(`/posts/id2${tail}`) - }) - }, - ) + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + render(() => ) + + // Inspect the link to go up a parent and keep the params + const parentLink = await screen.findByText( + 'Link to Parent with param:bar', + ) + + // Click the link and ensure the new location + fireEvent.click(parentLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/bar/a`), + ) + }) + + test('should navigate to a relative link based on render location with basepath', async () => { + const router = setupRouter() + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + + render(() => ) + + // Inspect the relative link to ./a + const relativeLink = await screen.findByText('Link to ./a') + + // Click the link and ensure the new location + fireEvent.click(relativeLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), + ) + }) + + test('should navigate to a parent link based on render location', async () => { + const router = setupRouter() + + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + + render(() => ) + + // Inspect the relative link to ./a + const relativeLink = await screen.findByText( + 'Link to .. from /param/foo/a', + ) + + // Click the link and ensure the new location + fireEvent.click(relativeLink) + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo`), + ) + }) + + test('should navigate to a parent link based on active location', async () => { + const router = setupRouter() + + render(() => ) + + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + + const relativeLink = await screen.findByTestId('link-to-previous') + + // Click the link and ensure the new location + fireEvent.click(relativeLink) + + await waitFor(() => + expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), + ) + }) + + test('should navigate to same route with different params', async () => { + const router = setupRouter() + + window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) + + render(() => ) + + const parentLink = await screen.findByText('Link to . with param:bar') + + fireEvent.click(parentLink) + await waitFor( + () => + expect(window.location.pathname).toBe(`${basepath}/param/bar/a/b`), + {}, + ) + }) + }, +) + +describe('relative navigate to current route', () => { test.each([true, false])( - 'should navigate to current route with search params when using "." in nested route structure from non-Index Route with trailingSlash: %s', - async (trailingSlash) => { + 'should navigate to current route with search params when using "." in nested route structure from Index Route with trailingSlash: %s', + async (trailingSlash: boolean) => { const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() const IndexComponent = () => { const navigate = useNavigate() return ( <> -

Index

- - ) - } - - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) - - const PostsComponent = () => { - const navigate = postsRoute.useNavigate() - return ( - <> -

Posts

+ ) } - const postsRoute = createRoute({ + const indexRoute = createRoute({ getParentRoute: () => rootRoute, - path: 'posts', - component: PostsComponent, - }) - - const useModal = (name: string) => { - const currentOpen = postRoute.useSearch({ + path: '/', + component: IndexComponent, + validateSearch: z.object({ + param1: z.string().optional(), + }), + }) + + const postRoute = createRoute({ + getParentRoute: () => indexRoute, + path: 'post', + component: () =>
Post
, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([indexRoute, postRoute]), + history, + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + }) + + const searchButton = await screen.findByTestId('search-btn') + + fireEvent.click(searchButton) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value1' }) + }) + + const searchButton2 = await screen.findByTestId('search2-btn') + + fireEvent.click(searchButton2) + + await waitFor(() => { + expect(router.state.location.pathname).toBe(`/post${tail}`) + expect(router.state.location.search).toEqual({ param1: 'value2' }) + }) + }, + ) + + test.each([true, false])( + 'should navigate to current route with changing path params when using "." in nested route structure with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const layoutRoute = createRoute({ + getParentRoute: () => rootRoute, + id: '_layout', + component: () => { + return ( + <> +

Layout

+ + + ) + }, + }) + + const PostsComponent = () => { + const navigate = useNavigate() + + return ( + <> +

Posts

+ + + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => layoutRoute, + path: 'posts', + component: PostsComponent, + }) + + const PostComponent = () => { + const params = useParams({ strict: false }) + return ( + <> + + Params: {params().postId} + + + ) + } + + const postRoute = createRoute({ + getParentRoute: () => postsRoute, + path: '$postId', + component: PostComponent, + }) + + const router = createRouter({ + routeTree: rootRoute.addChildren([ + indexRoute, + layoutRoute.addChildren([postsRoute.addChildren([postRoute])]), + ]), + trailingSlash: trailingSlash ? 'always' : 'never', + }) + + render(() => ) + + const postsButton = await screen.findByTestId('posts-btn') + + fireEvent.click(postsButton) + + await waitFor(() => { + expect(screen.queryByTestId('posts-index-heading')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts${tail}`) + }) + + const firstPostButton = await screen.findByTestId('first-post-btn') + + fireEvent.click(firstPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-id1')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id1${tail}`) + }) + + const secondPostButton = await screen.findByTestId('second-post-btn') + + fireEvent.click(secondPostButton) + + await waitFor(() => { + expect(screen.queryByTestId('post-id2')).toBeInTheDocument() + expect(window.location.pathname).toEqual(`/posts/id2${tail}`) + }) + }, + ) + + test.each([true, false])( + 'should navigate to current route with search params when using "." in nested route structure from non-Index Route with trailingSlash: %s', + async (trailingSlash) => { + const tail = trailingSlash ? '/' : '' + const rootRoute = createRootRoute() + + const IndexComponent = () => { + const navigate = useNavigate() + return ( + <> +

Index

+ + + ) + } + + const indexRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/', + component: IndexComponent, + }) + + const PostsComponent = () => { + const navigate = postsRoute.useNavigate() + return ( + <> +

Posts

+ + + + ) + } + + const postsRoute = createRoute({ + getParentRoute: () => rootRoute, + path: 'posts', + component: PostsComponent, + }) + + const useModal = (name: string) => { + const currentOpen = postRoute.useSearch({ select: (search) => search[`_${name}`], }) @@ -2114,389 +2524,4 @@ describe('relative navigate to from route', () => { }) }, ) - - describe('when on /posts/$postId and navigating to ../ with default `from` /posts', () => { - async function runTest(navigateVia: 'Route' | 'RouteApi') { - const rootRoute = createRootRoute() - - const IndexComponent = () => { - const navigate = useNavigate() - return ( - <> -

Index

- - - - ) - } - - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: IndexComponent, - }) - - const layoutRoute = createRoute({ - getParentRoute: () => rootRoute, - id: '_layout', - component: () => { - return ( - <> -

Layout

- - - ) - }, - }) - - const PostsComponent = () => { - const routeNavigate = postsRoute.useNavigate() - const routeApiNavigate = getRouteApi('/_layout/posts').useNavigate() - return ( - <> -

Posts

- - - - ) - } - - const postsRoute = createRoute({ - getParentRoute: () => layoutRoute, - path: 'posts', - component: PostsComponent, - }) - - const PostComponent = () => { - const params = useParams({ strict: false }) - return ( - <> - Params: {params().postId} - - - ) - } - - const postRoute = createRoute({ - getParentRoute: () => postsRoute, - path: '$postId', - component: PostComponent, - }) - - const PostIndexComponent = () => { - return ( - <> -

Post Index

- - ) - } - - const postIndexRoute = createRoute({ - getParentRoute: () => postRoute, - path: '/', - component: PostIndexComponent, - }) - - const DetailsComponent = () => { - return ( - <> -

Details!

- - ) - } - - const detailsRoute = createRoute({ - getParentRoute: () => postRoute, - path: 'details', - component: DetailsComponent, - }) - - const router = createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - layoutRoute.addChildren([ - postsRoute.addChildren([ - postRoute.addChildren([postIndexRoute, detailsRoute]), - ]), - ]), - ]), - }) - - render(() => ) - - const postsButton = await screen.findByTestId('index-to-first-post-btn') - - fireEvent.click(postsButton) - - expect(await screen.findByTestId('details-heading')).toBeInTheDocument() - - expect(window.location.pathname).toEqual('/posts/id1/details') - - const homeButton = await screen.findByTestId('btn-to-home') - - fireEvent.click(homeButton) - - expect(await screen.findByTestId('index-heading')).toBeInTheDocument() - expect(window.location.pathname).toEqual('/') - } - - test('Route', () => runTest('Route')) - test('RouteApi', () => runTest('RouteApi')) - }) }) - -describe.each([{ basepath: '' }, { basepath: '/basepath' }])( - 'relative useNavigate with %s', - ({ basepath }) => { - const setupRouter = () => { - const rootRoute = createRootRoute() - const indexRoute = createRoute({ - getParentRoute: () => rootRoute, - path: '/', - component: () => { - return

Index Route

- }, - }) - const aRoute = createRoute({ - getParentRoute: () => rootRoute, - path: 'a', - component: () => { - return ( - <> -

A Route

- - - ) - }, - }) - - const bRoute = createRoute({ - getParentRoute: () => aRoute, - path: 'b', - component: function BRoute() { - const navigate = useNavigate() - return ( - <> -

B Route

- - - ) - }, - }) - - const paramRoute = createRoute({ - getParentRoute: () => rootRoute, - path: 'param/$param', - component: function ParamRoute() { - const navigate = useNavigate() - return ( - <> -

Param Route

- - - - - ) - }, - }) - - const paramARoute = createRoute({ - getParentRoute: () => paramRoute, - path: 'a', - component: function ParamARoute() { - const navigate = useNavigate() - return ( - <> -

Param A Route

- - - - ) - }, - }) - - const paramBRoute = createRoute({ - getParentRoute: () => paramARoute, - path: 'b', - component: function ParamBRoute() { - const navigate = useNavigate() - return ( - <> -

Param B Route

- - - - - ) - }, - }) - - return createRouter({ - routeTree: rootRoute.addChildren([ - indexRoute, - aRoute.addChildren([bRoute]), - paramRoute.addChildren([paramARoute, paramBRoute]), - ]), - - basepath: basepath === '' ? undefined : basepath, - }) - } - - test('should navigate to the parent route', async () => { - const router = setupRouter() - - // Navigate to /a/b - window.history.replaceState(null, 'root', `${basepath}/a/b`) - - render(() => ) - - // Inspect the link to go up a parent - const parentLink = await screen.findByText('Link to Parent') - - // Click the link and ensure the new location - fireEvent.click(parentLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/a`), - ) - }) - - test('should navigate to the parent route and keep params', async () => { - const router = setupRouter() - - // Navigate to /param/oldParamValue/a/b - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - - render(() => ) - - // Inspect the link to go up a parent and keep the params - const parentLink = await screen.findByText('Link to Parent') - - // Click the link and ensure the new location - fireEvent.click(parentLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), - ) - }) - - test('should navigate to the parent route and change params', async () => { - const router = setupRouter() - // Navigate to /param/oldParamValue/a/b - - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - render(() => ) - - // Inspect the link to go up a parent and keep the params - const parentLink = await screen.findByText( - 'Link to Parent with param:bar', - ) - - // Click the link and ensure the new location - fireEvent.click(parentLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/bar/a`), - ) - }) - - test('should navigate to a relative link based on render location with basepath', async () => { - const router = setupRouter() - - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - - render(() => ) - - // Inspect the relative link to ./a - const relativeLink = await screen.findByText('Link to ./a') - - // Click the link and ensure the new location - fireEvent.click(relativeLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo/a`), - ) - }) - - test('should navigate to a parent link based on render location', async () => { - const router = setupRouter() - - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - - render(() => ) - - // Inspect the relative link to ./a - const relativeLink = await screen.findByText( - 'Link to .. from /param/foo/a', - ) - - // Click the link and ensure the new location - fireEvent.click(relativeLink) - await waitFor(() => - expect(window.location.pathname).toBe(`${basepath}/param/foo`), - ) - }) - - test('should navigate to same route with different params', async () => { - const router = setupRouter() - - window.history.replaceState(null, 'root', `${basepath}/param/foo/a/b`) - - render(() => ) - - const parentLink = await screen.findByText('Link to . with param:bar') - - fireEvent.click(parentLink) - await waitFor( - () => - expect(window.location.pathname).toBe(`${basepath}/param/bar/a/b`), - {}, - ) - }) - }, -) From de884b8e97acd89aa5980388159c1f922afa6c7f Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Tue, 19 Aug 2025 03:34:31 +0200 Subject: [PATCH 098/271] consolidate from logic --- packages/react-router/src/link.tsx | 33 +++++----------- .../react-router/src/useActiveLocation.ts | 33 ++++++++++++++++ packages/react-router/src/useNavigate.tsx | 22 ++--------- packages/solid-router/src/link.tsx | 26 ++----------- .../solid-router/src/useActiveLocation.ts | 39 +++++++++++++++++++ packages/solid-router/src/useNavigate.tsx | 19 ++------- 6 files changed, 93 insertions(+), 79 deletions(-) create mode 100644 packages/react-router/src/useActiveLocation.ts create mode 100644 packages/solid-router/src/useActiveLocation.ts diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index c867370290f..348d1f8fc64 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -4,16 +4,18 @@ import { deepEqual, exactPathTest, functionalUpdate, - last, preloadWarning, removeTrailingSlash, } from '@tanstack/router-core' +import { useActiveLocation } from './useActiveLocation' import { useRouterState } from './useRouterState' import { useRouter } from './useRouter' -import { useForwardedRef, useIntersectionObserver } from './utils' +import { + useForwardedRef, + useIntersectionObserver, +} from './utils' -import { useMatch } from './useMatch' import type { AnyRouter, Constrain, @@ -100,37 +102,20 @@ export function useLinkProps< structuralSharing: true as any, }) - const matchIndex = useMatch({ - strict: false, - select: (match) => match.index, - }) + const {getFromPath} = useActiveLocation() - // Track the active location to ensure recomputation on path changes - const activeLocation = useRouterState({ - select: (s) => s.location, - structuralSharing: true as any, - }) + const from = getFromPath(options.from) const _options = React.useMemo( () => { - const currentRouteMatches = router.matchRoutes(activeLocation, { - _buildLocation: false, - }) - - const from = - options.from ?? - last(currentRouteMatches)?.fullPath ?? - router.state.matches[matchIndex]!.fullPath - - return { ...options, from } + return { ...options, from } }, // eslint-disable-next-line react-hooks/exhaustive-deps [ router, currentSearch, - activeLocation, + from, options._fromLocation, - options.from, options.hash, options.to, options.search, diff --git a/packages/react-router/src/useActiveLocation.ts b/packages/react-router/src/useActiveLocation.ts new file mode 100644 index 00000000000..4939475be0b --- /dev/null +++ b/packages/react-router/src/useActiveLocation.ts @@ -0,0 +1,33 @@ +import { last } from '@tanstack/router-core' +import { useRouter } from './useRouter' +import { useMatch } from './useMatch' +import { useRouterState } from './useRouterState' +import type { AnyRouteMatch } from '@tanstack/router-core' + +export type UseLocationResult = {activeLocationMatch: AnyRouteMatch | undefined, getFromPath: (from?: string) => string} + +export const useActiveLocation = (): UseLocationResult => { + const router = useRouter() + + const currentRouteMatch = useMatch({ + strict: false, + select: (match) => match, + }) + + const activeLocation = useRouterState({ + select: (s) => s.location, + structuralSharing: true as any, + }) + + const activeLocationMatches = router.matchRoutes(activeLocation, { + _buildLocation: false, + }) + + const activeLocationMatch = last(activeLocationMatches) + + const getFromPath = (from?: string) => { + return from ?? activeLocationMatch?.fullPath ?? currentRouteMatch.fullPath + } + + return { activeLocationMatch, getFromPath } +} diff --git a/packages/react-router/src/useNavigate.tsx b/packages/react-router/src/useNavigate.tsx index 83b5f63298c..821a2d30056 100644 --- a/packages/react-router/src/useNavigate.tsx +++ b/packages/react-router/src/useNavigate.tsx @@ -1,7 +1,6 @@ import * as React from 'react' -import { last } from '@tanstack/router-core' import { useRouter } from './useRouter' -import { useMatch } from './useMatch' +import { useActiveLocation } from './useActiveLocation' import type { AnyRouter, FromPathOption, @@ -18,24 +17,11 @@ export function useNavigate< }): UseNavigateResult { const router = useRouter() - // Just get the index of the current match to avoid rerenders - // as much as possible - const matchIndex = useMatch({ - strict: false, - select: (match) => match.index, - }) + const { getFromPath, activeLocationMatch } = useActiveLocation() return React.useCallback( (options: NavigateOptions) => { - const currentRouteMatches = router.matchRoutes(router.latestLocation, { - _buildLocation: false, - }) - - const from = - options.from ?? - _defaultOpts?.from ?? - last(currentRouteMatches)?.fullPath ?? - router.state.matches[matchIndex]!.fullPath + const from = getFromPath(options.from ?? _defaultOpts?.from) return router.navigate({ ...options, @@ -43,7 +29,7 @@ export function useNavigate< }) }, // eslint-disable-next-line react-hooks/exhaustive-deps - [_defaultOpts?.from, router.navigate, router.latestLocation, matchIndex], + [_defaultOpts?.from, router, activeLocationMatch], ) as UseNavigateResult } diff --git a/packages/solid-router/src/link.tsx b/packages/solid-router/src/link.tsx index 397abdd693d..d6a096364c5 100644 --- a/packages/solid-router/src/link.tsx +++ b/packages/solid-router/src/link.tsx @@ -6,17 +6,16 @@ import { deepEqual, exactPathTest, functionalUpdate, - last, preloadWarning, removeTrailingSlash, } from '@tanstack/router-core' import { Dynamic } from 'solid-js/web' +import { useActiveLocation } from './useActiveLocation' import { useRouterState } from './useRouterState' import { useRouter } from './useRouter' import { useIntersectionObserver } from './utils' -import { useMatch } from './useMatch' import type { AnyRouter, Constrain, @@ -141,24 +140,8 @@ export function useLinkProps< // select: (match) => options.from ?? match.fullPath, // }) - const matchIndex = useMatch({ - strict: false, - select: (match) => match.index, - }) - - const activeLocation = useRouterState({ select: (s) => s.location }) - - const from = Solid.createMemo(() => { - const currentRouteMatches = router.matchRoutes(activeLocation(), { - _buildLocation: false, - }) - - return ( - options.from ?? - last(currentRouteMatches)?.fullPath ?? - router.state.matches[matchIndex()]!.fullPath - ) - }) + const { getFromPath } = useActiveLocation() + const from = getFromPath(options.from); const _options = () => { return { @@ -169,8 +152,7 @@ export function useLinkProps< const next = Solid.createMemo(() => { currentSearch() - // Access activeLocation to make this memo re-run on route changes - activeLocation() + from() return router.buildLocation(_options() as any) }) diff --git a/packages/solid-router/src/useActiveLocation.ts b/packages/solid-router/src/useActiveLocation.ts new file mode 100644 index 00000000000..92b17acaf5b --- /dev/null +++ b/packages/solid-router/src/useActiveLocation.ts @@ -0,0 +1,39 @@ +import { last } from '@tanstack/router-core' +import { createMemo } from 'solid-js' +import { useRouterState } from './useRouterState' +import { useMatch } from './useMatch' +import { useRouter } from './useRouter' +import type {Accessor} from 'solid-js'; +import type { AnyRouteMatch} from '@tanstack/router-core' + +export type UseActiveLocationResult = { activeLocationMatch: Accessor, getFromPath: (from?: string) => Accessor } + +export function useActiveLocation(): UseActiveLocationResult { + const router = useRouter() + + const currentRouteMatch = useMatch({ + strict: false, + select: (match) => match, + }) + + const activeLocation = useRouterState({ + select: (s) => s.location + }) + + const activeLocationMatch = createMemo(() => { + const activeLocationMatches = router.matchRoutes(activeLocation(), { + _buildLocation: false, + }) + + return last(activeLocationMatches) + }) + + + + + const getFromPath = (from?: string) => { + return createMemo(() => from ?? activeLocationMatch()?.fullPath ?? currentRouteMatch().fullPath) + } + + return { activeLocationMatch, getFromPath } +} diff --git a/packages/solid-router/src/useNavigate.tsx b/packages/solid-router/src/useNavigate.tsx index a0b99751cb7..a467890686f 100644 --- a/packages/solid-router/src/useNavigate.tsx +++ b/packages/solid-router/src/useNavigate.tsx @@ -1,7 +1,6 @@ import * as Solid from 'solid-js' -import { last } from '@tanstack/router-core' import { useRouter } from './useRouter' -import { useMatch } from './useMatch' +import { useActiveLocation } from './useActiveLocation' import type { AnyRouter, FromPathOption, @@ -18,23 +17,13 @@ export function useNavigate< }): UseNavigateResult { const router = useRouter() - const matchIndex = useMatch({ - strict: false, - select: (match) => match.index, - }) - + const {getFromPath} = useActiveLocation() return ((options: NavigateOptions) => { - const currentRouteMatches = router.matchRoutes(router.latestLocation, { - _buildLocation: false, - }) + const from = getFromPath(options.from ?? _defaultOpts?.from) return router.navigate({ ...options, - from: - options.from ?? - _defaultOpts?.from ?? - last(currentRouteMatches)?.fullPath ?? - router.state.matches[matchIndex()]!.fullPath, + from: from() }) }) as UseNavigateResult } From 8feb3c0f34c1b1bda8a46a9f32201a490ead8c60 Mon Sep 17 00:00:00 2001 From: Nico Lynzaad Date: Tue, 19 Aug 2025 05:29:00 +0200 Subject: [PATCH 099/271] revert change to SolidJS useNavigate --- .../solid-router/src/useActiveLocation.ts | 3 --- packages/solid-router/src/useNavigate.tsx | 19 +++++++++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/solid-router/src/useActiveLocation.ts b/packages/solid-router/src/useActiveLocation.ts index 92b17acaf5b..90ccf13fe23 100644 --- a/packages/solid-router/src/useActiveLocation.ts +++ b/packages/solid-router/src/useActiveLocation.ts @@ -28,9 +28,6 @@ export function useActiveLocation(): UseActiveLocationResult { return last(activeLocationMatches) }) - - - const getFromPath = (from?: string) => { return createMemo(() => from ?? activeLocationMatch()?.fullPath ?? currentRouteMatch().fullPath) } diff --git a/packages/solid-router/src/useNavigate.tsx b/packages/solid-router/src/useNavigate.tsx index a467890686f..a0b99751cb7 100644 --- a/packages/solid-router/src/useNavigate.tsx +++ b/packages/solid-router/src/useNavigate.tsx @@ -1,6 +1,7 @@ import * as Solid from 'solid-js' +import { last } from '@tanstack/router-core' import { useRouter } from './useRouter' -import { useActiveLocation } from './useActiveLocation' +import { useMatch } from './useMatch' import type { AnyRouter, FromPathOption, @@ -17,13 +18,23 @@ export function useNavigate< }): UseNavigateResult { const router = useRouter() - const {getFromPath} = useActiveLocation() + const matchIndex = useMatch({ + strict: false, + select: (match) => match.index, + }) + return ((options: NavigateOptions) => { - const from = getFromPath(options.from ?? _defaultOpts?.from) + const currentRouteMatches = router.matchRoutes(router.latestLocation, { + _buildLocation: false, + }) return router.navigate({ ...options, - from: from() + from: + options.from ?? + _defaultOpts?.from ?? + last(currentRouteMatches)?.fullPath ?? + router.state.matches[matchIndex()]!.fullPath, }) }) as UseNavigateResult } From 452f87672964134de467ff243ef37069da3a1965 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 03:32:37 +0000 Subject: [PATCH 100/271] ci: apply automated fixes --- packages/react-router/src/link.tsx | 9 +++---- .../react-router/src/useActiveLocation.ts | 5 +++- packages/react-router/src/useNavigate.tsx | 2 +- packages/react-router/tests/link.test.tsx | 6 +---- .../react-router/tests/useNavigate.test.tsx | 27 +++++-------------- packages/solid-router/src/link.tsx | 2 +- .../solid-router/src/useActiveLocation.ts | 18 ++++++++----- .../solid-router/tests/useNavigate.test.tsx | 4 +-- 8 files changed, 30 insertions(+), 43 deletions(-) diff --git a/packages/react-router/src/link.tsx b/packages/react-router/src/link.tsx index 348d1f8fc64..433fda334f9 100644 --- a/packages/react-router/src/link.tsx +++ b/packages/react-router/src/link.tsx @@ -11,10 +11,7 @@ import { useActiveLocation } from './useActiveLocation' import { useRouterState } from './useRouterState' import { useRouter } from './useRouter' -import { - useForwardedRef, - useIntersectionObserver, -} from './utils' +import { useForwardedRef, useIntersectionObserver } from './utils' import type { AnyRouter, @@ -102,13 +99,13 @@ export function useLinkProps< structuralSharing: true as any, }) - const {getFromPath} = useActiveLocation() + const { getFromPath } = useActiveLocation() const from = getFromPath(options.from) const _options = React.useMemo( () => { - return { ...options, from } + return { ...options, from } }, // eslint-disable-next-line react-hooks/exhaustive-deps [ diff --git a/packages/react-router/src/useActiveLocation.ts b/packages/react-router/src/useActiveLocation.ts index 4939475be0b..95b14fd7e74 100644 --- a/packages/react-router/src/useActiveLocation.ts +++ b/packages/react-router/src/useActiveLocation.ts @@ -4,7 +4,10 @@ import { useMatch } from './useMatch' import { useRouterState } from './useRouterState' import type { AnyRouteMatch } from '@tanstack/router-core' -export type UseLocationResult = {activeLocationMatch: AnyRouteMatch | undefined, getFromPath: (from?: string) => string} +export type UseLocationResult = { + activeLocationMatch: AnyRouteMatch | undefined + getFromPath: (from?: string) => string +} export const useActiveLocation = (): UseLocationResult => { const router = useRouter() diff --git a/packages/react-router/src/useNavigate.tsx b/packages/react-router/src/useNavigate.tsx index 821a2d30056..d043ee102aa 100644 --- a/packages/react-router/src/useNavigate.tsx +++ b/packages/react-router/src/useNavigate.tsx @@ -21,7 +21,7 @@ export function useNavigate< return React.useCallback( (options: NavigateOptions) => { - const from = getFromPath(options.from ?? _defaultOpts?.from) + const from = getFromPath(options.from ?? _defaultOpts?.from) return router.navigate({ ...options, diff --git a/packages/react-router/tests/link.test.tsx b/packages/react-router/tests/link.test.tsx index 7a8971b6a30..cb6124db79e 100644 --- a/packages/react-router/tests/link.test.tsx +++ b/packages/react-router/tests/link.test.tsx @@ -6057,11 +6057,7 @@ describe('when on /posts/$postId and navigating to ../ with default `from` /post return ( <>

Posts

- { - navigateVia === 'Route' - ? - : - } + {navigateVia === 'Route' ? : } ) diff --git a/packages/react-router/tests/useNavigate.test.tsx b/packages/react-router/tests/useNavigate.test.tsx index ebd2f0a21df..fa731c0b16b 100644 --- a/packages/react-router/tests/useNavigate.test.tsx +++ b/packages/react-router/tests/useNavigate.test.tsx @@ -1573,9 +1573,7 @@ test.each([true, false])( fireEvent.click(postsButton) - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) const firstPostButton = await screen.findByTestId('first-post-btn') @@ -1741,9 +1739,7 @@ test.each([true, false])( fireEvent.click(postsButton) - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() const post1Button = await screen.findByTestId('first-post-btn') @@ -1873,7 +1869,7 @@ test.each([true, false])( expect(router.state.location.pathname).toBe(`/`) expect(router.state.location.search).toEqual({}) - } + }, ) test.each([true, false])( @@ -2058,9 +2054,7 @@ test.each([true, false])( fireEvent.click(postsButton) - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts${tail}`) const firstPostButton = await screen.findByTestId('first-post-btn') @@ -2095,18 +2089,14 @@ test.each([true, false])( fireEvent.click(postNotesButton) - expect( - await screen.findByTestId('post-notes-heading'), - ).toBeInTheDocument() + expect(await screen.findByTestId('post-notes-heading')).toBeInTheDocument() expect(window.location.pathname).toEqual(`/posts/1/notes${tail}`) const toPostsIndexButton = await screen.findByTestId('to-posts-index-btn') fireEvent.click(toPostsIndexButton) - expect( - await screen.findByTestId('posts-index-heading'), - ).toBeInTheDocument() + expect(await screen.findByTestId('posts-index-heading')).toBeInTheDocument() expect(screen.queryByTestId('post-notes-heading')).not.toBeInTheDocument() expect( screen.queryByTestId('post-detail-index-heading'), @@ -2357,9 +2347,7 @@ describe.each([{ basepath: '' }, { basepath: '/basepath' }])( Link to .. from /param/foo/a +
+ {JSON.stringify(validResponse)} +
+ +
+ +
+ {invalidResponse + ? JSON.stringify({ + message: invalidResponse.message, + foo: invalidResponse.foo, + bar: invalidResponse.bar.toString(), + }) + : JSON.stringify(validResponse)} +
+
+ ) +} diff --git a/e2e/react-start/serialization-adapters/src/routes/data-only.tsx b/e2e/react-start/serialization-adapters/src/routes/ssr/data-only.tsx similarity index 95% rename from e2e/react-start/serialization-adapters/src/routes/data-only.tsx rename to e2e/react-start/serialization-adapters/src/routes/ssr/data-only.tsx index 7c7f8195968..c2626f42e23 100644 --- a/e2e/react-start/serialization-adapters/src/routes/data-only.tsx +++ b/e2e/react-start/serialization-adapters/src/routes/ssr/data-only.tsx @@ -1,7 +1,7 @@ import { Outlet, createFileRoute } from '@tanstack/react-router' import { RenderData, makeData } from '~/data' -export const Route = createFileRoute('/data-only')({ +export const Route = createFileRoute('/ssr/data-only')({ ssr: 'data-only', beforeLoad: () => { return makeData() diff --git a/e2e/react-start/serialization-adapters/src/routes/stream.tsx b/e2e/react-start/serialization-adapters/src/routes/ssr/stream.tsx similarity index 93% rename from e2e/react-start/serialization-adapters/src/routes/stream.tsx rename to e2e/react-start/serialization-adapters/src/routes/ssr/stream.tsx index b75c7f6b381..75926f8342c 100644 --- a/e2e/react-start/serialization-adapters/src/routes/stream.tsx +++ b/e2e/react-start/serialization-adapters/src/routes/ssr/stream.tsx @@ -2,7 +2,7 @@ import { Await, createFileRoute } from '@tanstack/react-router' import { Suspense } from 'react' import { RenderData, makeData } from '~/data' -export const Route = createFileRoute('/stream')({ +export const Route = createFileRoute('/ssr/stream')({ loader: () => { const dataPromise = new Promise>((r) => setTimeout(() => r(makeData()), 1000), diff --git a/e2e/react-start/serialization-adapters/tests/app.spec.ts b/e2e/react-start/serialization-adapters/tests/app.spec.ts index 65c72070b15..2cfaaf727d9 100644 --- a/e2e/react-start/serialization-adapters/tests/app.spec.ts +++ b/e2e/react-start/serialization-adapters/tests/app.spec.ts @@ -2,6 +2,12 @@ import { expect } from '@playwright/test' import { test } from '@tanstack/router-e2e-utils' import type { Page } from '@playwright/test' +async function awaitPageLoaded(page: Page) { + // wait for page to be loaded by waiting for the ClientOnly component to be rendered + + await expect(page.getByTestId('router-isLoading')).toContainText('false') + await expect(page.getByTestId('router-status')).toContainText('idle') +} async function checkData(page: Page, id: string) { const expectedData = await page .getByTestId(`${id}-car-expected`) @@ -15,12 +21,15 @@ async function checkData(page: Page, id: string) { '{"value":"server"}', ) } +test.use({ + whitelistErrors: [ + /Failed to load resource: the server responded with a status of 499/, + ], +}) test.describe('SSR serialization adapters', () => { test(`data-only`, async ({ page }) => { - await page.goto('/data-only') - // wait for page to be loaded by waiting for the ClientOnly component to be rendered - await expect(page.getByTestId('router-isLoading')).toContainText('false') - await expect(page.getByTestId('router-status')).toContainText('idle') + await page.goto('/ssr/data-only') + await awaitPageLoaded(page) await Promise.all( ['context', 'loader'].map(async (id) => checkData(page, id)), @@ -35,12 +44,33 @@ test.describe('SSR serialization adapters', () => { ) }) - test(`stream`, async ({ page }) => { - await page.goto('/stream') - // wait for page to be loaded by waiting for the ClientOnly component to be rendered - await expect(page.getByTestId('router-isLoading')).toContainText('false') - await expect(page.getByTestId('router-status')).toContainText('idle') - + test('stream', async ({ page }) => { + await page.goto('/ssr/stream') + await awaitPageLoaded(page) await checkData(page, 'stream') }) }) + +test.describe('server functions serialization adapters', () => { + test('custom error', async ({ page }) => { + await page.goto('/server-function/custom-error') + await awaitPageLoaded(page) + + await expect( + page.getByTestId('server-function-valid-response'), + ).toContainText('null') + await expect( + page.getByTestId('server-function-invalid-response'), + ).toContainText('null') + + await page.getByTestId('server-function-valid-input').click() + await expect( + page.getByTestId('server-function-valid-response'), + ).toContainText('Hello, world!') + + await page.getByTestId('server-function-invalid-input').click() + await expect( + page.getByTestId('server-function-invalid-response'), + ).toContainText('{"message":"Invalid input","foo":"bar","bar":"123"}') + }) +}) diff --git a/packages/start-client-core/src/serializer/getDefaultSerovalPlugins.ts b/packages/start-client-core/src/serializer/getDefaultSerovalPlugins.ts index 3c897fe34f2..a2f5537a65e 100644 --- a/packages/start-client-core/src/serializer/getDefaultSerovalPlugins.ts +++ b/packages/start-client-core/src/serializer/getDefaultSerovalPlugins.ts @@ -20,5 +20,5 @@ export function getDefaultSerovalPlugins() { const adapters = router.options.serializationAdapters as | Array | undefined - return [...defaultSerovalPlugins, ...(adapters?.map(makeSerovalPlugin) ?? [])] + return [...(adapters?.map(makeSerovalPlugin) ?? []), ...defaultSerovalPlugins] } diff --git a/packages/start-client-core/src/serverFnFetcher.ts b/packages/start-client-core/src/serverFnFetcher.ts index 40afea1574e..71574cc9331 100644 --- a/packages/start-client-core/src/serverFnFetcher.ts +++ b/packages/start-client-core/src/serverFnFetcher.ts @@ -167,7 +167,7 @@ async function getResponse(fn: () => Promise) { if (!response.ok) { if (serializedByStart && contentType.includes('application/json')) { const jsonPayload = await response.json() - const result = fromJSON(jsonPayload, { plugins: serovalPlugins! }) + const result = fromCrossJSON(jsonPayload, { plugins: serovalPlugins! }) throw result } diff --git a/packages/start-server-core/src/server-functions-handler.ts b/packages/start-server-core/src/server-functions-handler.ts index a2935daae2b..88e19c86ad2 100644 --- a/packages/start-server-core/src/server-functions-handler.ts +++ b/packages/start-server-core/src/server-functions-handler.ts @@ -4,7 +4,7 @@ import { TSS_FORMDATA_CONTEXT, X_TSS_SERIALIZED, } from '@tanstack/start-client-core' -import { fromJSON, toCrossJSONStream, toJSONAsync } from 'seroval' +import { fromJSON, toCrossJSONAsync, toCrossJSONStream } from 'seroval' import { getResponse } from './request-response' import { getServerFnById } from './getServerFnById' import { getSerovalPlugins } from './serializer/getSerovalPlugins' @@ -283,10 +283,17 @@ export const handleServerAction = async ({ request }: { request: Request }) => { console.info() const serializedError = JSON.stringify( - await Promise.resolve(toJSONAsync(error)), + await Promise.resolve( + toCrossJSONAsync(error, { + refs: new Map(), + plugins: serovalPlugins!, + }), + ), ) + const response = getResponse() return new Response(serializedError, { - status: 500, + status: response?.status ?? 500, + statusText: response?.statusText, headers: { 'Content-Type': 'application/json', 'x-tss-serialized': 'true', From c3258bfbaebdb919b088a7211294b36ea0a3f04e Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Thu, 21 Aug 2025 20:07:26 +0200 Subject: [PATCH 116/271] fix: scroll restoration on the server --- packages/react-router/src/scroll-restoration.tsx | 7 +++---- packages/router-core/src/scroll-restoration.ts | 12 ++++++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/react-router/src/scroll-restoration.tsx b/packages/react-router/src/scroll-restoration.tsx index 1a8bdd9f7ac..b50fb18a18a 100644 --- a/packages/react-router/src/scroll-restoration.tsx +++ b/packages/react-router/src/scroll-restoration.tsx @@ -8,6 +8,9 @@ import { ScriptOnce } from './ScriptOnce' export function ScrollRestoration() { const router = useRouter() + if (!router.isScrollRestoring || !router.isServer) { + return null + } const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey const userKey = getKey(router.latestLocation) @@ -16,10 +19,6 @@ export function ScrollRestoration() { ? userKey : undefined - if (!router.isScrollRestoring || !router.isServer) { - return null - } - const restoreScrollOptions: Parameters[0] = { storageKey, shouldScrollRestoration: true, diff --git a/packages/router-core/src/scroll-restoration.ts b/packages/router-core/src/scroll-restoration.ts index 9907878bfaf..62af4e7b43b 100644 --- a/packages/router-core/src/scroll-restoration.ts +++ b/packages/router-core/src/scroll-restoration.ts @@ -47,10 +47,10 @@ const throttle = (fn: (...args: Array) => void, wait: number) => { } } -function createScrollRestorationCache(): ScrollRestorationCache | undefined { +function createScrollRestorationCache(): ScrollRestorationCache | null { const safeSessionStorage = getSafeSessionStorage() if (!safeSessionStorage) { - return undefined + return null } const persistedState = safeSessionStorage.getItem(storageKey) @@ -201,7 +201,7 @@ export function restoreScroll({ } export function setupScrollRestoration(router: AnyRouter, force?: boolean) { - if (scrollRestorationCache === undefined) { + if (!scrollRestorationCache && !router.isServer) { return } const shouldScrollRestoration = @@ -211,7 +211,11 @@ export function setupScrollRestoration(router: AnyRouter, force?: boolean) { router.isScrollRestoring = true } - if (typeof document === 'undefined' || router.isScrollRestorationSetup) { + if ( + router.isServer || + router.isScrollRestorationSetup || + !scrollRestorationCache + ) { return } From 6978066604140697e2d2c4ea5cb64831d7e0fc7d Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Thu, 21 Aug 2025 20:07:26 +0200 Subject: [PATCH 117/271] use correct fallback key --- packages/router-core/src/scroll-restoration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/router-core/src/scroll-restoration.ts b/packages/router-core/src/scroll-restoration.ts index 62af4e7b43b..384bb095e95 100644 --- a/packages/router-core/src/scroll-restoration.ts +++ b/packages/router-core/src/scroll-restoration.ts @@ -125,7 +125,7 @@ export function restoreScroll({ return } - const resolvedKey = key || window.history.state?.key + const resolvedKey = key || window.history.state?.__TSR_key const elementEntries = byKey[resolvedKey] // From 22ad997f1e90be50e9a6c304d8374f0eb244da63 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Thu, 21 Aug 2025 20:07:26 +0200 Subject: [PATCH 118/271] fix ScriptOnce to cleanup after itself --- packages/react-router/src/ScriptOnce.tsx | 2 +- packages/solid-router/src/ScriptOnce.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-router/src/ScriptOnce.tsx b/packages/react-router/src/ScriptOnce.tsx index 5cae90d3c7d..54614183d3b 100644 --- a/packages/react-router/src/ScriptOnce.tsx +++ b/packages/react-router/src/ScriptOnce.tsx @@ -13,7 +13,7 @@ export function ScriptOnce({ ` + return `` }) }, dehydrate: async () => { diff --git a/packages/solid-router/src/ScriptOnce.tsx b/packages/solid-router/src/ScriptOnce.tsx index 5e2746a3bba..9527c65cbd8 100644 --- a/packages/solid-router/src/ScriptOnce.tsx +++ b/packages/solid-router/src/ScriptOnce.tsx @@ -13,7 +13,7 @@ export function ScriptOnce({ } return (