mirror of
https://github.com/dpup/meshstream.git
synced 2026-03-28 17:42:37 +01:00
- Migrate all three map components (Map, GoogleMap, NetworkMap) to MapLibre GL JS - Extract shared CARTO_DARK_STYLE constants into lib/mapStyle.ts - Move buildCircleCoords to lib/mapUtils.ts (was duplicated across components) - Rename exports: Map → LocationMap, GoogleMap → NodeLocationMap - Remove dead props (width, height, nightMode) from LocationMap interface - Lazy-mount GL contexts via IntersectionObserver to prevent WebGL exhaustion - Fix Math.spread RangeError in NetworkMap bounds calculation - Remove showLinks conditional render in favour of visibility layout property - Remove cursor state; set canvas cursor style directly on map interactions - Remove Google Maps API key env vars from .env.example and .env.local - Move Vite dev server to port 5747 (avoids cached redirect on 3000) - Fix CORS/404: set VITE_API_BASE_URL="" so browser uses Vite proxy Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
68 lines
2.0 KiB
JSON
68 lines
2.0 KiB
JSON
{
|
|
"name": "meshstream-web",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"description": "Web application for visualizing Meshtastic network data",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"lint": "eslint --ignore-pattern 'dist/*' src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
"preview": "vite preview",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"keywords": [
|
|
"meshtastic",
|
|
"mesh",
|
|
"network",
|
|
"visualization"
|
|
],
|
|
"author": "",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@eslint/js": "^9.25.1",
|
|
"@reduxjs/toolkit": "^2.7.0",
|
|
"@tailwindcss/postcss": "^4.1.4",
|
|
"@tanstack/react-query": "^5.74.4",
|
|
"@tanstack/react-query-devtools": "^5.74.6",
|
|
"@tanstack/react-router": "^1.116.0",
|
|
"@tanstack/router-devtools": "^1.116.0",
|
|
"@tanstack/router-vite-plugin": "^1.116.1",
|
|
"clsx": "^2.1.1",
|
|
"leaflet": "^1.9.4",
|
|
"lucide-react": "^0.503.0",
|
|
"maplibre-gl": "^5.20.1",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-leaflet": "^5.0.0",
|
|
"react-map-gl": "^8.1.0",
|
|
"react-redux": "^9.2.0",
|
|
"tailwind-merge": "^3.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.1.4",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/geojson": "^7946.0.16",
|
|
"@types/leaflet": "^1.9.17",
|
|
"@types/react": "^19.1.2",
|
|
"@types/react-dom": "^19.1.2",
|
|
"@typescript-eslint/eslint-plugin": "^8.31.0",
|
|
"@typescript-eslint/parser": "^8.31.0",
|
|
"@vitejs/plugin-react": "^4.4.1",
|
|
"autoprefixer": "^10.4.21",
|
|
"eslint": "^9.25.1",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
"eslint-plugin-react-refresh": "^0.4.20",
|
|
"jsdom": "^26.1.0",
|
|
"postcss": "^8.5.3",
|
|
"tailwindcss": "^4.1.4",
|
|
"typescript": "^5.8.3",
|
|
"typescript-eslint": "^8.31.0",
|
|
"vite": "^6.3.2",
|
|
"vitest": "^3.1.2"
|
|
}
|
|
} |