MEGAINFRA-WEBAPP/package.json
DEls a96f35366d feat(management): store planning data in PocketBase with editable income, add job and forecast vs actual chart
Move the Management planning snapshots into PocketBase collections
(plans, projects, per-year project plans, retention, edit log), loaded
with a bundled-JSON fallback. Admins can double-click an income cell to
enter forecast and actual, edit awarded jobs' planned amounts, change
status and costs, and add jobs, with revision checks and an audit trail.
Income chart now shows forecast and invoiced bars with not-yet-started
money stacked in red; Income is in the sidebar. Adds schema and import
scripts, and jsdom/Testing Library dev dependencies for UI tests.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 03:04:01 +02:00

85 lines
2.6 KiB
JSON

{
"name": "mega-infrastructure-dashboard",
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "next dev -H 0.0.0.0 -p 6004 --webpack",
"build": "npm run icons && npm run og-image && next build --webpack",
"icons": "node scripts/build-icons.mjs",
"og-image": "node scripts/build-og-image.mjs",
"start": "next start -H 0.0.0.0 -p 3000",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"test": "vitest",
"test:run": "vitest run",
"mcp": "tsx --env-file=.env.local src/mcp/server.ts",
"postinstall": "node scripts/patch-next-dev-blocker.cjs"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.122.0",
"@ducanh2912/next-pwa": "^10.2.9",
"@modelcontextprotocol/sdk": "^1.30.0",
"@n8n/workflow-sdk": "^0.29.3",
"@radix-ui/react-dialog": "^1.1.4",
"@radix-ui/react-dropdown-menu": "^2.1.4",
"@radix-ui/react-label": "^2.1.1",
"@radix-ui/react-select": "^2.1.4",
"@radix-ui/react-slot": "^1.1.1",
"@radix-ui/react-tabs": "^1.1.2",
"@radix-ui/react-tooltip": "^1.1.6",
"@tanstack/react-table": "^8.20.6",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"exceljs": "^4.4.0",
"jsqr": "^1.4.0",
"leaflet": "^1.9.4",
"leaflet.markercluster": "^1.5.3",
"lucide-react": "^0.469.0",
"next": "^16",
"openai": "^7.8.0",
"papaparse": "^5.4.1",
"pdf-lib": "^1.17.1",
"pdfmake": "^0.2.23",
"pocketbase": "^0.27.3",
"qrcode": "^1.5.4",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-leaflet": "^5.0.0",
"react-leaflet-cluster": "^4.1.3",
"react-markdown": "^10.1.0",
"recharts": "^2.15.0",
"remark-gfm": "^4.0.1",
"remark-parse": "^11.0.0",
"sharp": "^0.35.4",
"tailwind-merge": "^2.6.0",
"three": "0.160.0",
"unified": "^11.0.5",
"xlsx": "^0.18.5",
"zod": "^3.25.76",
"zod-to-json-schema": "^3.25.2"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.0.0",
"@testing-library/jest-dom": "^7.0.1",
"@testing-library/react": "^16.3.3",
"@testing-library/user-event": "^14.6.8",
"@types/leaflet": "^1.9.22",
"@types/node": "^22.10.5",
"@types/papaparse": "^5.3.15",
"@types/pdfkit": "^0.17.6",
"@types/pdfmake": "^0.3.3",
"@types/qrcode": "^1.5.6",
"@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2",
"@types/three": "0.160.0",
"eslint": "^9.17.0",
"eslint-config-next": "^16",
"jsdom": "^30.1.3",
"postcss": "^8.4.49",
"tailwindcss": "^4.0.0",
"tsx": "^4.23.12",
"typescript": "^5.7.2",
"vitest": "^2.1.9"
}
}