Files
ukmesh/frontend/package.json
T
d6b66424f2 fix: migrate frontend to maplibre-gl 6 / recharts 3 (dependabot #61) (#62)
* 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>
2026-08-11 22:18:38 +01:00

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"
}
}