{ "name": "sso-service", "version": "0.0.1", "description": "Self-hosted SSO / OIDC service (Node.js, NestJS)", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json", "prisma:generate": "prisma generate", "prisma:push": "prisma db push", "prisma:migrate": "prisma migrate dev", "prisma:studio": "prisma studio" }, "dependencies": { "@nestjs/common": "^11.0.1", "@nestjs/config": "^4.0.0", "@nestjs/core": "^11.0.1", "@nestjs/jwt": "^11.0.0", "@nestjs/microservices": "^11.0.1", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.0.1", "@nestjs/throttler": "^6.4.0", "@prisma/adapter-pg": "^7.8.0", "@prisma/client": "^7.8.0", "@types/ejs": "^3.1.5", "@types/nodemailer": "^8.0.0", "@types/qrcode": "^1.5.6", "@willsoto/nestjs-prometheus": "^6.0.2", "amqp-connection-manager": "^5.0.0", "amqplib": "^2.0.1", "argon2": "^0.41.1", "class-transformer": "^0.5.1", "class-validator": "^0.14.1", "cookie-parser": "^1.4.7", "ejs": "^6.0.1", "express-ejs-layouts": "^2.5.1", "helmet": "^8.0.0", "ioredis": "^5.5.0", "nestjs-pino": "^4.1.0", "nodemailer": "^8.0.11", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "pg": "^8.21.0", "pino": "^9.6.0", "prom-client": "^15.1.3", "qrcode": "^1.5.4", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1", "zod": "^3.24.2" }, "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.18.0", "@nestjs/cli": "^11.0.0", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.1", "@types/cookie-parser": "^1.4.8", "@types/express": "^5.0.0", "@types/jest": "^30.0.0", "@types/node": "^24.0.0", "@types/passport-jwt": "^4.0.1", "@types/supertest": "^7.0.0", "@types/uuid": "^10.0.0", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.2", "globals": "^17.0.0", "jest": "^30.0.0", "pino-pretty": "^13.0.0", "prettier": "^3.4.2", "prisma": "^7.8.0", "source-map-support": "^0.5.21", "supertest": "^7.0.0", "ts-jest": "^29.2.5", "ts-loader": "^9.5.2", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "typescript": "^5.7.3", "typescript-eslint": "^8.20.0" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } }