{
  "name": "hmpo-app",
  "version": "6.0.0",
  "description": "Bootstrap middleware and templating",
  "author": "HMPO",
  "license": "MIT",
  "private": false,
  "engineStrict": true,
  "engines": {
    "node": "24.x"
  },
  "main": "index.js",
  "scripts": {
    "pretest": "npm run test:lint",
    "test": "npm run test:unit",
    "posttest": "npm audit --registry='https://registry.npmjs.org'",
    "test:lint": "eslint .",
    "test:unit": "nyc _mocha",
    "prepare": "husky"
  },
  "dependencies": {
    "async": "^3.2.6",
    "body-parser": "^2.2.2",
    "compression": "^1.7.4",
    "connect-redis": "^6.1.3",
    "cookie-parser": "^1.4.6",
    "debug": "4.4.3",
    "deep-clone-merge": "^1.5.5",
    "express-session": "^1.19.0",
    "fakeredis": "^2.0.0",
    "frameguard": "^4.0.0",
    "helmet": "^8.0.0",
    "nocache": "^4.0.0",
    "on-finished": "^2.4.1",
    "redis": "^4.7.0",
    "underscore": "^1.13.8",
    "uuid": "^13.0.0"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "chai": "^6.2.2",
    "eslint": "^10.0.3",
    "express": "^4.21.0",
    "globals": "^17.4.0",
    "govuk-frontend": "^5.10.2",
    "hmpo-components": "^9.0.0",
    "hmpo-config": "^5.0.0",
    "hmpo-i18n": "^8.0.0",
    "hmpo-logger": "^9.0.0",
    "hmpo-reqres": "^3.0.0",
    "husky": "^9.1.6",
    "mocha": "^11.7.5",
    "nunjucks": "^3.2.4",
    "nyc": "^18.0.0",
    "proxyquire": "^2.1.3",
    "sinon": "^21.0.3",
    "sinon-chai": "^4.0.1"
  },
  "optionalDependencies": {
    "fsevents": "~2.3.3"
  },
  "peerDependencies": {
    "express": ">=4",
    "govuk-frontend": ">=5",
    "hmpo-components": ">=9",
    "hmpo-config": ">=5",
    "hmpo-i18n": ">=8",
    "hmpo-logger": ">=9",
    "nunjucks": ">=3"
  },
  "overrides": {
    "mocha": {
      "serialize-javascript": "^7.0.4",
      "diff": "^8.0.3"
    }
  },
  "mocha": {
    "require": "test/unit/helper",
    "spec": "test/unit/**/spec.*.js"
  },
  "nyc": {
    "all": true,
    "exclude": [
      "example/**",
      "coverage/**",
      "test/**",
      "eslint.config.js"
    ],
    "check-coverage": true,
    "skip-full": true,
    "temp-directory": "coverage/.nyc_output",
    "reporter": [
      "text-summary",
      "text",
      "lcov"
    ],
    "statements": 100,
    "branches": 100,
    "functions": 100,
    "lines": 100
  }
}
