{
  "name": "spa",
  "private": true,
  "version": "0.0.1",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc -b && vite build",
    "lint": "eslint .",
    "format": "prettier --write \"**/*.{ts,tsx}\"",
    "typecheck": "tsc --noEmit",
    "preview": "vite preview"
  },
  "dependencies": {
    "@base-ui/react": "^1.5.0",
    "@fontsource-variable/geist": "^5.2.9",
    "@tailwindcss/vite": "^4",
    "@tanstack/react-query": "^5.101.0",
    "@tanstack/react-router": "^1.170.11",
    "@tanstack/react-router-devtools": "^1.167.0",
    "@tanstack/react-virtual": "^3.14.2",
    "@use-gesture/react": "^10.3.1",
    "axios": "^1.17.0",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "^1.1.1",
    "date-fns": "^4.4.0",
    "embla-carousel-react": "^8.6.0",
    "html2canvas-pro": "^2.0.4",
    "i18next": "^26.3.1",
    "input-otp": "^1.4.2",
    "lucide-react": "^1.17.0",
    "next-themes": "^0.4.6",
    "radix-ui": "^1.4.3",
    "react": "^19.2.6",
    "react-day-picker": "^10.0.1",
    "react-dom": "^19.2.6",
    "react-i18next": "^17.0.8",
    "react-resizable-panels": "^4.11.2",
    "recharts": "3.8.0",
    "shadcn": "^4.10.0",
    "sonner": "^2.0.7",
    "tailwind-merge": "^3.6.0",
    "tailwindcss": "^4",
    "tw-animate-css": "^1.4.0",
    "vaul": "^1.1.2",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@eslint/js": "^10",
    "@tanstack/eslint-plugin-query": "^5.101.0",
    "@tanstack/router-plugin": "^1.168.14",
    "@types/node": "^24",
    "@types/react": "^19",
    "@types/react-dom": "^19",
    "@vitejs/plugin-react": "^6",
    "eslint": "^10",
    "eslint-plugin-react-hooks": "^7.1.1",
    "eslint-plugin-react-refresh": "^0.5.2",
    "globals": "^17",
    "prettier": "^3.8.3",
    "prettier-plugin-tailwindcss": "^0.8.0",
    "typescript": "~6",
    "typescript-eslint": "^8",
    "vite": "^8"
  }
}
