@kood/claude-code 0.1.6 → 0.1.7
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 +21 -243
- package/package.json +1 -1
- package/templates/hono/CLAUDE.md +10 -6
- package/templates/hono/docs/deployment/index.md +5 -0
- package/templates/hono/docs/library/hono/index.md +6 -0
- package/templates/hono/docs/library/prisma/index.md +3 -0
- package/templates/npx/CLAUDE.md +8 -2
- package/templates/tanstack-start/CLAUDE.md +103 -255
- package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
- package/templates/tanstack-start/docs/deployment/index.md +57 -286
- package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
- package/templates/tanstack-start/docs/deployment/railway.md +40 -409
- package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
- package/templates/tanstack-start/docs/design/accessibility.md +56 -326
- package/templates/tanstack-start/docs/design/color.md +37 -179
- package/templates/tanstack-start/docs/design/components.md +77 -311
- package/templates/tanstack-start/docs/design/index.md +24 -87
- package/templates/tanstack-start/docs/design/safe-area.md +51 -250
- package/templates/tanstack-start/docs/design/spacing.md +57 -276
- package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
- package/templates/tanstack-start/docs/design/typography.md +40 -284
- package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
- package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
- package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
- package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
- package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
- package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
- package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
- package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
- package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
- package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
- package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
- package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
- package/templates/tanstack-start/docs/library/prisma/setup.md +12 -112
- package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
- package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
- package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
- package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
- package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -70
- package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
- package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
- package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
- package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
- package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
- package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
- package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +34 -246
- package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
- package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
- package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
- package/templates/tanstack-start/docs/library/zod/index.md +22 -150
- package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
- package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
- package/templates/hono/docs/commands/git.md +0 -145
- package/templates/hono/docs/mcp/context7.md +0 -106
- package/templates/hono/docs/mcp/index.md +0 -176
- package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
- package/templates/hono/docs/mcp/serena.md +0 -269
- package/templates/hono/docs/mcp/sgrep.md +0 -105
- package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
- package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
- package/templates/npx/docs/commands/git.md +0 -145
- package/templates/npx/docs/mcp/index.md +0 -60
- package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
- package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
- package/templates/tanstack-start/docs/commands/git.md +0 -145
- package/templates/tanstack-start/docs/mcp/context7.md +0 -204
- package/templates/tanstack-start/docs/mcp/index.md +0 -177
- package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
- package/templates/tanstack-start/docs/mcp/serena.md +0 -269
- package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
- package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
- package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
|
@@ -1,66 +1,43 @@
|
|
|
1
1
|
# 배포 (Deployment)
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
> **Source**: [TanStack Start Hosting](https://tanstack.com/start/latest/docs/framework/react/hosting)
|
|
3
|
+
> TanStack Start + Nitro v3
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
@nitro.md
|
|
6
|
+
@vercel.md
|
|
7
|
+
@cloudflare.md
|
|
8
|
+
@railway.md
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## 배포 방식
|
|
13
13
|
|
|
14
|
-
|
|
|
15
|
-
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
| [Cloudflare](./cloudflare.md) | Cloudflare Workers/Pages 배포 |
|
|
19
|
-
| [Railway](./railway.md) | Railway Node.js 서버 배포 |
|
|
14
|
+
| 방식 | 설정 | 지원 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| 플랫폼 직접 통합 | Vite 플러그인 | Cloudflare, Netlify |
|
|
17
|
+
| Nitro 배포 레이어 | nitro/vite | 모든 Nitro preset |
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
## 배포 방식 비교
|
|
24
|
-
|
|
25
|
-
### 플랫폼 직접 통합 vs Nitro
|
|
26
|
-
|
|
27
|
-
| 구분 | 플랫폼 직접 통합 | Nitro 배포 레이어 |
|
|
28
|
-
|------|------------------|-------------------|
|
|
29
|
-
| 설정 | 플랫폼별 Vite 플러그인 | `nitro/vite` 플러그인 |
|
|
30
|
-
| 지원 | Cloudflare, Netlify | 모든 Nitro preset |
|
|
31
|
-
| 특징 | 플랫폼 최적화 | 범용성, 이식성 |
|
|
32
|
-
| 권장 | Cloudflare Workers | Vercel, Railway 등 |
|
|
33
|
-
|
|
34
|
-
### 플랫폼별 권장 방식
|
|
19
|
+
### 플랫폼별 권장
|
|
35
20
|
|
|
36
|
-
| 플랫폼 |
|
|
37
|
-
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
21
|
+
| 플랫폼 | 방식 | 설정 |
|
|
22
|
+
|--------|------|------|
|
|
23
|
+
| Cloudflare Workers | 직접 통합 | `@cloudflare/vite-plugin` |
|
|
24
|
+
| Cloudflare Pages | Nitro | `cloudflare_pages` |
|
|
25
|
+
| Vercel | Nitro | `vercel` |
|
|
26
|
+
| Railway | Nitro | `node` |
|
|
27
|
+
| Netlify | 직접 통합 | `@netlify/vite-plugin-tanstack-start` |
|
|
43
28
|
|
|
44
29
|
---
|
|
45
30
|
|
|
46
|
-
##
|
|
47
|
-
|
|
48
|
-
Cloudflare Workers 배포 시 공식 권장 방식입니다.
|
|
49
|
-
|
|
50
|
-
### 1. 패키지 설치
|
|
31
|
+
## Cloudflare Workers (직접 통합)
|
|
51
32
|
|
|
52
33
|
```bash
|
|
53
34
|
yarn add -D @cloudflare/vite-plugin wrangler
|
|
54
35
|
```
|
|
55
36
|
|
|
56
|
-
### 2. Vite 설정
|
|
57
|
-
|
|
58
37
|
```typescript
|
|
59
38
|
// vite.config.ts
|
|
60
|
-
import { defineConfig } from 'vite'
|
|
61
|
-
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
62
39
|
import { cloudflare } from '@cloudflare/vite-plugin'
|
|
63
|
-
import
|
|
40
|
+
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
64
41
|
|
|
65
42
|
export default defineConfig({
|
|
66
43
|
plugins: [
|
|
@@ -71,322 +48,116 @@ export default defineConfig({
|
|
|
71
48
|
})
|
|
72
49
|
```
|
|
73
50
|
|
|
74
|
-
### 3. Wrangler 설정
|
|
75
|
-
|
|
76
51
|
```jsonc
|
|
77
52
|
// wrangler.jsonc
|
|
78
53
|
{
|
|
79
|
-
"
|
|
80
|
-
"name": "my-tanstack-app",
|
|
54
|
+
"name": "my-app",
|
|
81
55
|
"compatibility_date": "2024-09-19",
|
|
82
56
|
"compatibility_flags": ["nodejs_compat"],
|
|
83
57
|
"main": "@tanstack/react-start/server-entry"
|
|
84
58
|
}
|
|
85
59
|
```
|
|
86
60
|
|
|
87
|
-
### 4. 배포
|
|
88
|
-
|
|
89
61
|
```bash
|
|
90
|
-
# 빌드 및 배포
|
|
91
62
|
yarn build && wrangler deploy
|
|
92
63
|
```
|
|
93
64
|
|
|
94
65
|
---
|
|
95
66
|
|
|
96
|
-
##
|
|
97
|
-
|
|
98
|
-
다양한 플랫폼에 범용으로 배포할 수 있습니다.
|
|
99
|
-
|
|
100
|
-
### 1. Nitro 설치
|
|
67
|
+
## Nitro 배포 레이어
|
|
101
68
|
|
|
102
69
|
```bash
|
|
103
70
|
yarn add nitro@3
|
|
104
71
|
```
|
|
105
72
|
|
|
106
|
-
### 2. Vite 설정
|
|
107
|
-
|
|
108
73
|
```typescript
|
|
109
74
|
// vite.config.ts
|
|
110
|
-
import { defineConfig } from 'vite'
|
|
111
|
-
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
112
75
|
import { nitro } from 'nitro/vite'
|
|
113
|
-
import
|
|
76
|
+
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
114
77
|
|
|
115
78
|
export default defineConfig({
|
|
116
|
-
plugins: [
|
|
117
|
-
tanstackStart(),
|
|
118
|
-
nitro(),
|
|
119
|
-
viteReact(),
|
|
120
|
-
],
|
|
79
|
+
plugins: [tanstackStart(), nitro(), viteReact()],
|
|
121
80
|
})
|
|
122
81
|
```
|
|
123
82
|
|
|
124
|
-
### 3. Nitro 설정
|
|
125
|
-
|
|
126
83
|
```typescript
|
|
127
84
|
// nitro.config.ts
|
|
128
85
|
import { defineNitroConfig } from 'nitro/config'
|
|
129
86
|
|
|
130
87
|
export default defineNitroConfig({
|
|
131
|
-
//
|
|
132
|
-
preset: 'vercel', // vercel, cloudflare_pages, node 등
|
|
133
|
-
|
|
134
|
-
// Nitro v3 필수 설정
|
|
88
|
+
preset: 'vercel', // vercel, cloudflare_pages, node
|
|
135
89
|
compatibilityDate: '2024-09-19',
|
|
136
90
|
})
|
|
137
91
|
```
|
|
138
92
|
|
|
139
|
-
### 4. 빌드 및 배포
|
|
140
|
-
|
|
141
93
|
```bash
|
|
142
|
-
# 빌드
|
|
143
94
|
yarn build
|
|
144
|
-
|
|
145
|
-
# 또는 환경변수로 preset 지정
|
|
95
|
+
# 또는
|
|
146
96
|
NITRO_PRESET=vercel yarn build
|
|
147
97
|
```
|
|
148
98
|
|
|
149
99
|
---
|
|
150
100
|
|
|
151
|
-
##
|
|
152
|
-
|
|
153
|
-
### Edge 런타임이 필요한 경우
|
|
154
|
-
|
|
155
|
-
| 플랫폼 | 방식 | 설정 |
|
|
156
|
-
|--------|------|------|
|
|
157
|
-
| Cloudflare Workers | 직접 통합 | `@cloudflare/vite-plugin` |
|
|
158
|
-
| Cloudflare Pages | Nitro | `preset: 'cloudflare_pages'` |
|
|
159
|
-
| Vercel Edge | Nitro | `preset: 'vercel'` |
|
|
160
|
-
|
|
161
|
-
### Node.js 서버가 필요한 경우
|
|
162
|
-
|
|
163
|
-
| 플랫폼 | 방식 | 설정 |
|
|
164
|
-
|--------|------|------|
|
|
165
|
-
| Railway | Nitro | `preset: 'node'` |
|
|
166
|
-
| Docker | Nitro | `preset: 'node'` |
|
|
167
|
-
| 기타 VPS | Nitro | `preset: 'node'` |
|
|
168
|
-
|
|
169
|
-
### Bun 런타임
|
|
170
|
-
|
|
171
|
-
```typescript
|
|
172
|
-
// vite.config.ts
|
|
173
|
-
import { defineConfig } from 'vite'
|
|
174
|
-
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
175
|
-
import { nitro } from 'nitro/vite'
|
|
176
|
-
import viteReact from '@vitejs/plugin-react'
|
|
177
|
-
|
|
178
|
-
export default defineConfig({
|
|
179
|
-
plugins: [
|
|
180
|
-
tanstackStart(),
|
|
181
|
-
nitro({ preset: 'bun' }),
|
|
182
|
-
viteReact(),
|
|
183
|
-
],
|
|
184
|
-
})
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## package.json 스크립트
|
|
190
|
-
|
|
191
|
-
```json
|
|
192
|
-
{
|
|
193
|
-
"scripts": {
|
|
194
|
-
"dev": "vite dev",
|
|
195
|
-
"build": "vite build && tsc --noEmit",
|
|
196
|
-
"start": "node .output/server/index.mjs",
|
|
197
|
-
"preview": "vite preview",
|
|
198
|
-
"deploy": "yarn build && wrangler deploy"
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## ⚠️ 유의사항
|
|
206
|
-
|
|
207
|
-
TanStack Start의 SSR 환경에서 발생할 수 있는 주요 이슈와 해결 방법입니다.
|
|
101
|
+
## ⚠️ SSR 이슈 해결
|
|
208
102
|
|
|
209
103
|
### node:async_hooks 오류
|
|
210
104
|
|
|
211
|
-
TanStack Start의 AsyncLocalStorage 관련 모듈이 클라이언트 번들에 포함되면 다음 오류가 발생합니다:
|
|
212
|
-
|
|
213
|
-
```
|
|
214
|
-
Module 'node:async_hooks' has been externalized for browser
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
**해결 방법**: `vite.config.ts`에 다음 설정을 추가합니다.
|
|
218
|
-
|
|
219
105
|
```typescript
|
|
220
106
|
// vite.config.ts
|
|
221
|
-
import { defineConfig } from 'vite'
|
|
222
|
-
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
223
|
-
import viteReact from '@vitejs/plugin-react'
|
|
224
|
-
|
|
225
107
|
export default defineConfig({
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
viteReact(),
|
|
229
|
-
],
|
|
230
|
-
optimizeDeps: {
|
|
231
|
-
exclude: ['node:async_hooks'],
|
|
232
|
-
},
|
|
233
|
-
ssr: {
|
|
234
|
-
external: ['node:async_hooks'],
|
|
235
|
-
},
|
|
108
|
+
optimizeDeps: { exclude: ['node:async_hooks'] },
|
|
109
|
+
ssr: { external: ['node:async_hooks'] },
|
|
236
110
|
})
|
|
237
111
|
```
|
|
238
112
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
### Prisma 사용 시 설정
|
|
242
|
-
|
|
243
|
-
TanStack Start에서 Prisma를 사용하는 경우, 브라우저 번들링 시 모듈 해석 오류가 발생할 수 있습니다.
|
|
244
|
-
|
|
245
|
-
**해결 방법**: `vite.config.ts`에 alias 설정을 추가합니다.
|
|
113
|
+
### Prisma 브라우저 번들링
|
|
246
114
|
|
|
247
115
|
```typescript
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
import viteReact from '@vitejs/plugin-react'
|
|
252
|
-
|
|
253
|
-
export default defineConfig({
|
|
254
|
-
plugins: [
|
|
255
|
-
tanstackStart(),
|
|
256
|
-
viteReact(),
|
|
257
|
-
],
|
|
258
|
-
resolve: {
|
|
259
|
-
alias: {
|
|
260
|
-
'.prisma/client/index-browser':
|
|
261
|
-
'./node_modules/.prisma/client/index-browser.js',
|
|
262
|
-
},
|
|
116
|
+
resolve: {
|
|
117
|
+
alias: {
|
|
118
|
+
'.prisma/client/index-browser': './node_modules/.prisma/client/index-browser.js',
|
|
263
119
|
},
|
|
264
|
-
}
|
|
120
|
+
},
|
|
265
121
|
```
|
|
266
122
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
### SSR Context Loss (Clerk, 외부 패키지)
|
|
270
|
-
|
|
271
|
-
Clerk 등 AsyncLocalStorage를 사용하는 외부 패키지에서 SSR context 손실 오류가 발생할 수 있습니다:
|
|
272
|
-
|
|
273
|
-
```
|
|
274
|
-
Error: No HTTPEvent found in AsyncLocalStorage
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
**해결 방법**: 해당 패키지를 `ssr.noExternal`에 추가합니다.
|
|
278
|
-
|
|
279
|
-
```typescript
|
|
280
|
-
// vite.config.ts
|
|
281
|
-
export default defineConfig({
|
|
282
|
-
plugins: [tanstackStart(), viteReact()],
|
|
283
|
-
ssr: {
|
|
284
|
-
noExternal: ['@clerk/tanstack-react-start'],
|
|
285
|
-
},
|
|
286
|
-
})
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
---
|
|
290
|
-
|
|
291
|
-
### MUI (Material UI) SSR 설정
|
|
292
|
-
|
|
293
|
-
MUI 사용 시 SSR 환경에서 스타일 또는 모듈 오류가 발생할 수 있습니다.
|
|
294
|
-
|
|
295
|
-
**해결 방법**: MUI 관련 패키지를 `ssr.noExternal`에 추가합니다.
|
|
123
|
+
### SSR Context Loss (Clerk, MUI)
|
|
296
124
|
|
|
297
125
|
```typescript
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
'@mui/utils',
|
|
305
|
-
'@mui/styled-engine',
|
|
306
|
-
'@mui/icons-material',
|
|
307
|
-
'@mui/system',
|
|
308
|
-
],
|
|
309
|
-
},
|
|
310
|
-
})
|
|
126
|
+
ssr: {
|
|
127
|
+
noExternal: [
|
|
128
|
+
'@clerk/tanstack-react-start',
|
|
129
|
+
'@mui/material', '@mui/utils', '@mui/styled-engine',
|
|
130
|
+
],
|
|
131
|
+
},
|
|
311
132
|
```
|
|
312
133
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
### 종합 설정 예시
|
|
316
|
-
|
|
317
|
-
여러 패키지를 함께 사용하는 경우의 통합 설정:
|
|
134
|
+
### 종합 설정
|
|
318
135
|
|
|
319
136
|
```typescript
|
|
320
|
-
// vite.config.ts
|
|
321
|
-
import { defineConfig } from 'vite'
|
|
322
|
-
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
323
|
-
import tsConfigPaths from 'vite-tsconfig-paths'
|
|
324
|
-
import viteReact from '@vitejs/plugin-react'
|
|
325
|
-
|
|
326
137
|
export default defineConfig({
|
|
327
|
-
|
|
328
|
-
port: 3000,
|
|
329
|
-
},
|
|
330
|
-
plugins: [
|
|
331
|
-
tsConfigPaths(),
|
|
332
|
-
tanstackStart(),
|
|
333
|
-
viteReact(),
|
|
334
|
-
],
|
|
335
|
-
// Prisma 사용 시
|
|
138
|
+
plugins: [tsConfigPaths(), tanstackStart(), viteReact()],
|
|
336
139
|
resolve: {
|
|
337
|
-
alias: {
|
|
338
|
-
'.prisma/client/index-browser':
|
|
339
|
-
'./node_modules/.prisma/client/index-browser.js',
|
|
340
|
-
},
|
|
341
|
-
},
|
|
342
|
-
// Node.js 내장 모듈 처리
|
|
343
|
-
optimizeDeps: {
|
|
344
|
-
exclude: ['node:async_hooks'],
|
|
140
|
+
alias: { '.prisma/client/index-browser': './node_modules/.prisma/client/index-browser.js' },
|
|
345
141
|
},
|
|
346
|
-
|
|
142
|
+
optimizeDeps: { exclude: ['node:async_hooks'] },
|
|
347
143
|
ssr: {
|
|
348
144
|
external: ['node:async_hooks'],
|
|
349
|
-
noExternal: [
|
|
350
|
-
// Clerk 사용 시
|
|
351
|
-
'@clerk/tanstack-react-start',
|
|
352
|
-
// MUI 사용 시
|
|
353
|
-
'@mui/material',
|
|
354
|
-
'@mui/utils',
|
|
355
|
-
'@mui/styled-engine',
|
|
356
|
-
'@mui/icons-material',
|
|
357
|
-
'@mui/system',
|
|
358
|
-
],
|
|
145
|
+
noExternal: ['@clerk/tanstack-react-start', '@mui/material'],
|
|
359
146
|
},
|
|
147
|
+
})
|
|
360
148
|
```
|
|
361
149
|
|
|
362
150
|
---
|
|
363
151
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
- [TanStack Start SSR Context Loss Issue](https://github.com/TanStack/router/issues/4409)
|
|
367
|
-
- [node:async_hooks AsyncLocalStorage Bug](https://github.com/TanStack/router/issues/4729)
|
|
368
|
-
- [TanStack Start Material UI Example](https://tanstack.com/start/latest/docs/framework/react/examples/start-material-ui)
|
|
369
|
-
- [TanStack Start Clerk Example](https://tanstack.com/start/latest/docs/framework/react/examples/start-clerk-basic)
|
|
152
|
+
## 스크립트
|
|
370
153
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
# 런타임 환경변수
|
|
382
|
-
DATABASE_URL=postgresql://...
|
|
383
|
-
API_SECRET=your-secret-key
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"scripts": {
|
|
157
|
+
"dev": "vite dev",
|
|
158
|
+
"build": "vite build && tsc --noEmit",
|
|
159
|
+
"start": "node .output/server/index.mjs",
|
|
160
|
+
"deploy": "yarn build && wrangler deploy"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
384
163
|
```
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## 참고 자료
|
|
389
|
-
|
|
390
|
-
- [TanStack Start Hosting 공식 문서](https://tanstack.com/start/latest/docs/framework/react/hosting)
|
|
391
|
-
- [Nitro 공식 문서](https://nitro.build)
|
|
392
|
-
- [Cloudflare Vite Plugin](https://developers.cloudflare.com/workers/frameworks/framework-guides/tanstack-start/)
|