{
  "name": "@dwp/govuk-casa",
  "version": "9.6.2",
  "description": "A framework for building GOVUK Collect-And-Submit-Applications",
  "repository": {
    "type": "git",
    "url": "git@github.com:dwp/govuk-casa.git"
  },
  "main": "dist/casa.js",
  "module": "dist/mjs/casa.js",
  "exports": {
    "types": "./dist/casa.d.ts",
    "import": "./dist/mjs/esm-wrapper.js",
    "require": "./dist/casa.js"
  },
  "files": [
    "dist/**/*",
    "locales/**/*",
    "src/**/*.{js,cjs,mjs}",
    "views/**/*",
    "!dist/core-plugins/**/tests/",
    "!src/core-plugins/**/tests/"
  ],
  "engines": {
    "node": ">=18 <=22",
    "npm": ">=8 <=11"
  },
  "scripts": {
    "pipeline": "npm run coverage && npm run lint",
    "coverage": "c8 npm test",
    "test": "npm run test:unit && npm run test:e2e && npm run core-plugin:edit-snapshot:test:e2e",
    "test:unit": "mocha './tests/**/*.test.js'",
    "test:e2e": "spiderplan --worker-init ./tests/e2e/worker-init.js --language en ./tests/e2e/personas/**/*.yaml",
    "test:dast": "spiderplan --worker-init ./tests/e2e/worker-init.js --language en ./tests/e2e/personas/**/traversal.yaml --workers 1 --zap --zap-proxy 'http://localhost:8080/' --zap-target-hostname 'host.docker.internal'",
    "test:dast:report": "curl -s --header 'X-ZAP-Api-Key: secret' http://localhost:8080/OTHER/core/other/htmlreport > gl-dast-report.html",
    "test:dast:setup": "docker run --rm --name casa-dast -d -u zap -p 8080:8080 -i ghcr.io/zaproxy/zaproxy:bare@sha256:24a4037a3e8607d9fedbd75e4a7f1336d11998e1c331aab9991ef074f5de4b22 zap.sh -daemon -host 0.0.0.0 -port 8080 -config api.addrs.addr.name=\".*\" -config api.addrs.addr.regex=true -config api.key=secret -notel; npm run test:dast:ready-check",
    "test:dast:ready-check": "while [ \"$(curl -Is -o /dev/null -w %{response_code} http://localhost:8080/)\" -ne \"200\" ]; do sleep 1; echo 'Waiting for ZAP to start ...'; done",
    "test:dast:teardown": "docker stop casa-dast",
    "lint": "eslint .",
    "build": "npm run build:prepare && npm run build:sources && npm run build:css-assets",
    "build:prepare": "rm -rf dist/* && mkdir -p dist/assets/js/ && mkdir -p dist/assets/css/",
    "build:sources": "tsc -p tsconfig-cjs.json && ./scripts/fixup.sh && node scripts/esm-wrapper",
    "build:css-assets": "node scripts/compile-sass.js",
    "build:api-docs": "npx jsdoc -c ./jsdoc.json -d ./docs/api/ --debug -P '' -r -R ./README.md --verbose -t ./node_modules/docdash ./src",
    "prepare": "npm run build",
    "upgrade-deps": "OD=$(npm outdated --long --parseable); echo \"$OD\" | grep ':devDependencies:' | awk -F: '{ print $4 }' | xargs npm i -DE; echo \"$OD\" | grep ':dependencies:' | awk -F: '{ print $4 }' | xargs npm i -E",
    "core-plugin:edit-snapshot:test:e2e": "spiderplan --worker-init ./src/core-plugins/edit-snapshot/tests/e2e/worker-init.js --language en \"./src/core-plugins/edit-snapshot/tests/e2e/personas/**/*.yaml\""
  },
  "keywords": [],
  "author": "DWP Digital",
  "license": "ISC",
  "type": "module",
  "dependencies": {
    "@dagrejs/graphlib": "2.2.4",
    "bytes": "3.1.2",
    "cookie-parser": "1.4.7",
    "csrf-sync": "4.2.1",
    "debug": "4.4.3",
    "deepmerge": "4.3.1",
    "express": "4.21.2",
    "express-session": "1.18.2",
    "govuk-frontend": "5.13.0",
    "helmet": "8.1.0",
    "i18next": "25.5.3",
    "i18next-http-middleware": "3.8.1",
    "js-yaml": "4.1.0",
    "lodash": "4.17.21",
    "luxon": "3.7.2",
    "nunjucks": "3.2.4",
    "path-to-regexp": "8.3.0",
    "rfdc": "1.4.1",
    "validator": "13.15.15"
  },
  "devDependencies": {
    "@ckeditor/jsdoc-plugins": "43.1.0",
    "@dwp/commitlint-config-base": "5.0.0",
    "@dwp/casa-spiderplan": "4.5.3",
    "@dwp/casa-spiderplan-a11y-plugin": "1.0.3",
    "@dwp/casa-spiderplan-zap-plugin": "1.0.4",
    "@dwp/eslint-config-base": "9.0.2",
    "@types/express": "4.17.23",
    "@types/luxon": "3.7.1",
    "@types/node": "24.7.1",
    "@types/nunjucks": "3.2.6",
    "c8": "10.1.3",
    "chai": "6.2.0",
    "cheerio": "1.0.0",
    "commitlint": "20.1.0",
    "docdash": "2.0.2",
    "eslint": "9.37.0",
    "eslint-plugin-import": "2.32.0",
    "eslint-plugin-jsdoc": "61.1.0",
    "eslint-plugin-security": "3.0.1",
    "eslint-plugin-sonarjs": "3.0.5",
    "fast-check": "4.3.0",
    "jsdoc": "4.0.5",
    "jsdoc-tsimport-plugin": "1.0.5",
    "mocha": "11.7.4",
    "prettier": "3.6.2",
    "prettier-plugin-jsdoc": "1.3.3",
    "sass": "1.93.2",
    "sinon": "21.0.0",
    "supertest": "7.1.4",
    "typescript": "5.9.3"
  }
}
