happo 6.3.1 → 6.3.2

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 (40) hide show
  1. package/dist/cli/cancelJob-HYFDKZHL.js +10 -0
  2. package/dist/cli/{chunk-AQSWKKBJ.js → chunk-2C2AJHJJ.js} +2 -2
  3. package/dist/cli/{chunk-H4SN6WPV.js → chunk-6LAI3ROJ.js} +2 -2
  4. package/dist/cli/{chunk-HAOW7OPC.js → chunk-BGIW7GAC.js} +2 -2
  5. package/dist/cli/{chunk-VGC6VLFX.js → chunk-C3Z7VCFE.js} +2 -2
  6. package/dist/cli/{chunk-VGC6VLFX.js.map → chunk-C3Z7VCFE.js.map} +1 -1
  7. package/dist/cli/{chunk-WFRUGXXQ.js → chunk-EZP6OELW.js} +2 -2
  8. package/dist/cli/{chunk-VRKXLPSQ.js → chunk-LETCVDIZ.js} +3 -3
  9. package/dist/cli/createAsyncComparison-W5M2ERG2.js +10 -0
  10. package/dist/cli/{createAsyncReport-5E3IWVZX.js → createAsyncReport-V6FJPMF2.js} +4 -4
  11. package/dist/cli/{getFlakes-ITQLVM5D.js → getFlakes-RK6N2BJZ.js} +4 -4
  12. package/dist/cli/main.js +41 -20
  13. package/dist/cli/main.js.map +2 -2
  14. package/dist/cli/package-7H6XLDEN.js +7 -0
  15. package/dist/cli/{prepareSnapRequests-O2FC3E2P.js → prepareSnapRequests-UHPKHHWN.js} +4 -4
  16. package/dist/cli/startJob-SBN2UHFE.js +10 -0
  17. package/dist/cli/{wrapper-ZQOATRO2.js → wrapper-FLNFNO3B.js} +7 -7
  18. package/dist/cypress/task.js +1 -1
  19. package/dist/cypress/task.js.map +1 -1
  20. package/dist/environment/index.d.ts.map +1 -1
  21. package/dist/playwright/index.js +1 -1
  22. package/dist/playwright/index.js.map +1 -1
  23. package/package.json +1 -1
  24. package/dist/cli/cancelJob-6YMRZKZ6.js +0 -10
  25. package/dist/cli/createAsyncComparison-O4TTQSO6.js +0 -10
  26. package/dist/cli/package-BZTLWVDW.js +0 -7
  27. package/dist/cli/startJob-5JOX4R4S.js +0 -10
  28. /package/dist/cli/{cancelJob-6YMRZKZ6.js.map → cancelJob-HYFDKZHL.js.map} +0 -0
  29. /package/dist/cli/{chunk-AQSWKKBJ.js.map → chunk-2C2AJHJJ.js.map} +0 -0
  30. /package/dist/cli/{chunk-H4SN6WPV.js.map → chunk-6LAI3ROJ.js.map} +0 -0
  31. /package/dist/cli/{chunk-HAOW7OPC.js.map → chunk-BGIW7GAC.js.map} +0 -0
  32. /package/dist/cli/{chunk-WFRUGXXQ.js.map → chunk-EZP6OELW.js.map} +0 -0
  33. /package/dist/cli/{chunk-VRKXLPSQ.js.map → chunk-LETCVDIZ.js.map} +0 -0
  34. /package/dist/cli/{createAsyncComparison-O4TTQSO6.js.map → createAsyncComparison-W5M2ERG2.js.map} +0 -0
  35. /package/dist/cli/{createAsyncReport-5E3IWVZX.js.map → createAsyncReport-V6FJPMF2.js.map} +0 -0
  36. /package/dist/cli/{getFlakes-ITQLVM5D.js.map → getFlakes-RK6N2BJZ.js.map} +0 -0
  37. /package/dist/cli/{package-BZTLWVDW.js.map → package-7H6XLDEN.js.map} +0 -0
  38. /package/dist/cli/{prepareSnapRequests-O2FC3E2P.js.map → prepareSnapRequests-UHPKHHWN.js.map} +0 -0
  39. /package/dist/cli/{startJob-5JOX4R4S.js.map → startJob-SBN2UHFE.js.map} +0 -0
  40. /package/dist/cli/{wrapper-ZQOATRO2.js.map → wrapper-FLNFNO3B.js.map} +0 -0
@@ -0,0 +1,10 @@
1
+ import {
2
+ cancelJob
3
+ } from "./chunk-LETCVDIZ.js";
4
+ import "./chunk-EZP6OELW.js";
5
+ import "./chunk-6LAI3ROJ.js";
6
+ import "./chunk-C3Z7VCFE.js";
7
+ export {
8
+ cancelJob as default
9
+ };
10
+ //# sourceMappingURL=cancelJob-HYFDKZHL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-WFRUGXXQ.js";
3
+ } from "./chunk-EZP6OELW.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-AQSWKKBJ.js.map
63
+ //# sourceMappingURL=chunk-2C2AJHJJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./chunk-VGC6VLFX.js";
3
+ } from "./chunk-C3Z7VCFE.js";
4
4
 
5
5
  // src/network/fetchWithRetry.ts
6
6
  import asyncRetry from "async-retry";
@@ -94,4 +94,4 @@ export {
94
94
  ErrorWithStatusCode,
95
95
  fetchWithRetry
96
96
  };
97
- //# sourceMappingURL=chunk-H4SN6WPV.js.map
97
+ //# sourceMappingURL=chunk-6LAI3ROJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-WFRUGXXQ.js";
3
+ } from "./chunk-EZP6OELW.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-HAOW7OPC.js.map
39
+ //# sourceMappingURL=chunk-BGIW7GAC.js.map
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "happo",
4
- version: "6.3.1",
4
+ version: "6.3.2",
5
5
  description: "Catch unexpected visual and accessibility changes and UI bugs",
6
6
  license: "MIT",
7
7
  repository: {
@@ -185,4 +185,4 @@ var package_default = {
185
185
  export {
186
186
  package_default
187
187
  };
188
- //# sourceMappingURL=chunk-VGC6VLFX.js.map
188
+ //# sourceMappingURL=chunk-C3Z7VCFE.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.3.1\",\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\": \"./scripts/build.ts\",\n \"build:types\": \"pnpm tsc --pretty\",\n \"build:watch\": \"tsc --build --watch\",\n \"clean\": \"rm -rf dist tmp/tsc tmp/happo-custom\",\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: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:storybook\": \"pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook.config.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 \"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\": \"^9.36.0\",\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\": \"^27.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 \"@types/serve-handler\": \"^6.1.4\",\n \"cypress\": \"^15.5.0\",\n \"esbuild\": \"^0.27.0\",\n \"eslint\": \"^9.36.0\",\n \"eslint-config-prettier\": \"^10.1.8\",\n \"eslint-plugin-compat\": \"^6.0.2\",\n \"eslint-plugin-depend\": \"^1.3.1\",\n \"eslint-plugin-simple-import-sort\": \"^12.1.1\",\n \"eslint-plugin-unicorn\": \"^63.0.0\",\n \"jiti\": \"^2.6.0\",\n \"jsdom\": \"^28.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 \"serve-handler\": \"^6.1.6\",\n \"storybook\": \"^10.0.1\",\n \"typescript\": \"^5.9.2\",\n \"typescript-eslint\": \"^8.44.1\"\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.3.2\",\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\": \"./scripts/build.ts\",\n \"build:types\": \"pnpm tsc --pretty\",\n \"build:watch\": \"tsc --build --watch\",\n \"clean\": \"rm -rf dist tmp/tsc tmp/happo-custom\",\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: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:storybook\": \"pnpm build:dist && node --env-file-if-exists=.env.local dist/cli/main.js -c ./happoconfigs/happo.storybook.config.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 \"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\": \"^9.36.0\",\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\": \"^27.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 \"@types/serve-handler\": \"^6.1.4\",\n \"cypress\": \"^15.5.0\",\n \"esbuild\": \"^0.27.0\",\n \"eslint\": \"^9.36.0\",\n \"eslint-config-prettier\": \"^10.1.8\",\n \"eslint-plugin-compat\": \"^6.0.2\",\n \"eslint-plugin-depend\": \"^1.3.1\",\n \"eslint-plugin-simple-import-sort\": \"^12.1.1\",\n \"eslint-plugin-unicorn\": \"^63.0.0\",\n \"jiti\": \"^2.6.0\",\n \"jsdom\": \"^28.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 \"serve-handler\": \"^6.1.6\",\n \"storybook\": \"^10.0.1\",\n \"typescript\": \"^5.9.2\",\n \"typescript-eslint\": \"^8.44.1\"\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-H4SN6WPV.js";
3
+ } from "./chunk-6LAI3ROJ.js";
4
4
 
5
5
  // src/network/makeHappoAPIRequest.ts
6
6
  import { SignJWT } from "jose";
@@ -51,4 +51,4 @@ async function makeHappoAPIRequest({ url, path, method = "GET", formData, body }
51
51
  export {
52
52
  makeHappoAPIRequest
53
53
  };
54
- //# sourceMappingURL=chunk-WFRUGXXQ.js.map
54
+ //# sourceMappingURL=chunk-EZP6OELW.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-WFRUGXXQ.js";
3
+ } from "./chunk-EZP6OELW.js";
4
4
  import {
5
5
  ErrorWithStatusCode
6
- } from "./chunk-H4SN6WPV.js";
6
+ } from "./chunk-6LAI3ROJ.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-VRKXLPSQ.js.map
46
+ //# sourceMappingURL=chunk-LETCVDIZ.js.map
@@ -0,0 +1,10 @@
1
+ import {
2
+ createAsyncComparison
3
+ } from "./chunk-2C2AJHJJ.js";
4
+ import "./chunk-EZP6OELW.js";
5
+ import "./chunk-6LAI3ROJ.js";
6
+ import "./chunk-C3Z7VCFE.js";
7
+ export {
8
+ createAsyncComparison as default
9
+ };
10
+ //# sourceMappingURL=createAsyncComparison-W5M2ERG2.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-WFRUGXXQ.js";
4
- import "./chunk-H4SN6WPV.js";
5
- import "./chunk-VGC6VLFX.js";
3
+ } from "./chunk-EZP6OELW.js";
4
+ import "./chunk-6LAI3ROJ.js";
5
+ import "./chunk-C3Z7VCFE.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-5E3IWVZX.js.map
41
+ //# sourceMappingURL=createAsyncReport-V6FJPMF2.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  makeHappoAPIRequest
3
- } from "./chunk-WFRUGXXQ.js";
4
- import "./chunk-H4SN6WPV.js";
5
- import "./chunk-VGC6VLFX.js";
3
+ } from "./chunk-EZP6OELW.js";
4
+ import "./chunk-6LAI3ROJ.js";
5
+ import "./chunk-C3Z7VCFE.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-ITQLVM5D.js.map
73
+ //# sourceMappingURL=getFlakes-RK6N2BJZ.js.map
package/dist/cli/main.js CHANGED
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-JTRP4JVC.js";
5
5
  import {
6
6
  fetchWithRetry
7
- } from "./chunk-H4SN6WPV.js";
7
+ } from "./chunk-6LAI3ROJ.js";
8
8
  import {
9
9
  package_default
10
- } from "./chunk-VGC6VLFX.js";
10
+ } from "./chunk-C3Z7VCFE.js";
11
11
 
12
12
  // src/cli/index.ts
13
13
  import path3 from "node:path";
@@ -554,6 +554,26 @@ function resolveShaFromTagMatcher(tagMatcher) {
554
554
  }
555
555
  return commitRes.stdout.trim();
556
556
  }
557
+ function resolveMergeBase(baseSha, afterSha) {
558
+ const res = spawnSync("git", ["merge-base", baseSha, afterSha], {
559
+ encoding: "utf8"
560
+ });
561
+ if (res.status !== 0) {
562
+ console.error(
563
+ `[HAPPO] Ignored error when resolving merge base between ${baseSha} and ${afterSha}: ${res.stderr}`
564
+ );
565
+ return void 0;
566
+ }
567
+ const mergeBase = res.stdout.split("\n")[0]?.trim();
568
+ if (!mergeBase) {
569
+ console.error(
570
+ `[HAPPO] git merge-base stdout is empty when resolving merge base between ${baseSha} and ${afterSha}. stdout: ${res.stdout}
571
+ stderr: ${res.stderr}`
572
+ );
573
+ return void 0;
574
+ }
575
+ return mergeBase;
576
+ }
557
577
  async function resolveBeforeSha(cliArgs, env, afterSha) {
558
578
  if (cliArgs.beforeSha) {
559
579
  return cliArgs.beforeSha;
@@ -568,7 +588,15 @@ async function resolveBeforeSha(cliArgs, env, afterSha) {
568
588
  if (GITHUB_EVENT_PATH) {
569
589
  const ghEvent = await resolveGithubEvent(GITHUB_EVENT_PATH);
570
590
  if (ghEvent.pull_request) {
571
- return ghEvent.pull_request.base.sha;
591
+ const resolvedSha = resolveMergeBase(ghEvent.pull_request.base.sha, afterSha);
592
+ if (resolvedSha) {
593
+ return resolvedSha;
594
+ } else {
595
+ console.error(
596
+ `[HAPPO] Failed to resolve merge base commit for GitHub event ${ghEvent.pull_request.base.sha} and ${afterSha}. Falling back to pull request base SHA.`
597
+ );
598
+ return ghEvent.pull_request.base.sha;
599
+ }
572
600
  }
573
601
  if (ghEvent.merge_group) {
574
602
  return ghEvent.merge_group.base_sha;
@@ -587,14 +615,7 @@ async function resolveBeforeSha(cliArgs, env, afterSha) {
587
615
  ].join("/");
588
616
  }
589
617
  const baseBranch = cliArgs.baseBranch || baseAzureBranch || "origin/main";
590
- const res = spawnSync("git", ["merge-base", baseBranch, afterSha], {
591
- encoding: "utf8"
592
- });
593
- if (res.status !== 0) {
594
- console.error(`[HAPPO] Ignored error when resolving base commit: ${res.stderr}`);
595
- return void 0;
596
- }
597
- return res.stdout.split("\n")[0];
618
+ return resolveMergeBase(baseBranch, afterSha);
598
619
  }
599
620
  function getHeadShaWithLocalChanges() {
600
621
  const randomSha = randomBytes(20).toString("hex");
@@ -1053,7 +1074,7 @@ function createReporter(opts = {}) {
1053
1074
 
1054
1075
  // src/cli/index.ts
1055
1076
  async function getVersion() {
1056
- const packageJson = await import("./package-BZTLWVDW.js");
1077
+ const packageJson = await import("./package-7H6XLDEN.js");
1057
1078
  return packageJson.default.version;
1058
1079
  }
1059
1080
  function parseDashdashCommandParts(rawArgs) {
@@ -1324,10 +1345,10 @@ async function main(rawArgs = process.argv, logger = console) {
1324
1345
  async function handleDefaultCommand(config, environment, logger) {
1325
1346
  logger.log("Running happo tests...");
1326
1347
  const [startJob, createAsyncComparison, createAsyncReport, prepareSnapRequests] = await Promise.all([
1327
- (await import("./startJob-5JOX4R4S.js")).default,
1328
- (await import("./createAsyncComparison-O4TTQSO6.js")).default,
1329
- (await import("./createAsyncReport-5E3IWVZX.js")).default,
1330
- (await import("./prepareSnapRequests-O2FC3E2P.js")).default
1348
+ (await import("./startJob-SBN2UHFE.js")).default,
1349
+ (await import("./createAsyncComparison-W5M2ERG2.js")).default,
1350
+ (await import("./createAsyncReport-V6FJPMF2.js")).default,
1351
+ (await import("./prepareSnapRequests-UHPKHHWN.js")).default
1331
1352
  ]);
1332
1353
  await startJob(config, environment, logger);
1333
1354
  try {
@@ -1360,7 +1381,7 @@ async function handleDefaultCommand(config, environment, logger) {
1360
1381
  } catch (e) {
1361
1382
  const message = e instanceof Error ? e.message : String(e);
1362
1383
  logger.error(`${config.integration.type} run failed: ${message}`, e);
1363
- const cancelJob = (await import("./cancelJob-6YMRZKZ6.js")).default;
1384
+ const cancelJob = (await import("./cancelJob-HYFDKZHL.js")).default;
1364
1385
  await cancelJob("failure", message, config, environment, logger);
1365
1386
  process.exitCode = 1;
1366
1387
  return;
@@ -1371,7 +1392,7 @@ async function handleFinalizeCommand(config, environment, logger) {
1371
1392
  logger.log("Config:", config);
1372
1393
  logger.log("Environment:", environment);
1373
1394
  try {
1374
- const finalizeAll = (await import("./wrapper-ZQOATRO2.js")).finalizeAll;
1395
+ const finalizeAll = (await import("./wrapper-FLNFNO3B.js")).finalizeAll;
1375
1396
  await finalizeAll({ happoConfig: config, environment, logger });
1376
1397
  } catch (e) {
1377
1398
  logger.error(e instanceof Error ? e.message : String(e), e);
@@ -1399,7 +1420,7 @@ async function handleFlakeCommand(config, {
1399
1420
  process.exitCode = 1;
1400
1421
  return;
1401
1422
  }
1402
- const { default: getFlakes, formatFlakeOutput } = await import("./getFlakes-ITQLVM5D.js");
1423
+ const { default: getFlakes, formatFlakeOutput } = await import("./getFlakes-RK6N2BJZ.js");
1403
1424
  const project = allProjects ? void 0 : projectOverride ?? config.project;
1404
1425
  const flakes = await getFlakes(
1405
1426
  {
@@ -1441,7 +1462,7 @@ async function handleE2ECommand(config, environment, dashdashCommandParts, confi
1441
1462
  logger.log("Config:", config);
1442
1463
  logger.log("Environment:", environment);
1443
1464
  logger.log("Dashdash command parts:", dashdashCommandParts);
1444
- const runWithWrapper = (await import("./wrapper-ZQOATRO2.js")).default;
1465
+ const runWithWrapper = (await import("./wrapper-FLNFNO3B.js")).default;
1445
1466
  const exitCode = await runWithWrapper(
1446
1467
  dashdashCommandParts,
1447
1468
  config,