{
  "name": "@pipeline-builder/api-server",
  "description": "Express server infrastructure for Pipeline Builder: app factory, middleware (CORS, Helmet, rate limiting, idempotency, ETag), request context, route wrappers, health-check helpers, and SSE support.",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/mwashburn160/pipeline-builder.git"
  },
  "devDependencies": {
    "@jest/globals": "30.4.1",
    "@stylistic/eslint-plugin": "^2",
    "@types/compression": "1.8.1",
    "@types/cors": "2.8.19",
    "@types/express": "5.0.6",
    "@types/express-serve-static-core": "5.1.3",
    "@types/jsonwebtoken": "9.0.10",
    "@types/node": "26.1.2",
    "@types/swagger-ui-express": "4.1.8",
    "@typescript-eslint/eslint-plugin": "^8",
    "@typescript-eslint/parser": "^8",
    "@typescript/native": "npm:typescript@^7.0.2",
    "eslint": "^9",
    "eslint-import-resolver-typescript": "^4.4.4",
    "eslint-plugin-import": "^2.32.0",
    "jest": "30.4.2",
    "jest-junit": "^17",
    "jsonwebtoken": "9.0.3",
    "ts-jest": "29.4.12",
    "typescript": "npm:@typescript/typescript6@^6.0.2"
  },
  "dependencies": {
    "@opentelemetry/api": "1.9.1",
    "@opentelemetry/auto-instrumentations-node": "0.79.0",
    "@opentelemetry/exporter-trace-otlp-http": "0.221.0",
    "@opentelemetry/instrumentation": "0.221.0",
    "@opentelemetry/resources": "2.10.0",
    "@opentelemetry/sdk-node": "0.221.0",
    "compression": "1.8.1",
    "cors": "2.8.6",
    "express": "5.2.1",
    "express-rate-limit": "8.6.1",
    "helmet": "8.3.0",
    "prom-client": "15.1.3",
    "rate-limit-redis": "6.0.0",
    "swagger-ui-express": "5.0.1",
    "uuid": "14.0.1",
    "@pipeline-builder/api-core": "4.1.8",
    "@pipeline-builder/pipeline-core": "4.1.9",
    "@pipeline-builder/pipeline-data": "4.1.9"
  },
  "keywords": [
    "ci-cd",
    "cicd",
    "continuous-delivery",
    "devops",
    "self-service",
    "platform-engineering",
    "internal-developer-platform",
    "developer-platform",
    "aws",
    "aws-cdk",
    "cdk",
    "codepipeline",
    "codebuild",
    "cloudformation",
    "pipeline",
    "pipeline-as-code",
    "infrastructure-as-code",
    "iac",
    "compliance",
    "policy-as-code",
    "governance",
    "golden-paths",
    "multi-tenant",
    "rbac",
    "ai",
    "ai-pipeline-generation",
    "llm",
    "bedrock",
    "plugins",
    "plugin-marketplace",
    "containerized",
    "docker",
    "kubernetes",
    "typescript",
    "cli"
  ],
  "engines": {
    "node": ">= 24.14.0"
  },
  "devEngines": {
    "packageManager": {
      "name": "pnpm",
      "version": ">=10",
      "onFail": "ignore"
    }
  },
  "main": "lib/index.js",
  "license": "Apache-2.0",
  "homepage": "https://mwashburn160.github.io/pipeline-builder/",
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "version": "4.1.9",
  "bugs": {
    "url": "https://github.com/mwashburn160/pipeline-builder/issues"
  },
  "jest": {
    "coverageProvider": "v8",
    "testMatch": [
      "<rootDir>/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
      "<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)"
    ],
    "clearMocks": true,
    "collectCoverage": true,
    "coverageReporters": [
      "json",
      "lcov",
      "clover",
      "cobertura",
      "text"
    ],
    "coverageDirectory": "coverage",
    "coveragePathIgnorePatterns": [
      "/node_modules/"
    ],
    "testPathIgnorePatterns": [
      "/node_modules/"
    ],
    "watchPathIgnorePatterns": [
      "/node_modules/"
    ],
    "reporters": [
      "default",
      [
        "jest-junit",
        {
          "outputDirectory": "test-reports"
        }
      ]
    ],
    "transform": {
      "^.+\\.[t]sx?$": [
        "ts-jest",
        {
          "useESM": true,
          "tsconfig": "test/tsconfig.json",
          "diagnostics": {
            "ignoreCodes": [
              151002
            ]
          }
        }
      ]
    },
    "extensionsToTreatAsEsm": [
      ".ts",
      ".tsx"
    ],
    "moduleNameMapper": {
      "^uuid$": "<rootDir>/../../jest-uuid-stub.js",
      "^(\\.{1,2}/.*)\\.js$": "$1"
    },
    "restoreMocks": true,
    "setupFilesAfterEnv": [
      "<rootDir>/../../jest-env-guard.js"
    ],
    "maxWorkers": 1,
    "coverageThreshold": {
      "global": {
        "statements": 94,
        "branches": 87,
        "functions": 89,
        "lines": 94
      }
    }
  },
  "types": "lib/index.d.ts",
  "type": "module",
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"pnpm dlx projen\".",
  "scripts": {
    "build": "pnpm dlx projen build",
    "compile": "pnpm dlx projen compile",
    "default": "pnpm dlx projen default",
    "eslint": "pnpm dlx projen eslint",
    "package": "pnpm dlx projen package",
    "post-compile": "pnpm dlx projen post-compile",
    "pre-compile": "pnpm dlx projen pre-compile",
    "test": "pnpm dlx projen test",
    "test:watch": "pnpm dlx projen test:watch",
    "watch": "pnpm dlx projen watch",
    "projen": "pnpm dlx projen"
  }
}