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.
- The contact form API (
POST /api/contact) saves messages to two places:- Local:
server/data/messages.json - External, cross-deployment storage:
../message.jsonrelative to the repo (i.e., sibling tothermatechWebsite; on Windows this isC:\Users\...\Desktop\message.jsonif the repo lives atC:\Users\...\Desktop\thermatechWebsite)
- Local:
- The external file is append-only so we never lose past submissions across deployments. Do not replace or truncate it; writes must append new entries.
- If a messages file is missing, the backend initializes it as an empty array and then appends.
- If a messages file exists but is not valid JSON array, the backend will reinitialize it to an empty array (
[]) before appending new entries. - If you change the storage path, update operations scripts (e.g.
sync_msg.ps1) accordingly and ensure the process still has write permission to the target directory.