| { | |
| "name": "chat-app-client", | |
| "private": true, | |
| "version": "0.0.0", | |
| "type": "module", | |
| "scripts": { | |
| "dev": "vite", | |
| "build": "tsc && vite build", | |
| "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", | |
| "preview": "vite preview", | |
| "test": "vitest" | |
| }, | |
| "dependencies": { | |
| "react": "^18.2.0", | |
| "react-dom": "^18.2.0", | |
| "react-router-dom": "^6.20.1", | |
| "socket.io-client": "^4.7.4", | |
| "zustand": "^4.4.7", | |
| "@supabase/supabase-js": "^2.38.4", | |
| "axios": "^1.6.2", | |
| "lucide-react": "^0.294.0", | |
| "clsx": "^2.0.0", | |
| "tailwind-merge": "^2.0.0", | |
| "@radix-ui/react-avatar": "^1.1.10", | |
| "@radix-ui/react-dialog": "^1.1.4", | |
| "@radix-ui/react-dropdown-menu": "^2.1.4", | |
| "@radix-ui/react-label": "^2.1.1", | |
| "@radix-ui/react-slot": "^1.2.3", | |
| "@radix-ui/react-scroll-area": "^1.2.2", | |
| "@radix-ui/react-separator": "^1.1.1", | |
| "@radix-ui/react-tabs": "^1.1.3", | |
| "@radix-ui/react-toast": "^1.2.4", | |
| "class-variance-authority": "^0.7.0", | |
| "react-hook-form": "^7.48.2", | |
| "@hookform/resolvers": "^3.3.2", | |
| "zod": "^3.22.4", | |
| "date-fns": "^2.30.0", | |
| "emoji-picker-react": "^4.5.16" | |
| }, | |
| "devDependencies": { | |
| "@types/react": "^18.2.37", | |
| "@types/react-dom": "^18.2.15", | |
| "@typescript-eslint/eslint-plugin": "^6.10.0", | |
| "@typescript-eslint/parser": "^6.10.0", | |
| "@vitejs/plugin-react": "^4.1.1", | |
| "autoprefixer": "^10.4.16", | |
| "eslint": "^8.53.0", | |
| "eslint-plugin-react-hooks": "^4.6.0", | |
| "eslint-plugin-react-refresh": "^0.4.4", | |
| "postcss": "^8.4.31", | |
| "tailwindcss": "^3.3.5", | |
| "tailwindcss-animate": "^1.0.7", | |
| "typescript": "^5.2.2", | |
| "vite": "^5.0.0", | |
| "vitest": "^0.34.6" | |
| } | |
| } | |