mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-03-20 06:11:27 -07:00
1.6 KiB
1.6 KiB
C3 Generated Configuration
Output Structure
my-app/
├── src/index.ts # Worker entry point
├── wrangler.jsonc # Cloudflare config
├── package.json # Scripts
├── tsconfig.json
└── .gitignore
wrangler.jsonc
{
"$schema": "https://raw.githubusercontent.com/cloudflare/workers-sdk/main/packages/wrangler/config-schema.json",
"name": "my-app",
"main": "src/index.ts",
"compatibility_date": "2026-01-27"
}
Binding Placeholders
C3 generates placeholder IDs that must be replaced before deploy:
{
"kv_namespaces": [{ "binding": "MY_KV", "id": "placeholder_kv_id" }],
"d1_databases": [{ "binding": "DB", "database_id": "00000000-..." }]
}
Replace with real IDs:
npx wrangler kv namespace create MY_KV # Returns real ID
npx wrangler d1 create my-database # Returns real database_id
Deployment error if not replaced:
Error: Invalid KV namespace ID "placeholder_kv_id"
Scripts
{
"scripts": {
"dev": "wrangler dev",
"deploy": "wrangler deploy",
"cf-typegen": "wrangler types"
}
}
Type Generation
Run after adding bindings:
npm run cf-typegen
Generates .wrangler/types/runtime.d.ts:
interface Env {
MY_KV: KVNamespace;
DB: D1Database;
}
Post-Creation Checklist
- Review
wrangler.jsonc- check name, compatibility_date - Replace placeholder binding IDs with real resource IDs
- Run
npm run cf-typegen - Test:
npm run dev - Deploy:
npm run deploy - Add secrets:
npx wrangler secret put SECRET_NAME