105 lines
3.2 KiB
JSON
105 lines
3.2 KiB
JSON
{
|
|
"name": "@goodgo/iam-service",
|
|
"version": "1.0.0",
|
|
"type": "module",
|
|
"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:*",
|
|
"@neondatabase/serverless": "^1.0.2",
|
|
"@prisma/adapter-neon": "^7.2.0",
|
|
"@prisma/client": "^7.2.0",
|
|
"@simplewebauthn/server": "^13.2.2",
|
|
"@types/dompurify": "^3.2.0",
|
|
"@types/jsdom": "^27.0.0",
|
|
"bcryptjs": "^3.0.3",
|
|
"cookie-parser": "^1.4.7",
|
|
"cors": "^2.8.5",
|
|
"dompurify": "^3.3.1",
|
|
"dotenv": "^17.2.3",
|
|
"express": "^5.2.1",
|
|
"express-rate-limit": "^8.2.1",
|
|
"helmet": "^8.1.0",
|
|
"ioredis": "^5.9.0",
|
|
"jsdom": "^27.4.0",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"node-cache": "^5.1.2",
|
|
"oidc-provider": "^9.6.0",
|
|
"openid-client": "^6.8.1",
|
|
"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.4",
|
|
"rate-limit-redis": "^4.3.1",
|
|
"speakeasy": "^2.0.0",
|
|
"swagger-jsdoc": "^6.2.8",
|
|
"swagger-ui-express": "^5.0.1",
|
|
"uuid": "^13.0.0",
|
|
"zod": "^4.3.5"
|
|
},
|
|
"devDependencies": {
|
|
"@faker-js/faker": "^10.2.0",
|
|
"@goodgo/eslint-config": "workspace:*",
|
|
"@goodgo/tsconfig": "workspace:*",
|
|
"@jest/globals": "^30.2.0",
|
|
"@types/bcryptjs": "^3.0.0",
|
|
"@types/cookie-parser": "^1.4.10",
|
|
"@types/cors": "^2.8.19",
|
|
"@types/dotenv": "^8.2.3",
|
|
"@types/express": "^5.0.6",
|
|
"@types/ioredis": "^5.0.0",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/node": "^25.0.3",
|
|
"@types/node-cache": "^4.2.5",
|
|
"@types/opossum": "^8.1.9",
|
|
"@types/passport": "^1.0.17",
|
|
"@types/passport-facebook": "^3.0.4",
|
|
"@types/passport-github2": "^1.2.9",
|
|
"@types/passport-google-oauth20": "^2.0.17",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/speakeasy": "^2.0.10",
|
|
"@types/supertest": "^6.0.3",
|
|
"@types/swagger-jsdoc": "^6.0.4",
|
|
"@types/swagger-ui-express": "^4.1.8",
|
|
"@types/uuid": "^11.0.0",
|
|
"jest": "^30.2.0",
|
|
"prisma": "^7.2.0",
|
|
"supertest": "^7.2.2",
|
|
"ts-jest": "^29.4.6",
|
|
"ts-node": "^10.9.2",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.9.3"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"glob@>=10.2.0 <10.5.0": ">=10.5.0",
|
|
"qs@<6.14.1": ">=6.14.1"
|
|
}
|
|
}
|
|
} |