diff --git a/cypress.config.ts b/cypress.config.ts index 44d456e26..98017d75e 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -1,9 +1,8 @@ -import { configureNextcloud, startNextcloud, stopNextcloud, waitOnNextcloud } from './cypress/dockerNode' +import { configureNextcloud, startNextcloud, stopNextcloud, waitOnNextcloud } from '@nextcloud/cypress/docker' +import { configureVisualRegression } from 'cypress-visual-regression/dist/plugin' import { defineConfig } from 'cypress' import cypressSplit from 'cypress-split' -import getCompareSnapshotsPlugin from 'cypress-visual-regression/dist/plugin' - export default defineConfig({ projectId: 'xysa6x', @@ -27,7 +26,7 @@ export default defineConfig({ // Visual regression testing env: { failSilently: false, - type: 'actual', + visualRegressionType: 'regression', }, screenshotsFolder: 'cypress/snapshots/actual', trashAssetsBeforeRuns: true, @@ -40,8 +39,7 @@ export default defineConfig({ // You may want to clean this up later by importing these. async setupNodeEvents(on, config) { cypressSplit(on, config) - - getCompareSnapshotsPlugin(on, config) + configureVisualRegression(on) // Disable spell checking to prevent rendering differences on('before:browser:launch', (browser, launchOptions) => { diff --git a/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/image.png b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/image.png new file mode 100644 index 000000000..c26783ffa Binary files /dev/null and b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/image.png differ diff --git a/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/image2.png b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/image2.png new file mode 100644 index 000000000..b2997124a Binary files /dev/null and b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/image2.png differ diff --git a/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/non-dav.png b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/non-dav.png new file mode 100644 index 000000000..6be2d7adf Binary files /dev/null and b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/non-dav.png differ diff --git a/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/video.png b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/video.png new file mode 100644 index 000000000..ca16db9cd Binary files /dev/null and b/cypress/snapshots/base/cypress/e2e/visual-regression.cy.ts/video.png differ diff --git a/cypress/snapshots/base/visual-regression.cy.ts/image.png b/cypress/snapshots/base/visual-regression.cy.ts/image.png deleted file mode 100644 index 0591a69ed..000000000 Binary files a/cypress/snapshots/base/visual-regression.cy.ts/image.png and /dev/null differ diff --git a/cypress/snapshots/base/visual-regression.cy.ts/image2.png b/cypress/snapshots/base/visual-regression.cy.ts/image2.png deleted file mode 100644 index cebcfa923..000000000 Binary files a/cypress/snapshots/base/visual-regression.cy.ts/image2.png and /dev/null differ diff --git a/cypress/snapshots/base/visual-regression.cy.ts/non-dav.png b/cypress/snapshots/base/visual-regression.cy.ts/non-dav.png deleted file mode 100644 index c30e2d7f0..000000000 Binary files a/cypress/snapshots/base/visual-regression.cy.ts/non-dav.png and /dev/null differ diff --git a/cypress/snapshots/base/visual-regression.cy.ts/video.png b/cypress/snapshots/base/visual-regression.cy.ts/video.png deleted file mode 100644 index 8c7133e78..000000000 Binary files a/cypress/snapshots/base/visual-regression.cy.ts/video.png and /dev/null differ diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts index 63704042e..10d835f99 100644 --- a/cypress/support/commands.ts +++ b/cypress/support/commands.ts @@ -20,13 +20,13 @@ * */ -import { addCommands, User } from '@nextcloud/cypress' +import { addCommands } from '@nextcloud/cypress' +import { addCompareSnapshotCommand } from 'cypress-visual-regression/dist/command' import { basename } from 'path' import axios from '@nextcloud/axios' -import compareSnapshotCommand from 'cypress-visual-regression/dist/command.js' addCommands() -compareSnapshotCommand() +addCompareSnapshotCommand() const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '') Cypress.env('baseUrl', url) diff --git a/package-lock.json b/package-lock.json index e94da22e3..b62f9e85f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "babel-loader-exclude-node-modules-except": "^1.2.1", "cypress": "^13.7.2", "cypress-split": "^1.23.0", - "cypress-visual-regression": "^3.0.0", + "cypress-visual-regression": "^5.2.0", "dockerode": "^4.0.2", "eslint-plugin-cypress": "^2.15.1", "ts-node": "^10.9.2", @@ -4594,6 +4594,7 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@types/express": { @@ -5562,6 +5563,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -5573,6 +5575,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { @@ -5580,6 +5583,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { @@ -5587,6 +5591,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -5594,6 +5599,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", @@ -5606,6 +5612,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { @@ -5613,6 +5620,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", @@ -5626,6 +5634,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -5636,6 +5645,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "@xtuc/long": "4.2.2" @@ -5646,6 +5656,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { @@ -5653,6 +5664,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", @@ -5670,6 +5682,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", @@ -5684,6 +5697,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", @@ -5697,6 +5711,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", @@ -5712,6 +5727,7 @@ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", @@ -5770,6 +5786,7 @@ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true, + "license": "BSD-3-Clause", "peer": true }, "node_modules/@xtuc/long": { @@ -5777,6 +5794,7 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true, + "license": "Apache-2.0", "peer": true }, "node_modules/abort-controller": { @@ -5823,6 +5841,7 @@ "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, + "license": "MIT", "peer": true, "peerDependencies": { "acorn": "^8" @@ -6338,6 +6357,7 @@ "version": "1.7.7", "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -7275,9 +7295,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001596", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", - "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==", + "version": "1.0.30001657", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001657.tgz", + "integrity": "sha512-DPbJAlP8/BAXy3IgiWmZKItubb3TYGP0WscQQlVGIfT4s/YlFYVuJgyOsQNP7rJRChx/qdMeLJQJP0Sgg2yjNA==", "funding": [ { "type": "opencollective", @@ -7292,6 +7312,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "CC-BY-4.0", "peer": true }, "node_modules/caseless": { @@ -8306,17 +8327,98 @@ } }, "node_modules/cypress-visual-regression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cypress-visual-regression/-/cypress-visual-regression-3.0.0.tgz", - "integrity": "sha512-Rn+SDZjdAL29Mmg+TORe9ez+ragBP6Ew31nWx1x3YbL9LkObpLCO08XcdAkY73/w4eKlBarmJcs6de5LrIa50A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cypress-visual-regression/-/cypress-visual-regression-5.2.0.tgz", + "integrity": "sha512-W1kEdLNuU51FUcqvFyWTUTZ8NqnEekEQ6ErOR9Y8pvnm7Uwmeibcy74MPOgFKEOOwveaGqPekHX+eOUV3rlP+Q==", "dev": true, + "license": "MIT", "dependencies": { + "chalk": "^4.1.2", "pixelmatch": "^5.2.1", "pngjs": "^6.0.0", "sanitize-filename": "^1.6.3" }, + "engines": { + "node": ">=18" + }, "peerDependencies": { - "cypress": ">=9.7.0" + "cypress": ">=12" + } + }, + "node_modules/cypress-visual-regression/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cypress-visual-regression/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cypress-visual-regression/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cypress-visual-regression/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cypress-visual-regression/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress-visual-regression/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/cypress/node_modules/ansi-styles": { @@ -9368,6 +9470,7 @@ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "bn.js": "^4.11.9", @@ -9451,6 +9554,7 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -11029,6 +11133,7 @@ "url": "https://paypal.me/naturalintelligence" } ], + "license": "MIT", "dependencies": { "strnum": "^1.0.5" }, @@ -11825,6 +11930,7 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true, + "license": "BSD-2-Clause", "peer": true }, "node_modules/glob/node_modules/brace-expansion": { @@ -16823,6 +16929,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -22632,6 +22739,7 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -22721,6 +22829,7 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "^1.0.5", diff --git a/package.json b/package.json index 2f9aa4c32..3177752bd 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,8 @@ "cypress:e2e": "cypress run --e2e", "cypress:gui": "cypress open --e2e", "cypress:pre-snapshots": "TESTING=true npm run dev", - "cypress:visual-regression": "npm run cypress:pre-snapshots && cypress run --spec cypress/e2e/visual-regression.cy.js", - "cypress:update-snapshots": "npm run cypress:pre-snapshots && cypress run --env type=base --spec cypress/e2e/visual-regression.cy.js --config screenshotsFolder=cypress/snapshots/base" + "cypress:visual-regression": "npm run cypress:pre-snapshots && cypress run --spec cypress/e2e/visual-regression.cy.ts", + "cypress:update-snapshots": "npm run cypress:pre-snapshots && cypress run --env type=base --spec cypress/e2e/visual-regression.cy.ts --config screenshotsFolder=cypress/snapshots/base" }, "dependencies": { "@fontsource/roboto": "^5.0.12", @@ -86,7 +86,7 @@ "babel-loader-exclude-node-modules-except": "^1.2.1", "cypress": "^13.7.2", "cypress-split": "^1.23.0", - "cypress-visual-regression": "^3.0.0", + "cypress-visual-regression": "^5.2.0", "dockerode": "^4.0.2", "eslint-plugin-cypress": "^2.15.1", "ts-node": "^10.9.2",