chris aee1f10179 Sync native contact form to main-site, replace iframe
Replaces the third-party iframe form on both the homepage and contact page
with the self-hosted form: drag-and-drop photo upload, honeypot, rate
limiting, inline validation, auto-reply email. Adds multer/sharp/nodemailer
dependencies and the /api/contact endpoint to server.js.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 20:32:05 -04:00

31 lines
897 B
JSON

{
"name": "bpb-website",
"version": "1.0.0",
"description": "",
"main": "admin.js",
"scripts": {
"start": "node server.js",
"start:prod": "NODE_ENV=production node server.js",
"start:backend": "npm start --prefix photo-gallery-app/backend",
"start:all": "concurrently --names \"web,api\" \"npm start\" \"npm run start:backend\"",
"test": "echo \"Error: no test specified\" && exit 1",
"build": "npx esbuild gallery/gallery.js admin/admin.js --bundle --minify --format=iife --target=es2018 --outdir=public/build"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^2.2.0",
"cors": "^2.8.5",
"dotenv": "^17.2.3",
"express": "^5.1.0",
"multer": "^1.4.5-lts.2",
"nodemailer": "^6.10.1",
"sharp": "^0.34.2"
},
"devDependencies": {
"concurrently": "^9.2.1",
"esbuild": "^0.21.5"
}
}