happo 6.10.8 → 6.11.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 (49) hide show
  1. package/dist/cli/cancelJob-HDGBLBQQ.js +10 -0
  2. package/dist/cli/{chunk-G7ULHRHU.js → chunk-6AZGN5XD.js} +2 -2
  3. package/dist/cli/{chunk-7HMFLTG3.js → chunk-BIONLQW5.js} +3 -3
  4. package/dist/cli/{chunk-HCZZJ6R6.js → chunk-GO45JS7U.js} +2 -2
  5. package/dist/cli/{chunk-HCZZJ6R6.js.map → chunk-GO45JS7U.js.map} +1 -1
  6. package/dist/cli/{chunk-4LR77I43.js → chunk-IUOF4JKX.js} +2 -2
  7. package/dist/cli/{chunk-RK77B2CV.js → chunk-KYZ5LJRW.js} +2 -2
  8. package/dist/cli/{chunk-GD7KRJOO.js → chunk-SVDBGQ4O.js} +2 -2
  9. package/dist/cli/createAsyncComparison-3DNQLFCD.js +10 -0
  10. package/dist/cli/{createAsyncReport-2JPU7JD5.js → createAsyncReport-JFB5U3MB.js} +4 -4
  11. package/dist/cli/{createExtendsReportSnapRequest-N6GXYNAC.js → createExtendsReportSnapRequest-OXWMNIG6.js} +4 -4
  12. package/dist/cli/{findBaselineReport-ELJYMYXD.js → findBaselineReport-L6GKAQVD.js} +4 -4
  13. package/dist/cli/{getFlakes-CBGWAHIU.js → getFlakes-LD2GKSTE.js} +4 -4
  14. package/dist/cli/main.js +29 -18
  15. package/dist/cli/main.js.map +2 -2
  16. package/dist/cli/package-EM6BIUGF.js +7 -0
  17. package/dist/cli/{prepareSnapRequests-LSGTNPWS.js → prepareSnapRequests-Q5HCJH4V.js} +39 -18
  18. package/dist/cli/prepareSnapRequests-Q5HCJH4V.js.map +7 -0
  19. package/dist/cli/startJob-6QVJYHOT.js +10 -0
  20. package/dist/cli/{wrapper-HH2NJLIH.js → wrapper-Z2ZPQNNP.js} +7 -7
  21. package/dist/cypress/task.js +1 -1
  22. package/dist/cypress/task.js.map +1 -1
  23. package/dist/environment/index.d.ts.map +1 -1
  24. package/dist/network/prepareSnapRequests.d.ts.map +1 -1
  25. package/dist/playwright/index.js +1 -1
  26. package/dist/playwright/index.js.map +1 -1
  27. package/dist/storybook/index.d.ts.map +1 -1
  28. package/dist/storybook/index.js +23 -14
  29. package/dist/storybook/index.js.map +2 -2
  30. package/package.json +1 -1
  31. package/dist/cli/cancelJob-GENB4D2J.js +0 -10
  32. package/dist/cli/createAsyncComparison-ZQ6MUSVE.js +0 -10
  33. package/dist/cli/package-2XKSYS6F.js +0 -7
  34. package/dist/cli/prepareSnapRequests-LSGTNPWS.js.map +0 -7
  35. package/dist/cli/startJob-K5V7SAXF.js +0 -10
  36. /package/dist/cli/{cancelJob-GENB4D2J.js.map → cancelJob-HDGBLBQQ.js.map} +0 -0
  37. /package/dist/cli/{chunk-G7ULHRHU.js.map → chunk-6AZGN5XD.js.map} +0 -0
  38. /package/dist/cli/{chunk-7HMFLTG3.js.map → chunk-BIONLQW5.js.map} +0 -0
  39. /package/dist/cli/{chunk-4LR77I43.js.map → chunk-IUOF4JKX.js.map} +0 -0
  40. /package/dist/cli/{chunk-RK77B2CV.js.map → chunk-KYZ5LJRW.js.map} +0 -0
  41. /package/dist/cli/{chunk-GD7KRJOO.js.map → chunk-SVDBGQ4O.js.map} +0 -0
  42. /package/dist/cli/{createAsyncComparison-ZQ6MUSVE.js.map → createAsyncComparison-3DNQLFCD.js.map} +0 -0
  43. /package/dist/cli/{createAsyncReport-2JPU7JD5.js.map → createAsyncReport-JFB5U3MB.js.map} +0 -0
  44. /package/dist/cli/{createExtendsReportSnapRequest-N6GXYNAC.js.map → createExtendsReportSnapRequest-OXWMNIG6.js.map} +0 -0
  45. /package/dist/cli/{findBaselineReport-ELJYMYXD.js.map → findBaselineReport-L6GKAQVD.js.map} +0 -0
  46. /package/dist/cli/{getFlakes-CBGWAHIU.js.map → getFlakes-LD2GKSTE.js.map} +0 -0
  47. /package/dist/cli/{package-2XKSYS6F.js.map → package-EM6BIUGF.js.map} +0 -0
  48. /package/dist/cli/{startJob-K5V7SAXF.js.map → startJob-6QVJYHOT.js.map} +0 -0
  49. /package/dist/cli/{wrapper-HH2NJLIH.js.map → wrapper-Z2ZPQNNP.js.map} +0 -0
@@ -0,0 +1,10 @@
1
+ import {
2
+ cancelJob
3
+ } from "./chunk-BIONLQW5.js";
4
+ import "./chunk-IUOF4JKX.js";
5
+ import "./chunk-KYZ5LJRW.js";
6
+ import "./chunk-GO45JS7U.js";
7
+ export {
8
+ cancelJob as default
9
+ };
10
+ //# sourceMappingURL=cancelJob-HDGBLBQQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
3
+ } from "./chunk-IUOF4JKX.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-6AZGN5XD.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
3
+ } from "./chunk-IUOF4JKX.js";
4
4
  import {
5
5
  ErrorWithStatusCode
6
- } from "./chunk-RK77B2CV.js";
6
+ } from "./chunk-KYZ5LJRW.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-BIONLQW5.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.11.0",
5
5
  description: "Catch unexpected visual and accessibility changes and UI bugs",
6
6
  license: "MIT",
7
7
  repository: {
@@ -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-GO45JS7U.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"],
4
+ "sourcesContent": ["{\n \"name\": \"happo\",\n \"version\": \"6.11.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\": \"^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
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fetchWithRetry
3
- } from "./chunk-RK77B2CV.js";
3
+ } from "./chunk-KYZ5LJRW.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-IUOF4JKX.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./chunk-HCZZJ6R6.js";
3
+ } from "./chunk-GO45JS7U.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-KYZ5LJRW.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-4LR77I43.js";
3
+ } from "./chunk-IUOF4JKX.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-SVDBGQ4O.js.map
@@ -0,0 +1,10 @@
1
+ import {
2
+ createAsyncComparison
3
+ } from "./chunk-6AZGN5XD.js";
4
+ import "./chunk-IUOF4JKX.js";
5
+ import "./chunk-KYZ5LJRW.js";
6
+ import "./chunk-GO45JS7U.js";
7
+ export {
8
+ createAsyncComparison as default
9
+ };
10
+ //# sourceMappingURL=createAsyncComparison-3DNQLFCD.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-IUOF4JKX.js";
4
+ import "./chunk-KYZ5LJRW.js";
5
+ import "./chunk-GO45JS7U.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-JFB5U3MB.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-IUOF4JKX.js";
4
+ import "./chunk-KYZ5LJRW.js";
5
+ import "./chunk-GO45JS7U.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-OXWMNIG6.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-IUOF4JKX.js";
4
+ import "./chunk-KYZ5LJRW.js";
5
+ import "./chunk-GO45JS7U.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-L6GKAQVD.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-IUOF4JKX.js";
4
+ import "./chunk-KYZ5LJRW.js";
5
+ import "./chunk-GO45JS7U.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-LD2GKSTE.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-KYZ5LJRW.js";
11
11
  import {
12
12
  package_default
13
- } from "./chunk-HCZZJ6R6.js";
13
+ } from "./chunk-GO45JS7U.js";
14
14
 
15
15
  // src/cli/index.ts
16
16
  import path3 from "node:path";
@@ -508,6 +508,10 @@ async function resolveAuthorEmail(cliArgs, env) {
508
508
  }
509
509
  return res.stdout.trim();
510
510
  }
511
+ function firstLine(message) {
512
+ const newlineIndex = message.indexOf("\n");
513
+ return newlineIndex === -1 ? message : message.slice(0, newlineIndex);
514
+ }
511
515
  async function resolveMessage(cliArgs, env, afterSha) {
512
516
  if (cliArgs.message) {
513
517
  return cliArgs.message;
@@ -520,10 +524,10 @@ async function resolveMessage(cliArgs, env, afterSha) {
520
524
  return title;
521
525
  }
522
526
  if (ghEvent.head_commit?.message) {
523
- return ghEvent.head_commit.message;
527
+ return firstLine(ghEvent.head_commit.message);
524
528
  }
525
529
  if (ghEvent.merge_group?.head_commit?.message) {
526
- return ghEvent.merge_group.head_commit.message;
530
+ return firstLine(ghEvent.merge_group.head_commit.message);
527
531
  }
528
532
  }
529
533
  const res = spawnSync("git", ["log", "-1", "--pretty=%s", afterSha], {
@@ -1235,7 +1239,7 @@ function createReporter(opts = {}) {
1235
1239
 
1236
1240
  // src/cli/index.ts
1237
1241
  async function getVersion() {
1238
- const packageJson = await import("./package-2XKSYS6F.js");
1242
+ const packageJson = await import("./package-EM6BIUGF.js");
1239
1243
  return packageJson.default.version;
1240
1244
  }
1241
1245
  function parseDashdashCommandParts(rawArgs) {
@@ -1505,10 +1509,10 @@ async function main(rawArgs = process.argv, logger = console) {
1505
1509
  async function handleDefaultCommand(config, environment, logger) {
1506
1510
  logger.log("Running happo tests...");
1507
1511
  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
1512
+ (await import("./startJob-6QVJYHOT.js")).default,
1513
+ (await import("./createAsyncComparison-3DNQLFCD.js")).default,
1514
+ (await import("./createAsyncReport-JFB5U3MB.js")).default,
1515
+ (await import("./prepareSnapRequests-Q5HCJH4V.js")).default
1512
1516
  ]);
1513
1517
  await startJob(config, environment, logger);
1514
1518
  try {
@@ -1540,7 +1544,7 @@ async function handleDefaultCommand(config, environment, logger) {
1540
1544
  process.exitCode = 1;
1541
1545
  return;
1542
1546
  }
1543
- const findBaselineReport = (await import("./findBaselineReport-ELJYMYXD.js")).default;
1547
+ const findBaselineReport = (await import("./findBaselineReport-L6GKAQVD.js")).default;
1544
1548
  baselineSha = await findBaselineReport(environment, config, logger);
1545
1549
  if (!baselineSha) {
1546
1550
  logger.log(
@@ -1569,9 +1573,16 @@ async function handleDefaultCommand(config, environment, logger) {
1569
1573
  return;
1570
1574
  }
1571
1575
  if (!baselineSha) {
1572
- const findBaselineReport = (await import("./findBaselineReport-ELJYMYXD.js")).default;
1576
+ const findBaselineReport = (await import("./findBaselineReport-L6GKAQVD.js")).default;
1573
1577
  baselineSha = await findBaselineReport(environment, config, logger);
1574
- if (!baselineSha) {
1578
+ }
1579
+ if (!baselineSha) {
1580
+ if (only.length === 0) {
1581
+ logger.log(
1582
+ "[HAPPO] No baseline report found for empty --only run. Generating a full report instead."
1583
+ );
1584
+ only = void 0;
1585
+ } else {
1575
1586
  logger.log(
1576
1587
  "[HAPPO] No baseline report found for --only run. Excluded stories will not be borrowed from a baseline."
1577
1588
  );
@@ -1581,7 +1592,7 @@ async function handleDefaultCommand(config, environment, logger) {
1581
1592
  const { snapRequestIds, resolvedSkip } = await prepareSnapRequests(config, skip, only);
1582
1593
  let allSnapRequestIds = snapRequestIds;
1583
1594
  if (skip && baselineSha) {
1584
- const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-N6GXYNAC.js")).default;
1595
+ const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-OXWMNIG6.js")).default;
1585
1596
  const extendsRequestId = await createExtendsReportSnapRequest(
1586
1597
  baselineSha,
1587
1598
  resolvedSkip ?? skip,
@@ -1589,7 +1600,7 @@ async function handleDefaultCommand(config, environment, logger) {
1589
1600
  );
1590
1601
  allSnapRequestIds = [...snapRequestIds, extendsRequestId];
1591
1602
  } else if (only && baselineSha && resolvedSkip && resolvedSkip.length > 0) {
1592
- const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-N6GXYNAC.js")).default;
1603
+ const createExtendsReportSnapRequest = (await import("./createExtendsReportSnapRequest-OXWMNIG6.js")).default;
1593
1604
  const extendsRequestId = await createExtendsReportSnapRequest(
1594
1605
  baselineSha,
1595
1606
  resolvedSkip,
@@ -1625,7 +1636,7 @@ async function handleDefaultCommand(config, environment, logger) {
1625
1636
  } catch (e) {
1626
1637
  const message = e instanceof Error ? e.message : String(e);
1627
1638
  logger.error(`${config.integration.type} run failed: ${message}`, e);
1628
- const cancelJob = (await import("./cancelJob-GENB4D2J.js")).default;
1639
+ const cancelJob = (await import("./cancelJob-HDGBLBQQ.js")).default;
1629
1640
  await cancelJob("failure", message, config, environment, logger);
1630
1641
  process.exitCode = 1;
1631
1642
  return;
@@ -1636,7 +1647,7 @@ async function handleFinalizeCommand(config, environment, logger) {
1636
1647
  logger.log("Config:", config);
1637
1648
  logger.log("Environment:", environment);
1638
1649
  try {
1639
- const finalizeAll = (await import("./wrapper-HH2NJLIH.js")).finalizeAll;
1650
+ const finalizeAll = (await import("./wrapper-Z2ZPQNNP.js")).finalizeAll;
1640
1651
  await finalizeAll({ happoConfig: config, environment, logger });
1641
1652
  } catch (e) {
1642
1653
  logger.error(e instanceof Error ? e.message : String(e), e);
@@ -1664,7 +1675,7 @@ async function handleFlakeCommand(config, {
1664
1675
  process.exitCode = 1;
1665
1676
  return;
1666
1677
  }
1667
- const { default: getFlakes, formatFlakeOutput } = await import("./getFlakes-CBGWAHIU.js");
1678
+ const { default: getFlakes, formatFlakeOutput } = await import("./getFlakes-LD2GKSTE.js");
1668
1679
  const project = allProjects ? void 0 : projectOverride ?? config.project;
1669
1680
  const flakes = await getFlakes(
1670
1681
  {
@@ -1706,7 +1717,7 @@ async function handleE2ECommand(config, environment, dashdashCommandParts, confi
1706
1717
  logger.log("Config:", config);
1707
1718
  logger.log("Environment:", environment);
1708
1719
  logger.log("Dashdash command parts:", dashdashCommandParts);
1709
- const runWithWrapper = (await import("./wrapper-HH2NJLIH.js")).default;
1720
+ const runWithWrapper = (await import("./wrapper-Z2ZPQNNP.js")).default;
1710
1721
  const exitCode = await runWithWrapper(
1711
1722
  dashdashCommandParts,
1712
1723
  config,