From 9ebb8eb01f3435ba02fd7de6658c0b9953a1dff9 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Wed, 12 Nov 2025 16:50:11 +0100 Subject: [PATCH 1/5] webpack solid-router example --- .../quickstart-webpack-file-based/.gitignore | 11 +++ .../quickstart-webpack-file-based/.swcrc | 15 ++++ .../.vscode/settings.json | 11 +++ .../quickstart-webpack-file-based/README.md | 6 ++ .../package.json | 24 ++++++ .../public/index.html | 12 +++ .../quickstart-webpack-file-based/src/app.tsx | 22 ++++++ .../src/index.tsx | 8 ++ .../src/routeTree.gen.ts | 77 +++++++++++++++++++ .../src/routes/__root.tsx | 35 +++++++++ .../src/routes/about.tsx | 13 ++++ .../src/routes/index.tsx | 13 ++++ .../tsconfig.json | 16 ++++ .../webpack.config.js | 45 +++++++++++ pnpm-lock.yaml | 41 +++++++++- 15 files changed, 347 insertions(+), 2 deletions(-) create mode 100644 examples/solid/quickstart-webpack-file-based/.gitignore create mode 100644 examples/solid/quickstart-webpack-file-based/.swcrc create mode 100644 examples/solid/quickstart-webpack-file-based/.vscode/settings.json create mode 100644 examples/solid/quickstart-webpack-file-based/README.md create mode 100644 examples/solid/quickstart-webpack-file-based/package.json create mode 100644 examples/solid/quickstart-webpack-file-based/public/index.html create mode 100644 examples/solid/quickstart-webpack-file-based/src/app.tsx create mode 100644 examples/solid/quickstart-webpack-file-based/src/index.tsx create mode 100644 examples/solid/quickstart-webpack-file-based/src/routeTree.gen.ts create mode 100644 examples/solid/quickstart-webpack-file-based/src/routes/__root.tsx create mode 100644 examples/solid/quickstart-webpack-file-based/src/routes/about.tsx create mode 100644 examples/solid/quickstart-webpack-file-based/src/routes/index.tsx create mode 100644 examples/solid/quickstart-webpack-file-based/tsconfig.json create mode 100644 examples/solid/quickstart-webpack-file-based/webpack.config.js diff --git a/examples/solid/quickstart-webpack-file-based/.gitignore b/examples/solid/quickstart-webpack-file-based/.gitignore new file mode 100644 index 0000000000..67a1041496 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/.gitignore @@ -0,0 +1,11 @@ +# Local +.DS_Store +*.local +*.log* + +# Dist +node_modules +dist/ + +# IDE +.idea diff --git a/examples/solid/quickstart-webpack-file-based/.swcrc b/examples/solid/quickstart-webpack-file-based/.swcrc new file mode 100644 index 0000000000..16ef25594c --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/.swcrc @@ -0,0 +1,15 @@ +{ + "$schema": "https://swc.rs/schema.json", + "jsc": { + "target": "es2015", + "parser": { + "syntax": "typescript", + "tsx": true + }, + "transform": { + "react": { + "runtime": "automatic" + } + } + } +} diff --git a/examples/solid/quickstart-webpack-file-based/.vscode/settings.json b/examples/solid/quickstart-webpack-file-based/.vscode/settings.json new file mode 100644 index 0000000000..00b5278e58 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "files.watcherExclude": { + "**/routeTree.gen.ts": true + }, + "search.exclude": { + "**/routeTree.gen.ts": true + }, + "files.readonlyInclude": { + "**/routeTree.gen.ts": true + } +} diff --git a/examples/solid/quickstart-webpack-file-based/README.md b/examples/solid/quickstart-webpack-file-based/README.md new file mode 100644 index 0000000000..115199d292 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/README.md @@ -0,0 +1,6 @@ +# Example + +To run this example: + +- `npm install` or `yarn` +- `npm start` or `yarn start` diff --git a/examples/solid/quickstart-webpack-file-based/package.json b/examples/solid/quickstart-webpack-file-based/package.json new file mode 100644 index 0000000000..d192059a97 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/package.json @@ -0,0 +1,24 @@ +{ + "name": "tanstack-router-solid-example-quickstart-webpack-file-based", + "private": true, + "type": "module", + "scripts": { + "dev": "webpack serve --port 3001 --no-open", + "build": "webpack build && tsc --noEmit" + }, + "dependencies": { + "@tanstack/solid-router": "^1.135.2", + "@tanstack/solid-router-devtools": "^1.135.2", + "solid-js": "^1.9.10" + }, + "devDependencies": { + "@swc/core": "^1.10.15", + "@tanstack/router-plugin": "^1.135.2", + "html-webpack-plugin": "^5.6.3", + "swc-loader": "^0.2.6", + "typescript": "^5.7.2", + "webpack": "^5.97.1", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.2.0" + } +} diff --git a/examples/solid/quickstart-webpack-file-based/public/index.html b/examples/solid/quickstart-webpack-file-based/public/index.html new file mode 100644 index 0000000000..d81965bddb --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/public/index.html @@ -0,0 +1,12 @@ + + + + + + TanStack router + + + +
+ + diff --git a/examples/solid/quickstart-webpack-file-based/src/app.tsx b/examples/solid/quickstart-webpack-file-based/src/app.tsx new file mode 100644 index 0000000000..0ef1f843b4 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/src/app.tsx @@ -0,0 +1,22 @@ +import { RouterProvider, createRouter } from '@tanstack/solid-router' + +import { routeTree } from './routeTree.gen' + +// Set up a Router instance +const router = createRouter({ + routeTree, + defaultPreload: 'intent', + scrollRestoration: true, +}) + +// Register things for typesafety +declare module '@tanstack/solid-router' { + interface Register { + router: typeof router + } +} +const App = () => { + return +} + +export default App diff --git a/examples/solid/quickstart-webpack-file-based/src/index.tsx b/examples/solid/quickstart-webpack-file-based/src/index.tsx new file mode 100644 index 0000000000..782382dcfd --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/src/index.tsx @@ -0,0 +1,8 @@ +import { render } from 'solid-js/web' +import App from './app' + +const rootElement = document.getElementById('root')! + +if (!rootElement.innerHTML) { + render(() => , rootElement) +} diff --git a/examples/solid/quickstart-webpack-file-based/src/routeTree.gen.ts b/examples/solid/quickstart-webpack-file-based/src/routeTree.gen.ts new file mode 100644 index 0000000000..333a815c38 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/src/routeTree.gen.ts @@ -0,0 +1,77 @@ +/* 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 AboutRouteImport } from './routes/about' +import { Route as IndexRouteImport } from './routes/index' + +const AboutRoute = AboutRouteImport.update({ + id: '/about', + path: '/about', + getParentRoute: () => rootRouteImport, +} as any) +const IndexRoute = IndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => rootRouteImport, +} as any) + +export interface FileRoutesByFullPath { + '/': typeof IndexRoute + '/about': typeof AboutRoute +} +export interface FileRoutesByTo { + '/': typeof IndexRoute + '/about': typeof AboutRoute +} +export interface FileRoutesById { + __root__: typeof rootRouteImport + '/': typeof IndexRoute + '/about': typeof AboutRoute +} +export interface FileRouteTypes { + fileRoutesByFullPath: FileRoutesByFullPath + fullPaths: '/' | '/about' + fileRoutesByTo: FileRoutesByTo + to: '/' | '/about' + id: '__root__' | '/' | '/about' + fileRoutesById: FileRoutesById +} +export interface RootRouteChildren { + IndexRoute: typeof IndexRoute + AboutRoute: typeof AboutRoute +} + +declare module '@tanstack/solid-router' { + interface FileRoutesByPath { + '/about': { + id: '/about' + path: '/about' + fullPath: '/about' + preLoaderRoute: typeof AboutRouteImport + parentRoute: typeof rootRouteImport + } + '/': { + id: '/' + path: '/' + fullPath: '/' + preLoaderRoute: typeof IndexRouteImport + parentRoute: typeof rootRouteImport + } + } +} + +const rootRouteChildren: RootRouteChildren = { + IndexRoute: IndexRoute, + AboutRoute: AboutRoute, +} +export const routeTree = rootRouteImport + ._addFileChildren(rootRouteChildren) + ._addFileTypes() diff --git a/examples/solid/quickstart-webpack-file-based/src/routes/__root.tsx b/examples/solid/quickstart-webpack-file-based/src/routes/__root.tsx new file mode 100644 index 0000000000..e7ab4e99f1 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/src/routes/__root.tsx @@ -0,0 +1,35 @@ +import { Link, Outlet, createRootRoute } from '@tanstack/solid-router' +import { TanStackRouterDevtools } from '@tanstack/solid-router-devtools' + +export const Route = createRootRoute({ + component: RootComponent, +}) + +function RootComponent() { + return ( + <> +
+ + Home + {' '} + + About + +
+
+ + + + ) +} diff --git a/examples/solid/quickstart-webpack-file-based/src/routes/about.tsx b/examples/solid/quickstart-webpack-file-based/src/routes/about.tsx new file mode 100644 index 0000000000..4596223513 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/src/routes/about.tsx @@ -0,0 +1,13 @@ +import { createFileRoute } from '@tanstack/solid-router' + +export const Route = createFileRoute('/about')({ + component: AboutComponent, +}) + +function AboutComponent() { + return ( +
+

About

+
+ ) +} diff --git a/examples/solid/quickstart-webpack-file-based/src/routes/index.tsx b/examples/solid/quickstart-webpack-file-based/src/routes/index.tsx new file mode 100644 index 0000000000..c71b5d33f2 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/src/routes/index.tsx @@ -0,0 +1,13 @@ +import { createFileRoute } from '@tanstack/solid-router' + +export const Route = createFileRoute('/')({ + component: HomeComponent, +}) + +function HomeComponent() { + return ( +
+

Welcome Home!

+
+ ) +} diff --git a/examples/solid/quickstart-webpack-file-based/tsconfig.json b/examples/solid/quickstart-webpack-file-based/tsconfig.json new file mode 100644 index 0000000000..e89df5bdee --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["DOM", "DOM.Iterable", "ES2022"], + "module": "ESNext", + "jsx": "preserve", + "jsxImportSource": "solid-js", + "strict": true, + "skipLibCheck": true, + "isolatedModules": true, + "resolveJsonModule": true, + "moduleResolution": "bundler", + "useDefineForClassFields": true + }, + "include": ["src"] +} diff --git a/examples/solid/quickstart-webpack-file-based/webpack.config.js b/examples/solid/quickstart-webpack-file-based/webpack.config.js new file mode 100644 index 0000000000..2a3a85b5d9 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/webpack.config.js @@ -0,0 +1,45 @@ +import path from 'path' +import { fileURLToPath } from 'url' +import HtmlWebpackPlugin from 'html-webpack-plugin' +import { tanstackRouter } from '@tanstack/router-plugin/webpack' + +const __dirname = fileURLToPath(new URL('.', import.meta.url)) + +/** @type import('webpack').Configuration */ +export default ({ WEBPACK_SERVE }) => ({ + target: 'web', + mode: WEBPACK_SERVE ? 'development' : 'production', + entry: path.resolve(__dirname, './src/index.tsx'), + output: { + path: path.resolve(__dirname, './dist'), + filename: '[name].bundle.js', + publicPath: '/', + }, + resolve: { + extensions: ['.ts', '.tsx', '.js', '.jsx'], + }, + plugins: [ + new HtmlWebpackPlugin({ + template: path.resolve(__dirname, './public/index.html'), + filename: 'index.html', + }), + tanstackRouter({ target: 'solid', autoCodeSplitting: true }), + ], + module: { + rules: [ + { + test: /\.tsx?$/, + exclude: /(node_modules)/, + use: { loader: 'swc-loader' }, + }, + ], + }, + devServer: { + open: true, + hot: true, + historyApiFallback: { + rewrites: [{ from: /./, to: '/index.html' }], + }, + static: ['public'], + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d5156a1109..acb205c9e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2514,7 +2514,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.10) + version: 1.0.4(@babel/core@7.28.4)(@rsbuild/core@1.2.4)(solid-js@1.9.10) '@tailwindcss/postcss': specifier: ^4.1.15 version: 4.1.15 @@ -2560,7 +2560,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.28.4)(@rsbuild/core@1.2.4)(solid-js@1.9.10) + version: 1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.10) '@tailwindcss/postcss': specifier: ^4.1.15 version: 4.1.15 @@ -7349,6 +7349,43 @@ importers: specifier: ^2.11.10 version: 2.11.10(@testing-library/jest-dom@6.6.3)(solid-js@1.9.10)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1)) + examples/solid/quickstart-webpack-file-based: + dependencies: + '@tanstack/solid-router': + specifier: ^1.135.2 + version: link:../../../packages/solid-router + '@tanstack/solid-router-devtools': + specifier: workspace:^ + version: link:../../../packages/solid-router-devtools + solid-js: + specifier: 1.9.10 + version: 1.9.10 + devDependencies: + '@swc/core': + specifier: ^1.10.15 + version: 1.10.15(@swc/helpers@0.5.15) + '@tanstack/router-plugin': + specifier: workspace:* + version: link:../../../packages/router-plugin + 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-loader: + specifier: ^0.2.6 + 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.9.2 + webpack: + specifier: ^5.97.1 + version: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(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) + webpack-dev-server: + specifier: ^5.2.0 + version: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1) + examples/solid/start-bare: dependencies: '@tanstack/solid-router': From 5d0c845789ba463af3848ee6558f5486c335f925 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Wed, 12 Nov 2025 16:53:02 +0100 Subject: [PATCH 2/5] use babel instead of swc --- .../quickstart-webpack-file-based/.babelrc | 3 + .../quickstart-webpack-file-based/.swcrc | 15 - .../package.json | 4 + .../webpack.config.js | 2 +- pnpm-lock.yaml | 397 ++++++++++++++---- 5 files changed, 328 insertions(+), 93 deletions(-) create mode 100644 examples/solid/quickstart-webpack-file-based/.babelrc delete mode 100644 examples/solid/quickstart-webpack-file-based/.swcrc diff --git a/examples/solid/quickstart-webpack-file-based/.babelrc b/examples/solid/quickstart-webpack-file-based/.babelrc new file mode 100644 index 0000000000..76938cbdb8 --- /dev/null +++ b/examples/solid/quickstart-webpack-file-based/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["babel-preset-solid", "@babel/preset-typescript"] +} diff --git a/examples/solid/quickstart-webpack-file-based/.swcrc b/examples/solid/quickstart-webpack-file-based/.swcrc deleted file mode 100644 index 16ef25594c..0000000000 --- a/examples/solid/quickstart-webpack-file-based/.swcrc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "jsc": { - "target": "es2015", - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - } -} diff --git a/examples/solid/quickstart-webpack-file-based/package.json b/examples/solid/quickstart-webpack-file-based/package.json index d192059a97..2d71fadb09 100644 --- a/examples/solid/quickstart-webpack-file-based/package.json +++ b/examples/solid/quickstart-webpack-file-based/package.json @@ -12,8 +12,12 @@ "solid-js": "^1.9.10" }, "devDependencies": { + "@babel/core": "^7.28.5", + "@babel/preset-typescript": "^7.27.1", "@swc/core": "^1.10.15", "@tanstack/router-plugin": "^1.135.2", + "babel-loader": "^10.0.0", + "babel-preset-solid": "^1.9.10", "html-webpack-plugin": "^5.6.3", "swc-loader": "^0.2.6", "typescript": "^5.7.2", diff --git a/examples/solid/quickstart-webpack-file-based/webpack.config.js b/examples/solid/quickstart-webpack-file-based/webpack.config.js index 2a3a85b5d9..a5edc81240 100644 --- a/examples/solid/quickstart-webpack-file-based/webpack.config.js +++ b/examples/solid/quickstart-webpack-file-based/webpack.config.js @@ -30,7 +30,7 @@ export default ({ WEBPACK_SERVE }) => ({ { test: /\.tsx?$/, exclude: /(node_modules)/, - use: { loader: 'swc-loader' }, + use: { loader: 'babel-loader' }, }, ], }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acb205c9e5..bd312e0a7a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2560,7 +2560,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.10) + version: 1.0.4(@babel/core@7.28.5)(@rsbuild/core@1.2.4)(solid-js@1.9.10) '@tailwindcss/postcss': specifier: ^4.1.15 version: 4.1.15 @@ -5859,7 +5859,7 @@ importers: version: 7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) + version: 3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6(@types/node@22.10.2)(playwright@1.56.1)(typescript@5.9.2)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))(vitest@3.2.4))(@vitest/ui@3.0.6(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) web-vitals: specifier: ^5.1.0 version: 5.1.0 @@ -7361,12 +7361,24 @@ importers: specifier: 1.9.10 version: 1.9.10 devDependencies: + '@babel/core': + specifier: ^7.28.5 + version: 7.28.5 + '@babel/preset-typescript': + specifier: ^7.27.1 + version: 7.27.1(@babel/core@7.28.5) '@swc/core': specifier: ^1.10.15 version: 1.10.15(@swc/helpers@0.5.15) '@tanstack/router-plugin': specifier: workspace:* version: link:../../../packages/router-plugin + babel-loader: + specifier: ^10.0.0 + version: 10.0.0(@babel/core@7.28.5)(webpack@5.97.1) + babel-preset-solid: + specifier: ^1.9.10 + version: 1.9.10(@babel/core@7.28.5)(solid-js@1.9.10) 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) @@ -7828,7 +7840,7 @@ importers: version: 2.11.10(@testing-library/jest-dom@6.6.3)(solid-js@1.9.10)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) + version: 3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6(@types/node@22.10.2)(playwright@1.56.1)(typescript@5.9.2)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))(vitest@3.2.4))(@vitest/ui@3.0.6(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) web-vitals: specifier: ^5.1.0 version: 5.1.0 @@ -9117,6 +9129,10 @@ packages: resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} engines: {node: '>=6.9.0'} + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.27.5': resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} engines: {node: '>=6.9.0'} @@ -9125,6 +9141,10 @@ packages: resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} @@ -9193,6 +9213,10 @@ packages: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} @@ -9220,6 +9244,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-proposal-decorators@7.25.9': resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==} engines: {node: '>=6.9.0'} @@ -9308,6 +9337,10 @@ packages: resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} @@ -9320,6 +9353,10 @@ packages: resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + '@better-auth/core@1.3.27': resolution: {integrity: sha512-3Sfdax6MQyronY+znx7bOsfQHI6m1SThvJWb0RDscFEAhfqLy95k1sl+/PgGyg0cwc2cUXoEiAOSqYdFYrg3vA==} @@ -14495,15 +14532,36 @@ packages: babel-dead-code-elimination@1.0.10: resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} + babel-loader@10.0.0: + resolution: {integrity: sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==} + engines: {node: ^18.20.0 || ^20.10.0 || >=22.0.0} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5.61.0' + babel-plugin-jsx-dom-expressions@0.39.5: resolution: {integrity: sha512-dwyVkszHRsZCXfFusu3xq1DJS7twhgLrjEpMC1gtTfJG1xSrMMKWWhdl1SFFFNXrvYDsoHiRxSbku/TzLxHNxg==} peerDependencies: '@babel/core': ^7.20.12 + babel-plugin-jsx-dom-expressions@0.40.3: + resolution: {integrity: sha512-5HOwwt0BYiv/zxl7j8Pf2bGL6rDXfV6nUhLs8ygBX+EFJXzBPHM/euj9j/6deMZ6wa52Wb2PBaAV5U/jKwIY1w==} + peerDependencies: + '@babel/core': ^7.20.12 + babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} + babel-preset-solid@1.9.10: + resolution: {integrity: sha512-HCelrgua/Y+kqO8RyL04JBWS/cVdrtUv/h45GntgQY+cJl4eBcKkCDV3TdMjtKx1nXwRaR9QXslM/Npm1dxdZQ==} + peerDependencies: + '@babel/core': ^7.0.0 + solid-js: 1.9.10 + peerDependenciesMeta: + solid-js: + optional: true + babel-preset-solid@1.9.3: resolution: {integrity: sha512-jvlx5wDp8s+bEF9sGFw/84SInXOA51ttkUEroQziKMbxplXThVKt83qB6bDTa1HuLNatdU9FHpFOiQWs1tLQIg==} peerDependencies: @@ -17171,10 +17229,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.0.2: - resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} - engines: {node: 20 || >=22} - lru-cache@11.2.2: resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} engines: {node: 20 || >=22} @@ -20074,6 +20128,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.27.5': dependencies: '@babel/parser': 7.27.5 @@ -20090,6 +20164,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.27.3': dependencies: '@babel/types': 7.28.4 @@ -20115,6 +20197,32 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/helper-globals@7.28.0': {} '@babel/helper-member-expression-to-functions@7.27.1': @@ -20130,8 +20238,8 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -20158,7 +20266,7 @@ snapshots: '@babel/core': 7.27.4 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -20167,7 +20275,16 @@ snapshots: '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -20186,6 +20303,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: '@babel/traverse': 7.28.4 @@ -20197,6 +20332,8 @@ snapshots: '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-option@7.27.1': {} '@babel/helpers@7.27.6': @@ -20207,7 +20344,7 @@ snapshots: '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 '@babel/parser@7.27.5': dependencies: @@ -20221,18 +20358,22 @@ snapshots: dependencies: '@babel/types': 7.28.4 - '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.27.4)': + '@babel/parser@7.28.5': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/types': 7.28.5 + + '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.27.4) + '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.27.4)': + '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': @@ -20250,6 +20391,11 @@ snapshots: '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -20260,10 +20406,20 @@ snapshots: '@babel/core': 7.27.7 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.27.4)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color @@ -20276,29 +20432,35 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.27.4)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.28.4)': dependencies: '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.7)': + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.4)': @@ -20317,6 +20479,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + '@babel/preset-typescript@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -20328,6 +20512,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + '@babel/runtime@7.26.7': dependencies: regenerator-runtime: 0.14.1 @@ -20362,6 +20568,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + '@babel/types@7.27.6': dependencies: '@babel/helper-string-parser': 7.27.1 @@ -20377,6 +20595,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@better-auth/core@1.3.27': dependencies: better-call: 1.0.19 @@ -23648,10 +23871,10 @@ snapshots: '@rsbuild/plugin-babel@1.0.3(@rsbuild/core@1.2.4)': dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.27.4) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.27.4) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/core': 7.28.4 + '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.28.4) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.28.4) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) '@rsbuild/core': 1.2.4 '@types/babel__core': 7.20.5 deepmerge: 4.3.1 @@ -23666,22 +23889,22 @@ snapshots: '@rspack/plugin-react-refresh': 1.0.1(react-refresh@0.16.0) react-refresh: 0.16.0 - '@rsbuild/plugin-solid@1.0.4(@babel/core@7.27.4)(@rsbuild/core@1.2.4)(solid-js@1.9.10)': + '@rsbuild/plugin-solid@1.0.4(@babel/core@7.28.4)(@rsbuild/core@1.2.4)(solid-js@1.9.10)': dependencies: '@rsbuild/core': 1.2.4 '@rsbuild/plugin-babel': 1.0.3(@rsbuild/core@1.2.4) - babel-preset-solid: 1.9.3(@babel/core@7.27.4) + babel-preset-solid: 1.9.3(@babel/core@7.28.4) solid-refresh: 0.6.3(solid-js@1.9.10) transitivePeerDependencies: - '@babel/core' - solid-js - supports-color - '@rsbuild/plugin-solid@1.0.4(@babel/core@7.28.4)(@rsbuild/core@1.2.4)(solid-js@1.9.10)': + '@rsbuild/plugin-solid@1.0.4(@babel/core@7.28.5)(@rsbuild/core@1.2.4)(solid-js@1.9.10)': dependencies: '@rsbuild/core': 1.2.4 '@rsbuild/plugin-babel': 1.0.3(@rsbuild/core@1.2.4) - babel-preset-solid: 1.9.3(@babel/core@7.28.4) + babel-preset-solid: 1.9.3(@babel/core@7.28.5) solid-refresh: 0.6.3(solid-js@1.9.10) transitivePeerDependencies: - '@babel/core' @@ -25156,7 +25379,7 @@ snapshots: fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 + semver: 7.7.3 ts-api-utils: 2.0.1(typescript@5.9.2) typescript: 5.9.2 transitivePeerDependencies: @@ -25309,9 +25532,9 @@ snapshots: '@vitejs/plugin-react@4.3.4(vite@7.1.7(@types/node@22.10.2)(jiti@1.21.7)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))': 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) + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.28.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 vite: 7.1.7(@types/node@22.10.2)(jiti@1.21.7)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) @@ -25320,9 +25543,9 @@ snapshots: '@vitejs/plugin-react@4.3.4(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))': 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) + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.28.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 vite: 7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) @@ -25331,9 +25554,9 @@ snapshots: '@vitejs/plugin-react@4.6.0(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))': dependencies: - '@babel/core': 7.27.7 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.7) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.7) + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4) '@rolldown/pluginutils': 1.0.0-beta.19 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 @@ -25943,49 +26166,71 @@ snapshots: babel-dead-code-elimination@1.0.10: dependencies: - '@babel/core': 7.27.7 + '@babel/core': 7.28.4 '@babel/parser': 7.27.5 '@babel/traverse': 7.27.7 '@babel/types': 7.27.7 transitivePeerDependencies: - supports-color - babel-plugin-jsx-dom-expressions@0.39.5(@babel/core@7.27.4): + babel-loader@10.0.0(@babel/core@7.28.5)(webpack@5.97.1): dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.5 + find-up: 5.0.0 + webpack: 5.97.1(@swc/core@1.10.15(@swc/helpers@0.5.15))(webpack-cli@5.1.4) + + babel-plugin-jsx-dom-expressions@0.39.5(@babel/core@7.28.4): + dependencies: + '@babel/core': 7.28.4 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) '@babel/types': 7.28.4 html-entities: 2.3.3 parse5: 7.3.0 validate-html-nesting: 1.2.2 - babel-plugin-jsx-dom-expressions@0.39.5(@babel/core@7.28.4): + babel-plugin-jsx-dom-expressions@0.39.5(@babel/core@7.28.5): dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) '@babel/types': 7.28.4 html-entities: 2.3.3 parse5: 7.3.0 validate-html-nesting: 1.2.2 + babel-plugin-jsx-dom-expressions@0.40.3(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.18.6 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/types': 7.28.4 + html-entities: 2.3.3 + parse5: 7.3.0 + babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.26.7 cosmiconfig: 7.1.0 resolve: 1.22.10 - babel-preset-solid@1.9.3(@babel/core@7.27.4): + babel-preset-solid@1.9.10(@babel/core@7.28.5)(solid-js@1.9.10): dependencies: - '@babel/core': 7.27.4 - babel-plugin-jsx-dom-expressions: 0.39.5(@babel/core@7.27.4) + '@babel/core': 7.28.5 + babel-plugin-jsx-dom-expressions: 0.40.3(@babel/core@7.28.5) + optionalDependencies: + solid-js: 1.9.10 babel-preset-solid@1.9.3(@babel/core@7.28.4): dependencies: '@babel/core': 7.28.4 babel-plugin-jsx-dom-expressions: 0.39.5(@babel/core@7.28.4) + babel-preset-solid@1.9.3(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + babel-plugin-jsx-dom-expressions: 0.39.5(@babel/core@7.28.5) + balanced-match@1.0.2: {} bare-events@2.5.4: @@ -26953,9 +27198,9 @@ snapshots: esbuild-plugin-solid@0.6.0(esbuild@0.25.10)(solid-js@1.9.10): dependencies: - '@babel/core': 7.27.4 - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) - babel-preset-solid: 1.9.3(@babel/core@7.27.4) + '@babel/core': 7.28.4 + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) + babel-preset-solid: 1.9.3(@babel/core@7.28.4) esbuild: 0.25.10 solid-js: 1.9.10 transitivePeerDependencies: @@ -26963,9 +27208,9 @@ snapshots: esbuild-plugin-solid@0.6.0(esbuild@0.25.4)(solid-js@1.9.10): dependencies: - '@babel/core': 7.27.4 - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) - babel-preset-solid: 1.9.3(@babel/core@7.27.4) + '@babel/core': 7.28.4 + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) + babel-preset-solid: 1.9.3(@babel/core@7.28.4) esbuild: 0.25.4 solid-js: 1.9.10 transitivePeerDependencies: @@ -27137,7 +27382,7 @@ snapshots: eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 minimatch: 10.0.1 - semver: 7.7.2 + semver: 7.7.3 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: @@ -27156,7 +27401,7 @@ snapshots: globals: 15.14.0 globrex: 0.1.2 ignore: 5.3.2 - semver: 7.7.2 + semver: 7.7.3 ts-declaration-location: 1.0.7(typescript@5.9.2) transitivePeerDependencies: - typescript @@ -28789,8 +29034,6 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.0.2: {} - lru-cache@11.2.2: {} lru-cache@5.1.1: @@ -29594,7 +29837,7 @@ snapshots: path-scurry@2.0.0: dependencies: - lru-cache: 11.0.2 + lru-cache: 11.2.2 minipass: 7.1.2 path-to-regexp@0.1.12: {} @@ -30390,7 +30633,7 @@ snapshots: dependencies: color: 4.2.3 detect-libc: 2.1.2 - semver: 7.7.2 + semver: 7.7.3 optionalDependencies: '@img/sharp-darwin-arm64': 0.33.5 '@img/sharp-darwin-x64': 0.33.5 @@ -31518,7 +31761,7 @@ snapshots: optionalDependencies: vite: 7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1) - vitest@3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1): + vitest@3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6(@types/node@22.10.2)(playwright@1.56.1)(typescript@5.9.2)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))(vitest@3.2.4))(@vitest/ui@3.0.6(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 @@ -31547,7 +31790,7 @@ snapshots: '@types/node': 22.10.2 '@vitest/browser': 3.0.6(@types/node@22.10.2)(playwright@1.56.1)(typescript@5.9.2)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))(vitest@3.2.4) '@vitest/ui': 3.0.6(vitest@3.2.4) - jsdom: 25.0.1 + jsdom: 27.0.0(postcss@8.5.6) transitivePeerDependencies: - jiti - less @@ -31562,7 +31805,7 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1): + vitest@3.2.4(@types/node@22.10.2)(@vitest/browser@3.0.6)(@vitest/ui@3.0.6)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(msw@2.7.0(@types/node@22.10.2)(typescript@5.9.2))(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 @@ -31591,7 +31834,7 @@ snapshots: '@types/node': 22.10.2 '@vitest/browser': 3.0.6(@types/node@22.10.2)(playwright@1.56.1)(typescript@5.9.2)(vite@7.1.7(@types/node@22.10.2)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.1))(vitest@3.2.4) '@vitest/ui': 3.0.6(vitest@3.2.4) - jsdom: 27.0.0(postcss@8.5.6) + jsdom: 25.0.1 transitivePeerDependencies: - jiti - less @@ -31616,7 +31859,7 @@ snapshots: eslint-visitor-keys: 4.2.0 espree: 10.3.0 esquery: 1.6.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color @@ -31624,14 +31867,14 @@ snapshots: dependencies: '@volar/typescript': 2.4.11 '@vue/language-core': 2.0.29(typescript@5.8.2) - semver: 7.7.2 + semver: 7.7.3 typescript: 5.8.2 vue-tsc@2.0.29(typescript@5.9.2): dependencies: '@volar/typescript': 2.4.11 '@vue/language-core': 2.0.29(typescript@5.9.2) - semver: 7.7.2 + semver: 7.7.3 typescript: 5.9.2 w3c-xmlserializer@5.0.0: From b7571b65758c64a6a1112bbf5bf483fccf017622 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Wed, 12 Nov 2025 16:55:45 +0100 Subject: [PATCH 3/5] solid docs --- .../solid/installation/with-webpack.md | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 docs/router/framework/solid/installation/with-webpack.md diff --git a/docs/router/framework/solid/installation/with-webpack.md b/docs/router/framework/solid/installation/with-webpack.md new file mode 100644 index 0000000000..1a6628de8b --- /dev/null +++ b/docs/router/framework/solid/installation/with-webpack.md @@ -0,0 +1,93 @@ +--- +title: Installation with Webpack +--- + +[//]: # 'BundlerConfiguration' + +To use file-based routing with **Webpack**, you'll need to install the `@tanstack/router-plugin` package. + +```sh +npm install -D @tanstack/router-plugin +``` + +Once installed, you'll need to add the plugin to your configuration. + +```tsx +// webpack.config.ts +import { tanstackRouter } from '@tanstack/router-plugin/webpack' + +export default { + plugins: [ + tanstackRouter({ + target: 'solid', + autoCodeSplitting: true, + }), + ], +} +``` + +And in the .babelrc, these presets: + +```tsx +// .babelrc + +{ + "presets": ["babel-preset-solid", "@babel/preset-typescript"] +} + +``` + + +Or, for a full webpack.config.js, you can clone our [Quickstart Webpack example](https://github.com/TanStack/router/tree/main/examples/solid/quickstart-webpack-file-based) and get started. + +Now that you've added the plugin to your Webpack configuration, you're all set to start using file-based routing with TanStack Router. + +[//]: # 'BundlerConfiguration' + +## Ignoring the generated route tree file + +If your project is configured to use a linter and/or formatter, you may want to ignore the generated route tree file. This file is managed by TanStack Router and therefore shouldn't be changed by your linter or formatter. + +Here are some resources to help you ignore the generated route tree file: + +- Prettier - [https://prettier.io/docs/en/ignore.html#ignoring-files-prettierignore](https://prettier.io/docs/en/ignore.html#ignoring-files-prettierignore) +- ESLint - [https://eslint.org/docs/latest/use/configure/ignore#ignoring-files](https://eslint.org/docs/latest/use/configure/ignore#ignoring-files) +- Biome - [https://biomejs.dev/reference/configuration/#filesignore](https://biomejs.dev/reference/configuration/#filesignore) + +> [!WARNING] +> If you are using VSCode, you may experience the route tree file unexpectedly open (with errors) after renaming a route. + +You can prevent that from the VSCode settings by marking the file as readonly. Our recommendation is to also exclude it from search results and file watcher with the following settings: + +```json +{ + "files.readonlyInclude": { + "**/routeTree.gen.ts": true + }, + "files.watcherExclude": { + "**/routeTree.gen.ts": true + }, + "search.exclude": { + "**/routeTree.gen.ts": true + } +} +``` + +You can use those settings either at a user level or only for a single workspace by creating the file `.vscode/settings.json` at the root of your project. + +## Configuration + +When using the TanStack Router Plugin with Webpack for File-based routing, it comes with some sane defaults that should work for most projects: + +```json +{ + "routesDirectory": "./src/routes", + "generatedRouteTree": "./src/routeTree.gen.ts", + "routeFileIgnorePrefix": "-", + "quoteStyle": "single" +} +``` + +If these defaults work for your project, you don't need to configure anything at all! However, if you need to customize the configuration, you can do so by editing the configuration object passed into the `tanstackRouter` function. + +You can find all the available configuration options in the [File-based Routing API Reference](../../../../api/file-based-routing.md). From 1d9d53c7697b06e90752f9afc7f27dab35a016e2 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Wed, 12 Nov 2025 16:56:49 +0100 Subject: [PATCH 4/5] solid docs --- docs/router/framework/solid/installation/with-webpack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/router/framework/solid/installation/with-webpack.md b/docs/router/framework/solid/installation/with-webpack.md index 1a6628de8b..bda98bfa3e 100644 --- a/docs/router/framework/solid/installation/with-webpack.md +++ b/docs/router/framework/solid/installation/with-webpack.md @@ -26,7 +26,7 @@ export default { } ``` -And in the .babelrc, these presets: +And in the .babelrc (SWC doesn't support solid-js, see [here](https://www.answeroverflow.com/m/1135200483116593182)), add these presets: ```tsx // .babelrc From 503f68adb0c95fc1e0af5f029a3d5de07ed8695a Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 12 Nov 2025 15:58:48 +0000 Subject: [PATCH 5/5] ci: apply automated fixes --- docs/router/framework/solid/installation/with-webpack.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/router/framework/solid/installation/with-webpack.md b/docs/router/framework/solid/installation/with-webpack.md index bda98bfa3e..af5eded1cd 100644 --- a/docs/router/framework/solid/installation/with-webpack.md +++ b/docs/router/framework/solid/installation/with-webpack.md @@ -37,7 +37,6 @@ And in the .babelrc (SWC doesn't support solid-js, see [here](https://www.answer ``` - Or, for a full webpack.config.js, you can clone our [Quickstart Webpack example](https://github.com/TanStack/router/tree/main/examples/solid/quickstart-webpack-file-based) and get started. Now that you've added the plugin to your Webpack configuration, you're all set to start using file-based routing with TanStack Router.