{
  "name": "@defra/forms-engine-plugin",
  "version": "4.6.1",
  "description": "Defra forms engine",
  "type": "module",
  "files": [
    ".server",
    ".public",
    "src"
  ],
  "exports": {
    ".": {
      "sass": "./.server/client/stylesheets/shared.scss",
      "import": "./.server/server/plugins/engine/index.js",
      "default": "./.server/server/plugins/engine/index.js"
    },
    "./types": {
      "types": "./.server/server/plugins/engine/types/index.d.ts",
      "import": "./.server/server/plugins/engine/types/index.js",
      "default": "./.server/server/plugins/engine/types/index.js"
    },
    "./shared.js": "./.server/client/javascripts/shared.js",
    "./shared.min.js": "./.public/javascripts/shared.min.js",
    "./shared.min.js.map": "./.public/javascripts/shared.min.js.map",
    "./file-form-service.js": "./.server/server/utils/file-form-service.js",
    "./controllers/*": "./.server/server/plugins/engine/pageControllers/*",
    "./components": "./.server/server/plugins/engine/components/index.js",
    "./services/*": "./.server/server/plugins/engine/services/*",
    "./engine/*": "./.server/server/plugins/engine/*",
    "./helpers.js": "./.server/server/plugins/engine/components/helpers/index.js",
    "./schema.js": "./.server/server/schemas/index.js",
    "./templates/*": "./.server/server/plugins/engine/views/*",
    "./cache-service.js": "./.server/server/services/cacheService.js",
    "./map-plugin.js": "./.server/server/plugins/map/index.js",
    "./package.json": "./package.json"
  },
  "scripts": {
    "build": "rm -rf ./.server && npm run build:server && npm run build:client && npm run build:types",
    "build:client": "NODE_ENV=${NODE_ENV:-production} webpack",
    "build:server": "babel --delete-dir-on-start --extensions \".js\",\".ts\" --ignore \"**/*.test.ts\" --copy-files --no-copy-ignored --source-maps --out-dir ./.server ./src",
    "build:types": "tsc -p tsconfig.build.json",
    "dev": "concurrently \"npm run client:watch\" \"npm run server:watch:dev\" --kill-others --names \"client,server\" --prefix-colors \"red.dim,blue.dim\"",
    "dev:debug": "concurrently \"npm run client:watch\" \"npm run server:watch:debug\" --kill-others --names \"client,server\" --prefix-colors \"red.dim,blue.dim\"",
    "format": "npm run format:check -- --write",
    "format:check": "prettier --cache --cache-location .cache/prettier --cache-strategy content --check \"**/*.{cjs,js,json,md,mjs,scss,ts}\"",
    "docs:dev": "BROWSERSLIST_ENV=javascripts docusaurus start --host 0.0.0.0",
    "docs:build": "BROWSERSLIST_ENV=javascripts docusaurus build",
    "docs:build:all": "node scripts/generate-schema-docs.js && npm run docs:build",
    "docs:serve": "docusaurus serve --host 0.0.0.0",
    "docs:clear": "docusaurus clear",
    "generate-schema-docs": "node scripts/generate-schema-docs.js",
    "postinstall": "npm run setup:husky",
    "lint": "npm run lint:editorconfig && npm run lint:js && npm run lint:types",
    "lint:editorconfig": "editorconfig-checker",
    "lint:fix": "npm run lint:js -- --fix",
    "lint:js": "eslint --cache --cache-location .cache/eslint --cache-strategy content --color .",
    "lint:scss": "stylelint --cache --cache-location .cache/stylelint --cache-strategy content --color --ignore-path .gitignore --max-warnings 0 \"**/*.scss\"",
    "lint:types": "tsc --noEmit",
    "test": "jest --color --coverage --verbose",
    "test:watch": "jest --color --watch",
    "client:watch": "NODE_ENV=development npm run build:client -- --watch",
    "server:watch": "NODE_ENV=development tsx watch --clear-screen=false --enable-source-maps --exclude \"**/*.test.*\"",
    "server:watch:dev": "npm run server:watch -- ./src/index.ts",
    "server:watch:debug": "npm run server:watch -- --inspect-wait ./src/index.ts",
    "prestart": "npm run build",
    "start": "NODE_ENV=${NODE_ENV:-production} node --enable-source-maps ./.server",
    "setup:husky": "node -e \"try { (await import('husky')).default() } catch (e) { if (e.code !== 'ERR_MODULE_NOT_FOUND') throw e }\" --input-type module"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/DEFRA/forms-engine-plugin"
  },
  "overrides": {
    "serve-handler": {
      "minimatch": "3.1.5"
    },
    "serialize-javascript": ">=7.0.3",
    "react-router": "^7.13.1"
  },
  "engines": {
    "node": ">=22.11.0 <25.0.0",
    "npm": ">=10.9.0 <11.6.4"
  },
  "license": "SEE LICENSE IN LICENSE",
  "dependencies": {
    "@defra/forms-model": "^3.0.644",
    "@defra/hapi-tracing": "^1.29.0",
    "@defra/interactive-map": "^0.0.17-alpha",
    "@elastic/ecs-pino-format": "^1.5.0",
    "@hapi/boom": "^10.0.1",
    "@hapi/bourne": "^3.0.0",
    "@hapi/catbox": "^12.1.1",
    "@hapi/catbox-memory": "^6.0.2",
    "@hapi/catbox-redis": "^7.0.2",
    "@hapi/crumb": "^9.0.1",
    "@hapi/hapi": "^21.4.4",
    "@hapi/hoek": "^11.0.7",
    "@hapi/inert": "^7.1.0",
    "@hapi/jwt": "^3.2.1",
    "@hapi/vision": "^7.0.3",
    "@hapi/wreck": "^18.1.0",
    "@hapi/yar": "^11.0.3",
    "@turf/bbox": "^7.3.4",
    "@turf/centroid": "^7.3.4",
    "@types/humanize-duration": "^3.27.4",
    "accessible-autocomplete": "^3.0.1",
    "atob": "^2.1.2",
    "blankie": "^5.0.0",
    "blipp": "^4.0.2",
    "btoa": "^1.2.1",
    "chokidar": "3.6.0",
    "convict": "^6.2.5",
    "date-fns": "^4.1.0",
    "dotenv": "^17.2.3",
    "expr-eval-fork": "^3.0.0",
    "geodesy": "^2.4.0",
    "govuk-frontend": "^5.13.0",
    "hapi-pino": "^13.0.0",
    "hapi-pulse": "^3.0.1",
    "highlight.js": "^11.11.1",
    "http-status-codes": "^2.3.0",
    "humanize-duration": "^3.33.1",
    "ioredis": "^5.8.2",
    "joi": "^17.13.3",
    "liquidjs": "^10.24.0",
    "lodash": "^4.17.21",
    "marked": "^15.0.12",
    "nunjucks": "^3.2.4",
    "obscenity": "^0.4.5",
    "outdent": "^0.8.0",
    "pino": "^9.14.0",
    "pino-pretty": "^13.1.2",
    "proxy-agent": "^6.5.0",
    "resolve": "^1.22.11",
    "yaml": "^2.8.1"
  },
  "devDependencies": {
    "@babel/cli": "^7.28.3",
    "@babel/core": "^7.28.5",
    "@babel/plugin-syntax-import-attributes": "^7.27.1",
    "@babel/preset-env": "^7.28.5",
    "@babel/preset-typescript": "^7.28.5",
    "@defra/docusaurus-theme-govuk": "^0.0.13-alpha",
    "@docusaurus/core": "^3.9.2",
    "@docusaurus/plugin-content-docs": "^3.9.2",
    "@easyops-cn/docusaurus-search-local": "^0.55.0",
    "@hapi/basic": "^7.0.2",
    "@mdx-js/react": "^3.1.1",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.9.1",
    "@types/atob": "^2.1.4",
    "@types/btoa": "^1.2.5",
    "@types/convict": "^6.1.6",
    "@types/eslint": "^9.6.1",
    "@types/govuk-frontend": "^5.11.0",
    "@types/hapi": "^18.0.15",
    "@types/hapi__catbox-memory": "^6.0.2",
    "@types/hapi__cookie": "^12.0.5",
    "@types/hapi__crumb": "^7.3.7",
    "@types/hapi__yar": "^10.1.6",
    "@types/hoek": "^4.1.7",
    "@types/jest": "^30.0.0",
    "@types/jsdom": "^21.1.7",
    "@types/lodash": "^4.17.20",
    "@types/mysql": "^2.15.27",
    "@types/node": "^24.10.1",
    "@types/nunjucks": "^3.2.6",
    "@types/resolve": "^1.20.6",
    "@types/url-parse": "^1.4.11",
    "@types/webpack-assets-manifest": "^5.1.4",
    "@types/wreck": "^14.0.5",
    "autoprefixer": "^10.4.22",
    "babel-loader": "^10.0.0",
    "babel-plugin-module-resolver": "^5.0.2",
    "babel-plugin-replace-import-extension": "^1.1.5",
    "babel-plugin-transform-import-meta": "^2.3.3",
    "clean-webpack-plugin": "^4.0.0",
    "concurrently": "^9.2.1",
    "cookie": "^1.0.2",
    "copy-webpack-plugin": "^13.0.1",
    "core-js": "^3.46.0",
    "cssnano": "^7.1.2",
    "cssnano-preset-default": "^7.0.10",
    "editorconfig-checker": "^6.1.1",
    "eslint": "^9.39.3",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-jest": "^28.14.0",
    "eslint-plugin-jsdoc": "^50.8.0",
    "global-jsdom": "^26.0.0",
    "globals": "^17.3.0",
    "husky": "^9.1.7",
    "jest": "^30.2.0",
    "jest-extended": "^7.0.0",
    "jsdom": "^26.1.0",
    "lint-staged": "^15.5.2",
    "mockdate": "^3.0.5",
    "neostandard": "^0.12.2",
    "nock": "^14.0.10",
    "postcss": "^8.5.6",
    "postcss-load-config": "^6.0.1",
    "postcss-loader": "^8.2.0",
    "postcss-scss": "^4.0.9",
    "prettier": "^3.6.2",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "sass-embedded": "^1.93.3",
    "sass-loader": "^16.0.6",
    "source-map-loader": "^5.0.0",
    "stylelint": "^16.25.0",
    "stylelint-config-gds": "^2.0.0",
    "terser-webpack-plugin": "^5.3.14",
    "tsx": "^4.20.6",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.56.1",
    "webpack": "^5.102.1",
    "webpack-assets-manifest": "^6.4.0",
    "webpack-cli": "^6.0.1"
  }
}
