mirror of
https://github.com/Av0idD4rk/firegex.git
synced 2026-10-23 16:31:00 +00:00
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.
52 lines
1.3 KiB
JSON
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"
|
|
}
|
|
}
|