{
  "name": "kvm-ui",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "engines": {
    "node": "22.15.0"
  },
  "scripts": {
    "dev": "./dev_device.sh",
    "dev:ssl": "USE_SSL=true ./dev_device.sh",
    "dev:cloud": "vite dev --mode=cloud-development",
    "build": "npm run build:prod",
    "build:device": "tsc && vite build --mode=device --emptyOutDir",
    "build:staging": "tsc && vite build --mode=cloud-staging",
    "build:prod": "tsc && vite build --mode=cloud-production",
    "lint": "eslint './src/**/*.{ts,tsx}'",
    "lint:fix": "eslint './src/**/*.{ts,tsx}' --fix",
    "preview": "vite preview"
  },
  "dependencies": {
    "@headlessui/react": "^2.2.4",
    "@headlessui/tailwindcss": "^0.2.2",
    "@heroicons/react": "^2.2.0",
    "@vitejs/plugin-basic-ssl": "^2.1.0",
    "@xterm/addon-clipboard": "^0.1.0",
    "@xterm/addon-fit": "^0.10.0",
    "@xterm/addon-unicode11": "^0.8.0",
    "@xterm/addon-web-links": "^0.11.0",
    "@xterm/addon-webgl": "^0.18.0",
    "@xterm/xterm": "^5.5.0",
    "cva": "^1.0.0-beta.4",
    "dayjs": "^1.11.13",
    "eslint-import-resolver-alias": "^1.1.2",
    "focus-trap-react": "^11.0.4",
    "framer-motion": "^12.23.3",
    "lodash.throttle": "^4.1.1",
    "mini-svg-data-uri": "^1.4.4",
    "react": "^19.1.0",
    "react-animate-height": "^3.2.3",
    "react-dom": "^19.1.0",
    "react-hook-form": "^7.62.0",
    "react-hot-toast": "^2.5.2",
    "react-icons": "^5.5.0",
    "react-router-dom": "^6.22.3",
    "react-simple-keyboard": "^3.8.93",
    "react-use-websocket": "^4.13.0",
    "react-xtermjs": "^1.0.10",
    "recharts": "^2.15.3",
    "tailwind-merge": "^3.3.1",
    "usehooks-ts": "^3.1.1",
    "validator": "^13.15.15",
    "zustand": "^4.5.2"
  },
  "devDependencies": {
    "@eslint/compat": "^1.3.1",
    "@eslint/eslintrc": "^3.3.1",
    "@eslint/js": "^9.30.1",
    "@tailwindcss/forms": "^0.5.10",
    "@tailwindcss/postcss": "^4.1.11",
    "@tailwindcss/typography": "^0.5.16",
    "@tailwindcss/vite": "^4.1.11",
    "@types/react": "^19.1.8",
    "@types/react-dom": "^19.1.6",
    "@types/semver": "^7.7.0",
    "@types/validator": "^13.15.2",
    "@typescript-eslint/eslint-plugin": "^8.36.0",
    "@typescript-eslint/parser": "^8.36.0",
    "@vitejs/plugin-react-swc": "^3.10.2",
    "autoprefixer": "^10.4.21",
    "eslint": "^9.30.1",
    "eslint-config-prettier": "^10.1.5",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^5.2.0",
    "eslint-plugin-react-refresh": "^0.4.20",
    "globals": "^16.3.0",
    "postcss": "^8.5.6",
    "prettier": "^3.6.2",
    "prettier-plugin-tailwindcss": "^0.6.14",
    "tailwindcss": "^4.1.11",
    "typescript": "^5.8.3",
    "vite": "^6.3.5",
    "vite-tsconfig-paths": "^5.1.4"
  }
}
