{
  "name": "my-project",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "tsx server.ts",
    "build": "next build",
    "start": "NODE_ENV=production tsx server.ts",
    "lint": "eslint ."
  },
  "dependencies": {
    "@base-ui/react": "^1.5.0",
    "@radix-ui/react-dialog": "^1.1.19",
    "@radix-ui/react-tabs": "^1.1.17",
    "@vercel/analytics": "1.6.1",
    "axios": "^1.18.0",
    "bcrypt": "^6.0.0",
    "better-auth": "^1.6.18",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "date-fns": "^4.4.0",
    "drizzle-orm": "^0.45.2",
    "framer-motion": "^12.40.0",
    "html2canvas-pro": "^2.3.2",
    "iron-session": "^8.0.4",
    "jspdf": "^4.2.1",
    "jspdf-autotable": "^5.0.8",
    "lucide-react": "^1.18.0",
    "mysql2": "^3.22.5",
    "next": "16.2.6",
    "react": "^19",
    "react-dom": "^19",
    "react-hook-form": "^7.79.0",
    "recharts": "^3.8.1",
    "shadcn": "^4.8.0",
    "socket.io": "^4.8.3",
    "socket.io-client": "^4.8.3",
    "ssh2": "^1.17.0",
    "tailwind-merge": "^3.3.1",
    "tw-animate-css": "^1.4.0",
    "xlsx": "^0.18.5",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@hookform/resolvers": "^5.4.0",
    "@tailwindcss/postcss": "^4.2.0",
    "@types/bcrypt": "^6.0.0",
    "@types/node": "^24",
    "@types/react": "^19",
    "@types/react-dom": "^19",
    "@types/socket.io-client": "^1.4.36",
    "@types/ssh2": "^1.15.5",
    "bcryptjs": "^3.0.3",
    "postcss": "^8.5",
    "tailwindcss": "^4.2.0",
    "tsx": "^4.23.1",
    "typescript": "5.7.3"
  }
}
