{
  "name": "@nestarc/feature-flag",
  "version": "0.6.0",
  "description": "NestJS feature flags with Prisma and PostgreSQL: attribute targeting, percentage rollouts, and optional Redis caching. No external flag service required.",
  "homepage": "https://nestarc.dev/packages/feature-flag/",
  "bugs": {
    "url": "https://github.com/nestarc/nestjs-feature-flag/issues"
  },
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./testing": {
      "types": "./dist/testing/index.d.ts",
      "default": "./dist/testing/index.js"
    },
    "./openfeature": {
      "types": "./dist/openfeature.d.ts",
      "default": "./dist/openfeature.js"
    }
  },
  "files": [
    "dist",
    "prisma",
    "docs/usage*.md",
    "CHANGELOG.md"
  ],
  "scripts": {
    "build": "tsc -p tsconfig.build.json",
    "test": "jest",
    "test:cov": "jest --coverage",
    "verify:docs": "node scripts/verify-docs.mjs",
    "verify:examples": "node scripts/verify-examples.mjs",
    "prebench": "npm run prisma:generate",
    "bench": "dotenv -e .env.test -- ts-node benchmarks/evaluation-overhead.ts",
    "lint": "eslint 'src/**/*.ts' 'test/**/*.ts'",
    "format": "prettier --write 'src/**/*.ts' 'test/**/*.ts'",
    "prisma:generate": "prisma generate",
    "docker:up": "docker compose up -d --wait",
    "docker:down": "docker compose down",
    "db:migrate": "dotenv -e .env.test -- npx prisma migrate deploy",
    "db:reset": "dotenv -e .env.test -- npx prisma migrate reset --force",
    "pretest:e2e": "npm run prisma:generate && npm run docker:up && npm run db:migrate",
    "test:e2e": "dotenv -e .env.test -- jest --config jest.e2e.config.ts --runInBand"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/nestarc/nestjs-feature-flag.git"
  },
  "keywords": [
    "nestjs",
    "feature-flag",
    "feature-flags",
    "feature-toggle",
    "rollout",
    "percentage-rollout",
    "attribute-targeting",
    "redis",
    "openfeature",
    "prisma",
    "postgresql",
    "multi-tenant",
    "nestjs-module",
    "saas"
  ],
  "author": "nestarc",
  "license": "MIT",
  "engines": {
    "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
  },
  "peerDependencies": {
    "@nestjs/common": "^10.0.0 || ^11.0.0",
    "@nestjs/core": "^10.0.0 || ^11.0.0",
    "@openfeature/server-sdk": "^1.23.0",
    "@prisma/client": "^7.0.0",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.0 || ^0.15.0",
    "ioredis": "^5.0.0",
    "reflect-metadata": "^0.1.13 || ^0.2.0",
    "rxjs": "^7.0.0"
  },
  "peerDependenciesMeta": {
    "@nestarc/tenancy": {
      "optional": true
    },
    "@nestjs/event-emitter": {
      "optional": true
    },
    "@openfeature/server-sdk": {
      "optional": true
    },
    "ioredis": {
      "optional": true
    }
  },
  "overrides": {
    "js-yaml": "4.2.0",
    "multer": "2.2.0"
  },
  "devDependencies": {
    "@eslint/js": "^9.0.0",
    "@nestjs/common": "^11.0.0",
    "@nestjs/core": "^11.0.0",
    "@nestjs/event-emitter": "^3.0.0",
    "@nestjs/platform-express": "^11.0.0",
    "@nestjs/testing": "^11.0.0",
    "@openfeature/server-sdk": "^1.23.0",
    "@prisma/adapter-pg": "^7.9.1",
    "@prisma/client": "^7.9.1",
    "@types/express": "^5.0.0",
    "@types/ioredis-mock": "^8.2.7",
    "@types/jest": "^29.5.0",
    "@types/pg": "^8.23.1",
    "@types/supertest": "^7.2.0",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.15.1",
    "dotenv": "^17.2.3",
    "dotenv-cli": "^11.0.0",
    "eslint": "^9.0.0",
    "ioredis": "^5.11.1",
    "ioredis-mock": "^8.13.1",
    "jest": "^29.7.0",
    "pg": "^8.22.0",
    "prettier": "^3.0.0",
    "prisma": "^7.9.1",
    "reflect-metadata": "^0.2.0",
    "rxjs": "^7.8.0",
    "supertest": "^7.2.2",
    "ts-jest": "^29.2.0",
    "ts-node": "^10.9.2",
    "typescript": "^5.5.0",
    "typescript-eslint": "^8.0.0"
  }
}
