This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel (or oxc when used in rolldown-vite) for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.
This project includes a serverless endpoint to forward contact form submissions directly to your Gmail via Nodemailer. To enable it:
-
Enable 2FA on your Google account and create an App Password for Mail: https://myaccount.google.com/security → App passwords.
-
Add the following environment variables to your deployment (Vercel, Netlify, etc.):
GMAIL_USER=seanjameslacaba@gmail.comGMAIL_PASS=<your_app_password>VITE_USE_SERVERLESS=true- (Optional)
VITE_API_CONTACT_URL=/api/contact
-
Deploy the site (on Vercel, the serverless function lives at
/api/contact).
Local dev: keep VITE_USE_SERVERLESS=false (default) and test using Formspree or the mailto fallback.
Security: Do NOT commit your real app password to source control—use your hosting provider's secret/env settings.