├── .gitattributes
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ └── config.yml
├── labeler.yml
├── renovate.json
└── workflows
│ ├── autofix.yml
│ ├── ci.yml
│ ├── labeler.yml
│ └── pr.yml
├── .gitignore
├── .npmrc
├── .nvmrc
├── .nx
└── workflows
│ └── dynamic-changesets.yaml
├── .prettierignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── docs
├── router
│ ├── api
│ │ └── file-based-routing.md
│ ├── assets
│ │ └── search-serialization-deserialization-idempotency.jpg
│ ├── config.json
│ ├── eslint
│ │ ├── create-route-property-order.md
│ │ └── eslint-plugin-router.md
│ └── framework
│ │ ├── react
│ │ ├── api
│ │ │ ├── router.md
│ │ │ └── router
│ │ │ │ ├── ActiveLinkOptionsType.md
│ │ │ │ ├── AsyncRouteComponentType.md
│ │ │ │ ├── FileRouteClass.md
│ │ │ │ ├── LinkOptionsType.md
│ │ │ │ ├── LinkPropsType.md
│ │ │ │ ├── MatchRouteOptionsType.md
│ │ │ │ ├── NavigateOptionsType.md
│ │ │ │ ├── NotFoundErrorType.md
│ │ │ │ ├── NotFoundRouteClass.md
│ │ │ │ ├── ParsedHistoryStateType.md
│ │ │ │ ├── ParsedLocationType.md
│ │ │ │ ├── RedirectType.md
│ │ │ │ ├── RegisterType.md
│ │ │ │ ├── RootRouteClass.md
│ │ │ │ ├── RouteApiClass.md
│ │ │ │ ├── RouteApiType.md
│ │ │ │ ├── RouteClass.md
│ │ │ │ ├── RouteMaskType.md
│ │ │ │ ├── RouteMatchType.md
│ │ │ │ ├── RouteOptionsType.md
│ │ │ │ ├── RouteType.md
│ │ │ │ ├── RouterClass.md
│ │ │ │ ├── RouterEventsType.md
│ │ │ │ ├── RouterOptionsType.md
│ │ │ │ ├── RouterStateType.md
│ │ │ │ ├── RouterType.md
│ │ │ │ ├── ToMaskOptionsType.md
│ │ │ │ ├── ToOptionsType.md
│ │ │ │ ├── UseMatchRouteOptionsType.md
│ │ │ │ ├── ViewTransitionOptionsType.md
│ │ │ │ ├── awaitComponent.md
│ │ │ │ ├── catchBoundaryComponent.md
│ │ │ │ ├── catchNotFoundComponent.md
│ │ │ │ ├── clientOnlyComponent.md
│ │ │ │ ├── createFileRouteFunction.md
│ │ │ │ ├── createLazyFileRouteFunction.md
│ │ │ │ ├── createLazyRouteFunction.md
│ │ │ │ ├── createRootRouteFunction.md
│ │ │ │ ├── createRootRouteWithContextFunction.md
│ │ │ │ ├── createRouteFunction.md
│ │ │ │ ├── createRouteMaskFunction.md
│ │ │ │ ├── createRouterFunction.md
│ │ │ │ ├── defaultGlobalNotFoundComponent.md
│ │ │ │ ├── deferFunction.md
│ │ │ │ ├── errorComponentComponent.md
│ │ │ │ ├── getRouteApiFunction.md
│ │ │ │ ├── historyStateInterface.md
│ │ │ │ ├── isNotFoundFunction.md
│ │ │ │ ├── isRedirectFunction.md
│ │ │ │ ├── lazyRouteComponentFunction.md
│ │ │ │ ├── linkComponent.md
│ │ │ │ ├── linkOptions.md
│ │ │ │ ├── matchRouteComponent.md
│ │ │ │ ├── navigateComponent.md
│ │ │ │ ├── notFoundFunction.md
│ │ │ │ ├── outletComponent.md
│ │ │ │ ├── redirectFunction.md
│ │ │ │ ├── retainSearchParamsFunction.md
│ │ │ │ ├── rootRouteWithContextFunction.md
│ │ │ │ ├── stripSearchParamsFunction.md
│ │ │ │ ├── useAwaitedHook.md
│ │ │ │ ├── useBlockerHook.md
│ │ │ │ ├── useCanGoBack.md
│ │ │ │ ├── useChildMatchesHook.md
│ │ │ │ ├── useLinkPropsHook.md
│ │ │ │ ├── useLoaderDataHook.md
│ │ │ │ ├── useLoaderDepsHook.md
│ │ │ │ ├── useLocationHook.md
│ │ │ │ ├── useMatchHook.md
│ │ │ │ ├── useMatchRouteHook.md
│ │ │ │ ├── useMatchesHook.md
│ │ │ │ ├── useNavigateHook.md
│ │ │ │ ├── useParamsHook.md
│ │ │ │ ├── useParentMatchesHook.md
│ │ │ │ ├── useRouteContextHook.md
│ │ │ │ ├── useRouterHook.md
│ │ │ │ ├── useRouterStateHook.md
│ │ │ │ └── useSearchHook.md
│ │ ├── comparison.md
│ │ ├── decisions-on-dx.md
│ │ ├── devtools.md
│ │ ├── faq.md
│ │ ├── guide
│ │ │ ├── authenticated-routes.md
│ │ │ ├── automatic-code-splitting.md
│ │ │ ├── code-splitting.md
│ │ │ ├── creating-a-router.md
│ │ │ ├── custom-link.md
│ │ │ ├── custom-search-param-serialization.md
│ │ │ ├── data-loading.md
│ │ │ ├── data-mutations.md
│ │ │ ├── deferred-data-loading.md
│ │ │ ├── document-head-management.md
│ │ │ ├── external-data-loading.md
│ │ │ ├── history-types.md
│ │ │ ├── link-options.md
│ │ │ ├── navigation-blocking.md
│ │ │ ├── navigation.md
│ │ │ ├── not-found-errors.md
│ │ │ ├── outlets.md
│ │ │ ├── parallel-routes.md
│ │ │ ├── path-params.md
│ │ │ ├── preloading.md
│ │ │ ├── render-optimizations.md
│ │ │ ├── route-masking.md
│ │ │ ├── router-context.md
│ │ │ ├── scroll-restoration.md
│ │ │ ├── search-params.md
│ │ │ ├── ssr.md
│ │ │ ├── static-route-data.md
│ │ │ ├── tanstack-start.md
│ │ │ ├── type-safety.md
│ │ │ └── type-utilities.md
│ │ ├── installation.md
│ │ ├── migrate-from-react-location.md
│ │ ├── migrate-from-react-router.md
│ │ ├── overview.md
│ │ ├── quick-start.md
│ │ └── routing
│ │ │ ├── code-based-routing.md
│ │ │ ├── file-based-routing.md
│ │ │ ├── file-naming-conventions.md
│ │ │ ├── installation-with-esbuild.md
│ │ │ ├── installation-with-router-cli.md
│ │ │ ├── installation-with-rspack.md
│ │ │ ├── installation-with-vite.md
│ │ │ ├── installation-with-webpack.md
│ │ │ ├── route-matching.md
│ │ │ ├── route-trees.md
│ │ │ ├── routing-concepts.md
│ │ │ └── virtual-file-routes.md
│ │ └── solid
│ │ ├── decisions-on-dx.md
│ │ ├── devtools.md
│ │ ├── faq.md
│ │ ├── guide
│ │ ├── authenticated-routes.md
│ │ ├── automatic-code-splitting.md
│ │ ├── code-splitting.md
│ │ ├── creating-a-router.md
│ │ ├── custom-link.md
│ │ ├── custom-search-param-serialization.md
│ │ ├── data-loading.md
│ │ ├── data-mutations.md
│ │ ├── deferred-data-loading.md
│ │ ├── document-head-management.md
│ │ ├── external-data-loading.md
│ │ ├── history-types.md
│ │ ├── link-options.md
│ │ ├── navigation-blocking.md
│ │ ├── navigation.md
│ │ ├── not-found-errors.md
│ │ ├── outlets.md
│ │ ├── path-params.md
│ │ ├── preloading.md
│ │ ├── route-masking.md
│ │ ├── router-context.md
│ │ ├── scroll-restoration.md
│ │ ├── search-params.md
│ │ ├── static-route-data.md
│ │ ├── type-safety.md
│ │ └── type-utilities.md
│ │ ├── installation.md
│ │ ├── overview.md
│ │ ├── quick-start.md
│ │ └── routing
│ │ ├── code-based-routing.md
│ │ ├── file-based-routing.md
│ │ ├── file-naming-conventions.md
│ │ ├── installation-with-router-cli.md
│ │ ├── installation-with-vite.md
│ │ ├── route-matching.md
│ │ ├── route-trees.md
│ │ ├── routing-concepts.md
│ │ └── virtual-file-routes.md
└── start
│ ├── config.json
│ └── framework
│ ├── react
│ ├── api-routes.md
│ ├── authentication.md
│ ├── build-from-scratch.md
│ ├── databases.md
│ ├── getting-started.md
│ ├── hosting.md
│ ├── learn-the-basics.md
│ ├── middleware.md
│ ├── migrate-from-next-js.md
│ ├── observability.md
│ ├── overview.md
│ ├── path-aliases.md
│ ├── quick-start.md
│ ├── reading-writing-file.md
│ ├── server-functions.md
│ ├── ssr.md
│ ├── static-prerendering.md
│ └── static-server-functions.md
│ └── solid
│ ├── api-routes.md
│ ├── authentication.md
│ ├── build-from-scratch.md
│ ├── databases.md
│ ├── getting-started.md
│ ├── hosting.md
│ ├── learn-the-basics.md
│ ├── middleware.md
│ ├── observability.md
│ ├── overview.md
│ ├── path-aliases.md
│ ├── quick-start.md
│ ├── server-functions.md
│ ├── ssr.md
│ ├── static-prerendering.md
│ └── static-server-functions.md
├── e2e
├── create-start
│ ├── .gitignore
│ ├── package.json
│ ├── playwright.config.ts
│ ├── tests
│ │ └── templates
│ │ │ └── barebones.test.ts
│ ├── tsconfig.json
│ └── utils
│ │ └── setup.ts
├── e2e-utils
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── derivePort.ts
│ │ ├── index.ts
│ │ ├── localDummyServer.ts
│ │ ├── resolve-runtime-suffix.ts
│ │ └── to-runtime-path.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── react-router
│ ├── basic-esbuild-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── src
│ │ │ ├── esbuild.config.js
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ └── routes
│ │ │ │ ├── (group)
│ │ │ │ ├── _layout.inside.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── lazyinside.lazy.tsx
│ │ │ │ └── lazyinside.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ ├── _layout-2.tsx
│ │ │ │ └── _layout-2
│ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.tsx
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── basic-file-based-code-splitting
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── viewport-test.tsx
│ │ │ │ └── without-loader.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── app.spec.ts
│ │ │ └── preload.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── (another-group)
│ │ │ │ │ └── onlyrouteinside.tsx
│ │ │ │ ├── (group)
│ │ │ │ │ ├── _layout.insidelayout.tsx
│ │ │ │ │ ├── _layout.tsx
│ │ │ │ │ ├── inside.tsx
│ │ │ │ │ ├── lazyinside.lazy.tsx
│ │ │ │ │ ├── lazyinside.tsx
│ │ │ │ │ └── subfolder
│ │ │ │ │ │ └── inside.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── anchor.tsx
│ │ │ │ ├── editing-a.tsx
│ │ │ │ ├── editing-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── params.single.$value.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── posts_.$postId.edit.tsx
│ │ │ │ ├── redirect
│ │ │ │ │ ├── $target.tsx
│ │ │ │ │ ├── $target
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ │ │ └── via-loader.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── preload
│ │ │ │ │ │ ├── first.tsx
│ │ │ │ │ │ ├── second.tsx
│ │ │ │ │ │ └── third.tsx
│ │ │ │ └── structural-sharing.$enabled.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── app.spec.ts
│ │ │ ├── params.spec.ts
│ │ │ ├── redirect.spec.ts
│ │ │ └── scroll-into-view.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-react-query-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── postQueryOptions.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── postsQueryOptions.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-react-query
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.lazy.tsx
│ │ │ ├── posts.ts
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-scroll-restoration
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── app.spec.ts
│ │ │ └── router-events.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-virtual-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── routes.ts
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── a.tsx
│ │ │ │ ├── b.tsx
│ │ │ │ ├── file-based-subtree
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── route.tsx
│ │ │ │ │ │ ├── universe.tsx
│ │ │ │ │ │ └── world.tsx
│ │ │ │ ├── home.tsx
│ │ │ │ ├── layout
│ │ │ │ │ ├── first-layout.tsx
│ │ │ │ │ └── second-layout.tsx
│ │ │ │ ├── posts
│ │ │ │ │ ├── posts-detail.tsx
│ │ │ │ │ ├── posts-home.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ └── root.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic-virtual-named-export-config-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── routes.ts
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routes
│ │ │ │ ├── a.tsx
│ │ │ │ ├── b.tsx
│ │ │ │ ├── file-based-subtree
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── route.tsx
│ │ │ │ │ │ ├── universe.tsx
│ │ │ │ │ │ └── world.tsx
│ │ │ │ ├── home.tsx
│ │ │ │ ├── layout
│ │ │ │ │ ├── first-layout.tsx
│ │ │ │ │ └── second-layout.tsx
│ │ │ │ ├── posts
│ │ │ │ │ ├── posts-detail.tsx
│ │ │ │ │ ├── posts-home.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ └── root.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.lazy.tsx
│ │ │ ├── posts.ts
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── generator-cli-only
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.tsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ │ └── route-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.route.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ ├── tsr.config.json
│ │ └── vite.config.js
│ ├── js-only-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.jsx
│ │ │ ├── posts.js
│ │ │ ├── routeTree.gen.js
│ │ │ ├── routes
│ │ │ │ ├── __root.jsx
│ │ │ │ ├── _pathlessLayout.jsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.jsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.jsx
│ │ │ │ │ │ └── route-b.jsx
│ │ │ │ ├── index.jsx
│ │ │ │ ├── posts.$postId.jsx
│ │ │ │ ├── posts.index.jsx
│ │ │ │ └── posts.route.jsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── rspack-basic-file-based
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── rsbuild.config.ts
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── env.d.ts
│ │ │ ├── index.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── rspack-basic-virtual-named-export-config-file-based
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── routes.ts
│ │ ├── rsbuild.config.ts
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── env.d.ts
│ │ │ ├── index.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routes
│ │ │ │ ├── a.tsx
│ │ │ │ ├── b.tsx
│ │ │ │ ├── file-based-subtree
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── route.tsx
│ │ │ │ │ │ ├── universe.tsx
│ │ │ │ │ │ └── world.tsx
│ │ │ │ ├── home.tsx
│ │ │ │ ├── layout
│ │ │ │ │ ├── first-layout.tsx
│ │ │ │ │ └── second-layout.tsx
│ │ │ │ ├── posts
│ │ │ │ │ ├── posts-detail.tsx
│ │ │ │ │ ├── posts-home.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ └── root.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── tsr.config.json
│ ├── scroll-restoration-sandbox-vite
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.browser.config.ts
│ │ ├── playwright.hash.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── (tests)
│ │ │ │ │ ├── lazy-page.lazy.tsx
│ │ │ │ │ ├── lazy-page.tsx
│ │ │ │ │ ├── lazy-with-loader-page.lazy.tsx
│ │ │ │ │ ├── lazy-with-loader-page.tsx
│ │ │ │ │ ├── normal-page.tsx
│ │ │ │ │ ├── page-with-search.tsx
│ │ │ │ │ └── virtual-page.lazy.tsx
│ │ │ │ ├── -components
│ │ │ │ │ └── scroll-block.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ └── index.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ └── sentry-integration
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ ├── main.tsx
│ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ ├── app.spec.ts
│ │ └── fixture.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
├── react-start
│ ├── basic-auth
│ │ ├── .env
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── prisma
│ │ │ ├── dev.db
│ │ │ ├── migrations
│ │ │ │ ├── 20240811183753_init
│ │ │ │ │ └── migration.sql
│ │ │ │ └── migration_lock.toml
│ │ │ └── schema.prisma
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── Auth.tsx
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ ├── Login.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── hooks
│ │ │ │ └── useMutation.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _authed.tsx
│ │ │ │ ├── _authed
│ │ │ │ │ ├── posts.$postId.tsx
│ │ │ │ │ ├── posts.index.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── login.tsx
│ │ │ │ ├── logout.tsx
│ │ │ │ └── signup.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.ts
│ │ │ │ ├── prisma.ts
│ │ │ │ ├── seo.ts
│ │ │ │ └── session.ts
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── app.spec.ts
│ │ │ ├── mock-db-setup.test.ts
│ │ │ └── mock-db-teardown.test.ts
│ │ └── tsconfig.json
│ ├── basic-react-query
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── api.ts
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── api.users.ts
│ │ │ │ ├── api
│ │ │ │ │ └── users.$id.ts
│ │ │ │ ├── deferred.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── posts_.$postId.deep.tsx
│ │ │ │ ├── redirect.tsx
│ │ │ │ ├── users.$userId.tsx
│ │ │ │ ├── users.index.tsx
│ │ │ │ └── users.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── seo.ts
│ │ │ │ └── users.tsx
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── basic-rsc
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ └── posts_.$postId.deep.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── renderPosts.tsx
│ │ │ │ └── seo.ts
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── basic-tsr-config
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── src
│ │ │ └── app
│ │ │ │ ├── client.tsx
│ │ │ │ ├── routeTree.gen.ts
│ │ │ │ ├── router.tsx
│ │ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ └── index.tsx
│ │ │ │ └── ssr.tsx
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── basic
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ ├── script.js
│ │ │ ├── script2.js
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── api.ts
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── CustomMessage.tsx
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ ├── NotFound.tsx
│ │ │ │ ├── RedirectOnClick.tsx
│ │ │ │ └── throwRedirect.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── api.users.ts
│ │ │ │ ├── api
│ │ │ │ │ └── users.$id.ts
│ │ │ │ ├── deferred.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── links.tsx
│ │ │ │ ├── not-found
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── route.tsx
│ │ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ │ └── via-loader.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── posts_.$postId.deep.tsx
│ │ │ │ ├── redirect
│ │ │ │ │ ├── $target.tsx
│ │ │ │ │ ├── $target
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── serverFn
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ │ │ │ ├── via-loader.tsx
│ │ │ │ │ │ │ └── via-useServerFn.tsx
│ │ │ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ │ │ └── via-loader.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── scripts.tsx
│ │ │ │ ├── search-params.tsx
│ │ │ │ ├── stream.tsx
│ │ │ │ ├── users.$userId.tsx
│ │ │ │ ├── users.index.tsx
│ │ │ │ └── users.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── seo.ts
│ │ │ │ └── users.tsx
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── fixture.ts
│ │ │ ├── navigation.spec.ts
│ │ │ ├── not-found.spec.ts
│ │ │ ├── redirect.spec.ts
│ │ │ ├── search-params.spec.ts
│ │ │ └── streaming.spec.ts
│ │ └── tsconfig.json
│ ├── clerk-basic
│ │ ├── .env
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _authed.tsx
│ │ │ │ ├── _authed
│ │ │ │ │ ├── posts.$postId.tsx
│ │ │ │ │ ├── posts.index.tsx
│ │ │ │ │ ├── posts.tsx
│ │ │ │ │ └── profile.$.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.ts
│ │ │ │ └── seo.ts
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── scroll-restoration
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ ├── script.js
│ │ │ ├── script2.js
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── api.ts
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── (tests)
│ │ │ │ │ ├── normal-page.tsx
│ │ │ │ │ ├── with-loader.tsx
│ │ │ │ │ └── with-search.tsx
│ │ │ │ ├── -components
│ │ │ │ │ └── scroll-block.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── seo.ts
│ │ │ │ └── users.tsx
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── server-functions
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ └── favicon.png
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── abort-signal.tsx
│ │ │ │ ├── consistent.tsx
│ │ │ │ ├── cookies
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── set.tsx
│ │ │ │ ├── dead-code-preserve.tsx
│ │ │ │ ├── env-only.tsx
│ │ │ │ ├── headers.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── isomorphic-fns.tsx
│ │ │ │ ├── multipart.tsx
│ │ │ │ ├── raw-response.tsx
│ │ │ │ ├── return-null.tsx
│ │ │ │ ├── serialize-form-data.tsx
│ │ │ │ ├── status.tsx
│ │ │ │ └── submit-post-formdata.tsx
│ │ │ ├── ssr.tsx
│ │ │ └── styles
│ │ │ │ └── app.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── fixture.ts
│ │ │ └── server-functions.spec.ts
│ │ └── tsconfig.json
│ └── website
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── favicon.png
│ │ └── site.webmanifest
│ │ ├── src
│ │ ├── client.tsx
│ │ ├── components
│ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ └── NotFound.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── router.tsx
│ │ ├── routes
│ │ │ ├── $project.$version.docs.framework.$framework.$.tsx
│ │ │ ├── $project.$version.docs.framework.$framework.examples.$.tsx
│ │ │ ├── $project.$version.docs.framework.$framework.index.tsx
│ │ │ ├── $project.$version.docs.framework.$framework.tsx
│ │ │ ├── $project.$version.docs.index.tsx
│ │ │ ├── $project.index.tsx
│ │ │ ├── __root.tsx
│ │ │ ├── _library.$project.$version.index.tsx
│ │ │ ├── _library.$project.tsx
│ │ │ ├── _library.index.tsx
│ │ │ └── _library.tsx
│ │ ├── server
│ │ │ ├── document.tsx
│ │ │ └── projects.tsx
│ │ ├── ssr.tsx
│ │ ├── styles
│ │ │ └── app.css
│ │ └── utils
│ │ │ └── seo.ts
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ └── app.spec.ts
│ │ └── tsconfig.json
├── solid-router
│ ├── basic-esbuild-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── src
│ │ │ ├── esbuild.config.js
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ └── routes
│ │ │ │ ├── (group)
│ │ │ │ ├── _layout.inside.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── lazyinside.lazy.tsx
│ │ │ │ └── lazyinside.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ ├── _layout-2.tsx
│ │ │ │ └── _layout-2
│ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.tsx
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── basic-file-based-code-splitting
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── viewport-test.tsx
│ │ │ │ └── without-loader.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── app.spec.ts
│ │ │ └── preload.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── (another-group)
│ │ │ │ │ └── onlyrouteinside.tsx
│ │ │ │ ├── (group)
│ │ │ │ │ ├── _layout.insidelayout.tsx
│ │ │ │ │ ├── _layout.tsx
│ │ │ │ │ ├── inside.tsx
│ │ │ │ │ ├── lazyinside.lazy.tsx
│ │ │ │ │ ├── lazyinside.tsx
│ │ │ │ │ └── subfolder
│ │ │ │ │ │ └── inside.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── anchor.tsx
│ │ │ │ ├── editing-a.tsx
│ │ │ │ ├── editing-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── params.single.$value.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── posts_.$postId.edit.tsx
│ │ │ │ └── redirect
│ │ │ │ │ ├── $target.tsx
│ │ │ │ │ ├── $target
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ │ └── via-loader.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── preload
│ │ │ │ │ ├── first.tsx
│ │ │ │ │ ├── second.tsx
│ │ │ │ │ └── third.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── app.spec.ts
│ │ │ ├── params.spec.ts
│ │ │ ├── redirect.spec.ts
│ │ │ └── scroll-into-view.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-scroll-restoration
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── app.spec.ts
│ │ │ └── router-events.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-solid-query-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── postQueryOptions.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── postsQueryOptions.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-solid-query
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.lazy.tsx
│ │ │ ├── posts.ts
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-virtual-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── routes.ts
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── a.tsx
│ │ │ │ ├── b.tsx
│ │ │ │ ├── file-based-subtree
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── route.tsx
│ │ │ │ │ │ ├── universe.tsx
│ │ │ │ │ │ └── world.tsx
│ │ │ │ ├── home.tsx
│ │ │ │ ├── layout
│ │ │ │ │ ├── first-layout.tsx
│ │ │ │ │ └── second-layout.tsx
│ │ │ │ ├── posts
│ │ │ │ │ ├── posts-detail.tsx
│ │ │ │ │ ├── posts-home.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ └── root.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic-virtual-named-export-config-file-based
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── routes.ts
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routes
│ │ │ │ ├── a.tsx
│ │ │ │ ├── b.tsx
│ │ │ │ ├── file-based-subtree
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── route.tsx
│ │ │ │ │ │ ├── universe.tsx
│ │ │ │ │ │ └── world.tsx
│ │ │ │ ├── home.tsx
│ │ │ │ ├── layout
│ │ │ │ │ ├── first-layout.tsx
│ │ │ │ │ └── second-layout.tsx
│ │ │ │ ├── posts
│ │ │ │ │ ├── posts-detail.tsx
│ │ │ │ │ ├── posts-home.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ └── root.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.lazy.tsx
│ │ │ ├── posts.ts
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── rspack-basic-file-based
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── rsbuild.config.ts
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── env.d.ts
│ │ │ ├── index.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ ├── rspack-basic-virtual-named-export-config-file-based
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── playwright.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── routes.ts
│ │ ├── rsbuild.config.ts
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── env.d.ts
│ │ │ ├── index.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routes
│ │ │ │ ├── a.tsx
│ │ │ │ ├── b.tsx
│ │ │ │ ├── file-based-subtree
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── route.tsx
│ │ │ │ │ │ ├── universe.tsx
│ │ │ │ │ │ └── world.tsx
│ │ │ │ ├── home.tsx
│ │ │ │ ├── layout
│ │ │ │ │ ├── first-layout.tsx
│ │ │ │ │ └── second-layout.tsx
│ │ │ │ ├── posts
│ │ │ │ │ ├── posts-detail.tsx
│ │ │ │ │ ├── posts-home.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ └── root.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ └── app.spec.ts
│ │ └── tsconfig.json
│ └── scroll-restoration-sandbox-vite
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── playwright.browser.config.ts
│ │ ├── playwright.hash.config.ts
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ ├── main.tsx
│ │ ├── posts.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── routes
│ │ │ ├── (tests)
│ │ │ │ ├── lazy-page.lazy.tsx
│ │ │ │ ├── lazy-page.tsx
│ │ │ │ ├── lazy-with-loader-page.lazy.tsx
│ │ │ │ ├── lazy-with-loader-page.tsx
│ │ │ │ ├── normal-page.tsx
│ │ │ │ ├── page-with-search.tsx
│ │ │ │ └── virtual-page.lazy.tsx
│ │ │ ├── -components
│ │ │ │ └── scroll-block.tsx
│ │ │ ├── __root.tsx
│ │ │ └── index.tsx
│ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ └── app.spec.ts
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
└── solid-start
│ ├── basic-tsr-config
│ ├── .gitignore
│ ├── .prettierignore
│ ├── README.md
│ ├── app.config.ts
│ ├── package.json
│ ├── playwright.config.ts
│ ├── src
│ │ └── app
│ │ │ ├── client.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ ├── __root.tsx
│ │ │ └── index.tsx
│ │ │ └── ssr.tsx
│ ├── tests
│ │ └── app.spec.ts
│ └── tsconfig.json
│ ├── basic
│ ├── .gitignore
│ ├── .prettierignore
│ ├── app.config.ts
│ ├── package.json
│ ├── playwright.config.ts
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── favicon.png
│ │ ├── script.js
│ │ ├── script2.js
│ │ └── site.webmanifest
│ ├── src
│ │ ├── api.ts
│ │ ├── client.tsx
│ │ ├── components
│ │ │ ├── CustomMessage.tsx
│ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ ├── NotFound.tsx
│ │ │ ├── PostErrorComponent.tsx
│ │ │ ├── RedirectOnClick.tsx
│ │ │ ├── UserErrorComponent.tsx
│ │ │ └── throwRedirect.ts
│ │ ├── routeTree.gen.ts
│ │ ├── router.tsx
│ │ ├── routes
│ │ │ ├── __root.tsx
│ │ │ ├── _layout.tsx
│ │ │ ├── _layout
│ │ │ │ ├── _layout-2.tsx
│ │ │ │ └── _layout-2
│ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ └── layout-b.tsx
│ │ │ ├── api.users.ts
│ │ │ ├── api
│ │ │ │ └── users.$id.ts
│ │ │ ├── deferred.tsx
│ │ │ ├── index.tsx
│ │ │ ├── links.tsx
│ │ │ ├── not-found
│ │ │ │ ├── index.tsx
│ │ │ │ ├── route.tsx
│ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ └── via-loader.tsx
│ │ │ ├── posts.$postId.tsx
│ │ │ ├── posts.index.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── posts_.$postId.deep.tsx
│ │ │ ├── redirect
│ │ │ │ ├── $target.tsx
│ │ │ │ ├── $target
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── serverFn
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ │ │ ├── via-loader.tsx
│ │ │ │ │ │ └── via-useServerFn.tsx
│ │ │ │ │ ├── via-beforeLoad.tsx
│ │ │ │ │ └── via-loader.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── scripts.tsx
│ │ │ ├── search-params.tsx
│ │ │ ├── stream.tsx
│ │ │ ├── users.$userId.tsx
│ │ │ ├── users.index.tsx
│ │ │ └── users.tsx
│ │ ├── ssr.tsx
│ │ ├── styles
│ │ │ └── app.css
│ │ └── utils
│ │ │ ├── posts.tsx
│ │ │ ├── seo.ts
│ │ │ └── users.tsx
│ ├── tailwind.config.mjs
│ ├── tests
│ │ ├── fixture.ts
│ │ ├── navigation.spec.ts
│ │ ├── not-found.spec.ts
│ │ ├── redirect.spec.ts
│ │ ├── search-params.spec.ts
│ │ └── streaming.spec.ts
│ └── tsconfig.json
│ ├── scroll-restoration
│ ├── .gitignore
│ ├── .prettierignore
│ ├── app.config.ts
│ ├── package.json
│ ├── playwright.config.ts
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── favicon.png
│ │ ├── script.js
│ │ ├── script2.js
│ │ └── site.webmanifest
│ ├── src
│ │ ├── api.ts
│ │ ├── client.tsx
│ │ ├── components
│ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ └── NotFound.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── router.tsx
│ │ ├── routes
│ │ │ ├── (tests)
│ │ │ │ ├── normal-page.tsx
│ │ │ │ ├── with-loader.tsx
│ │ │ │ └── with-search.tsx
│ │ │ ├── -components
│ │ │ │ └── scroll-block.tsx
│ │ │ ├── __root.tsx
│ │ │ └── index.tsx
│ │ ├── ssr.tsx
│ │ ├── styles
│ │ │ └── app.css
│ │ └── utils
│ │ │ ├── posts.tsx
│ │ │ ├── seo.ts
│ │ │ └── users.tsx
│ ├── tailwind.config.mjs
│ ├── tests
│ │ └── app.spec.ts
│ └── tsconfig.json
│ ├── server-functions
│ ├── .gitignore
│ ├── .prettierignore
│ ├── app.config.ts
│ ├── package.json
│ ├── playwright.config.ts
│ ├── postcss.config.mjs
│ ├── public
│ │ ├── favicon.ico
│ │ └── favicon.png
│ ├── src
│ │ ├── client.tsx
│ │ ├── components
│ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ └── NotFound.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── router.tsx
│ │ ├── routes
│ │ │ ├── __root.tsx
│ │ │ ├── abort-signal.tsx
│ │ │ ├── consistent.tsx
│ │ │ ├── cookies
│ │ │ │ ├── index.tsx
│ │ │ │ └── set.tsx
│ │ │ ├── dead-code-preserve.tsx
│ │ │ ├── env-only.tsx
│ │ │ ├── headers.tsx
│ │ │ ├── index.tsx
│ │ │ ├── isomorphic-fns.tsx
│ │ │ ├── multipart.tsx
│ │ │ ├── raw-response.tsx
│ │ │ ├── return-null.tsx
│ │ │ ├── serialize-form-data.tsx
│ │ │ ├── status.tsx
│ │ │ └── submit-post-formdata.tsx
│ │ ├── ssr.tsx
│ │ └── styles
│ │ │ └── app.css
│ ├── tailwind.config.mjs
│ ├── tests
│ │ ├── fixture.ts
│ │ └── server-functions.spec.ts
│ └── tsconfig.json
│ └── website
│ ├── .gitignore
│ ├── .prettierignore
│ ├── app.config.ts
│ ├── package.json
│ ├── playwright.config.ts
│ ├── postcss.config.mjs
│ ├── public
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── apple-touch-icon.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon.ico
│ ├── favicon.png
│ └── site.webmanifest
│ ├── src
│ ├── client.tsx
│ ├── components
│ │ ├── DefaultCatchBoundary.tsx
│ │ └── NotFound.tsx
│ ├── routeTree.gen.ts
│ ├── router.tsx
│ ├── routes
│ │ ├── $project.$version.docs.framework.$framework.$.tsx
│ │ ├── $project.$version.docs.framework.$framework.examples.$.tsx
│ │ ├── $project.$version.docs.framework.$framework.index.tsx
│ │ ├── $project.$version.docs.framework.$framework.tsx
│ │ ├── $project.$version.docs.index.tsx
│ │ ├── $project.index.tsx
│ │ ├── __root.tsx
│ │ ├── _library.$project.$version.index.tsx
│ │ ├── _library.$project.tsx
│ │ ├── _library.index.tsx
│ │ └── _library.tsx
│ ├── server
│ │ ├── document.tsx
│ │ └── projects.tsx
│ ├── ssr.tsx
│ ├── styles
│ │ └── app.css
│ └── utils
│ │ └── seo.ts
│ ├── tailwind.config.mjs
│ ├── tests
│ └── app.spec.ts
│ └── tsconfig.json
├── eslint.config.js
├── examples
├── react
│ ├── authenticated-routes-firebase
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── auth.tsx
│ │ │ ├── firebase
│ │ │ │ └── config.ts
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _auth.dashboard.tsx
│ │ │ │ ├── _auth.invoices.$invoiceId.tsx
│ │ │ │ ├── _auth.invoices.index.tsx
│ │ │ │ ├── _auth.invoices.tsx
│ │ │ │ ├── _auth.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── login.tsx
│ │ │ ├── styles.css
│ │ │ ├── utils.ts
│ │ │ └── vite.d.ts
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── authenticated-routes
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── auth.tsx
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _auth.dashboard.tsx
│ │ │ │ ├── _auth.invoices.$invoiceId.tsx
│ │ │ │ ├── _auth.invoices.index.tsx
│ │ │ │ ├── _auth.invoices.tsx
│ │ │ │ ├── _auth.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── login.tsx
│ │ │ ├── styles.css
│ │ │ └── utils.ts
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-default-search-params
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-devtools-panel
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── snapshot
│ │ │ └── expected.png
│ │ ├── src
│ │ │ ├── App.tsx
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.tsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ │ └── route-b.tsx
│ │ │ │ ├── anchor.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.route.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-non-nested-devtools
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.lazy.tsx
│ │ │ ├── posts.ts
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-react-query-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── postQueryOptions.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── postsQueryOptions.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.tsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ │ └── route-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.route.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-react-query
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.lazy.tsx
│ │ │ ├── posts.ts
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-ssr-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── server.js
│ │ ├── src
│ │ │ ├── entry-client.tsx
│ │ │ ├── entry-server.tsx
│ │ │ ├── fetch-polyfill.js
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routerContext.tsx
│ │ │ └── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── error.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── posts
│ │ │ │ ├── $postId.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── route.tsx
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-ssr-streaming-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── server.js
│ │ ├── src
│ │ │ ├── entry-client.tsx
│ │ │ ├── entry-server.tsx
│ │ │ ├── fetch-polyfill.js
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routerContext.tsx
│ │ │ └── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── error.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── posts
│ │ │ │ ├── $postId.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── route.tsx
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── basic-virtual-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── routes.ts
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── a.tsx
│ │ │ │ ├── b.tsx
│ │ │ │ ├── file-based-subtree
│ │ │ │ │ └── hello
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── route.tsx
│ │ │ │ │ │ ├── universe.tsx
│ │ │ │ │ │ └── world.tsx
│ │ │ │ ├── home.tsx
│ │ │ │ ├── layout
│ │ │ │ │ ├── first-layout.tsx
│ │ │ │ │ └── second-layout.tsx
│ │ │ │ ├── posts
│ │ │ │ │ ├── posts-detail.tsx
│ │ │ │ │ ├── posts-home.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ └── root.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic-virtual-inside-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── _layout
│ │ │ │ │ ├── _layout-2.tsx
│ │ │ │ │ └── _layout-2
│ │ │ │ │ │ ├── layout-a.tsx
│ │ │ │ │ │ └── layout-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ └── posts
│ │ │ │ │ ├── __virtual.ts
│ │ │ │ │ ├── details.tsx
│ │ │ │ │ ├── home.tsx
│ │ │ │ │ └── lets-go
│ │ │ │ │ ├── deeper
│ │ │ │ │ ├── __virtual.ts
│ │ │ │ │ └── home.tsx
│ │ │ │ │ └── index.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── basic
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.lazy.tsx
│ │ │ ├── posts.ts
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── deferred-data
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── kitchen-sink-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── components
│ │ │ │ ├── Breadcrumbs.tsx
│ │ │ │ ├── InvoiceFields.tsx
│ │ │ │ └── Spinner.tsx
│ │ │ ├── hooks
│ │ │ │ ├── useMutation.tsx
│ │ │ │ └── useSessionStorage.tsx
│ │ │ ├── main.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── (this-folder-is-not-in-the-url)
│ │ │ │ │ └── route-group.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _auth.profile.tsx
│ │ │ │ ├── _auth.tsx
│ │ │ │ ├── _pathlessLayout.route-a.tsx
│ │ │ │ ├── _pathlessLayout.route-b.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── dashboard.index.tsx
│ │ │ │ ├── dashboard.invoices.$invoiceId.tsx
│ │ │ │ ├── dashboard.invoices.index.tsx
│ │ │ │ ├── dashboard.invoices.route.tsx
│ │ │ │ ├── dashboard.route.tsx
│ │ │ │ ├── dashboard.users.index.tsx
│ │ │ │ ├── dashboard.users.route.tsx
│ │ │ │ ├── dashboard.users.user.tsx
│ │ │ │ ├── expensive
│ │ │ │ │ ├── -components
│ │ │ │ │ │ └── Expensive.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── login.tsx
│ │ │ ├── styles.css
│ │ │ └── utils
│ │ │ │ ├── auth.tsx
│ │ │ │ ├── mockTodos.ts
│ │ │ │ └── utils.tsx
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── kitchen-sink-react-query-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── components
│ │ │ │ ├── InvoiceFields.tsx
│ │ │ │ └── Spinner.tsx
│ │ │ ├── hooks
│ │ │ │ └── useSessionStorage.tsx
│ │ │ ├── main.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _auth.profile.tsx
│ │ │ │ ├── _auth.tsx
│ │ │ │ ├── _pathlessLayout.route-a.tsx
│ │ │ │ ├── _pathlessLayout.route-b.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── dashboard.index.tsx
│ │ │ │ ├── dashboard.invoices.$invoiceId.tsx
│ │ │ │ ├── dashboard.invoices.index.tsx
│ │ │ │ ├── dashboard.invoices.route.tsx
│ │ │ │ ├── dashboard.route.tsx
│ │ │ │ ├── dashboard.users.index.tsx
│ │ │ │ ├── dashboard.users.route.tsx
│ │ │ │ ├── dashboard.users.user.tsx
│ │ │ │ ├── expensive
│ │ │ │ │ ├── -components
│ │ │ │ │ │ └── Expensive.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── foo
│ │ │ │ │ └── bar.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── login.tsx
│ │ │ ├── styles.css
│ │ │ └── utils
│ │ │ │ ├── auth.tsx
│ │ │ │ ├── mockTodos.ts
│ │ │ │ ├── queryOptions.ts
│ │ │ │ └── utils.tsx
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── kitchen-sink-react-query
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── Expensive.tsx
│ │ │ ├── main.tsx
│ │ │ ├── mockTodos.ts
│ │ │ ├── styles.css
│ │ │ └── utils.tsx
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── kitchen-sink
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── Expensive.tsx
│ │ │ ├── main.tsx
│ │ │ ├── mockTodos.ts
│ │ │ ├── styles.css
│ │ │ ├── useMutation.tsx
│ │ │ └── utils.tsx
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── large-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── createRoutes.mjs
│ │ │ ├── main.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── absolute.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── linkProps.tsx
│ │ │ │ ├── params
│ │ │ │ │ ├── $paramsPlaceholder.tsx
│ │ │ │ │ └── route.tsx
│ │ │ │ ├── relative.tsx
│ │ │ │ └── search
│ │ │ │ │ ├── route.tsx
│ │ │ │ │ └── searchPlaceholder.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── location-masking
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── navigation-blocking
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── quickstart-esbuild-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── esbuild.config.js
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ └── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── index.tsx
│ │ ├── tsconfig.dev.json
│ │ └── tsconfig.json
│ ├── quickstart-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── index.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── quickstart-rspack-file-based
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── rsbuild.config.ts
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── env.d.ts
│ │ │ ├── index.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── index.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── quickstart-webpack-file-based
│ │ ├── .gitignore
│ │ ├── .swcrc
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public
│ │ │ └── index.html
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── index.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ └── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── index.tsx
│ │ ├── tsconfig.json
│ │ └── webpack.config.js
│ ├── quickstart
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── router-monorepo-react-query
│ │ ├── .gitignore
│ │ ├── .stackblitzrc
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── assets
│ │ │ └── graph.png
│ │ ├── package.json
│ │ ├── packages
│ │ │ ├── app
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── postcss.config.js
│ │ │ │ ├── src
│ │ │ │ │ ├── main.tsx
│ │ │ │ │ ├── rootComponent.tsx
│ │ │ │ │ └── style.css
│ │ │ │ ├── tailwind.config.js
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── post-feature
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ │ ├── PostError.tsx
│ │ │ │ │ ├── PostIdPage.tsx
│ │ │ │ │ ├── PostList.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── post-query
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── postQueryOptions.tsx
│ │ │ │ │ ├── posts.tsx
│ │ │ │ │ └── postsQueryOptions.tsx
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ └── router
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ ├── index.ts
│ │ │ │ ├── routeTree.gen.ts
│ │ │ │ ├── router.tsx
│ │ │ │ └── routes
│ │ │ │ │ ├── $postId.ts
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ └── pnpm-workspace.yaml.example
│ ├── router-monorepo-simple-lazy
│ │ ├── .gitignore
│ │ ├── .stackblitzrc
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── assets
│ │ │ └── graph.png
│ │ ├── package.json
│ │ ├── packages
│ │ │ ├── app
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── postcss.config.js
│ │ │ │ ├── src
│ │ │ │ │ ├── main.tsx
│ │ │ │ │ ├── rootComponent.tsx
│ │ │ │ │ └── style.css
│ │ │ │ ├── tailwind.config.js
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── post-feature
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ │ ├── PostIdPage.tsx
│ │ │ │ │ └── PostList.tsx
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ └── router
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ ├── fetch
│ │ │ │ │ └── posts.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── routeTree.gen.ts
│ │ │ │ ├── router.tsx
│ │ │ │ └── routes
│ │ │ │ │ ├── $postId.ts
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ └── pnpm-workspace.yaml.example
│ ├── router-monorepo-simple
│ │ ├── .gitignore
│ │ ├── .stackblitzrc
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── assets
│ │ │ └── graph.png
│ │ ├── package.json
│ │ ├── packages
│ │ │ ├── app
│ │ │ │ ├── index.html
│ │ │ │ ├── package.json
│ │ │ │ ├── postcss.config.js
│ │ │ │ ├── src
│ │ │ │ │ ├── main.tsx
│ │ │ │ │ ├── rootComponent.tsx
│ │ │ │ │ └── style.css
│ │ │ │ ├── tailwind.config.js
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ ├── post-feature
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ │ ├── PostError.tsx
│ │ │ │ │ ├── PostIdPage.tsx
│ │ │ │ │ ├── PostList.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ │ └── router
│ │ │ │ ├── package.json
│ │ │ │ ├── src
│ │ │ │ ├── fetch
│ │ │ │ │ └── posts.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── routeTree.gen.ts
│ │ │ │ ├── router.tsx
│ │ │ │ └── routes
│ │ │ │ │ ├── $postId.ts
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tsconfig.json
│ │ │ │ └── vite.config.ts
│ │ └── pnpm-workspace.yaml.example
│ ├── scroll-restoration
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── search-validator-adapters
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── components
│ │ │ │ ├── Content.tsx
│ │ │ │ ├── Header.tsx
│ │ │ │ ├── Search.tsx
│ │ │ │ └── Users.tsx
│ │ │ ├── main.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── users
│ │ │ │ │ ├── arktype.index.tsx
│ │ │ │ │ ├── valibot.index.tsx
│ │ │ │ │ └── zod.index.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tests
│ │ │ ├── arktype.test-d.tsx
│ │ │ ├── arktype.test.tsx
│ │ │ ├── valibot.test-d.tsx
│ │ │ └── valibot.test.tsx
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.ts
│ ├── start-bare
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── public
│ │ │ └── favicon.ico
│ │ ├── src
│ │ │ ├── api.ts
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── Counter.css
│ │ │ │ └── Counter.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── ssr.tsx
│ │ │ └── styles
│ │ │ │ └── app.css
│ │ └── tsconfig.json
│ ├── start-basic-auth
│ │ ├── .env
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── prisma
│ │ │ ├── dev.db
│ │ │ ├── migrations
│ │ │ │ ├── 20240811183753_init
│ │ │ │ │ └── migration.sql
│ │ │ │ └── migration_lock.toml
│ │ │ └── schema.prisma
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── Auth.tsx
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ ├── Login.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── hooks
│ │ │ │ └── useMutation.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _authed.tsx
│ │ │ │ ├── _authed
│ │ │ │ │ ├── posts.$postId.tsx
│ │ │ │ │ ├── posts.index.tsx
│ │ │ │ │ └── posts.route.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── login.tsx
│ │ │ │ ├── logout.tsx
│ │ │ │ └── signup.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.ts
│ │ │ │ ├── prisma.ts
│ │ │ │ ├── seo.ts
│ │ │ │ └── session.ts
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-basic-react-query
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── api.ts
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.tsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ │ └── route-b.tsx
│ │ │ │ ├── api.users.ts
│ │ │ │ ├── api
│ │ │ │ │ └── users.$id.ts
│ │ │ │ ├── deferred.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.route.tsx
│ │ │ │ ├── posts_.$postId.deep.tsx
│ │ │ │ ├── redirect.tsx
│ │ │ │ ├── users.$userId.tsx
│ │ │ │ ├── users.index.tsx
│ │ │ │ └── users.route.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── seo.ts
│ │ │ │ └── users.tsx
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-basic-rsc
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.tsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ │ └── route-b.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ └── posts_.$postId.deep.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── renderPosts.tsx
│ │ │ │ └── seo.ts
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-basic-static
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.cjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.tsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ │ └── route-b.tsx
│ │ │ │ ├── deferred.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── posts_.$postId.deep.tsx
│ │ │ │ ├── redirect.tsx
│ │ │ │ ├── users.$userId.tsx
│ │ │ │ ├── users.index.tsx
│ │ │ │ └── users.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── loggingMiddleware.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── seo.ts
│ │ │ │ └── users.tsx
│ │ ├── tailwind.config.cjs
│ │ └── tsconfig.json
│ ├── start-basic
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── api.ts
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ ├── NotFound.tsx
│ │ │ │ ├── PostError.tsx
│ │ │ │ └── UserError.tsx
│ │ │ ├── global-middleware.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _pathlessLayout.tsx
│ │ │ │ ├── _pathlessLayout
│ │ │ │ │ ├── _nested-layout.tsx
│ │ │ │ │ └── _nested-layout
│ │ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ │ └── route-b.tsx
│ │ │ │ ├── api
│ │ │ │ │ ├── users.$id.ts
│ │ │ │ │ └── users.ts
│ │ │ │ ├── deferred.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ ├── posts.route.tsx
│ │ │ │ ├── posts_.$postId.deep.tsx
│ │ │ │ ├── redirect.tsx
│ │ │ │ ├── users.$userId.tsx
│ │ │ │ ├── users.index.tsx
│ │ │ │ └── users.route.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── loggingMiddleware.tsx
│ │ │ │ ├── posts.tsx
│ │ │ │ ├── seo.ts
│ │ │ │ └── users.tsx
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-clerk-basic
│ │ ├── .env
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ └── site.webmanifest
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _authed.tsx
│ │ │ │ ├── _authed
│ │ │ │ │ ├── posts.$postId.tsx
│ │ │ │ │ ├── posts.index.tsx
│ │ │ │ │ ├── posts.tsx
│ │ │ │ │ └── profile.$.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.ts
│ │ │ │ └── seo.ts
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-convex-trellaux
│ │ ├── .env.local.example
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .stackblitzrc
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── convex
│ │ │ ├── README.md
│ │ │ ├── _generated
│ │ │ │ ├── api.d.ts
│ │ │ │ ├── api.js
│ │ │ │ ├── dataModel.d.ts
│ │ │ │ ├── server.d.ts
│ │ │ │ └── server.js
│ │ │ ├── board.ts
│ │ │ ├── crons.ts
│ │ │ ├── schema.ts
│ │ │ └── tsconfig.json
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ ├── github-mark-white.png
│ │ │ ├── site.webmanifest
│ │ │ └── tanstack.png
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── Board.tsx
│ │ │ │ ├── CancelButton.tsx
│ │ │ │ ├── Card.tsx
│ │ │ │ ├── Column.tsx
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ ├── EditableText.tsx
│ │ │ │ ├── IconLink.tsx
│ │ │ │ ├── Loader.tsx
│ │ │ │ ├── NewCard.tsx
│ │ │ │ ├── NewColumn.tsx
│ │ │ │ ├── NotFound.tsx
│ │ │ │ └── SaveButton.tsx
│ │ │ ├── db
│ │ │ │ └── schema.ts
│ │ │ ├── hooks
│ │ │ │ └── useOfflineIndicator.tsx
│ │ │ ├── icons
│ │ │ │ ├── icons.svg
│ │ │ │ └── icons.tsx
│ │ │ ├── queries.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── boards.$boardId.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ ├── types.ts
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ └── seo.ts
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-counter
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ └── index.tsx
│ │ │ └── ssr.tsx
│ │ └── tsconfig.json
│ ├── start-large
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── createRoutes.mjs
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── absolute.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── linkProps.tsx
│ │ │ │ ├── params
│ │ │ │ │ ├── $paramsPlaceholder.tsx
│ │ │ │ │ └── route.tsx
│ │ │ │ ├── relative.tsx
│ │ │ │ └── search
│ │ │ │ │ ├── route.tsx
│ │ │ │ │ └── searchPlaceholder.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles.css
│ │ │ └── typePrimitives.tsx
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-material-ui
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── public
│ │ │ └── favicon.ico
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── Counter.tsx
│ │ │ │ ├── CustomButtonLink.tsx
│ │ │ │ ├── CustomLink.tsx
│ │ │ │ └── Header.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── setup
│ │ │ │ └── theme.ts
│ │ │ └── ssr.tsx
│ │ └── tsconfig.json
│ ├── start-supabase-basic
│ │ ├── .env
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── Auth.tsx
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ ├── Login.tsx
│ │ │ │ └── NotFound.tsx
│ │ │ ├── hooks
│ │ │ │ └── useMutation.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _authed.tsx
│ │ │ │ ├── _authed
│ │ │ │ │ ├── posts.$postId.tsx
│ │ │ │ │ ├── posts.index.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── login.tsx
│ │ │ │ ├── logout.tsx
│ │ │ │ └── signup.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ └── utils
│ │ │ │ ├── posts.ts
│ │ │ │ ├── seo.ts
│ │ │ │ └── supabase.ts
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-trellaux
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── public
│ │ │ ├── android-chrome-192x192.png
│ │ │ ├── android-chrome-512x512.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ ├── github-mark-white.png
│ │ │ ├── site.webmanifest
│ │ │ └── tanstack.png
│ │ ├── src
│ │ │ ├── assets
│ │ │ │ └── react.svg
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── Board.tsx
│ │ │ │ ├── CancelButton.tsx
│ │ │ │ ├── Card.tsx
│ │ │ │ ├── Column.tsx
│ │ │ │ ├── DefaultCatchBoundary.tsx
│ │ │ │ ├── EditableText.tsx
│ │ │ │ ├── IconLink.tsx
│ │ │ │ ├── Loader.tsx
│ │ │ │ ├── NewCard.tsx
│ │ │ │ ├── NewColumn.tsx
│ │ │ │ ├── NotFound.tsx
│ │ │ │ └── SaveButton.tsx
│ │ │ ├── db
│ │ │ │ ├── board.ts
│ │ │ │ └── schema.ts
│ │ │ ├── hooks
│ │ │ │ └── useOfflineIndicator.tsx
│ │ │ ├── icons
│ │ │ │ ├── icons.svg
│ │ │ │ └── icons.tsx
│ │ │ ├── queries.ts
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── boards.$boardId.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── ssr.tsx
│ │ │ ├── styles
│ │ │ │ └── app.css
│ │ │ ├── types.ts
│ │ │ └── utils
│ │ │ │ ├── posts.tsx
│ │ │ │ └── seo.ts
│ │ ├── tailwind.config.mjs
│ │ └── tsconfig.json
│ ├── start-workos
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── app.config.ts
│ │ ├── package.json
│ │ ├── prettier.config.js
│ │ ├── src
│ │ │ ├── api.ts
│ │ │ ├── authkit
│ │ │ │ ├── serverFunctions.ts
│ │ │ │ └── ssr
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── interfaces.ts
│ │ │ │ │ ├── session.ts
│ │ │ │ │ ├── utils.ts
│ │ │ │ │ └── workos.ts
│ │ │ ├── client.tsx
│ │ │ ├── components
│ │ │ │ ├── footer.tsx
│ │ │ │ └── sign-in-button.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── _authenticated.tsx
│ │ │ │ ├── _authenticated
│ │ │ │ │ └── account.tsx
│ │ │ │ ├── api
│ │ │ │ │ └── auth
│ │ │ │ │ │ └── callback.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── logout.tsx
│ │ │ └── ssr.tsx
│ │ └── tsconfig.json
│ ├── view-transitions
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── posts.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── routes
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── explore.tsx
│ │ │ │ ├── how-it-works.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── posts.$postId.tsx
│ │ │ │ ├── posts.index.tsx
│ │ │ │ └── posts.route.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── with-framer-motion
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── tsconfig.dev.json
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── with-trpc-react-query
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.js
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ │ ├── main.tsx
│ │ │ ├── routeTree.gen.ts
│ │ │ ├── router.tsx
│ │ │ ├── routes
│ │ │ │ ├── -components
│ │ │ │ │ └── spinner.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── dashboard.index.tsx
│ │ │ │ ├── dashboard.posts.$postId.tsx
│ │ │ │ ├── dashboard.posts.index.tsx
│ │ │ │ ├── dashboard.posts.tsx
│ │ │ │ ├── dashboard.tsx
│ │ │ │ └── index.tsx
│ │ │ └── styles.css
│ │ ├── tailwind.config.mjs
│ │ ├── trpc-server.handler.ts
│ │ ├── tsconfig.dev.json
│ │ └── tsconfig.json
│ └── with-trpc
│ │ ├── .gitignore
│ │ ├── .vscode
│ │ └── settings.json
│ │ ├── README.md
│ │ ├── app.config.js
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── postcss.config.mjs
│ │ ├── src
│ │ ├── main.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── routes
│ │ │ ├── -components
│ │ │ │ └── spinner.tsx
│ │ │ ├── __root.tsx
│ │ │ ├── dashboard.index.tsx
│ │ │ ├── dashboard.posts.$postId.tsx
│ │ │ ├── dashboard.posts.index.tsx
│ │ │ ├── dashboard.posts.tsx
│ │ │ ├── dashboard.tsx
│ │ │ └── index.tsx
│ │ ├── styles.css
│ │ └── trpc.ts
│ │ ├── tailwind.config.mjs
│ │ ├── trpc-server.handler.ts
│ │ ├── tsconfig.dev.json
│ │ └── tsconfig.json
└── solid
│ ├── basic-devtools-panel
│ ├── .gitignore
│ ├── .vscode
│ │ └── settings.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── snapshot
│ │ └── expected.png
│ ├── src
│ │ ├── App.tsx
│ │ ├── main.tsx
│ │ └── styles.css
│ ├── tailwind.config.mjs
│ ├── tsconfig.dev.json
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── basic-file-based
│ ├── .gitignore
│ ├── .vscode
│ │ └── settings.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ │ ├── main.tsx
│ │ ├── posts.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── routes
│ │ │ ├── -components
│ │ │ │ └── PostErrorComponent.tsx
│ │ │ ├── __root.tsx
│ │ │ ├── _pathlessLayout.tsx
│ │ │ ├── _pathlessLayout
│ │ │ │ ├── _nested-layout.tsx
│ │ │ │ └── _nested-layout
│ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ └── route-b.tsx
│ │ │ ├── index.tsx
│ │ │ ├── posts.$postId.tsx
│ │ │ ├── posts.index.tsx
│ │ │ └── posts.tsx
│ │ └── styles.css
│ ├── tailwind.config.mjs
│ ├── tsconfig.dev.json
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── basic-non-nested-devtools
│ ├── .gitignore
│ ├── .vscode
│ │ └── settings.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ │ ├── main.tsx
│ │ ├── posts.lazy.tsx
│ │ ├── posts.ts
│ │ └── styles.css
│ ├── tailwind.config.mjs
│ ├── tsconfig.dev.json
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── basic-solid-query-file-based
│ ├── .gitignore
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ │ ├── main.tsx
│ │ ├── postQueryOptions.tsx
│ │ ├── posts.tsx
│ │ ├── postsQueryOptions.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── routes
│ │ │ ├── __root.tsx
│ │ │ ├── _pathlessLayout.tsx
│ │ │ ├── _pathlessLayout
│ │ │ │ ├── _nested-layout.tsx
│ │ │ │ └── _nested-layout
│ │ │ │ │ ├── route-a.tsx
│ │ │ │ │ └── route-b.tsx
│ │ │ ├── index.tsx
│ │ │ ├── posts.$postId.tsx
│ │ │ ├── posts.index.tsx
│ │ │ └── posts.tsx
│ │ └── styles.css
│ ├── tailwind.config.mjs
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── basic-solid-query
│ ├── .gitignore
│ ├── .vscode
│ │ └── settings.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ │ ├── main.tsx
│ │ ├── posts.lazy.tsx
│ │ ├── posts.ts
│ │ └── styles.css
│ ├── tailwind.config.mjs
│ ├── tsconfig.dev.json
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── basic
│ ├── .gitignore
│ ├── .vscode
│ │ └── settings.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ │ ├── main.tsx
│ │ ├── posts.lazy.tsx
│ │ ├── posts.ts
│ │ └── styles.css
│ ├── tailwind.config.mjs
│ ├── tsconfig.dev.json
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── kitchen-sink-file-based
│ ├── .gitignore
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ │ ├── components
│ │ │ ├── Breadcrumbs.tsx
│ │ │ ├── InvoiceFields.tsx
│ │ │ └── Spinner.tsx
│ │ ├── hooks
│ │ │ ├── useMutation.tsx
│ │ │ └── useSessionStorage.tsx
│ │ ├── main.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── routes
│ │ │ ├── (this-folder-is-not-in-the-url)
│ │ │ │ └── route-group.tsx
│ │ │ ├── __root.tsx
│ │ │ ├── _auth.profile.tsx
│ │ │ ├── _auth.tsx
│ │ │ ├── _pathlessLayout.route-a.tsx
│ │ │ ├── _pathlessLayout.route-b.tsx
│ │ │ ├── _pathlessLayout.tsx
│ │ │ ├── dashboard.index.tsx
│ │ │ ├── dashboard.invoices.$invoiceId.tsx
│ │ │ ├── dashboard.invoices.index.tsx
│ │ │ ├── dashboard.invoices.route.tsx
│ │ │ ├── dashboard.route.tsx
│ │ │ ├── dashboard.users.index.tsx
│ │ │ ├── dashboard.users.route.tsx
│ │ │ ├── dashboard.users.user.tsx
│ │ │ ├── expensive
│ │ │ │ ├── -components
│ │ │ │ │ └── Expensive.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── index.tsx
│ │ │ └── login.tsx
│ │ ├── styles.css
│ │ └── utils
│ │ │ ├── auth.tsx
│ │ │ ├── mockTodos.ts
│ │ │ └── utils.tsx
│ ├── tailwind.config.mjs
│ ├── tsconfig.dev.json
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── quickstart-file-based
│ ├── .gitignore
│ ├── .vscode
│ │ └── settings.json
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ │ ├── main.tsx
│ │ ├── posts.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── routes
│ │ │ ├── __root.tsx
│ │ │ ├── about.tsx
│ │ │ └── index.tsx
│ │ └── styles.css
│ ├── tailwind.config.mjs
│ ├── tsconfig.dev.json
│ ├── tsconfig.json
│ └── vite.config.js
│ ├── start-bare
│ ├── app.config.ts
│ ├── package.json
│ ├── public
│ │ └── favicon.ico
│ ├── src
│ │ ├── client.tsx
│ │ ├── components
│ │ │ ├── Counter.css
│ │ │ └── Counter.tsx
│ │ ├── routeTree.gen.ts
│ │ ├── router.tsx
│ │ ├── routes
│ │ │ ├── __root.tsx
│ │ │ ├── about.tsx
│ │ │ └── index.tsx
│ │ ├── ssr.tsx
│ │ └── styles
│ │ │ └── app.css
│ └── tsconfig.json
│ └── start-basic
│ ├── .gitignore
│ ├── .prettierignore
│ ├── .vscode
│ └── settings.json
│ ├── README.md
│ ├── app.config.ts
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── public
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── apple-touch-icon.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon.ico
│ ├── favicon.png
│ └── site.webmanifest
│ ├── src
│ ├── api.ts
│ ├── client.tsx
│ ├── components
│ │ ├── DefaultCatchBoundary.tsx
│ │ ├── NotFound.tsx
│ │ ├── PostError.tsx
│ │ └── UserError.tsx
│ ├── routeTree.gen.ts
│ ├── router.tsx
│ ├── routes
│ │ ├── __root.tsx
│ │ ├── _pathlessLayout.tsx
│ │ ├── _pathlessLayout
│ │ │ ├── _nested-layout.tsx
│ │ │ └── _nested-layout
│ │ │ │ ├── route-a.tsx
│ │ │ │ └── route-b.tsx
│ │ ├── api
│ │ │ ├── users.$id.ts
│ │ │ └── users.ts
│ │ ├── deferred.tsx
│ │ ├── index.tsx
│ │ ├── posts.$postId.tsx
│ │ ├── posts.index.tsx
│ │ ├── posts.tsx
│ │ ├── posts_.$postId.deep.tsx
│ │ ├── redirect.tsx
│ │ ├── users.$userId.tsx
│ │ ├── users.index.tsx
│ │ └── users.tsx
│ ├── ssr.tsx
│ ├── styles
│ │ └── app.css
│ └── utils
│ │ ├── loggingMiddleware.tsx
│ │ ├── posts.tsx
│ │ ├── seo.ts
│ │ └── users.tsx
│ ├── tailwind.config.mjs
│ └── tsconfig.json
├── gpt
└── generate.js
├── knip.json
├── media
├── header.png
├── logo.sketch
├── logo.svg
└── repo-dark.png
├── nx.json
├── package.json
├── packages
├── arktype-adapter
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tests
│ │ ├── index.test-d.ts
│ │ └── index.test.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── directive-functions-plugin
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── compilers.ts
│ │ └── index.ts
│ ├── tests
│ │ └── compiler.test.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── eslint-plugin-router
│ ├── .attw.json
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── create-route-property-order.rule.test.ts
│ │ │ ├── create-route-property-order.utils.test.ts
│ │ │ ├── test-utils.test.ts
│ │ │ └── test-utils.ts
│ │ ├── index.ts
│ │ ├── rules.ts
│ │ ├── rules
│ │ │ └── create-route-property-order
│ │ │ │ ├── constants.ts
│ │ │ │ ├── create-route-property-order.rule.ts
│ │ │ │ └── create-route-property-order.utils.ts
│ │ ├── types.ts
│ │ └── utils
│ │ │ ├── detect-router-imports.ts
│ │ │ └── get-docs-url.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── history
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tests
│ │ ├── createHashHistory.test.ts
│ │ ├── createMemoryHistory.test.ts
│ │ └── parseHref.test.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── react-router-devtools
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── TanStackRouterDevtools.tsx
│ │ ├── TanStackRouterDevtoolsPanel.tsx
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── react-router-with-query
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.tsx
│ ├── tests
│ │ └── index.test-d.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── react-router
│ ├── README.md
│ ├── eslint.config.ts
│ ├── package.json
│ ├── src
│ │ ├── Asset.tsx
│ │ ├── CatchBoundary.tsx
│ │ ├── ClientOnly.tsx
│ │ ├── HeadContent.tsx
│ │ ├── Match.tsx
│ │ ├── Matches.tsx
│ │ ├── RouterProvider.tsx
│ │ ├── SafeFragment.tsx
│ │ ├── ScriptOnce.tsx
│ │ ├── Scripts.tsx
│ │ ├── ScrollRestoration.tsx
│ │ ├── Transitioner.tsx
│ │ ├── awaited.tsx
│ │ ├── fileRoute.ts
│ │ ├── history.ts
│ │ ├── index.tsx
│ │ ├── lazyRouteComponent.tsx
│ │ ├── link.tsx
│ │ ├── matchContext.tsx
│ │ ├── not-found.tsx
│ │ ├── renderRouteNotFound.tsx
│ │ ├── route.tsx
│ │ ├── router.ts
│ │ ├── routerContext.tsx
│ │ ├── scroll-restoration.tsx
│ │ ├── serializer.ts
│ │ ├── structuralSharing.ts
│ │ ├── typePrimitives.ts
│ │ ├── useBlocker.tsx
│ │ ├── useCanGoBack.ts
│ │ ├── useLoaderData.tsx
│ │ ├── useLoaderDeps.tsx
│ │ ├── useLocation.tsx
│ │ ├── useMatch.tsx
│ │ ├── useNavigate.tsx
│ │ ├── useParams.tsx
│ │ ├── useRouteContext.ts
│ │ ├── useRouter.tsx
│ │ ├── useRouterState.tsx
│ │ ├── useSearch.tsx
│ │ └── utils.ts
│ ├── tests
│ │ ├── ClientOnly.test.tsx
│ │ ├── Matches.test-d.tsx
│ │ ├── Matches.test.tsx
│ │ ├── RouterProvider.test-d.tsx
│ │ ├── Scripts.test.tsx
│ │ ├── blocker.test.tsx
│ │ ├── createLazyRoute.test.tsx
│ │ ├── errorComponent.test.tsx
│ │ ├── fileRoute.test-d.tsx
│ │ ├── fileRoute.test.ts
│ │ ├── index.test.tsx
│ │ ├── lazy
│ │ │ ├── heavy.tsx
│ │ │ ├── mockHeavyDependenciesRoute.tsx
│ │ │ └── normal.tsx
│ │ ├── link.bench.tsx
│ │ ├── link.test-d.tsx
│ │ ├── link.test.tsx
│ │ ├── loaders.test.tsx
│ │ ├── navigate.test.tsx
│ │ ├── redirect.test.tsx
│ │ ├── redirects.test-d.tsx
│ │ ├── route.test-d.tsx
│ │ ├── route.test.tsx
│ │ ├── routeApi.test-d.tsx
│ │ ├── routeContext.test.tsx
│ │ ├── router.test-d.tsx
│ │ ├── router.test.tsx
│ │ ├── searchMiddleware.test.tsx
│ │ ├── setupTests.tsx
│ │ ├── useBlocker.test-d.tsx
│ │ ├── useBlocker.test.tsx
│ │ ├── useCanGoBack.test.tsx
│ │ ├── useLoaderData.test-d.tsx
│ │ ├── useLocation.test-d.tsx
│ │ ├── useMatch.test-d.tsx
│ │ ├── useMatch.test.tsx
│ │ ├── useNavigate.test-d.tsx
│ │ ├── useNavigate.test.tsx
│ │ ├── useParams.test-d.tsx
│ │ ├── useRouteContext.test-d.tsx
│ │ ├── useRouterState.test-d.tsx
│ │ ├── useSearch.test-d.tsx
│ │ └── utils.ts
│ ├── tsconfig.json
│ ├── tsconfig.legacy.json
│ └── vite.config.ts
├── react-start-client
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── Meta.tsx
│ │ ├── Scripts.tsx
│ │ ├── StartClient.tsx
│ │ ├── index.tsx
│ │ ├── renderRSC.tsx
│ │ ├── routesManifest.ts
│ │ ├── tests
│ │ │ ├── createServerFn.test-d.tsx
│ │ │ └── setupTests.tsx
│ │ └── useServerFn.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── react-start-config
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── index.ts
│ │ ├── schema.ts
│ │ └── vinxi-file-router.ts
│ └── tsconfig.json
├── react-start-plugin
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── compilers.ts
│ │ └── index.ts
│ ├── tests
│ │ ├── createIsomorphicFn
│ │ │ ├── createIsomorphicFn.test.ts
│ │ │ ├── snapshots
│ │ │ │ ├── client
│ │ │ │ │ ├── createIsomorphicFnDestructured.tsx
│ │ │ │ │ ├── createIsomorphicFnDestructuredRename.tsx
│ │ │ │ │ └── createIsomorphicFnStarImport.tsx
│ │ │ │ └── server
│ │ │ │ │ ├── createIsomorphicFnDestructured.tsx
│ │ │ │ │ ├── createIsomorphicFnDestructuredRename.tsx
│ │ │ │ │ └── createIsomorphicFnStarImport.tsx
│ │ │ └── test-files
│ │ │ │ ├── createIsomorphicFnDestructured.tsx
│ │ │ │ ├── createIsomorphicFnDestructuredRename.tsx
│ │ │ │ └── createIsomorphicFnStarImport.tsx
│ │ ├── createMiddleware
│ │ │ ├── createMiddleware.test.ts
│ │ │ ├── snapshots
│ │ │ │ ├── client
│ │ │ │ │ ├── createMiddlewareDestructured.tsx
│ │ │ │ │ ├── createMiddlewareDestructuredRename.tsx
│ │ │ │ │ ├── createMiddlewareStarImport.tsx
│ │ │ │ │ └── createMiddlewareValidator.tsx
│ │ │ │ └── server
│ │ │ │ │ ├── createMiddlewareDestructured.tsx
│ │ │ │ │ ├── createMiddlewareDestructuredRename.tsx
│ │ │ │ │ ├── createMiddlewareStarImport.tsx
│ │ │ │ │ └── createMiddlewareValidator.tsx
│ │ │ └── test-files
│ │ │ │ ├── createMiddlewareDestructured.tsx
│ │ │ │ ├── createMiddlewareDestructuredRename.tsx
│ │ │ │ ├── createMiddlewareStarImport.tsx
│ │ │ │ └── createMiddlewareValidator.tsx
│ │ ├── createServerFn
│ │ │ ├── createServerFn.test.ts
│ │ │ ├── snapshots
│ │ │ │ ├── client
│ │ │ │ │ ├── createServerFnDestructured.tsx
│ │ │ │ │ ├── createServerFnDestructuredRename.tsx
│ │ │ │ │ ├── createServerFnStarImport.tsx
│ │ │ │ │ └── createServerFnValidator.tsx
│ │ │ │ └── server
│ │ │ │ │ ├── createServerFnDestructured.tsx
│ │ │ │ │ ├── createServerFnDestructuredRename.tsx
│ │ │ │ │ ├── createServerFnStarImport.tsx
│ │ │ │ │ └── createServerFnValidator.tsx
│ │ │ └── test-files
│ │ │ │ ├── createServerFnDestructured.tsx
│ │ │ │ ├── createServerFnDestructuredRename.tsx
│ │ │ │ ├── createServerFnStarImport.tsx
│ │ │ │ └── createServerFnValidator.tsx
│ │ └── envOnly
│ │ │ ├── envOnly.test.ts
│ │ │ ├── snapshots
│ │ │ ├── client
│ │ │ │ ├── envOnlyDestructured.tsx
│ │ │ │ ├── envOnlyDestructuredRename.tsx
│ │ │ │ └── envOnlyStarImport.tsx
│ │ │ └── server
│ │ │ │ ├── envOnlyDestructured.tsx
│ │ │ │ ├── envOnlyDestructuredRename.tsx
│ │ │ │ └── envOnlyStarImport.tsx
│ │ │ └── test-files
│ │ │ ├── envOnlyDestructured.tsx
│ │ │ ├── envOnlyDestructuredRename.tsx
│ │ │ └── envOnlyStarImport.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── react-start-router-manifest
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── react-start-server
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── StartServer.tsx
│ │ ├── defaultRenderHandler.tsx
│ │ ├── defaultStreamHandler.tsx
│ │ └── index.tsx
│ ├── tsconfig.json
│ ├── vite-minify-plugin.ts
│ └── vite.config.ts
├── react-start
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── api.tsx
│ │ ├── client.tsx
│ │ ├── config.tsx
│ │ ├── router-manifest.tsx
│ │ ├── server-functions-client.tsx
│ │ ├── server-functions-handler.tsx
│ │ ├── server-functions-server.tsx
│ │ ├── server-functions-ssr.tsx
│ │ └── server.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── router-cli
│ ├── README.md
│ ├── bin
│ │ └── tsr.cjs
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── generate.ts
│ │ ├── index.ts
│ │ └── watch.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── router-core
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── Matches.ts
│ │ ├── RouterProvider.ts
│ │ ├── defer.ts
│ │ ├── fileRoute.ts
│ │ ├── history.ts
│ │ ├── index.ts
│ │ ├── link.ts
│ │ ├── location.ts
│ │ ├── manifest.ts
│ │ ├── not-found.ts
│ │ ├── path.ts
│ │ ├── qss.ts
│ │ ├── redirect.ts
│ │ ├── root.ts
│ │ ├── route.ts
│ │ ├── routeInfo.ts
│ │ ├── router.ts
│ │ ├── scroll-restoration.ts
│ │ ├── searchMiddleware.ts
│ │ ├── searchParams.ts
│ │ ├── serializer.ts
│ │ ├── structuralSharing.ts
│ │ ├── typePrimitives.ts
│ │ ├── useLoaderData.ts
│ │ ├── useLoaderDeps.ts
│ │ ├── useNavigate.ts
│ │ ├── useParams.ts
│ │ ├── useRouteContext.ts
│ │ ├── useSearch.ts
│ │ ├── utils.ts
│ │ └── validators.ts
│ ├── tests
│ │ ├── path.test.ts
│ │ ├── qss.test.ts
│ │ ├── utils.test-d.ts
│ │ └── utils.test.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── router-devtools-core
│ ├── README.md
│ ├── eslint.config.js
│ ├── media
│ │ ├── logo.sketch
│ │ ├── logo.svg
│ │ └── repo-dark.png
│ ├── package.json
│ ├── src
│ │ ├── AgeTicker.tsx
│ │ ├── BaseTanStackRouterDevtoolsPanel.tsx
│ │ ├── Explorer.tsx
│ │ ├── FloatingTanStackRouterDevtools.tsx
│ │ ├── NavigateButton.tsx
│ │ ├── TanStackRouterDevtoolsCore.tsx
│ │ ├── TanStackRouterDevtoolsPanelCore.tsx
│ │ ├── context.ts
│ │ ├── index.tsx
│ │ ├── logo.tsx
│ │ ├── theme.tsx
│ │ ├── tokens.ts
│ │ ├── useLocalStorage.ts
│ │ ├── useMediaQuery.ts
│ │ ├── useStyles.tsx
│ │ └── utils.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── router-devtools
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── router-generator
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── config.ts
│ │ ├── filesystem
│ │ │ ├── physical
│ │ │ │ ├── getRouteNodes.ts
│ │ │ │ └── rootPathId.ts
│ │ │ └── virtual
│ │ │ │ ├── config.ts
│ │ │ │ ├── getRouteNodes.ts
│ │ │ │ └── loadConfigFile.ts
│ │ ├── generator.ts
│ │ ├── index.ts
│ │ ├── template.ts
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── tests
│ │ ├── config.test.ts
│ │ ├── config
│ │ │ └── json-config
│ │ │ │ └── tsr.config.json
│ │ ├── deny-route-group-config.test.ts
│ │ ├── deny-route-group-config
│ │ │ ├── flat-flat
│ │ │ │ ├── (group).index.tsx
│ │ │ │ ├── (group).tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ └── about.tsx
│ │ │ ├── flat-nested
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── nested
│ │ │ │ │ ├── (group).index.tsx
│ │ │ │ │ └── (group).tsx
│ │ │ ├── nested-flat
│ │ │ │ ├── (group).tsx
│ │ │ │ ├── (group)
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── __root.tsx
│ │ │ │ └── about.tsx
│ │ │ └── nested-nested
│ │ │ │ ├── __root.tsx
│ │ │ │ ├── about.tsx
│ │ │ │ └── nested
│ │ │ │ ├── (group).tsx
│ │ │ │ └── (group)
│ │ │ │ └── index.tsx
│ │ ├── generator.test.ts
│ │ ├── generator
│ │ │ ├── append-and-prepend
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── custom-scaffolding
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ ├── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── api
│ │ │ │ │ │ └── bar.tsx
│ │ │ │ │ ├── foo.lazy.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ └── snapshot
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── api
│ │ │ │ │ └── bar.tsx
│ │ │ │ │ ├── foo.lazy.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── custom-tokens
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── _1nd3x.tsx
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── blog
│ │ │ │ │ ├── $slug.tsx
│ │ │ │ │ ├── _1nd3x.tsx
│ │ │ │ │ └── _r0ut3_.tsx
│ │ │ │ │ └── posts
│ │ │ │ │ ├── $postId
│ │ │ │ │ ├── _1nd3x.tsx
│ │ │ │ │ └── deep.tsx
│ │ │ │ │ ├── _1nd3x.tsx
│ │ │ │ │ └── _r0ut3_.tsx
│ │ │ ├── duplicate-fullPath
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── _auth
│ │ │ │ │ └── index.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── file-modification
│ │ │ │ ├── post.$postId.tsx
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ ├── routes
│ │ │ │ │ ├── (test)
│ │ │ │ │ │ └── -keep-directory
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ └── __root.tsx
│ │ │ │ ├── snapshot
│ │ │ │ │ ├── bar.lazy.tsx
│ │ │ │ │ ├── foo.tsx
│ │ │ │ │ ├── initiallyEmpty.lazy.tsx
│ │ │ │ │ ├── initiallyEmpty.tsx
│ │ │ │ │ └── initiallyLazy.tsx
│ │ │ │ ├── template.lazy.tsx
│ │ │ │ └── template.tsx
│ │ │ ├── flat
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── blog.$slug.index.tsx
│ │ │ │ │ ├── blog.index.tsx
│ │ │ │ │ ├── blog.route.tsx
│ │ │ │ │ ├── blog_.stats.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── posts.$postId.deep.tsx
│ │ │ │ │ ├── posts.$postId.index.tsx
│ │ │ │ │ ├── posts.index.tsx
│ │ │ │ │ └── posts.route.tsx
│ │ │ ├── nested-layouts
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── (folder)
│ │ │ │ │ └── in-folder.tsx
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── _layout-a1.tsx
│ │ │ │ │ ├── _layout-a1
│ │ │ │ │ └── foo.tsx
│ │ │ │ │ ├── _layout-a2.tsx
│ │ │ │ │ ├── _layout-a2
│ │ │ │ │ └── bar.tsx
│ │ │ │ │ ├── foo
│ │ │ │ │ ├── _layout-b5
│ │ │ │ │ │ ├── $id.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── route.tsx
│ │ │ │ │ └── bar.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── jested
│ │ │ │ │ ├── _layout-b3.tsx
│ │ │ │ │ ├── _layout-b3
│ │ │ │ │ │ ├── _layout-c2.tsx
│ │ │ │ │ │ ├── _layout-c2
│ │ │ │ │ │ │ └── bar.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── _layout-b4.tsx
│ │ │ │ │ ├── _layout-b4
│ │ │ │ │ │ └── foo.tsx
│ │ │ │ │ └── route.tsx
│ │ │ │ │ └── nested
│ │ │ │ │ ├── _layout-b1.tsx
│ │ │ │ │ ├── _layout-b1
│ │ │ │ │ ├── _layout-c1.tsx
│ │ │ │ │ ├── _layout-c1
│ │ │ │ │ │ └── bar.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── _layout-b2.tsx
│ │ │ │ │ └── _layout-b2
│ │ │ │ │ └── foo.tsx
│ │ │ ├── nested-route-groups-with-layouts-before-physical
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── (group-a)
│ │ │ │ │ ├── _layout-a.tsx
│ │ │ │ │ └── _layout-a
│ │ │ │ │ │ ├── login.tsx
│ │ │ │ │ │ └── signup.tsx
│ │ │ │ │ ├── (group-b)
│ │ │ │ │ ├── _layout-b.tsx
│ │ │ │ │ └── _layout-b
│ │ │ │ │ │ └── dashboard.tsx
│ │ │ │ │ ├── (group-c)
│ │ │ │ │ ├── _layout-c.tsx
│ │ │ │ │ └── _layout-c
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ └── __root.tsx
│ │ │ ├── nested
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ ├── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── blog
│ │ │ │ │ │ ├── $slug.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── route.tsx
│ │ │ │ │ ├── blog_
│ │ │ │ │ │ └── stats.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── posts
│ │ │ │ │ │ ├── $postId
│ │ │ │ │ │ ├── deep.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── route.tsx
│ │ │ │ └── tests.test-d.ts
│ │ │ ├── no-duplicate-route-segment
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ └── foo
│ │ │ │ │ └── _layout
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── route.tsx
│ │ │ ├── no-formatted-route-tree
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── nested
│ │ │ │ │ ├── child.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── no-manifest
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── numbers-in-path
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── 01-example
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── 02.index.tsx
│ │ │ │ │ ├── 03.tsx
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── about.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── only-root
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ └── __root.tsx
│ │ │ ├── route-groups
│ │ │ │ ├── _layout.tsx
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── (foo)
│ │ │ │ │ └── asdf
│ │ │ │ │ │ ├── (another-group)
│ │ │ │ │ │ ├── _layout.baz.tsx
│ │ │ │ │ │ └── _layout.tsx
│ │ │ │ │ │ ├── (bar)
│ │ │ │ │ │ ├── $id.tsx
│ │ │ │ │ │ ├── _layout.about.tsx
│ │ │ │ │ │ └── _layout.xyz.lazy.tsx
│ │ │ │ │ │ ├── _layout.foo.tsx
│ │ │ │ │ │ └── _layout.tsx
│ │ │ │ │ └── __root.tsx
│ │ │ ├── single-level
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── posts.tsx
│ │ │ ├── types-disabled
│ │ │ │ ├── routeTree.snapshot.js
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── posts.tsx
│ │ │ │ │ ├── posts
│ │ │ │ │ └── $postId.tsx
│ │ │ │ │ └── users.$userId.tsx
│ │ │ ├── virtual-config-file-default-export
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ ├── routes.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── db
│ │ │ │ │ ├── dashboard-index.tsx
│ │ │ │ │ ├── dashboard-invoices.tsx
│ │ │ │ │ ├── dashboard.tsx
│ │ │ │ │ ├── invoice-detail.tsx
│ │ │ │ │ └── invoices-index.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── layout.tsx
│ │ │ │ │ ├── pages.tsx
│ │ │ │ │ ├── root.tsx
│ │ │ │ │ └── subtree
│ │ │ │ │ ├── foo
│ │ │ │ │ ├── $id.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── virtual-config-file-named-export
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ ├── routes.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── db
│ │ │ │ │ ├── dashboard-index.tsx
│ │ │ │ │ ├── dashboard-invoices.tsx
│ │ │ │ │ ├── dashboard.tsx
│ │ │ │ │ ├── invoice-detail.tsx
│ │ │ │ │ └── invoices-index.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── layout.tsx
│ │ │ │ │ ├── pages.tsx
│ │ │ │ │ ├── root.tsx
│ │ │ │ │ └── subtree
│ │ │ │ │ ├── foo
│ │ │ │ │ ├── $id.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── virtual-inside-nested
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ │ ├── __root.tsx
│ │ │ │ │ ├── foo
│ │ │ │ │ ├── bar.tsx
│ │ │ │ │ └── bar
│ │ │ │ │ │ ├── __virtual.ts
│ │ │ │ │ │ ├── details.tsx
│ │ │ │ │ │ ├── home.tsx
│ │ │ │ │ │ └── route.ts
│ │ │ │ │ └── index.tsx
│ │ │ └── virtual
│ │ │ │ ├── routeTree.snapshot.ts
│ │ │ │ └── routes
│ │ │ │ ├── db
│ │ │ │ ├── dashboard-index.tsx
│ │ │ │ ├── dashboard-invoices.tsx
│ │ │ │ ├── dashboard.tsx
│ │ │ │ ├── invoice-detail.tsx
│ │ │ │ └── invoices-index.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── layout.tsx
│ │ │ │ ├── pages.tsx
│ │ │ │ ├── root.tsx
│ │ │ │ └── subtree
│ │ │ │ ├── foo
│ │ │ │ ├── $id.tsx
│ │ │ │ └── index.tsx
│ │ │ │ └── index.tsx
│ │ └── utils.test.ts
│ ├── tsconfig.json
│ ├── tsconfig.legacy.json
│ └── vite.config.ts
├── router-plugin
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── core
│ │ │ ├── code-splitter
│ │ │ │ ├── compilers.ts
│ │ │ │ ├── framework-options.ts
│ │ │ │ └── path-ids.ts
│ │ │ ├── config.ts
│ │ │ ├── constants.ts
│ │ │ ├── route-hmr-statement.ts
│ │ │ ├── router-code-splitter-plugin.ts
│ │ │ ├── router-composed-plugin.ts
│ │ │ ├── router-generator-plugin.ts
│ │ │ ├── router-hmr-plugin.ts
│ │ │ └── utils.ts
│ │ ├── esbuild.ts
│ │ ├── index.ts
│ │ ├── rspack.ts
│ │ ├── vite.ts
│ │ └── webpack.ts
│ ├── tests
│ │ ├── code-splitter.test.ts
│ │ ├── code-splitter
│ │ │ ├── shared
│ │ │ │ └── imported.tsx
│ │ │ ├── snapshots
│ │ │ │ ├── react
│ │ │ │ │ ├── 1-default
│ │ │ │ │ │ ├── development
│ │ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ │ ├── arrow-function@component.tsx
│ │ │ │ │ │ │ ├── arrow-function@errorComponent.tsx
│ │ │ │ │ │ │ ├── arrow-function@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── chinese.tsx
│ │ │ │ │ │ │ ├── chinese@component.tsx
│ │ │ │ │ │ │ ├── chinese@errorComponent.tsx
│ │ │ │ │ │ │ ├── chinese@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── conditional-properties.tsx
│ │ │ │ │ │ │ ├── conditional-properties@component.tsx
│ │ │ │ │ │ │ ├── conditional-properties@errorComponent.tsx
│ │ │ │ │ │ │ ├── conditional-properties@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@component.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── destructuring.tsx
│ │ │ │ │ │ │ ├── destructuring@component.tsx
│ │ │ │ │ │ │ ├── destructuring@errorComponent.tsx
│ │ │ │ │ │ │ ├── destructuring@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@component.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@errorComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component.tsx
│ │ │ │ │ │ │ ├── export-default-component@component.tsx
│ │ │ │ │ │ │ ├── export-default-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── function-as-parameter.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@component.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@errorComponent.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── function-declaration.tsx
│ │ │ │ │ │ │ ├── function-declaration@component.tsx
│ │ │ │ │ │ │ ├── function-declaration@errorComponent.tsx
│ │ │ │ │ │ │ ├── function-declaration@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── importAttribute.tsx
│ │ │ │ │ │ │ ├── importAttribute@component.tsx
│ │ │ │ │ │ │ ├── importAttribute@errorComponent.tsx
│ │ │ │ │ │ │ ├── importAttribute@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@component.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component.tsx
│ │ │ │ │ │ │ ├── imported-default-component@component.tsx
│ │ │ │ │ │ │ ├── imported-default-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@component.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@component.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@component.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported.tsx
│ │ │ │ │ │ │ ├── imported@component.tsx
│ │ │ │ │ │ │ ├── imported@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── inline.tsx
│ │ │ │ │ │ │ ├── inline@component.tsx
│ │ │ │ │ │ │ ├── inline@errorComponent.tsx
│ │ │ │ │ │ │ ├── inline@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── random-number.tsx
│ │ │ │ │ │ │ ├── random-number@component.tsx
│ │ │ │ │ │ │ ├── random-number@errorComponent.tsx
│ │ │ │ │ │ │ ├── random-number@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-component.tsx
│ │ │ │ │ │ │ ├── react-memo-component@component.tsx
│ │ │ │ │ │ │ ├── react-memo-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@component.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-export-component.tsx
│ │ │ │ │ │ │ ├── retain-export-component@component.tsx
│ │ │ │ │ │ │ ├── retain-export-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-export-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-const.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@component.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-function.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@component.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@component.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── useStateDestructure.tsx
│ │ │ │ │ │ │ ├── useStateDestructure@component.tsx
│ │ │ │ │ │ │ ├── useStateDestructure@errorComponent.tsx
│ │ │ │ │ │ │ └── useStateDestructure@notFoundComponent.tsx
│ │ │ │ │ │ └── production
│ │ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ │ ├── arrow-function@component.tsx
│ │ │ │ │ │ │ ├── arrow-function@errorComponent.tsx
│ │ │ │ │ │ │ ├── arrow-function@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── chinese.tsx
│ │ │ │ │ │ │ ├── chinese@component.tsx
│ │ │ │ │ │ │ ├── chinese@errorComponent.tsx
│ │ │ │ │ │ │ ├── chinese@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── conditional-properties.tsx
│ │ │ │ │ │ │ ├── conditional-properties@component.tsx
│ │ │ │ │ │ │ ├── conditional-properties@errorComponent.tsx
│ │ │ │ │ │ │ ├── conditional-properties@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@component.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── destructuring.tsx
│ │ │ │ │ │ │ ├── destructuring@component.tsx
│ │ │ │ │ │ │ ├── destructuring@errorComponent.tsx
│ │ │ │ │ │ │ ├── destructuring@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@component.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@errorComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component.tsx
│ │ │ │ │ │ │ ├── export-default-component@component.tsx
│ │ │ │ │ │ │ ├── export-default-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── function-as-parameter.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@component.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@errorComponent.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── function-declaration.tsx
│ │ │ │ │ │ │ ├── function-declaration@component.tsx
│ │ │ │ │ │ │ ├── function-declaration@errorComponent.tsx
│ │ │ │ │ │ │ ├── function-declaration@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── importAttribute.tsx
│ │ │ │ │ │ │ ├── importAttribute@component.tsx
│ │ │ │ │ │ │ ├── importAttribute@errorComponent.tsx
│ │ │ │ │ │ │ ├── importAttribute@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@component.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component.tsx
│ │ │ │ │ │ │ ├── imported-default-component@component.tsx
│ │ │ │ │ │ │ ├── imported-default-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@component.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@component.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@component.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported.tsx
│ │ │ │ │ │ │ ├── imported@component.tsx
│ │ │ │ │ │ │ ├── imported@errorComponent.tsx
│ │ │ │ │ │ │ ├── imported@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── inline.tsx
│ │ │ │ │ │ │ ├── inline@component.tsx
│ │ │ │ │ │ │ ├── inline@errorComponent.tsx
│ │ │ │ │ │ │ ├── inline@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── random-number.tsx
│ │ │ │ │ │ │ ├── random-number@component.tsx
│ │ │ │ │ │ │ ├── random-number@errorComponent.tsx
│ │ │ │ │ │ │ ├── random-number@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-component.tsx
│ │ │ │ │ │ │ ├── react-memo-component@component.tsx
│ │ │ │ │ │ │ ├── react-memo-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@component.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-export-component.tsx
│ │ │ │ │ │ │ ├── retain-export-component@component.tsx
│ │ │ │ │ │ │ ├── retain-export-component@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-export-component@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-const.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@component.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-function.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@component.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@component.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@errorComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@notFoundComponent.tsx
│ │ │ │ │ │ │ ├── useStateDestructure.tsx
│ │ │ │ │ │ │ ├── useStateDestructure@component.tsx
│ │ │ │ │ │ │ ├── useStateDestructure@errorComponent.tsx
│ │ │ │ │ │ │ └── useStateDestructure@notFoundComponent.tsx
│ │ │ │ │ ├── 2-components-combined-loader-separate
│ │ │ │ │ │ ├── development
│ │ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ │ ├── arrow-function@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── arrow-function@loader.tsx
│ │ │ │ │ │ │ ├── chinese.tsx
│ │ │ │ │ │ │ ├── chinese@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── chinese@loader.tsx
│ │ │ │ │ │ │ ├── conditional-properties.tsx
│ │ │ │ │ │ │ ├── conditional-properties@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── conditional-properties@loader.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@loader.tsx
│ │ │ │ │ │ │ ├── destructuring.tsx
│ │ │ │ │ │ │ ├── destructuring@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── destructuring@loader.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@loader.tsx
│ │ │ │ │ │ │ ├── export-default-component.tsx
│ │ │ │ │ │ │ ├── export-default-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component@loader.tsx
│ │ │ │ │ │ │ ├── function-as-parameter.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@loader.tsx
│ │ │ │ │ │ │ ├── function-declaration.tsx
│ │ │ │ │ │ │ ├── function-declaration@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── function-declaration@loader.tsx
│ │ │ │ │ │ │ ├── importAttribute.tsx
│ │ │ │ │ │ │ ├── importAttribute@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── importAttribute@loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component.tsx
│ │ │ │ │ │ │ ├── imported-default-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component@loader.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@loader.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@loader.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@loader.tsx
│ │ │ │ │ │ │ ├── imported.tsx
│ │ │ │ │ │ │ ├── imported@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported@loader.tsx
│ │ │ │ │ │ │ ├── inline.tsx
│ │ │ │ │ │ │ ├── inline@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── inline@loader.tsx
│ │ │ │ │ │ │ ├── random-number.tsx
│ │ │ │ │ │ │ ├── random-number@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── random-number@loader.tsx
│ │ │ │ │ │ │ ├── react-memo-component.tsx
│ │ │ │ │ │ │ ├── react-memo-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-component@loader.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@loader.tsx
│ │ │ │ │ │ │ ├── retain-export-component.tsx
│ │ │ │ │ │ │ ├── retain-export-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-export-component@loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-const.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-function.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@loader.tsx
│ │ │ │ │ │ │ ├── useStateDestructure.tsx
│ │ │ │ │ │ │ ├── useStateDestructure@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ └── useStateDestructure@loader.tsx
│ │ │ │ │ │ └── production
│ │ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ │ ├── arrow-function@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── arrow-function@loader.tsx
│ │ │ │ │ │ │ ├── chinese.tsx
│ │ │ │ │ │ │ ├── chinese@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── chinese@loader.tsx
│ │ │ │ │ │ │ ├── conditional-properties.tsx
│ │ │ │ │ │ │ ├── conditional-properties@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── conditional-properties@loader.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── destructured-react-memo-imported-component@loader.tsx
│ │ │ │ │ │ │ ├── destructuring.tsx
│ │ │ │ │ │ │ ├── destructuring@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── destructuring@loader.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component-and-normal-notFound@loader.tsx
│ │ │ │ │ │ │ ├── export-default-component.tsx
│ │ │ │ │ │ │ ├── export-default-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── export-default-component@loader.tsx
│ │ │ │ │ │ │ ├── function-as-parameter.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── function-as-parameter@loader.tsx
│ │ │ │ │ │ │ ├── function-declaration.tsx
│ │ │ │ │ │ │ ├── function-declaration@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── function-declaration@loader.tsx
│ │ │ │ │ │ │ ├── importAttribute.tsx
│ │ │ │ │ │ │ ├── importAttribute@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── importAttribute@loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component-destructured-loader@loader.tsx
│ │ │ │ │ │ │ ├── imported-default-component.tsx
│ │ │ │ │ │ │ ├── imported-default-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-default-component@loader.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-errorComponent@loader.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-notFoundComponent@loader.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported-pendingComponent@loader.tsx
│ │ │ │ │ │ │ ├── imported.tsx
│ │ │ │ │ │ │ ├── imported@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── imported@loader.tsx
│ │ │ │ │ │ │ ├── inline.tsx
│ │ │ │ │ │ │ ├── inline@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── inline@loader.tsx
│ │ │ │ │ │ │ ├── random-number.tsx
│ │ │ │ │ │ │ ├── random-number@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── random-number@loader.tsx
│ │ │ │ │ │ │ ├── react-memo-component.tsx
│ │ │ │ │ │ │ ├── react-memo-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-component@loader.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── react-memo-imported-component@loader.tsx
│ │ │ │ │ │ │ ├── retain-export-component.tsx
│ │ │ │ │ │ │ ├── retain-export-component@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-export-component@loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-const.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-const@loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-function.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-function@loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ ├── retain-exports-loader@loader.tsx
│ │ │ │ │ │ │ ├── useStateDestructure.tsx
│ │ │ │ │ │ │ ├── useStateDestructure@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ │ └── useStateDestructure@loader.tsx
│ │ │ │ │ └── 3-all-combined-errorComponent-separate
│ │ │ │ │ │ ├── development
│ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ ├── arrow-function@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── arrow-function@errorComponent.tsx
│ │ │ │ │ │ ├── chinese.tsx
│ │ │ │ │ │ ├── chinese@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── chinese@errorComponent.tsx
│ │ │ │ │ │ ├── conditional-properties.tsx
│ │ │ │ │ │ ├── conditional-properties@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── conditional-properties@errorComponent.tsx
│ │ │ │ │ │ ├── destructured-react-memo-imported-component.tsx
│ │ │ │ │ │ ├── destructured-react-memo-imported-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── destructured-react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ ├── destructuring.tsx
│ │ │ │ │ │ ├── destructuring@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── destructuring@errorComponent.tsx
│ │ │ │ │ │ ├── export-default-component-and-normal-notFound.tsx
│ │ │ │ │ │ ├── export-default-component-and-normal-notFound@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── export-default-component-and-normal-notFound@errorComponent.tsx
│ │ │ │ │ │ ├── export-default-component.tsx
│ │ │ │ │ │ ├── export-default-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── export-default-component@errorComponent.tsx
│ │ │ │ │ │ ├── function-as-parameter.tsx
│ │ │ │ │ │ ├── function-as-parameter@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── function-as-parameter@errorComponent.tsx
│ │ │ │ │ │ ├── function-declaration.tsx
│ │ │ │ │ │ ├── function-declaration@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── function-declaration@errorComponent.tsx
│ │ │ │ │ │ ├── importAttribute.tsx
│ │ │ │ │ │ ├── importAttribute@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── importAttribute@errorComponent.tsx
│ │ │ │ │ │ ├── imported-default-component-destructured-loader.tsx
│ │ │ │ │ │ ├── imported-default-component-destructured-loader@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-default-component-destructured-loader@errorComponent.tsx
│ │ │ │ │ │ ├── imported-default-component.tsx
│ │ │ │ │ │ ├── imported-default-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-default-component@errorComponent.tsx
│ │ │ │ │ │ ├── imported-errorComponent.tsx
│ │ │ │ │ │ ├── imported-errorComponent@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-errorComponent@errorComponent.tsx
│ │ │ │ │ │ ├── imported-notFoundComponent.tsx
│ │ │ │ │ │ ├── imported-notFoundComponent@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-notFoundComponent@errorComponent.tsx
│ │ │ │ │ │ ├── imported-pendingComponent.tsx
│ │ │ │ │ │ ├── imported-pendingComponent@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-pendingComponent@errorComponent.tsx
│ │ │ │ │ │ ├── imported.tsx
│ │ │ │ │ │ ├── imported@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported@errorComponent.tsx
│ │ │ │ │ │ ├── inline.tsx
│ │ │ │ │ │ ├── inline@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── inline@errorComponent.tsx
│ │ │ │ │ │ ├── random-number.tsx
│ │ │ │ │ │ ├── random-number@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── random-number@errorComponent.tsx
│ │ │ │ │ │ ├── react-memo-component.tsx
│ │ │ │ │ │ ├── react-memo-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── react-memo-component@errorComponent.tsx
│ │ │ │ │ │ ├── react-memo-imported-component.tsx
│ │ │ │ │ │ ├── react-memo-imported-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ ├── retain-export-component.tsx
│ │ │ │ │ │ ├── retain-export-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-export-component@errorComponent.tsx
│ │ │ │ │ │ ├── retain-exports-const.tsx
│ │ │ │ │ │ ├── retain-exports-const@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-exports-const@errorComponent.tsx
│ │ │ │ │ │ ├── retain-exports-function.tsx
│ │ │ │ │ │ ├── retain-exports-function@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-exports-function@errorComponent.tsx
│ │ │ │ │ │ ├── retain-exports-loader.tsx
│ │ │ │ │ │ ├── retain-exports-loader@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-exports-loader@errorComponent.tsx
│ │ │ │ │ │ ├── useStateDestructure.tsx
│ │ │ │ │ │ ├── useStateDestructure@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ └── useStateDestructure@errorComponent.tsx
│ │ │ │ │ │ └── production
│ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ ├── arrow-function@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── arrow-function@errorComponent.tsx
│ │ │ │ │ │ ├── chinese.tsx
│ │ │ │ │ │ ├── chinese@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── chinese@errorComponent.tsx
│ │ │ │ │ │ ├── conditional-properties.tsx
│ │ │ │ │ │ ├── conditional-properties@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── conditional-properties@errorComponent.tsx
│ │ │ │ │ │ ├── destructured-react-memo-imported-component.tsx
│ │ │ │ │ │ ├── destructured-react-memo-imported-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── destructured-react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ ├── destructuring.tsx
│ │ │ │ │ │ ├── destructuring@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── destructuring@errorComponent.tsx
│ │ │ │ │ │ ├── export-default-component-and-normal-notFound.tsx
│ │ │ │ │ │ ├── export-default-component-and-normal-notFound@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── export-default-component-and-normal-notFound@errorComponent.tsx
│ │ │ │ │ │ ├── export-default-component.tsx
│ │ │ │ │ │ ├── export-default-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── export-default-component@errorComponent.tsx
│ │ │ │ │ │ ├── function-as-parameter.tsx
│ │ │ │ │ │ ├── function-as-parameter@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── function-as-parameter@errorComponent.tsx
│ │ │ │ │ │ ├── function-declaration.tsx
│ │ │ │ │ │ ├── function-declaration@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── function-declaration@errorComponent.tsx
│ │ │ │ │ │ ├── importAttribute.tsx
│ │ │ │ │ │ ├── importAttribute@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── importAttribute@errorComponent.tsx
│ │ │ │ │ │ ├── imported-default-component-destructured-loader.tsx
│ │ │ │ │ │ ├── imported-default-component-destructured-loader@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-default-component-destructured-loader@errorComponent.tsx
│ │ │ │ │ │ ├── imported-default-component.tsx
│ │ │ │ │ │ ├── imported-default-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-default-component@errorComponent.tsx
│ │ │ │ │ │ ├── imported-errorComponent.tsx
│ │ │ │ │ │ ├── imported-errorComponent@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-errorComponent@errorComponent.tsx
│ │ │ │ │ │ ├── imported-notFoundComponent.tsx
│ │ │ │ │ │ ├── imported-notFoundComponent@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-notFoundComponent@errorComponent.tsx
│ │ │ │ │ │ ├── imported-pendingComponent.tsx
│ │ │ │ │ │ ├── imported-pendingComponent@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported-pendingComponent@errorComponent.tsx
│ │ │ │ │ │ ├── imported.tsx
│ │ │ │ │ │ ├── imported@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── imported@errorComponent.tsx
│ │ │ │ │ │ ├── inline.tsx
│ │ │ │ │ │ ├── inline@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── inline@errorComponent.tsx
│ │ │ │ │ │ ├── random-number.tsx
│ │ │ │ │ │ ├── random-number@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── random-number@errorComponent.tsx
│ │ │ │ │ │ ├── react-memo-component.tsx
│ │ │ │ │ │ ├── react-memo-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── react-memo-component@errorComponent.tsx
│ │ │ │ │ │ ├── react-memo-imported-component.tsx
│ │ │ │ │ │ ├── react-memo-imported-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── react-memo-imported-component@errorComponent.tsx
│ │ │ │ │ │ ├── retain-export-component.tsx
│ │ │ │ │ │ ├── retain-export-component@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-export-component@errorComponent.tsx
│ │ │ │ │ │ ├── retain-exports-const.tsx
│ │ │ │ │ │ ├── retain-exports-const@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-exports-const@errorComponent.tsx
│ │ │ │ │ │ ├── retain-exports-function.tsx
│ │ │ │ │ │ ├── retain-exports-function@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-exports-function@errorComponent.tsx
│ │ │ │ │ │ ├── retain-exports-loader.tsx
│ │ │ │ │ │ ├── retain-exports-loader@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ ├── retain-exports-loader@errorComponent.tsx
│ │ │ │ │ │ ├── useStateDestructure.tsx
│ │ │ │ │ │ ├── useStateDestructure@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ └── useStateDestructure@errorComponent.tsx
│ │ │ │ └── solid
│ │ │ │ │ ├── 1-default
│ │ │ │ │ ├── development
│ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ ├── arrow-function@component.tsx
│ │ │ │ │ │ ├── arrow-function@errorComponent.tsx
│ │ │ │ │ │ └── arrow-function@notFoundComponent.tsx
│ │ │ │ │ └── production
│ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ ├── arrow-function@component.tsx
│ │ │ │ │ │ ├── arrow-function@errorComponent.tsx
│ │ │ │ │ │ └── arrow-function@notFoundComponent.tsx
│ │ │ │ │ ├── 2-components-combined-loader-separate
│ │ │ │ │ ├── development
│ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ ├── arrow-function@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ └── arrow-function@loader.tsx
│ │ │ │ │ └── production
│ │ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ │ ├── arrow-function@component---errorComponent---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ │ └── arrow-function@loader.tsx
│ │ │ │ │ └── 3-all-combined-errorComponent-separate
│ │ │ │ │ ├── development
│ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ ├── arrow-function@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ └── arrow-function@errorComponent.tsx
│ │ │ │ │ └── production
│ │ │ │ │ ├── arrow-function.tsx
│ │ │ │ │ ├── arrow-function@component---loader---notFoundComponent---pendingComponent.tsx
│ │ │ │ │ └── arrow-function@errorComponent.tsx
│ │ │ └── test-files
│ │ │ │ ├── react
│ │ │ │ ├── arrow-function.tsx
│ │ │ │ ├── chinese.tsx
│ │ │ │ ├── conditional-properties.tsx
│ │ │ │ ├── destructured-react-memo-imported-component.tsx
│ │ │ │ ├── destructuring.tsx
│ │ │ │ ├── export-default-component-and-normal-notFound.tsx
│ │ │ │ ├── export-default-component.tsx
│ │ │ │ ├── function-as-parameter.tsx
│ │ │ │ ├── function-declaration.tsx
│ │ │ │ ├── importAttribute.tsx
│ │ │ │ ├── imported-default-component-destructured-loader.tsx
│ │ │ │ ├── imported-default-component.tsx
│ │ │ │ ├── imported-errorComponent.tsx
│ │ │ │ ├── imported-notFoundComponent.tsx
│ │ │ │ ├── imported-pendingComponent.tsx
│ │ │ │ ├── imported.tsx
│ │ │ │ ├── inline.tsx
│ │ │ │ ├── random-number.tsx
│ │ │ │ ├── react-memo-component.tsx
│ │ │ │ ├── react-memo-imported-component.tsx
│ │ │ │ ├── retain-export-component.tsx
│ │ │ │ ├── retain-exports-const.tsx
│ │ │ │ ├── retain-exports-function.tsx
│ │ │ │ ├── retain-exports-loader.tsx
│ │ │ │ └── useStateDestructure.tsx
│ │ │ │ └── solid
│ │ │ │ └── arrow-function.tsx
│ │ └── detect-route-codesplit-groupings.test.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── router-utils
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── ast.ts
│ │ ├── index.ts
│ │ └── logger.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── router-vite-plugin
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── server-functions-plugin
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tests
│ │ └── index.test.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── solid-router-devtools
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── TanStackRouterDevtools.tsx
│ │ ├── TanStackRouterDevtoolsPanel.tsx
│ │ └── index.tsx
│ ├── tsconfig.build.json
│ ├── tsconfig.json
│ └── vite.config.ts
├── solid-router
│ ├── README.md
│ ├── eslint.config.ts
│ ├── package.json
│ ├── src
│ │ ├── Asset.tsx
│ │ ├── CatchBoundary.tsx
│ │ ├── ClientOnly.tsx
│ │ ├── HeadContent.tsx
│ │ ├── Match.tsx
│ │ ├── Matches.tsx
│ │ ├── RouterProvider.tsx
│ │ ├── SafeFragment.tsx
│ │ ├── ScriptOnce.tsx
│ │ ├── Scripts.tsx
│ │ ├── ScrollRestoration.tsx
│ │ ├── Transitioner.tsx
│ │ ├── awaited.tsx
│ │ ├── fileRoute.ts
│ │ ├── history.ts
│ │ ├── index.tsx
│ │ ├── lazyRouteComponent.tsx
│ │ ├── link.tsx
│ │ ├── matchContext.tsx
│ │ ├── not-found.tsx
│ │ ├── renderRouteNotFound.tsx
│ │ ├── route.tsx
│ │ ├── router.ts
│ │ ├── routerContext.tsx
│ │ ├── scroll-restoration.tsx
│ │ ├── typePrimitives.ts
│ │ ├── useBlocker.tsx
│ │ ├── useCanGoBack.ts
│ │ ├── useLoaderData.tsx
│ │ ├── useLoaderDeps.tsx
│ │ ├── useLocation.tsx
│ │ ├── useMatch.tsx
│ │ ├── useNavigate.tsx
│ │ ├── useParams.tsx
│ │ ├── useRouteContext.ts
│ │ ├── useRouter.tsx
│ │ ├── useRouterState.tsx
│ │ ├── useSearch.tsx
│ │ └── utils.ts
│ ├── tests
│ │ ├── ClientOnly.test.tsx
│ │ ├── Matches.test-d.tsx
│ │ ├── Matches.test.tsx
│ │ ├── RouterProvider.test-d.tsx
│ │ ├── Scripts.test.tsx
│ │ ├── blocker.test.tsx
│ │ ├── createLazyRoute.test.tsx
│ │ ├── errorComponent.test.tsx
│ │ ├── fileRoute.test-d.tsx
│ │ ├── fileRoute.test.ts
│ │ ├── index.test.tsx
│ │ ├── lazy
│ │ │ ├── heavy.tsx
│ │ │ ├── mockHeavyDependenciesRoute.tsx
│ │ │ └── normal.tsx
│ │ ├── link.bench.tsx
│ │ ├── link.test-d.tsx
│ │ ├── link.test.tsx
│ │ ├── loaders.test.tsx
│ │ ├── navigate.test.tsx
│ │ ├── redirect.test.tsx
│ │ ├── redirects.test-d.tsx
│ │ ├── route.test-d.tsx
│ │ ├── route.test.tsx
│ │ ├── routeApi.test-d.tsx
│ │ ├── routeContext.test.tsx
│ │ ├── router.test-d.tsx
│ │ ├── router.test.tsx
│ │ ├── searchMiddleware.test.tsx
│ │ ├── setupTests.tsx
│ │ ├── useBlocker.test-d.tsx
│ │ ├── useBlocker.test.tsx
│ │ ├── useCanGoBack.test.tsx
│ │ ├── useLoaderData.test-d.tsx
│ │ ├── useLocation.test-d.tsx
│ │ ├── useMatch.test-d.tsx
│ │ ├── useMatch.test.tsx
│ │ ├── useNavigate.test-d.tsx
│ │ ├── useNavigate.test.tsx
│ │ ├── useParams.test-d.tsx
│ │ ├── useRouteContext.test-d.tsx
│ │ ├── useRouterState.test-d.tsx
│ │ ├── useSearch.test-d.tsx
│ │ └── utils.ts
│ ├── tsconfig.build.json
│ ├── tsconfig.json
│ ├── tsconfig.legacy.json
│ └── vite.config.ts
├── solid-start-client
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── Meta.tsx
│ │ ├── Scripts.tsx
│ │ ├── StartClient.tsx
│ │ ├── index.tsx
│ │ ├── renderRSC.tsx
│ │ ├── routesManifest.ts
│ │ ├── tests
│ │ │ ├── createServerFn.test-d.tsx
│ │ │ └── setupTests.tsx
│ │ └── useServerFn.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── solid-start-config
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── index.ts
│ │ ├── schema.ts
│ │ └── vinxi-file-router.ts
│ └── tsconfig.json
├── solid-start-plugin
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── compilers.ts
│ │ └── index.ts
│ ├── tests
│ │ ├── createIsomorphicFn
│ │ │ ├── createIsomorphicFn.test.ts
│ │ │ ├── snapshots
│ │ │ │ ├── client
│ │ │ │ │ ├── createIsomorphicFnDestructured.tsx
│ │ │ │ │ ├── createIsomorphicFnDestructuredRename.tsx
│ │ │ │ │ └── createIsomorphicFnStarImport.tsx
│ │ │ │ └── server
│ │ │ │ │ ├── createIsomorphicFnDestructured.tsx
│ │ │ │ │ ├── createIsomorphicFnDestructuredRename.tsx
│ │ │ │ │ └── createIsomorphicFnStarImport.tsx
│ │ │ └── test-files
│ │ │ │ ├── createIsomorphicFnDestructured.tsx
│ │ │ │ ├── createIsomorphicFnDestructuredRename.tsx
│ │ │ │ └── createIsomorphicFnStarImport.tsx
│ │ ├── createMiddleware
│ │ │ ├── createMiddleware.test.ts
│ │ │ ├── snapshots
│ │ │ │ ├── client
│ │ │ │ │ ├── createMiddlewareDestructured.tsx
│ │ │ │ │ ├── createMiddlewareDestructuredRename.tsx
│ │ │ │ │ ├── createMiddlewareStarImport.tsx
│ │ │ │ │ └── createMiddlewareValidator.tsx
│ │ │ │ └── server
│ │ │ │ │ ├── createMiddlewareDestructured.tsx
│ │ │ │ │ ├── createMiddlewareDestructuredRename.tsx
│ │ │ │ │ ├── createMiddlewareStarImport.tsx
│ │ │ │ │ └── createMiddlewareValidator.tsx
│ │ │ └── test-files
│ │ │ │ ├── createMiddlewareDestructured.tsx
│ │ │ │ ├── createMiddlewareDestructuredRename.tsx
│ │ │ │ ├── createMiddlewareStarImport.tsx
│ │ │ │ └── createMiddlewareValidator.tsx
│ │ ├── createServerFn
│ │ │ ├── createServerFn.test.ts
│ │ │ ├── snapshots
│ │ │ │ ├── client
│ │ │ │ │ ├── createServerFnDestructured.tsx
│ │ │ │ │ ├── createServerFnDestructuredRename.tsx
│ │ │ │ │ ├── createServerFnStarImport.tsx
│ │ │ │ │ └── createServerFnValidator.tsx
│ │ │ │ └── server
│ │ │ │ │ ├── createServerFnDestructured.tsx
│ │ │ │ │ ├── createServerFnDestructuredRename.tsx
│ │ │ │ │ ├── createServerFnStarImport.tsx
│ │ │ │ │ └── createServerFnValidator.tsx
│ │ │ └── test-files
│ │ │ │ ├── createServerFnDestructured.tsx
│ │ │ │ ├── createServerFnDestructuredRename.tsx
│ │ │ │ ├── createServerFnStarImport.tsx
│ │ │ │ └── createServerFnValidator.tsx
│ │ └── envOnly
│ │ │ ├── envOnly.test.ts
│ │ │ ├── snapshots
│ │ │ ├── client
│ │ │ │ ├── envOnlyDestructured.tsx
│ │ │ │ ├── envOnlyDestructuredRename.tsx
│ │ │ │ └── envOnlyStarImport.tsx
│ │ │ └── server
│ │ │ │ ├── envOnlyDestructured.tsx
│ │ │ │ ├── envOnlyDestructuredRename.tsx
│ │ │ │ └── envOnlyStarImport.tsx
│ │ │ └── test-files
│ │ │ ├── envOnlyDestructured.tsx
│ │ │ ├── envOnlyDestructuredRename.tsx
│ │ │ └── envOnlyStarImport.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── solid-start-router-manifest
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── solid-start-server
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── StartServer.tsx
│ │ ├── defaultRenderHandler.tsx
│ │ ├── defaultStreamHandler.tsx
│ │ └── index.tsx
│ ├── tsconfig.json
│ ├── vite-minify-plugin.ts
│ └── vite.config.ts
├── solid-start
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── api.tsx
│ │ ├── client.tsx
│ │ ├── config.tsx
│ │ ├── router-manifest.tsx
│ │ ├── server-functions-client.tsx
│ │ ├── server-functions-handler.tsx
│ │ ├── server-functions-server.tsx
│ │ ├── server-functions-ssr.tsx
│ │ └── server.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── start-api-routes
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── start-client-core
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── createIsomorphicFn.ts
│ │ ├── createMiddleware.ts
│ │ ├── createServerFn.ts
│ │ ├── envOnly.ts
│ │ ├── headers.ts
│ │ ├── index.tsx
│ │ ├── json.ts
│ │ ├── registerGlobalMiddleware.ts
│ │ ├── serializer.ts
│ │ ├── ssr-client.tsx
│ │ └── tests
│ │ │ ├── createIsomorphicFn.test-d.ts
│ │ │ ├── createServerFn.test-d.ts
│ │ │ ├── createServerMiddleware.test-d.ts
│ │ │ ├── envOnly.test-d.ts
│ │ │ ├── json.test.ts
│ │ │ └── transformer.test.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── start-config
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── index.ts
│ │ ├── schema.ts
│ │ └── vinxi-file-router.ts
│ └── tsconfig.json
├── start-server-core
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── createRequestHandler.ts
│ │ ├── createStartHandler.ts
│ │ ├── h3.ts
│ │ ├── handlerCallback.ts
│ │ ├── index.tsx
│ │ ├── ssr-server.ts
│ │ ├── transformStreamWithRouter.ts
│ │ ├── tsrScript.ts
│ │ └── vite-env.d.ts
│ ├── tests
│ │ └── h3-wrappers.test-d.ts
│ ├── tsconfig.json
│ ├── vite-minify-plugin.ts
│ └── vite.config.ts
├── start-server-functions-client
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ ├── tsconfigs
│ │ ├── config.tsconfig.json
│ │ └── router-manifest.tsconfig.json
│ └── vite.config.ts
├── start-server-functions-fetcher
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── start-server-functions-handler
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── start-server-functions-server
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ └── vite.config.ts
├── start-server-functions-ssr
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tsconfig.json
│ ├── tsconfigs
│ │ ├── config.tsconfig.json
│ │ └── router-manifest.tsconfig.json
│ └── vite.config.ts
├── start
│ ├── README.md
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── api.tsx
│ │ ├── client.tsx
│ │ ├── config.tsx
│ │ ├── router-manifest.tsx
│ │ ├── server-functions-client.tsx
│ │ ├── server-functions-handler.tsx
│ │ ├── server-functions-server.tsx
│ │ ├── server-functions-ssr.tsx
│ │ └── server.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── valibot-adapter
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tests
│ │ ├── index.test-d.ts
│ │ └── index.test.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── virtual-file-routes
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ │ ├── api.ts
│ │ ├── defineConfig.ts
│ │ ├── index.ts
│ │ └── types.ts
│ ├── tsconfig.json
│ └── vite.config.ts
└── zod-adapter
│ ├── eslint.config.js
│ ├── package.json
│ ├── src
│ └── index.ts
│ ├── tests
│ ├── index.test-d.ts
│ └── index.test.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── prettier.config.js
├── scripts
├── cleanup-empty-packages.mjs
├── generateLabelerConfig.mjs
├── llms-generate.mjs
├── publish.js
├── set-ts-version.js
└── verify-links.ts
└── tsconfig.json
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: tannerlinsley
2 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | link-workspace-packages=true
2 | prefer-workspace-packages=true
3 | provenance=true
4 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 20.17.0
2 |
--------------------------------------------------------------------------------
/.nx/workflows/dynamic-changesets.yaml:
--------------------------------------------------------------------------------
1 | distribute-on:
2 | small-changeset: 3 linux-medium-js
3 | medium-changeset: 6 linux-medium-js
4 | large-changeset: 10 linux-medium-js
5 |
--------------------------------------------------------------------------------
/docs/router/framework/react/guide/parallel-routes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Parallel Routes
3 | ---
4 |
5 | We haven't covered this yet. Stay tuned!
6 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/decisions-on-dx.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/decisions-on-dx.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/faq.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/faq.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/authenticated-routes.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/authenticated-routes.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/automatic-code-splitting.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/automatic-code-splitting.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/code-splitting.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/code-splitting.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/creating-a-router.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/creating-a-router.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/custom-search-param-serialization.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/custom-search-param-serialization.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/data-loading.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/data-loading.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/data-mutations.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/data-mutations.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/document-head-management.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/document-head-management.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/external-data-loading.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/external-data-loading.md
3 | replace: { 'react-router': 'solid-router', 'react-query': 'solid-query' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/history-types.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/history-types.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/link-options.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/link-options.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/navigation.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/navigation.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/not-found-errors.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/not-found-errors.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/outlets.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/outlets.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/preloading.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/preloading.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/route-masking.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/route-masking.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/router-context.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/router-context.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/search-params.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/search-params.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/static-route-data.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/static-route-data.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/guide/type-safety.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/guide/type-safety.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/overview.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Overview
3 | ref: docs/router/framework/react/overview.md
4 | ---
5 |
6 | [//]: # 'WhyChooseTanStackRouter'
7 | [//]: # 'WhyChooseTanStackRouter'
8 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/routing/code-based-routing.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/routing/code-based-routing.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/routing/file-naming-conventions.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/routing/file-naming-conventions.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/routing/route-matching.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/routing/route-matching.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/routing/route-trees.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/routing/route-trees.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/router/framework/solid/routing/routing-concepts.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/router/framework/react/routing/routing-concepts.md
3 | replace: { 'react-router': 'solid-router' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/api-routes.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/api-routes.md
3 | replace: { 'react': 'solid' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/databases.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/databases.md
3 | ---
4 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/getting-started.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/getting-started.md
3 | ---
4 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/middleware.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/middleware.md
3 | replace: { 'react': 'solid' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/observability.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/observability.md
3 | ---
4 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/path-aliases.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/path-aliases.md
3 | replace: { 'react': 'solid' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/ssr.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/ssr.md
3 | replace: { 'react': 'solid' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/static-prerendering.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/static-prerendering.md
3 | replace: { 'react': 'solid' }
4 | ---
5 |
--------------------------------------------------------------------------------
/docs/start/framework/solid/static-server-functions.md:
--------------------------------------------------------------------------------
1 | ---
2 | ref: docs/start/framework/react/static-server-functions.md
3 | replace: { 'react': 'solid' }
4 | ---
5 |
--------------------------------------------------------------------------------
/e2e/create-start/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 |
7 | /test-results/
8 | /playwright-report/
9 | /blob-report/
10 | /playwright/.cache/
--------------------------------------------------------------------------------
/e2e/e2e-utils/eslint.config.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | import rootConfig from '../../eslint.config.js'
4 |
5 | export default [...rootConfig]
6 |
--------------------------------------------------------------------------------
/e2e/e2e-utils/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "include": ["src", "vite.config.ts", "tests"]
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-file-based-code-splitting/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-file-based-code-splitting/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-file-based/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-file-based/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-react-query-file-based/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-react-query-file-based/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-react-query/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-react-query/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-scroll-restoration/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-scroll-restoration/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-virtual-file-based/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-virtual-file-based/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-virtual-named-export-config-file-based/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic-virtual-named-export-config-file-based/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/basic/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-hash
5 | dist-ssr
6 | *.local
7 |
8 | /test-results/
9 | /playwright-report/
10 | /blob-report/
11 | /playwright/.cache/
--------------------------------------------------------------------------------
/e2e/react-router/basic/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/basic/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/generator-cli-only/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-hash
5 | dist-ssr
6 | *.local
7 |
8 | /test-results/
9 | /playwright-report/
10 | /blob-report/
11 | /playwright/.cache/
--------------------------------------------------------------------------------
/e2e/react-router/generator-cli-only/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/generator-cli-only/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/generator-cli-only/tsr.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "routesDirectory": "./src/routes",
3 | "generatedRouteTree": "./src/routeTree.gen.ts",
4 | "disableManifestGeneration": true
5 | }
6 |
--------------------------------------------------------------------------------
/e2e/react-router/js-only-file-based/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-hash
5 | dist-ssr
6 | *.local
7 |
8 | /test-results/
9 | /playwright-report/
10 | /blob-report/
11 | /playwright/.cache/
--------------------------------------------------------------------------------
/e2e/react-router/js-only-file-based/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/js-only-file-based/tailwind.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: ['./src/**/*.{js,jsx,ts,tsx}', './index.html'],
4 | }
5 |
--------------------------------------------------------------------------------
/e2e/react-router/rspack-basic-file-based/README.md:
--------------------------------------------------------------------------------
1 | # Example
2 |
3 | To run this example:
4 |
5 | - `pnpm install`
6 | - `pnpm dev`
7 |
--------------------------------------------------------------------------------
/e2e/react-router/rspack-basic-file-based/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/e2e/react-router/rspack-basic-file-based/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///