@kood/claude-code 0.1.2 → 0.1.3
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 +12 -3
- package/package.json +2 -2
- package/templates/hono/CLAUDE.md +20 -2
- package/templates/hono/docs/architecture/architecture.md +909 -0
- package/templates/hono/docs/deployment/cloudflare.md +537 -190
- package/templates/hono/docs/deployment/docker.md +517 -0
- package/templates/hono/docs/deployment/index.md +181 -213
- package/templates/hono/docs/deployment/railway.md +416 -0
- package/templates/hono/docs/deployment/vercel.md +572 -0
- package/templates/hono/docs/git/git.md +285 -0
- package/templates/hono/docs/library/ai-sdk/index.md +427 -0
- package/templates/hono/docs/library/ai-sdk/openrouter.md +479 -0
- package/templates/hono/docs/library/ai-sdk/providers.md +468 -0
- package/templates/hono/docs/library/ai-sdk/streaming.md +447 -0
- package/templates/hono/docs/library/ai-sdk/structured-output.md +493 -0
- package/templates/hono/docs/library/ai-sdk/tools.md +513 -0
- package/templates/hono/docs/library/hono/env-setup.md +458 -0
- package/templates/hono/docs/library/hono/index.md +1 -0
- package/templates/hono/docs/library/pino/index.md +437 -0
- package/templates/hono/docs/library/prisma/cloudflare-d1.md +503 -0
- package/templates/hono/docs/library/prisma/config.md +362 -0
- package/templates/hono/docs/library/prisma/index.md +86 -13
- package/templates/hono/docs/skills/gemini-review/SKILL.md +116 -116
- package/templates/hono/docs/skills/gemini-review/references/checklists.md +125 -125
- package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +191 -191
- package/templates/npx/CLAUDE.md +309 -0
- package/templates/npx/docs/git/git.md +307 -0
- package/templates/npx/docs/library/commander/index.md +164 -0
- package/templates/npx/docs/library/fs-extra/index.md +171 -0
- package/templates/npx/docs/library/prompts/index.md +253 -0
- package/templates/npx/docs/mcp/index.md +60 -0
- package/templates/npx/docs/skills/gemini-review/SKILL.md +220 -0
- package/templates/npx/docs/skills/gemini-review/references/checklists.md +134 -0
- package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +301 -0
- package/templates/tanstack-start/CLAUDE.md +43 -5
- package/templates/tanstack-start/docs/architecture/architecture.md +134 -4
- package/templates/tanstack-start/docs/deployment/cloudflare.md +234 -51
- package/templates/tanstack-start/docs/deployment/index.md +322 -32
- package/templates/tanstack-start/docs/deployment/nitro.md +201 -20
- package/templates/tanstack-start/docs/deployment/railway.md +305 -153
- package/templates/tanstack-start/docs/deployment/vercel.md +353 -78
- package/templates/tanstack-start/docs/git/{index.md → git.md} +81 -7
- package/templates/tanstack-start/docs/guides/best-practices.md +203 -1
- package/templates/tanstack-start/docs/guides/env-setup.md +450 -0
- package/templates/tanstack-start/docs/library/ai-sdk/hooks.md +472 -0
- package/templates/tanstack-start/docs/library/ai-sdk/index.md +264 -0
- package/templates/tanstack-start/docs/library/ai-sdk/openrouter.md +371 -0
- package/templates/tanstack-start/docs/library/ai-sdk/providers.md +403 -0
- package/templates/tanstack-start/docs/library/ai-sdk/streaming.md +320 -0
- package/templates/tanstack-start/docs/library/ai-sdk/structured-output.md +454 -0
- package/templates/tanstack-start/docs/library/ai-sdk/tools.md +473 -0
- package/templates/tanstack-start/docs/library/pino/index.md +320 -0
- package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +404 -0
- package/templates/tanstack-start/docs/library/prisma/config.md +377 -0
- package/templates/tanstack-start/docs/library/prisma/index.md +3 -1
- package/templates/tanstack-start/docs/library/prisma/schema.md +123 -25
- package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +80 -2
- package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +116 -116
- package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +138 -144
- package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +186 -187
- package/templates/hono/docs/git/index.md +0 -180
|
@@ -1,38 +1,82 @@
|
|
|
1
1
|
# Cloudflare 배포
|
|
2
2
|
|
|
3
3
|
> **상위 문서**: [배포](./index.md)
|
|
4
|
+
> **Source**: [TanStack Start Hosting](https://tanstack.com/start/latest/docs/framework/react/hosting)
|
|
4
5
|
|
|
5
6
|
Cloudflare는 Workers와 Pages 두 가지 배포 옵션을 제공합니다.
|
|
6
7
|
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🚀 Quick Reference (복사용)
|
|
11
|
+
|
|
12
|
+
### Workers 직접 통합 (권장)
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
// vite.config.ts
|
|
16
|
+
import { defineConfig } from 'vite'
|
|
17
|
+
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
18
|
+
import { cloudflare } from '@cloudflare/vite-plugin'
|
|
19
|
+
import viteReact from '@vitejs/plugin-react'
|
|
20
|
+
|
|
21
|
+
export default defineConfig({
|
|
22
|
+
plugins: [
|
|
23
|
+
cloudflare({ viteEnvironment: { name: 'ssr' } }),
|
|
24
|
+
tanstackStart(),
|
|
25
|
+
viteReact(),
|
|
26
|
+
],
|
|
27
|
+
})
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```jsonc
|
|
31
|
+
// wrangler.jsonc
|
|
32
|
+
{
|
|
33
|
+
"$schema": "node_modules/wrangler/config-schema.json",
|
|
34
|
+
"name": "my-tanstack-app",
|
|
35
|
+
"compatibility_date": "2024-09-19",
|
|
36
|
+
"compatibility_flags": ["nodejs_compat"],
|
|
37
|
+
"main": "@tanstack/react-start/server-entry"
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pnpm build && wrangler deploy
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
7
47
|
## 배포 옵션 비교
|
|
8
48
|
|
|
9
|
-
| 옵션 |
|
|
10
|
-
|
|
11
|
-
| **Workers** | `
|
|
12
|
-
| **Pages** | `cloudflare_pages` | 정적 사이트 + Functions |
|
|
49
|
+
| 옵션 | 방식 | 특징 | 권장 |
|
|
50
|
+
|------|------|------|------|
|
|
51
|
+
| **Workers** | `@cloudflare/vite-plugin` 직접 통합 | 서버리스 컴퓨팅, KV/D1 통합, 최적화 | ✅ |
|
|
52
|
+
| **Pages** | Nitro `cloudflare_pages` preset | 정적 사이트 + Functions | - |
|
|
53
|
+
|
|
54
|
+
---
|
|
13
55
|
|
|
14
|
-
## Cloudflare Workers
|
|
56
|
+
## 방식 1: Cloudflare Workers (직접 통합 - 권장)
|
|
57
|
+
|
|
58
|
+
TanStack Start 공식 권장 방식입니다.
|
|
15
59
|
|
|
16
60
|
### 1. 패키지 설치
|
|
17
61
|
|
|
18
62
|
```bash
|
|
19
|
-
|
|
63
|
+
pnpm add -D @cloudflare/vite-plugin wrangler
|
|
20
64
|
```
|
|
21
65
|
|
|
22
|
-
### 2. Vite 설정
|
|
66
|
+
### 2. Vite 설정
|
|
23
67
|
|
|
24
68
|
```typescript
|
|
25
69
|
// vite.config.ts
|
|
26
70
|
import { defineConfig } from 'vite'
|
|
27
|
-
import react from '@vitejs/plugin-react'
|
|
28
71
|
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
29
72
|
import { cloudflare } from '@cloudflare/vite-plugin'
|
|
73
|
+
import viteReact from '@vitejs/plugin-react'
|
|
30
74
|
|
|
31
75
|
export default defineConfig({
|
|
32
76
|
plugins: [
|
|
33
77
|
cloudflare({ viteEnvironment: { name: 'ssr' } }),
|
|
34
78
|
tanstackStart(),
|
|
35
|
-
|
|
79
|
+
viteReact(),
|
|
36
80
|
],
|
|
37
81
|
})
|
|
38
82
|
```
|
|
@@ -44,77 +88,122 @@ export default defineConfig({
|
|
|
44
88
|
{
|
|
45
89
|
"$schema": "node_modules/wrangler/config-schema.json",
|
|
46
90
|
"name": "my-tanstack-app",
|
|
47
|
-
"compatibility_date": "
|
|
91
|
+
"compatibility_date": "2024-09-19",
|
|
48
92
|
"compatibility_flags": ["nodejs_compat"],
|
|
49
93
|
"main": "@tanstack/react-start/server-entry"
|
|
50
94
|
}
|
|
51
95
|
```
|
|
52
96
|
|
|
53
|
-
### 4. 배포
|
|
97
|
+
### 4. 빌드 및 배포
|
|
54
98
|
|
|
55
99
|
```bash
|
|
56
100
|
# 빌드
|
|
57
|
-
|
|
101
|
+
pnpm build
|
|
58
102
|
|
|
59
103
|
# 배포
|
|
60
104
|
wrangler deploy
|
|
105
|
+
|
|
106
|
+
# 또는 한번에
|
|
107
|
+
pnpm build && wrangler deploy
|
|
61
108
|
```
|
|
62
109
|
|
|
63
|
-
|
|
110
|
+
---
|
|
64
111
|
|
|
65
|
-
|
|
112
|
+
## 방식 2: Cloudflare Pages (Nitro 레이어)
|
|
66
113
|
|
|
67
|
-
|
|
68
|
-
// nitro.config.ts
|
|
69
|
-
import { defineNitroConfig } from 'nitro/config'
|
|
114
|
+
Nitro 배포 레이어를 사용하는 방식입니다.
|
|
70
115
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
cloudflare: {
|
|
76
|
-
deployConfig: true, // wrangler.json 자동 생성
|
|
77
|
-
nodeCompat: true, // Node.js API 호환성
|
|
78
|
-
},
|
|
79
|
-
})
|
|
116
|
+
### 1. Nitro 설치
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
pnpm add nitro@3
|
|
80
120
|
```
|
|
81
121
|
|
|
82
|
-
### 2. Vite 설정
|
|
122
|
+
### 2. Vite 설정
|
|
83
123
|
|
|
84
124
|
```typescript
|
|
85
125
|
// vite.config.ts
|
|
86
126
|
import { defineConfig } from 'vite'
|
|
87
|
-
import react from '@vitejs/plugin-react'
|
|
88
127
|
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
|
|
89
128
|
import { nitro } from 'nitro/vite'
|
|
129
|
+
import viteReact from '@vitejs/plugin-react'
|
|
90
130
|
|
|
91
131
|
export default defineConfig({
|
|
92
132
|
plugins: [
|
|
93
133
|
tanstackStart(),
|
|
94
134
|
nitro(),
|
|
95
|
-
|
|
135
|
+
viteReact(),
|
|
96
136
|
],
|
|
97
137
|
})
|
|
98
138
|
```
|
|
99
139
|
|
|
100
|
-
### 3.
|
|
140
|
+
### 3. Nitro 설정
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
// nitro.config.ts
|
|
144
|
+
import { defineNitroConfig } from 'nitro/config'
|
|
145
|
+
|
|
146
|
+
export default defineNitroConfig({
|
|
147
|
+
preset: 'cloudflare_pages',
|
|
148
|
+
|
|
149
|
+
// Nitro v3 필수 설정
|
|
150
|
+
compatibilityDate: '2024-09-19',
|
|
151
|
+
|
|
152
|
+
cloudflare: {
|
|
153
|
+
deployConfig: true, // wrangler.json 자동 생성
|
|
154
|
+
nodeCompat: true, // Node.js API 호환성
|
|
155
|
+
},
|
|
156
|
+
})
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### 4. 빌드 및 배포
|
|
101
160
|
|
|
102
161
|
```bash
|
|
103
162
|
# 빌드
|
|
104
|
-
|
|
163
|
+
pnpm build
|
|
105
164
|
|
|
106
165
|
# Pages 배포
|
|
107
166
|
wrangler pages deploy .output/public
|
|
108
167
|
```
|
|
109
168
|
|
|
169
|
+
---
|
|
170
|
+
|
|
110
171
|
## Wrangler 설정 상세
|
|
111
172
|
|
|
173
|
+
### wrangler.jsonc (Workers 직접 통합)
|
|
174
|
+
|
|
175
|
+
```jsonc
|
|
176
|
+
// wrangler.jsonc
|
|
177
|
+
{
|
|
178
|
+
"$schema": "node_modules/wrangler/config-schema.json",
|
|
179
|
+
"name": "my-tanstack-app",
|
|
180
|
+
"compatibility_date": "2024-09-19",
|
|
181
|
+
"compatibility_flags": ["nodejs_compat"],
|
|
182
|
+
"main": "@tanstack/react-start/server-entry",
|
|
183
|
+
|
|
184
|
+
// 환경 변수
|
|
185
|
+
"vars": {
|
|
186
|
+
"MY_VAR": "value"
|
|
187
|
+
},
|
|
188
|
+
|
|
189
|
+
// KV 스토리지
|
|
190
|
+
"kv_namespaces": [
|
|
191
|
+
{ "binding": "MY_KV", "id": "your-kv-id" }
|
|
192
|
+
],
|
|
193
|
+
|
|
194
|
+
// D1 데이터베이스
|
|
195
|
+
"d1_databases": [
|
|
196
|
+
{ "binding": "DB", "database_name": "my-database", "database_id": "your-database-id" }
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
112
201
|
### wrangler.toml (Workers)
|
|
113
202
|
|
|
114
203
|
```toml
|
|
115
204
|
name = "my-app"
|
|
116
|
-
main = "
|
|
117
|
-
compatibility_date = "
|
|
205
|
+
main = "@tanstack/react-start/server-entry"
|
|
206
|
+
compatibility_date = "2024-09-19"
|
|
118
207
|
compatibility_flags = ["nodejs_compat"]
|
|
119
208
|
|
|
120
209
|
[vars]
|
|
@@ -130,12 +219,12 @@ database_name = "my-database"
|
|
|
130
219
|
database_id = "your-database-id"
|
|
131
220
|
```
|
|
132
221
|
|
|
133
|
-
### wrangler.toml (Pages)
|
|
222
|
+
### wrangler.toml (Pages with Nitro)
|
|
134
223
|
|
|
135
224
|
```toml
|
|
136
225
|
name = "my-pages-app"
|
|
137
226
|
pages_build_output_dir = ".output/public"
|
|
138
|
-
compatibility_date = "
|
|
227
|
+
compatibility_date = "2024-09-19"
|
|
139
228
|
compatibility_flags = ["nodejs_compat"]
|
|
140
229
|
|
|
141
230
|
[[d1_databases]]
|
|
@@ -144,6 +233,8 @@ database_name = "my-database"
|
|
|
144
233
|
database_id = "your-database-id"
|
|
145
234
|
```
|
|
146
235
|
|
|
236
|
+
---
|
|
237
|
+
|
|
147
238
|
## KV 스토리지 사용
|
|
148
239
|
|
|
149
240
|
### KV 네임스페이스 생성
|
|
@@ -152,7 +243,7 @@ database_id = "your-database-id"
|
|
|
152
243
|
# KV 네임스페이스 생성
|
|
153
244
|
wrangler kv:namespace create "MY_KV"
|
|
154
245
|
|
|
155
|
-
# wrangler.
|
|
246
|
+
# wrangler.jsonc에 바인딩 추가
|
|
156
247
|
```
|
|
157
248
|
|
|
158
249
|
### 코드에서 사용
|
|
@@ -174,6 +265,8 @@ export default defineHandler(async (event) => {
|
|
|
174
265
|
})
|
|
175
266
|
```
|
|
176
267
|
|
|
268
|
+
---
|
|
269
|
+
|
|
177
270
|
## D1 데이터베이스 사용
|
|
178
271
|
|
|
179
272
|
### D1 데이터베이스 생성
|
|
@@ -204,6 +297,8 @@ export default defineHandler(async (event) => {
|
|
|
204
297
|
})
|
|
205
298
|
```
|
|
206
299
|
|
|
300
|
+
---
|
|
301
|
+
|
|
207
302
|
## 환경변수 관리
|
|
208
303
|
|
|
209
304
|
### 로컬 개발
|
|
@@ -220,11 +315,16 @@ API_SECRET=your-secret
|
|
|
220
315
|
# 시크릿 설정
|
|
221
316
|
wrangler secret put API_SECRET
|
|
222
317
|
|
|
223
|
-
# 일반 변수 (wrangler.
|
|
224
|
-
|
|
225
|
-
|
|
318
|
+
# 일반 변수 (wrangler.jsonc)
|
|
319
|
+
{
|
|
320
|
+
"vars": {
|
|
321
|
+
"NODE_ENV": "production"
|
|
322
|
+
}
|
|
323
|
+
}
|
|
226
324
|
```
|
|
227
325
|
|
|
326
|
+
---
|
|
327
|
+
|
|
228
328
|
## 커스텀 도메인
|
|
229
329
|
|
|
230
330
|
### Pages
|
|
@@ -245,25 +345,38 @@ routes = [
|
|
|
245
345
|
]
|
|
246
346
|
```
|
|
247
347
|
|
|
348
|
+
---
|
|
349
|
+
|
|
248
350
|
## 개발 서버
|
|
249
351
|
|
|
250
352
|
```bash
|
|
251
|
-
# 로컬 개발
|
|
353
|
+
# Workers 로컬 개발
|
|
252
354
|
wrangler dev
|
|
253
355
|
|
|
254
|
-
# Pages 로컬 개발
|
|
356
|
+
# Pages 로컬 개발 (Nitro 사용 시)
|
|
255
357
|
wrangler pages dev .output/public
|
|
256
358
|
|
|
257
|
-
# 미니플레어 사용
|
|
359
|
+
# 로컬 모드 (미니플레어 사용)
|
|
258
360
|
wrangler dev --local
|
|
259
361
|
```
|
|
260
362
|
|
|
363
|
+
---
|
|
364
|
+
|
|
261
365
|
## 트러블슈팅
|
|
262
366
|
|
|
263
367
|
### Node.js API 호환성
|
|
264
368
|
|
|
369
|
+
Workers 직접 통합 시 `wrangler.jsonc`:
|
|
370
|
+
|
|
371
|
+
```jsonc
|
|
372
|
+
{
|
|
373
|
+
"compatibility_flags": ["nodejs_compat"]
|
|
374
|
+
}
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
Nitro 사용 시 `nitro.config.ts`:
|
|
378
|
+
|
|
265
379
|
```typescript
|
|
266
|
-
// nitro.config.ts
|
|
267
380
|
import { defineNitroConfig } from 'nitro/config'
|
|
268
381
|
|
|
269
382
|
export default defineNitroConfig({
|
|
@@ -307,12 +420,53 @@ wrangler tail
|
|
|
307
420
|
wrangler tail --deployment-id [id]
|
|
308
421
|
```
|
|
309
422
|
|
|
423
|
+
---
|
|
424
|
+
|
|
310
425
|
## CI/CD 설정
|
|
311
426
|
|
|
312
|
-
### GitHub Actions
|
|
427
|
+
### GitHub Actions (Workers 직접 통합)
|
|
428
|
+
|
|
429
|
+
```yaml
|
|
430
|
+
name: Deploy to Cloudflare Workers
|
|
431
|
+
|
|
432
|
+
on:
|
|
433
|
+
push:
|
|
434
|
+
branches: [main]
|
|
435
|
+
|
|
436
|
+
jobs:
|
|
437
|
+
deploy:
|
|
438
|
+
runs-on: ubuntu-latest
|
|
439
|
+
steps:
|
|
440
|
+
- uses: actions/checkout@v4
|
|
441
|
+
|
|
442
|
+
- name: Setup pnpm
|
|
443
|
+
uses: pnpm/action-setup@v2
|
|
444
|
+
with:
|
|
445
|
+
version: 8
|
|
446
|
+
|
|
447
|
+
- name: Setup Node.js
|
|
448
|
+
uses: actions/setup-node@v4
|
|
449
|
+
with:
|
|
450
|
+
node-version: '20'
|
|
451
|
+
cache: 'pnpm'
|
|
452
|
+
|
|
453
|
+
- name: Install dependencies
|
|
454
|
+
run: pnpm install
|
|
455
|
+
|
|
456
|
+
- name: Build
|
|
457
|
+
run: pnpm build
|
|
458
|
+
|
|
459
|
+
- name: Deploy to Workers
|
|
460
|
+
uses: cloudflare/wrangler-action@v3
|
|
461
|
+
with:
|
|
462
|
+
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
463
|
+
command: deploy
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
### GitHub Actions (Pages with Nitro)
|
|
313
467
|
|
|
314
468
|
```yaml
|
|
315
|
-
name: Deploy to Cloudflare
|
|
469
|
+
name: Deploy to Cloudflare Pages
|
|
316
470
|
|
|
317
471
|
on:
|
|
318
472
|
push:
|
|
@@ -323,23 +477,52 @@ jobs:
|
|
|
323
477
|
runs-on: ubuntu-latest
|
|
324
478
|
steps:
|
|
325
479
|
- uses: actions/checkout@v4
|
|
326
|
-
|
|
480
|
+
|
|
481
|
+
- name: Setup pnpm
|
|
482
|
+
uses: pnpm/action-setup@v2
|
|
483
|
+
with:
|
|
484
|
+
version: 8
|
|
485
|
+
|
|
486
|
+
- name: Setup Node.js
|
|
487
|
+
uses: actions/setup-node@v4
|
|
327
488
|
with:
|
|
328
489
|
node-version: '20'
|
|
490
|
+
cache: 'pnpm'
|
|
329
491
|
|
|
330
|
-
-
|
|
331
|
-
|
|
332
|
-
env:
|
|
333
|
-
NITRO_PRESET: cloudflare_pages
|
|
492
|
+
- name: Install dependencies
|
|
493
|
+
run: pnpm install
|
|
334
494
|
|
|
335
|
-
-
|
|
495
|
+
- name: Build
|
|
496
|
+
run: pnpm build
|
|
497
|
+
|
|
498
|
+
- name: Deploy to Pages
|
|
499
|
+
uses: cloudflare/wrangler-action@v3
|
|
336
500
|
with:
|
|
337
501
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
338
502
|
command: pages deploy .output/public --project-name=my-app
|
|
339
503
|
```
|
|
340
504
|
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
## package.json 스크립트
|
|
508
|
+
|
|
509
|
+
```json
|
|
510
|
+
{
|
|
511
|
+
"scripts": {
|
|
512
|
+
"dev": "vite dev",
|
|
513
|
+
"build": "vite build && tsc --noEmit",
|
|
514
|
+
"preview": "vite preview",
|
|
515
|
+
"deploy": "pnpm build && wrangler deploy"
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
341
522
|
## 참고 자료
|
|
342
523
|
|
|
524
|
+
- [TanStack Start Cloudflare Guide](https://developers.cloudflare.com/workers/frameworks/framework-guides/tanstack-start/)
|
|
525
|
+
- [Cloudflare Vite Plugin](https://developers.cloudflare.com/workers/frameworks/vite/)
|
|
343
526
|
- [Cloudflare Workers 문서](https://developers.cloudflare.com/workers/)
|
|
344
527
|
- [Cloudflare Pages 문서](https://developers.cloudflare.com/pages/)
|
|
345
528
|
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/)
|