{ "name": "ui", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", "test": "vitest", "test:ui": "vitest --ui", "test:run": "vitest run" }, "dependencies": { "@emotion/styled": "^11.14.1", "@mui/icons-material": "^7.3.8", "@noble/ciphers": "^2.1.1", "@noble/curves": "^2.0.1", "@noble/ed25519": "^3.0.0", "@noble/hashes": "^2.0.1", "axios": "^1.13.6", "bootstrap": "^5.3.8", "date-fns": "^4.1.0", "mqtt": "^5.15.0", "react": "^19.2.0", "react-bootstrap": "^2.10.10", "react-dom": "^19.2.0", "react-leaflet": "^5.0.0", "react-qr-code": "^2.0.18", "react-router": "^7.13.1", "tweetnacl": "^1.0.3" }, "devDependencies": { "@eslint/js": "^9.39.1", "@types/crypto-js": "^4.2.2", "@types/node": "^24.11.0", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.1", "@vitest/ui": "^4.0.18", "eslint": "^9.39.1", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "happy-dom": "^20.8.3", "sass": "^1.93.2", "typescript": "~5.9.3", "typescript-eslint": "^8.48.0", "vite": "^7.3.1", "vitest": "^4.0.18" } }