{ "name": "client", "private": true, "version": "3.12.0", "engines": { "node": ">=24", "npm": ">=11" }, "type": "module", "scripts": { "lockfile": "docker run --rm -v \"$PWD\":/w -w /w $(grep -m1 -o 'node:[^ ]*' ../docker/Dockerfile) npm install --package-lock-only", "dev": "vite", "build": "tsc -b && vite build", "build-dev": "tsc -b && vite build --mode development", "lint": "eslint . --ext js,jsx,ts,tsx --report-unused-disable-directives", "lint-strict": "eslint . --ext js,jsx,ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview", "format": "prettier --write .", "format-check": "prettier --check .", "compile": "tsc -b" }, "lint-staged": { "**/*": "prettier --write --ignore-unknown" }, "dependencies": { "@csstools/css-tokenizer": "^3.0.4", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@fontsource-variable/geist": "^5.3.0", "@hello-pangea/dnd": "^18.0.0", "@hookform/resolvers": "5.2.2", "@mui/lab": "7.0.0", "@mui/material": "7.3.7", "@mui/x-charts": "7.29.1", "@mui/x-date-pickers": "7.29.4", "@reduxjs/toolkit": "2.7.0", "@types/maplibre-gl": "^1.13.2", "axios": "^1.15.2", "dayjs": "1.11.13", "html2canvas": "^1.4.1", "human-interval": "2.0.1", "i18next": "25.4.2", "joi": "17.13.4", "lucide-react": "^0.562.0", "maplibre-gl": "^5.19.0", "mui-color-input": "^7.0.0", "pretty-bytes": "^7.1.0", "pretty-ms": "^9.3.0", "react": "18.3.1", "react-dom": "^18.2.0", "react-hook-form": "^7.63.0", "react-i18next": "^15.4.0", "react-icons": "5.5.0", "react-map-gl": "^8.1.0", "react-redux": "9.2.0", "react-router": "^6.23.0", "react-router-dom": "^6.23.1", "react-toastify": "^10.0.5", "recharts": "2.15.2", "redux-persist": "6.0.0", "swr": "^2.3.6", "vite-plugin-svgr": "^4.2.0", "zod": "^4.3.6" }, "devDependencies": { "@types/node": "24.5.2", "@types/react": "^18.2.66", "@types/react-dom": "^18.2.22", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.6", "lint-staged": "^16.2.7", "mongoose": "9.6.2", "prettier": "^3.3.3", "typescript": "5.9.3", "vite": "^6.4.2" } }