happo 6.3.6 → 6.4.1

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 (57) hide show
  1. package/dist/cli/cancelJob-ROJDWYPD.js +10 -0
  2. package/dist/cli/{chunk-2F4ONKOX.js → chunk-F4CUEMIS.js} +3 -3
  3. package/dist/cli/{chunk-VOPCZYUD.js → chunk-FZHTC4L5.js} +2 -2
  4. package/dist/cli/{chunk-VOPCZYUD.js.map → chunk-FZHTC4L5.js.map} +1 -1
  5. package/dist/cli/{chunk-4FHG27V2.js → chunk-JAUTKTZY.js} +4 -4
  6. package/dist/cli/chunk-JAUTKTZY.js.map +7 -0
  7. package/dist/cli/{chunk-QIVIGY3K.js → chunk-JQ5JKJGY.js} +2 -2
  8. package/dist/cli/{chunk-GBORF5SP.js → chunk-NAK4M3PS.js} +2 -2
  9. package/dist/cli/{chunk-B4NWDBAN.js → chunk-XM2DXDSO.js} +2 -2
  10. package/dist/cli/chunk-XM2DXDSO.js.map +7 -0
  11. package/dist/cli/createAsyncComparison-37KSA6M4.js +10 -0
  12. package/dist/cli/{createAsyncReport-MZGC4WYR.js → createAsyncReport-XKNIFAJB.js} +4 -4
  13. package/dist/cli/{getFlakes-OZICV3BM.js → getFlakes-KRJUAUHV.js} +4 -4
  14. package/dist/cli/main.js +11 -11
  15. package/dist/cli/package-S5HBIHRL.js +7 -0
  16. package/dist/cli/{prepareSnapRequests-6BOXFGHI.js → prepareSnapRequests-EXILTRP4.js} +112 -70
  17. package/dist/cli/prepareSnapRequests-EXILTRP4.js.map +7 -0
  18. package/dist/cli/startJob-KT7MPC4H.js +10 -0
  19. package/dist/cli/{wrapper-UNP6YKH6.js → wrapper-KRUJ2F4T.js} +7 -7
  20. package/dist/config/RemoteBrowserTarget.d.ts +8 -2
  21. package/dist/config/RemoteBrowserTarget.d.ts.map +1 -1
  22. package/dist/config/index.d.ts +5 -1
  23. package/dist/config/index.d.ts.map +1 -1
  24. package/dist/config/index.js.map +2 -2
  25. package/dist/cypress/task.js +19 -10
  26. package/dist/cypress/task.js.map +2 -2
  27. package/dist/network/fetchWithRetry.d.ts +1 -1
  28. package/dist/network/fetchWithRetry.d.ts.map +1 -1
  29. package/dist/network/makeHappoAPIRequest.d.ts +1 -1
  30. package/dist/network/makeHappoAPIRequest.d.ts.map +1 -1
  31. package/dist/network/prepareSnapRequests.d.ts.map +1 -1
  32. package/dist/playwright/index.js +19 -10
  33. package/dist/playwright/index.js.map +2 -2
  34. package/dist/storybook/getStorybookStoryCount.d.ts +7 -0
  35. package/dist/storybook/getStorybookStoryCount.d.ts.map +1 -0
  36. package/dist/storybook/index.d.ts +5 -1
  37. package/dist/storybook/index.d.ts.map +1 -1
  38. package/dist/storybook/index.js +56 -35
  39. package/dist/storybook/index.js.map +4 -4
  40. package/package.json +1 -1
  41. package/dist/cli/cancelJob-LQPQPD5I.js +0 -10
  42. package/dist/cli/chunk-4FHG27V2.js.map +0 -7
  43. package/dist/cli/chunk-B4NWDBAN.js.map +0 -7
  44. package/dist/cli/createAsyncComparison-5ZQY53AW.js +0 -10
  45. package/dist/cli/package-FRXI4E4G.js +0 -7
  46. package/dist/cli/prepareSnapRequests-6BOXFGHI.js.map +0 -7
  47. package/dist/cli/startJob-GASMCYIM.js +0 -10
  48. /package/dist/cli/{cancelJob-LQPQPD5I.js.map → cancelJob-ROJDWYPD.js.map} +0 -0
  49. /package/dist/cli/{chunk-2F4ONKOX.js.map → chunk-F4CUEMIS.js.map} +0 -0
  50. /package/dist/cli/{chunk-QIVIGY3K.js.map → chunk-JQ5JKJGY.js.map} +0 -0
  51. /package/dist/cli/{chunk-GBORF5SP.js.map → chunk-NAK4M3PS.js.map} +0 -0
  52. /package/dist/cli/{createAsyncComparison-5ZQY53AW.js.map → createAsyncComparison-37KSA6M4.js.map} +0 -0
  53. /package/dist/cli/{createAsyncReport-MZGC4WYR.js.map → createAsyncReport-XKNIFAJB.js.map} +0 -0
  54. /package/dist/cli/{getFlakes-OZICV3BM.js.map → getFlakes-KRJUAUHV.js.map} +0 -0
  55. /package/dist/cli/{package-FRXI4E4G.js.map → package-S5HBIHRL.js.map} +0 -0
  56. /package/dist/cli/{startJob-GASMCYIM.js.map → startJob-KT7MPC4H.js.map} +0 -0
  57. /package/dist/cli/{wrapper-UNP6YKH6.js.map → wrapper-KRUJ2F4T.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"makeHappoAPIRequest.d.ts","sourceRoot":"","sources":["../../src/network/makeHappoAPIRequest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,KAAK,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,MAAM,EAAE,CAAC;IAExB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD,wBAA8B,mBAAmB,CAC/C,EAAE,GAAG,EAAE,IAAI,EAAE,MAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAChE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EACnD,EACE,UAAc,EACd,OAAgB,EAChB,eAAsB,EACtB,eAA0B,GAC3B,EAAE,0BAA0B,EAC7B,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2CxB"}
1
+ {"version":3,"file":"makeHappoAPIRequest.d.ts","sourceRoot":"","sources":["../../src/network/makeHappoAPIRequest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,MAAM,EAAE,CAAC;IAExB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD,wBAA8B,mBAAmB,CAC/C,EAAE,GAAG,EAAE,IAAI,EAAE,MAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAChE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EACnD,EACE,UAAc,EACd,OAAgB,EAChB,eAAsB,EACtB,eAA0B,GAC3B,EAAE,0BAA0B,EAC7B,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2CxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepareSnapRequests.d.ts","sourceRoot":"","sources":["../../src/network/prepareSnapRequests.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAgG7D,wBAA8B,mBAAmB,CAC/C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CA4CxB"}
1
+ {"version":3,"file":"prepareSnapRequests.d.ts","sourceRoot":"","sources":["../../src/network/prepareSnapRequests.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAqH7D,wBAA8B,mBAAmB,CAC/C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAsDxB"}
@@ -18,7 +18,7 @@ import asyncRetry from "async-retry";
18
18
  // package.json
19
19
  var package_default = {
20
20
  name: "happo",
21
- version: "6.3.6",
21
+ version: "6.4.1",
22
22
  description: "Catch unexpected visual and accessibility changes and UI bugs",
23
23
  license: "MIT",
24
24
  repository: {
@@ -207,12 +207,12 @@ var ErrorWithStatusCode = class extends Error {
207
207
  }
208
208
  };
209
209
  function prepareFormData(data) {
210
- if (!data) {
210
+ if (data == null) {
211
211
  return null;
212
212
  }
213
213
  const form = new FormData();
214
214
  for (const [key, value] of Object.entries(data)) {
215
- if (value) {
215
+ if (value != null) {
216
216
  form.append(key, value);
217
217
  }
218
218
  }
@@ -708,6 +708,12 @@ function createHash(data) {
708
708
 
709
709
  // src/config/RemoteBrowserTarget.ts
710
710
  var VIEWPORT_PATTERN = /^([0-9]+)x([0-9]+)$/;
711
+ function computeDefaultChunks(estimatedSnapCount) {
712
+ if (!Number.isFinite(estimatedSnapCount) || estimatedSnapCount <= 0) {
713
+ return 1;
714
+ }
715
+ return Math.min(20, Math.ceil(estimatedSnapCount / 100));
716
+ }
711
717
  function getPageSlices(pages, chunks) {
712
718
  const result = [];
713
719
  const pagesPerChunk = Math.ceil(pages.length / chunks);
@@ -730,7 +736,7 @@ var RemoteBrowserTarget = class {
730
736
  otherOptions;
731
737
  constructor(browserName, {
732
738
  viewport = "1024x768",
733
- chunks = 1,
739
+ chunks,
734
740
  maxHeight,
735
741
  ...otherOptions
736
742
  }) {
@@ -757,7 +763,8 @@ var RemoteBrowserTarget = class {
757
763
  staticPackage,
758
764
  snapPayloads,
759
765
  pages,
760
- targetName
766
+ targetName,
767
+ estimatedSnapsCount
761
768
  }, config) {
762
769
  const boundMakeRequest = async ({
763
770
  slice,
@@ -813,22 +820,24 @@ var RemoteBrowserTarget = class {
813
820
  };
814
821
  const requestIds = [];
815
822
  if (staticPackage) {
816
- for (let i = 0; i < this.chunks; i += 1) {
823
+ const effectiveChunks = this.chunks ?? Math.max(1, computeDefaultChunks(estimatedSnapsCount ?? 0));
824
+ for (let i = 0; i < effectiveChunks; i += 1) {
817
825
  const requestId = await boundMakeRequest({
818
- chunk: { index: i, total: this.chunks }
826
+ chunk: effectiveChunks > 1 ? { index: i, total: effectiveChunks } : void 0
819
827
  });
820
828
  requestIds.push(requestId);
821
829
  }
822
830
  } else if (pages) {
823
- for (const pageSlice of getPageSlices(pages, this.chunks)) {
831
+ for (const pageSlice of getPageSlices(pages, this.chunks ?? 1)) {
824
832
  const requestId = await boundMakeRequest({
825
833
  pageSlice
826
834
  });
827
835
  requestIds.push(requestId);
828
836
  }
829
837
  } else {
830
- const snapsPerChunk = Math.ceil((snapPayloads?.length ?? 0) / this.chunks);
831
- for (let i = 0; i < this.chunks; i += 1) {
838
+ const effectiveChunks = this.chunks ?? 1;
839
+ const snapsPerChunk = Math.ceil((snapPayloads?.length ?? 0) / effectiveChunks);
840
+ for (let i = 0; i < effectiveChunks; i += 1) {
832
841
  const slice = snapPayloads?.slice(
833
842
  i * snapsPerChunk,
834
843
  i * snapsPerChunk + snapsPerChunk