{ "name": "react-example", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite --port=3001 --host=0.0.0.0", "server:dev": "npm run server:build && node server/dist/main.js", "server:build": "tsc -p server/tsconfig.json", "server:start": "node server/dist/main.js", "build": "vite build", "preview": "vite preview", "clean": "rm -rf dist", "lint": "tsc --noEmit", "test": "vitest run", "test:e2e": "playwright test", "prisma:generate": "prisma generate --schema server/prisma/schema.prisma", "prisma:migrate": "prisma migrate dev --schema server/prisma/schema.prisma", "prisma:seed": "prisma db seed --schema server/prisma/schema.prisma" }, "dependencies": { "@nestjs/common": "^11.1.19", "@nestjs/config": "^4.0.4", "@nestjs/core": "^11.1.19", "@nestjs/platform-express": "^11.1.19", "@prisma/adapter-pg": "^7.8.0", "@prisma/client": "^7.8.0", "@tailwindcss/vite": "^4.1.14", "@vitejs/plugin-react": "^5.0.4", "argon2": "^0.44.0", "cookie-parser": "^1.4.7", "diff": "^9.0.0", "express": "^4.21.2", "express-session": "^1.19.0", "lucide-react": "^0.546.0", "motion": "^12.23.24", "pg": "^8.20.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-router-dom": "^7.14.1", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "sanitize-html": "^2.17.3", "vite": "^6.2.0", "ws": "^8.20.0", "zod": "^4.4.1" }, "devDependencies": { "@nestjs/testing": "^11.1.19", "@playwright/test": "^1.59.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/cookie-parser": "^1.4.10", "@types/express": "^4.17.21", "@types/express-session": "^1.19.0", "@types/node": "^22.14.0", "@types/pg": "^8.20.0", "@types/sanitize-html": "^2.16.1", "@types/supertest": "^7.2.0", "@types/ws": "^8.18.1", "autoprefixer": "^10.4.21", "jsdom": "^29.1.1", "prisma": "^7.8.0", "supertest": "^7.2.2", "tailwindcss": "^4.1.14", "tsx": "^4.21.0", "typescript": "~5.8.2", "vite": "^6.2.0", "vitest": "^4.1.5" } }