mirror of
https://github.com/gadgethd/ukmesh.git
synced 2026-09-02 19:14:00 +00:00
* fix: migrate frontend dependencies for #61 * fix(frontend): maplibre 6 migration — react-is peer dep, worker resolution, e2e timing - Add react-is ^19.2.8 as a direct dependency: recharts 3 declares it as a peer dep (recharts 2 bundled it), so vite's dep optimizer 500'd on 'Failed to resolve import "react-is"' and the whole dashboard failed to mount (error boundary). - Exclude maplibre-gl from vite optimizeDeps: v6 loads its worker via new URL(..., import.meta.url); pre-bundling rewrote that to node_modules/.vite/deps/maplibre-gl-worker.mjs (404) killing the worker and all custom raster protocols (hopreach-rf tiles never fetched) in dev. - Harden two dashboard e2e assertions from the default 5s to 15s: maplibre 6's larger ESM bundle makes initial map mount slower under 4-worker parallel CI load; the app behavior is unchanged (verified vs main's pass). Verified locally: 84/84 unit tests, tsc + vite build, full e2e (public-desktop + dashboard-desktop + dashboard-mobile) 27 passed. --------- Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com> Co-authored-by: hermes-gadget <hermes-gadget@users.noreply.github.com>
51 lines
1.5 KiB
JSON
51 lines
1.5 KiB
JSON
{
|
|
"name": "meshcore-analytics-frontend",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"budget": "node scripts/check-performance-budgets.mjs",
|
|
"lint:css": "node scripts/check-css-structure.mjs",
|
|
"soak:production": "node scripts/soak-production.mjs",
|
|
"preview": "vite preview",
|
|
"test": "tsx --test $(find src -name '*.test.ts' -print)",
|
|
"test:e2e": "playwright test --project=public-desktop --project=dashboard-desktop --project=dashboard-mobile",
|
|
"test:mobile": "playwright test mobile.spec.ts --project=mobile-regression"
|
|
},
|
|
"dependencies": {
|
|
"@deck.gl/aggregation-layers": "^9.3.8",
|
|
"@deck.gl/core": "^9.3.8",
|
|
"@deck.gl/extensions": "^9.3.8",
|
|
"@deck.gl/layers": "^9.3.8",
|
|
"@deck.gl/mapbox": "^9.3.8",
|
|
"d3-force": "^3.0.0",
|
|
"fuse.js": "^7.5.0",
|
|
"maplibre-gl": "^6.2.0",
|
|
"polygon-clipping": "^0.15.7",
|
|
"react": "19.2.8",
|
|
"react-aria-components": "^1.20.0",
|
|
"react-dom": "19.2.8",
|
|
"react-is": "^19.2.8",
|
|
"react-router": "8.3.0",
|
|
"recharts": "^3.10.1",
|
|
"zustand": "^5.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@axe-core/playwright": "^4.12.1",
|
|
"@playwright/test": "^1.62.1",
|
|
"@types/d3-force": "^3.0.10",
|
|
"@types/react": "^19.2.18",
|
|
"@types/react-dom": "^19.2.4",
|
|
"@vitejs/plugin-react": "^6.0.5",
|
|
"postcss": "8.5.26",
|
|
"tsx": "^4.23.11",
|
|
"typescript": "^7.0.2",
|
|
"vite": "^8.2.1"
|
|
},
|
|
"overrides": {
|
|
"postcss": "8.5.26"
|
|
}
|
|
}
|