{
  "name": "@goodgo/service-template",
  "version": "1.0.0",
  "type": "module",
  "description": "Template for creating new microservices",
  "main": "./dist/main.js",
  "scripts": {
    "dev": "tsx watch src/main.ts",
    "build": "tsc",
    "start": "node dist/main.js",
    "test": "pnpm prisma:generate && jest --testPathIgnorePatterns='src/__tests__/feature.e2e.ts|src/modules/feature/__tests__/feature.repository.test.ts|src/modules/health/__tests__/health.controller.test.ts'",
    "test:all": "pnpm prisma:generate && jest",
    "test:unit": "jest --testPathPattern='src/modules/.*\\.test\\.ts$'",
    "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": {
    "@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",
    "cors": "^2.8.5",
    "dotenv": "^17.2.3",
    "express": "^5.2.1",
    "express-rate-limit": "^8.2.1",
    "helmet": "^8.1.0",
    "ioredis": "^5.9.0",
    "opossum": "^9.0.0",
    "prom-client": "^15.1.3",
    "rate-limit-redis": "^4.3.1",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "zod": "^4.3.5"
  },
  "devDependencies": {
    "@goodgo/eslint-config": "workspace:*",
    "@goodgo/tsconfig": "workspace:*",
    "@jest/globals": "^30.2.0",
    "@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/node": "^25.0.3",
    "@types/opossum": "^8.1.9",
    "@types/supertest": "^6.0.3",
    "@types/swagger-jsdoc": "^6.0.4",
    "@types/swagger-ui-express": "^4.1.8",
    "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"
  }
}