{ "name": "@goodgo/iam-service", "version": "1.0.0", "description": "Enterprise IAM (Identity and Access Management) Service", "main": "./dist/main.js", "scripts": { "dev": "tsx watch src/main.ts", "build": "tsc", "start": "node dist/main.js", "test": "jest", "test:unit": "jest --testPathPattern='src/modules/.*\\.test\\.ts$'", "test:integration": "./scripts/test-integration.sh", "test:e2e": "jest --testPathPattern='src/__tests__/.*\\.e2e\\.ts$'", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "lint": "eslint src --ext .ts", "typecheck": "tsc --noEmit", "prisma:generate": "prisma generate", "prisma:migrate": "prisma migrate dev", "prisma:deploy": "prisma migrate deploy", "prisma:seed": "tsx prisma/seed.ts", "clean": "rm -rf dist" }, "dependencies": { "@fingerprintjs/fingerprintjs": "^5.0.1", "@goodgo/auth-sdk": "workspace:*", "@goodgo/logger": "workspace:*", "@goodgo/tracing": "workspace:*", "@goodgo/types": "workspace:*", "@prisma/client": "^5.9.1", "@simplewebauthn/server": "^9.0.0", "@types/dompurify": "^3.2.0", "@types/jsdom": "^27.0.0", "bcryptjs": "^2.4.3", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "dompurify": "^3.3.1", "dotenv": "^17.2.3", "express": "^4.22.1", "express-rate-limit": "^7.1.5", "helmet": "^7.1.0", "ioredis": "^5.3.2", "jsdom": "^27.4.0", "jsonwebtoken": "^9.0.2", "node-cache": "^5.1.2", "oidc-provider": "^8.0.0", "openid-client": "^5.6.5", "opossum": "^9.0.0", "passport": "^0.7.0", "passport-facebook": "^3.0.0", "passport-github2": "^0.1.12", "passport-google-oauth20": "^2.0.0", "prom-client": "^15.1.3", "qrcode": "^1.5.3", "rate-limit-redis": "^4.3.1", "speakeasy": "^2.0.0", "swagger-jsdoc": "^6.2.8", "swagger-ui-express": "^5.0.1", "uuid": "^9.0.1", "zod": "^3.22.4" }, "devDependencies": { "@faker-js/faker": "^10.1.0", "@goodgo/eslint-config": "workspace:*", "@goodgo/tsconfig": "workspace:*", "@jest/globals": "^29.7.0", "@types/bcryptjs": "^2.4.6", "@types/cookie-parser": "^1.4.6", "@types/cors": "^2.8.17", "@types/dotenv": "^8.2.3", "@types/express": "^4.17.21", "@types/ioredis": "^5.0.0", "@types/jest": "^29.5.11", "@types/jsonwebtoken": "^9.0.5", "@types/node": "^20.11.0", "@types/node-cache": "^4.2.5", "@types/opossum": "^8.1.9", "@types/passport": "^1.0.16", "@types/passport-facebook": "^3.0.4", "@types/passport-github2": "^1.2.9", "@types/passport-google-oauth20": "^2.0.14", "@types/qrcode": "^1.5.5", "@types/speakeasy": "^2.0.10", "@types/supertest": "^6.0.2", "@types/swagger-jsdoc": "^6.0.1", "@types/swagger-ui-express": "^4.1.6", "@types/uuid": "^9.0.7", "jest": "^29.7.0", "prisma": "^5.9.1", "supertest": "^7.0.0", "ts-jest": "^29.1.2", "ts-node": "^10.9.2", "tsx": "^4.7.1", "typescript": "^5.3.3" }, "pnpm": { "overrides": { "glob@>=10.2.0 <10.5.0": ">=10.5.0", "qs@<6.14.1": ">=6.14.1" } } }