- Install next-auth@4, bcryptjs, @types/bcryptjs, @types/jest - src/types/next-auth.d.ts: extend Session/JWT with tenantId, roles, isSuperAdmin - src/lib/auth-options.ts: CredentialsProvider + JWT/session callbacks, 24h maxAge - src/lib/auth.ts: getServerSession() and getCurrentUser() server helpers - src/app/api/auth/[...nextauth]/route.ts: NextAuth GET/POST handler - src/middleware.ts: withAuth middleware protecting all routes except /login /signup /api/auth/*
40 lines
928 B
JSON
40 lines
928 B
JSON
{
|
|
"name": "netforge",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"db:push": "prisma db push",
|
|
"db:generate": "prisma generate",
|
|
"db:studio": "prisma studio"
|
|
},
|
|
"dependencies": {
|
|
"@prisma/client": "^6.19.2",
|
|
"bcryptjs": "^3.0.3",
|
|
"next": "16.1.6",
|
|
"next-auth": "^4.24.13",
|
|
"prisma": "^6.19.2",
|
|
"react": "19.2.3",
|
|
"react-dom": "19.2.3"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@vitejs/plugin-react": "^4.7.0",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.1.6",
|
|
"tailwindcss": "^4",
|
|
"typescript": "^5",
|
|
"vitest": "^4.0.18"
|
|
}
|
|
}
|