Frontend stack would be:
with a structure of:
web/
├── assets/
├── templates/
├── src/
│ ├── pages/queue/
│ │ ├── queue.ts
│ │ └── Queue.vue
│ ├── typings/
│ │ └── queue.ts
│ └── api.ts
├── package.json
├── package-lock.json
├── tsconfig.json
└── vite.config.ts
Local development would then become two processes:
cd web
npm install
npm run watch
Building would be:
cd web
npm ci
npm run check
npm run build
cd ..
cargo build --release
Askama would provide the shared layout and page shells and the queue template would mount the Vue application, which would retrieve its data via API.
This is very similar to rustc-perf, but with Vite instead of Parcel since it seems like Parcel is problematic if we add more Vue pages? Only the queue page would use Vue for now since the rest are not interactive.
Frontend stack would be:
with a structure of:
Local development would then become two processes:
cargo runBuilding would be:
Askama would provide the shared layout and page shells and the queue template would mount the Vue application, which would retrieve its data via API.
This is very similar to rustc-perf, but with Vite instead of Parcel since it seems like Parcel is problematic if we add more Vue pages? Only the queue page would use Vue for now since the rest are not interactive.