{
  "name": "govuk-prototype-kit",
  "description": "Rapidly create HTML prototypes of GOV.UK services",
  "homepage": "https://prototype-kit.service.gov.uk/",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/alphagov/govuk-prototype-kit.git"
  },
  "bugs": "https://github.com/alphagov/govuk-prototype-kit/issues",
  "license": "MIT",
  "version": "14.0.2",
  "engines": {
    "node": ">= 22.x"
  },
  "main": "index.js",
  "bin": {
    "govuk-prototype-kit": "bin/cli"
  },
  "files": [
    "bin/",
    "lib/",
    "migrator/",
    "prototype-starter/",
    "CHANGELOG.md",
    "CONTRIBUTING.md",
    "LICENCE.txt",
    "README.md",
    "govuk-prototype-kit.config.json",
    "known-plugins.json",
    "index.js",
    "listen-on-port.js",
    "server.js",
    "start.js"
  ],
  "bundleDependencies": true,
  "scripts": {
    "tmp-kit": "mkdir -p $TMPDIR/govuk-prototype-kit-playground && cd $TMPDIR/govuk-prototype-kit-playground && rm -Rf ./* && govuk-prototype-kit create --version local . && npm run dev",
    "start": "echo 'This project cannot be started, in order to test this project please create a prototype kit using the cli.'",
    "start:dev": "node scripts/create-prototype-and-run",
    "start:test": "node cypress/scripts/run-starter-prototype",
    "start:test:prod": "cross-env PASSWORD=password USE_AUTH=true node cypress/scripts/run-starter-prototype --prodtest",
    "start:test:heroku": "cross-env USE_AUTH=false USE_HTTPS=false node scripts/create-prototype-and-run 'npx --yes heroku@10 local --port 3000'",
    "lint": "standard . bin/cli",
    "lint:fix": "npm run lint -- --fix",
    "postdependencies": "npm pkg set bundleDependencies=true --json",
    "prepack": "npm ls --all",
    "postversion": "node scripts/release/update-changelog.js",
    "rapidtest": "jest --bail",
    "cypress:run": "cypress run",
    "cypress:open": "cypress open",
    "cypress:e2e:dev": "cypress run --spec \"cypress/e2e/dev/*/*\"",
    "cypress:e2e:prod": "cypress run --spec \"cypress/e2e/prod/*/*\"",
    "cypress:e2e:smoke": "cypress run --spec \"cypress/e2e/smoke/*/*\"",
    "cypress:e2e:styles": "cypress run --spec \"cypress/e2e/styles/*/*\"",
    "cypress:e2e:plugins": "cypress run --spec \"cypress/e2e/plugins/*/*\"",
    "cypress:e2e:plugins-mock": "cypress run --spec \"cypress/e2e/plugins/0-mock-plugin-tests/*\"",
    "cypress:e2e:plugins-available": "cypress run --spec \"cypress/e2e/plugins/1-available-plugins-tests/*\"",
    "cypress:e2e:plugins-kit": "cypress run --spec \"cypress/e2e/plugins/2-prototype-kit-plugin-tests/*\"",
    "cypress:e2e:errors": "cypress run --spec \"cypress/e2e/errors/*/*\"",
    "test:heroku": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test:heroku 3000 cypress:e2e:smoke",
    "test:acceptance": "npm run test:acceptance:dev && npm run test:acceptance:prod && npm run test:acceptance:smoke && npm run test:acceptance:styles && npm run test:acceptance:plugins && npm run test:acceptance:errors",
    "test:acceptance:dev": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:dev",
    "test:acceptance:prod": "cross-env PASSWORD=password PASSWORD_KEYS=PASSWORD_01,PASSWORD_02 PASSWORD_01=p1 PASSWORD_02=p2 KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test:prod 3000 cypress:e2e:prod",
    "test:acceptance:smoke": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:smoke",
    "test:acceptance:styles": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:styles",
    "test:acceptance:plugins": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:plugins",
    "test:acceptance:plugins-mock": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:plugins-mock",
    "test:acceptance:plugins-available": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:plugins-available",
    "test:acceptance:plugins-kit": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:plugins-kit",
    "test:acceptance:errors": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:e2e:errors",
    "test:acceptance:open": "cross-env KIT_TEST_DIR=tmp/test-prototype start-server-and-test start:test 3000 cypress:open",
    "test:unit": "jest --detectOpenHandles lib bin scripts migrator",
    "test:integration": "cross-env CREATE_KIT_TIMEOUT=240000 jest --detectOpenHandles --testTimeout=60000 __tests__",
    "test:full": "npm test && npm run test:acceptance",
    "test": "npm run test:unit && npm run test:integration && npm run lint"
  },
  "dependencies": {
    "browser-sync": "^3.0.2",
    "chokidar": "^3.6.0",
    "cookie-parser": "^1.4.6",
    "cross-spawn": "^7.0.3",
    "csrf-csrf": "^4.0.3",
    "express": "^5.2.1",
    "express-session": "^1.19.0",
    "fs-extra": "^11.4.1",
    "govuk-frontend": "^6.5.1",
    "lodash": "^4.17.23",
    "nodemon": "^3.1.14",
    "nunjucks": "^3.2.4",
    "portscanner": "^2.2.0",
    "sass": "^1.105.1",
    "semver": "^7.8.5",
    "tar-stream": "^3.2.2"
  },
  "devDependencies": {
    "cheerio": "^1.2.0",
    "cross-env": "^10.1.0",
    "cypress": "^16.1.1",
    "eslint-plugin-cypress": "^2.15.1",
    "eslint-plugin-jest": "^27.9.0",
    "jest": "^30.5.2",
    "jest-environment-jsdom": "^30.5.2",
    "outdent": "^0.8.0",
    "standard": "^17.1.2",
    "start-server-and-test": "^3.0.12",
    "supertest": "^7.3.1",
    "wait-on": "^9.5.1"
  },
  "standard": {
    "ignore": [
      "__tests__/fixtures/",
      "prototype-starter/",
      "cypress/fixtures/broken-session-data-defaults.js"
    ],
    "plugins": [
      "cypress",
      "jest"
    ],
    "envs": [
      "cypress/globals",
      "jest/globals"
    ]
  },
  "jest": {
    "testPathIgnorePatterns": [
      "__tests__/utils/",
      "__tests__/fixtures/",
      "__tests__/tmp/",
      "/node_modules/",
      "/tmp/"
    ],
    "testTimeout": 5000
  },
  "allowScripts": {
    "cypress@16.0.0": true
  }
}
