diff --git a/.sauce/dev.yml b/.sauce/dev.yml index f9afc5d97..b18a7200d 100644 --- a/.sauce/dev.yml +++ b/.sauce/dev.yml @@ -11,7 +11,7 @@ env: EDGE_BASE_PATH: ee-pre-prd NPM_PACKAGE_VERSION: $NPM_PACKAGE_VERSION testcafe: - version: 3.6.0 + version: 3.7.0 nodeVersion: "22" speed: 1 pageLoadTimeout: 5000 diff --git a/.sauce/ee-prd.yml b/.sauce/ee-prd.yml index bf0df1bc7..ff78389e4 100644 --- a/.sauce/ee-prd.yml +++ b/.sauce/ee-prd.yml @@ -12,7 +12,7 @@ env: ALLOY_PROD_VERSION: $ALLOY_PROD_VERSION NPM_PACKAGE_VERSION: $NPM_PACKAGE_VERSION testcafe: - version: 3.6.0 + version: 3.7.0 nodeVersion: "22" speed: 1 pageLoadTimeout: 3000 diff --git a/.sauce/pre-edge-deploy.yml b/.sauce/pre-edge-deploy.yml index 589236370..ba58fb5ac 100644 --- a/.sauce/pre-edge-deploy.yml +++ b/.sauce/pre-edge-deploy.yml @@ -13,7 +13,7 @@ env: ALLOY_PROD_VERSION: $ALLOY_PROD_VERSION NPM_PACKAGE_VERSION: $NPM_PACKAGE_VERSION testcafe: - version: 3.6.0 + version: 3.7.0 nodeVersion: "22" speed: 1 pageLoadTimeout: 3000 diff --git a/.sauce/pre-prod-upstreams.yml b/.sauce/pre-prod-upstreams.yml index a252d1603..70e7e352c 100644 --- a/.sauce/pre-prod-upstreams.yml +++ b/.sauce/pre-prod-upstreams.yml @@ -13,7 +13,7 @@ env: ALLOY_PROD_VERSION: $ALLOY_PROD_VERSION NPM_PACKAGE_VERSION: $NPM_PACKAGE_VERSION testcafe: - version: 3.6.0 + version: 3.7.0 nodeVersion: "22" speed: 1 pageLoadTimeout: 3000 diff --git a/package-lock.json b/package-lock.json index 7945b12d0..8d262b5df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -82,7 +82,7 @@ "semver": "^7.6.3", "staged-git-files": "^1.3.0", "start-server-and-test": "^2.0.8", - "testcafe": "^3.6.2", + "testcafe": "^3.7.0", "testcafe-browser-provider-saucelabs": "^3.0.0", "testcafe-reporter-junit": "^3.0.2", "testcafe-reporter-saucelabs": "^3.5.1", @@ -495,19 +495,6 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", @@ -780,44 +767,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-decorators": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", @@ -836,45 +785,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", @@ -887,19 +797,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-decorators": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", @@ -1004,19 +901,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", @@ -17459,23 +17343,24 @@ "license": "MIT" }, "node_modules/testcafe": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/testcafe/-/testcafe-3.6.2.tgz", - "integrity": "sha512-y7PGzuSQt82iSJNYkN7/78PsviyFZOSQDYkHXb8UFj7BKCgrLONxZ+WZ5uk5tb1tHU/sKTHkWTwVJHkGXIamVg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/testcafe/-/testcafe-3.7.0.tgz", + "integrity": "sha512-e77yuzX/1eSqb6ctE0oW+PJbgsA975Ui8xYiVAFTQjZnt9oZixB7gEgbwRdIls5EEWmtcxJ5tvqTm1rPBsrOvA==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.23.2", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-decorators": "^7.23.2", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", "@babel/plugin-transform-exponentiation-operator": "^7.22.5", "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-runtime": "7.23.3", "@babel/preset-env": "^7.23.2", "@babel/preset-flow": "^7.22.15", @@ -17483,7 +17368,7 @@ "@babel/runtime": "^7.23.2", "@devexpress/bin-v8-flags-filter": "^1.3.0", "@devexpress/callsite-record": "^4.1.6", - "@types/node": "^20.14.5", + "@types/node": "20.14.5", "address": "^2.0.2", "async-exit-hook": "^1.1.2", "babel-plugin-module-resolver": "5.0.0", @@ -17499,6 +17384,7 @@ "dedent": "^0.4.0", "del": "^3.0.0", "device-specs": "^1.0.0", + "devtools-protocol": "0.0.1109433", "diff": "^4.0.2", "elegant-spinner": "^1.0.1", "email-validator": "^2.0.4", @@ -17546,14 +17432,13 @@ "source-map-support": "^0.5.16", "strip-bom": "^2.0.0", "testcafe-browser-tools": "2.0.26", - "testcafe-hammerhead": "31.7.2", + "testcafe-hammerhead": "31.7.3", "testcafe-legacy-api": "5.1.8", "testcafe-reporter-json": "^2.1.0", "testcafe-reporter-list": "^2.2.0", "testcafe-reporter-minimal": "^2.2.0", "testcafe-reporter-spec": "^2.2.0", "testcafe-reporter-xunit": "^2.2.1", - "testcafe-safe-storage": "^1.1.1", "testcafe-selector-generator": "^0.1.0", "time-limit-promise": "^1.0.2", "tmp": "0.0.28", @@ -17921,9 +17806,9 @@ } }, "node_modules/testcafe-hammerhead": { - "version": "31.7.2", - "resolved": "https://registry.npmjs.org/testcafe-hammerhead/-/testcafe-hammerhead-31.7.2.tgz", - "integrity": "sha512-wjZ3Y4fXnew6WaoMhD7jTe/zrzSYJMLZulX+/pXS6xed9meUx7zzCSc5epPJEW8Xy3Zo09n7w+m7+2SDej0/Iw==", + "version": "31.7.3", + "resolved": "https://registry.npmjs.org/testcafe-hammerhead/-/testcafe-hammerhead-31.7.3.tgz", + "integrity": "sha512-LmldhnuUUNcel66z8hjwPkxGrA6jaGt6K9B8iuxOVVRuhpqFfmP3do5MeplK9NyPbIjkAW6WsHDu+nUM88IUsA==", "dev": true, "license": "MIT", "dependencies": { @@ -18247,17 +18132,6 @@ "dev": true, "license": "MIT" }, - "node_modules/testcafe-safe-storage": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/testcafe-safe-storage/-/testcafe-safe-storage-1.1.6.tgz", - "integrity": "sha512-WFm1UcmO3uZs+uW8lYtBBJpnrvgTKkMQMKG9BvTEKbjeqhonEXVTxOkGEs3DM1ZB/ylPuwh7Jux7qUtjcM/D2Q==", - "deprecated": "The testcafe-safe-storage package has reached end-of-life and will not receive further updates.", - "dev": true, - "license": "MIT", - "workspaces": [ - "test" - ] - }, "node_modules/testcafe-selector-generator": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/testcafe-selector-generator/-/testcafe-selector-generator-0.1.0.tgz", @@ -18313,6 +18187,16 @@ "semver": "bin/semver.js" } }, + "node_modules/testcafe/node_modules/@types/node": { + "version": "20.14.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.5.tgz", + "integrity": "sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/testcafe/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -18449,6 +18333,13 @@ "node": ">=0.12" } }, + "node_modules/testcafe/node_modules/devtools-protocol": { + "version": "0.0.1109433", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1109433.tgz", + "integrity": "sha512-w1Eqih66egbSr2eOoGZ+NsdF7HdxmKDo3pKFBySEGsmVvwWWNXzNCDcKrbFnd23Jf7kH1M806OfelXwu+Jk11g==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/testcafe/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", diff --git a/package.json b/package.json index dd3cb860e..a6e680b77 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "test:unit:watch": "karma start", "test:unit:saucelabs:local": "karma start karma.saucelabs.conf.cjs --single-run", "test:unit:coverage": "karma start --single-run --reporters spec,coverage", - "test:functional": "EDGE_BASE_PATH=\"ee-pre-prd\" ALLOY_ENV=\"int\" testcafe chrome", + "test:functional": "EDGE_BASE_PATH=\"ee-pre-prd\" ALLOY_ENV=\"int\" testcafe chrome,safari,firefox", "test:functional:custom": "node scripts/helpers/runFunctionalTests.js", "test:functional:saucelabs:dev": "NPM_PACKAGE_VERSION=$(npm pkg get version | tr -d '\"') EDGE_BASE_PATH=\"ee-pre-prd\" ALLOY_ENV=\"int\" saucectl run --config ./.sauce/dev.yml", "test:functional:watch": "EDGE_BASE_PATH=\"ee-pre-prd\" ALLOY_ENV=\"int\" ./scripts/watchFunctionalTests.js --browsers chrome", @@ -141,7 +141,7 @@ "semver": "^7.6.3", "staged-git-files": "^1.3.0", "start-server-and-test": "^2.0.8", - "testcafe": "^3.6.2", + "testcafe": "^3.7.0", "testcafe-browser-provider-saucelabs": "^3.0.0", "testcafe-reporter-junit": "^3.0.2", "testcafe-reporter-saucelabs": "^3.5.1",