create-croissant 0.1.40 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import n from"path";import{fileURLToPath as k}from"url";import r from"chalk";import{Command as y}from"commander";import{execa as j}from"execa";import e from"fs-extra";import P from"inquirer";import u from"ora";var b=k(import.meta.url),g=n.dirname(b),h=new y;h.name("create-croissant").description("Scaffold a new project using the Croissant Stack").argument("[project-name]","Name of the project").action(async m=>{console.log(r.bold.yellow(`
2
+ import s from"path";import{fileURLToPath as k}from"url";import i from"chalk";import{Command as y}from"commander";import{execa as j}from"execa";import e from"fs-extra";import P from"inquirer";import u from"ora";var b=k(import.meta.url),g=s.dirname(b),h=new y;h.name("create-croissant").description("Scaffold a new project using the Croissant Stack").argument("[project-name]","Name of the project").action(async m=>{console.log(i.bold.yellow(`
3
3
  \u{1F950} Welcome to the Croissant Stack!
4
- `));let l=await P.prompt([{type:"input",name:"name",message:"What is your project named?",default:m||"my-croissant-app",when:!m},{type:"confirm",name:"install",message:"Would you like to install dependencies?",default:!0},{type:"confirm",name:"mobile",message:"Would you like to include the mobile app (Expo)?",default:!0},{type:"confirm",name:"desktop",message:"Would you like to include the desktop app (Electron)?",default:!0}]),c=m||l.name,o=n.resolve(process.cwd(),c);e.existsSync(o)&&(console.error(r.red(`
4
+ `));let l=await P.prompt([{type:"input",name:"name",message:"What is your project named?",default:m||"my-croissant-app",when:!m},{type:"confirm",name:"install",message:"Would you like to install dependencies?",default:!0},{type:"confirm",name:"mobile",message:"Would you like to include the mobile app (Expo)?",default:!0},{type:"confirm",name:"desktop",message:"Would you like to include the desktop app (Electron)?",default:!0}]),c=m||l.name,o=s.resolve(process.cwd(),c);e.existsSync(o)&&(console.error(i.red(`
5
5
  Error: Directory ${c} already exists.
6
- `)),process.exit(1));let f=u("Scaffolding your project...").start();try{await e.ensureDir(o);let p=n.join(g,"..","template");if(await e.pathExists(p))await e.copy(p,o);else{let t=n.resolve(g,"../../.."),s=["node_modules","dist",".git","packages/create-croissant",".turbo","package-lock.json"];await e.copy(t,o,{filter:a=>{let i=n.relative(t,a);return!s.some(w=>i.startsWith(w))}})}if(!l.mobile){let t=n.join(o,"apps/mobile");if(await e.pathExists(t)){await e.remove(t);let s=n.join(o,"package.json");if(await e.pathExists(s)){let a=await e.readJson(s);a.scripts&&Object.keys(a.scripts).forEach(i=>{i.includes("mobile")&&delete a.scripts[i]}),await e.writeJson(s,a,{spaces:2})}}}if(!l.desktop){let t=n.join(o,"apps/desktop");if(await e.pathExists(t)){await e.remove(t);let s=n.join(o,"package.json");if(await e.pathExists(s)){let a=await e.readJson(s);a.scripts&&Object.keys(a.scripts).forEach(i=>{i.includes("desktop")&&delete a.scripts[i]}),await e.writeJson(s,a,{spaces:2})}}}let d=n.join(o,"package.json");if(await e.pathExists(d)){let t=await e.readJson(d);t.name=c,t.version="0.1.0",delete t.private,await e.writeJson(d,t,{spaces:2})}if(f.succeed(r.green(`Project ${c} created at ${o}`)),l.install){let t=u("Installing dependencies...").start();try{await j("npm",["install"],{cwd:o}),t.succeed(r.green("Dependencies installed!"))}catch{t.fail(r.red("Failed to install dependencies. You may need to run npm install manually."))}}console.log(r.bold.cyan(`
6
+ `)),process.exit(1));let f=u("Scaffolding your project...").start();try{await e.ensureDir(o);let p=s.join(g,"..","template");if(await e.pathExists(p))await e.copy(p,o);else{let t=s.resolve(g,"../../.."),n=["node_modules","dist",".git","packages/create-croissant",".turbo","package-lock.json"];await e.copy(t,o,{filter:a=>{let r=s.relative(t,a);return!n.some(w=>r.startsWith(w))}})}if(!l.mobile){let t=s.join(o,"apps/mobile");if(await e.pathExists(t)){await e.remove(t);let n=s.join(o,"package.json");if(await e.pathExists(n)){let a=await e.readJson(n);a.scripts&&Object.keys(a.scripts).forEach(r=>{r.includes("mobile")&&delete a.scripts[r]}),await e.writeJson(n,a,{spaces:2})}}}if(!l.desktop){let t=s.join(o,"apps/desktop");if(await e.pathExists(t)){await e.remove(t);let n=s.join(o,"package.json");if(await e.pathExists(n)){let a=await e.readJson(n);a.scripts&&Object.keys(a.scripts).forEach(r=>{r.includes("desktop")&&delete a.scripts[r]}),await e.writeJson(n,a,{spaces:2})}}}let d=s.join(o,"package.json");if(await e.pathExists(d)){let t=await e.readJson(d);t.name=c,t.version="0.1.0",delete t.private,await e.writeJson(d,t,{spaces:2})}if(f.succeed(i.green(`Project ${c} created at ${o}`)),l.install){let t=u("Installing dependencies...").start();try{await j("npm",["install"],{cwd:o}),t.succeed(i.green("Dependencies installed!"))}catch{t.fail(i.red("Failed to install dependencies. You may need to run npm install manually."))}}console.log(i.bold.cyan(`
7
7
  Next steps:`)),console.log(` cd ${c}`),console.log(" npm run db:up # Start your PostgreSQL database"),console.log(` npm run dev # Start development server
8
- `),console.log(r.yellow(`Happy hacking! \u{1F950}
9
- `))}catch(p){f.fail(r.red("An error occurred during scaffolding.")),console.error(p),process.exit(1)}});h.parse(process.argv);
8
+ `),console.log(i.yellow(`Happy hacking! \u{1F950}
9
+ `))}catch(p){f.fail(i.red("An error occurred during scaffolding.")),console.error(p),process.exit(1)}});h.parse(process.argv);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-croissant",
3
- "version": "0.1.40",
3
+ "version": "0.1.42",
4
4
  "description": "Scaffold a new project using the Croissant Stack",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,7 +22,6 @@
22
22
  "scripts": {
23
23
  "build": "npm run prepare-template && tsup src/index.ts --format esm --clean --minify",
24
24
  "dev": "tsup src/index.ts --format esm --watch",
25
- "lint": "eslint src",
26
25
  "typecheck": "tsc --noEmit",
27
26
  "prepare-template": "node scripts/prepare-template.js"
28
27
  },
@@ -38,8 +37,6 @@
38
37
  "@types/fs-extra": "^11.0.4",
39
38
  "@types/inquirer": "^9.0.9",
40
39
  "@types/node": "^25.6.0",
41
- "@workspace/config-eslint": "*",
42
- "@workspace/config-prettier": "*",
43
40
  "@workspace/config-typescript": "*",
44
41
  "tsup": "^8.5.1"
45
42
  }
@@ -0,0 +1,11 @@
1
+ node_modules
2
+ dist
3
+ .turbo
4
+ .vercel
5
+ .output
6
+ .nitro
7
+ .tanstack
8
+ .vinxi
9
+ coverage
10
+ apps/platform/src/routeTree.gen.ts
11
+ packages/create-croissant/template
@@ -12,33 +12,36 @@ npx create-croissant@latest
12
12
 
13
13
  ---
14
14
 
15
- ## 🚀 Features
15
+ ## 🌟 Features
16
16
 
17
- - **Frontend**: [TanStack Start](https://tanstack.com/start) for a seamless, type-safe React experience.
17
+ - **Web (Platform)**: [TanStack Start](https://tanstack.com/start) for a seamless, type-safe React experience.
18
+ - **Mobile**: [Expo](https://expo.dev/) (React Native) for cross-platform mobile development.
19
+ - **Desktop**: [Electron](https://www.electronjs.org/) with [electron-vite](https://electron-vite.org/) for native desktop applications.
18
20
  - **Authentication**: [Better Auth](https://www.better-auth.com/) with Drizzle adapter and PostgreSQL.
19
21
  - **API**: [oRPC](https://orpc.sh/) with a modular, namespaced router for end-to-end type-safety.
20
22
  - **Database**: [Drizzle ORM](https://orm.drizzle.team/) with PostgreSQL and Docker Compose setup.
21
23
  - **Styling**: [shadcn/ui](https://ui.shadcn.com/) components with Tailwind CSS.
22
- - **Monorepo**: Powered by [Turborepo](https://turbo.build/) for lightning-fast builds and smart task orchestration.
23
- - **Developer Experience**: Path aliases (`@/`), strict TypeScript, and automated linting/formatting.
24
-
25
- ## 🚀 Monorepo Management with Turborepo
26
-
27
- This project uses **Turborepo** to manage the monorepo efficiently. Turbo understands the dependency graph between our packages and optimizes our workflow in several ways:
28
-
29
- - **Smart Caching**: Tasks like `build` and `lint` are cached. If the code hasn't changed, Turbo will replay the logs and output instantly.
30
- - **Parallel Execution**: Run tasks across multiple packages simultaneously without stepping on each other's toes.
31
- - **Task Pipelines**: Defines the relationship between tasks (e.g., "don't build the app until its dependencies are built").
32
-
33
- You can see the configuration in `turbo.json`.
24
+ - **Monorepo Management**: Powered by [Turborepo](https://turbo.build/) for lightning-fast builds and smart task orchestration.
25
+ - **Developer Experience**:
26
+ - Path aliases (`@/`) for clean imports.
27
+ - Strict TypeScript across the entire stack.
28
+ - Ultra-fast linting and formatting with [Oxc](https://oxc.rs/) (`oxlint` and `oxfmt`).
29
+ - Automated CI checks on push via [Husky](https://typicode.github.io/husky/).
34
30
 
35
31
  ## 📁 Project Structure
36
32
 
37
- - `apps/platform`: The main TanStack Start application. Uses `@/` path alias for clean imports.
38
- - `packages/auth`: Authentication logic and Better Auth configuration.
39
- - `packages/db`: Database schema, migrations, and Drizzle client.
40
- - `packages/orpc`: Type-safe API router. Organized into modular files (e.g., `lib/planets.ts`).
41
- - `packages/ui`: Shared UI components and styles.
33
+ ### Apps
34
+ - `apps/platform`: The main TanStack Start web application.
35
+ - `apps/mobile`: Expo-powered mobile application.
36
+ - `apps/desktop`: Electron-powered desktop application.
37
+
38
+ ### Packages
39
+ - `packages/auth` (`@workspace/auth`): Authentication logic and Better Auth configuration.
40
+ - `packages/db` (`@workspace/db`): Database schema, migrations, and Drizzle client.
41
+ - `packages/orpc` (`@workspace/orpc`): Type-safe API router and definitions.
42
+ - `packages/ui` (`@workspace/ui`): Shared UI components and global styles.
43
+ - `packages/config-typescript` (`@workspace/config-typescript`): Shared TypeScript configurations.
44
+ - `packages/create-croissant`: The CLI tool for scaffolding new projects.
42
45
 
43
46
  ## 🛠️ Getting Started
44
47
 
@@ -89,40 +92,44 @@ npm run db:push --filter @workspace/db
89
92
  npm run dev
90
93
  ```
91
94
 
92
- The application will be available at `http://localhost:3000`.
95
+ The web application will be available at `http://localhost:3000`.
93
96
 
94
97
  ## 📦 Scripts
95
98
 
96
99
  All scripts are orchestrated by Turborepo. You can run them from the root directory:
97
100
 
101
+ ### Core Scripts
98
102
  - `npm run dev`: Start all applications in development mode.
99
103
  - `npm run build`: Build all applications for production.
100
- - `npm run lint`: Lint all packages (uses Turbo's caching).
101
- - `npm run format`: Format all packages using Prettier.
104
+ - `npm run quality`: Run all quality checks (linting and formatting) using Oxc.
105
+ - `npm run quality:fix`: Automatically fix linting and formatting issues using Oxc.
102
106
  - `npm run typecheck`: Run TypeScript type checking across the workspace.
107
+ - `npm run ci`: Run linting, type-checking, and build (used in CI/CD).
103
108
 
104
109
  ### 🗄️ Database Scripts
105
-
106
110
  These handle Docker and Drizzle operations:
107
-
108
111
  - `npm run db:up`: Start the PostgreSQL Docker container.
109
112
  - `npm run db:down`: Stop and remove the database container.
110
113
  - `npm run db:logs`: Tail logs from the database container.
111
114
  - `npm run db:push --filter @workspace/db`: Push Drizzle schema to the database.
112
115
  - `npm run db:studio --filter @workspace/db`: Open Drizzle Studio to explore your data.
113
116
 
114
- ### 🎯 Filtering Tasks
117
+ ## 🎯 Turborepo Power
115
118
 
119
+ ### Filtering Tasks
116
120
  Turbo allows you to run tasks for specific packages using the `--filter` flag:
117
121
 
118
122
  ```bash
119
- # Only lint the web app
120
- npm run lint -- --filter web
123
+ # Only lint the platform app
124
+ npm run lint -- --filter platform
121
125
 
122
126
  # Build the db package and everything that depends on it
123
127
  npm run build -- --filter @workspace/db...
124
128
  ```
125
129
 
130
+ ### Smart Caching
131
+ Tasks like `build` and `lint` are cached. If the code hasn't changed, Turbo will replay the logs and output instantly.
132
+
126
133
  ## 🔗 oRPC & Type Safety
127
134
 
128
135
  The project uses oRPC for end-to-end type safety. The router is modularized for better maintainability:
@@ -140,16 +147,29 @@ type Inputs = InferRouterInputs<typeof router>;
140
147
  type Outputs = InferRouterOutputs<typeof router>;
141
148
  ```
142
149
 
143
- ## 🧱 Adding Components
150
+ ## 🧱 UI Components
144
151
 
145
152
  To add components to the shared UI package:
146
153
 
147
154
  ```bash
148
- npx shadcn@latest add [component-name] -c apps/web
155
+ npx shadcn@latest add [component-name] -c apps/platform
149
156
  ```
150
157
 
151
158
  This will place the UI components in `packages/ui/src/components`.
152
159
 
160
+ ## 🛡️ Quality & Git Hooks
161
+
162
+ This project uses **Husky** to ensure code quality. When pushing to the `main` branch, it automatically runs the CI pipeline (`npm run ci`) to prevent broken code from being pushed.
163
+
164
+ Formatting and linting are handled by **Oxc**, which is significantly faster than ESLint and Prettier.
165
+
166
+ - **Linting**: `oxlint`
167
+ - **Formatting**: `oxfmt`
168
+
169
+ ---
170
+
171
+ Built with ❤️ for the ultimate developer experience.
172
+
153
173
  ## 🛡️ License
154
174
 
155
175
  MIT
@@ -4,7 +4,7 @@ An Electron application with React and TypeScript
4
4
 
5
5
  ## Recommended IDE Setup
6
6
 
7
- - [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
7
+ - [VSCode](https://code.visualstudio.com/)
8
8
 
9
9
  ## Project Setup
10
10
 
@@ -6,7 +6,7 @@ files:
6
6
  - "!**/.vscode/*"
7
7
  - "!src/*"
8
8
  - "!electron.vite.config.{js,ts,mjs,cjs}"
9
- - "!{.eslintcache,eslint.config.mjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}"
9
+ - "!{dev-app-update.yml,CHANGELOG.md,README.md}"
10
10
  - "!{.env,.env.*,.npmrc,pnpm-lock.yaml}"
11
11
  - "!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}"
12
12
  asarUnpack:
@@ -6,8 +6,6 @@
6
6
  "author": "example.com",
7
7
  "main": "./out/main/index.js",
8
8
  "scripts": {
9
- "format": "prettier --write .",
10
- "lint": "eslint --cache .",
11
9
  "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
12
10
  "typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
13
11
  "typecheck": "npm run typecheck:node && npm run typecheck:web",
@@ -26,19 +24,12 @@
26
24
  "electron-updater": "^6.3.9"
27
25
  },
28
26
  "devDependencies": {
29
- "@electron-toolkit/eslint-config-prettier": "^3.0.0",
30
- "@electron-toolkit/eslint-config-ts": "^3.1.0",
31
27
  "@electron-toolkit/tsconfig": "^2.0.0",
32
28
  "@types/node": "^22.19.1",
33
29
  "@vitejs/plugin-react": "^5.1.1",
34
- "@workspace/config-eslint": "*",
35
- "@workspace/config-prettier": "*",
36
30
  "@workspace/config-typescript": "*",
37
31
  "electron": "39.8.9",
38
32
  "electron-builder": "^26.0.12",
39
- "electron-vite": "^5.0.0",
40
- "eslint-plugin-react": "^7.37.5",
41
- "eslint-plugin-react-hooks": "^7.1.1",
42
- "eslint-plugin-react-refresh": "^0.5.2"
33
+ "electron-vite": "^5.0.0"
43
34
  }
44
35
  }
@@ -4,11 +4,5 @@
4
4
  "composite": true,
5
5
  "types": ["electron-vite/node"]
6
6
  },
7
- "include": [
8
- "src/main/**/*",
9
- "src/preload/**/*",
10
- "electron.vite.config.ts",
11
- "eslint.config.ts",
12
- "prettier.config.ts"
13
- ]
7
+ "include": ["src/main/**/*", "src/preload/**/*", "electron.vite.config.ts"]
14
8
  }
@@ -5,8 +5,7 @@
5
5
  "src/renderer/src/**/*",
6
6
  "src/renderer/src/**/*.tsx",
7
7
  "src/preload/*.d.ts",
8
- "electron.vite.config.ts",
9
- "prettier.config.js"
8
+ "electron.vite.config.ts"
10
9
  ],
11
10
  "compilerOptions": {
12
11
  "composite": true,
@@ -10,7 +10,6 @@
10
10
  "android": "expo start --android",
11
11
  "ios": "expo start --ios",
12
12
  "web": "expo start --web",
13
- "lint": "expo lint",
14
13
  "build": "expo export --output-dir .output"
15
14
  },
16
15
  "dependencies": {
@@ -38,7 +37,5 @@
38
37
  "react-native-web": "~0.21.0",
39
38
  "react-native-worklets": "0.7.4"
40
39
  },
41
- "devDependencies": {
42
- "eslint-config-expo": "~55.0.0"
43
- }
40
+ "devDependencies": {}
44
41
  }
@@ -7,8 +7,6 @@
7
7
  "dev": "vite dev --port 3000",
8
8
  "build": "vite build",
9
9
  "preview": "vite preview",
10
- "lint": "eslint",
11
- "format": "prettier --write \"**/*.{ts,tsx}\"",
12
10
  "typecheck": "tsc --noEmit",
13
11
  "db:push": "drizzle-kit push",
14
12
  "db:studio": "drizzle-kit studio"
@@ -36,8 +34,6 @@
36
34
  "devDependencies": {
37
35
  "@types/node": "^25.6.0",
38
36
  "@vitejs/plugin-react": "^6.0.1",
39
- "@workspace/config-eslint": "*",
40
- "@workspace/config-prettier": "*",
41
37
  "@workspace/config-typescript": "*",
42
38
  "vite": "^8.0.10"
43
39
  }
@@ -8,300 +8,298 @@
8
8
  // You should NOT make any changes in this file as it will be overwritten.
9
9
  // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
10
10
 
11
- import { Route as rootRouteImport } from './routes/__root'
12
- import { Route as PublicRouteImport } from './routes/_public'
13
- import { Route as AuthRouteImport } from './routes/_auth'
14
- import { Route as PublicIndexRouteImport } from './routes/_public/index'
15
- import { Route as PublicSignupRouteImport } from './routes/_public/signup'
16
- import { Route as PublicLoginRouteImport } from './routes/_public/login'
17
- import { Route as AuthDashboardRouteImport } from './routes/_auth/dashboard'
18
- import { Route as AuthAccountRouteImport } from './routes/_auth/account'
19
- import { Route as ApiRpcSplatRouteImport } from './routes/api/rpc.$'
20
- import { Route as ApiAuthSplatRouteImport } from './routes/api/auth/$'
21
- import { Route as PublicExamplesSsrOrpcRouteImport } from './routes/_public/examples/ssr-orpc'
22
- import { Route as PublicExamplesIsrRouteImport } from './routes/_public/examples/isr'
23
- import { Route as PublicExamplesClientOrpcRouteImport } from './routes/_public/examples/client-orpc'
24
- import { Route as AuthExamplesSsrOrpcAuthRouteImport } from './routes/_auth/examples/ssr-orpc-auth'
25
- import { Route as AuthExamplesClientOrpcAuthRouteImport } from './routes/_auth/examples/client-orpc-auth'
11
+ import { Route as rootRouteImport } from "./routes/__root";
12
+ import { Route as PublicRouteImport } from "./routes/_public";
13
+ import { Route as AuthRouteImport } from "./routes/_auth";
14
+ import { Route as PublicIndexRouteImport } from "./routes/_public/index";
15
+ import { Route as PublicSignupRouteImport } from "./routes/_public/signup";
16
+ import { Route as PublicLoginRouteImport } from "./routes/_public/login";
17
+ import { Route as AuthDashboardRouteImport } from "./routes/_auth/dashboard";
18
+ import { Route as AuthAccountRouteImport } from "./routes/_auth/account";
19
+ import { Route as ApiRpcSplatRouteImport } from "./routes/api/rpc.$";
20
+ import { Route as ApiAuthSplatRouteImport } from "./routes/api/auth/$";
21
+ import { Route as PublicExamplesSsrOrpcRouteImport } from "./routes/_public/examples/ssr-orpc";
22
+ import { Route as PublicExamplesIsrRouteImport } from "./routes/_public/examples/isr";
23
+ import { Route as PublicExamplesClientOrpcRouteImport } from "./routes/_public/examples/client-orpc";
24
+ import { Route as AuthExamplesSsrOrpcAuthRouteImport } from "./routes/_auth/examples/ssr-orpc-auth";
25
+ import { Route as AuthExamplesClientOrpcAuthRouteImport } from "./routes/_auth/examples/client-orpc-auth";
26
26
 
27
27
  const PublicRoute = PublicRouteImport.update({
28
- id: '/_public',
28
+ id: "/_public",
29
29
  getParentRoute: () => rootRouteImport,
30
- } as any)
30
+ } as any);
31
31
  const AuthRoute = AuthRouteImport.update({
32
- id: '/_auth',
32
+ id: "/_auth",
33
33
  getParentRoute: () => rootRouteImport,
34
- } as any)
34
+ } as any);
35
35
  const PublicIndexRoute = PublicIndexRouteImport.update({
36
- id: '/',
37
- path: '/',
36
+ id: "/",
37
+ path: "/",
38
38
  getParentRoute: () => PublicRoute,
39
- } as any)
39
+ } as any);
40
40
  const PublicSignupRoute = PublicSignupRouteImport.update({
41
- id: '/signup',
42
- path: '/signup',
41
+ id: "/signup",
42
+ path: "/signup",
43
43
  getParentRoute: () => PublicRoute,
44
- } as any)
44
+ } as any);
45
45
  const PublicLoginRoute = PublicLoginRouteImport.update({
46
- id: '/login',
47
- path: '/login',
46
+ id: "/login",
47
+ path: "/login",
48
48
  getParentRoute: () => PublicRoute,
49
- } as any)
49
+ } as any);
50
50
  const AuthDashboardRoute = AuthDashboardRouteImport.update({
51
- id: '/dashboard',
52
- path: '/dashboard',
51
+ id: "/dashboard",
52
+ path: "/dashboard",
53
53
  getParentRoute: () => AuthRoute,
54
- } as any)
54
+ } as any);
55
55
  const AuthAccountRoute = AuthAccountRouteImport.update({
56
- id: '/account',
57
- path: '/account',
56
+ id: "/account",
57
+ path: "/account",
58
58
  getParentRoute: () => AuthRoute,
59
- } as any)
59
+ } as any);
60
60
  const ApiRpcSplatRoute = ApiRpcSplatRouteImport.update({
61
- id: '/api/rpc/$',
62
- path: '/api/rpc/$',
61
+ id: "/api/rpc/$",
62
+ path: "/api/rpc/$",
63
63
  getParentRoute: () => rootRouteImport,
64
- } as any)
64
+ } as any);
65
65
  const ApiAuthSplatRoute = ApiAuthSplatRouteImport.update({
66
- id: '/api/auth/$',
67
- path: '/api/auth/$',
66
+ id: "/api/auth/$",
67
+ path: "/api/auth/$",
68
68
  getParentRoute: () => rootRouteImport,
69
- } as any)
69
+ } as any);
70
70
  const PublicExamplesSsrOrpcRoute = PublicExamplesSsrOrpcRouteImport.update({
71
- id: '/examples/ssr-orpc',
72
- path: '/examples/ssr-orpc',
71
+ id: "/examples/ssr-orpc",
72
+ path: "/examples/ssr-orpc",
73
73
  getParentRoute: () => PublicRoute,
74
- } as any)
74
+ } as any);
75
75
  const PublicExamplesIsrRoute = PublicExamplesIsrRouteImport.update({
76
- id: '/examples/isr',
77
- path: '/examples/isr',
76
+ id: "/examples/isr",
77
+ path: "/examples/isr",
78
78
  getParentRoute: () => PublicRoute,
79
- } as any)
80
- const PublicExamplesClientOrpcRoute =
81
- PublicExamplesClientOrpcRouteImport.update({
82
- id: '/examples/client-orpc',
83
- path: '/examples/client-orpc',
84
- getParentRoute: () => PublicRoute,
85
- } as any)
79
+ } as any);
80
+ const PublicExamplesClientOrpcRoute = PublicExamplesClientOrpcRouteImport.update({
81
+ id: "/examples/client-orpc",
82
+ path: "/examples/client-orpc",
83
+ getParentRoute: () => PublicRoute,
84
+ } as any);
86
85
  const AuthExamplesSsrOrpcAuthRoute = AuthExamplesSsrOrpcAuthRouteImport.update({
87
- id: '/examples/ssr-orpc-auth',
88
- path: '/examples/ssr-orpc-auth',
86
+ id: "/examples/ssr-orpc-auth",
87
+ path: "/examples/ssr-orpc-auth",
88
+ getParentRoute: () => AuthRoute,
89
+ } as any);
90
+ const AuthExamplesClientOrpcAuthRoute = AuthExamplesClientOrpcAuthRouteImport.update({
91
+ id: "/examples/client-orpc-auth",
92
+ path: "/examples/client-orpc-auth",
89
93
  getParentRoute: () => AuthRoute,
90
- } as any)
91
- const AuthExamplesClientOrpcAuthRoute =
92
- AuthExamplesClientOrpcAuthRouteImport.update({
93
- id: '/examples/client-orpc-auth',
94
- path: '/examples/client-orpc-auth',
95
- getParentRoute: () => AuthRoute,
96
- } as any)
94
+ } as any);
97
95
 
98
96
  export interface FileRoutesByFullPath {
99
- '/': typeof PublicIndexRoute
100
- '/account': typeof AuthAccountRoute
101
- '/dashboard': typeof AuthDashboardRoute
102
- '/login': typeof PublicLoginRoute
103
- '/signup': typeof PublicSignupRoute
104
- '/examples/client-orpc-auth': typeof AuthExamplesClientOrpcAuthRoute
105
- '/examples/ssr-orpc-auth': typeof AuthExamplesSsrOrpcAuthRoute
106
- '/examples/client-orpc': typeof PublicExamplesClientOrpcRoute
107
- '/examples/isr': typeof PublicExamplesIsrRoute
108
- '/examples/ssr-orpc': typeof PublicExamplesSsrOrpcRoute
109
- '/api/auth/$': typeof ApiAuthSplatRoute
110
- '/api/rpc/$': typeof ApiRpcSplatRoute
97
+ "/": typeof PublicIndexRoute;
98
+ "/account": typeof AuthAccountRoute;
99
+ "/dashboard": typeof AuthDashboardRoute;
100
+ "/login": typeof PublicLoginRoute;
101
+ "/signup": typeof PublicSignupRoute;
102
+ "/examples/client-orpc-auth": typeof AuthExamplesClientOrpcAuthRoute;
103
+ "/examples/ssr-orpc-auth": typeof AuthExamplesSsrOrpcAuthRoute;
104
+ "/examples/client-orpc": typeof PublicExamplesClientOrpcRoute;
105
+ "/examples/isr": typeof PublicExamplesIsrRoute;
106
+ "/examples/ssr-orpc": typeof PublicExamplesSsrOrpcRoute;
107
+ "/api/auth/$": typeof ApiAuthSplatRoute;
108
+ "/api/rpc/$": typeof ApiRpcSplatRoute;
111
109
  }
112
110
  export interface FileRoutesByTo {
113
- '/': typeof PublicIndexRoute
114
- '/account': typeof AuthAccountRoute
115
- '/dashboard': typeof AuthDashboardRoute
116
- '/login': typeof PublicLoginRoute
117
- '/signup': typeof PublicSignupRoute
118
- '/examples/client-orpc-auth': typeof AuthExamplesClientOrpcAuthRoute
119
- '/examples/ssr-orpc-auth': typeof AuthExamplesSsrOrpcAuthRoute
120
- '/examples/client-orpc': typeof PublicExamplesClientOrpcRoute
121
- '/examples/isr': typeof PublicExamplesIsrRoute
122
- '/examples/ssr-orpc': typeof PublicExamplesSsrOrpcRoute
123
- '/api/auth/$': typeof ApiAuthSplatRoute
124
- '/api/rpc/$': typeof ApiRpcSplatRoute
111
+ "/": typeof PublicIndexRoute;
112
+ "/account": typeof AuthAccountRoute;
113
+ "/dashboard": typeof AuthDashboardRoute;
114
+ "/login": typeof PublicLoginRoute;
115
+ "/signup": typeof PublicSignupRoute;
116
+ "/examples/client-orpc-auth": typeof AuthExamplesClientOrpcAuthRoute;
117
+ "/examples/ssr-orpc-auth": typeof AuthExamplesSsrOrpcAuthRoute;
118
+ "/examples/client-orpc": typeof PublicExamplesClientOrpcRoute;
119
+ "/examples/isr": typeof PublicExamplesIsrRoute;
120
+ "/examples/ssr-orpc": typeof PublicExamplesSsrOrpcRoute;
121
+ "/api/auth/$": typeof ApiAuthSplatRoute;
122
+ "/api/rpc/$": typeof ApiRpcSplatRoute;
125
123
  }
126
124
  export interface FileRoutesById {
127
- __root__: typeof rootRouteImport
128
- '/_auth': typeof AuthRouteWithChildren
129
- '/_public': typeof PublicRouteWithChildren
130
- '/_auth/account': typeof AuthAccountRoute
131
- '/_auth/dashboard': typeof AuthDashboardRoute
132
- '/_public/login': typeof PublicLoginRoute
133
- '/_public/signup': typeof PublicSignupRoute
134
- '/_public/': typeof PublicIndexRoute
135
- '/_auth/examples/client-orpc-auth': typeof AuthExamplesClientOrpcAuthRoute
136
- '/_auth/examples/ssr-orpc-auth': typeof AuthExamplesSsrOrpcAuthRoute
137
- '/_public/examples/client-orpc': typeof PublicExamplesClientOrpcRoute
138
- '/_public/examples/isr': typeof PublicExamplesIsrRoute
139
- '/_public/examples/ssr-orpc': typeof PublicExamplesSsrOrpcRoute
140
- '/api/auth/$': typeof ApiAuthSplatRoute
141
- '/api/rpc/$': typeof ApiRpcSplatRoute
125
+ __root__: typeof rootRouteImport;
126
+ "/_auth": typeof AuthRouteWithChildren;
127
+ "/_public": typeof PublicRouteWithChildren;
128
+ "/_auth/account": typeof AuthAccountRoute;
129
+ "/_auth/dashboard": typeof AuthDashboardRoute;
130
+ "/_public/login": typeof PublicLoginRoute;
131
+ "/_public/signup": typeof PublicSignupRoute;
132
+ "/_public/": typeof PublicIndexRoute;
133
+ "/_auth/examples/client-orpc-auth": typeof AuthExamplesClientOrpcAuthRoute;
134
+ "/_auth/examples/ssr-orpc-auth": typeof AuthExamplesSsrOrpcAuthRoute;
135
+ "/_public/examples/client-orpc": typeof PublicExamplesClientOrpcRoute;
136
+ "/_public/examples/isr": typeof PublicExamplesIsrRoute;
137
+ "/_public/examples/ssr-orpc": typeof PublicExamplesSsrOrpcRoute;
138
+ "/api/auth/$": typeof ApiAuthSplatRoute;
139
+ "/api/rpc/$": typeof ApiRpcSplatRoute;
142
140
  }
143
141
  export interface FileRouteTypes {
144
- fileRoutesByFullPath: FileRoutesByFullPath
142
+ fileRoutesByFullPath: FileRoutesByFullPath;
145
143
  fullPaths:
146
- | '/'
147
- | '/account'
148
- | '/dashboard'
149
- | '/login'
150
- | '/signup'
151
- | '/examples/client-orpc-auth'
152
- | '/examples/ssr-orpc-auth'
153
- | '/examples/client-orpc'
154
- | '/examples/isr'
155
- | '/examples/ssr-orpc'
156
- | '/api/auth/$'
157
- | '/api/rpc/$'
158
- fileRoutesByTo: FileRoutesByTo
144
+ | "/"
145
+ | "/account"
146
+ | "/dashboard"
147
+ | "/login"
148
+ | "/signup"
149
+ | "/examples/client-orpc-auth"
150
+ | "/examples/ssr-orpc-auth"
151
+ | "/examples/client-orpc"
152
+ | "/examples/isr"
153
+ | "/examples/ssr-orpc"
154
+ | "/api/auth/$"
155
+ | "/api/rpc/$";
156
+ fileRoutesByTo: FileRoutesByTo;
159
157
  to:
160
- | '/'
161
- | '/account'
162
- | '/dashboard'
163
- | '/login'
164
- | '/signup'
165
- | '/examples/client-orpc-auth'
166
- | '/examples/ssr-orpc-auth'
167
- | '/examples/client-orpc'
168
- | '/examples/isr'
169
- | '/examples/ssr-orpc'
170
- | '/api/auth/$'
171
- | '/api/rpc/$'
158
+ | "/"
159
+ | "/account"
160
+ | "/dashboard"
161
+ | "/login"
162
+ | "/signup"
163
+ | "/examples/client-orpc-auth"
164
+ | "/examples/ssr-orpc-auth"
165
+ | "/examples/client-orpc"
166
+ | "/examples/isr"
167
+ | "/examples/ssr-orpc"
168
+ | "/api/auth/$"
169
+ | "/api/rpc/$";
172
170
  id:
173
- | '__root__'
174
- | '/_auth'
175
- | '/_public'
176
- | '/_auth/account'
177
- | '/_auth/dashboard'
178
- | '/_public/login'
179
- | '/_public/signup'
180
- | '/_public/'
181
- | '/_auth/examples/client-orpc-auth'
182
- | '/_auth/examples/ssr-orpc-auth'
183
- | '/_public/examples/client-orpc'
184
- | '/_public/examples/isr'
185
- | '/_public/examples/ssr-orpc'
186
- | '/api/auth/$'
187
- | '/api/rpc/$'
188
- fileRoutesById: FileRoutesById
171
+ | "__root__"
172
+ | "/_auth"
173
+ | "/_public"
174
+ | "/_auth/account"
175
+ | "/_auth/dashboard"
176
+ | "/_public/login"
177
+ | "/_public/signup"
178
+ | "/_public/"
179
+ | "/_auth/examples/client-orpc-auth"
180
+ | "/_auth/examples/ssr-orpc-auth"
181
+ | "/_public/examples/client-orpc"
182
+ | "/_public/examples/isr"
183
+ | "/_public/examples/ssr-orpc"
184
+ | "/api/auth/$"
185
+ | "/api/rpc/$";
186
+ fileRoutesById: FileRoutesById;
189
187
  }
190
188
  export interface RootRouteChildren {
191
- AuthRoute: typeof AuthRouteWithChildren
192
- PublicRoute: typeof PublicRouteWithChildren
193
- ApiAuthSplatRoute: typeof ApiAuthSplatRoute
194
- ApiRpcSplatRoute: typeof ApiRpcSplatRoute
189
+ AuthRoute: typeof AuthRouteWithChildren;
190
+ PublicRoute: typeof PublicRouteWithChildren;
191
+ ApiAuthSplatRoute: typeof ApiAuthSplatRoute;
192
+ ApiRpcSplatRoute: typeof ApiRpcSplatRoute;
195
193
  }
196
194
 
197
- declare module '@tanstack/react-router' {
195
+ declare module "@tanstack/react-router" {
198
196
  interface FileRoutesByPath {
199
- '/_public': {
200
- id: '/_public'
201
- path: ''
202
- fullPath: '/'
203
- preLoaderRoute: typeof PublicRouteImport
204
- parentRoute: typeof rootRouteImport
205
- }
206
- '/_auth': {
207
- id: '/_auth'
208
- path: ''
209
- fullPath: '/'
210
- preLoaderRoute: typeof AuthRouteImport
211
- parentRoute: typeof rootRouteImport
212
- }
213
- '/_public/': {
214
- id: '/_public/'
215
- path: '/'
216
- fullPath: '/'
217
- preLoaderRoute: typeof PublicIndexRouteImport
218
- parentRoute: typeof PublicRoute
219
- }
220
- '/_public/signup': {
221
- id: '/_public/signup'
222
- path: '/signup'
223
- fullPath: '/signup'
224
- preLoaderRoute: typeof PublicSignupRouteImport
225
- parentRoute: typeof PublicRoute
226
- }
227
- '/_public/login': {
228
- id: '/_public/login'
229
- path: '/login'
230
- fullPath: '/login'
231
- preLoaderRoute: typeof PublicLoginRouteImport
232
- parentRoute: typeof PublicRoute
233
- }
234
- '/_auth/dashboard': {
235
- id: '/_auth/dashboard'
236
- path: '/dashboard'
237
- fullPath: '/dashboard'
238
- preLoaderRoute: typeof AuthDashboardRouteImport
239
- parentRoute: typeof AuthRoute
240
- }
241
- '/_auth/account': {
242
- id: '/_auth/account'
243
- path: '/account'
244
- fullPath: '/account'
245
- preLoaderRoute: typeof AuthAccountRouteImport
246
- parentRoute: typeof AuthRoute
247
- }
248
- '/api/rpc/$': {
249
- id: '/api/rpc/$'
250
- path: '/api/rpc/$'
251
- fullPath: '/api/rpc/$'
252
- preLoaderRoute: typeof ApiRpcSplatRouteImport
253
- parentRoute: typeof rootRouteImport
254
- }
255
- '/api/auth/$': {
256
- id: '/api/auth/$'
257
- path: '/api/auth/$'
258
- fullPath: '/api/auth/$'
259
- preLoaderRoute: typeof ApiAuthSplatRouteImport
260
- parentRoute: typeof rootRouteImport
261
- }
262
- '/_public/examples/ssr-orpc': {
263
- id: '/_public/examples/ssr-orpc'
264
- path: '/examples/ssr-orpc'
265
- fullPath: '/examples/ssr-orpc'
266
- preLoaderRoute: typeof PublicExamplesSsrOrpcRouteImport
267
- parentRoute: typeof PublicRoute
268
- }
269
- '/_public/examples/isr': {
270
- id: '/_public/examples/isr'
271
- path: '/examples/isr'
272
- fullPath: '/examples/isr'
273
- preLoaderRoute: typeof PublicExamplesIsrRouteImport
274
- parentRoute: typeof PublicRoute
275
- }
276
- '/_public/examples/client-orpc': {
277
- id: '/_public/examples/client-orpc'
278
- path: '/examples/client-orpc'
279
- fullPath: '/examples/client-orpc'
280
- preLoaderRoute: typeof PublicExamplesClientOrpcRouteImport
281
- parentRoute: typeof PublicRoute
282
- }
283
- '/_auth/examples/ssr-orpc-auth': {
284
- id: '/_auth/examples/ssr-orpc-auth'
285
- path: '/examples/ssr-orpc-auth'
286
- fullPath: '/examples/ssr-orpc-auth'
287
- preLoaderRoute: typeof AuthExamplesSsrOrpcAuthRouteImport
288
- parentRoute: typeof AuthRoute
289
- }
290
- '/_auth/examples/client-orpc-auth': {
291
- id: '/_auth/examples/client-orpc-auth'
292
- path: '/examples/client-orpc-auth'
293
- fullPath: '/examples/client-orpc-auth'
294
- preLoaderRoute: typeof AuthExamplesClientOrpcAuthRouteImport
295
- parentRoute: typeof AuthRoute
296
- }
197
+ "/_public": {
198
+ id: "/_public";
199
+ path: "";
200
+ fullPath: "/";
201
+ preLoaderRoute: typeof PublicRouteImport;
202
+ parentRoute: typeof rootRouteImport;
203
+ };
204
+ "/_auth": {
205
+ id: "/_auth";
206
+ path: "";
207
+ fullPath: "/";
208
+ preLoaderRoute: typeof AuthRouteImport;
209
+ parentRoute: typeof rootRouteImport;
210
+ };
211
+ "/_public/": {
212
+ id: "/_public/";
213
+ path: "/";
214
+ fullPath: "/";
215
+ preLoaderRoute: typeof PublicIndexRouteImport;
216
+ parentRoute: typeof PublicRoute;
217
+ };
218
+ "/_public/signup": {
219
+ id: "/_public/signup";
220
+ path: "/signup";
221
+ fullPath: "/signup";
222
+ preLoaderRoute: typeof PublicSignupRouteImport;
223
+ parentRoute: typeof PublicRoute;
224
+ };
225
+ "/_public/login": {
226
+ id: "/_public/login";
227
+ path: "/login";
228
+ fullPath: "/login";
229
+ preLoaderRoute: typeof PublicLoginRouteImport;
230
+ parentRoute: typeof PublicRoute;
231
+ };
232
+ "/_auth/dashboard": {
233
+ id: "/_auth/dashboard";
234
+ path: "/dashboard";
235
+ fullPath: "/dashboard";
236
+ preLoaderRoute: typeof AuthDashboardRouteImport;
237
+ parentRoute: typeof AuthRoute;
238
+ };
239
+ "/_auth/account": {
240
+ id: "/_auth/account";
241
+ path: "/account";
242
+ fullPath: "/account";
243
+ preLoaderRoute: typeof AuthAccountRouteImport;
244
+ parentRoute: typeof AuthRoute;
245
+ };
246
+ "/api/rpc/$": {
247
+ id: "/api/rpc/$";
248
+ path: "/api/rpc/$";
249
+ fullPath: "/api/rpc/$";
250
+ preLoaderRoute: typeof ApiRpcSplatRouteImport;
251
+ parentRoute: typeof rootRouteImport;
252
+ };
253
+ "/api/auth/$": {
254
+ id: "/api/auth/$";
255
+ path: "/api/auth/$";
256
+ fullPath: "/api/auth/$";
257
+ preLoaderRoute: typeof ApiAuthSplatRouteImport;
258
+ parentRoute: typeof rootRouteImport;
259
+ };
260
+ "/_public/examples/ssr-orpc": {
261
+ id: "/_public/examples/ssr-orpc";
262
+ path: "/examples/ssr-orpc";
263
+ fullPath: "/examples/ssr-orpc";
264
+ preLoaderRoute: typeof PublicExamplesSsrOrpcRouteImport;
265
+ parentRoute: typeof PublicRoute;
266
+ };
267
+ "/_public/examples/isr": {
268
+ id: "/_public/examples/isr";
269
+ path: "/examples/isr";
270
+ fullPath: "/examples/isr";
271
+ preLoaderRoute: typeof PublicExamplesIsrRouteImport;
272
+ parentRoute: typeof PublicRoute;
273
+ };
274
+ "/_public/examples/client-orpc": {
275
+ id: "/_public/examples/client-orpc";
276
+ path: "/examples/client-orpc";
277
+ fullPath: "/examples/client-orpc";
278
+ preLoaderRoute: typeof PublicExamplesClientOrpcRouteImport;
279
+ parentRoute: typeof PublicRoute;
280
+ };
281
+ "/_auth/examples/ssr-orpc-auth": {
282
+ id: "/_auth/examples/ssr-orpc-auth";
283
+ path: "/examples/ssr-orpc-auth";
284
+ fullPath: "/examples/ssr-orpc-auth";
285
+ preLoaderRoute: typeof AuthExamplesSsrOrpcAuthRouteImport;
286
+ parentRoute: typeof AuthRoute;
287
+ };
288
+ "/_auth/examples/client-orpc-auth": {
289
+ id: "/_auth/examples/client-orpc-auth";
290
+ path: "/examples/client-orpc-auth";
291
+ fullPath: "/examples/client-orpc-auth";
292
+ preLoaderRoute: typeof AuthExamplesClientOrpcAuthRouteImport;
293
+ parentRoute: typeof AuthRoute;
294
+ };
297
295
  }
298
296
  }
299
297
 
300
298
  interface AuthRouteChildren {
301
- AuthAccountRoute: typeof AuthAccountRoute
302
- AuthDashboardRoute: typeof AuthDashboardRoute
303
- AuthExamplesClientOrpcAuthRoute: typeof AuthExamplesClientOrpcAuthRoute
304
- AuthExamplesSsrOrpcAuthRoute: typeof AuthExamplesSsrOrpcAuthRoute
299
+ AuthAccountRoute: typeof AuthAccountRoute;
300
+ AuthDashboardRoute: typeof AuthDashboardRoute;
301
+ AuthExamplesClientOrpcAuthRoute: typeof AuthExamplesClientOrpcAuthRoute;
302
+ AuthExamplesSsrOrpcAuthRoute: typeof AuthExamplesSsrOrpcAuthRoute;
305
303
  }
306
304
 
307
305
  const AuthRouteChildren: AuthRouteChildren = {
@@ -309,17 +307,17 @@ const AuthRouteChildren: AuthRouteChildren = {
309
307
  AuthDashboardRoute: AuthDashboardRoute,
310
308
  AuthExamplesClientOrpcAuthRoute: AuthExamplesClientOrpcAuthRoute,
311
309
  AuthExamplesSsrOrpcAuthRoute: AuthExamplesSsrOrpcAuthRoute,
312
- }
310
+ };
313
311
 
314
- const AuthRouteWithChildren = AuthRoute._addFileChildren(AuthRouteChildren)
312
+ const AuthRouteWithChildren = AuthRoute._addFileChildren(AuthRouteChildren);
315
313
 
316
314
  interface PublicRouteChildren {
317
- PublicLoginRoute: typeof PublicLoginRoute
318
- PublicSignupRoute: typeof PublicSignupRoute
319
- PublicIndexRoute: typeof PublicIndexRoute
320
- PublicExamplesClientOrpcRoute: typeof PublicExamplesClientOrpcRoute
321
- PublicExamplesIsrRoute: typeof PublicExamplesIsrRoute
322
- PublicExamplesSsrOrpcRoute: typeof PublicExamplesSsrOrpcRoute
315
+ PublicLoginRoute: typeof PublicLoginRoute;
316
+ PublicSignupRoute: typeof PublicSignupRoute;
317
+ PublicIndexRoute: typeof PublicIndexRoute;
318
+ PublicExamplesClientOrpcRoute: typeof PublicExamplesClientOrpcRoute;
319
+ PublicExamplesIsrRoute: typeof PublicExamplesIsrRoute;
320
+ PublicExamplesSsrOrpcRoute: typeof PublicExamplesSsrOrpcRoute;
323
321
  }
324
322
 
325
323
  const PublicRouteChildren: PublicRouteChildren = {
@@ -329,26 +327,25 @@ const PublicRouteChildren: PublicRouteChildren = {
329
327
  PublicExamplesClientOrpcRoute: PublicExamplesClientOrpcRoute,
330
328
  PublicExamplesIsrRoute: PublicExamplesIsrRoute,
331
329
  PublicExamplesSsrOrpcRoute: PublicExamplesSsrOrpcRoute,
332
- }
330
+ };
333
331
 
334
- const PublicRouteWithChildren =
335
- PublicRoute._addFileChildren(PublicRouteChildren)
332
+ const PublicRouteWithChildren = PublicRoute._addFileChildren(PublicRouteChildren);
336
333
 
337
334
  const rootRouteChildren: RootRouteChildren = {
338
335
  AuthRoute: AuthRouteWithChildren,
339
336
  PublicRoute: PublicRouteWithChildren,
340
337
  ApiAuthSplatRoute: ApiAuthSplatRoute,
341
338
  ApiRpcSplatRoute: ApiRpcSplatRoute,
342
- }
339
+ };
343
340
  export const routeTree = rootRouteImport
344
341
  ._addFileChildren(rootRouteChildren)
345
- ._addFileTypes<FileRouteTypes>()
342
+ ._addFileTypes<FileRouteTypes>();
346
343
 
347
- import type { getRouter } from './router.tsx'
348
- import type { createStart } from '@tanstack/react-start'
349
- declare module '@tanstack/react-start' {
344
+ import type { getRouter } from "./router.tsx";
345
+ import type { createStart } from "@tanstack/react-start";
346
+ declare module "@tanstack/react-start" {
350
347
  interface Register {
351
- ssr: true
352
- router: Awaited<ReturnType<typeof getRouter>>
348
+ ssr: true;
349
+ router: Awaited<ReturnType<typeof getRouter>>;
353
350
  }
354
351
  }
@@ -7,7 +7,7 @@ const getSecretData = createServerFn({ method: "GET" }).handler(async () => {
7
7
  try {
8
8
  const secretData = await orpc.getSecretData();
9
9
  return { secretData };
10
- } catch (err) {
10
+ } catch {
11
11
  return { secretData: null, error: "Failed to fetch secret data" };
12
12
  }
13
13
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "extends": "@workspace/config-typescript/react.json",
3
- "include": ["**/*.ts", "**/*.tsx", "vite.config.ts", "eslint.config.ts", "prettier.config.ts"],
3
+ "include": ["**/*.ts", "**/*.tsx", "vite.config.ts"],
4
4
  "compilerOptions": {
5
5
  "target": "ES2022",
6
6
  "lib": ["ES2022", "DOM", "DOM.Iterable"],
@@ -9,10 +9,10 @@
9
9
  "scripts": {
10
10
  "build": "turbo build",
11
11
  "dev": "turbo dev",
12
- "lint": "oxlint .",
13
- "lint:fix": "oxlint --fix .",
14
- "format": "oxfmt --check",
15
- "format:fix": "oxfmt .",
12
+ "lint": "oxlint --ignore-path .oxlintignore .",
13
+ "lint:fix": "oxlint --fix --ignore-path .oxlintignore .",
14
+ "format": "oxfmt --check --ignore-path .oxlintignore",
15
+ "format:fix": "oxfmt --ignore-path .oxlintignore .",
16
16
  "quality": "turbo quality",
17
17
  "quality:fix": "turbo quality:fix",
18
18
  "typecheck": "turbo typecheck",
@@ -8,8 +8,6 @@
8
8
  "./hooks/*": "./src/hooks/*.ts"
9
9
  },
10
10
  "scripts": {
11
- "lint": "eslint",
12
- "format": "prettier --write \"**/*.{ts,tsx}\"",
13
11
  "typecheck": "tsc --noEmit",
14
12
  "generate": "better-auth generate --output ../db/src/lib/auth-schema.ts"
15
13
  },
@@ -19,8 +17,6 @@
19
17
  },
20
18
  "devDependencies": {
21
19
  "@better-auth/cli": "^1.4.22",
22
- "@workspace/config-eslint": "*",
23
- "@workspace/config-prettier": "*",
24
20
  "@workspace/config-typescript": "*",
25
21
  "drizzle-kit": "^0.31.10",
26
22
  "tsx": "^4.21.0"
@@ -5,6 +5,6 @@
5
5
  "@workspace/auth/*": ["./src/*"]
6
6
  }
7
7
  },
8
- "include": ["src", "eslint.config.ts", "prettier.config.ts"],
8
+ "include": ["src"],
9
9
  "exclude": ["node_modules", "dist"]
10
10
  }
@@ -8,8 +8,6 @@
8
8
  "./schema": "./src/schema.ts"
9
9
  },
10
10
  "scripts": {
11
- "lint": "eslint",
12
- "format": "prettier --write \"**/*.{ts,tsx}\"",
13
11
  "typecheck": "tsc --noEmit",
14
12
  "db:push": "drizzle-kit push",
15
13
  "db:studio": "drizzle-kit studio"
@@ -21,8 +19,6 @@
21
19
  },
22
20
  "devDependencies": {
23
21
  "@types/pg": "^8.20.0",
24
- "@workspace/config-eslint": "*",
25
- "@workspace/config-prettier": "*",
26
22
  "@workspace/config-typescript": "*",
27
23
  "drizzle-kit": "^0.31.10",
28
24
  "tsx": "^4.21.0"
@@ -5,6 +5,6 @@
5
5
  "@workspace/db/*": ["./src/*"]
6
6
  }
7
7
  },
8
- "include": ["src", "eslint.config.ts", "prettier.config.ts"],
8
+ "include": ["src"],
9
9
  "exclude": ["node_modules", "dist"]
10
10
  }
@@ -7,8 +7,6 @@
7
7
  "./router": "./src/lib/router.ts"
8
8
  },
9
9
  "scripts": {
10
- "lint": "eslint",
11
- "format": "prettier --write \"**/*.{ts,tsx}\"",
12
10
  "typecheck": "tsc --noEmit"
13
11
  },
14
12
  "dependencies": {
@@ -19,8 +17,6 @@
19
17
  },
20
18
  "devDependencies": {
21
19
  "@types/node": "^22.19.1",
22
- "@workspace/config-eslint": "*",
23
- "@workspace/config-prettier": "*",
24
20
  "@workspace/config-typescript": "*"
25
21
  }
26
22
  }
@@ -5,6 +5,6 @@
5
5
  "@workspace/orpc/*": ["./src/*"]
6
6
  }
7
7
  },
8
- "include": ["src", "eslint.config.ts", "prettier.config.ts"],
8
+ "include": ["src"],
9
9
  "exclude": ["node_modules", "dist"]
10
10
  }
@@ -10,8 +10,6 @@
10
10
  "./hooks/*": "./src/hooks/*.ts"
11
11
  },
12
12
  "scripts": {
13
- "lint": "eslint",
14
- "format": "prettier --write \"**/*.{ts,tsx}\"",
15
13
  "typecheck": "tsc --noEmit"
16
14
  },
17
15
  "dependencies": {
@@ -42,8 +40,6 @@
42
40
  "@types/node": "^25.6.0",
43
41
  "@types/react": "^19.2.14",
44
42
  "@types/react-dom": "^19.2.3",
45
- "@workspace/config-eslint": "*",
46
- "@workspace/config-prettier": "*",
47
43
  "@workspace/config-typescript": "*",
48
44
  "tailwindcss": "^4.2.4"
49
45
  }
@@ -5,6 +5,6 @@
5
5
  "@workspace/ui/*": ["./src/*"]
6
6
  }
7
7
  },
8
- "include": ["src", "eslint.config.ts", "prettier.config.ts"],
8
+ "include": ["src"],
9
9
  "exclude": ["node_modules", "dist"]
10
10
  }