{
  "name": "@nestarc/rbac",
  "version": "0.2.2",
  "description": "Tenant-aware RBAC and permission guards for production NestJS SaaS applications.",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/nestarc/rbac.git"
  },
  "type": "module",
  "main": "./dist/index.cjs",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "dist",
    "docs/guards.md",
    "docs/adr/0002-public-decision-error-contract.md",
    "docs/adr/0003-http-transport-contract.md",
    "docs/adr/0004-nest-12-prisma-8-compatibility.md",
    "docs/compatibility.md",
    "docs/installation.md",
    "docs/integrations.md",
    "docs/migration-0.2.0.md",
    "docs/prisma.md",
    "docs/testing.md",
    "examples",
    "prisma",
    "changelog.md",
    "README.md",
    "LICENSE"
  ],
  "exports": {
    ".": {
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/index.js"
      },
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/index.cjs"
      }
    },
    "./prisma": {
      "import": {
        "types": "./dist/prisma.d.ts",
        "default": "./dist/prisma.js"
      },
      "require": {
        "types": "./dist/prisma.d.cts",
        "default": "./dist/prisma.cjs"
      }
    },
    "./testing": {
      "import": {
        "types": "./dist/testing.d.ts",
        "default": "./dist/testing.js"
      },
      "require": {
        "types": "./dist/testing.d.cts",
        "default": "./dist/testing.cjs"
      }
    },
    "./integrations/tenancy": {
      "import": {
        "types": "./dist/integrations/tenancy.d.ts",
        "default": "./dist/integrations/tenancy.js"
      },
      "require": {
        "types": "./dist/integrations/tenancy.d.cts",
        "default": "./dist/integrations/tenancy.cjs"
      }
    },
    "./integrations/api-keys": {
      "import": {
        "types": "./dist/integrations/api-keys.d.ts",
        "default": "./dist/integrations/api-keys.js"
      },
      "require": {
        "types": "./dist/integrations/api-keys.d.cts",
        "default": "./dist/integrations/api-keys.cjs"
      }
    },
    "./integrations/audit-log": {
      "import": {
        "types": "./dist/integrations/audit-log.d.ts",
        "default": "./dist/integrations/audit-log.js"
      },
      "require": {
        "types": "./dist/integrations/audit-log.d.cts",
        "default": "./dist/integrations/audit-log.cjs"
      }
    }
  },
  "scripts": {
    "build": "tsup",
    "prepack": "npm run build",
    "lint": "eslint .",
    "typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json",
    "format": "prettier --write .",
    "test": "vitest run",
    "test:e2e": "vitest run test/e2e",
    "package:prepare": "npm run build && node scripts/prepare-package.cjs --output artifacts/package",
    "package:verify": "node scripts/verify-package-artifact.cjs --package-dir artifacts/package",
    "test:consumer:modern": "npm run package:prepare && npm run test:consumer:modern:artifact",
    "test:consumer:modern:artifact": "node scripts/verify-modern-consumer.cjs --package-dir artifacts/package",
    "test:consumer:nest10": "npm run package:prepare && npm run test:consumer:nest10:artifact",
    "test:consumer:nest10:artifact": "node scripts/verify-nest10-consumer.cjs --package-dir artifacts/package",
    "test:consumer:nest12": "npm run package:prepare && npm run test:consumer:nest12:artifact",
    "test:consumer:nest12:artifact": "node scripts/verify-nest12-consumer.cjs --package-dir artifacts/package",
    "verify:release-target": "node scripts/verify-release-target.cjs",
    "verify:published-package": "node scripts/verify-published-package.cjs --package-dir artifacts/package",
    "verify:dependency-audit": "node scripts/verify-dependency-audit.cjs",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage test/unit test/contract",
    "prisma:generate": "prisma generate --config=prisma.config.ts",
    "prisma:generate:legacy": "prisma generate --schema=prisma/schema.prisma.example",
    "prisma:migrate:test": "prisma db execute --config=prisma.config.ts --file=prisma/migrations/0001_init_rbac.sql",
    "prisma:migrate:test:legacy": "prisma db execute --schema=prisma/schema.prisma.example --file=prisma/migrations/0001_init_rbac.sql",
    "test:prisma": "vitest run --config vitest.integration.config.ts"
  },
  "peerDependencies": {
    "@nestarc/api-keys": ">=0.1 <1",
    "@nestarc/audit-log": ">=0.1 <1",
    "@nestarc/tenancy": ">=0.1 <1",
    "@nestjs/common": ">=10 <13",
    "@nestjs/core": ">=10 <13",
    "@prisma/client": ">=5 <8",
    "prisma": ">=5 <8",
    "reflect-metadata": ">=0.1.13",
    "rxjs": ">=7"
  },
  "peerDependenciesMeta": {
    "@prisma/client": {
      "optional": true
    },
    "prisma": {
      "optional": true
    },
    "@nestarc/tenancy": {
      "optional": true
    },
    "@nestarc/api-keys": {
      "optional": true
    },
    "@nestarc/audit-log": {
      "optional": true
    }
  },
  "overrides": {
    "tsup": {
      "esbuild": "0.28.2"
    },
    "@prisma/config@7.10.0": {
      "deepmerge-ts": "8.0.2"
    }
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@nestjs/common": "11.2.1",
    "@nestjs/core": "11.2.1",
    "@nestjs/platform-express": "11.2.1",
    "@nestjs/testing": "11.2.1",
    "@prisma/adapter-pg": "7.10.0",
    "@prisma/client": "7.10.0",
    "@swc/core": "^1.15.40",
    "@types/node": "22.20.1",
    "@types/supertest": "^7.2.0",
    "@vitest/coverage-v8": "^4.1.8",
    "eslint": "^10.4.1",
    "prettier": "^3.8.3",
    "prisma": "7.10.0",
    "reflect-metadata": "^0.2.2",
    "rxjs": "^7.8.2",
    "supertest": "^7.2.2",
    "tsup": "^8.5.1",
    "typescript": "~5.9",
    "typescript-eslint": "^8.60.1",
    "vitest": "^4.1.8"
  }
}
