{
  "name": "happo",
  "version": "6.13.0",
  "description": "Catch unexpected visual and accessibility changes and UI bugs",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/happo/happo.git"
  },
  "bugs": "https://github.com/happo/happo/issues",
  "homepage": "https://happo.io",
  "bin": {
    "happo": "dist/cli/main.js"
  },
  "type": "module",
  "main": "./dist/config/index.js",
  "types": "./dist/config/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/config/index.d.ts",
      "default": "./dist/config/index.js"
    },
    "./cypress": {
      "types": "./dist/cypress/index.d.ts",
      "default": "./dist/cypress/index.js"
    },
    "./cypress/task": {
      "types": "./dist/cypress/task.d.ts",
      "default": "./dist/cypress/task.js"
    },
    "./playwright": {
      "types": "./dist/playwright/index.d.ts",
      "default": "./dist/playwright/index.js"
    },
    "./custom": {
      "types": "./dist/custom/index.d.ts",
      "default": "./dist/custom/index.js"
    },
    "./storybook/addon": {
      "types": "./dist/storybook/browser/addon.d.ts",
      "default": "./dist/storybook/browser/addon.js"
    },
    "./storybook/decorator": {
      "types": "./dist/storybook/browser/decorator.d.ts",
      "default": "./dist/storybook/browser/decorator.js"
    },
    "./storybook/preset": {
      "types": "./dist/storybook/preset.d.ts",
      "default": "./dist/storybook/preset.js"
    },
    "./storybook/register": {
      "types": "./dist/storybook/browser/register.d.ts",
      "default": "./dist/storybook/browser/register.js"
    }
  },
  "files": [
    "dist",
    "preset.js"
  ],
  "scripts": {
    "all": "node ./scripts/allchecks.ts",
    "build": "pnpm build:types && pnpm build:dist",
    "build:custom": "esbuild src/custom/__happo__/index.ts --bundle --format=iife --global-name=happoCustom --outfile=tmp/happo-custom/bundle.js --platform=browser --target=esnext",
    "build:dist": "node ./scripts/build.ts",
    "build:types": "pnpm tsc --pretty",
    "build:watch": "tsc --build --watch",
    "clean": "node ./scripts/clean.ts",
    "lint": "eslint .",
    "prepublishOnly": "pnpm clean && pnpm build",
    "storybook:dev": "storybook dev --config-dir src/storybook/__tests__/storybook-app -p ${PORT:-6007}",
    "test": "node --env-file-if-exists=.env.local ./scripts/test.ts",
    "test:custom": "pnpm build:dist && pnpm build:custom && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.custom.config.ts",
    "test:custom:skipped": "pnpm build:dist && pnpm build:custom && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.custom.config.ts --project custom-skipped --skip \"$(node ./scripts/getCustomSkip.ts)\"",
    "test:cypress": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.cypress.config.ts e2e -- cypress run -C src/cypress/__cypress__/cypress.config.ts",
    "test:cypress:open": "cypress open -C src/cypress/__cypress__/cypress.config.ts",
    "test:playwright": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.playwright.config.ts e2e -- playwright test",
    "test:playwright:nonce": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.playwright-nonce.config.ts --nonce $HAPPO_NONCE e2e -- playwright test && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.playwright-nonce.config.ts --nonce $HAPPO_NONCE finalize",
    "test:storybook": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook.config.ts",
    "test:storybook:v8": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook-v8.config.ts",
    "test:storybook:skipped": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook.config.ts --project storybook-skipped --skip \"$(node ./scripts/getSkip.ts)\"",
    "test:storybook:only": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook.config.ts --project storybook-only --only \"$(node ./scripts/getOnly.ts)\"",
    "test:pages": "pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.pages.config.ts",
    "release": "set -a && source .env && set +a && release-with-ease",
    "tsc": "tsc --build tsconfig.json"
  },
  "browserslist": {
    "node": [
      "node 22"
    ],
    "browser": [
      "last 2 Chrome major versions",
      "last 2 Firefox major versions",
      "last 2 Safari major versions",
      "last 2 Edge major versions"
    ],
    "isomorphic": [
      "node 22",
      "last 2 Chrome major versions",
      "last 2 Firefox major versions",
      "last 2 Safari major versions",
      "last 2 Edge major versions"
    ]
  },
  "prettier": {
    "printWidth": 85,
    "singleQuote": true,
    "trailingComma": "all",
    "arrowParens": "always"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@playwright/test": "^1.55.1",
    "@reporters/github": "^1.11.0",
    "@storybook/builder-vite": "^10.0.1",
    "@storybook/react-vite": "^10.0.1",
    "@types/async-retry": "^1.4.9",
    "@types/base64-stream": "^1.0.5",
    "@types/jsdom": "^28.0.0",
    "@types/mime-types": "^3.0.1",
    "@types/multiparty": "^4.2.1",
    "@types/node": "^24.9.1",
    "@types/react": "^19.2.0",
    "@types/react-dom": "^19.2.0",
    "cypress": "^15.5.0",
    "esbuild": "^0.28.0",
    "eslint": "^10.0.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-compat": "^7.0.1",
    "eslint-plugin-depend": "^1.4.0",
    "eslint-plugin-simple-import-sort": "^13.0.0",
    "eslint-plugin-unicorn": "^64.0.0",
    "jiti": "^2.6.1",
    "jsdom": "^29.0.0",
    "multiparty": "^4.2.3",
    "prettier": "^3.6.2",
    "react": "^19.2.0",
    "react-dom": "^19.2.0",
    "react-error-boundary": "^6.0.0",
    "release-with-ease": "^2.4.0",
    "storybook": "^10.0.1",
    "typescript": "^6.0.2",
    "typescript-eslint": "^8.57.2"
  },
  "dependencies": {
    "async-retry": "^1.3.3",
    "base64-stream": "^1.0.0",
    "empathic": "^2.0.0",
    "fflate": "^0.8.2",
    "jose": "^6.1.0",
    "limit-concur": "^4.0.0",
    "mime-types": "^3.0.1",
    "srcset": "^5.0.2"
  },
  "storybook": {
    "displayName": "Happo",
    "icon": "https://happo.io/static/happo-hippo.png",
    "supportedFrameworks": [
      "angular",
      "ember",
      "html",
      "preact",
      "react",
      "react-native",
      "svelte",
      "vue",
      "web-components"
    ],
    "unsupportedFrameworks": []
  },
  "keywords": [
    "storybook-addon",
    "accessibility",
    "cypress",
    "playwright",
    "regression",
    "storybook",
    "test",
    "testing",
    "ui",
    "visual-regression",
    "visual",
    "vrt"
  ],
  "engines": {
    "node": "^22.18.0 || ^23.6.0 || >=24.0.0"
  }
}
