- Created registerUser server action with email/password validation - Implemented password hashing with bcrypt (10 rounds) - Added email uniqueness check to prevent duplicate registrations - Created session after successful registration using NextAuth - Added comprehensive validation for email format and password length (min 8 chars) - Added email and password validation utilities to lib/validation.ts - Removed PrismaAdapter from auth.ts (using JWT sessions only) - Added vitest testing framework and configuration - Created comprehensive unit tests for registration functionality - All tests passing (6/6) Requirements covered: 1.1, 1.2, 1.3, 1.4, 1.5
45 lines
1.1 KiB
JSON
45 lines
1.1 KiB
JSON
{
|
|
"name": "ultimate-lists-app",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"test": "vitest --run",
|
|
"test:watch": "vitest",
|
|
"db:push": "prisma db push",
|
|
"db:studio": "prisma studio",
|
|
"icons:generate": "node scripts/generate-icons.js",
|
|
"icons:info": "node scripts/svg-to-png.js"
|
|
},
|
|
"dependencies": {
|
|
"@auth/prisma-adapter": "^2.11.1",
|
|
"@prisma/client": "^5.7.1",
|
|
"bcryptjs": "^3.0.3",
|
|
"lucide-react": "^0.294.0",
|
|
"mysql2": "^3.15.3",
|
|
"next": "14.0.4",
|
|
"next-auth": "^5.0.0-beta.30",
|
|
"react": "^18",
|
|
"react-dom": "^18",
|
|
"zod": "^4.1.13"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/node": "^20",
|
|
"@types/react": "^18",
|
|
"@types/react-dom": "^18",
|
|
"@vitest/ui": "^4.0.14",
|
|
"autoprefixer": "^10.0.1",
|
|
"eslint": "^8",
|
|
"eslint-config-next": "14.0.4",
|
|
"postcss": "^8",
|
|
"prisma": "^5.7.1",
|
|
"tailwindcss": "^3.3.0",
|
|
"typescript": "^5",
|
|
"vitest": "^4.0.14"
|
|
}
|
|
}
|