happo 6.10.8 → 6.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/cli/cancelJob-3SOJDWVF.js +10 -0
  2. package/dist/cli/{chunk-RK77B2CV.js → chunk-6LZEMKE5.js} +2 -2
  3. package/dist/cli/{chunk-4LR77I43.js → chunk-KJAXUBWS.js} +2 -2
  4. package/dist/cli/{chunk-HCZZJ6R6.js → chunk-NAZ3MMJW.js} +4 -4
  5. package/dist/cli/{chunk-HCZZJ6R6.js.map → chunk-NAZ3MMJW.js.map} +2 -2
  6. package/dist/cli/{chunk-GD7KRJOO.js → chunk-SZM5DT7T.js} +2 -2
  7. package/dist/cli/{chunk-G7ULHRHU.js → chunk-TRVYVBOG.js} +2 -2
  8. package/dist/cli/{chunk-7HMFLTG3.js → chunk-UE2TDVXX.js} +3 -3
  9. package/dist/cli/createAsyncComparison-Z4CFUYI3.js +10 -0
  10. package/dist/cli/{createAsyncReport-2JPU7JD5.js → createAsyncReport-6NLFV67D.js} +4 -4
  11. package/dist/cli/{createExtendsReportSnapRequest-N6GXYNAC.js → createExtendsReportSnapRequest-NLOQRLLD.js} +4 -4
  12. package/dist/cli/{findBaselineReport-ELJYMYXD.js → findBaselineReport-Z3OCRSBZ.js} +4 -4
  13. package/dist/cli/{getFlakes-CBGWAHIU.js → getFlakes-XLUPRYOV.js} +4 -4
  14. package/dist/cli/main.js +38 -18
  15. package/dist/cli/main.js.map +2 -2
  16. package/dist/cli/package-KZLXYPVK.js +7 -0
  17. package/dist/cli/{prepareSnapRequests-LSGTNPWS.js → prepareSnapRequests-LEKHRAYP.js} +49 -23
  18. package/dist/cli/prepareSnapRequests-LEKHRAYP.js.map +7 -0
  19. package/dist/cli/startJob-I4XOEWJR.js +10 -0
  20. package/dist/cli/{wrapper-HH2NJLIH.js → wrapper-RZ37F2SC.js} +7 -7
  21. package/dist/config/RemoteBrowserTarget.d.ts +6 -1
  22. package/dist/config/RemoteBrowserTarget.d.ts.map +1 -1
  23. package/dist/config/index.d.ts +39 -2
  24. package/dist/config/index.d.ts.map +1 -1
  25. package/dist/config/index.js.map +2 -2
  26. package/dist/config/loadConfig.d.ts.map +1 -1
  27. package/dist/cypress/task.js +22 -8
  28. package/dist/cypress/task.js.map +2 -2
  29. package/dist/e2e/controller.d.ts.map +1 -1
  30. package/dist/environment/index.d.ts.map +1 -1
  31. package/dist/network/prepareSnapRequests.d.ts.map +1 -1
  32. package/dist/playwright/index.js +22 -8
  33. package/dist/playwright/index.js.map +2 -2
  34. package/dist/storybook/index.d.ts.map +1 -1
  35. package/dist/storybook/index.js +23 -14
  36. package/dist/storybook/index.js.map +2 -2
  37. package/package.json +3 -3
  38. package/dist/cli/cancelJob-GENB4D2J.js +0 -10
  39. package/dist/cli/createAsyncComparison-ZQ6MUSVE.js +0 -10
  40. package/dist/cli/package-2XKSYS6F.js +0 -7
  41. package/dist/cli/prepareSnapRequests-LSGTNPWS.js.map +0 -7
  42. package/dist/cli/startJob-K5V7SAXF.js +0 -10
  43. /package/dist/cli/{cancelJob-GENB4D2J.js.map → cancelJob-3SOJDWVF.js.map} +0 -0
  44. /package/dist/cli/{chunk-RK77B2CV.js.map → chunk-6LZEMKE5.js.map} +0 -0
  45. /package/dist/cli/{chunk-4LR77I43.js.map → chunk-KJAXUBWS.js.map} +0 -0
  46. /package/dist/cli/{chunk-GD7KRJOO.js.map → chunk-SZM5DT7T.js.map} +0 -0
  47. /package/dist/cli/{chunk-G7ULHRHU.js.map → chunk-TRVYVBOG.js.map} +0 -0
  48. /package/dist/cli/{chunk-7HMFLTG3.js.map → chunk-UE2TDVXX.js.map} +0 -0
  49. /package/dist/cli/{createAsyncComparison-ZQ6MUSVE.js.map → createAsyncComparison-Z4CFUYI3.js.map} +0 -0
  50. /package/dist/cli/{createAsyncReport-2JPU7JD5.js.map → createAsyncReport-6NLFV67D.js.map} +0 -0
  51. /package/dist/cli/{createExtendsReportSnapRequest-N6GXYNAC.js.map → createExtendsReportSnapRequest-NLOQRLLD.js.map} +0 -0
  52. /package/dist/cli/{findBaselineReport-ELJYMYXD.js.map → findBaselineReport-Z3OCRSBZ.js.map} +0 -0
  53. /package/dist/cli/{getFlakes-CBGWAHIU.js.map → getFlakes-XLUPRYOV.js.map} +0 -0
  54. /package/dist/cli/{package-2XKSYS6F.js.map → package-KZLXYPVK.js.map} +0 -0
  55. /package/dist/cli/{startJob-K5V7SAXF.js.map → startJob-I4XOEWJR.js.map} +0 -0
  56. /package/dist/cli/{wrapper-HH2NJLIH.js.map → wrapper-RZ37F2SC.js.map} +0 -0
@@ -0,0 +1,10 @@
1
+ import {
2
+ cancelJob
3
+ } from "./chunk-UE2TDVXX.js";
4
+ import "./chunk-KJAXUBWS.js";
5
+ import "./chunk-6LZEMKE5.js";
6
+ import "./chunk-NAZ3MMJW.js";
7
+ export {
8
+ cancelJob as default
9
+ };
10
+ //# sourceMappingURL=cancelJob-3SOJDWVF.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./chunk-HCZZJ6R6.js";
3
+ } from "./chunk-NAZ3MMJW.js";
4
4
 
5
5
  // src/network/fetchWithRetry.ts
6
6
  import asyncRetry from "async-retry";
@@ -95,4 +95,4 @@ export {
95
95
  ErrorWithStatusCode,
96
96
  fetchWithRetry
97
97
  };
98
- //# sourceMappingURL=chunk-RK77B2CV.js.map
98
+ //# sourceMappingURL=chunk-6LZEMKE5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fetchWithRetry
3
- } from "./chunk-RK77B2CV.js";
3
+ } from "./chunk-6LZEMKE5.js";
4
4
 
5
5
  // src/network/getSignedToken.ts
6
6
  import { SignJWT } from "jose";
@@ -81,4 +81,4 @@ async function makeHappoAPIRequest({ url, path, method = "GET", formData, body }
81
81
  export {
82
82
  makeHappoAPIRequest
83
83
  };
84
- //# sourceMappingURL=chunk-4LR77I43.js.map
84
+ //# sourceMappingURL=chunk-KJAXUBWS.js.map
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "happo",
4
- version: "6.10.8",
4
+ version: "6.12.0",
5
5
  description: "Catch unexpected visual and accessibility changes and UI bugs",
6
6
  license: "MIT",
7
7
  repository: {
@@ -127,7 +127,7 @@ var package_default = {
127
127
  "eslint-config-prettier": "^10.1.8",
128
128
  "eslint-plugin-compat": "^7.0.1",
129
129
  "eslint-plugin-depend": "^1.4.0",
130
- "eslint-plugin-simple-import-sort": "^12.1.1",
130
+ "eslint-plugin-simple-import-sort": "^13.0.0",
131
131
  "eslint-plugin-unicorn": "^64.0.0",
132
132
  jiti: "^2.6.1",
133
133
  jsdom: "^29.0.0",
@@ -136,9 +136,9 @@ var package_default = {
136
136
  react: "^19.2.0",
137
137
  "react-dom": "^19.2.0",
138
138
  "react-error-boundary": "^6.0.0",
139
+ "release-with-ease": "^2.4.0",
139
140
  storybook: "^10.0.1",
140
141
  typescript: "^6.0.2",
141
- "release-with-ease": "^2.1.0",
142
142
  "typescript-eslint": "^8.57.2"
143
143
  },
144
144
  dependencies: {
@@ -189,4 +189,4 @@ var package_default = {
189
189
  export {
190
190
  package_default
191
191
  };
192
- //# sourceMappingURL=chunk-HCZZJ6R6.js.map
192
+ //# sourceMappingURL=chunk-NAZ3MMJW.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../package.json"],
4
- "sourcesContent": ["{\n \"name\": \"happo\",\n \"version\": \"6.10.8\",\n \"description\": \"Catch unexpected visual and accessibility changes and UI bugs\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/happo/happo.git\"\n },\n \"bugs\": \"https://github.com/happo/happo/issues\",\n \"homepage\": \"https://happo.io\",\n \"bin\": {\n \"happo\": \"dist/cli/main.js\"\n },\n \"type\": \"module\",\n \"main\": \"./dist/config/index.js\",\n \"types\": \"./dist/config/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/config/index.d.ts\",\n \"default\": \"./dist/config/index.js\"\n },\n \"./cypress\": {\n \"types\": \"./dist/cypress/index.d.ts\",\n \"default\": \"./dist/cypress/index.js\"\n },\n \"./cypress/task\": {\n \"types\": \"./dist/cypress/task.d.ts\",\n \"default\": \"./dist/cypress/task.js\"\n },\n \"./playwright\": {\n \"types\": \"./dist/playwright/index.d.ts\",\n \"default\": \"./dist/playwright/index.js\"\n },\n \"./custom\": {\n \"types\": \"./dist/custom/index.d.ts\",\n \"default\": \"./dist/custom/index.js\"\n },\n \"./storybook/addon\": {\n \"types\": \"./dist/storybook/browser/addon.d.ts\",\n \"default\": \"./dist/storybook/browser/addon.js\"\n },\n \"./storybook/decorator\": {\n \"types\": \"./dist/storybook/browser/decorator.d.ts\",\n \"default\": \"./dist/storybook/browser/decorator.js\"\n },\n \"./storybook/preset\": {\n \"types\": \"./dist/storybook/preset.d.ts\",\n \"default\": \"./dist/storybook/preset.js\"\n },\n \"./storybook/register\": {\n \"types\": \"./dist/storybook/browser/register.d.ts\",\n \"default\": \"./dist/storybook/browser/register.js\"\n }\n },\n \"files\": [\n \"dist\",\n \"preset.js\"\n ],\n \"scripts\": {\n \"all\": \"node ./scripts/allchecks.ts\",\n \"build\": \"pnpm build:types && pnpm build:dist\",\n \"build:custom\": \"esbuild src/custom/__happo__/index.ts --bundle --format=iife --global-name=happoCustom --outfile=tmp/happo-custom/bundle.js --platform=browser --target=esnext\",\n \"build:dist\": \"node ./scripts/build.ts\",\n \"build:types\": \"pnpm tsc --pretty\",\n \"build:watch\": \"tsc --build --watch\",\n \"clean\": \"node ./scripts/clean.ts\",\n \"lint\": \"eslint .\",\n \"prepublishOnly\": \"pnpm clean && pnpm build\",\n \"storybook:dev\": \"storybook dev --config-dir src/storybook/__tests__/storybook-app -p ${PORT:-6007}\",\n \"test\": \"node --env-file-if-exists=.env.local ./scripts/test.ts\",\n \"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\",\n \"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)\\\"\",\n \"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\",\n \"test:cypress:open\": \"cypress open -C src/cypress/__cypress__/cypress.config.ts\",\n \"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\",\n \"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\",\n \"test:storybook\": \"pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook.config.ts\",\n \"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)\\\"\",\n \"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)\\\"\",\n \"test:pages\": \"pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.pages.config.ts\",\n \"release\": \"set -a && source .env && set +a && release-with-ease\",\n \"tsc\": \"tsc --build tsconfig.json\"\n },\n \"browserslist\": {\n \"node\": [\n \"node 22\"\n ],\n \"browser\": [\n \"last 2 Chrome major versions\",\n \"last 2 Firefox major versions\",\n \"last 2 Safari major versions\",\n \"last 2 Edge major versions\"\n ],\n \"isomorphic\": [\n \"node 22\",\n \"last 2 Chrome major versions\",\n \"last 2 Firefox major versions\",\n \"last 2 Safari major versions\",\n \"last 2 Edge major versions\"\n ]\n },\n \"prettier\": {\n \"printWidth\": 85,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n \"arrowParens\": \"always\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^10.0.1\",\n \"@playwright/test\": \"^1.55.1\",\n \"@reporters/github\": \"^1.11.0\",\n \"@storybook/builder-vite\": \"^10.0.1\",\n \"@storybook/react-vite\": \"^10.0.1\",\n \"@types/async-retry\": \"^1.4.9\",\n \"@types/base64-stream\": \"^1.0.5\",\n \"@types/jsdom\": \"^28.0.0\",\n \"@types/mime-types\": \"^3.0.1\",\n \"@types/multiparty\": \"^4.2.1\",\n \"@types/node\": \"^24.9.1\",\n \"@types/react\": \"^19.2.0\",\n \"@types/react-dom\": \"^19.2.0\",\n \"cypress\": \"^15.5.0\",\n \"esbuild\": \"^0.28.0\",\n \"eslint\": \"^10.0.2\",\n \"eslint-config-prettier\": \"^10.1.8\",\n \"eslint-plugin-compat\": \"^7.0.1\",\n \"eslint-plugin-depend\": \"^1.4.0\",\n \"eslint-plugin-simple-import-sort\": \"^12.1.1\",\n \"eslint-plugin-unicorn\": \"^64.0.0\",\n \"jiti\": \"^2.6.1\",\n \"jsdom\": \"^29.0.0\",\n \"multiparty\": \"^4.2.3\",\n \"prettier\": \"^3.6.2\",\n \"react\": \"^19.2.0\",\n \"react-dom\": \"^19.2.0\",\n \"react-error-boundary\": \"^6.0.0\",\n \"storybook\": \"^10.0.1\",\n \"typescript\": \"^6.0.2\",\n \"release-with-ease\": \"^2.1.0\",\n \"typescript-eslint\": \"^8.57.2\"\n },\n \"dependencies\": {\n \"async-retry\": \"^1.3.3\",\n \"base64-stream\": \"^1.0.0\",\n \"empathic\": \"^2.0.0\",\n \"fflate\": \"^0.8.2\",\n \"jose\": \"^6.1.0\",\n \"limit-concur\": \"^4.0.0\",\n \"mime-types\": \"^3.0.1\",\n \"srcset\": \"^5.0.2\"\n },\n \"storybook\": {\n \"displayName\": \"Happo\",\n \"icon\": \"https://happo.io/static/happo-hippo.png\",\n \"supportedFrameworks\": [\n \"angular\",\n \"ember\",\n \"html\",\n \"preact\",\n \"react\",\n \"react-native\",\n \"svelte\",\n \"vue\",\n \"web-components\"\n ],\n \"unsupportedFrameworks\": []\n },\n \"keywords\": [\n \"storybook-addon\",\n \"accessibility\",\n \"cypress\",\n \"playwright\",\n \"regression\",\n \"storybook\",\n \"test\",\n \"testing\",\n \"ui\",\n \"visual-regression\",\n \"visual\",\n \"vrt\"\n ],\n \"engines\": {\n \"node\": \"^22.18.0 || ^23.6.0 || >=24.0.0\"\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["{\n \"name\": \"happo\",\n \"version\": \"6.12.0\",\n \"description\": \"Catch unexpected visual and accessibility changes and UI bugs\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/happo/happo.git\"\n },\n \"bugs\": \"https://github.com/happo/happo/issues\",\n \"homepage\": \"https://happo.io\",\n \"bin\": {\n \"happo\": \"dist/cli/main.js\"\n },\n \"type\": \"module\",\n \"main\": \"./dist/config/index.js\",\n \"types\": \"./dist/config/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/config/index.d.ts\",\n \"default\": \"./dist/config/index.js\"\n },\n \"./cypress\": {\n \"types\": \"./dist/cypress/index.d.ts\",\n \"default\": \"./dist/cypress/index.js\"\n },\n \"./cypress/task\": {\n \"types\": \"./dist/cypress/task.d.ts\",\n \"default\": \"./dist/cypress/task.js\"\n },\n \"./playwright\": {\n \"types\": \"./dist/playwright/index.d.ts\",\n \"default\": \"./dist/playwright/index.js\"\n },\n \"./custom\": {\n \"types\": \"./dist/custom/index.d.ts\",\n \"default\": \"./dist/custom/index.js\"\n },\n \"./storybook/addon\": {\n \"types\": \"./dist/storybook/browser/addon.d.ts\",\n \"default\": \"./dist/storybook/browser/addon.js\"\n },\n \"./storybook/decorator\": {\n \"types\": \"./dist/storybook/browser/decorator.d.ts\",\n \"default\": \"./dist/storybook/browser/decorator.js\"\n },\n \"./storybook/preset\": {\n \"types\": \"./dist/storybook/preset.d.ts\",\n \"default\": \"./dist/storybook/preset.js\"\n },\n \"./storybook/register\": {\n \"types\": \"./dist/storybook/browser/register.d.ts\",\n \"default\": \"./dist/storybook/browser/register.js\"\n }\n },\n \"files\": [\n \"dist\",\n \"preset.js\"\n ],\n \"scripts\": {\n \"all\": \"node ./scripts/allchecks.ts\",\n \"build\": \"pnpm build:types && pnpm build:dist\",\n \"build:custom\": \"esbuild src/custom/__happo__/index.ts --bundle --format=iife --global-name=happoCustom --outfile=tmp/happo-custom/bundle.js --platform=browser --target=esnext\",\n \"build:dist\": \"node ./scripts/build.ts\",\n \"build:types\": \"pnpm tsc --pretty\",\n \"build:watch\": \"tsc --build --watch\",\n \"clean\": \"node ./scripts/clean.ts\",\n \"lint\": \"eslint .\",\n \"prepublishOnly\": \"pnpm clean && pnpm build\",\n \"storybook:dev\": \"storybook dev --config-dir src/storybook/__tests__/storybook-app -p ${PORT:-6007}\",\n \"test\": \"node --env-file-if-exists=.env.local ./scripts/test.ts\",\n \"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\",\n \"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)\\\"\",\n \"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\",\n \"test:cypress:open\": \"cypress open -C src/cypress/__cypress__/cypress.config.ts\",\n \"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\",\n \"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\",\n \"test:storybook\": \"pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook.config.ts\",\n \"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)\\\"\",\n \"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)\\\"\",\n \"test:pages\": \"pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.pages.config.ts\",\n \"release\": \"set -a && source .env && set +a && release-with-ease\",\n \"tsc\": \"tsc --build tsconfig.json\"\n },\n \"browserslist\": {\n \"node\": [\n \"node 22\"\n ],\n \"browser\": [\n \"last 2 Chrome major versions\",\n \"last 2 Firefox major versions\",\n \"last 2 Safari major versions\",\n \"last 2 Edge major versions\"\n ],\n \"isomorphic\": [\n \"node 22\",\n \"last 2 Chrome major versions\",\n \"last 2 Firefox major versions\",\n \"last 2 Safari major versions\",\n \"last 2 Edge major versions\"\n ]\n },\n \"prettier\": {\n \"printWidth\": 85,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n \"arrowParens\": \"always\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^10.0.1\",\n \"@playwright/test\": \"^1.55.1\",\n \"@reporters/github\": \"^1.11.0\",\n \"@storybook/builder-vite\": \"^10.0.1\",\n \"@storybook/react-vite\": \"^10.0.1\",\n \"@types/async-retry\": \"^1.4.9\",\n \"@types/base64-stream\": \"^1.0.5\",\n \"@types/jsdom\": \"^28.0.0\",\n \"@types/mime-types\": \"^3.0.1\",\n \"@types/multiparty\": \"^4.2.1\",\n \"@types/node\": \"^24.9.1\",\n \"@types/react\": \"^19.2.0\",\n \"@types/react-dom\": \"^19.2.0\",\n \"cypress\": \"^15.5.0\",\n \"esbuild\": \"^0.28.0\",\n \"eslint\": \"^10.0.2\",\n \"eslint-config-prettier\": \"^10.1.8\",\n \"eslint-plugin-compat\": \"^7.0.1\",\n \"eslint-plugin-depend\": \"^1.4.0\",\n \"eslint-plugin-simple-import-sort\": \"^13.0.0\",\n \"eslint-plugin-unicorn\": \"^64.0.0\",\n \"jiti\": \"^2.6.1\",\n \"jsdom\": \"^29.0.0\",\n \"multiparty\": \"^4.2.3\",\n \"prettier\": \"^3.6.2\",\n \"react\": \"^19.2.0\",\n \"react-dom\": \"^19.2.0\",\n \"react-error-boundary\": \"^6.0.0\",\n \"release-with-ease\": \"^2.4.0\",\n \"storybook\": \"^10.0.1\",\n \"typescript\": \"^6.0.2\",\n \"typescript-eslint\": \"^8.57.2\"\n },\n \"dependencies\": {\n \"async-retry\": \"^1.3.3\",\n \"base64-stream\": \"^1.0.0\",\n \"empathic\": \"^2.0.0\",\n \"fflate\": \"^0.8.2\",\n \"jose\": \"^6.1.0\",\n \"limit-concur\": \"^4.0.0\",\n \"mime-types\": \"^3.0.1\",\n \"srcset\": \"^5.0.2\"\n },\n \"storybook\": {\n \"displayName\": \"Happo\",\n \"icon\": \"https://happo.io/static/happo-hippo.png\",\n \"supportedFrameworks\": [\n \"angular\",\n \"ember\",\n \"html\",\n \"preact\",\n \"react\",\n \"react-native\",\n \"svelte\",\n \"vue\",\n \"web-components\"\n ],\n \"unsupportedFrameworks\": []\n },\n \"keywords\": [\n \"storybook-addon\",\n \"accessibility\",\n \"cypress\",\n \"playwright\",\n \"regression\",\n \"storybook\",\n \"test\",\n \"testing\",\n \"ui\",\n \"visual-regression\",\n \"visual\",\n \"vrt\"\n ],\n \"engines\": {\n \"node\": \"^22.18.0 || ^23.6.0 || >=24.0.0\"\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
3
+ } from "./chunk-KJAXUBWS.js";
4
4
 
5
5
  // src/network/startJob.ts
6
6
  function assertResultIsStartJobResult(result) {
@@ -36,4 +36,4 @@ async function startJob(config, { beforeSha, afterSha, link, message }, logger)
36
36
  export {
37
37
  startJob
38
38
  };
39
- //# sourceMappingURL=chunk-GD7KRJOO.js.map
39
+ //# sourceMappingURL=chunk-SZM5DT7T.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
3
+ } from "./chunk-KJAXUBWS.js";
4
4
 
5
5
  // src/network/createAsyncComparison.ts
6
6
  function assertResultIsCreateAsyncComparisonResult(result) {
@@ -60,4 +60,4 @@ async function createAsyncComparison(config, {
60
60
  export {
61
61
  createAsyncComparison
62
62
  };
63
- //# sourceMappingURL=chunk-G7ULHRHU.js.map
63
+ //# sourceMappingURL=chunk-TRVYVBOG.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
3
+ } from "./chunk-KJAXUBWS.js";
4
4
  import {
5
5
  ErrorWithStatusCode
6
- } from "./chunk-RK77B2CV.js";
6
+ } from "./chunk-6LZEMKE5.js";
7
7
 
8
8
  // src/network/cancelJob.ts
9
9
  async function cancelJob(status, message, config, { beforeSha, afterSha, link }, logger) {
@@ -43,4 +43,4 @@ async function cancelJob(status, message, config, { beforeSha, afterSha, link },
43
43
  export {
44
44
  cancelJob
45
45
  };
46
- //# sourceMappingURL=chunk-7HMFLTG3.js.map
46
+ //# sourceMappingURL=chunk-UE2TDVXX.js.map
@@ -0,0 +1,10 @@
1
+ import {
2
+ createAsyncComparison
3
+ } from "./chunk-TRVYVBOG.js";
4
+ import "./chunk-KJAXUBWS.js";
5
+ import "./chunk-6LZEMKE5.js";
6
+ import "./chunk-NAZ3MMJW.js";
7
+ export {
8
+ createAsyncComparison as default
9
+ };
10
+ //# sourceMappingURL=createAsyncComparison-Z4CFUYI3.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
4
- import "./chunk-RK77B2CV.js";
5
- import "./chunk-HCZZJ6R6.js";
3
+ } from "./chunk-KJAXUBWS.js";
4
+ import "./chunk-6LZEMKE5.js";
5
+ import "./chunk-NAZ3MMJW.js";
6
6
 
7
7
  // src/network/createAsyncReport.ts
8
8
  function assertResultIsCreateAsyncReportResult(result) {
@@ -38,4 +38,4 @@ async function createAsyncReport(snapRequestIds, config, { afterSha, link, messa
38
38
  export {
39
39
  createAsyncReport as default
40
40
  };
41
- //# sourceMappingURL=createAsyncReport-2JPU7JD5.js.map
41
+ //# sourceMappingURL=createAsyncReport-6NLFV67D.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
4
- import "./chunk-RK77B2CV.js";
5
- import "./chunk-HCZZJ6R6.js";
3
+ } from "./chunk-KJAXUBWS.js";
4
+ import "./chunk-6LZEMKE5.js";
5
+ import "./chunk-NAZ3MMJW.js";
6
6
 
7
7
  // src/network/createExtendsReportSnapRequest.ts
8
8
  async function createExtendsReportSnapRequest(extendsSha, skip, config) {
@@ -29,4 +29,4 @@ async function createExtendsReportSnapRequest(extendsSha, skip, config) {
29
29
  export {
30
30
  createExtendsReportSnapRequest as default
31
31
  };
32
- //# sourceMappingURL=createExtendsReportSnapRequest-N6GXYNAC.js.map
32
+ //# sourceMappingURL=createExtendsReportSnapRequest-NLOQRLLD.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
4
- import "./chunk-RK77B2CV.js";
5
- import "./chunk-HCZZJ6R6.js";
3
+ } from "./chunk-KJAXUBWS.js";
4
+ import "./chunk-6LZEMKE5.js";
5
+ import "./chunk-NAZ3MMJW.js";
6
6
 
7
7
  // src/network/findBaselineReport.ts
8
8
  async function findBaselineReport(environment, config, logger) {
@@ -33,4 +33,4 @@ async function findBaselineReport(environment, config, logger) {
33
33
  export {
34
34
  findBaselineReport as default
35
35
  };
36
- //# sourceMappingURL=findBaselineReport-ELJYMYXD.js.map
36
+ //# sourceMappingURL=findBaselineReport-Z3OCRSBZ.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
4
- import "./chunk-RK77B2CV.js";
5
- import "./chunk-HCZZJ6R6.js";
3
+ } from "./chunk-KJAXUBWS.js";
4
+ import "./chunk-6LZEMKE5.js";
5
+ import "./chunk-NAZ3MMJW.js";
6
6
 
7
7
  // src/network/getFlakes.ts
8
8
  function formatFlakeOutput(flakes) {
@@ -70,4 +70,4 @@ export {
70
70
  getFlakes as default,
71
71
  formatFlakeOutput
72
72
  };
73
- //# sourceMappingURL=getFlakes-CBGWAHIU.js.map
73
+ //# sourceMappingURL=getFlakes-XLUPRYOV.js.map
package/dist/cli/main.js CHANGED
@@ -7,10 +7,10 @@ import {
7
7
  } from "./chunk-ML3Z5Z22.js";
8
8
  import {
9
9
  fetchWithRetry
10
- } from "./chunk-RK77B2CV.js";
10
+ } from "./chunk-6LZEMKE5.js";
11
11
  import {
12
12
  package_default
13
- } from "./chunk-HCZZJ6R6.js";
13
+ } from "./chunk-NAZ3MMJW.js";
14
14
 
15
15
  // src/cli/index.ts
16
16
  import path3 from "node:path";
@@ -20,6 +20,7 @@ import { parseArgs } from "node:util";
20
20
  import fs from "node:fs";
21
21
  import path from "node:path";
22
22
  import { pathToFileURL } from "node:url";
23
+ import { inspect } from "node:util";
23
24
  import { any as findAny } from "empathic/find";
24
25
 
25
26
  // src/config/openBrowser.ts
@@ -363,6 +364,14 @@ async function loadConfigFile(configFilePath, environment, logger = console) {
363
364
  config.deepCompare.diffAlgorithm = "color-delta";
364
365
  }
365
366
  }
367
+ if (config.failOnWaitForTimeout !== void 0 && typeof config.failOnWaitForTimeout !== "boolean") {
368
+ throw new TypeError(
369
+ `Invalid \`failOnWaitForTimeout\` in config file ${configFilePath}: must be a boolean, got: ${inspect(config.failOnWaitForTimeout)}.`
370
+ );
371
+ }
372
+ if (config.failOnWaitForTimeout === void 0) {
373
+ config.failOnWaitForTimeout = true;
374
+ }
366
375
  const configWithDefaults = {
367
376
  endpoint: DEFAULT_ENDPOINT,
368
377
  githubApiUrl: "https://api.github.com",
@@ -508,6 +517,10 @@ async function resolveAuthorEmail(cliArgs, env) {
508
517
  }
509
518
  return res.stdout.trim();
510
519
  }
520
+ function firstLine(message) {
521
+ const newlineIndex = message.indexOf("\n");
522
+ return newlineIndex === -1 ? message : message.slice(0, newlineIndex);
523
+ }
511
524
  async function resolveMessage(cliArgs, env, afterSha) {
512
525
  if (cliArgs.message) {
513
526
  return cliArgs.message;
@@ -520,10 +533,10 @@ async function resolveMessage(cliArgs, env, afterSha) {
520
533
  return title;
521
534
  }
522
535
  if (ghEvent.head_commit?.message) {
523
- return ghEvent.head_commit.message;
536
+ return firstLine(ghEvent.head_commit.message);
524
537
  }
525
538
  if (ghEvent.merge_group?.head_commit?.message) {
526
- return ghEvent.merge_group.head_commit.message;
539
+ return firstLine(ghEvent.merge_group.head_commit.message);
527
540
  }
528
541
  }
529
542
  const res = spawnSync("git", ["log", "-1", "--pretty=%s", afterSha], {
@@ -1235,7 +1248,7 @@ function createReporter(opts = {}) {
1235
1248
 
1236
1249
  // src/cli/index.ts
1237
1250
  async function getVersion() {
1238
- const packageJson = await import("./package-2XKSYS6F.js");
1251
+ const packageJson = await import("./package-KZLXYPVK.js");
1239
1252
  return packageJson.default.version;
1240
1253
  }
1241
1254
  function parseDashdashCommandParts(rawArgs) {
@@ -1505,10 +1518,10 @@ async function main(rawArgs = process.argv, logger = console) {
1505
1518
  async function handleDefaultCommand(config, environment, logger) {
1506
1519
  logger.log("Running happo tests...");
1507
1520
  const [startJob, createAsyncComparison, createAsyncReport, prepareSnapRequests] = await Promise.all([
1508
- (await import("./startJob-K5V7SAXF.js")).default,
1509
- (await import("./createAsyncComparison-ZQ6MUSVE.js")).default,
1510
- (await import("./createAsyncReport-2JPU7JD5.js")).default,
1511
- (await import("./prepareSnapRequests-LSGTNPWS.js")).default
1521
+ (await import("./startJob-I4XOEWJR.js")).default,
1522
+ (await import("./createAsyncComparison-Z4CFUYI3.js")).default,
1523
+ (await import("./createAsyncReport-6NLFV67D.js")).default,
1524
+ (await import("./prepareSnapRequests-LEKHRAYP.js")).default
1512
1525
  ]);
1513
1526
  await startJob(config, environment, logger);
1514
1527
  try {
@@ -1540,7 +1553,7 @@ async function handleDefaultCommand(config, environment, logger) {
1540
1553
  process.exitCode = 1;
1541
1554
  return;
1542
1555
  }
1543
- const findBaselineReport = (await import("./findBaselineReport-ELJYMYXD.js")).default;
1556
+ const findBaselineReport = (await import("./findBaselineReport-Z3OCRSBZ.js")).default;
1544
1557
  baselineSha = await findBaselineReport(environment, config, logger);
1545
1558
  if (!baselineSha) {
1546
1559
  logger.log(
@@ -1569,9 +1582,16 @@ async function handleDefaultCommand(config, environment, logger) {
1569
1582
  return;
1570
1583
  }
1571
1584
  if (!baselineSha) {
1572
- const findBaselineReport = (await import("./findBaselineReport-ELJYMYXD.js")).default;
1585
+ const findBaselineReport = (await import("./findBaselineReport-Z3OCRSBZ.js")).default;
1573
1586
  baselineSha = await findBaselineReport(environment, config, logger);
1574
- if (!baselineSha) {
1587
+ }
1588
+ if (!baselineSha) {
1589
+ if (only.length === 0) {
1590
+ logger.log(
1591
+ "[HAPPO] No baseline report found for empty --only run. Generating a full report instead."
1592
+ );
1593
+ only = void 0;
1594
+ } else {
1575
1595
  logger.log(
1576
1596
  "[HAPPO] No baseline report found for --only run. Excluded stories will not be borrowed from a baseline."
1577
1597
  );
@@ -1581,7 +1601,7 @@ async function handleDefaultCommand(config, environment, logger) {
1581
1601
  const { snapRequestIds, resolvedSkip } = await prepareSnapRequests(config, skip, only);
1582
1602
  let allSnapRequestIds = snapRequestIds;
1583
1603
  if (skip && baselineSha) {
1584
- const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-N6GXYNAC.js")).default;
1604
+ const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-NLOQRLLD.js")).default;
1585
1605
  const extendsRequestId = await createExtendsReportSnapRequest(
1586
1606
  baselineSha,
1587
1607
  resolvedSkip ?? skip,
@@ -1589,7 +1609,7 @@ async function handleDefaultCommand(config, environment, logger) {
1589
1609
  );
1590
1610
  allSnapRequestIds = [...snapRequestIds, extendsRequestId];
1591
1611
  } else if (only && baselineSha && resolvedSkip && resolvedSkip.length > 0) {
1592
- const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-N6GXYNAC.js")).default;
1612
+ const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-NLOQRLLD.js")).default;
1593
1613
  const extendsRequestId = await createExtendsReportSnapRequest(
1594
1614
  baselineSha,
1595
1615
  resolvedSkip,
@@ -1625,7 +1645,7 @@ async function handleDefaultCommand(config, environment, logger) {
1625
1645
  } catch (e) {
1626
1646
  const message = e instanceof Error ? e.message : String(e);
1627
1647
  logger.error(`${config.integration.type} run failed: ${message}`, e);
1628
- const cancelJob = (await import("./cancelJob-GENB4D2J.js")).default;
1648
+ const cancelJob = (await import("./cancelJob-3SOJDWVF.js")).default;
1629
1649
  await cancelJob("failure", message, config, environment, logger);
1630
1650
  process.exitCode = 1;
1631
1651
  return;
@@ -1636,7 +1656,7 @@ async function handleFinalizeCommand(config, environment, logger) {
1636
1656
  logger.log("Config:", config);
1637
1657
  logger.log("Environment:", environment);
1638
1658
  try {
1639
- const finalizeAll = (await import("./wrapper-HH2NJLIH.js")).finalizeAll;
1659
+ const finalizeAll = (await import("./wrapper-RZ37F2SC.js")).finalizeAll;
1640
1660
  await finalizeAll({ happoConfig: config, environment, logger });
1641
1661
  } catch (e) {
1642
1662
  logger.error(e instanceof Error ? e.message : String(e), e);
@@ -1664,7 +1684,7 @@ async function handleFlakeCommand(config, {
1664
1684
  process.exitCode = 1;
1665
1685
  return;
1666
1686
  }
1667
- const { default: getFlakes, formatFlakeOutput } = await import("./getFlakes-CBGWAHIU.js");
1687
+ const { default: getFlakes, formatFlakeOutput } = await import("./getFlakes-XLUPRYOV.js");
1668
1688
  const project = allProjects ? void 0 : projectOverride ?? config.project;
1669
1689
  const flakes = await getFlakes(
1670
1690
  {
@@ -1706,7 +1726,7 @@ async function handleE2ECommand(config, environment, dashdashCommandParts, confi
1706
1726
  logger.log("Config:", config);
1707
1727
  logger.log("Environment:", environment);
1708
1728
  logger.log("Dashdash command parts:", dashdashCommandParts);
1709
- const runWithWrapper = (await import("./wrapper-HH2NJLIH.js")).default;
1729
+ const runWithWrapper = (await import("./wrapper-RZ37F2SC.js")).default;
1710
1730
  const exitCode = await runWithWrapper(
1711
1731
  dashdashCommandParts,
1712
1732
  config,