diff --git a/visual-js/visual-snapshots/README.md b/visual-js/visual-snapshots/README.md index 3f882964..5f97eda7 100644 --- a/visual-js/visual-snapshots/README.md +++ b/visual-js/visual-snapshots/README.md @@ -2,6 +2,12 @@ This package provides a CLI tool to create Visual snapshots of a provided PDF document. +## Requirements + +```sh +node >= 18 +``` + ## Installation ```sh @@ -27,3 +33,8 @@ Run tests: ```sh npm run test ``` + +## Reusing pdf conversion code + +While it is possible to use `VisualSnapshotsApi` outside this package, please bear in mind it can only be used with ESM modules. +CommonJS modules are not supported. diff --git a/visual-js/visual-snapshots/package-lock.json b/visual-js/visual-snapshots/package-lock.json index 0c6c30db..761935e0 100644 --- a/visual-js/visual-snapshots/package-lock.json +++ b/visual-js/visual-snapshots/package-lock.json @@ -9,14 +9,18 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "commander": "^12.0.0" + "@saucelabs/visual": "0.13.0", + "commander": "^12.0.0", + "pdf-to-img": "4.4.0" + }, + "bin": { + "visual-snapshots": "lib/src/index.js" }, "devDependencies": { "@types/jest": "29.5.14", "eslint": "8.57.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "5.0.0", - "globals": "15.15.0", "jest": "29.7.0", "ts-jest": "29.2.5", "typescript": "^5.0.4", @@ -39,6 +43,47 @@ "node": ">=6.0.0" } }, + "node_modules/@apollo/client": { + "version": "3.13.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@apollo/client/-/client-3.13.1.tgz", + "integrity": "sha512-HaAt62h3jNUXpJ1v5HNgUiCzPP1c5zc2Q/FeTb2cTk/v09YlhoqKKHQFJI7St50VCJ5q8JVIc03I5bRcBrQxsg==", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@wry/caches": "^1.0.0", + "@wry/equality": "^0.5.6", + "@wry/trie": "^0.5.0", + "graphql-tag": "^2.12.6", + "hoist-non-react-statics": "^3.3.2", + "optimism": "^0.18.0", + "prop-types": "^15.7.2", + "rehackt": "^0.1.0", + "symbol-observable": "^4.0.0", + "ts-invariant": "^0.10.3", + "tslib": "^2.3.0", + "zen-observable-ts": "^1.2.5" + }, + "peerDependencies": { + "graphql": "^15.0.0 || ^16.0.0", + "graphql-ws": "^5.5.5 || ^6.0.3", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc", + "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" + }, + "peerDependenciesMeta": { + "graphql-ws": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "subscriptions-transport-ws": { + "optional": true + } + } + }, "node_modules/@babel/code-frame": { "version": "7.26.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@babel/code-frame/-/code-frame-7.26.2.tgz", @@ -496,6 +541,15 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", @@ -552,6 +606,14 @@ "node": ">=8" } }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.13.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", @@ -1014,6 +1076,84 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "optional": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1058,6 +1198,28 @@ "node": "^12.20.0 || ^14.18.0 || >=16.0.0" } }, + "node_modules/@saucelabs/visual": { + "version": "0.13.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@saucelabs/visual/-/visual-0.13.0.tgz", + "integrity": "sha512-MSbMZl3+u11JYFhm1V5jShXIIIEg4DbfqWSfrWLJJsHUJ3hKeYbJjjes7tXQ3Q9Pa5OwdlzcxDYinQDzecEXTw==", + "dependencies": { + "@apollo/client": "^3.7.14", + "@graphql-typed-document-node/core": "3.2.0", + "arktype": "^1.0.29-alpha", + "axios": "^1.7.4", + "chalk": "^4.0.0", + "cli-table3": "^0.6.3", + "commander": "^12.0.0", + "exponential-backoff": "^3.1.1", + "proxy-agent": "^6.3.1" + }, + "bin": { + "visual": "build/cli.js" + }, + "engines": { + "node": "^16.13 || >=18" + } + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -1082,6 +1244,11 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1384,6 +1551,56 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "dev": true }, + "node_modules/@wry/caches": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/caches/-/caches-1.0.1.tgz", + "integrity": "sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/context": { + "version": "0.7.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/context/-/context-0.7.4.tgz", + "integrity": "sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/equality": { + "version": "0.5.7", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/equality/-/equality-0.5.7.tgz", + "integrity": "sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/trie": { + "version": "0.5.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/trie/-/trie-0.5.0.tgz", + "integrity": "sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, "node_modules/acorn": { "version": "8.14.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/acorn/-/acorn-8.14.0.tgz", @@ -1405,6 +1622,14 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ajv/-/ajv-6.12.6.tgz", @@ -1442,7 +1667,6 @@ "version": "5.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -1451,7 +1675,6 @@ "version": "4.3.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -1472,18 +1695,69 @@ "node": ">= 8" } }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "optional": true + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/arktype": { + "version": "1.0.29-alpha", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/arktype/-/arktype-1.0.29-alpha.tgz", + "integrity": "sha512-glMLgVhIQRSkR3tymiS+POAcWVJH09sfrgic0jHnyFL8BlhHAJZX2BzdImU9zYr1y9NBqy+U93ZNrRTHXsKRDw==" + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.7.9", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/babel-jest/-/babel-jest-29.7.0.tgz", @@ -1598,13 +1872,36 @@ "version": "1.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "devOptional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "devOptional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1661,12 +1958,33 @@ "node-int64": "^0.4.0" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/callsites/-/callsites-3.1.0.tgz", @@ -1691,11 +2009,23 @@ "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", "dev": true }, + "node_modules/canvas": { + "version": "3.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/canvas/-/canvas-3.1.0.tgz", + "integrity": "sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1" + }, + "engines": { + "node": "^18.12.0 || >= 20.9.0" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1713,6 +2043,11 @@ "node": ">=10" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ci-info/-/ci-info-3.9.0.tgz", @@ -1728,6 +2063,20 @@ "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", "dev": true }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/cliui/-/cliui-8.0.1.tgz", @@ -1762,7 +2111,6 @@ "version": "2.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1773,8 +2121,27 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } }, "node_modules/commander": { "version": "12.1.0", @@ -1788,7 +2155,13 @@ "version": "0.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "devOptional": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "optional": true }, "node_modules/convert-source-map": { "version": "2.0.0", @@ -1831,11 +2204,18 @@ "node": ">= 8" } }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "engines": { + "node": ">= 14" + } + }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, "dependencies": { "ms": "^2.1.3" }, @@ -1848,6 +2228,17 @@ } } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/dedent": { "version": "1.5.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/dedent/-/dedent-1.5.3.tgz", @@ -1862,6 +2253,14 @@ } } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/deep-is/-/deep-is-0.1.4.tgz", @@ -1877,6 +2276,41 @@ "node": ">=0.10.0" } }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/detect-newline/-/detect-newline-3.1.0.tgz", @@ -1907,6 +2341,19 @@ "node": ">=6.0.0" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ejs/-/ejs-3.1.10.tgz", @@ -1940,8 +2387,15 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } }, "node_modules/error-ex": { "version": "1.3.2", @@ -1952,25 +2406,86 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { - "node": ">=10" + "node": ">= 0.4" } }, - "node_modules/eslint": { + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { "version": "8.57.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/eslint/-/eslint-8.57.1.tgz", "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", @@ -2122,7 +2637,6 @@ "version": "4.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2159,7 +2673,6 @@ "version": "5.3.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } @@ -2168,7 +2681,6 @@ "version": "2.0.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2202,6 +2714,14 @@ "node": ">= 0.8.0" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, "node_modules/expect": { "version": "29.7.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/expect/-/expect-29.7.0.tgz", @@ -2218,6 +2738,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/exponential-backoff": { + "version": "3.1.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2375,11 +2900,73 @@ "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "devOptional": true }, "node_modules/fsevents": { "version": "2.3.3", @@ -2395,8 +2982,28 @@ "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", @@ -2416,6 +3023,26 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-package-type/-/get-package-type-0.1.0.tgz", @@ -2425,6 +3052,18 @@ "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-stream/-/get-stream-6.0.1.tgz", @@ -2434,12 +3073,30 @@ "node": ">=10" } }, + "node_modules/get-uri": { + "version": "6.0.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-uri/-/get-uri-6.0.4.tgz", + "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, + "devOptional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2464,13 +3121,12 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", - "dev": true, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "engines": { - "node": ">=18" + "node": ">= 0.4" } }, "node_modules/graceful-fs": { @@ -2485,20 +3141,66 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/graphql": { + "version": "16.10.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "optional": true + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -2506,12 +3208,49 @@ "node": ">= 0.4" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/human-signals/-/human-signals-2.1.0.tgz", @@ -2521,6 +3260,11 @@ "node": ">=10.17.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ignore/-/ignore-5.3.2.tgz", @@ -2573,7 +3317,7 @@ "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, + "devOptional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2582,8 +3326,29 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" }, "node_modules/is-arrayish": { "version": "0.2.1", @@ -2616,7 +3381,6 @@ "version": "3.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -3335,8 +4099,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", @@ -3350,6 +4113,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/jsesc/-/jsesc-3.1.0.tgz", @@ -3468,6 +4236,17 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/lru-cache/-/lru-cache-5.1.1.tgz", @@ -3516,6 +4295,14 @@ "tmpl": "1.0.5" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/merge-stream/-/merge-stream-2.0.0.tgz", @@ -3544,6 +4331,25 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -3553,11 +4359,19 @@ "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "devOptional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3565,11 +4379,83 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/nan": { + "version": "2.22.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "optional": true + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -3577,8 +4463,63 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/node-int64": { - "version": "0.4.0", + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/node-abi": { + "version": "3.74.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-abi/-/node-abi-3.74.0.tgz", + "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "optional": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true @@ -3589,6 +4530,21 @@ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3610,11 +4566,31 @@ "node": ">=8" } }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } @@ -3631,6 +4607,17 @@ "node": ">=6" } }, + "node_modules/optimism": { + "version": "0.18.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/optimism/-/optimism-0.18.1.tgz", + "integrity": "sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==", + "dependencies": { + "@wry/caches": "^1.0.0", + "@wry/context": "^0.7.0", + "@wry/trie": "^0.5.0", + "tslib": "^2.3.0" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/optionator/-/optionator-0.9.4.tgz", @@ -3681,6 +4668,36 @@ "node": ">=6" } }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/parent-module/-/parent-module-1.0.1.tgz", @@ -3721,7 +4738,7 @@ "version": "1.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -3741,6 +4758,89 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path2d": { + "version": "0.2.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/path2d/-/path2d-0.2.2.tgz", + "integrity": "sha512-+vnG6S4dYcYxZd+CZxzXCNKdELYZSKfohrk98yajCo1PtRoDgCTrrwOvK1GT0UoAdVszagDVllQc0U1vaX4NUQ==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pdf-to-img": { + "version": "4.4.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pdf-to-img/-/pdf-to-img-4.4.0.tgz", + "integrity": "sha512-IRhRpx7dFZNwsao6yV+emUXC9Iz7CaBLUwEbCcGpHEI/frFJUYZ1SriKJNYrFCy4UbWH92anXWTatItKNSZ7hA==", + "dependencies": { + "canvas": "3.1.0", + "pdfjs-dist": "4.2.67" + }, + "bin": { + "pdf2img": "bin/cli.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/pdf-to-img/node_modules/decompress-response": { + "version": "4.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "optional": true, + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pdf-to-img/node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pdf-to-img/node_modules/pdfjs-dist": { + "version": "4.2.67", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pdfjs-dist/-/pdfjs-dist-4.2.67.tgz", + "integrity": "sha512-rJmuBDFpD7cqC8WIkQUEClyB4UAH05K4AsyewToMTp2gSy3Rrx8c1ydAVqlJlGv3yZSOrhEERQU/4ScQQFlLHA==", + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "canvas": "^2.11.2", + "path2d": "^0.2.0" + } + }, + "node_modules/pdf-to-img/node_modules/pdfjs-dist/node_modules/canvas": { + "version": "2.11.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/canvas/-/canvas-2.11.2.tgz", + "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.17.0", + "simple-get": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pdf-to-img/node_modules/simple-get": { + "version": "3.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "optional": true, + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/picocolors/-/picocolors-1.1.1.tgz", @@ -3826,6 +4926,31 @@ "node": ">=8" } }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -3896,6 +5021,61 @@ "node": ">= 6" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/punycode/-/punycode-2.3.1.tgz", @@ -3917,12 +5097,64 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-is": { "version": "18.3.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rehackt": { + "version": "0.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/rehackt/-/rehackt-0.1.0.tgz", + "integrity": "sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==", + "peerDependencies": { + "@types/react": "*", + "react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/require-directory/-/require-directory-2.1.1.tgz", @@ -4003,7 +5235,7 @@ "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, + "devOptional": true, "dependencies": { "glob": "^7.1.3" }, @@ -4020,6 +5252,11 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-6.3.1.tgz", @@ -4029,6 +5266,12 @@ "semver": "bin/semver.js" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "optional": true + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4054,7 +5297,22 @@ "version": "3.0.7", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "devOptional": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } }, "node_modules/sisteransi": { "version": "1.0.5", @@ -4071,11 +5329,46 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -4117,6 +5410,14 @@ "node": ">=8" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/string-length/-/string-length-4.0.2.tgz", @@ -4134,7 +5435,6 @@ "version": "4.2.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4148,7 +5448,6 @@ "version": "6.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4187,7 +5486,6 @@ "version": "7.2.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -4204,6 +5502,14 @@ "node": ">= 0.4" } }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/synckit": { "version": "0.8.8", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/synckit/-/synckit-0.8.8.tgz", @@ -4217,6 +5523,64 @@ "node": "^14.18.0 || >=16.0.0" } }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "optional": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tar-fs/-/tar-fs-2.1.2.tgz", + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/test-exclude/-/test-exclude-6.0.0.tgz", @@ -4255,6 +5619,12 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "optional": true + }, "node_modules/ts-api-utils": { "version": "2.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ts-api-utils/-/ts-api-utils-2.0.1.tgz", @@ -4267,6 +5637,17 @@ "typescript": ">=4.8.4" } }, + "node_modules/ts-invariant": { + "version": "0.10.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ts-invariant/-/ts-invariant-0.10.3.tgz", + "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ts-jest": { "version": "29.2.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ts-jest/-/ts-jest-29.2.5.tgz", @@ -4330,8 +5711,18 @@ "node_modules/tslib": { "version": "2.8.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } }, "node_modules/type-check": { "version": "0.4.0", @@ -4425,6 +5816,11 @@ "punycode": "^2.1.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -4448,6 +5844,22 @@ "makeerror": "1.0.12" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "optional": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "optional": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/which/-/which-2.0.2.tgz", @@ -4463,6 +5875,15 @@ "node": ">= 8" } }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/word-wrap/-/word-wrap-1.2.5.tgz", @@ -4489,8 +5910,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", @@ -4555,6 +5975,19 @@ "engines": { "node": ">=10" } + }, + "node_modules/zen-observable": { + "version": "0.8.15", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + }, + "node_modules/zen-observable-ts": { + "version": "1.2.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", + "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", + "dependencies": { + "zen-observable": "0.8.15" + } } }, "dependencies": { @@ -4568,6 +6001,26 @@ "@jridgewell/trace-mapping": "^0.3.24" } }, + "@apollo/client": { + "version": "3.13.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@apollo/client/-/client-3.13.1.tgz", + "integrity": "sha512-HaAt62h3jNUXpJ1v5HNgUiCzPP1c5zc2Q/FeTb2cTk/v09YlhoqKKHQFJI7St50VCJ5q8JVIc03I5bRcBrQxsg==", + "requires": { + "@graphql-typed-document-node/core": "^3.1.1", + "@wry/caches": "^1.0.0", + "@wry/equality": "^0.5.6", + "@wry/trie": "^0.5.0", + "graphql-tag": "^2.12.6", + "hoist-non-react-statics": "^3.3.2", + "optimism": "^0.18.0", + "prop-types": "^15.7.2", + "rehackt": "^0.1.0", + "symbol-observable": "^4.0.0", + "ts-invariant": "^0.10.3", + "tslib": "^2.3.0", + "zen-observable-ts": "^1.2.5" + } + }, "@babel/code-frame": { "version": "7.26.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@babel/code-frame/-/code-frame-7.26.2.tgz", @@ -4901,6 +6354,12 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true + }, "@eslint-community/eslint-utils": { "version": "4.4.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", @@ -4944,6 +6403,12 @@ } } }, + "@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "requires": {} + }, "@humanwhocodes/config-array": { "version": "0.13.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", @@ -5309,6 +6774,67 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "optional": true, + "requires": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "dependencies": { + "agent-base": { + "version": "6.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "requires": { + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "optional": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "optional": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "optional": true + } + } + }, + "semver": { + "version": "7.7.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "optional": true + } + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -5341,6 +6867,22 @@ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true }, + "@saucelabs/visual": { + "version": "0.13.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@saucelabs/visual/-/visual-0.13.0.tgz", + "integrity": "sha512-MSbMZl3+u11JYFhm1V5jShXIIIEg4DbfqWSfrWLJJsHUJ3hKeYbJjjes7tXQ3Q9Pa5OwdlzcxDYinQDzecEXTw==", + "requires": { + "@apollo/client": "^3.7.14", + "@graphql-typed-document-node/core": "3.2.0", + "arktype": "^1.0.29-alpha", + "axios": "^1.7.4", + "chalk": "^4.0.0", + "cli-table3": "^0.6.3", + "commander": "^12.0.0", + "exponential-backoff": "^3.1.1", + "proxy-agent": "^6.3.1" + } + }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -5365,6 +6907,11 @@ "@sinonjs/commons": "^3.0.0" } }, + "@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" + }, "@types/babel__core": { "version": "7.20.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -5615,6 +7162,44 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "dev": true }, + "@wry/caches": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/caches/-/caches-1.0.1.tgz", + "integrity": "sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@wry/context": { + "version": "0.7.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/context/-/context-0.7.4.tgz", + "integrity": "sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@wry/equality": { + "version": "0.5.7", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/equality/-/equality-0.5.7.tgz", + "integrity": "sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@wry/trie": { + "version": "0.5.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/@wry/trie/-/trie-0.5.0.tgz", + "integrity": "sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, "acorn": { "version": "8.14.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/acorn/-/acorn-8.14.0.tgz", @@ -5628,6 +7213,11 @@ "dev": true, "requires": {} }, + "agent-base": { + "version": "7.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==" + }, "ajv": { "version": "6.12.6", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ajv/-/ajv-6.12.6.tgz", @@ -5660,14 +7250,12 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -5682,18 +7270,62 @@ "picomatch": "^2.0.4" } }, + "aproba": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "optional": true + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, "argparse": { "version": "2.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "arktype": { + "version": "1.0.29-alpha", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/arktype/-/arktype-1.0.29-alpha.tgz", + "integrity": "sha512-glMLgVhIQRSkR3tymiS+POAcWVJH09sfrgic0jHnyFL8BlhHAJZX2BzdImU9zYr1y9NBqy+U93ZNrRTHXsKRDw==" + }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "requires": { + "tslib": "^2.0.1" + } + }, "async": { "version": "3.2.6", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.7.9", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "babel-jest": { "version": "29.7.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/babel-jest/-/babel-jest-29.7.0.tgz", @@ -5786,13 +7418,33 @@ "version": "1.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "devOptional": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "basic-ftp": { + "version": "5.0.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } }, "brace-expansion": { "version": "1.1.11", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "devOptional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5837,12 +7489,30 @@ "node-int64": "^0.4.0" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "buffer-from": { "version": "1.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/callsites/-/callsites-3.1.0.tgz", @@ -5861,11 +7531,19 @@ "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", "dev": true }, + "canvas": { + "version": "3.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/canvas/-/canvas-3.1.0.tgz", + "integrity": "sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==", + "requires": { + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5877,6 +7555,11 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, + "chownr": { + "version": "1.1.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, "ci-info": { "version": "3.9.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ci-info/-/ci-info-3.9.0.tgz", @@ -5889,6 +7572,15 @@ "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", "dev": true }, + "cli-table3": { + "version": "0.6.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, "cliui": { "version": "8.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/cliui/-/cliui-8.0.1.tgz", @@ -5916,7 +7608,6 @@ "version": "2.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -5924,8 +7615,21 @@ "color-name": { "version": "1.1.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "optional": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } }, "commander": { "version": "12.1.0", @@ -5936,7 +7640,13 @@ "version": "0.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "devOptional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "optional": true }, "convert-source-map": { "version": "2.0.0", @@ -5970,15 +7680,27 @@ "which": "^2.0.1" } }, + "data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==" + }, "debug": { "version": "4.4.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/debug/-/debug-4.4.0.tgz", "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, "requires": { "ms": "^2.1.3" } }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, "dedent": { "version": "1.5.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/dedent/-/dedent-1.5.3.tgz", @@ -5986,6 +7708,11 @@ "dev": true, "requires": {} }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, "deep-is": { "version": "0.1.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/deep-is/-/deep-is-0.1.4.tgz", @@ -5998,6 +7725,32 @@ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true }, + "degenerator": { + "version": "5.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "requires": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "detect-libc": { + "version": "2.0.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==" + }, "detect-newline": { "version": "3.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/detect-newline/-/detect-newline-3.1.0.tgz", @@ -6019,6 +7772,16 @@ "esutils": "^2.0.2" } }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "ejs": { "version": "3.1.10", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ejs/-/ejs-3.1.10.tgz", @@ -6043,8 +7806,15 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } }, "error-ex": { "version": "1.3.2", @@ -6055,6 +7825,35 @@ "is-arrayish": "^0.2.1" } }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "requires": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + } + }, "escalade": { "version": "3.2.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/escalade/-/escalade-3.2.0.tgz", @@ -6067,6 +7866,17 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, "eslint": { "version": "8.57.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/eslint/-/eslint-8.57.1.tgz", @@ -6177,8 +7987,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.6.0", @@ -6201,14 +8010,12 @@ "estraverse": { "version": "5.3.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" }, "esutils": { "version": "2.0.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "execa": { "version": "5.1.1", @@ -6233,6 +8040,11 @@ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" + }, "expect": { "version": "29.7.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/expect/-/expect-29.7.0.tgz", @@ -6246,6 +8058,11 @@ "jest-util": "^29.7.0" } }, + "exponential-backoff": { + "version": "3.1.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6386,11 +8203,58 @@ "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true }, + "follow-redirects": { + "version": "1.15.9", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" + }, + "form-data": { + "version": "4.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "optional": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + } + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "devOptional": true }, "fsevents": { "version": "2.3.3", @@ -6402,8 +8266,24 @@ "function-bind": { "version": "1.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "gauge": { + "version": "3.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "optional": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } }, "gensync": { "version": "1.0.0-beta.2", @@ -6417,23 +8297,64 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.2.7", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, "get-package-type": { "version": "0.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, "get-stream": { "version": "6.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, + "get-uri": { + "version": "6.0.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/get-uri/-/get-uri-6.0.4.tgz", + "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", + "requires": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, "glob": { "version": "7.2.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "devOptional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6452,11 +8373,10 @@ "is-glob": "^4.0.3" } }, - "globals": { - "version": "15.15.0", - "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", - "dev": true + "gopd": { + "version": "1.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" }, "graceful-fs": { "version": "4.2.11", @@ -6470,33 +8390,102 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "graphql": { + "version": "16.10.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==", + "peer": true + }, + "graphql-tag": { + "version": "2.12.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "requires": { + "tslib": "^2.1.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "optional": true }, "hasown": { "version": "2.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "requires": { "function-bind": "^1.1.2" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, "html-escaper": { "version": "2.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "requires": { + "agent-base": "^7.1.2", + "debug": "4" + } + }, "human-signals": { "version": "2.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore": { "version": "5.3.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ignore/-/ignore-5.3.2.tgz", @@ -6533,7 +8522,7 @@ "version": "1.0.6", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, + "devOptional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -6542,8 +8531,28 @@ "inherits": { "version": "2.0.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "ip-address": { + "version": "9.0.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + } + } }, "is-arrayish": { "version": "0.2.1", @@ -6569,8 +8578,7 @@ "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-generator-fn": { "version": "2.1.0", @@ -7119,8 +9127,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "4.1.0", @@ -7131,6 +9138,11 @@ "argparse": "^2.0.1" } }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "jsesc": { "version": "3.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/jsesc/-/jsesc-3.1.0.tgz", @@ -7225,6 +9237,14 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/lru-cache/-/lru-cache-5.1.1.tgz", @@ -7266,6 +9286,11 @@ "tmpl": "1.0.5" } }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, "merge-stream": { "version": "2.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7288,26 +9313,103 @@ "picomatch": "^2.3.1" } }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, "mimic-fn": { "version": "2.1.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, "minimatch": { "version": "3.1.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "devOptional": true, "requires": { "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "minipass": { + "version": "5.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "optional": true + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "optional": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "optional": true + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "ms": { "version": "2.1.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "nan": { + "version": "2.22.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "optional": true + }, + "napi-build-utils": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" }, "natural-compare": { "version": "1.4.0", @@ -7315,6 +9417,40 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "netmask": { + "version": "2.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" + }, + "node-abi": { + "version": "3.74.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-abi/-/node-abi-3.74.0.tgz", + "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==", + "requires": { + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.7.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==" + } + } + }, + "node-addon-api": { + "version": "7.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "optional": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "node-int64": { "version": "0.4.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/node-int64/-/node-int64-0.4.0.tgz", @@ -7327,6 +9463,15 @@ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, + "nopt": { + "version": "5.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "optional": true, + "requires": { + "abbrev": "1" + } + }, "normalize-path": { "version": "3.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/normalize-path/-/normalize-path-3.0.0.tgz", @@ -7342,11 +9487,27 @@ "path-key": "^3.0.0" } }, + "npmlog": { + "version": "5.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "optional": true, + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, "once": { "version": "1.4.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "requires": { "wrappy": "1" } @@ -7360,6 +9521,17 @@ "mimic-fn": "^2.1.0" } }, + "optimism": { + "version": "0.18.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/optimism/-/optimism-0.18.1.tgz", + "integrity": "sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==", + "requires": { + "@wry/caches": "^1.0.0", + "@wry/context": "^0.7.0", + "@wry/trie": "^0.5.0", + "tslib": "^2.3.0" + } + }, "optionator": { "version": "0.9.4", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/optionator/-/optionator-0.9.4.tgz", @@ -7398,6 +9570,30 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "requires": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + } + }, + "pac-resolver": { + "version": "7.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "requires": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + } + }, "parent-module": { "version": "1.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/parent-module/-/parent-module-1.0.1.tgz", @@ -7429,7 +9625,7 @@ "version": "1.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true + "devOptional": true }, "path-key": { "version": "3.1.1", @@ -7443,6 +9639,71 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path2d": { + "version": "0.2.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/path2d/-/path2d-0.2.2.tgz", + "integrity": "sha512-+vnG6S4dYcYxZd+CZxzXCNKdELYZSKfohrk98yajCo1PtRoDgCTrrwOvK1GT0UoAdVszagDVllQc0U1vaX4NUQ==", + "optional": true + }, + "pdf-to-img": { + "version": "4.4.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pdf-to-img/-/pdf-to-img-4.4.0.tgz", + "integrity": "sha512-IRhRpx7dFZNwsao6yV+emUXC9Iz7CaBLUwEbCcGpHEI/frFJUYZ1SriKJNYrFCy4UbWH92anXWTatItKNSZ7hA==", + "requires": { + "canvas": "3.1.0", + "pdfjs-dist": "4.2.67" + }, + "dependencies": { + "decompress-response": { + "version": "4.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "optional": true, + "requires": { + "mimic-response": "^2.0.0" + } + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "optional": true + }, + "pdfjs-dist": { + "version": "4.2.67", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pdfjs-dist/-/pdfjs-dist-4.2.67.tgz", + "integrity": "sha512-rJmuBDFpD7cqC8WIkQUEClyB4UAH05K4AsyewToMTp2gSy3Rrx8c1ydAVqlJlGv3yZSOrhEERQU/4ScQQFlLHA==", + "requires": { + "canvas": "^2.11.2", + "path2d": "^0.2.0" + }, + "dependencies": { + "canvas": { + "version": "2.11.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/canvas/-/canvas-2.11.2.tgz", + "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", + "optional": true, + "requires": { + "@mapbox/node-pre-gyp": "^1.0.0", + "nan": "^2.17.0", + "simple-get": "^3.0.3" + } + } + } + }, + "simple-get": { + "version": "3.1.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "optional": true, + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + } + } + }, "picocolors": { "version": "1.1.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/picocolors/-/picocolors-1.1.1.tgz", @@ -7509,6 +9770,25 @@ } } }, + "prebuild-install": { + "version": "7.1.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -7560,6 +9840,59 @@ "sisteransi": "^1.0.5" } }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "proxy-agent": { + "version": "6.5.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "requires": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "pump": { + "version": "3.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.3.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/punycode/-/punycode-2.3.1.tgz", @@ -7578,12 +9911,46 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "rc": { + "version": "1.2.8", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + } + } + }, "react-is": { "version": "18.3.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "rehackt": { + "version": "0.1.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/rehackt/-/rehackt-0.1.0.tgz", + "integrity": "sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==", + "requires": {} + }, "require-directory": { "version": "2.1.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/require-directory/-/require-directory-2.1.1.tgz", @@ -7640,7 +10007,7 @@ "version": "3.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, + "devOptional": true, "requires": { "glob": "^7.1.3" } @@ -7654,12 +10021,23 @@ "queue-microtask": "^1.2.2" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, "semver": { "version": "6.3.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "optional": true + }, "shebang-command": { "version": "2.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7679,7 +10057,22 @@ "version": "3.0.7", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "devOptional": true + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } }, "sisteransi": { "version": "1.0.5", @@ -7693,11 +10086,35 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks": { + "version": "2.8.4", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "requires": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "requires": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "devOptional": true }, "source-map-support": { "version": "0.5.13", @@ -7732,6 +10149,14 @@ } } }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-length": { "version": "4.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/string-length/-/string-length-4.0.2.tgz", @@ -7746,7 +10171,6 @@ "version": "4.2.3", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -7757,7 +10181,6 @@ "version": "6.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -7784,7 +10207,6 @@ "version": "7.2.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -7795,6 +10217,11 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==" + }, "synckit": { "version": "0.8.8", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/synckit/-/synckit-0.8.8.tgz", @@ -7805,6 +10232,57 @@ "tslib": "^2.6.2" } }, + "tar": { + "version": "6.2.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "optional": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "optional": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + } + } + }, + "tar-fs": { + "version": "2.1.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tar-fs/-/tar-fs-2.1.2.tgz", + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, "test-exclude": { "version": "6.0.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/test-exclude/-/test-exclude-6.0.0.tgz", @@ -7837,6 +10315,12 @@ "is-number": "^7.0.0" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "optional": true + }, "ts-api-utils": { "version": "2.0.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ts-api-utils/-/ts-api-utils-2.0.1.tgz", @@ -7844,6 +10328,14 @@ "dev": true, "requires": {} }, + "ts-invariant": { + "version": "0.10.3", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ts-invariant/-/ts-invariant-0.10.3.tgz", + "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==", + "requires": { + "tslib": "^2.1.0" + } + }, "ts-jest": { "version": "29.2.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/ts-jest/-/ts-jest-29.2.5.tgz", @@ -7872,8 +10364,15 @@ "tslib": { "version": "2.8.1", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } }, "type-check": { "version": "0.4.0", @@ -7938,6 +10437,11 @@ "punycode": "^2.1.0" } }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, "v8-to-istanbul": { "version": "9.3.0", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", @@ -7958,6 +10462,22 @@ "makeerror": "1.0.12" } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "optional": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "optional": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/which/-/which-2.0.2.tgz", @@ -7967,6 +10487,15 @@ "isexe": "^2.0.0" } }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "word-wrap": { "version": "1.2.5", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/word-wrap/-/word-wrap-1.2.5.tgz", @@ -7987,8 +10516,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { "version": "4.0.2", @@ -8038,6 +10566,19 @@ "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true + }, + "zen-observable": { + "version": "0.8.15", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + }, + "zen-observable-ts": { + "version": "1.2.5", + "resolved": "https://artifactory.tools.saucelabs.net:443/artifactory/api/npm/all-npm/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", + "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", + "requires": { + "zen-observable": "0.8.15" + } } } } diff --git a/visual-js/visual-snapshots/package.json b/visual-js/visual-snapshots/package.json index 9a51c6bd..b277f1cf 100644 --- a/visual-js/visual-snapshots/package.json +++ b/visual-js/visual-snapshots/package.json @@ -2,16 +2,16 @@ "name": "@saucelabs/visual-snapshots", "description": "CLI which generates Visual snapshots from a data source such as pdf", "version": "0.1.0", - "main": "lib/index.js", + "main": "./lib/src/index.js", "license": "MIT", - "bin": "./lib/index.js", + "bin": "./lib/src/index.js", "files": [ "lib", "README.md" ], "type": "module", "engines": { - "node": "^16.13 || >=18" + "node": ">=18" }, "keywords": [ "saucelabs", @@ -24,10 +24,14 @@ "watch": "tsc-watch --declaration -p .", "lint": "eslint \"{src,test}/**/*.ts\"", "lint-fix": "eslint \"{src,test}/**/*.ts\" --fix", - "test": "jest" + "test": "jest", + "test-update-snapshots": "jest -u", + "test-with-coverage": "jest --collect-coverage" }, "dependencies": { - "commander": "^12.0.0" + "@saucelabs/visual": "^0.13.0", + "commander": "^12.0.0", + "pdf-to-img": "~4.4.0" }, "devDependencies": { "@types/jest": "29.5.14", diff --git a/visual-js/visual-snapshots/src/api/visual-client.ts b/visual-js/visual-snapshots/src/api/visual-client.ts new file mode 100644 index 00000000..b789fb3d --- /dev/null +++ b/visual-js/visual-snapshots/src/api/visual-client.ts @@ -0,0 +1,8 @@ +import { getApi, VisualConfig } from "@saucelabs/visual"; + +const clientVersion = "PKG_VERSION"; + +export const initializeVisualApi = (params: VisualConfig) => + getApi(params, { + userAgent: `visual-snapshots/${clientVersion}`, + }); diff --git a/visual-js/visual-snapshots/src/api/visual-snapshots-api.ts b/visual-js/visual-snapshots/src/api/visual-snapshots-api.ts new file mode 100644 index 00000000..4ef1bde6 --- /dev/null +++ b/visual-js/visual-snapshots/src/api/visual-snapshots-api.ts @@ -0,0 +1,93 @@ +import { BuildStatus, DiffingMethod, VisualApi } from "@saucelabs/visual"; + +export interface CreateVisualSnapshotsParams { + branch: string; + buildName: string; + defaultBranch: string; + project: string; + customId: string; + buildId: string; +} + +export class VisualSnapshotsApi { + private api: VisualApi; + + constructor(api: VisualApi) { + this.api = api; + } + + public async generateAndSendPdfFileSnapshots( + pdfFilePages: AsyncGenerator, + params: CreateVisualSnapshotsParams, + ) { + const buildId = await this.createBuild(params); + + let pageNumber = 1; + for await (const pdfPageImage of pdfFilePages) { + await this.uploadImageAndCreateSnapshot( + pdfPageImage, + buildId, + `page-${pageNumber}`, + ); + pageNumber++; + } + + await this.finishBuild(buildId); + } + + private async createBuild( + params: CreateVisualSnapshotsParams, + ): Promise { + const build = await this.api.createBuild({ + name: params.buildName, + branch: params.branch, + defaultBranch: params.defaultBranch, + project: params.project, + customId: params.customId, + }); + console.info(`Build ${build.id} created: ${build.url}`); + return build.id; + } + + private async uploadImageAndCreateSnapshot( + snapshot: Buffer, + buildId: string, + snapshotName: string, + ) { + const uploadId = await this.api.uploadSnapshot({ + buildId, + image: { data: snapshot }, + }); + + console.info(`Uploaded image to build ${buildId}: upload id=${uploadId}.`); + + await this.api.createSnapshot({ + buildId, + uploadId, + name: snapshotName, + diffingMethod: DiffingMethod.Balanced, + }); + + console.info(`Created a snapshot ${snapshotName} for build ${buildId}.`); + } + + private async finishBuild(buildId: string) { + await this.api.finishBuild({ + uuid: buildId, + }); + console.info(`Build ${buildId} finished.`); + + const buildStatus = (await this.api.buildStatus(buildId))!; + if ( + [BuildStatus.Running, BuildStatus.Queued].includes(buildStatus.status) + ) { + console.info( + `Build ${buildId} finished but snapshots haven't been compared yet. Check the build status in a few moments.`, + ); + } else { + console.info( + `Build ${buildId} finished (status=${buildStatus.status}, unapprovedCount=${buildStatus.unapprovedCount}, errorCount=${buildStatus.errorCount}).`, + ); + } + } +} diff --git a/visual-js/visual-snapshots/src/app/pdf-converter.ts b/visual-js/visual-snapshots/src/app/pdf-converter.ts new file mode 100644 index 00000000..e316ffa7 --- /dev/null +++ b/visual-js/visual-snapshots/src/app/pdf-converter.ts @@ -0,0 +1,11 @@ +import { pdf } from "pdf-to-img"; + +export class PdfConverter { + public async *convertPagesToImages( + pdfFilePath: string, + ): AsyncGenerator { + for await (const pdfPageImage of await pdf(pdfFilePath, { scale: 1 })) { + yield pdfPageImage; + } + } +} diff --git a/visual-js/visual-snapshots/src/app/pdf-handler.ts b/visual-js/visual-snapshots/src/app/pdf-handler.ts new file mode 100644 index 00000000..363bcdf6 --- /dev/null +++ b/visual-js/visual-snapshots/src/app/pdf-handler.ts @@ -0,0 +1,25 @@ +import { + CreateVisualSnapshotsParams, + VisualSnapshotsApi, +} from "../api/visual-snapshots-api.js"; +import { initializeVisualApi } from "../api/visual-client.js"; +import { PdfConverter } from "./pdf-converter.js"; +import { VisualConfig } from "@saucelabs/visual"; + +export interface PdfCommandParams + extends VisualConfig, + CreateVisualSnapshotsParams {} + +export class PdfCommandHandler { + public async handle(pdfFilePath: string, params: PdfCommandParams) { + const visualApi = initializeVisualApi(params); + const visualSnapshots = new VisualSnapshotsApi(visualApi); + const pdfConverter = new PdfConverter(); + + const pdfPageImages = pdfConverter.convertPagesToImages(pdfFilePath); + await visualSnapshots.generateAndSendPdfFileSnapshots( + pdfPageImages, + params, + ); + } +} diff --git a/visual-js/visual-snapshots/src/commands/options.ts b/visual-js/visual-snapshots/src/commands/options.ts index 5106bc57..a9346f7a 100644 --- a/visual-js/visual-snapshots/src/commands/options.ts +++ b/visual-js/visual-snapshots/src/commands/options.ts @@ -2,7 +2,7 @@ import { Option } from "commander"; import { EOL } from "os"; export const usernameOption = new Option( - "-u, --username ", + "-u, --user ", "Your Sauce Labs username. You can get this from the header of app.saucelabs.com." + EOL + "If not provided, SAUCE_USERNAME environment variable will be used.", @@ -11,7 +11,7 @@ export const usernameOption = new Option( .makeOptionMandatory(true); export const accessKeyOption = new Option( - "-k, --access-key ", + "-k, --key ", "Your Sauce Labs access key. You can get this from the header of app.saucelabs.com" + EOL + "If not provided, SAUCE_ACCESS_KEY environment variable will be used.", diff --git a/visual-js/visual-snapshots/src/commands/pdf.ts b/visual-js/visual-snapshots/src/commands/pdf.ts index 9fcf8501..9890b766 100644 --- a/visual-js/visual-snapshots/src/commands/pdf.ts +++ b/visual-js/visual-snapshots/src/commands/pdf.ts @@ -10,6 +10,7 @@ import { regionOption, usernameOption, } from "./options.js"; +import { PdfCommandHandler, PdfCommandParams } from "../app/pdf-handler.js"; export const pdfCommand = () => { return new Command() @@ -25,9 +26,14 @@ export const pdfCommand = () => { .addOption(projectOption) .addOption(buildIdOption) .addOption(customIdOption) - .action((pdfFilePath: string, options: Record) => { - console.info( - `Create snapshots of a pdf file: '${pdfFilePath}' with options: ${Object.entries(options)}`, - ); + .action((pdfFilePath: string, params: PdfCommandParams) => { + new PdfCommandHandler() + .handle(pdfFilePath, params) + .then(() => { + console.log("Successfully created PDF snapshots"); + }) + .catch((err) => { + console.error(`An error occured when creating PDF snapshots: ${err}`); + }); }); }; diff --git a/visual-js/visual-snapshots/test/api/__snapshots__/visual-api.spec.ts.snap b/visual-js/visual-snapshots/test/api/__snapshots__/visual-api.spec.ts.snap new file mode 100644 index 00000000..72dbb15f --- /dev/null +++ b/visual-js/visual-snapshots/test/api/__snapshots__/visual-api.spec.ts.snap @@ -0,0 +1,79 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`VisualSnapshots generateAndSendPdfFileSnapshots with params difffing finished 1`] = ` +[ + [ + "Build build-id created: http://build-url/build-id", + ], + [ + "Uploaded image to build build-id: upload id=upload-id-0.", + ], + [ + "Created a snapshot page-1 for build build-id.", + ], + [ + "Uploaded image to build build-id: upload id=upload-id-1.", + ], + [ + "Created a snapshot page-2 for build build-id.", + ], + [ + "Build build-id finished.", + ], + [ + "Build build-id finished (status=APPROVED, unapprovedCount=0, errorCount=0).", + ], +] +`; + +exports[`VisualSnapshots generateAndSendPdfFileSnapshots with params difffing unfinished 1`] = ` +[ + [ + "Build build-id created: http://build-url/build-id", + ], + [ + "Uploaded image to build build-id: upload id=upload-id-0.", + ], + [ + "Created a snapshot page-1 for build build-id.", + ], + [ + "Uploaded image to build build-id: upload id=upload-id-1.", + ], + [ + "Created a snapshot page-2 for build build-id.", + ], + [ + "Build build-id finished.", + ], + [ + "Build build-id finished but snapshots haven't been compared yet. Check the build status in a few moments.", + ], +] +`; + +exports[`VisualSnapshots generateAndSendPdfFileSnapshots without params 1`] = ` +[ + [ + "Build build-id created: http://build-url/build-id", + ], + [ + "Uploaded image to build build-id: upload id=upload-id-0.", + ], + [ + "Created a snapshot page-1 for build build-id.", + ], + [ + "Uploaded image to build build-id: upload id=upload-id-1.", + ], + [ + "Created a snapshot page-2 for build build-id.", + ], + [ + "Build build-id finished.", + ], + [ + "Build build-id finished (status=UNAPPROVED, unapprovedCount=2, errorCount=0).", + ], +] +`; diff --git a/visual-js/visual-snapshots/test/api/visual-api.spec.ts b/visual-js/visual-snapshots/test/api/visual-api.spec.ts new file mode 100644 index 00000000..8ed74ce7 --- /dev/null +++ b/visual-js/visual-snapshots/test/api/visual-api.spec.ts @@ -0,0 +1,160 @@ +import { BuildStatus, DiffingMethod, VisualApi } from "@saucelabs/visual"; +import { + CreateVisualSnapshotsParams, + VisualSnapshotsApi, +} from "../../src/api/visual-snapshots-api.js"; + +async function* pdfPagesGenerator(): AsyncGenerator { + for (let i = 0; i < 2; ++i) { + yield Promise.resolve(Buffer.from(`fake-image-buffer-${i}`)); + } +} + +describe("VisualSnapshots", () => { + describe("generateAndSendPdfFileSnapshots", () => { + const consoleInfoSpy = jest + .spyOn(console, "info") + .mockImplementation(() => {}); + + let pdfPages: AsyncGenerator; + + const createBuildMock = jest.fn(); + const uploadSnapshotMock = jest.fn(); + const createSnapshotMock = jest.fn(); + const finishBuildMock = jest.fn(); + const buildStatusMock = jest.fn(); + const visualApiMock: VisualApi = { + ...jest.requireActual("@saucelabs/visual"), + createBuild: createBuildMock, + uploadSnapshot: uploadSnapshotMock, + createSnapshot: createSnapshotMock, + finishBuild: finishBuildMock, + buildStatus: buildStatusMock, + }; + const visualSnapshots = new VisualSnapshotsApi(visualApiMock); + beforeEach(() => { + createBuildMock.mockReset(); + createBuildMock.mockReturnValueOnce( + Promise.resolve({ id: "build-id", url: "http://build-url/build-id" }), + ); + uploadSnapshotMock.mockReset(); + uploadSnapshotMock + .mockReturnValueOnce(Promise.resolve("upload-id-0")) + .mockReturnValueOnce(Promise.resolve("upload-id-1")); + createSnapshotMock.mockReset(); + finishBuildMock.mockReset(); + buildStatusMock.mockReset(); + consoleInfoSpy.mockReset(); + + pdfPages = pdfPagesGenerator(); + }); + + const assertSuccessfulPdfSnapshotsGeneration = ( + params: CreateVisualSnapshotsParams, + ) => { + expect(createBuildMock).toHaveBeenCalledWith({ + name: params.buildName, + branch: params.branch, + defaultBranch: params.defaultBranch, + project: params.project, + customId: params.customId, + }); + + expect(uploadSnapshotMock.mock.calls).toEqual([ + [ + { + buildId: "build-id", + image: { data: Buffer.from("fake-image-buffer-0") }, + }, + ], + [ + { + buildId: "build-id", + image: { data: Buffer.from("fake-image-buffer-1") }, + }, + ], + ]); + + expect(createSnapshotMock.mock.calls).toEqual([ + [ + { + diffingMethod: DiffingMethod.Balanced, + buildId: "build-id", + name: "page-1", + uploadId: "upload-id-0", + }, + ], + [ + { + diffingMethod: DiffingMethod.Balanced, + buildId: "build-id", + name: "page-2", + uploadId: "upload-id-1", + }, + ], + ]); + + expect(finishBuildMock).toHaveBeenCalledWith({ + uuid: "build-id", + }); + + expect(buildStatusMock).toHaveBeenCalledWith("build-id"); + + expect(consoleInfoSpy.mock.calls).toMatchSnapshot(); + }; + + describe("with params", () => { + const params = { + branch: "fake-branch", + buildName: "fake-build-name", + defaultBranch: "fake-default-branch", + project: "fake-project", + customId: "fake-custom-id", + buildId: "fake-build-id", + } as CreateVisualSnapshotsParams; + + test("difffing unfinished", async () => { + buildStatusMock.mockReturnValueOnce( + Promise.resolve({ + status: BuildStatus.Running, + unapprovedCount: 2, + errorCount: 0, + }), + ); + + await visualSnapshots.generateAndSendPdfFileSnapshots(pdfPages, params); + + assertSuccessfulPdfSnapshotsGeneration(params); + }); + + test("difffing finished", async () => { + buildStatusMock.mockReturnValueOnce( + Promise.resolve({ + status: BuildStatus.Approved, + unapprovedCount: 0, + errorCount: 0, + }), + ); + + await visualSnapshots.generateAndSendPdfFileSnapshots(pdfPages, params); + + assertSuccessfulPdfSnapshotsGeneration(params); + }); + }); + + test("without params", async () => { + buildStatusMock.mockReturnValueOnce( + Promise.resolve({ + status: BuildStatus.Unapproved, + unapprovedCount: 2, + errorCount: 0, + }), + ); + + const params = {} as CreateVisualSnapshotsParams; + await visualSnapshots.generateAndSendPdfFileSnapshots(pdfPages, params); + + assertSuccessfulPdfSnapshotsGeneration(params); + }); + }); +}); diff --git a/visual-js/visual-snapshots/test/api/visual-client.spec.ts b/visual-js/visual-snapshots/test/api/visual-client.spec.ts new file mode 100644 index 00000000..9d1e821e --- /dev/null +++ b/visual-js/visual-snapshots/test/api/visual-client.spec.ts @@ -0,0 +1,25 @@ +import { initializeVisualApi } from "../../src/api/visual-client.js"; +import * as sauceVisual from "@saucelabs/visual"; + +jest.mock("@saucelabs/visual", () => { + return { + getApi: jest.fn(), + }; +}); + +describe("visual api client", () => { + test("initializeVisualApi", async () => { + const getApiSpy = sauceVisual.getApi; + + const params = { + user: "fake-username", + key: "fake-access-key", + region: "us-west-1", + } as sauceVisual.VisualConfig; + initializeVisualApi(params); + + expect(getApiSpy).toHaveBeenCalledWith(params, { + userAgent: "visual-snapshots/PKG_VERSION", + }); + }); +}); diff --git a/visual-js/visual-snapshots/test/app/pdf-converter.spec.ts b/visual-js/visual-snapshots/test/app/pdf-converter.spec.ts new file mode 100644 index 00000000..5b00916b --- /dev/null +++ b/visual-js/visual-snapshots/test/app/pdf-converter.spec.ts @@ -0,0 +1,34 @@ +import { PdfConverter } from "../../src/app/pdf-converter.js"; + +jest.mock("pdf-to-img", () => { + async function* asyncIterable() { + for (let i = 0; i < 2; i++) { + yield `fake-image-buffer-${i}`; + } + } + + return { + pdf: asyncIterable, + }; +}); + +describe("PdfConverter", () => { + test("convertPagesToImages", async () => { + const pdfFilePath = "./fake-pdf-file-path.pdf"; + const pdfConverter = new PdfConverter(); + const pdfPageImagesGenerator = + await pdfConverter.convertPagesToImages(pdfFilePath); + + for (let i = 0; i < 2; ++i) { + const pdfPageImage = await pdfPageImagesGenerator.next(); + expect(pdfPageImage).toEqual({ + done: false, + value: `fake-image-buffer-${i}`, + }); + } + expect(await pdfPageImagesGenerator.next()).toEqual({ + done: true, + value: undefined, + }); + }); +});