1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
{
"name": "app",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev --turbopack",
"dev:custom": "ts-node --transpile-only src/server.ts",
"build": "next build",
"start": "next start",
"start:custom": "node dist/server.js",
"lint": "next lint"
},
"dependencies": {
"@hookform/resolvers": "^5.0.1",
"@prisma/client": "^6.6.0",
"@radix-ui/react-avatar": "^1.1.7",
"@radix-ui/react-dialog": "^1.1.11",
"@radix-ui/react-dropdown-menu": "^2.1.12",
"@radix-ui/react-label": "^2.1.4",
"@radix-ui/react-slot": "^1.2.0",
"bcrypt": "^5.1.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"http": "^0.0.1-security",
"jsonwebtoken": "^9.0.2",
"leaflet": "^1.9.4",
"lucide-react": "^0.503.0",
"next": "15.3.1",
"next-themes": "^0.4.6",
"nodemailer": "^6.10.1",
"qrcode": "^1.5.4",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-hook-form": "^7.56.1",
"react-leaflet": "^5.0.0",
"socket.io": "^4.8.1",
"socket.io-client": "^4.8.1",
"sonner": "^2.0.3",
"tailwind-merge": "^3.2.0",
"tailwindcss-animate": "^1.0.7",
"ts-node": "^10.9.2",
"zod": "^3.24.3",
"zustand": "^5.0.3"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@tailwindcss/postcss": "^4",
"@types/bcrypt": "^5.0.2",
"@types/jsonwebtoken": "^9.0.9",
"@types/leaflet": "^1.9.17",
"@types/node": "^20",
"@types/nodemailer": "^6.4.17",
"@types/qrcode": "^1.5.5",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "15.3.1",
"prisma": "^6.6.0",
"tailwindcss": "^4",
"tw-animate-css": "^1.2.8",
"typescript": "^5"
}
}
|