Deployment Guide
How changes go from this computer to the live site. Since October 2026 the website is hosted for free on Cloudflare; one command builds and publishes everything.
npm run deploy โ never upload files by hand
The command builds the site, adds the photos and documents, and uploads only what changed. There is no File Manager step and no need to delete old JS files.
Edit the source files in the project folder. Test locally first using:
npm run dev
Then open http://localhost:5173 (or the next available port) in your browser.
npm run deploy
This runs three steps automatically:
vite build โ compiles all pages into dist/scripts/copy-server-files.mjs โ adds the gallery photos, documents and media from server-files/, plus the PDFs in legal/ and docs/, and removes unpublished draftswrangler deploy โ uploads dist/ to Cloudflare (only changed files are sent)The site is live worldwide within a few seconds. Settings live in wrangler.jsonc.
Your browser may still show a cached copy. Hard refresh to see the new version:
Cmd + Shift + R (Mac) / Ctrl + Shift + R (Windows)
server-files/photos/, add its filename to the PHOTOS list in gallery.html, then npm run deploy.legal/ or docs/, then npm run deploy.server-files/documents/ or server-files/media/.unpublished list in scripts/copy-server-files.mjs.
When a new feature requires a database schema change (new table, column, or policy), run the SQL in the correct Supabase project: