{ "name": "react", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite --port=8080", "build-release": "vite build", "preview": "vite preview" }, "dependencies": { "axios": "^1.8.1", "chart.js": "^4.4.7", "react-chartjs-2": "^5.3.0", "react-circular-progressbar": "^2.1.0", "react-clock": "^5.1.0" }, "devDependencies": { "@eslint/js": "^9.6.0", "@fortawesome/fontawesome-svg-core": "^6.5.1", "@fortawesome/free-brands-svg-icons": "^6.5.2", "@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.5.1", "@fortawesome/react-fontawesome": "^0.2.0", "@tanem/svg-injector": "^10.1.68", "@turf/clusters": "^7.1.0", "@turf/turf": "^6.5.0", "@types/dom-webcodecs": "^0.1.12", "@types/leaflet": "^1.9.8", "@types/node": "^22.5.1", "@types/react": "^18.2.66", "@types/react-dom": "^18.2.22", "@types/react-leaflet": "^3.0.0", "@types/turf": "^3.5.32", "@typescript-eslint/parser": "^7.14.1", "@vitejs/plugin-react": "^4.2.1", "autoprefixer": "^10.4.19", "buffer": "^6.0.3", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.6", "eslint-plugin-readable-tailwind": "^1.5.2", "globals": "^15.7.0", "js-sha256": "^0.11.0", "jsstore": "^4.8.2", "leaflet": "^1.9.4", "leaflet-control-mini-map": "^0.4.0", "leaflet-path-drag": "^1.9.5", "magvar": "^1.1.5", "opus-decoder": "^0.7.6", "postcss": "^8.4.38", "prettier": "^3.3.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-icons": "^5.0.1", "react-leaflet": "^4.2.1", "tailwindcss": "^3.4.3", "turf": "^3.0.14", "typescript-eslint": "^7.14.1", "usng": "^0.3.0", "vite": "^5.2.0", "vite-plugin-externals": "^0.6.2", "vite-plugin-file": "^1.0.5", "web-audio-peak-meter": "^3.1.0" } }