From f10f863ac8ec2445cc03899cf979425fc3172171 Mon Sep 17 00:00:00 2001 From: david shibley Date: Wed, 16 Oct 2024 14:04:52 -0600 Subject: [PATCH] chore: remove vulnerable dependencies from Ecommerce app --- packages/ecommerce-app-base/package-lock.json | 2296 +++++++++++++++-- packages/ecommerce-app-base/package.json | 14 +- .../src/AdditionalDataRenderer/Container.tsx | 2 +- .../MetaDataRenderer/LinkDataItemRenderer.tsx | 2 +- .../MetaDataRenderer.spec.tsx | 4 +- .../MetaDataRenderer.stories.tsx | 2 +- .../MetaDataRenderer/MetaDataRenderer.tsx | 2 +- .../RawDataRenderer/RawDataRenderer.spec.tsx | 6 +- .../RawDataRenderer/RawDataRenderer.tsx | 2 +- .../src/AppConfig/AppConfig.spec.tsx | 4 +- .../src/AppConfig/AppConfig.tsx | 2 +- .../src/AppConfig/FieldSelector.tsx | 2 +- .../OrchestrationEapNote.tsx | 2 +- .../ecommerce-app-base/src/Editor/Field.tsx | 2 +- .../src/Editor/SortableComponent.spec.tsx | 17 +- .../src/Editor/SortableList.spec.tsx | 4 +- .../src/Editor/SortableListItem.spec.tsx | 3 +- .../LegacyProductCard/LegacyProductCard.tsx | 2 +- .../ProductCard/ProductCard.spec.tsx | 10 +- .../ProductCard/ProductCard/ProductCard.tsx | 2 +- .../ProductCardBody/ProductCardBody.spec.tsx | 11 +- .../ProductCardHeader.spec.tsx | 12 +- .../ProductCardHeader/ProductCardHeader.tsx | 2 +- .../ProductCardMenu/ProductCardMenu.spec.tsx | 12 +- .../ProductCard/ProductImage/ProductImage.tsx | 2 +- .../SkuPicker/Paginator/Paginator.spec.tsx | 3 +- .../src/SkuPicker/Paginator/Paginator.tsx | 2 +- .../ProductList/ProductList.spec.tsx | 3 +- .../src/SkuPicker/ProductList/ProductList.tsx | 2 +- .../ProductList/ProductListItem.spec.tsx | 3 +- .../SkuPicker/ProductList/ProductListItem.tsx | 2 +- .../OtherProductsCounter.tsx | 2 +- .../ProductSelectionList.spec.tsx | 3 +- .../ProductSelectionList.tsx | 2 +- .../ProductSelectionListItem.tsx | 2 +- .../src/SkuPicker/SkuPicker.spec.tsx | 33 +- .../src/SkuPicker/styles.ts | 2 +- .../src/__mocks__/mockSdk.ts | 11 +- .../{jest-setup.ts => test.setup.ts} | 0 packages/ecommerce-app-base/vitest.config.js | 11 + 40 files changed, 2180 insertions(+), 320 deletions(-) rename packages/ecommerce-app-base/{jest-setup.ts => test.setup.ts} (100%) create mode 100644 packages/ecommerce-app-base/vitest.config.js diff --git a/packages/ecommerce-app-base/package-lock.json b/packages/ecommerce-app-base/package-lock.json index b3435c024a..d5c7b524c9 100644 --- a/packages/ecommerce-app-base/package-lock.json +++ b/packages/ecommerce-app-base/package-lock.json @@ -16,10 +16,11 @@ "@contentful/react-apps-toolkit": "^1.2.16", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", + "@emotion/css": "^11.13.4", "@typescript-eslint/eslint-plugin": "^6.4.0", "contentful-management": "^10.0.0", - "emotion": "^10.0.0", - "lodash": "^4.0.0" + "lodash": "^4.0.0", + "vitest": "^2.1.3" }, "devDependencies": { "@babel/preset-env": "^7.22.10", @@ -36,10 +37,8 @@ "@storybook/testing-library": "^0.2.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "15.0.7", - "@types/jest": "27.5.0", "@types/lodash": "4.17.7", - "@types/node": "12.20.55", - "@types/react": "18.2.0", + "@types/react": "18.2.25", "@types/react-dom": "18.2.0", "@typescript-eslint/parser": "^6.4.0", "eslint": "7.32.0", @@ -47,7 +46,6 @@ "eslint-plugin-react": "^7.33.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-storybook": "^0.8.0", - "jest": "27.5.1", "react": "18.2.0", "react-dom": "18.2.0", "rimraf": "3.0.2", @@ -588,6 +586,7 @@ "version": "7.8.3", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -2082,7 +2081,8 @@ "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@colors/colors": { "version": "1.5.0", @@ -2868,6 +2868,96 @@ "react": ">=16.8.0" } }, + "node_modules/@emotion/babel-plugin": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", + "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.2.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/serialize": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", + "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", + "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==" + }, + "node_modules/@emotion/babel-plugin/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@emotion/cache": { "version": "10.0.29", "license": "MIT", @@ -2894,7 +2984,7 @@ "react": ">=16.3.0" } }, - "node_modules/@emotion/css": { + "node_modules/@emotion/core/node_modules/@emotion/css": { "version": "10.0.27", "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", @@ -2904,6 +2994,72 @@ "babel-plugin-emotion": "^10.0.27" } }, + "node_modules/@emotion/css": { + "version": "11.13.4", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-11.13.4.tgz", + "integrity": "sha512-CthbOD5EBw+iN0rfM96Tuv5kaZN4nxPyYDvGUs0bc7wZBBiU/0mse+l+0O9RshW2d+v5HH1cme+BAbLJ/3Folw==", + "dependencies": { + "@emotion/babel-plugin": "^11.12.0", + "@emotion/cache": "^11.13.0", + "@emotion/serialize": "^1.3.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0" + } + }, + "node_modules/@emotion/css/node_modules/@emotion/cache": { + "version": "11.13.1", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", + "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/css/node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/css/node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/css/node_modules/@emotion/serialize": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", + "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/css/node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" + }, + "node_modules/@emotion/css/node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" + }, + "node_modules/@emotion/css/node_modules/@emotion/utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", + "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==" + }, + "node_modules/@emotion/css/node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" + }, "node_modules/@emotion/hash": { "version": "0.8.0", "license": "MIT" @@ -2968,6 +3124,66 @@ "version": "0.2.5", "license": "MIT" }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/darwin-arm64": { "version": "0.18.20", "cpu": [ @@ -2983,104 +3199,374 @@ "node": ">=12" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=12" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "license": "MIT", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "license": "MIT", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 4" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "license": "(MIT OR CC0-1.0)", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@fal-works/esbuild-plugin-global-externals": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz", - "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", - "dev": true + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@figspec/components": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "lit": "^2.1.3" + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@figspec/react": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@figspec/components": "^1.0.1", - "@lit-labs/react": "^1.0.2" - }, - "peerDependencies": { - "react": "^16.14.0 || ^17.0.0 || ^18.0.0" + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@floating-ui/core": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", - "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@fal-works/esbuild-plugin-global-externals": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz", + "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", + "dev": true + }, + "node_modules/@figspec/components": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "lit": "^2.1.3" + } + }, + "node_modules/@figspec/react": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@figspec/components": "^1.0.1", + "@lit-labs/react": "^1.0.2" + }, + "peerDependencies": { + "react": "^16.14.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", + "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", "dev": true, "dependencies": { "@floating-ui/utils": "^0.2.0" @@ -3254,6 +3740,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -3270,6 +3757,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3285,6 +3773,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -3293,6 +3782,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3307,6 +3797,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3322,6 +3813,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3332,12 +3824,14 @@ "node_modules/@jest/console/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/console/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -3346,6 +3840,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3357,6 +3852,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", @@ -3403,6 +3899,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3418,6 +3915,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -3426,6 +3924,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3440,6 +3939,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3455,6 +3955,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3465,12 +3966,14 @@ "node_modules/@jest/core/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -3479,6 +3982,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3490,6 +3994,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", @@ -3504,6 +4009,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3519,6 +4025,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -3527,6 +4034,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3541,6 +4049,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3556,6 +4065,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3566,12 +4076,14 @@ "node_modules/@jest/environment/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/environment/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -3580,6 +4092,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3591,6 +4104,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@sinonjs/fake-timers": "^8.0.1", @@ -3607,6 +4121,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3622,6 +4137,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -3630,6 +4146,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3644,6 +4161,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3659,6 +4177,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3669,12 +4188,14 @@ "node_modules/@jest/fake-timers/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/fake-timers/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -3683,6 +4204,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3694,6 +4216,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", @@ -3707,6 +4230,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3722,6 +4246,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -3730,6 +4255,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3744,6 +4270,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3759,6 +4286,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3769,12 +4297,14 @@ "node_modules/@jest/globals/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/globals/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -3783,6 +4313,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3794,6 +4325,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", @@ -3837,6 +4369,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3852,6 +4385,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -3860,6 +4394,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3874,6 +4409,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3889,6 +4425,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3899,12 +4436,14 @@ "node_modules/@jest/reporters/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -3913,6 +4452,7 @@ "version": "0.6.1", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3921,6 +4461,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3944,6 +4485,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", @@ -3957,6 +4499,7 @@ "version": "0.6.1", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3965,6 +4508,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/console": "^27.5.1", "@jest/types": "^27.5.1", @@ -3979,6 +4523,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3994,6 +4539,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -4002,6 +4548,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -4016,6 +4563,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4031,6 +4579,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -4041,12 +4590,14 @@ "node_modules/@jest/test-result/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/test-result/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -4055,6 +4606,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -4066,6 +4618,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", @@ -4080,6 +4633,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", @@ -4105,6 +4659,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -4120,6 +4675,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -4128,6 +4684,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -4142,6 +4699,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4157,6 +4715,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -4167,12 +4726,14 @@ "node_modules/@jest/transform/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -4181,6 +4742,7 @@ "version": "0.6.1", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -4189,6 +4751,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -4315,15 +4878,16 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -5196,6 +5760,198 @@ "@babel/runtime": "^7.13.10" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", + "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", + "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", + "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", + "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", + "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", + "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", + "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", + "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", + "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", + "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", + "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", + "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", + "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", + "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", + "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", + "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@shikijs/core": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.9.1.tgz", @@ -5212,6 +5968,7 @@ "version": "1.8.3", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "type-detect": "4.0.8" } @@ -5220,6 +5977,7 @@ "version": "8.1.0", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -11121,8 +11879,9 @@ }, "node_modules/@tootallnate/once": { "version": "1.1.2", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 6" } @@ -11339,9 +12098,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "12.20.55", - "dev": true, - "license": "MIT" + "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "devOptional": true, + "dependencies": { + "undici-types": "~6.19.2" + } }, "node_modules/@types/node-fetch": { "version": "2.6.4", @@ -11352,6 +12115,12 @@ "form-data": "^3.0.0" } }, + "node_modules/@types/node/node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "devOptional": true + }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", @@ -11365,7 +12134,8 @@ "node_modules/@types/prettier": { "version": "2.4.3", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/pretty-hrtime": { "version": "1.0.1", @@ -11387,9 +12157,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.0.tgz", - "integrity": "sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==", + "version": "18.2.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.25.tgz", + "integrity": "sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -11449,7 +12219,8 @@ "node_modules/@types/stack-utils": { "version": "2.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", @@ -11702,6 +12473,80 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@vitest/expect": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.3.tgz", + "integrity": "sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==", + "dependencies": { + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/pretty-format": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.3.tgz", + "integrity": "sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==", + "dependencies": { + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.3.tgz", + "integrity": "sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==", + "dependencies": { + "@vitest/utils": "2.1.3", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.3.tgz", + "integrity": "sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==", + "dependencies": { + "@vitest/pretty-format": "2.1.3", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.3.tgz", + "integrity": "sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==", + "dependencies": { + "tinyspy": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.3.tgz", + "integrity": "sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==", + "dependencies": { + "@vitest/pretty-format": "2.1.3", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", @@ -11915,8 +12760,9 @@ }, "node_modules/abab": { "version": "2.0.5", - "dev": true, - "license": "BSD-3-Clause" + "devOptional": true, + "license": "BSD-3-Clause", + "peer": true }, "node_modules/accepts": { "version": "1.3.8", @@ -11943,8 +12789,9 @@ }, "node_modules/acorn-globals": { "version": "6.0.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -11952,8 +12799,9 @@ }, "node_modules/acorn-globals/node_modules/acorn": { "version": "7.4.1", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -11979,7 +12827,7 @@ }, "node_modules/acorn-walk": { "version": "7.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -11996,8 +12844,9 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "debug": "4" }, @@ -12091,6 +12940,7 @@ "version": "4.3.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -12328,6 +13178,14 @@ "util": "^0.12.5" } }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "engines": { + "node": ">=12" + } + }, "node_modules/astral-regex": { "version": "2.0.0", "license": "MIT", @@ -12410,6 +13268,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", @@ -12431,6 +13290,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -12446,6 +13306,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -12454,6 +13315,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12468,6 +13330,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12483,6 +13346,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12493,12 +13357,14 @@ "node_modules/babel-jest/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/babel-jest/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -12507,6 +13373,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12738,6 +13605,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -12804,6 +13672,7 @@ "version": "1.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -12826,6 +13695,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" @@ -12992,8 +13862,9 @@ }, "node_modules/browser-process-hrtime": { "version": "1.0.0", - "dev": true, - "license": "BSD-2-Clause" + "devOptional": true, + "license": "BSD-2-Clause", + "peer": true }, "node_modules/browserify-zlib": { "version": "0.1.4", @@ -13090,7 +13961,7 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/bytes": { @@ -13102,6 +13973,14 @@ "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==", + "engines": { + "node": ">=8" + } + }, "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -13175,6 +14054,21 @@ "node": ">=4" } }, + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/chalk": { "version": "2.4.2", "license": "MIT", @@ -13191,10 +14085,19 @@ "version": "1.0.2", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10" } }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "engines": { + "node": ">= 16" + } + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -13330,6 +14233,7 @@ "version": "7.0.4", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -13375,6 +14279,7 @@ "version": "4.6.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -13383,7 +14288,8 @@ "node_modules/collect-v8-coverage": { "version": "1.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/color-convert": { "version": "1.9.3", @@ -13416,7 +14322,7 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "devOptional": true }, "node_modules/common-path-prefix": { "version": "3.0.0", @@ -13780,13 +14686,15 @@ }, "node_modules/cssom": { "version": "0.4.4", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/cssstyle": { "version": "2.3.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "cssom": "~0.3.6" }, @@ -13796,8 +14704,9 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/csstype": { "version": "3.1.1", @@ -13805,8 +14714,9 @@ }, "node_modules/data-urls": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -13888,10 +14798,11 @@ "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==" }, "node_modules/debug": { - "version": "4.3.4", - "license": "MIT", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -13904,14 +14815,23 @@ }, "node_modules/decimal.js": { "version": "10.3.1", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/dedent": { "version": "0.7.0", "dev": true, "license": "MIT" }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/deep-equal": { "version": "2.2.2", "dev": true, @@ -14098,6 +15018,7 @@ "version": "3.1.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -14197,8 +15118,9 @@ }, "node_modules/domexception": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -14208,8 +15130,9 @@ }, "node_modules/domexception/node_modules/webidl-conversions": { "version": "5.0.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", + "peer": true, "engines": { "node": ">=8" } @@ -14371,6 +15294,7 @@ "version": "0.8.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -14725,6 +15649,342 @@ "esbuild": ">=0.12 <1" } }, + "node_modules/esbuild/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", @@ -14751,7 +16011,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, + "devOptional": true, "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -15334,6 +16594,19 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/estree-walker/node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + }, "node_modules/esutils": { "version": "2.0.3", "license": "BSD-2-Clause", @@ -15389,6 +16662,7 @@ "node_modules/exit": { "version": "0.1.2", "dev": true, + "peer": true, "engines": { "node": ">= 0.8.0" } @@ -15397,6 +16671,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -15411,6 +16686,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -15426,6 +16702,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -15434,6 +16711,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -15448,6 +16726,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -15463,6 +16742,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -15473,12 +16753,14 @@ "node_modules/expect/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/expect/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -15487,6 +16769,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -15495,6 +16778,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -16048,7 +17332,7 @@ }, "node_modules/form-data": { "version": "3.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -16138,9 +17422,10 @@ "license": "ISC" }, "node_modules/fsevents": { - "version": "2.3.2", - "dev": true, - "license": "MIT", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -16199,6 +17484,7 @@ "version": "2.0.5", "dev": true, "license": "ISC", + "peer": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -16555,8 +17841,9 @@ }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -16583,7 +17870,8 @@ "node_modules/html-escaper": { "version": "2.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/html-minifier-terser": { "version": "6.1.0", @@ -16663,8 +17951,9 @@ }, "node_modules/http-proxy-agent": { "version": "4.0.1", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -16676,8 +17965,9 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -16696,7 +17986,7 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -16769,6 +18059,7 @@ "version": "3.1.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -17037,6 +18328,7 @@ "version": "2.1.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -17169,8 +18461,9 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/is-regex": { "version": "1.1.4", @@ -17267,7 +18560,8 @@ "node_modules/is-typedarray": { "version": "1.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/is-unicode-supported": { "version": "0.1.0", @@ -17369,6 +18663,7 @@ "version": "3.0.0", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", @@ -17382,6 +18677,7 @@ "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -17390,6 +18686,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -17401,6 +18698,7 @@ "version": "4.0.1", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -17414,6 +18712,7 @@ "version": "0.6.1", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -17422,6 +18721,7 @@ "version": "3.1.4", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -17553,6 +18853,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -17577,6 +18878,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "execa": "^5.0.0", @@ -17590,6 +18892,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -17605,6 +18908,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -17613,6 +18917,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -17627,6 +18932,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17642,6 +18948,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -17652,12 +18959,14 @@ "node_modules/jest-changed-files/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-changed-files/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -17666,6 +18975,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -17677,6 +18987,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -17706,6 +19017,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -17721,6 +19033,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -17729,6 +19042,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -17743,6 +19057,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17758,6 +19073,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -17768,12 +19084,14 @@ "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -17782,6 +19100,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -17793,6 +19112,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.8.0", "@jest/test-sequencer": "^27.5.1", @@ -17835,6 +19155,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -17850,6 +19171,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -17858,6 +19180,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -17872,6 +19195,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17887,6 +19211,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -17897,12 +19222,14 @@ "node_modules/jest-config/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -17911,6 +19238,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -17919,6 +19247,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -17930,6 +19259,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "detect-newline": "^3.0.0" }, @@ -17941,6 +19271,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -17956,6 +19287,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -17971,6 +19303,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -17979,6 +19312,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -17993,6 +19327,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18008,6 +19343,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18018,12 +19354,14 @@ "node_modules/jest-each/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-each/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18032,6 +19370,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -18040,6 +19379,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18051,6 +19391,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -18068,6 +19409,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -18083,6 +19425,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -18091,6 +19434,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18105,6 +19449,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18120,6 +19465,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18130,12 +19476,14 @@ "node_modules/jest-environment-jsdom/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-environment-jsdom/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18144,6 +19492,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18155,6 +19504,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -18171,6 +19521,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -18186,6 +19537,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -18194,6 +19546,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18208,6 +19561,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18223,6 +19577,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18233,12 +19588,14 @@ "node_modules/jest-environment-node/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-environment-node/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18247,6 +19604,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18258,6 +19616,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", @@ -18283,6 +19642,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -18298,6 +19658,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -18306,6 +19667,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18320,6 +19682,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18335,6 +19698,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18345,12 +19709,14 @@ "node_modules/jest-haste-map/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-haste-map/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18359,6 +19725,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18370,6 +19737,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/source-map": "^27.5.1", @@ -18397,6 +19765,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -18412,6 +19781,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -18420,6 +19790,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18434,6 +19805,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18449,6 +19821,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18459,12 +19832,14 @@ "node_modules/jest-jasmine2/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-jasmine2/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18473,6 +19848,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18484,6 +19860,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" @@ -18496,6 +19873,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -18612,6 +19990,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -18631,6 +20010,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -18646,6 +20026,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -18654,6 +20035,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18668,6 +20050,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18683,6 +20066,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18693,12 +20077,14 @@ "node_modules/jest-message-util/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-message-util/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18707,6 +20093,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18817,6 +20204,7 @@ "version": "1.2.2", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6" }, @@ -18833,6 +20221,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -18841,6 +20230,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -18861,6 +20251,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "jest-regex-util": "^27.5.1", @@ -18874,6 +20265,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -18889,6 +20281,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -18897,6 +20290,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18911,6 +20305,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18926,6 +20321,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18936,12 +20332,14 @@ "node_modules/jest-resolve-dependencies/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-resolve-dependencies/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -18950,6 +20348,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18961,6 +20360,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -18976,6 +20376,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -18984,6 +20385,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18998,6 +20400,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19013,6 +20416,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -19023,12 +20427,14 @@ "node_modules/jest-resolve/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-resolve/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19037,6 +20443,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -19048,6 +20455,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/console": "^27.5.1", "@jest/environment": "^27.5.1", @@ -19079,6 +20487,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -19094,6 +20503,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -19102,6 +20512,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -19116,6 +20527,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19131,6 +20543,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -19141,12 +20554,14 @@ "node_modules/jest-runner/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-runner/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19155,6 +20570,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -19166,6 +20582,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -19198,6 +20615,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -19213,6 +20631,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -19221,6 +20640,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -19235,6 +20655,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19250,6 +20671,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -19260,12 +20682,14 @@ "node_modules/jest-runtime/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19274,6 +20698,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -19285,6 +20710,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.9" @@ -19297,6 +20723,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.7.2", "@babel/generator": "^7.7.2", @@ -19329,6 +20756,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -19344,6 +20772,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -19352,6 +20781,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -19366,6 +20796,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19381,6 +20812,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -19391,12 +20823,14 @@ "node_modules/jest-snapshot/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-snapshot/node_modules/diff-sequences": { "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -19405,6 +20839,7 @@ "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19413,6 +20848,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -19427,6 +20863,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -19435,6 +20872,7 @@ "version": "7.5.4", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -19449,6 +20887,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -19563,6 +21002,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "camelcase": "^6.2.0", @@ -19579,6 +21019,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -19594,6 +21035,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -19602,6 +21044,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -19616,6 +21059,7 @@ "version": "6.3.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -19627,6 +21071,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19642,6 +21087,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -19652,12 +21098,14 @@ "node_modules/jest-validate/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-validate/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19666,6 +21114,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -19674,6 +21123,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -19685,6 +21135,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", @@ -19702,6 +21153,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -19717,6 +21169,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -19725,6 +21178,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -19739,6 +21193,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19754,6 +21209,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -19764,12 +21220,14 @@ "node_modules/jest-watcher/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest-watcher/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19778,6 +21236,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -19824,6 +21283,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -19839,6 +21299,7 @@ "version": "16.0.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -19847,6 +21308,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -19861,6 +21323,7 @@ "version": "4.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -19876,6 +21339,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -19886,12 +21350,14 @@ "node_modules/jest/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/jest/node_modules/has-flag": { "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -19900,6 +21366,7 @@ "version": "27.5.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@jest/core": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -19933,6 +21400,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -20077,8 +21545,9 @@ }, "node_modules/jsdom": { "version": "16.7.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -20438,6 +21907,11 @@ "loose-envify": "cli.js" } }, + "node_modules/loupe": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==" + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -20471,15 +21945,11 @@ } }, "node_modules/magic-string": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", - "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", - "dev": true, + "version": "0.30.12", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { @@ -20773,14 +22243,14 @@ "dev": true }, "node_modules/ms": { - "version": "2.1.2", - "license": "MIT" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, "funding": [ { "type": "github", @@ -20948,8 +22418,9 @@ }, "node_modules/nwsapi": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/nypm": { "version": "0.3.8", @@ -21482,9 +22953,10 @@ } }, "node_modules/parse5": { - "version": "6.0.1", - "dev": true, - "license": "MIT" + "version": "6.0.1", + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/parseurl": { "version": "1.3.3", @@ -21578,8 +23050,15 @@ "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "engines": { + "node": ">= 14.16" + } }, "node_modules/peek-stream": { "version": "1.1.3", @@ -21599,9 +23078,9 @@ "dev": true }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -21664,10 +23143,9 @@ } }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "dev": true, + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -21684,8 +23162,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -21892,8 +23370,9 @@ }, "node_modules/psl": { "version": "1.8.0", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/pump": { "version": "3.0.0", @@ -22036,8 +23515,9 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -22677,6 +24157,7 @@ "version": "2.1.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -22698,8 +24179,9 @@ }, "node_modules/requires-port": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/resolve": { "version": "1.22.8", @@ -22721,6 +24203,7 @@ "version": "3.0.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "resolve-from": "^5.0.0" }, @@ -22740,6 +24223,7 @@ "version": "1.1.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10" } @@ -22778,6 +24262,45 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rollup": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", + "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.24.0", + "@rollup/rollup-android-arm64": "4.24.0", + "@rollup/rollup-darwin-arm64": "4.24.0", + "@rollup/rollup-darwin-x64": "4.24.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", + "@rollup/rollup-linux-arm-musleabihf": "4.24.0", + "@rollup/rollup-linux-arm64-gnu": "4.24.0", + "@rollup/rollup-linux-arm64-musl": "4.24.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", + "@rollup/rollup-linux-riscv64-gnu": "4.24.0", + "@rollup/rollup-linux-s390x-gnu": "4.24.0", + "@rollup/rollup-linux-x64-gnu": "4.24.0", + "@rollup/rollup-linux-x64-musl": "4.24.0", + "@rollup/rollup-win32-arm64-msvc": "4.24.0", + "@rollup/rollup-win32-ia32-msvc": "4.24.0", + "@rollup/rollup-win32-x64-msvc": "4.24.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + }, "node_modules/run-parallel": { "version": "1.2.0", "funding": [ @@ -22840,13 +24363,14 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/saxes": { "version": "5.0.1", - "dev": true, + "devOptional": true, "license": "ISC", + "peer": true, "dependencies": { "xmlchars": "^2.2.0" }, @@ -22936,12 +24460,6 @@ "node": ">= 0.8" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", @@ -23060,6 +24578,11 @@ "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==" + }, "node_modules/signal-exit": { "version": "3.0.7", "dev": true, @@ -23127,17 +24650,16 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.21", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -23146,7 +24668,7 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -23202,6 +24724,7 @@ "version": "2.0.5", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -23213,10 +24736,16 @@ "version": "2.0.0", "dev": true, "license": "MIT", + "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==" + }, "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", @@ -23232,6 +24761,11 @@ "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==" + }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "dev": true, @@ -23304,6 +24838,7 @@ "version": "4.0.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -23451,6 +24986,7 @@ "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -23500,6 +25036,11 @@ "webpack": "^5.0.0" } }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, "node_modules/supports-color": { "version": "5.5.0", "license": "MIT", @@ -23514,6 +25055,7 @@ "version": "2.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -23526,6 +25068,7 @@ "version": "4.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -23534,6 +25077,7 @@ "version": "7.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -23553,8 +25097,9 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/synchronous-promise": { "version": "2.0.17", @@ -23743,6 +25288,7 @@ "version": "2.1.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" @@ -23758,7 +25304,7 @@ "version": "5.27.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz", "integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -23826,7 +25372,8 @@ "node_modules/throat": { "version": "6.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/through2": { "version": "2.0.5", @@ -23873,6 +25420,40 @@ "dev": true, "license": "MIT" }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==" + }, + "node_modules/tinyexec": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", + "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==" + }, + "node_modules/tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/tmpl": { "version": "1.0.5", "dev": true, @@ -23913,8 +25494,9 @@ }, "node_modules/tough-cookie": { "version": "4.1.3", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -23927,8 +25509,9 @@ }, "node_modules/tr46": { "version": "2.1.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "punycode": "^2.1.1" }, @@ -24045,6 +25628,7 @@ "version": "4.0.8", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=4" } @@ -24053,6 +25637,7 @@ "version": "0.21.3", "dev": true, "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=10" }, @@ -24156,6 +25741,7 @@ "version": "3.1.5", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "is-typedarray": "^1.0.0" } @@ -24374,8 +25960,9 @@ }, "node_modules/universalify": { "version": "0.2.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4.0.0" } @@ -24468,8 +26055,9 @@ }, "node_modules/url-parse": { "version": "1.5.10", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -24586,6 +26174,7 @@ "version": "8.1.1", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", @@ -24599,6 +26188,7 @@ "version": "0.7.3", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">= 8" } @@ -24621,18 +26211,239 @@ "node": ">= 0.8" } }, + "node_modules/vite": { + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.9.tgz", + "integrity": "sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.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": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.3.tgz", + "integrity": "sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vitest": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.3.tgz", + "integrity": "sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==", + "dependencies": { + "@vitest/expect": "2.1.3", + "@vitest/mocker": "2.1.3", + "@vitest/pretty-format": "^2.1.3", + "@vitest/runner": "2.1.3", + "@vitest/snapshot": "2.1.3", + "@vitest/spy": "2.1.3", + "@vitest/utils": "2.1.3", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.3", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.3", + "@vitest/ui": "2.1.3", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/@vitest/mocker": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.3.tgz", + "integrity": "sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==", + "dependencies": { + "@vitest/spy": "2.1.3", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.3", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "browser-process-hrtime": "^1.0.0" } }, "node_modules/w3c-xmlserializer": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -24680,8 +26491,9 @@ }, "node_modules/webidl-conversions": { "version": "6.1.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", + "peer": true, "engines": { "node": ">=10.4" } @@ -24846,21 +26658,24 @@ }, "node_modules/whatwg-encoding": { "version": "1.0.5", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "iconv-lite": "0.4.24" } }, "node_modules/whatwg-mimetype": { "version": "2.3.0", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/whatwg-url": { "version": "8.7.0", - "dev": true, + "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -24957,6 +26772,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wordwrap": { "version": "1.0.0", "dev": true, @@ -24966,6 +26796,7 @@ "version": "7.0.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -25033,6 +26864,7 @@ "version": "4.3.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -25047,6 +26879,7 @@ "version": "2.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -25057,7 +26890,8 @@ "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/wrappy": { "version": "1.0.2", @@ -25067,6 +26901,7 @@ "version": "3.0.3", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -25078,7 +26913,8 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "dev": true, + "devOptional": true, + "peer": true, "engines": { "node": ">=8.3.0" }, @@ -25097,13 +26933,15 @@ }, "node_modules/xml-name-validator": { "version": "3.0.0", - "dev": true, - "license": "Apache-2.0" + "devOptional": true, + "license": "Apache-2.0", + "peer": true }, "node_modules/xmlchars": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "devOptional": true, + "license": "MIT", + "peer": true }, "node_modules/xtend": { "version": "4.0.2", @@ -25118,6 +26956,7 @@ "version": "5.0.8", "dev": true, "license": "ISC", + "peer": true, "engines": { "node": ">=10" } @@ -25137,6 +26976,7 @@ "version": "16.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", diff --git a/packages/ecommerce-app-base/package.json b/packages/ecommerce-app-base/package.json index a5e16ec0eb..a15d0ed288 100644 --- a/packages/ecommerce-app-base/package.json +++ b/packages/ecommerce-app-base/package.json @@ -29,10 +29,8 @@ "@storybook/testing-library": "^0.2.0", "@testing-library/jest-dom": "5.17.0", "@testing-library/react": "15.0.7", - "@types/jest": "27.5.0", "@types/lodash": "4.17.7", - "@types/node": "12.20.55", - "@types/react": "18.2.0", + "@types/react": "18.2.25", "@types/react-dom": "18.2.0", "@typescript-eslint/parser": "^6.4.0", "eslint": "7.32.0", @@ -40,7 +38,6 @@ "eslint-plugin-react": "^7.33.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-storybook": "^0.8.0", - "jest": "27.5.1", "react": "18.2.0", "react-dom": "18.2.0", "rimraf": "3.0.2", @@ -58,10 +55,11 @@ "@contentful/react-apps-toolkit": "^1.2.16", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", + "@emotion/css": "^11.13.4", "@typescript-eslint/eslint-plugin": "^6.4.0", "contentful-management": "^10.0.0", - "emotion": "^10.0.0", - "lodash": "^4.0.0" + "lodash": "^4.0.0", + "vitest": "^2.1.3" }, "peerDependencies": { "react": "^18.0.0", @@ -71,8 +69,8 @@ "build": "rimraf lib && tsc", "build:docs": "rimraf docs && typedoc", "prepublishOnly": "npm run build && npm run build:docs", - "test": "jest --watch", - "test:ci": "CI=true jest --runInBand", + "test": "vitest", + "test:ci": "CI=true vitest", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "lint": "eslint src" diff --git a/packages/ecommerce-app-base/src/AdditionalDataRenderer/Container.tsx b/packages/ecommerce-app-base/src/AdditionalDataRenderer/Container.tsx index 299b111f27..d9f2c199df 100644 --- a/packages/ecommerce-app-base/src/AdditionalDataRenderer/Container.tsx +++ b/packages/ecommerce-app-base/src/AdditionalDataRenderer/Container.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { FC, PropsWithChildren } from 'react'; import { Box } from '@contentful/f36-components'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import tokens from '@contentful/f36-tokens'; const styles = { diff --git a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/LinkDataItemRenderer.tsx b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/LinkDataItemRenderer.tsx index 9452d1d85a..a466f051f1 100644 --- a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/LinkDataItemRenderer.tsx +++ b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/LinkDataItemRenderer.tsx @@ -2,7 +2,7 @@ import type { FC } from 'react'; import { Caption, TextLink } from '@contentful/f36-components'; import { ExternalLinkIcon } from '@contentful/f36-icons'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; const styles = { textLink: css({ fontSize: tokens.fontSizeS }), diff --git a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.spec.tsx b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.spec.tsx index 5d74f956c0..f985529916 100644 --- a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.spec.tsx +++ b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.spec.tsx @@ -8,8 +8,8 @@ describe('A MetaDataRenderer', () => { ); const title = getByRole('heading'); - expect(title).toBeInTheDocument(); - expect(title).toHaveTextContent('hello world'); + expect(title).toBeTruthy(); + expect(title.innerHTML).toBe('hello world'); }); it('can render columns content', () => { diff --git a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.stories.tsx b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.stories.tsx index 4028a6fa27..84e3db86c0 100644 --- a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.stories.tsx +++ b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.stories.tsx @@ -3,7 +3,7 @@ import { columns } from '../../__mocks__/products'; import { MetaDataRenderer } from './MetaDataRenderer'; import { Box, Caption, TextLink } from '@contentful/f36-components'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; const meta: Meta = { title: 'AdditionalData/MetaDataRenderer', diff --git a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.tsx b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.tsx index 7ca0549194..238c67a667 100644 --- a/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.tsx +++ b/packages/ecommerce-app-base/src/AdditionalDataRenderer/MetaDataRenderer/MetaDataRenderer.tsx @@ -4,7 +4,7 @@ import { Box, Caption } from '@contentful/f36-components'; import { Row } from './Row'; import { Column } from './Column'; import { Container } from '../Container'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import tokens from '@contentful/f36-tokens'; type ItemData = { diff --git a/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.spec.tsx b/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.spec.tsx index 54bb7e90e1..d689286e39 100644 --- a/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.spec.tsx +++ b/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.spec.tsx @@ -8,13 +8,13 @@ describe('A RawDataRenderer', () => { it('provides a copy button', () => { const { getByRole } = render(); const button = getByRole('button'); - expect(button).toBeInTheDocument(); + expect(button).toBeTruthy(); }); it('displays a string representation of the data', () => { const { getByRole } = render(); const code = getByRole('document'); - expect(code).toBeInTheDocument(); - expect(code).toHaveTextContent('{ "hello": "world" }'); + expect(code).toBeTruthy(); + expect(code.innerHTML).toBe(JSON.stringify(VALUE, null, 2)); }); }); diff --git a/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.tsx b/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.tsx index 5c5af73b47..265b78bbaa 100644 --- a/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.tsx +++ b/packages/ecommerce-app-base/src/AdditionalDataRenderer/RawDataRenderer/RawDataRenderer.tsx @@ -2,7 +2,7 @@ import type { FC } from 'react'; import * as React from 'react'; import { CopyButton, Flex } from '@contentful/f36-components'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; const styles = { box: css({ diff --git a/packages/ecommerce-app-base/src/AppConfig/AppConfig.spec.tsx b/packages/ecommerce-app-base/src/AppConfig/AppConfig.spec.tsx index b2ea1a0997..85b3fe6d8c 100644 --- a/packages/ecommerce-app-base/src/AppConfig/AppConfig.spec.tsx +++ b/packages/ecommerce-app-base/src/AppConfig/AppConfig.spec.tsx @@ -145,7 +145,7 @@ describe('AppConfig', () => { screen.getByText(/The Some app app supports External references/) ); - expect(result).toHaveTextContent('The Some app app supports External references'); + expect(result.innerHTML).toBe('The Some app app supports External references'); }); it('hides the EAP orchestration note on click', async () => { @@ -158,7 +158,7 @@ describe('AppConfig', () => { await waitFor(() => { const hiddenNote = screen.queryByText(/The Some app app supports External references/); - expect(hiddenNote).not.toBeInTheDocument(); + expect(hiddenNote).not.toBeTruthy(); }); }); diff --git a/packages/ecommerce-app-base/src/AppConfig/AppConfig.tsx b/packages/ecommerce-app-base/src/AppConfig/AppConfig.tsx index 00fcf2c6d8..c7057a30a0 100644 --- a/packages/ecommerce-app-base/src/AppConfig/AppConfig.tsx +++ b/packages/ecommerce-app-base/src/AppConfig/AppConfig.tsx @@ -14,7 +14,7 @@ import { import { OrchestrationEapNote } from './OrchestrationEapNote'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import FieldSelector from './FieldSelector'; diff --git a/packages/ecommerce-app-base/src/AppConfig/FieldSelector.tsx b/packages/ecommerce-app-base/src/AppConfig/FieldSelector.tsx index a4d1ea6f1a..f2e8a6b44b 100644 --- a/packages/ecommerce-app-base/src/AppConfig/FieldSelector.tsx +++ b/packages/ecommerce-app-base/src/AppConfig/FieldSelector.tsx @@ -1,6 +1,6 @@ import { Checkbox, Flex, Form, Paragraph, Radio, Subheading } from '@contentful/f36-components'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import * as React from 'react'; import { Integration } from '../types'; import { CompatibleFields, ContentType, FieldsSkuTypes, SelectedFields } from './fields'; diff --git a/packages/ecommerce-app-base/src/AppConfig/OrchestrationEapNote/OrchestrationEapNote.tsx b/packages/ecommerce-app-base/src/AppConfig/OrchestrationEapNote/OrchestrationEapNote.tsx index 484cb86fc7..e7b060d8bb 100644 --- a/packages/ecommerce-app-base/src/AppConfig/OrchestrationEapNote/OrchestrationEapNote.tsx +++ b/packages/ecommerce-app-base/src/AppConfig/OrchestrationEapNote/OrchestrationEapNote.tsx @@ -1,7 +1,7 @@ import { Note, TextLink } from '@contentful/f36-components'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import { ExternalLinkIcon } from '@contentful/f36-icons'; const styles = { diff --git a/packages/ecommerce-app-base/src/Editor/Field.tsx b/packages/ecommerce-app-base/src/Editor/Field.tsx index df3b723a6b..c451917eda 100644 --- a/packages/ecommerce-app-base/src/Editor/Field.tsx +++ b/packages/ecommerce-app-base/src/Editor/Field.tsx @@ -1,7 +1,7 @@ import { Box, Button, Note } from '@contentful/f36-components'; import { ShoppingCartIcon } from '@contentful/f36-icons'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import { FC, useCallback, useEffect, useState } from 'react'; import { FieldsSkuTypes } from '../AppConfig/fields'; diff --git a/packages/ecommerce-app-base/src/Editor/SortableComponent.spec.tsx b/packages/ecommerce-app-base/src/Editor/SortableComponent.spec.tsx index a69fe64a7c..0a2941d662 100644 --- a/packages/ecommerce-app-base/src/Editor/SortableComponent.spec.tsx +++ b/packages/ecommerce-app-base/src/Editor/SortableComponent.spec.tsx @@ -4,6 +4,7 @@ import { SortableComponent } from './SortableComponent'; import { makeSdkMock, productsList } from '../__mocks__'; import { FieldAppSDK } from '@contentful/app-sdk'; import { ProductPreviewsFn } from '../types'; +import { vi } from 'vitest'; const mockSdk = makeSdkMock(); const skus = ['M0E20130820E90Z', 'A0E2300FX102203', 'M0E21300900DZN7']; @@ -15,15 +16,15 @@ describe('SortableComponent', () => { beforeEach(() => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - typescript is upset because jest.fn() returns a type different than ProductPreviewsFn - mockFetchProductPreviews = jest.fn().mockImplementation(() => { + // @ts-ignore - typescript is upset because vi.fn() returns a type different than ProductPreviewsFn + mockFetchProductPreviews = vi.fn().mockImplementation(() => { return Promise.resolve(productsList); }); }); afterEach(() => { cleanup(); - jest.resetAllMocks(); + vi.resetAllMocks(); }); it('calls `fetchProductPreviews()` to retrieve list of products for associated skus', async () => { @@ -34,7 +35,7 @@ describe('SortableComponent', () => { disabled={false} config={mockConfig} skus={skus} - onChange={jest.fn()} + onChange={vi.fn()} fetchProductPreviews={mockFetchProductPreviews} skuType={mockSkuType} /> @@ -56,7 +57,7 @@ describe('SortableComponent', () => { disabled={false} config={mockConfig} skus={skus} - onChange={jest.fn()} + onChange={vi.fn()} fetchProductPreviews={mockFetchProductPreviews} skuType={mockSkuType} /> @@ -69,7 +70,7 @@ describe('SortableComponent', () => { sdk={mockSdk as unknown as FieldAppSDK} disabled={false} config={mockConfig} - onChange={jest.fn()} + onChange={vi.fn()} fetchProductPreviews={mockFetchProductPreviews} skuType={mockSkuType} /> @@ -91,7 +92,7 @@ describe('SortableComponent', () => { disabled={false} config={mockConfig} skus={skus} - onChange={jest.fn()} + onChange={vi.fn()} fetchProductPreviews={mockFetchProductPreviews} skuType={mockSkuType} /> @@ -104,7 +105,7 @@ describe('SortableComponent', () => { sdk={mockSdk as unknown as FieldAppSDK} disabled={false} config={mockConfig} - onChange={jest.fn()} + onChange={vi.fn()} fetchProductPreviews={mockFetchProductPreviews} skuType={mockSkuType} /> diff --git a/packages/ecommerce-app-base/src/Editor/SortableList.spec.tsx b/packages/ecommerce-app-base/src/Editor/SortableList.spec.tsx index 82f353c04e..14197894ff 100644 --- a/packages/ecommerce-app-base/src/Editor/SortableList.spec.tsx +++ b/packages/ecommerce-app-base/src/Editor/SortableList.spec.tsx @@ -1,11 +1,13 @@ import { render, cleanup } from '@testing-library/react'; import { Props, SortableList } from './SortableList'; import { productsList } from '../__mocks__'; +import React from 'react'; +import { vi } from 'vitest'; const defaultProps: Props = { disabled: false, productPreviews: productsList, - deleteFn: jest.fn(), + deleteFn: vi.fn(), }; const renderComponent = (props: Props) => { diff --git a/packages/ecommerce-app-base/src/Editor/SortableListItem.spec.tsx b/packages/ecommerce-app-base/src/Editor/SortableListItem.spec.tsx index 5dae1622e9..1461cca38e 100644 --- a/packages/ecommerce-app-base/src/Editor/SortableListItem.spec.tsx +++ b/packages/ecommerce-app-base/src/Editor/SortableListItem.spec.tsx @@ -2,11 +2,12 @@ import { cleanup, fireEvent, render } from '@testing-library/react'; import { SortableListItem } from './SortableListItem'; import { productsList } from '../__mocks__'; import { Props } from '../ProductCard/LegacyProductCard/LegacyProductCard'; +import { vi } from 'vitest'; const defaultProps: Props = { product: productsList[0], disabled: false, - onDelete: jest.fn(), + onDelete: vi.fn(), isSortable: false, }; diff --git a/packages/ecommerce-app-base/src/ProductCard/LegacyProductCard/LegacyProductCard.tsx b/packages/ecommerce-app-base/src/ProductCard/LegacyProductCard/LegacyProductCard.tsx index be4c71fd3d..0655aada19 100644 --- a/packages/ecommerce-app-base/src/ProductCard/LegacyProductCard/LegacyProductCard.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/LegacyProductCard/LegacyProductCard.tsx @@ -1,7 +1,7 @@ import { FC } from 'react'; import { Badge, Card, Heading, IconButton, Subheading } from '@contentful/f36-components'; import { CloseIcon, ExternalLinkIcon } from '@contentful/f36-icons'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import tokens from '@contentful/f36-tokens'; import type { Product } from '../../types'; import { ProductImage } from '../ProductImage'; diff --git a/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.spec.tsx b/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.spec.tsx index 271ea6b776..6088f67a35 100644 --- a/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.spec.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.spec.tsx @@ -2,6 +2,8 @@ import { ProductCard } from './ProductCard'; import userEvent from '@testing-library/user-event'; import { cleanup, render, screen } from '@testing-library/react'; import { productsList } from '../../__mocks__'; +import React from 'react'; +import { vi } from 'vitest'; const { getByText } = screen; @@ -11,20 +13,20 @@ describe('ProductCard component', () => { afterEach(cleanup); it('mounts', () => { - const mockOnSelect = jest.fn(); + const mockOnSelect = vi.fn(); render(); const productName = product.name!; const productDescription = 'Open your door to the world of grilling with the sleek Spirit II E-210...'; - expect(getByText(productName)).toBeVisible(); - expect(getByText(productDescription)).toBeVisible(); + expect(getByText(productName)).toBeTruthy(); + expect(getByText(productDescription)).toBeTruthy(); }); it('handles onSelect', async () => { userEvent.setup(); - const mockOnSelect = jest.fn(); + const mockOnSelect = vi.fn(); render(); const productName = product.name!; diff --git a/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.tsx b/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.tsx index edb4497b47..d47fd9f810 100644 --- a/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/ProductCard/ProductCard.tsx @@ -5,7 +5,7 @@ import { ProductCardHeader } from '../ProductCardHeader/ProductCardHeader'; import { ProductCardBody } from '../ProductCardBody/ProductCardBody'; import { useIntegration } from '../../Editor'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import tokens from '@contentful/f36-tokens'; export const styles = { diff --git a/packages/ecommerce-app-base/src/ProductCard/ProductCardBody/ProductCardBody.spec.tsx b/packages/ecommerce-app-base/src/ProductCard/ProductCardBody/ProductCardBody.spec.tsx index 159d501490..f18839fc47 100644 --- a/packages/ecommerce-app-base/src/ProductCard/ProductCardBody/ProductCardBody.spec.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/ProductCardBody/ProductCardBody.spec.tsx @@ -1,6 +1,7 @@ import { ProductCardBody } from './ProductCardBody'; import { cleanup, render, screen } from '@testing-library/react'; import { productsList } from '../../__mocks__'; +import React from 'react'; const { getByText, getByTestId, queryByTestId } = screen; @@ -19,10 +20,10 @@ describe('ProductCardBody component', () => { const idElement = getByText(id); const imageElement = document.querySelector('img'); - expect(mainBody).toBeVisible(); - expect(titleElement).toBeVisible(); - expect(descriptionElement).toBeVisible(); - expect(idElement).toBeVisible(); + expect(mainBody).toBeTruthy(); + expect(titleElement).toBeTruthy(); + expect(descriptionElement).toBeTruthy(); + expect(idElement).toBeTruthy(); expect(imageElement?.getAttribute('src')).toBe(image); }); @@ -38,6 +39,6 @@ describe('ProductCardBody component', () => { const errorMessage = getByText('Resource is missing or inaccessible'); expect(mainBody).toBeFalsy(); - expect(errorMessage).toBeVisible(); + expect(errorMessage).toBeTruthy(); }); }); diff --git a/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.spec.tsx b/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.spec.tsx index ce6ea0643c..dc5fe42eda 100644 --- a/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.spec.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.spec.tsx @@ -2,14 +2,14 @@ import { ProductCardHeader } from './ProductCardHeader'; import { render, screen } from '@testing-library/react'; import * as React from 'react'; -const { getByText, getAllByTestId } = screen; +const { getByText, getByLabelText } = screen; describe('ProductCardHeader component', () => { it('mounts', () => { const headerTitle = 'Shopify product'; render(); const titleElement = getByText(headerTitle); - expect(titleElement).toBeVisible(); + expect(titleElement).toBeTruthy(); }); it('mounts showing header menu', () => { @@ -17,11 +17,9 @@ describe('ProductCardHeader component', () => { render(); const titleElement = getByText(headerTitle); - const buttons = getAllByTestId('cf-ui-icon-button'); - const menuButton = buttons[0]; + const menuButton = getByLabelText('Actions'); - expect(titleElement).toBeVisible(); - expect(menuButton).toBeVisible(); - expect(menuButton).toHaveAttribute('aria-label', 'Actions'); + expect(titleElement).toBeTruthy(); + expect(menuButton).toBeTruthy(); }); }); diff --git a/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.tsx b/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.tsx index f27790b20b..8c7c9c012f 100644 --- a/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/ProductCardHeader/ProductCardHeader.tsx @@ -1,7 +1,7 @@ import { Box, Flex, Text } from '@contentful/f36-components'; import { ProductCardMenu } from '../ProductCardMenu/ProductCardMenu'; import { ExternalResource } from '../types'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import tokens from '@contentful/f36-tokens'; export const styles = { diff --git a/packages/ecommerce-app-base/src/ProductCard/ProductCardMenu/ProductCardMenu.spec.tsx b/packages/ecommerce-app-base/src/ProductCard/ProductCardMenu/ProductCardMenu.spec.tsx index 83f01356a0..bdc68063d8 100644 --- a/packages/ecommerce-app-base/src/ProductCard/ProductCardMenu/ProductCardMenu.spec.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/ProductCardMenu/ProductCardMenu.spec.tsx @@ -1,10 +1,12 @@ +import React from 'react'; import { ProductCardMenu } from './ProductCardMenu'; import { render, screen } from '@testing-library/react'; +import { vi } from 'vitest'; -const { getByTestId } = screen; +const { getAllByLabelText } = screen; const props = { - onRemove: jest.fn(), + onRemove: vi.fn(), isDataVisible: true, }; @@ -12,10 +14,8 @@ describe('ProductCardMenu component', () => { it('mounts', () => { render(); - const iconButton = getByTestId('cf-ui-icon-button'); - const icon = getByTestId('cf-ui-icon'); + const iconButton = getAllByLabelText('Actions')[0]; - expect(iconButton).toBeVisible(); - expect(icon).toBeVisible(); + expect(iconButton).toBeTruthy(); }); }); diff --git a/packages/ecommerce-app-base/src/ProductCard/ProductImage/ProductImage.tsx b/packages/ecommerce-app-base/src/ProductCard/ProductImage/ProductImage.tsx index 2985fd9bba..0f90c34b9a 100644 --- a/packages/ecommerce-app-base/src/ProductCard/ProductImage/ProductImage.tsx +++ b/packages/ecommerce-app-base/src/ProductCard/ProductImage/ProductImage.tsx @@ -1,7 +1,7 @@ import type { FC } from 'react'; import React from 'react'; import { useState } from 'react'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import tokens from '@contentful/f36-tokens'; import { SkeletonContainer, SkeletonImage } from '@contentful/f36-components'; import { AssetIcon } from '@contentful/f36-icons'; diff --git a/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.spec.tsx b/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.spec.tsx index 254376b10a..5257e2699a 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.spec.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.spec.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { configure, render, cleanup } from '@testing-library/react'; import { getPagesRange, Props, Paginator } from './Paginator'; +import { vi } from 'vitest'; configure({ testIdAttribute: 'data-test-id', @@ -9,7 +10,7 @@ configure({ const defaultProps: Props = { activePage: 3, pageCount: 12, - setActivePage: jest.fn(), + setActivePage: vi.fn(), }; const renderComponent = (props: Props) => { diff --git a/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.tsx b/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.tsx index 7505679c91..e37f6b5d24 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/Paginator/Paginator.tsx @@ -6,7 +6,7 @@ import { Button } from '@contentful/f36-components'; import { ChevronLeftIcon, ChevronRightIcon } from '@contentful/f36-icons'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; const styles = { button: css({ diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.spec.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.spec.tsx index 218485e027..3b351f6d98 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.spec.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.spec.tsx @@ -2,10 +2,11 @@ import * as React from 'react'; import { render, cleanup } from '@testing-library/react'; import { Props, ProductList } from './ProductList'; import { productsList } from '../../__mocks__'; +import { vi } from 'vitest'; const defaultProps: Props = { products: productsList, - selectProduct: jest.fn(), + selectProduct: vi.fn(), selectedSKUs: [], }; diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.tsx index eb4ac8156d..41c0dc3075 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductList.tsx @@ -1,6 +1,6 @@ import React from 'react'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import { Product } from '../../types'; import { ProductListItem } from './ProductListItem'; diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.spec.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.spec.tsx index 39e1bd4c3b..9107e6475d 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.spec.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.spec.tsx @@ -2,6 +2,7 @@ import * as React from 'react'; import { fireEvent, configure, render, cleanup } from '@testing-library/react'; import { Props, ProductListItem } from './ProductListItem'; import { productsList } from '../../__mocks__'; +import { vi } from 'vitest'; configure({ testIdAttribute: 'data-test-id', @@ -9,7 +10,7 @@ configure({ const defaultProps: Props = { product: productsList[0], - selectProduct: jest.fn(), + selectProduct: vi.fn(), isSelected: false, }; diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.tsx index eb3cfcc267..dd91c8a091 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductList/ProductListItem.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import tokens from '@contentful/f36-tokens'; import noop from 'lodash/noop'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import { activeProductCheck } from '../iconsInBase64'; import { Product } from '../../types'; diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/OtherProductsCounter.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/OtherProductsCounter.tsx index a870711e4a..a1ca1a994a 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/OtherProductsCounter.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/OtherProductsCounter.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import tokens from '@contentful/f36-tokens'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import { Tooltip } from '@contentful/f36-components'; diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.spec.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.spec.tsx index ad8748ed12..b96f95c309 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.spec.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.spec.tsx @@ -2,10 +2,11 @@ import * as React from 'react'; import { render, cleanup } from '@testing-library/react'; import { Props, ProductSelectionList } from './ProductSelectionList'; import { productsList } from '../../__mocks__'; +import { vi } from 'vitest'; const defaultProps: Props = { products: productsList, - selectProduct: jest.fn(), + selectProduct: vi.fn(), }; const renderComponent = (props: Props) => { diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.tsx index b068a962c3..532403644e 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionList.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import { ProductSelectionListItem } from './ProductSelectionListItem'; import { OtherProductsCounter } from './OtherProductsCounter'; import { Product } from '../../types'; diff --git a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionListItem.tsx b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionListItem.tsx index 201af87b60..20ed4411fc 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionListItem.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/ProductSelectionList/ProductSelectionListItem.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { useState } from 'react'; import tokens from '@contentful/f36-tokens'; import noop from 'lodash/noop'; -import { css } from 'emotion'; +import { css } from '@emotion/css'; import { Product } from '../../types'; import { Icon, Tooltip } from '@contentful/f36-components'; diff --git a/packages/ecommerce-app-base/src/SkuPicker/SkuPicker.spec.tsx b/packages/ecommerce-app-base/src/SkuPicker/SkuPicker.spec.tsx index c312771688..cca9163d86 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/SkuPicker.spec.tsx +++ b/packages/ecommerce-app-base/src/SkuPicker/SkuPicker.spec.tsx @@ -5,6 +5,7 @@ import { Props, SkuPicker } from './SkuPicker'; import { productsList } from '../__mocks__'; import { DialogAppSDK } from '@contentful/app-sdk'; import { Integration, ProductsFn } from '../types'; +import { vi } from 'vitest'; configure({ testIdAttribute: 'data-test-id', @@ -30,16 +31,16 @@ describe('SkuPicker', () => { fieldValue: [], }, }, - close: jest.fn(), + close: vi.fn(), notifier: { - success: jest.fn(), - error: jest.fn(), + success: vi.fn(), + error: vi.fn(), }, } as unknown as DialogAppSDK, - fetchProductPreviews: jest.fn((skus) => + fetchProductPreviews: vi.fn((skus) => productsList.filter((preview) => skus.includes(preview.sku)) ) as unknown as Integration['fetchProductPreviews'], - fetchProducts: jest.fn(() => ({ + fetchProducts: vi.fn(() => ({ pagination: { count: 3, limit: 20, @@ -54,44 +55,44 @@ describe('SkuPicker', () => { it('should render basic search successfully with no products selected', async () => { const { getByTestId, queryByTestId } = await renderComponent(defaultProps); - expect(getByTestId('sku-search')).toBeInTheDocument(); - expect(queryByTestId('search-by-sku')).not.toBeInTheDocument(); + expect(getByTestId('sku-search')).toBeTruthy(); + expect(queryByTestId('search-by-sku')).not.toBeTruthy(); }); it('should not render search when hideSearch is true', async () => { const { queryByTestId } = await renderComponent({ ...defaultProps, hideSearch: true }); - expect(queryByTestId('sku-search')).not.toBeInTheDocument(); - expect(queryByTestId('search-by-sku')).not.toBeInTheDocument(); + expect(queryByTestId('sku-search')).not.toBeTruthy(); + expect(queryByTestId('search-by-sku')).not.toBeTruthy(); }); it('should render search by sku option if showSearchBySkuOption is true', async () => { const { getByTestId } = await renderComponent({ ...defaultProps, showSearchBySkuOption: true }); - expect(getByTestId('search-by-sku')).toBeInTheDocument(); + expect(getByTestId('search-by-sku')).toBeTruthy(); }); it('should render custom placeholder text in search box when makeSearchPlaceholderText exists', async () => { - const makeSearchPlaceholderText = jest.fn(() => 'My custom placeholder text'); + const makeSearchPlaceholderText = vi.fn(() => 'My custom placeholder text'); const { getByPlaceholderText } = await renderComponent({ ...defaultProps, makeSearchPlaceholderText, }); - expect(getByPlaceholderText('My custom placeholder text')).toBeInTheDocument(); + expect(getByPlaceholderText('My custom placeholder text')).toBeTruthy(); }); it('should render custom help text under search box when makeSearchHelpText exists', async () => { - const makeSearchHelpText = jest.fn(() => 'My custom help text'); + const makeSearchHelpText = vi.fn(() => 'My custom help text'); const { getByText } = await renderComponent({ ...defaultProps, makeSearchHelpText, }); - expect(getByText('My custom help text')).toBeInTheDocument(); + expect(getByText('My custom help text')).toBeTruthy(); }); describe('when it has infinite scrolling mode pagination', () => { it('should render the "Load more" text link if there is a next page', async () => { const { findByTestId } = await renderComponent({ ...defaultProps, - fetchProducts: jest.fn(() => ({ + fetchProducts: vi.fn(() => ({ pagination: { hasNextPage: true, }, @@ -104,7 +105,7 @@ describe('SkuPicker', () => { it('should not render the "Load more" text link if there is no next page', async () => { const { queryByTestId } = await renderComponent({ ...defaultProps, - fetchProducts: jest.fn(() => ({ + fetchProducts: vi.fn(() => ({ pagination: { hasNextPage: false, }, diff --git a/packages/ecommerce-app-base/src/SkuPicker/styles.ts b/packages/ecommerce-app-base/src/SkuPicker/styles.ts index 19ebd507a9..91c19dc3cd 100644 --- a/packages/ecommerce-app-base/src/SkuPicker/styles.ts +++ b/packages/ecommerce-app-base/src/SkuPicker/styles.ts @@ -1,4 +1,4 @@ -import { css } from 'emotion'; +import { css } from '@emotion/css'; import tokens from '@contentful/f36-tokens'; const HEADER_HEIGHT = 114; diff --git a/packages/ecommerce-app-base/src/__mocks__/mockSdk.ts b/packages/ecommerce-app-base/src/__mocks__/mockSdk.ts index 55ec342dc0..20db55a553 100644 --- a/packages/ecommerce-app-base/src/__mocks__/mockSdk.ts +++ b/packages/ecommerce-app-base/src/__mocks__/mockSdk.ts @@ -1,3 +1,4 @@ +import { vi } from 'vitest'; import { mockContentTypes } from './mockContentTypes'; export const makeSdkMock = () => ({ @@ -8,13 +9,13 @@ export const makeSdkMock = () => ({ webapp: 'app.contentful.com', }, space: { - getContentTypes: jest.fn().mockResolvedValue({ items: mockContentTypes }), - getEditorInterfaces: jest.fn().mockResolvedValue({ items: [] }), + getContentTypes: vi.fn().mockResolvedValue({ items: mockContentTypes }), + getEditorInterfaces: vi.fn().mockResolvedValue({ items: [] }), }, app: { - setReady: jest.fn(), - getParameters: jest.fn().mockResolvedValue(null), - onConfigure: jest.fn().mockReturnValue(undefined), + setReady: vi.fn(), + getParameters: vi.fn().mockResolvedValue(null), + onConfigure: vi.fn().mockReturnValue(undefined), }, notifier: { error: (msg: string) => console.log(`[mockSdk] error: ${msg}`), diff --git a/packages/ecommerce-app-base/jest-setup.ts b/packages/ecommerce-app-base/test.setup.ts similarity index 100% rename from packages/ecommerce-app-base/jest-setup.ts rename to packages/ecommerce-app-base/test.setup.ts diff --git a/packages/ecommerce-app-base/vitest.config.js b/packages/ecommerce-app-base/vitest.config.js new file mode 100644 index 0000000000..4dcef76cfc --- /dev/null +++ b/packages/ecommerce-app-base/vitest.config.js @@ -0,0 +1,11 @@ +import { defineConfig } from 'vite'; +import { configDefaults } from 'vitest/config'; + +export default defineConfig({ + test: { + setupFiles: ['./test.setup.ts'], // Add test setup file + environment: 'jsdom', // Ensure jsdom is still set for browser-like environment + globals: true, // Enable global usage of describe, test, etc. + exclude: [...configDefaults.exclude, 'node_modules'], + }, +});