From c4c51331152b002298d6c120aaddb023b75810eb Mon Sep 17 00:00:00 2001 From: regexowl Date: Thu, 4 Jan 2024 14:37:40 +0100 Subject: [PATCH 1/6] deps: Clean up Jest dependencies and install vitest This removes dependencies that were installed because of Jest and installs dependencies needed by vitest. --- package-lock.json | 2184 +++++++++++++++++++++++++++++++++++++++------ package.json | 43 +- 2 files changed, 1923 insertions(+), 304 deletions(-) diff --git a/package-lock.json b/package-lock.json index f356d3104..206e85236 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,13 +43,14 @@ "@testing-library/jest-dom": "6.1.5", "@testing-library/react": "14.1.2", "@testing-library/user-event": "14.5.1", - "@types/jest": "29.5.11", + "@types/node-fetch": "2.6.10", "@types/react": "18.2.36", "@types/react-dom": "18.2.17", "@types/react-redux": "7.1.31", "@typescript-eslint/eslint-plugin": "6.14.0", "@typescript-eslint/parser": "6.13.0", - "babel-jest": "29.7.0", + "@vitejs/plugin-react": "4.2.0", + "@vitest/coverage-v8": "0.34.6", "babel-plugin-dual-import": "1.2.1", "babel-plugin-transform-imports": "2.0.0", "chart.js": "4.4.1", @@ -59,7 +60,6 @@ "css-loader": "6.8.1", "eslint": "8.55.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest-dom": "5.1.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "4.6.0", @@ -67,10 +67,7 @@ "git-revision-webpack-plugin": "5.0.0", "history": "5.3.0", "identity-obj-proxy": "3.0.0", - "jest": "29.7.0", - "jest-canvas-mock": "2.5.2", - "jest-environment-jsdom": "29.7.0", - "jest-fail-on-console": "3.1.2", + "jsdom": "22.1.0", "moment": "2.29.4", "msw": "1.2.3", "npm-run-all": "4.1.5", @@ -85,6 +82,7 @@ "ts-node": "10.9.2", "typescript": "5.1.6", "uuid": "9.0.0", + "vitest": "0.34.6", "webpack-bundle-analyzer": "4.10.1", "whatwg-fetch": "3.6.20" }, @@ -688,6 +686,8 @@ "version": "7.8.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1560,6 +1560,36 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "7.23.3", "dev": true, @@ -2228,6 +2258,374 @@ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz", "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==" }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -2382,6 +2780,8 @@ "version": "1.1.0", "dev": true, "license": "ISC", + "optional": true, + "peer": true, "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2397,6 +2797,8 @@ "version": "1.0.10", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -2405,6 +2807,8 @@ "version": "4.1.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2417,6 +2821,8 @@ "version": "3.14.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2429,6 +2835,8 @@ "version": "5.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -2440,6 +2848,8 @@ "version": "2.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "p-try": "^2.0.0" }, @@ -2454,6 +2864,8 @@ "version": "4.1.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -2473,6 +2885,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -2489,6 +2903,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -2503,6 +2919,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2518,6 +2936,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2528,12 +2948,16 @@ "node_modules/@jest/console/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@jest/console/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -2542,6 +2966,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -2553,6 +2979,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -2599,6 +3027,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -2613,6 +3043,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2628,6 +3060,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2638,12 +3072,16 @@ "node_modules/@jest/core/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -2652,7 +3090,9 @@ "version": "29.7.0", "dev": true, "license": "MIT", - "dependencies": { + "optional": true, + "peer": true, + "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" @@ -2665,6 +3105,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -2675,12 +3117,16 @@ "node_modules/@jest/core/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@jest/core/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -2692,6 +3138,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -2706,6 +3154,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -2718,6 +3168,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "jest-get-type": "^29.6.3" }, @@ -2729,6 +3181,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -2745,6 +3199,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -2759,6 +3215,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -2801,6 +3259,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -2815,6 +3275,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2830,6 +3292,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2840,12 +3304,16 @@ "node_modules/@jest/reporters/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -2854,6 +3322,8 @@ "version": "6.0.0", "dev": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -2869,6 +3339,8 @@ "version": "6.0.0", "dev": true, "license": "ISC", + "optional": true, + "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -2880,6 +3352,8 @@ "version": "7.5.4", "dev": true, "license": "ISC", + "optional": true, + "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -2894,6 +3368,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -2904,7 +3380,9 @@ "node_modules/@jest/reporters/node_modules/yallist": { "version": "4.0.0", "dev": true, - "license": "ISC" + "license": "ISC", + "optional": true, + "peer": true }, "node_modules/@jest/schemas": { "version": "29.6.3", @@ -2921,6 +3399,8 @@ "version": "29.6.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -2934,6 +3414,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -2948,6 +3430,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -2962,6 +3446,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -2987,6 +3473,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3001,6 +3489,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3016,6 +3506,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3026,17 +3518,23 @@ "node_modules/@jest/transform/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -3045,6 +3543,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3056,6 +3556,8 @@ "version": "29.6.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -3072,6 +3574,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3086,6 +3590,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3101,6 +3607,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3111,12 +3619,16 @@ "node_modules/@jest/types/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -3125,6 +3637,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3985,6 +4499,175 @@ "node": ">=14.0.0" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz", + "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz", + "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz", + "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz", + "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz", + "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz", + "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz", + "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz", + "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz", + "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz", + "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz", + "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz", + "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz", + "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rtk-query/codegen-openapi": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@rtk-query/codegen-openapi/-/codegen-openapi-1.2.0.tgz", @@ -4212,6 +4895,8 @@ "version": "3.0.0", "dev": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "dependencies": { "type-detect": "4.0.8" } @@ -4220,6 +4905,8 @@ "version": "10.3.0", "dev": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -4472,9 +5159,10 @@ "license": "MIT" }, "node_modules/@types/babel__core": { - "version": "7.20.2", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -4525,6 +5213,21 @@ "@types/node": "*" } }, + "node_modules/@types/chai": { + "version": "4.3.11", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", + "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==", + "dev": true + }, + "node_modules/@types/chai-subset": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.5.tgz", + "integrity": "sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==", + "dev": true, + "dependencies": { + "@types/chai": "*" + } + }, "node_modules/@types/connect": { "version": "3.4.36", "dev": true, @@ -4617,6 +5320,8 @@ "version": "4.1.7", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@types/node": "*" } @@ -4656,6 +5361,8 @@ "version": "3.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -4664,6 +5371,8 @@ "version": "3.0.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@types/istanbul-lib-report": "*" } @@ -4673,6 +5382,8 @@ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -4682,6 +5393,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -4693,6 +5406,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4705,23 +5420,15 @@ "node_modules/@types/jest/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@types/js-levenshtein": { "version": "1.1.1", "dev": true, "license": "MIT" }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, "node_modules/@types/json-schema": { "version": "7.0.13", "dev": true, @@ -4762,6 +5469,16 @@ "devOptional": true, "license": "MIT" }, + "node_modules/@types/node-fetch": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.10.tgz", + "integrity": "sha512-PPpPK6F9ALFTn59Ka3BaL+qGuipRfxNE8qVgkp0bVixeiR2c2/L+IVOiBdu9JhhT22sWnQEp6YyHGI2b2+CMcA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, "node_modules/@types/normalize-package-data": { "version": "2.4.2", "dev": true, @@ -4890,18 +5607,15 @@ "node_modules/@types/stack-utils": { "version": "2.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@types/tapable": { "version": "1.0.9", "dev": true, "license": "MIT" }, - "node_modules/@types/tough-cookie": { - "version": "4.0.3", - "dev": true, - "license": "MIT" - }, "node_modules/@types/uglify-js": { "version": "3.17.2", "dev": true, @@ -4965,6 +5679,8 @@ "version": "17.0.25", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -4972,7 +5688,9 @@ "node_modules/@types/yargs-parser": { "version": "21.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/@types/yauzl": { "version": "2.10.1", @@ -5534,45 +6252,248 @@ "unleash-proxy-client": "^3.2.0" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", + "node_modules/@vitejs/plugin-react": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.0.tgz", + "integrity": "sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@babel/core": "^7.23.3", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.4", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", + "node_modules/@vitest/coverage-v8": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-0.34.6.tgz", + "integrity": "sha512-fivy/OK2d/EsJFoEoxHFEnNGTg+MmdZBAVK9Ka4qhXR2K3J0DS08vcGVwzDtXSuUMabLv4KtPcpSKkcMXFDViw==", "dev": true, - "license": "MIT" + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.1.5", + "magic-string": "^0.30.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": ">=0.32.0 <1" + } }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", + "node_modules/@vitest/expect": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.6.tgz", + "integrity": "sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==", "dev": true, - "license": "MIT" + "dependencies": { + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", + "node_modules/@vitest/runner": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.6.tgz", + "integrity": "sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==", "dev": true, - "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "@vitest/utils": "0.34.6", + "p-limit": "^4.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, - "license": "MIT" - }, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.6.tgz", + "integrity": "sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vitest/snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/snapshot/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/@vitest/spy": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.6.tgz", + "integrity": "sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==", + "dev": true, + "dependencies": { + "tinyspy": "^2.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", + "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vitest/utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "dev": true, + "license": "MIT" + }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", "dev": true, @@ -5758,15 +6679,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, "node_modules/acorn-import-assertions": { "version": "1.9.0", "dev": true, @@ -6141,6 +7053,15 @@ "node": ">=0.8" } }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/ast-types-flow": { "version": "0.0.8", "dev": true, @@ -6271,6 +7192,8 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -6291,6 +7214,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -6305,6 +7230,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6320,6 +7247,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -6330,12 +7259,16 @@ "node_modules/babel-jest/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/babel-jest/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -6344,6 +7277,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -6426,6 +7361,8 @@ "version": "6.1.1", "dev": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -6441,6 +7378,8 @@ "version": "29.6.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -6516,6 +7455,8 @@ "version": "1.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -6538,6 +7479,8 @@ "version": "29.6.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -6785,6 +7728,8 @@ "version": "2.1.1", "dev": true, "license": "Apache-2.0", + "optional": true, + "peer": true, "dependencies": { "node-int64": "^0.4.0" } @@ -6838,6 +7783,15 @@ "node": ">= 0.8" } }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cachedir": { "version": "2.4.0", "license": "MIT", @@ -6884,6 +7838,8 @@ "version": "5.3.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -6952,6 +7908,24 @@ "license": "Apache-2.0", "peer": true }, + "node_modules/chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/chalk": { "version": "2.4.2", "dev": true, @@ -6969,6 +7943,8 @@ "version": "1.0.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" } @@ -7009,6 +7985,18 @@ "chart.js": ">=4.0.0" } }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, "node_modules/check-more-types": { "version": "2.24.0", "license": "MIT", @@ -7071,6 +8059,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -7078,7 +8067,9 @@ "node_modules/cjs-module-lexer": { "version": "1.2.3", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/classnames": { "version": "2.3.2", @@ -7286,6 +8277,8 @@ "version": "4.6.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -7294,7 +8287,9 @@ "node_modules/collect-v8-coverage": { "version": "1.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/color-convert": { "version": "1.9.3", @@ -7684,6 +8679,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -7704,6 +8701,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -7718,6 +8717,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -7733,6 +8734,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -7743,12 +8746,16 @@ "node_modules/create-jest/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/create-jest/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -7757,6 +8764,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7918,32 +8927,18 @@ "node": ">=4" } }, - "node_modules/cssfontparser": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/cssom": { - "version": "0.5.0", - "dev": true, - "license": "MIT" - }, "node_modules/cssstyle": { - "version": "2.3.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", "dev": true, - "license": "MIT", "dependencies": { - "cssom": "~0.3.6" + "rrweb-cssom": "^0.6.0" }, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "dev": true, - "license": "MIT" - }, "node_modules/csstype": { "version": "3.1.2", "license": "MIT" @@ -8166,16 +9161,17 @@ } }, "node_modules/data-urls": { - "version": "3.0.2", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", "dev": true, - "license": "MIT", "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "whatwg-url": "^12.0.0" }, "engines": { - "node": ">=12" + "node": ">=14" } }, "node_modules/date-fns": { @@ -8274,6 +9270,8 @@ "version": "1.5.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -8283,6 +9281,18 @@ } } }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/deep-equal": { "version": "2.2.2", "dev": true, @@ -8510,6 +9520,8 @@ "version": "3.1.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -8714,6 +9726,8 @@ "version": "0.13.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=12" }, @@ -8970,6 +9984,44 @@ "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", "dev": true }, + "node_modules/esbuild": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" + } + }, "node_modules/escalade": { "version": "3.1.1", "dev": true, @@ -8990,35 +10042,6 @@ "node": ">=0.8.0" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "dev": true, - "license": "BSD-2-Clause", - "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/escodegen/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint": { "version": "8.55.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", @@ -9177,29 +10200,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-jest-dom": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.16.3", - "requireindex": "^1.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6", - "yarn": ">=1" - }, - "peerDependencies": { - "@testing-library/dom": "^8.0.0 || ^9.0.0", - "eslint": "^6.8.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@testing-library/dom": { - "optional": true - } - } - }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.8.0", "dev": true, @@ -9806,6 +10806,8 @@ "node_modules/exit": { "version": "0.1.2", "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">= 0.8.0" } @@ -9814,6 +10816,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -10032,6 +11036,8 @@ "version": "2.0.2", "dev": true, "license": "Apache-2.0", + "optional": true, + "peer": true, "dependencies": { "bser": "2.1.1" } @@ -10443,6 +11449,20 @@ "version": "1.0.0", "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "license": "MIT", @@ -10491,6 +11511,15 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/get-intrinsic": { "version": "1.2.1", "license": "MIT", @@ -10508,6 +11537,8 @@ "version": "0.1.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8.0.0" } @@ -11710,6 +12741,8 @@ "version": "2.1.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -12103,6 +13136,8 @@ "version": "5.2.1", "dev": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -12239,6 +13274,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -12260,19 +13297,12 @@ } } }, - "node_modules/jest-canvas-mock": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cssfontparser": "^1.2.1", - "moo-color": "^1.0.2" - } - }, "node_modules/jest-changed-files": { "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -12286,6 +13316,8 @@ "version": "5.1.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -12308,6 +13340,8 @@ "version": "6.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -12319,6 +13353,8 @@ "version": "2.1.0", "dev": true, "license": "Apache-2.0", + "optional": true, + "peer": true, "engines": { "node": ">=10.17.0" } @@ -12327,6 +13363,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -12357,6 +13395,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12371,6 +13411,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12386,6 +13428,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12396,12 +13440,16 @@ "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -12410,6 +13458,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -12423,6 +13473,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -12433,12 +13485,16 @@ "node_modules/jest-circus/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-circus/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12450,6 +13506,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -12482,6 +13540,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12496,6 +13556,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12511,6 +13573,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12521,12 +13585,16 @@ "node_modules/jest-cli/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-cli/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -12535,6 +13603,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12546,6 +13616,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -12590,6 +13662,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12604,6 +13678,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12619,6 +13695,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12629,12 +13707,16 @@ "node_modules/jest-config/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -12643,6 +13725,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -12656,6 +13740,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -12666,12 +13752,16 @@ "node_modules/jest-config/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-config/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12683,6 +13773,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -12697,6 +13789,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12711,6 +13805,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12726,6 +13822,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12736,12 +13834,16 @@ "node_modules/jest-diff/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-diff/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -12750,6 +13852,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -12763,6 +13867,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -12773,12 +13879,16 @@ "node_modules/jest-diff/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-diff/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12790,6 +13900,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "detect-newline": "^3.0.0" }, @@ -12801,6 +13913,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -12816,6 +13930,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12830,6 +13946,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12845,6 +13963,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12855,12 +13975,16 @@ "node_modules/jest-each/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-each/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -12869,6 +13993,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -12882,6 +14008,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -12892,12 +14020,16 @@ "node_modules/jest-each/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-each/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12905,37 +14037,12 @@ "node": ">=8" } }, - "node_modules/jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, "node_modules/jest-environment-node": { "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -12948,16 +14055,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-fail-on-console": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jest-fail-on-console/-/jest-fail-on-console-3.1.2.tgz", - "integrity": "sha512-Z4TDJn/QvhlGflxyh8JyqRU3ovEvR2OD8rIsZU8zHJxjC9rto9XeLdqH+RPHY65Tc6riSXq1HK93uLMABaRpbg==", - "dev": true - }, "node_modules/jest-get-type": { "version": "29.6.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -12966,6 +14069,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -12990,6 +14095,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -13002,6 +14109,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -13013,6 +14122,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -13025,12 +14136,16 @@ "node_modules/jest-leak-detector/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-matcher-utils": { "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -13045,6 +14160,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13059,6 +14176,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13074,6 +14193,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13084,12 +14205,16 @@ "node_modules/jest-matcher-utils/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-matcher-utils/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13098,6 +14223,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -13111,6 +14238,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -13121,12 +14250,16 @@ "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-matcher-utils/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13138,6 +14271,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -13157,6 +14292,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13171,6 +14308,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13186,6 +14325,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13196,12 +14337,16 @@ "node_modules/jest-message-util/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-message-util/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13210,6 +14355,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -13223,6 +14370,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -13233,12 +14382,16 @@ "node_modules/jest-message-util/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-message-util/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13250,6 +14403,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -13263,6 +14418,8 @@ "version": "1.2.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=6" }, @@ -13279,6 +14436,8 @@ "version": "29.6.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -13287,6 +14446,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -13306,6 +14467,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -13318,6 +14481,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13332,6 +14497,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13347,6 +14514,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13357,12 +14526,16 @@ "node_modules/jest-resolve/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-resolve/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13371,6 +14544,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13382,6 +14557,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -13413,6 +14590,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13427,6 +14606,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13442,6 +14623,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13452,12 +14635,16 @@ "node_modules/jest-runner/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-runner/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13466,6 +14653,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13477,6 +14666,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -13509,6 +14700,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13523,6 +14716,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13538,6 +14733,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13548,12 +14745,16 @@ "node_modules/jest-runtime/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13562,6 +14763,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13573,6 +14776,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -13603,6 +14808,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13617,6 +14824,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13632,6 +14841,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13642,12 +14853,16 @@ "node_modules/jest-snapshot/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13656,6 +14871,8 @@ "version": "6.0.0", "dev": true, "license": "ISC", + "optional": true, + "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -13667,6 +14884,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -13680,6 +14899,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -13690,12 +14911,16 @@ "node_modules/jest-snapshot/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-snapshot/node_modules/semver": { "version": "7.5.4", "dev": true, "license": "ISC", + "optional": true, + "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -13710,6 +14935,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13720,12 +14947,16 @@ "node_modules/jest-snapshot/node_modules/yallist": { "version": "4.0.0", "dev": true, - "license": "ISC" + "license": "ISC", + "optional": true, + "peer": true }, "node_modules/jest-util": { "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -13742,6 +14973,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13756,6 +14989,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13771,6 +15006,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13781,12 +15018,16 @@ "node_modules/jest-util/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-util/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13795,6 +15036,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13806,6 +15049,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -13822,6 +15067,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13836,6 +15083,8 @@ "version": "6.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -13847,6 +15096,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13862,6 +15113,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13872,12 +15125,16 @@ "node_modules/jest-validate/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-validate/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13886,6 +15143,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -13899,6 +15158,8 @@ "version": "5.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -13909,12 +15170,16 @@ "node_modules/jest-validate/node_modules/react-is": { "version": "18.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -13926,6 +15191,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -13944,6 +15211,8 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13958,6 +15227,8 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13973,6 +15244,8 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13983,12 +15256,16 @@ "node_modules/jest-watcher/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/jest-watcher/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -13997,6 +15274,8 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -14008,6 +15287,8 @@ "version": "29.7.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -14022,6 +15303,8 @@ "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -14030,6 +15313,8 @@ "version": "8.1.1", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -14069,26 +15354,24 @@ "peer": true }, "node_modules/jsdom": { - "version": "20.0.3", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", "dev": true, - "license": "MIT", "dependencies": { "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", "domexception": "^4.0.0", - "escodegen": "^2.0.0", "form-data": "^4.0.0", "html-encoding-sniffer": "^3.0.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.1", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^4.1.2", @@ -14096,12 +15379,12 @@ "webidl-conversions": "^7.0.0", "whatwg-encoding": "^2.0.0", "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=16" }, "peerDependencies": { "canvas": "^2.5.0" @@ -14169,6 +15452,12 @@ "node": ">=6" } }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, "node_modules/jsonfile": { "version": "6.1.0", "license": "MIT", @@ -14398,6 +15687,8 @@ "version": "3.0.3", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -14453,6 +15744,8 @@ "version": "3.1.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -14623,6 +15916,18 @@ "node": ">=8.9.0" } }, + "node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "6.0.0", "dev": true, @@ -14815,6 +16120,15 @@ "loose-envify": "cli.js" } }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, "node_modules/lower-case": { "version": "2.0.2", "dev": true, @@ -14839,6 +16153,18 @@ "lz-string": "bin/bin.js" } }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/make-dir": { "version": "3.1.0", "dev": true, @@ -14862,6 +16188,8 @@ "version": "1.0.12", "dev": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "dependencies": { "tmpl": "1.0.5" } @@ -15253,6 +16581,18 @@ "node": ">=10" } }, + "node_modules/mlly": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" + } + }, "node_modules/moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -15262,19 +16602,6 @@ "node": "*" } }, - "node_modules/moo-color": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "^1.1.4" - } - }, - "node_modules/moo-color/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/mrmime": { "version": "1.0.1", "dev": true, @@ -15442,14 +16769,15 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.6", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -15555,7 +16883,9 @@ "node_modules/node-int64": { "version": "0.4.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/node-readfiles": { "version": "0.2.0", @@ -16306,6 +17636,21 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/pend": { "version": "1.2.0", "license": "MIT", @@ -16373,6 +17718,8 @@ "version": "4.0.6", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">= 6" } @@ -16436,6 +17783,17 @@ "node": ">=8" } }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, "node_modules/portfinder": { "version": "1.0.32", "dev": true, @@ -16477,7 +17835,9 @@ } }, "node_modules/postcss": { - "version": "8.4.30", + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", "funding": [ { "type": "opencollective", @@ -16492,9 +17852,8 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -16722,6 +18081,8 @@ "version": "2.4.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -16798,7 +18159,9 @@ "url": "https://opencollective.com/fast-check" } ], - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/qs": { "version": "6.10.4", @@ -17425,14 +18788,6 @@ "node": ">=0.10.0" } }, - "node_modules/requireindex": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.5" - } - }, "node_modules/requires-port": { "version": "1.0.0", "license": "MIT" @@ -17480,6 +18835,8 @@ "version": "2.0.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=10" } @@ -17528,6 +18885,41 @@ "rimraf": "bin.js" } }, + "node_modules/rollup": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz", + "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.2", + "@rollup/rollup-android-arm64": "4.9.2", + "@rollup/rollup-darwin-arm64": "4.9.2", + "@rollup/rollup-darwin-x64": "4.9.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.2", + "@rollup/rollup-linux-arm64-gnu": "4.9.2", + "@rollup/rollup-linux-arm64-musl": "4.9.2", + "@rollup/rollup-linux-riscv64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-musl": "4.9.2", + "@rollup/rollup-win32-arm64-msvc": "4.9.2", + "@rollup/rollup-win32-ia32-msvc": "4.9.2", + "@rollup/rollup-win32-x64-msvc": "4.9.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true + }, "node_modules/run-async": { "version": "2.4.1", "dev": true, @@ -18101,6 +19493,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "node_modules/signal-exit": { "version": "3.0.7", "license": "ISC" @@ -18121,7 +19519,9 @@ "node_modules/sisteransi": { "version": "1.0.5", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/slash": { "version": "3.0.0", @@ -18242,6 +19642,8 @@ "version": "0.5.13", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -18251,6 +19653,8 @@ "version": "0.6.1", "dev": true, "license": "BSD-3-Clause", + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -18349,6 +19753,8 @@ "version": "2.0.6", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -18360,10 +19766,18 @@ "version": "2.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, "node_modules/stackframe": { "version": "1.3.4", "dev": true, @@ -18377,6 +19791,12 @@ "node": ">= 0.8" } }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "dev": true, @@ -18414,6 +19834,8 @@ "version": "4.0.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -18529,6 +19951,8 @@ "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=8" } @@ -18562,6 +19986,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "dependencies": { + "acorn": "^8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/style-search": { "version": "0.1.0", "dev": true, @@ -19067,6 +20503,30 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, + "node_modules/tinybench": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", + "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", + "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", + "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/tmp": { "version": "0.2.1", "license": "MIT", @@ -19095,7 +20555,9 @@ "node_modules/tmpl": { "version": "1.0.5", "dev": true, - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "optional": true, + "peer": true }, "node_modules/to-fast-properties": { "version": "2.0.0", @@ -19157,14 +20619,15 @@ } }, "node_modules/tr46": { - "version": "3.0.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", "dev": true, - "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "punycode": "^2.3.0" }, "engines": { - "node": ">=12" + "node": ">=14" } }, "node_modules/tree-kill": { @@ -19539,6 +21002,12 @@ "node": ">=14.17" } }, + "node_modules/ufo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", + "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", + "dev": true + }, "node_modules/unbox-primitive": { "version": "1.0.2", "dev": true, @@ -19816,6 +21285,161 @@ "extsprintf": "^1.2.0" } }, + "node_modules/vite": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", + "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz", + "integrity": "sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", + "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", + "dev": true, + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", + "vite-node": "0.34.6", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", "dev": true, @@ -19831,6 +21455,8 @@ "version": "1.0.8", "dev": true, "license": "Apache-2.0", + "optional": true, + "peer": true, "dependencies": { "makeerror": "1.0.12" } @@ -20267,22 +21893,24 @@ }, "node_modules/whatwg-mimetype": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/whatwg-url": { - "version": "11.0.0", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", "dev": true, - "license": "MIT", "dependencies": { - "tr46": "^3.0.0", + "tr46": "^4.1.1", "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=14" } }, "node_modules/which": { @@ -20370,6 +21998,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wildcard": { "version": "2.0.1", "dev": true, @@ -20422,6 +22066,8 @@ "version": "4.0.2", "dev": true, "license": "ISC", + "optional": true, + "peer": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" diff --git a/package.json b/package.json index 5233906dd..320a97e4a 100644 --- a/package.json +++ b/package.json @@ -27,32 +27,6 @@ "redux": "4.2.1", "redux-promise-middleware": "6.1.3" }, - "jest": { - "coverageDirectory": "./coverage/", - "collectCoverage": true, - "collectCoverageFrom": [ - "src/**/*.js", - "!src/**/stories/*", - "!src/entry-dev.js" - ], - "testEnvironment": "jsdom", - "roots": [ - "/src/" - ], - "moduleNameMapper": { - "\\.(css|scss)$": "identity-obj-proxy" - }, - "transformIgnorePatterns": [ - "node_modules/(?!(@scalprum|@openshift|@redhat-cloud-services|lodash-es|uuid)/)" - ], - "setupFiles": [ - "jest-canvas-mock" - ], - "setupFilesAfterEnv": [ - "./src/test/jest.setup.js" - ], - "testTimeout": 10000 - }, "devDependencies": { "@babel/core": "7.23.6", "@babel/eslint-parser": "7.23.3", @@ -68,13 +42,14 @@ "@testing-library/jest-dom": "6.1.5", "@testing-library/react": "14.1.2", "@testing-library/user-event": "14.5.1", - "@types/jest": "29.5.11", + "@types/node-fetch": "2.6.10", "@types/react": "18.2.36", "@types/react-dom": "18.2.17", "@types/react-redux": "7.1.31", "@typescript-eslint/eslint-plugin": "6.14.0", "@typescript-eslint/parser": "6.13.0", - "babel-jest": "29.7.0", + "@vitejs/plugin-react": "4.2.0", + "@vitest/coverage-v8": "0.34.6", "babel-plugin-dual-import": "1.2.1", "babel-plugin-transform-imports": "2.0.0", "chart.js": "4.4.1", @@ -84,7 +59,6 @@ "css-loader": "6.8.1", "eslint": "8.55.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jest-dom": "5.1.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "4.6.0", @@ -92,10 +66,7 @@ "git-revision-webpack-plugin": "5.0.0", "history": "5.3.0", "identity-obj-proxy": "3.0.0", - "jest": "29.7.0", - "jest-canvas-mock": "2.5.2", - "jest-environment-jsdom": "29.7.0", - "jest-fail-on-console": "3.1.2", + "jsdom": "22.1.0", "moment": "2.29.4", "msw": "1.2.3", "npm-run-all": "4.1.5", @@ -110,6 +81,7 @@ "ts-node": "10.9.2", "typescript": "5.1.6", "uuid": "9.0.0", + "vitest": "0.34.6", "webpack-bundle-analyzer": "4.10.1", "whatwg-fetch": "3.6.20" }, @@ -126,8 +98,9 @@ "stage-beta:experimental": "EXPERIMENTAL=TRUE npm run stage-beta", "stage-beta:msw": "MSW=TRUE npm run stage-beta", "stage-beta:msw+experimental": "EXPERIMENTAL=TRUE npm run stage-beta:msw", - "test": "TZ=UTC jest --verbose --no-cache", - "test:single": "jest --verbose -w 1", + "test": "TZ=UTC vitest run", + "test:watch": "TZ=UTC vitest", + "test:coverage": "TZ=UTC vitest run --coverage", "build": "webpack --config config/prod.webpack.config.js", "api": "bash api.sh", "verify": "npm-run-all build lint test" From ab8574f9478f9f80e47e0cd012e755d4b5df2f1d Mon Sep 17 00:00:00 2001 From: regexowl Date: Thu, 4 Jan 2024 14:38:33 +0100 Subject: [PATCH 2/6] jest: Remove setup files This removes Jest setup files. --- jest.setup.js | 11 ------- src/test/jest.setup.js | 70 ------------------------------------------ 2 files changed, 81 deletions(-) delete mode 100644 jest.setup.js delete mode 100644 src/test/jest.setup.js diff --git a/jest.setup.js b/jest.setup.js deleted file mode 100644 index 40ce03c97..000000000 --- a/jest.setup.js +++ /dev/null @@ -1,11 +0,0 @@ -import 'whatwg-fetch'; -import { server } from './src/test/mocks/server'; - -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn(() => true), -})); - -beforeAll(() => server.listen()); -afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); diff --git a/src/test/jest.setup.js b/src/test/jest.setup.js deleted file mode 100644 index 48df49885..000000000 --- a/src/test/jest.setup.js +++ /dev/null @@ -1,70 +0,0 @@ -import 'whatwg-fetch'; -import failOnConsole from 'jest-fail-on-console'; - -import { server } from './mocks/server'; - -// ResizeObserver is needed for responsive Chart.js charts. -// As it's not defined in jsdom it needs to be mocked or polyfilled -// Following is the minimal mock implementation needed for -// the tests to run correctly -global.ResizeObserver = jest.fn().mockImplementation(() => ({ - observe: jest.fn(), - unobserve: jest.fn(), - disconnect: jest.fn(), -})); - -// or with options: -failOnConsole({ - shouldFailOnWarn: false, - silenceMessage: (errorMessage) => { - if ( - // Upgrading @patternfly/react-core caused propTypes error in Pf4FormTemplate - // https://github.com/data-driven-forms/react-forms/issues/1352 - errorMessage.includes( - 'Failed prop type: Invalid prop `FormWrapper` supplied to `FormTemplate`, expected one of type [function].' - ) - ) { - // eslint-disable-next-line no-console - console.log( - 'Suppressed error', - 'Failed prop type: Invalid prop `FormWrapper` supplied to `FormTemplate`, expected one of type [function]', - 'see [https://github.com/data-driven-forms/react-forms/issues/1352]' - ); - return true; - } - // TODO [2023-08] CreateImageWizard warnings to be fixed later. - if ( - errorMessage.includes('CreateImageWizard') && - (errorMessage.includes( - 'Cannot update a component (`ReactFinalForm`) while rendering a different component (`TargetEnvironment`)' - ) || - errorMessage.includes( - 'Cannot update a component (`TextField`) while rendering a different component (`TextField`). To locate the bad setState() call inside `TextField`' - ) || - errorMessage.includes( - 'Cannot update a component (`TextField`) while rendering a different component (`FormSpy`)' - ) || - errorMessage.includes( - "Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application." - ) || - // [2023-09] Suppresses an error that occurs on the GCP step of the Wizard. - errorMessage.includes( - 'Warning: Cannot update a component (`ForwardRef(Field)`) while rendering a different component (`Radio`). To locate the bad setState() call inside `Radio`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render' - )) - ) { - // eslint-disable-next-line no-console - console.warn(errorMessage); - return true; - } - return false; - }, -}); - -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn(() => true), -})); - -beforeAll(() => server.listen()); -afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); From 5ebd1c9ae81f28ee1a44cd819a0dad8a6b302cb8 Mon Sep 17 00:00:00 2001 From: regexowl Date: Thu, 4 Jan 2024 14:39:16 +0100 Subject: [PATCH 3/6] vitest: Add config and setup files This adds `vitest.config.ts` file which contains vitest configuration. --- src/test/setup.ts | 5 +++++ tsconfig.json | 1 + vitest.config.ts | 29 +++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 src/test/setup.ts create mode 100644 vitest.config.ts diff --git a/src/test/setup.ts b/src/test/setup.ts new file mode 100644 index 000000000..051dc11b4 --- /dev/null +++ b/src/test/setup.ts @@ -0,0 +1,5 @@ +import { server } from './mocks/server'; + +beforeAll(() => server.listen({ onUnhandledRequest: 'error' })); +afterAll(() => server.close()); +afterEach(() => server.resetHandlers()); diff --git a/tsconfig.json b/tsconfig.json index 8b5eee31f..1b66cd132 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,6 +7,7 @@ "jsx": "react-jsx", "allowJs": true, "moduleResolution": "node", + "types": ["vitest/globals", "@testing-library/jest-dom"], "strictNullChecks": true, "allowSyntheticDefaultImports": true } diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 000000000..047f09390 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,29 @@ +import react from '@vitejs/plugin-react'; + +const config = { + plugins: [react()], + test: { + globals: true, + environment: 'jsdom', + setupFiles: ['./src/test/setup.ts'], + coverage: { + provider: 'v8', + reporter: 'text', + }, + server: { + deps: { + inline: ['@patternfly', 'clsx'], + }, + }, + }, + resolve: { + mainFields: ['module'], + }, + esbuild: { + loader: 'tsx', + include: /src\/.*\.[tj]sx?$/, + exclude: [], + }, +}; + +export default config; From d3ce98c73653f0a2cf4ae0ecdd4f3dd150ca6cd5 Mon Sep 17 00:00:00 2001 From: regexowl Date: Thu, 4 Jan 2024 14:39:47 +0100 Subject: [PATCH 4/6] ESLint: Remove Jest rules --- .eslintrc.yml | 1 + src/test/.eslintrc | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.eslintrc.yml b/.eslintrc.yml index 7614396ea..f8c1fcb14 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -10,6 +10,7 @@ globals: shallow: readonly render: 'readonly' mount: 'readonly' + vi: true plugins: - import rules: diff --git a/src/test/.eslintrc b/src/test/.eslintrc index 4fccc1675..982c4636a 100644 --- a/src/test/.eslintrc +++ b/src/test/.eslintrc @@ -1,18 +1,15 @@ { "env": { - "jest": true, "es6": true }, "plugins": [ "testing-library", - "jest-dom" ], "rules": { "react/display-name": "off", "react/prop-types": "off" }, "extends": [ - "plugin:testing-library/react", - "plugin:jest-dom/recommended" + "plugin:testing-library/react" ] } From 1f498b28f695fe8158908e86827e618ab15bc66e Mon Sep 17 00:00:00 2001 From: regexowl Date: Thu, 4 Jan 2024 14:40:09 +0100 Subject: [PATCH 5/6] README: Update from Jest to vitest --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2bc531ad9..989d72f32 100644 --- a/README.md +++ b/README.md @@ -236,7 +236,7 @@ There are also additional rules added to enforce code style. Those being: ## Test Guidelines -This project is tested using the [Jest](https://jestjs.io/docs/getting-started) framework, [React Testing Library](https://testing-library.com/docs/react-testing-library/intro), and the [Mock Service Worker](https://mswjs.io/docs/) library. +This project is tested using the [vitest](https://vitest.dev/guide/) framework, [React Testing Library](https://testing-library.com/docs/react-testing-library/intro), and the [Mock Service Worker](https://mswjs.io/docs/) library. All UI contributions must also include a new test or update an existing test in order to maintain code coverage. From fb2deb76cecd74b6151403bd3bda382e6f2e87ec Mon Sep 17 00:00:00 2001 From: regexowl Date: Thu, 4 Jan 2024 14:41:58 +0100 Subject: [PATCH 6/6] test: Update test suites --- .../CreateImageWizard.azure.test.js | 5 ++--- .../CreateImageWizard.compliance.test.js | 12 +++++------ .../CreateImageWizard.content.test.js | 20 +++++++++---------- .../CreateImageWizard.test.js | 12 +++++------ .../formComponents/TargetEnvironment.test.js | 5 ++--- .../CreateImageWizard.test.tsx | 15 +++++++------- .../steps/ImageOutput/ImageOutput.test.tsx | 9 ++++++--- .../ImagesTable/ImagesTable.test.js | 13 +++++++----- .../LandingPage/LandingPage.test.js | 11 ++++++---- .../ShareImageModal/ShareImageModal.test.js | 7 +++++-- .../Components/edge/EdgeImagesTable.test.js | 8 +++----- src/test/Components/edge/ImageDetails.test.js | 8 +++----- 12 files changed, 63 insertions(+), 62 deletions(-) diff --git a/src/test/Components/CreateImageWizard/CreateImageWizard.azure.test.js b/src/test/Components/CreateImageWizard/CreateImageWizard.azure.test.js index 9606f6442..7744b9132 100644 --- a/src/test/Components/CreateImageWizard/CreateImageWizard.azure.test.js +++ b/src/test/Components/CreateImageWizard/CreateImageWizard.azure.test.js @@ -1,5 +1,4 @@ import React from 'react'; -import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -31,7 +30,7 @@ const routes = [ element: , }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -58,7 +57,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); router = undefined; server.resetHandlers(); }); diff --git a/src/test/Components/CreateImageWizard/CreateImageWizard.compliance.test.js b/src/test/Components/CreateImageWizard/CreateImageWizard.compliance.test.js index 71fc73f6e..915e3e000 100644 --- a/src/test/Components/CreateImageWizard/CreateImageWizard.compliance.test.js +++ b/src/test/Components/CreateImageWizard/CreateImageWizard.compliance.test.js @@ -1,7 +1,5 @@ import React from 'react'; -import '@testing-library/jest-dom'; - import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -28,7 +26,7 @@ const routes = [ }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -47,9 +45,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.wizard.oscap.enabled' ? true : false ), })); @@ -60,7 +58,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); describe('Step Compliance', () => { diff --git a/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js b/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js index b2dd541c5..55f89dfa2 100644 --- a/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js +++ b/src/test/Components/CreateImageWizard/CreateImageWizard.content.test.js @@ -1,7 +1,5 @@ import React from 'react'; -import '@testing-library/jest-dom'; - import { screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -39,7 +37,7 @@ const routes = [ let router = undefined; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -78,9 +76,9 @@ const searchForChosenPackages = async (searchbox, searchTerm) => { }; let mockContentSourcesEnabled; -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.enable-content-sources' ? mockContentSourcesEnabled : false @@ -94,7 +92,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); mockContentSourcesEnabled = true; }); @@ -356,7 +354,7 @@ describe('Step Packages', () => { await waitFor(() => expect(searchbox).toBeEnabled()); await user.click(searchbox); - const getPackages = jest + const getPackages = vi .spyOn(api, 'getPackages') .mockImplementation((distribution, architecture, search, limit) => { return limit @@ -379,7 +377,7 @@ describe('Step Packages', () => { await waitFor(() => expect(searchbox).toBeEnabled()); await user.click(searchbox); - const getPackages = jest + const getPackages = vi .spyOn(api, 'getPackages') .mockImplementation((distribution, architecture, search, limit) => { return limit @@ -408,7 +406,7 @@ describe('Step Packages', () => { await waitFor(() => expect(searchbox).toBeEnabled()); await user.click(searchbox); - const getPackages = jest + const getPackages = vi .spyOn(api, 'getPackages') .mockImplementation(() => Promise.resolve(mockPkgResultAlpha)); @@ -677,7 +675,7 @@ describe('Step Packages', () => { await waitFor(() => expect(searchbox).toBeEnabled()); await user.click(searchbox); - const getPackages = jest + const getPackages = vi .spyOn(api, 'getPackagesContentSources') .mockImplementation(() => Promise.resolve(mockPkgResultAlphaContentSources) diff --git a/src/test/Components/CreateImageWizard/CreateImageWizard.test.js b/src/test/Components/CreateImageWizard/CreateImageWizard.test.js index 130bd9c83..72cf2afea 100644 --- a/src/test/Components/CreateImageWizard/CreateImageWizard.test.js +++ b/src/test/Components/CreateImageWizard/CreateImageWizard.test.js @@ -1,7 +1,5 @@ import React from 'react'; -import '@testing-library/jest-dom'; - import { screen, waitFor, @@ -45,7 +43,7 @@ const routes = [ let router = undefined; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -64,9 +62,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.enable-content-sources' ? true : false ), })); @@ -105,7 +103,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); router = undefined; server.resetHandlers(); }); diff --git a/src/test/Components/CreateImageWizard/formComponents/TargetEnvironment.test.js b/src/test/Components/CreateImageWizard/formComponents/TargetEnvironment.test.js index c79bd44e1..533bad74c 100644 --- a/src/test/Components/CreateImageWizard/formComponents/TargetEnvironment.test.js +++ b/src/test/Components/CreateImageWizard/formComponents/TargetEnvironment.test.js @@ -1,5 +1,4 @@ import React from 'react'; -import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -16,7 +15,7 @@ const routes = [ element: , }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -41,7 +40,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); server.resetHandlers(); }); diff --git a/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx b/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx index 99891961a..8d292caa5 100644 --- a/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx +++ b/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx @@ -1,9 +1,8 @@ import React from 'react'; -import '@testing-library/jest-dom'; - import { screen, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import CreateImageWizard from '../../../Components/CreateImageWizardV2/CreateImageWizard'; import ShareImageModal from '../../../Components/ShareImageModal/ShareImageModal'; @@ -14,6 +13,8 @@ import { verifyCancelButton, } from '../../testUtils'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); + const routes = [ { path: 'insights/image-builder/*', @@ -29,7 +30,7 @@ const routes = [ }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -48,9 +49,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.enable-content-sources' ? true : false ), })); @@ -61,7 +62,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); server.resetHandlers(); }); diff --git a/src/test/Components/CreateImageWizardV2/steps/ImageOutput/ImageOutput.test.tsx b/src/test/Components/CreateImageWizardV2/steps/ImageOutput/ImageOutput.test.tsx index 089cb528c..d3fbcbda2 100644 --- a/src/test/Components/CreateImageWizardV2/steps/ImageOutput/ImageOutput.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/ImageOutput/ImageOutput.test.tsx @@ -1,8 +1,9 @@ import React from 'react'; -import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import '@testing-library/jest-dom'; +import nodeFetch, { Request, Response } from 'node-fetch'; import CreateImageWizard from '../../../../../Components/CreateImageWizardV2/CreateImageWizard'; import { AARCH64, RHEL_8, RHEL_9, X86_64 } from '../../../../../constants'; @@ -10,13 +11,15 @@ import { mockArchitecturesByDistro } from '../../../../fixtures/architectures'; import { server } from '../../../../mocks/server'; import { renderCustomRoutesWithReduxRouter } from '../../../../testUtils'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); + const routes = [ { path: 'insights/image-builder/imagewizard/:composeId?', element: , }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -41,7 +44,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); server.resetHandlers(); }); diff --git a/src/test/Components/ImagesTable/ImagesTable.test.js b/src/test/Components/ImagesTable/ImagesTable.test.js index 5b717e803..257c65325 100644 --- a/src/test/Components/ImagesTable/ImagesTable.test.js +++ b/src/test/Components/ImagesTable/ImagesTable.test.js @@ -1,7 +1,8 @@ +import '@testing-library/jest-dom'; import { screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; -import '@testing-library/jest-dom'; import { mockComposes, mockClones, @@ -9,7 +10,9 @@ import { } from '../../fixtures/composes'; import { renderWithReduxRouter } from '../../testUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => false, isProd: () => true, @@ -17,9 +20,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => (flag === 'edgeParity.image-list' ? false : true)), +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => (flag === 'edgeParity.image-list' ? false : true)), })); beforeAll(() => { diff --git a/src/test/Components/LandingPage/LandingPage.test.js b/src/test/Components/LandingPage/LandingPage.test.js index c07e50b4e..6a0fa2f02 100644 --- a/src/test/Components/LandingPage/LandingPage.test.js +++ b/src/test/Components/LandingPage/LandingPage.test.js @@ -1,12 +1,15 @@ import { screen } from '@testing-library/react'; import { rest } from 'msw'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { IMAGE_BUILDER_API } from '../../../constants.js'; import { mockComposesEmpty } from '../../fixtures/composes'; import { server } from '../../mocks/server.js'; import { renderWithReduxRouter } from '../../testUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => false, isProd: () => true, @@ -14,9 +17,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => (flag === 'edgeParity.image-list' ? false : true)), +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => (flag === 'edgeParity.image-list' ? false : true)), })); describe('Landing Page', () => { diff --git a/src/test/Components/ShareImageModal/ShareImageModal.test.js b/src/test/Components/ShareImageModal/ShareImageModal.test.js index 4fbaf023f..e7a2137b0 100644 --- a/src/test/Components/ShareImageModal/ShareImageModal.test.js +++ b/src/test/Components/ShareImageModal/ShareImageModal.test.js @@ -1,13 +1,16 @@ import React from 'react'; - import '@testing-library/jest-dom'; + import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import ShareImageModal from '../../../Components/ShareImageModal/ShareImageModal'; import { renderCustomRoutesWithReduxRouter } from '../../testUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => false, isProd: () => true, diff --git a/src/test/Components/edge/EdgeImagesTable.test.js b/src/test/Components/edge/EdgeImagesTable.test.js index abac6aa42..d801c8143 100644 --- a/src/test/Components/edge/EdgeImagesTable.test.js +++ b/src/test/Components/edge/EdgeImagesTable.test.js @@ -1,10 +1,8 @@ -import '@testing-library/jest-dom'; - import { useFlag } from '@unleash/proxy-client-react'; -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.edge.local-image-table' ? true : false ), })); diff --git a/src/test/Components/edge/ImageDetails.test.js b/src/test/Components/edge/ImageDetails.test.js index abac6aa42..d801c8143 100644 --- a/src/test/Components/edge/ImageDetails.test.js +++ b/src/test/Components/edge/ImageDetails.test.js @@ -1,10 +1,8 @@ -import '@testing-library/jest-dom'; - import { useFlag } from '@unleash/proxy-client-react'; -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.edge.local-image-table' ? true : false ), }));