This project is using Vite+, a unified toolchain built on top of Vite, Rolldown, Vitest, tsdown, Oxlint, Oxfmt, and Vite Task. Vite+ wraps runtime management, package management, and frontend tooling in a single global CLI called vp. Vite+ is distinct from Vite, and it invokes Vite through vp dev and vp build. Run vp help to print a list of commands and vp <command> --help for information about a specific command.
Docs are local at node_modules/vite-plus/docs or online at https://viteplus.dev/guide/.
- Run
vp installafter pulling remote changes and before getting started. - Run
vp checkandvp testto format, lint, type check and test changes. - Check if there are
vite.config.tstasks orpackage.jsonscripts necessary for validation, run viavp run <script>.
- This is a Vite+ React app using React Router for client-side routes.
- Route components live under
src/routes; shared UI and domain logic live undersrc/components,src/features, andsrc/lib. - Conference data is loaded client-side from static JSON under
public/ht/<conference-slug>/. - Direct navigation relies on the production host serving the root application entry point for nested app routes.
- Install dependencies:
npm install - Start development server:
npm run dev - Build production assets:
npm run build - Preview production build:
npm run preview
- Preserve existing URL structure and trailing slash behavior.
- Keep the app compatible with static hosting; do not add server-only assumptions.
- Maintain strict CSP compatibility: no inline scripts, no inline styles, and no external resources beyond allowed data endpoints.
- Do not reintroduce Next.js, Pages Router APIs, or build/export commands.