{ "name": "@goodgo/api", "version": "0.0.1", "private": true, "scripts": { "dev": "nest start --watch", "build": "nest build", "start": "node dist/main", "start:prod": "node dist/main", "lint": "eslint src/", "test": "vitest run", "test:integration": "vitest run --config vitest.integration.config.ts", "typecheck": "tsc --noEmit" }, "dependencies": { "@goodgo/mcp-servers": "workspace:*", "@nestjs/common": "^11.0.0", "@nestjs/core": "^11.0.0", "@nestjs/cqrs": "^11.0.0", "@nestjs/event-emitter": "^3.0.0", "@nestjs/jwt": "^11.0.2", "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.0.0", "@nestjs/throttler": "^6.5.0", "@paralleldrive/cuid2": "^3.3.0", "@prisma/client": "^6.0.0", "@willsoto/nestjs-prometheus": "^6.1.0", "bcrypt": "^6.0.0", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", "firebase-admin": "^13.7.0", "handlebars": "^4.7.9", "helmet": "^8.1.0", "ioredis": "^5.4.0", "nodemailer": "^8.0.5", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "passport-local": "^1.0.0", "pino": "^9.0.0", "pino-pretty": "^13.0.0", "prom-client": "^15.1.3", "reflect-metadata": "^0.2.0", "rxjs": "^7.8.0", "sanitize-html": "^2.17.2", "typesense": "^3.0.5" }, "devDependencies": { "@nestjs/cli": "^11.0.0", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.0", "@types/bcrypt": "^6.0.0", "@types/express": "^5.0.0", "@types/node": "^22.0.0", "@types/nodemailer": "^8.0.0", "@types/passport-jwt": "^4.0.1", "@types/passport-local": "^1.0.38", "@types/sanitize-html": "^2.16.1", "@types/supertest": "^7.2.0", "prisma": "^6.0.0", "supertest": "^7.2.2", "typescript": "^5.7.0", "vitest": "^3.0.0" } }