{ "name": "webui", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "VITE_ROVERD_URL=https://rover.otter.land vite", "build": "vite build", "lint": "eslint .", "test": "node --test src/controls/inputs/*.test.js src/components/GamepadMappingSettings/*.test.js", "preview": "vite preview" }, "dependencies": { "@lizardbyte/gamepad-helper": "^2026.816.4539", "@rjsf/core": "^6.10.0", "@rjsf/validator-ajv8": "^6.10.0", "@thumbmarkjs/thumbmarkjs": "^1.10.0", "linkify-react": "^4.3.3", "linkifyjs": "^4.3.3", "midi-file": "^1.2.4", "papaparse": "^5.5.4", "react": "^19.2.0", "react-dom": "^19.2.0", "react-icons": "^5.7.0", "react-joystick-component": "^6.2.1", "react-player": "^3.4.0", "react-router-dom": "^7.9.6", "three": "^0.184.0", "uplot": "^1.6.32", "web-haptics": "latest" }, "devDependencies": { "@eslint/js": "^9.39.1", "@tailwindcss/vite": "^4.3.3", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "@vitejs/plugin-react": "^5.1.0", "baseline-browser-mapping": "^2.11.25", "eslint": "^9.39.1", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "socket.io-client": "4.8.3", "tailwindcss": "^4.3.3", "vite": "^7.2.2", "vitest": "^5.0.0" } }