{ "name": "@micprotocol/api", "version": "0.1.0", "private": true, "license": "UNLICENSED", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", "default": "./dist/index.js" } }, "scripts": { "build": "nest build", "dev": "nest start --watch", "start": "nest start", "start:prod": "node dist/main", "start:debug": "nest start --debug --watch", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"", "type-check": "tsc --noEmit", "prisma:generate": "prisma generate", "prisma:push": "prisma db push", "prisma:migrate": "prisma migrate dev", "prisma:studio": "prisma studio", "prisma:seed": "ts-node prisma/seed.ts", "test": "NODE_OPTIONS=\"--experimental-vm-modules\" jest", "test:watch": "NODE_OPTIONS=\"--experimental-vm-modules\" jest --watch", "test:e2e": "NODE_OPTIONS=\"--experimental-vm-modules\" jest --config ./test/jest-e2e.json" }, "dependencies": { "@aws-sdk/client-s3": "3.1155.0", "@aws-sdk/s3-request-presigner": "3.1155.0", "@micprotocol/shared-types": "workspace:*", "@nest-lab/throttler-storage-redis": "^1.2.0", "@nestjs/axios": "^12.0.1", "@nestjs/bullmq": "^12.0.0", "@nestjs/common": "^12.2.0", "@nestjs/config": "^12.0.1", "@nestjs/core": "^12.2.0", "@nestjs/platform-express": "^12.2.0", "@nestjs/platform-socket.io": "^12.2.0", "@nestjs/schedule": "^12.0.2", "@nestjs/swagger": "^12.0.3", "@nestjs/terminus": "^12.1.0", "@nestjs/throttler": "^6.7.1", "@nestjs/websockets": "^12.2.0", "@prisma/adapter-pg": "^7.10.1", "@prisma/client": "^7.10.1", "@prisma/config": "^7.10.1", "@sentry/nestjs": "^11.8.0", "@sentry/profiling-node": "^11.8.0", "@trpc/server": "^11.19.0", "@types/bcrypt": "^6.0.0", "@types/handlebars": "^4.1.0", "@types/nodemailer": "^8.0.2", "bcrypt": "^6.0.0", "better-auth": "^1.2.0", "bullmq": "^5.4.0", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", "compression": "^1.8.2", "cookie-parser": "^1.4.7", "express": "^5.3.0", "express-rate-limit": "^8.7.1", "firebase-admin": "^14.5.0", "fluent-ffmpeg": "^2.1.3", "google-auth-library": "^11.3.1", "googleapis": "^187.0.0", "handlebars": "^4.7.10", "helmet": "^8.3.0", "ioredis": "^6.0.0", "jose": "^6.2.13", "livekit-server-sdk": "^2.19.2", "meilisearch": "^0.62.0", "nodemailer": "^10.2.1", "pg": "^8.23.1", "raw-body": "^4.0.0", "redis": "^6.3.0", "reflect-metadata": "^0.2.2", "resend": "^6.34.1", "rxjs": "^7.8.2", "sharp": "^0.35.5", "socket.io": "^4.8.4", "stripe": "^23.0.1", "web-push": "^3.6.7", "zod": "^4.3.6" }, "devDependencies": { "@micprotocol/tsconfig": "workspace:*", "@nestjs/cli": "^12.0.10", "@nestjs/schematics": "^12.0.10", "@nestjs/testing": "^12.2.0", "@types/compression": "^1.8.1", "@types/cookie-parser": "^1.4.10", "@types/express": "^5.0.6", "@types/fluent-ffmpeg": "^2.1.28", "@types/jest": "^29.5.0", "@types/multer": "^2.3.0", "@types/node": "^26.6.5", "@types/pg": "^8.23.1", "@types/supertest": "^7.2.1", "dotenv": "^18.0.9", "eslint": "^10.13.0", "jest": "^30.5.2", "prisma": "^7.10.1", "source-map-support": "^0.5.21", "supertest": "^7.3.1", "ts-jest": "^29.4.15", "ts-loader": "^9.6.2", "ts-node": "^10.9.2", "typescript": "^6.0.0" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "preset": "ts-jest/presets/default-esm", "setupFiles": [ "/../test/setup-jest.ts" ], "transform": { "^.+\\.ts$": [ "ts-jest", { "useESM": true, "tsconfig": { "module": "esnext" } } ] }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } }