moex-vibe/apps/backend/package.json
Sergey Krylov c2478277e6
Some checks failed
CI / lint (pull_request) Failing after 1m45s
CI / test (pull_request) Failing after 1m42s
CI / build (pull_request) Failing after 1m31s
CI / lint (push) Failing after 1m46s
CI / test (push) Failing after 1m34s
CI / build (push) Failing after 1m35s
feat: add authentication system with JWT + RBAC
Backend:
- AuthModule with register, login, logout, refresh, profile endpoints
- JwtAuthGuard (global, opt-out via @Public) + RolesGuard (@Roles)
- PrismaModule with SQLite via @prisma/adapter-libsql (Prisma 7)
- Auth configuration in configuration.ts

Frontend:
- Auth context with session restoration via refresh cookie
- Login, Register, Profile pages with ProtectedRoute
- Auto-refresh on 401 with token rotation
- API client refactored for auth headers

Russian text: auth flows translated to Russian
All text translated: auth pages, profile, layout, loading states
2026-06-13 22:24:46 +03:00

54 lines
1.5 KiB
JSON

{
"name": "@moex-vibe/backend",
"version": "0.0.1",
"private": true,
"scripts": {
"build": "nest build",
"start:dev": "nest start --watch",
"start:prod": "node dist/main",
"lint": "eslint \"{src,test}/**/*.ts\"",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"@libsql/client": "^0.17.3",
"@nestjs/axios": "^3.0.0",
"@nestjs/cache-manager": "^2.0.0",
"@nestjs/common": "^10.0.0",
"@nestjs/config": "^3.0.0",
"@nestjs/core": "^10.0.0",
"@nestjs/jwt": "^11.0.2",
"@nestjs/platform-express": "^10.0.0",
"@nestjs/swagger": "^7.0.0",
"@prisma/adapter-libsql": "^7.8.0",
"@prisma/client": "^7.8.0",
"axios": "^1.6.0",
"bcrypt": "^6.0.0",
"cache-manager": "^5.0.0",
"class-transformer": "^0.5.0",
"class-validator": "^0.14.0",
"cookie-parser": "^1.4.7",
"p-queue": "^7.3.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.8.0",
"swagger-ui-express": "^5.0.0"
},
"devDependencies": {
"@nestjs/cli": "^10.0.0",
"@nestjs/schematics": "^10.0.0",
"@nestjs/testing": "^10.0.0",
"@swc/core": "^1.15.41",
"@types/bcrypt": "^6.0.0",
"@types/cookie-parser": "^1.4.10",
"@types/express": "^4.17.0",
"@types/node": "^20.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"eslint": "^8.0.0",
"prisma": "^7.8.0",
"typescript": "^5.3.0",
"unplugin-swc": "^1.5.9",
"vitest": "^1.0.0"
}
}