Set up pnpm workspaces with three packages: a shared Zod-schema package, a Hono-based API exported as a library, and a Vite/React/ Tailwind frontend that mounts the API via Cloudflare Pages Functions. Storage is abstracted behind an S3-compatible provider so the project can migrate from R2 to a self-hosted MinIO without code changes. https://claude.ai/code/session_01TPBqgcSJMppgrpiq7fLywL
30 lines
817 B
TOML
30 lines
817 B
TOML
name = "stefanieeleandro"
|
|
compatibility_date = "2026-04-01"
|
|
compatibility_flags = ["nodejs_compat"]
|
|
pages_build_output_dir = "dist"
|
|
|
|
[[d1_databases]]
|
|
binding = "DB"
|
|
database_name = "wedding-db"
|
|
database_id = "REPLACE_WITH_D1_ID"
|
|
migrations_dir = "../api/migrations"
|
|
|
|
[[r2_buckets]]
|
|
binding = "MEDIA"
|
|
bucket_name = "wedding-media"
|
|
|
|
[vars]
|
|
COUPLE_NAMES = "Stefanie & Leandro"
|
|
PUBLIC_BASE_URL = "https://stefanieeleandro.pages.dev"
|
|
S3_REGION = "auto"
|
|
S3_BUCKET = "wedding-media"
|
|
S3_FORCE_PATH_STYLE = "false"
|
|
# S3_ENDPOINT, S3_PUBLIC_BASE_URL, CF_ACCESS_TEAM, CF_ACCESS_AUD are
|
|
# set after Cloudflare config (see README of deploy steps).
|
|
#
|
|
# Secrets (set via `wrangler pages secret put <NAME> --project-name stefanieeleandro`):
|
|
# S3_ACCESS_KEY_ID
|
|
# S3_SECRET_ACCESS_KEY
|
|
# TURNSTILE_SECRET
|
|
# ALLOWED_ADMIN_EMAILS
|