happo 6.2.6 → 6.3.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.
- package/dist/browser/main.js +4 -4
- package/dist/browser/main.js.map +3 -3
- package/dist/cli/cancelJob-LSNOE34P.js +10 -0
- package/dist/cli/{chunk-UBNAHFZ5.js → chunk-2TMK44N3.js} +2 -2
- package/dist/cli/{chunk-2GWYMCM5.js → chunk-3EXZUW2Z.js} +15 -11
- package/dist/cli/chunk-3EXZUW2Z.js.map +7 -0
- package/dist/cli/{chunk-4SMOBHQY.js → chunk-AR3AP6FT.js} +2 -2
- package/dist/cli/{chunk-HFWMNEW7.js → chunk-DJLG5MCW.js} +3 -3
- package/dist/cli/{chunk-Q3DT6FIT.js → chunk-HELH6UTI.js} +2 -2
- package/dist/cli/{chunk-Q3DT6FIT.js.map → chunk-HELH6UTI.js.map} +1 -1
- package/dist/cli/{chunk-56XY3V7T.js → chunk-O7N6QKIL.js} +2 -2
- package/dist/cli/createAsyncComparison-T7JOBG7A.js +10 -0
- package/dist/cli/{createAsyncReport-EAFZGNCW.js → createAsyncReport-EEY5VHG4.js} +4 -4
- package/dist/cli/getFlakes-H7UPZETQ.js +73 -0
- package/dist/cli/getFlakes-H7UPZETQ.js.map +7 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/main.js +186 -11
- package/dist/cli/main.js.map +2 -2
- package/dist/cli/package-TFI74YPA.js +7 -0
- package/dist/cli/{prepareSnapRequests-FQJAOJNF.js → prepareSnapRequests-7OHC5YSR.js} +4 -4
- package/dist/cli/startJob-ULCBWJ3I.js +10 -0
- package/dist/cli/telemetry.d.ts.map +1 -1
- package/dist/cli/{wrapper-LPL52GIF.js → wrapper-YN56WRXE.js} +7 -7
- package/dist/config/index.d.ts +43 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js.map +2 -2
- package/dist/config/loadConfig.d.ts.map +1 -1
- package/dist/cypress/index.js +3 -3
- package/dist/cypress/index.js.map +1 -1
- package/dist/cypress/task.js +45 -1
- package/dist/cypress/task.js.map +2 -2
- package/dist/network/createAsyncComparison.d.ts.map +1 -1
- package/dist/network/getFlakes.d.ts +39 -0
- package/dist/network/getFlakes.d.ts.map +1 -0
- package/dist/playwright/index.js +45 -1
- package/dist/playwright/index.js.map +2 -2
- package/package.json +1 -1
- package/dist/cli/cancelJob-JVBWGU62.js +0 -10
- package/dist/cli/chunk-2GWYMCM5.js.map +0 -7
- package/dist/cli/createAsyncComparison-IVFALQTJ.js +0 -10
- package/dist/cli/package-LZDJBDUK.js +0 -7
- package/dist/cli/startJob-ZYTK6OMK.js +0 -10
- /package/dist/cli/{cancelJob-JVBWGU62.js.map → cancelJob-LSNOE34P.js.map} +0 -0
- /package/dist/cli/{chunk-UBNAHFZ5.js.map → chunk-2TMK44N3.js.map} +0 -0
- /package/dist/cli/{chunk-4SMOBHQY.js.map → chunk-AR3AP6FT.js.map} +0 -0
- /package/dist/cli/{chunk-HFWMNEW7.js.map → chunk-DJLG5MCW.js.map} +0 -0
- /package/dist/cli/{chunk-56XY3V7T.js.map → chunk-O7N6QKIL.js.map} +0 -0
- /package/dist/cli/{createAsyncComparison-IVFALQTJ.js.map → createAsyncComparison-T7JOBG7A.js.map} +0 -0
- /package/dist/cli/{createAsyncReport-EAFZGNCW.js.map → createAsyncReport-EEY5VHG4.js.map} +0 -0
- /package/dist/cli/{package-LZDJBDUK.js.map → package-TFI74YPA.js.map} +0 -0
- /package/dist/cli/{prepareSnapRequests-FQJAOJNF.js.map → prepareSnapRequests-7OHC5YSR.js.map} +0 -0
- /package/dist/cli/{startJob-ZYTK6OMK.js.map → startJob-ULCBWJ3I.js.map} +0 -0
- /package/dist/cli/{wrapper-LPL52GIF.js.map → wrapper-YN56WRXE.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFlakes.d.ts","sourceRoot":"","sources":["../../src/network/getFlakes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,CAiCnE;AAED,wBAA8B,SAAS,CACrC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,gBAAgB,EAC3E,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAuC5B"}
|
package/dist/playwright/index.js
CHANGED
|
@@ -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.
|
|
21
|
+
version: "6.3.0",
|
|
22
22
|
description: "Catch unexpected visual and accessibility changes and UI bugs",
|
|
23
23
|
license: "MIT",
|
|
24
24
|
repository: {
|
|
@@ -514,6 +514,44 @@ async function getFallbackApiToken(endpoint, environment, logger) {
|
|
|
514
514
|
}
|
|
515
515
|
return void 0;
|
|
516
516
|
}
|
|
517
|
+
function validateDeepCompareSettings(deepCompare, configFilePath) {
|
|
518
|
+
if (typeof deepCompare !== "object" || Array.isArray(deepCompare)) {
|
|
519
|
+
throw new TypeError(
|
|
520
|
+
`Invalid \`deepCompare\` in config file ${configFilePath}: must be an object, got: ${Array.isArray(deepCompare) ? "array" : typeof deepCompare}.`
|
|
521
|
+
);
|
|
522
|
+
}
|
|
523
|
+
const settings = deepCompare;
|
|
524
|
+
if (!("compareThreshold" in settings) || settings.compareThreshold === void 0) {
|
|
525
|
+
throw new TypeError(
|
|
526
|
+
`Invalid \`deepCompare\` in config file ${configFilePath}: \`compareThreshold\` is required.`
|
|
527
|
+
);
|
|
528
|
+
}
|
|
529
|
+
if (typeof settings.compareThreshold !== "number" || settings.compareThreshold < 0 || settings.compareThreshold > 1) {
|
|
530
|
+
throw new TypeError(
|
|
531
|
+
`Invalid \`deepCompare.compareThreshold\` in config file ${configFilePath}: must be a number between 0 and 1, got: ${JSON.stringify(settings.compareThreshold)}.`
|
|
532
|
+
);
|
|
533
|
+
}
|
|
534
|
+
if ("diffAlgorithm" in settings && settings.diffAlgorithm !== void 0 && (typeof settings.diffAlgorithm !== "string" || settings.diffAlgorithm !== "color-delta" && settings.diffAlgorithm !== "ssim")) {
|
|
535
|
+
throw new TypeError(
|
|
536
|
+
`Invalid \`deepCompare.diffAlgorithm\` in config file ${configFilePath}: must be "color-delta" or "ssim", got: ${JSON.stringify(settings.diffAlgorithm)}.`
|
|
537
|
+
);
|
|
538
|
+
}
|
|
539
|
+
if ("ignoreThreshold" in settings && settings.ignoreThreshold !== void 0 && (typeof settings.ignoreThreshold !== "number" || settings.ignoreThreshold < 0 || settings.ignoreThreshold > 1)) {
|
|
540
|
+
throw new TypeError(
|
|
541
|
+
`Invalid \`deepCompare.ignoreThreshold\` in config file ${configFilePath}: must be a number between 0 and 1, got: ${JSON.stringify(settings.ignoreThreshold)}.`
|
|
542
|
+
);
|
|
543
|
+
}
|
|
544
|
+
if ("ignoreWhitespace" in settings && settings.ignoreWhitespace !== void 0 && typeof settings.ignoreWhitespace !== "boolean") {
|
|
545
|
+
throw new TypeError(
|
|
546
|
+
`Invalid \`deepCompare.ignoreWhitespace\` in config file ${configFilePath}: must be a boolean, got: ${JSON.stringify(settings.ignoreWhitespace)}.`
|
|
547
|
+
);
|
|
548
|
+
}
|
|
549
|
+
if ("applyBlur" in settings && settings.applyBlur !== void 0 && typeof settings.applyBlur !== "boolean") {
|
|
550
|
+
throw new TypeError(
|
|
551
|
+
`Invalid \`deepCompare.applyBlur\` in config file ${configFilePath}: must be a boolean, got: ${JSON.stringify(settings.applyBlur)}.`
|
|
552
|
+
);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
517
555
|
async function loadConfigFile(configFilePath, environment, logger = console) {
|
|
518
556
|
try {
|
|
519
557
|
const stats = await fs.promises.stat(configFilePath);
|
|
@@ -600,6 +638,12 @@ async function loadConfigFile(configFilePath, environment, logger = console) {
|
|
|
600
638
|
target.freezeAnimations = target.freezeAnimations || "last-frame";
|
|
601
639
|
target.prefersReducedMotion = target.prefersReducedMotion ?? true;
|
|
602
640
|
}
|
|
641
|
+
if (config.deepCompare !== void 0 && config.deepCompare !== null) {
|
|
642
|
+
validateDeepCompareSettings(config.deepCompare, configFilePath);
|
|
643
|
+
if (!config.deepCompare.diffAlgorithm) {
|
|
644
|
+
config.deepCompare.diffAlgorithm = "color-delta";
|
|
645
|
+
}
|
|
646
|
+
}
|
|
603
647
|
const configWithDefaults = {
|
|
604
648
|
endpoint: DEFAULT_ENDPOINT,
|
|
605
649
|
githubApiUrl: "https://api.github.com",
|