Add SPA static file serving from backend

Backend (Server.hs):
- serveStaticOrSpa: serves static files from --static-dir
- SPA fallback: extensionless paths serve index.html
- MIME type mapping for html/css/js/png/svg/ico/woff2

Frontend:
- ES module imports with import map for Mithril CDN
- Build script: tsc + copy index.html + static assets

CLI:
- --static-dir flag (default: frontend/dist)
- scripts/run passes through extra args
- Dockerfile CMD points at /usr/local/share/sis/static
This commit is contained in:
2026-07-15 14:59:31 -04:00
parent 5075ef2718
commit 72b1ee1d3d
12 changed files with 1297 additions and 114 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
"private": true,
"description": "Sis chore tracker SPA frontend",
"scripts": {
"build": "tsc && cp -r public/* dist/",
"build": "tsc && cp index.html dist/ && cp -r public/* dist/",
"dev": "tsc --watch",
"serve": "npx serve dist"
},