firegex/frontend/package.json
Domingo Dirutigliano 08d83e0041
Publish a browsable demo on GitHub Pages
The real frontend, built against an in-memory backend, so the UI can be tried
without a Linux host, NET_ADMIN or a running firewall. A visitor can create,
edit, start, stop and delete services across all five modules and watch the UI
react as it would against a real instance; a reload restores the seed.

- frontend/src/js/demo.ts holds the mock. genericapi() and the socket.io client
  are the frontend's only two ways out to the network, so routing both through
  it was enough - no component knows the difference. It also emits the same
  "update" events the backend does, and ticks the packet counters of running
  services so the page looks alive.
- The demo lives behind IS_DEMO, which vite inlines as a literal, so a normal
  `bun run build` tree-shakes the module and its seed data away. Verified: no
  demo string survives in the production bundle.
- The workflow rebuilds on every push touching frontend/ or docs/ and deploys
  to demo.firegex.pwnzer0tt1.it, copying index.html to 404.html so deep links
  resolve on Pages.
2026-09-03 09:36:37 +02:00

52 lines
1.3 KiB
JSON

{
"name": "firegex-frontend",
"type": "module",
"version": "0.1.0",
"private": true,
"dependencies": {
"@hello-pangea/dnd": "^18.0.1",
"@mantine/code-highlight": "^9.3.2",
"@mantine/core": "^9.3.2",
"@mantine/form": "^9.3.2",
"@mantine/hooks": "^9.3.2",
"@mantine/modals": "^9.3.2",
"@mantine/notifications": "^9.3.2",
"@monaco-editor/react": "^4.7.0",
"@tanstack/react-query": "^5.101.0",
"@vitejs/plugin-react-swc": "^4.3.1",
"buffer": "^6.0.3",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-icons": "^5.6.0",
"react-markdown": "^10.1.0",
"react-router": "^8.0.1",
"remark-gfm": "^4.0.1",
"shiki": "^4.2.0",
"socket.io-client": "^4.8.3",
"typescript": "^6.0.3",
"zustand": "^5.0.14"
},
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"build:demo": "tsc && vite build --mode demo"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"devDependencies": {
"@tanstack/react-query-devtools": "^5.101.0",
"@vitejs/plugin-react": "^6.0.2",
"vite": "^8.0.16",
"vite-plugin-svgr": "^5.2.0",
"@types/jest": "^30.0.0",
"@types/node": "^26.0.0",
"@types/react": "^19.2.17",
"@types/react-dom": "^19.2.3"
}
}