create-croissant 0.1.40 → 0.1.41
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 +5 -5
- package/package.json +1 -4
- package/template/.oxlintignore +11 -0
- package/template/README.md +2 -2
- package/template/apps/desktop/README.md +1 -1
- package/template/apps/desktop/electron-builder.yml +1 -1
- package/template/apps/desktop/package.json +1 -10
- package/template/apps/desktop/tsconfig.node.json +1 -7
- package/template/apps/desktop/tsconfig.web.json +1 -2
- package/template/apps/mobile/package.json +1 -4
- package/template/apps/platform/package.json +0 -4
- package/template/apps/platform/src/routeTree.gen.ts +264 -267
- package/template/apps/platform/src/routes/_auth/examples/ssr-orpc-auth.tsx +1 -1
- package/template/apps/platform/tsconfig.json +1 -1
- package/template/package.json +4 -4
- package/template/packages/auth/package.json +0 -4
- package/template/packages/auth/tsconfig.json +1 -1
- package/template/packages/db/package.json +0 -4
- package/template/packages/db/tsconfig.json +1 -1
- package/template/packages/orpc/package.json +0 -4
- package/template/packages/orpc/tsconfig.json +1 -1
- package/template/packages/ui/package.json +0 -4
- package/template/packages/ui/tsconfig.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
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=
|
|
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=
|
|
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(
|
|
9
|
-
`))}catch(p){f.fail(
|
|
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.
|
|
3
|
+
"version": "0.1.41",
|
|
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
|
}
|
package/template/README.md
CHANGED
|
@@ -97,8 +97,8 @@ All scripts are orchestrated by Turborepo. You can run them from the root direct
|
|
|
97
97
|
|
|
98
98
|
- `npm run dev`: Start all applications in development mode.
|
|
99
99
|
- `npm run build`: Build all applications for production.
|
|
100
|
-
- `npm run
|
|
101
|
-
- `npm run
|
|
100
|
+
- `npm run quality`: Run all quality checks (linting and formatting) using Oxc.
|
|
101
|
+
- `npm run quality:fix`: Automatically fix linting and formatting issues using Oxc.
|
|
102
102
|
- `npm run typecheck`: Run TypeScript type checking across the workspace.
|
|
103
103
|
|
|
104
104
|
### 🗄️ Database Scripts
|
|
@@ -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/)
|
|
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
|
-
- "!{
|
|
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
|
}
|
|
@@ -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
|
|
12
|
-
import { Route as PublicRouteImport } from
|
|
13
|
-
import { Route as AuthRouteImport } from
|
|
14
|
-
import { Route as PublicIndexRouteImport } from
|
|
15
|
-
import { Route as PublicSignupRouteImport } from
|
|
16
|
-
import { Route as PublicLoginRouteImport } from
|
|
17
|
-
import { Route as AuthDashboardRouteImport } from
|
|
18
|
-
import { Route as AuthAccountRouteImport } from
|
|
19
|
-
import { Route as ApiRpcSplatRouteImport } from
|
|
20
|
-
import { Route as ApiAuthSplatRouteImport } from
|
|
21
|
-
import { Route as PublicExamplesSsrOrpcRouteImport } from
|
|
22
|
-
import { Route as PublicExamplesIsrRouteImport } from
|
|
23
|
-
import { Route as PublicExamplesClientOrpcRouteImport } from
|
|
24
|
-
import { Route as AuthExamplesSsrOrpcAuthRouteImport } from
|
|
25
|
-
import { Route as AuthExamplesClientOrpcAuthRouteImport } from
|
|
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:
|
|
28
|
+
id: "/_public",
|
|
29
29
|
getParentRoute: () => rootRouteImport,
|
|
30
|
-
} as any)
|
|
30
|
+
} as any);
|
|
31
31
|
const AuthRoute = AuthRouteImport.update({
|
|
32
|
-
id:
|
|
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:
|
|
42
|
-
path:
|
|
41
|
+
id: "/signup",
|
|
42
|
+
path: "/signup",
|
|
43
43
|
getParentRoute: () => PublicRoute,
|
|
44
|
-
} as any)
|
|
44
|
+
} as any);
|
|
45
45
|
const PublicLoginRoute = PublicLoginRouteImport.update({
|
|
46
|
-
id:
|
|
47
|
-
path:
|
|
46
|
+
id: "/login",
|
|
47
|
+
path: "/login",
|
|
48
48
|
getParentRoute: () => PublicRoute,
|
|
49
|
-
} as any)
|
|
49
|
+
} as any);
|
|
50
50
|
const AuthDashboardRoute = AuthDashboardRouteImport.update({
|
|
51
|
-
id:
|
|
52
|
-
path:
|
|
51
|
+
id: "/dashboard",
|
|
52
|
+
path: "/dashboard",
|
|
53
53
|
getParentRoute: () => AuthRoute,
|
|
54
|
-
} as any)
|
|
54
|
+
} as any);
|
|
55
55
|
const AuthAccountRoute = AuthAccountRouteImport.update({
|
|
56
|
-
id:
|
|
57
|
-
path:
|
|
56
|
+
id: "/account",
|
|
57
|
+
path: "/account",
|
|
58
58
|
getParentRoute: () => AuthRoute,
|
|
59
|
-
} as any)
|
|
59
|
+
} as any);
|
|
60
60
|
const ApiRpcSplatRoute = ApiRpcSplatRouteImport.update({
|
|
61
|
-
id:
|
|
62
|
-
path:
|
|
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:
|
|
67
|
-
path:
|
|
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:
|
|
72
|
-
path:
|
|
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:
|
|
77
|
-
path:
|
|
76
|
+
id: "/examples/isr",
|
|
77
|
+
path: "/examples/isr",
|
|
78
78
|
getParentRoute: () => PublicRoute,
|
|
79
|
-
} as any)
|
|
80
|
-
const PublicExamplesClientOrpcRoute =
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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:
|
|
88
|
-
path:
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
|
|
|
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
|
-
|
|
|
162
|
-
|
|
|
163
|
-
|
|
|
164
|
-
|
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
169
|
-
|
|
|
170
|
-
|
|
|
171
|
-
|
|
|
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
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
|
184
|
-
|
|
|
185
|
-
|
|
|
186
|
-
|
|
|
187
|
-
|
|
|
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
|
|
195
|
+
declare module "@tanstack/react-router" {
|
|
198
196
|
interface FileRoutesByPath {
|
|
199
|
-
|
|
200
|
-
id:
|
|
201
|
-
path:
|
|
202
|
-
fullPath:
|
|
203
|
-
preLoaderRoute: typeof PublicRouteImport
|
|
204
|
-
parentRoute: typeof rootRouteImport
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
id:
|
|
208
|
-
path:
|
|
209
|
-
fullPath:
|
|
210
|
-
preLoaderRoute: typeof AuthRouteImport
|
|
211
|
-
parentRoute: typeof rootRouteImport
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
id:
|
|
215
|
-
path:
|
|
216
|
-
fullPath:
|
|
217
|
-
preLoaderRoute: typeof PublicIndexRouteImport
|
|
218
|
-
parentRoute: typeof PublicRoute
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
id:
|
|
222
|
-
path:
|
|
223
|
-
fullPath:
|
|
224
|
-
preLoaderRoute: typeof PublicSignupRouteImport
|
|
225
|
-
parentRoute: typeof PublicRoute
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
id:
|
|
229
|
-
path:
|
|
230
|
-
fullPath:
|
|
231
|
-
preLoaderRoute: typeof PublicLoginRouteImport
|
|
232
|
-
parentRoute: typeof PublicRoute
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
id:
|
|
236
|
-
path:
|
|
237
|
-
fullPath:
|
|
238
|
-
preLoaderRoute: typeof AuthDashboardRouteImport
|
|
239
|
-
parentRoute: typeof AuthRoute
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
id:
|
|
243
|
-
path:
|
|
244
|
-
fullPath:
|
|
245
|
-
preLoaderRoute: typeof AuthAccountRouteImport
|
|
246
|
-
parentRoute: typeof AuthRoute
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
id:
|
|
250
|
-
path:
|
|
251
|
-
fullPath:
|
|
252
|
-
preLoaderRoute: typeof ApiRpcSplatRouteImport
|
|
253
|
-
parentRoute: typeof rootRouteImport
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
id:
|
|
257
|
-
path:
|
|
258
|
-
fullPath:
|
|
259
|
-
preLoaderRoute: typeof ApiAuthSplatRouteImport
|
|
260
|
-
parentRoute: typeof rootRouteImport
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
id:
|
|
264
|
-
path:
|
|
265
|
-
fullPath:
|
|
266
|
-
preLoaderRoute: typeof PublicExamplesSsrOrpcRouteImport
|
|
267
|
-
parentRoute: typeof PublicRoute
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
id:
|
|
271
|
-
path:
|
|
272
|
-
fullPath:
|
|
273
|
-
preLoaderRoute: typeof PublicExamplesIsrRouteImport
|
|
274
|
-
parentRoute: typeof PublicRoute
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
id:
|
|
278
|
-
path:
|
|
279
|
-
fullPath:
|
|
280
|
-
preLoaderRoute: typeof PublicExamplesClientOrpcRouteImport
|
|
281
|
-
parentRoute: typeof PublicRoute
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
id:
|
|
285
|
-
path:
|
|
286
|
-
fullPath:
|
|
287
|
-
preLoaderRoute: typeof AuthExamplesSsrOrpcAuthRouteImport
|
|
288
|
-
parentRoute: typeof AuthRoute
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
id:
|
|
292
|
-
path:
|
|
293
|
-
fullPath:
|
|
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
|
|
348
|
-
import type { createStart } from
|
|
349
|
-
declare module
|
|
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
|
|
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"
|
|
3
|
+
"include": ["**/*.ts", "**/*.tsx", "vite.config.ts"],
|
|
4
4
|
"compilerOptions": {
|
|
5
5
|
"target": "ES2022",
|
|
6
6
|
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
package/template/package.json
CHANGED
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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
|
}
|
|
@@ -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
|
}
|