From 9cbcd55c74021cc891ba74b809684c26f759c08b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rio=20Nunes?= Date: Fri, 31 May 2024 07:45:14 +0100 Subject: [PATCH] chore: vite migration --- .circleci/config.yml | 13 +- .env-cmdrc.js | 46 - .eslintrc.json | 5 +- .github/workflows/docker-emulator-build.yml | 2 +- .github/workflows/pr-preview.yml | 6 +- .yarnrc.yml | 2 + commitlint.config.js | 3 +- craco.config.ts | 93 - index.html | 64 + jest.config.ts | 8 - package.json | 51 +- packages/components/package.json | 12 +- .../src/Breadcrumbs/Breadcrumbs.test.tsx | 4 + .../ButtonShowReplies.test.tsx | 4 + .../src/CommentList/CommentList.test.tsx | 2 +- .../ContentStatistics.test.tsx | 2 + .../src/CreateComment/CreateComment.test.tsx | 4 +- .../src/CreateReply/CreateReply.test.tsx | 3 + .../DiscussionContainer.test.tsx | 3 + .../DiscussionTitle/DiscussionTitle.test.tsx | 4 + .../DonationRequest/DonationRequest.test.tsx | 2 +- .../DonationRequestModal.test.tsx | 4 +- .../DownloadButton/DownloadButton.test.tsx | 4 + .../DownloadCounter/DownloadCounter.test.tsx | 4 + .../DownloadFileFromLink.test.tsx | 4 + .../src/EditComment/EditComment.test.tsx | 4 +- packages/components/src/FlagIcon/FlagIcon.tsx | 24 +- .../IconCountWithTooltip.test.tsx | 2 + .../src/ImageCrop/ImageCrop.test.tsx | 4 +- .../components/src/ImageCrop/ImageCrop.tsx | 2 +- .../src/ImageGallery/ImageGallery.test.tsx | 4 +- .../src/MapMemberCard/MapMemberCard.test.tsx | 4 + .../src/NotificationItem/NotificationItem.tsx | 7 +- .../NotificationList.stories.tsx | 2 +- .../src/NotificationList/NotificationList.tsx | 2 +- .../src/ProfileLink/ProfileLink.test.tsx | 4 + .../ResearchEditorOverview.test.tsx | 4 + .../src/TabbedContent/TabbedContent.test.tsx | 3 + .../components/src/TagList/TagList.test.tsx | 4 + .../UserEngagementWrapper.test.tsx | 4 + .../UserStatistics/UserStatistics.test.tsx | 4 + .../components/src/Username/Username.test.tsx | 4 + packages/components/src/Username/Username.tsx | 6 +- .../src/VideoPlayer/VideoPlayer.test.tsx | 4 + .../src/VideoPlayer/VideoPlayer.tsx | 2 +- packages/components/src/index.ts | 1 - packages/components/vite.config.mts | 16 - packages/components/vite.config.ts | 24 + packages/cypress/scripts/start.ts | 2 +- packages/cypress/src/support/db/endpoints.ts | 2 +- .../docs/Deployment/circle-ci.md | 18 +- packages/documentation/docs/Install.md | 26 +- packages/security-rules/tests/general.spec.ts | 4 +- scripts/tsconfig.json | 2 +- shared/models/db.ts | 2 +- shared/models/notifications.ts | 5 + src/common/AuthWrapper.test.tsx | 3 +- src/common/DiscussionWrapper.test.tsx | 9 +- src/common/DownloadWithDonationAsk.test.tsx | 17 +- src/common/Form/ErrorsContainer.test.tsx | 1 + src/common/Form/FileInput/FileInput.tsx | 7 +- src/common/HideDiscussionContainer.test.tsx | 3 + src/common/ScrollToTop.test.tsx | 15 +- src/common/Tags/TagsList.test.tsx | 5 +- src/config/config.ts | 42 +- src/config/constants.ts | 42 +- src/logger/index.test.ts | 2 + src/logger/index.ts | 4 +- src/modules/index.test.ts | 18 +- src/modules/index.ts | 2 +- src/modules/profile/index.test.ts | 50 +- src/modules/profile/index.ts | 2 +- src/pages/Academy/Academy.test.tsx | 6 +- .../DonationThankYou.test.tsx | 3 +- .../Content/Common/FormFieldWrapper.test.tsx | 1 + .../Howto/Content/Common/Howto.form.test.tsx | 15 +- .../Common/HowtoCategoryGuidance.test.tsx | 1 + .../Howto/Content/Common/HowtoErrors.test.tsx | 1 + .../Common/HowtoFieldDescription.test.tsx | 1 + .../Content/Common/HowtoFieldFiles.test.tsx | 5 +- .../Common/HowtoFieldStepsContainer.test.tsx | 1 + .../Content/Common/HowtoFieldTitle.test.tsx | 5 +- .../Content/Common/howtofieldstep.test.tsx | 5 +- .../Common/utils/transformHowtoErrors.test.ts | 1 + src/pages/Howto/Content/Howto/Howto.test.tsx | 15 +- src/pages/Howto/howto.service.test.ts | 28 +- src/pages/Maps/Maps.test.tsx | 19 +- src/pages/Maps/map.service.test.ts | 21 +- .../FormFields/QuestionCategory.field.tsx | 4 + src/pages/Question/QuestionListing.tsx | 20 +- src/pages/Question/QuestionPage.test.tsx | 39 +- src/pages/Question/question.routes.test.tsx | 87 +- src/pages/Question/question.service.test.ts | 25 +- .../Content/Common/ResearchErrors.test.tsx | 1 + .../Common/ResearchUpdate.form.test.tsx | 45 +- .../Research/Content/ResearchArticle.test.tsx | 51 +- src/pages/Research/Content/helper.test.tsx | 2 + src/pages/Research/research.routes.test.tsx | 203 +- src/pages/Research/research.service.test.ts | 24 +- src/pages/Unsubscribe/Unsubscribe.test.tsx | 11 +- .../User/contact/UserContactForm.test.tsx | 9 +- src/pages/User/impact/Impact.test.tsx | 3 +- src/pages/User/impact/ImpactField.test.tsx | 1 + src/pages/User/impact/ImpactItem.test.tsx | 3 +- src/pages/User/impact/ImpactMissing.test.tsx | 3 +- src/pages/User/user.routes.test.tsx | 23 +- src/pages/User/workspace/Workspace.test.ts | 10 +- src/pages/UserSettings/UserSettings.test.tsx | 23 +- .../formSections/Focus.section.test.tsx | 3 + .../content/formSections/Impact/utils.test.ts | 2 + .../formSections/PatreonIntegration.test.tsx | 5 +- .../PublicContact.section.test.tsx | 3 + .../formSections/SettingsError.test.tsx | 1 + src/pages/common/Drafts/DraftButton.test.tsx | 3 + .../Notifications/NotificationsDesktop.tsx | 2 +- .../Menu/Notifications/NotificationsIcon.tsx | 2 +- .../Notifications/NotificationsMobile.tsx | 2 +- .../Header/getFormattedNotifications.test.tsx | 3 + src/react-app-env.d.ts | 2 - src/setupTests.ts | 2 - .../Aggregations/aggregations.store.tsx | 5 + .../Discussions/discussion.store.test.ts | 14 +- src/stores/Howto/howto.store.test.ts | 22 +- src/stores/Maps/filter.test.ts | 2 + src/stores/Maps/maps.store.test.ts | 14 +- src/stores/Message/message.store.test.ts | 4 +- src/stores/Question/question.store.test.tsx | 12 +- src/stores/Research/research.store.test.ts | 32 +- src/stores/Theme/theme.store.tsx | 2 +- src/stores/User/notifications.store.test.tsx | 8 +- src/stores/User/user.store.test.tsx | 23 +- src/stores/User/user.store.ts | 15 +- src/stores/common/__mocks__/module.store.ts | 14 +- src/stores/common/mentions/index.test.ts | 4 +- src/stores/common/module.store.test.tsx | 18 +- .../common/toggleDocUsefulByUser.test.ts | 12 +- src/stores/databaseV2/endpoints.ts | 6 +- src/test/components/HowtoProvider.tsx | 8 +- src/test/components/ResearchProvider.tsx | 8 +- src/test/components/SettingsProvider.tsx | 8 +- src/test/setup.ts | 19 + src/utils/cdnImageUrl.test.ts | 108 +- src/utils/cdnImageUrl.ts | 17 +- src/utils/checkUserNameUnique.test.ts | 10 +- src/utils/formatters.test.ts | 1 + src/utils/getUserCountry.test.ts | 1 + src/utils/helpers.test.ts | 2 +- src/utils/helpers.ts | 2 +- src/utils/incrementViewCount.test.ts | 5 +- src/utils/isTestEnvironment.ts | 2 +- src/utils/searchHelper.test.ts | 2 + src/utils/validators.test.ts | 12 +- tsconfig.json | 6 +- vite-env.d.ts | 2 + vite.config.ts | 62 + yarn.lock | 7562 +++++++---------- 156 files changed, 4171 insertions(+), 5385 deletions(-) delete mode 100644 .env-cmdrc.js delete mode 100644 craco.config.ts create mode 100644 index.html delete mode 100644 jest.config.ts delete mode 100644 packages/components/vite.config.mts create mode 100644 packages/components/vite.config.ts delete mode 100644 src/react-app-env.d.ts create mode 100644 src/test/setup.ts create mode 100644 vite-env.d.ts create mode 100644 vite.config.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index b558d30e2..98216add8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -106,7 +106,7 @@ commands: - run: name: Set branch environment command: | - echo 'export REACT_APP_PROJECT_VERSION=${CIRCLE_SHA1}' >> $BASH_ENV + echo 'export VITE_APP_PROJECT_VERSION=${CIRCLE_SHA1}' >> $BASH_ENV - run: name: Inject target environment configuration command: | @@ -200,7 +200,6 @@ jobs: resource_class: large environment: CYPRESS_INSTALL_BINARY: 0 - JEST_JUNIT_OUTPUT_DIR: ./reports steps: - setup_repo - attach_workspace: @@ -249,8 +248,6 @@ jobs: - run: # NOTE - run-in-band to try reduce memory leaks (https://github.com/facebook/jest/issues/7874) command: yarn run test:unit && yarn run test:components - environment: - JEST_JUNIT_OUTPUT_DIR: reports - store_artifacts: path: coverage - store_artifacts: @@ -288,13 +285,13 @@ jobs: - run: name: Set branch environment command: | - echo 'export REACT_APP_BRANCH=${CIRCLE_BRANCH}' >> $BASH_ENV - echo 'export REACT_APP_PROJECT_VERSION=${CIRCLE_SHA1}' >> $BASH_ENV + echo 'export VITE_APP_BRANCH=${CIRCLE_BRANCH}' >> $BASH_ENV + echo 'export VITE_APP_PROJECT_VERSION=${CIRCLE_SHA1}' >> $BASH_ENV - run: name: Check environment variables command: | - echo REACT_APP_BRANCH=$REACT_APP_BRANCH - echo $REACT_APP_PROJECT_VERSION + echo VITE_APP_BRANCH=$VITE_APP_BRANCH + echo $VITE_APP_PROJECT_VERSION - run: command: yarn build - persist_to_workspace: diff --git a/.env-cmdrc.js b/.env-cmdrc.js deleted file mode 100644 index 93f01c335..000000000 --- a/.env-cmdrc.js +++ /dev/null @@ -1,46 +0,0 @@ -// Run a pre-flight check that developer environment setup in compatible way -const { envCheck } = require('./scripts/envCheck') -if (!process.env.CI) { - envCheck() -} - -// Specific settings to use when running anything that requires a webpack compiler -// Enabled when npm command specifies `env-cmd -e webpack` -let webpack = { - NODE_OPTIONS: getNodeOptions(), -} - -// Specific env to use with react-scripts / create-react-app -// Enabled when npm command specifies `env-cmd -e cra` -let cra = { - ...webpack, - FAST_REFRESH: false, -} - -exports.cra = cra -exports.webpack = webpack - -/** Determine what node_options to provide depending on context */ -function getNodeOptions() { - // Depending on node version use different environment variables to fix - // specific build or run issues - const NODE_VERSION = process.versions.node.split('.')[0] - - let NODE_OPTIONS = process.env.NODE_OPTIONS || '' - - // fix out-of-memory issues - default to 4GB but allow override from CI - // NOTE - would like to auto-calculate but does not support CI (https://github.com/nodejs/node/issues/27170) - if (!NODE_OPTIONS.includes('--max-old-space-size')) { - NODE_OPTIONS += ` --max-old-space-size=4096` - } - if (NODE_VERSION > '17') { - // fix https://github.com/facebook/create-react-app/issues/11708 - // https://github.com/facebook/create-react-app/issues/12431 - NODE_OPTIONS += ' --openssl-legacy-provider --no-experimental-fetch' - } - - if (process.env.CI) { - console.log('NODE_OPTIONS', NODE_OPTIONS, '\n') - } - return NODE_OPTIONS.trim() -} diff --git a/.eslintrc.json b/.eslintrc.json index a3d13c8f3..8c5eb619d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -8,7 +8,7 @@ "import", "simple-import-sort", "sort-class-members", - "jest" + "vitest" ], "extends": [ "eslint:recommended", @@ -104,7 +104,6 @@ "prefer": "type-imports" } ], - "jest/no-focused-tests": "error", "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/interface-name-prefix": "off", @@ -133,7 +132,7 @@ "camelCase": true, "pascalCase": true }, - "ignore": ["react-app-env.d.ts", "service-worker.ts"] + "ignore": ["vite-env.d.ts", "service-worker.ts"] } ], "@typescript-eslint/no-explicit-any": "off", diff --git a/.github/workflows/docker-emulator-build.yml b/.github/workflows/docker-emulator-build.yml index 25babdb50..ea4494f98 100644 --- a/.github/workflows/docker-emulator-build.yml +++ b/.github/workflows/docker-emulator-build.yml @@ -79,7 +79,7 @@ jobs: - name: Install npm dependencies run: yarn install --immutable - name: Set environment variables - run: export REACT_APP_PROJECT_VERSION=${GITHUB_SHA} + run: export VITE_APP_PROJECT_VERSION=${GITHUB_SHA} - name: Prepare Build run: yarn workspace oa-emulators-docker prepare # Populate the list of build args generated in the prepare script to local env as multi line string diff --git a/.github/workflows/pr-preview.yml b/.github/workflows/pr-preview.yml index 8bcf17443..9fc3af86c 100644 --- a/.github/workflows/pr-preview.yml +++ b/.github/workflows/pr-preview.yml @@ -45,9 +45,9 @@ jobs: - name: Install npm dependencies run: yarn install --immutable - name: Set environment variables - run: export REACT_APP_PROJECT_VERSION=${GITHUB_SHA} + run: export VITE_APP_PROJECT_VERSION=${GITHUB_SHA} - name: Check environment variables - run: echo $REACT_APP_PROJECT_VERSION + run: echo $VITE_APP_PROJECT_VERSION - name: Build for Preview run: npm run build env: @@ -55,7 +55,7 @@ jobs: # disable until fully resolved CI: false # specify the 'preview' site variant to populate the relevant firebase config - REACT_APP_SITE_VARIANT: preview + VITE_APP_SITE_VARIANT: preview # The hosting-deploy action calls firebase tools via npx, however installing globally # gives us control over what version will be made available - name: Install firebase-tools globally diff --git a/.yarnrc.yml b/.yarnrc.yml index 94dbc377e..c35a97726 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -10,6 +10,8 @@ nmMode: hardlinks-local nodeLinker: node-modules +checksumBehavior: update + packageExtensions: "@storybook/core-common@*": dependencies: diff --git a/commitlint.config.js b/commitlint.config.js index 972b1dd69..b0909319a 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,5 +1,4 @@ -/* global module */ -module.exports = { +export default { extends: ['@commitlint/config-conventional'], /** Add optional custom formatter */ // Temporarily removed due to unresolved error: https://app.circleci.com/pipelines/github/ONEARMY/community-platform/5891/workflows/59757a07-b416-43be-9a57-eedc1190d5a0/jobs/44654 diff --git a/craco.config.ts b/craco.config.ts deleted file mode 100644 index d7a9d3249..000000000 --- a/craco.config.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { DefinePlugin, ProvidePlugin } from 'webpack' - -import type { JestConfigOverride, WebpackConfigOverride } from '@craco/types' -import type { RuleSetRule } from 'webpack' - -/** - * Craco is used to provide config overrides to the default webpack config that is called - * from react-scripts. - */ -module.exports = { - webpack: { - configure: (webpackConfig: WebpackConfigOverride['webpackConfig']) => { - // Add polyfills for node (mostly imports for pino-logflare) - // https://github.com/facebook/create-react-app/issues/11756 - // https://stackoverflow.com/questions/68707553/uncaught-referenceerror-buffer-is-not-defined - webpackConfig.resolve!.fallback = { - stream: require.resolve('stream-browserify'), - buffer: require.resolve('buffer'), - } - webpackConfig.module!.rules = hackUpdateRulesToSupportCJS( - webpackConfig.module!.rules as RuleSetRule[], - ) - webpackConfig.plugins = [ - ...(webpackConfig.plugins as any[]), - // Fix calls to process (pino-logflare and cypress calling db.ts outside of cra) - // NOTE - react creates 'process.env' variable but does not assign anything to 'process' - // https://github.com/facebook/create-react-app/issues/11951 - new DefinePlugin({ - process: {}, - }), - new ProvidePlugin({ - Buffer: ['buffer', 'Buffer'], - }), - ] - // Fix sourcemap warning - // https://github.com/facebook/create-react-app/discussions/11767 - webpackConfig.ignoreWarnings = [ - function ignoreSourcemapsloaderWarnings(warning) { - return ( - warning.module && - (warning.module as any).resource.includes('node_modules') && - warning.details && - warning.details.includes('source-map-loader') - ) - }, - ] - return webpackConfig - }, - }, - - jest: { - configure: (jestConfig: JestConfigOverride['jestConfig']) => { - // https://kulshekhar.github.io/ts-jest/docs/getting-started/paths-mapping/ - jestConfig.reporters = [ - [ - 'jest-junit', - { outputDirectory: 'reports', outputName: 'report.xml' }, - ], - ] - - jestConfig.moduleNameMapper = { - ...jestConfig.moduleNameMapper, - 'photoswipe/lightbox': - '/node_modules/photoswipe/dist/umd/photoswipe-lightbox.umd.min.js', - 'photoswipe/style.css': - '/node_modules/photoswipe/dist/photoswipe.css', - // Allow specific import from 'src' (used to import `useCommonStores`) - '^src$': '/src/index', - } - - return jestConfig - }, - }, -} - -/** - * Prepend a custom rule to support CJS files - * - * NOTE - should be resolved in future CRA release pending merge of - * https://github.com/facebook/create-react-app/pull/12021 - */ -const hackUpdateRulesToSupportCJS = (rules: RuleSetRule[]) => { - return rules.map((rule) => { - if (rule.oneOf instanceof Array) { - rule.oneOf[rule.oneOf.length - 1].exclude = [ - /\.(js|mjs|jsx|cjs|ts|tsx)$/, - /\.html$/, - /\.json$/, - ] - } - return rule - }) -} diff --git a/index.html b/index.html new file mode 100644 index 000000000..00ca487d5 --- /dev/null +++ b/index.html @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + Precious Plastic Community + + + + + + +
+ + + diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index 894f8b416..000000000 --- a/jest.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { JestConfigWithTsJest } from 'ts-jest' - -const config: JestConfigWithTsJest = { - preset: 'ts-jest', - testEnvironment: 'node', -} - -export default config diff --git a/package.json b/package.json index 71af6e8f3..b1490eddc 100644 --- a/package.json +++ b/package.json @@ -12,22 +12,22 @@ ], "private": true, "main": "lib/index.js", + "type": "module", "scripts": { "start": "concurrently --kill-others --names themes,components,platform --prefix-colors cyan,blue,magenta \"yarn start:themes\" \"yarn start:components\" \"yarn start:platform\"", "start:themes": "yarn workspace oa-themes dev", "start:components": "yarn workspace oa-components dev", - "start:platform": "yarn build:shared && env-cmd -e cra yarn craco start", + "start:platform": "yarn build:shared && vite", "start:emulated": "concurrently --kill-others --names functions,themes,components,platform --prefix-colors yellow,cyan,blue,magenta \"yarn workspace functions start\" \"yarn start:themes\" \"yarn start:components\" \"cross-env PORT=4000 yarn start:platform\"", "start:emulated:docker": "concurrently --names functions,themes,components,platform,emulators --prefix-colors yellow,cyan,blue,magenta,green --kill-others \"yarn workspace functions watch\" \"yarn start:themes\" \"yarn start:components\" \"cross-env PORT=4000 yarn start:platform\" \"yarn workspace oa-emulators-docker start\"", "start:emulated:docker:local": "concurrently --names functions,themes,components,platform,emulators --prefix-colors yellow,cyan,blue,magenta,green --kill-others \"yarn workspace functions watch\" \"yarn start:themes\" \"yarn start:components\" \"cross-env PORT=4000 yarn start:platform\" \"yarn workspace oa-emulators-docker start --repo=\"", "build:themes": "yarn workspace oa-themes build", "build:components": "yarn workspace oa-components build", - "build:cra": "env-cmd -e cra craco build", + "build:vite": "tsc && vite", "build:post": "yarn workspace oa-scripts post-cra-build", "build:inject-config": "yarn build:post", "build:shared": "yarn workspace oa-shared build", - "build": "yarn build:themes && yarn build:components && yarn build:shared && yarn build:cra", - "eject": "react-scripts eject", + "build": "yarn build:themes && yarn build:components && yarn build:shared && yarn build:vite", "lint": "yarn lint:style && yarn lint:code", "lint:commits": " npx commitlint --from=$(git merge-base master HEAD) --verbose", "lint:code": "eslint . --ext .js,.jsx,.ts,.tsx src --color", @@ -39,7 +39,7 @@ "serve": "npx serve -s build", "test": "yarn workspace oa-cypress start", "test:components": "yarn workspace oa-components test-ci", - "test:unit": "yarn build:themes && yarn build:components && env-cmd -e cra craco test --env=jsdom --runInBand --logHeapUsage --coverage --reporters=default --reporters=jest-junit", + "test:unit": "yarn build:themes && yarn build:components && vitest --logHeapUsage --coverage", "test:madge": "npx madge --circular --extensions ts,tsx ./ --exclude src/stores", "storybook": "yarn workspace oa-components start", "storybook:build": "yarn build:themes && yarn workspace oa-components build:sb", @@ -75,9 +75,13 @@ "@emotion/react": "^11.10.6", "@emotion/styled": "^11.8.1", "@sentry/react": "^6.15.0", - "@uppy/core": "^2.1.4", - "@uppy/dashboard": "^2.1.3", - "@uppy/react": "^2.1.2", + "@uppy/compressor": "^1.1.4", + "@uppy/core": "^3.11.3", + "@uppy/dashboard": "^3.8.3", + "@uppy/drag-drop": "^3.1.0", + "@uppy/file-input": "^3.1.2", + "@uppy/progress-bar": "^3.1.1", + "@uppy/react": "^3.3.1", "countries-list": "^2.6.1", "date-fns": "^3.3.0", "debounce": "^1.2.0", @@ -99,6 +103,7 @@ "oa-shared": "workspace:*", "oa-themes": "workspace:*", "react": "17.0.2", + "react-country-flag": "^3.1.0", "react-dom": "17.0.2", "react-dropzone": "^10.1.10", "react-final-form": "6.5.3", @@ -110,8 +115,6 @@ "react-leaflet-markercluster": "^2.0.0-rc3", "react-router": "^6.20.1", "react-router-dom": "^6.20.1", - "react-scripts": "5.0.1", - "react-virtualized": "9.22.5", "rxjs": "^6.6.3", "theme-ui": "^0.15.7", "ts-node": "^10.4.0", @@ -119,20 +122,19 @@ "yup": "^1.3.2" }, "devDependencies": { - "@commitlint/cli": "^16.2.3", - "@commitlint/config-conventional": "^16.2.1", - "@commitlint/cz-commitlint": "^16.2.3", - "@craco/craco": "^7.0.0", - "@craco/types": "^7.0.0", + "@commitlint/cli": "^19.3.0", + "@commitlint/config-conventional": "^19.2.2", + "@commitlint/cz-commitlint": "^19.2.0", + "@emotion/babel-plugin": "^11.11.0", + "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@faker-js/faker": "^8.4.1", "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", - "@testing-library/jest-dom": "^5.11.4", + "@testing-library/jest-dom": "^6.4.5", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^14.4.3", "@types/browser-image-compression": "^1.0.9", "@types/flux-standard-action": "1.1.0", - "@types/jest": "^27.4.1", "@types/node": "^20.8.0", "@types/pubsub-js": "^1.5.18", "@types/react": "17.0.2", @@ -141,10 +143,11 @@ "@types/react-leaflet-markercluster": "^2.0.0", "@types/react-router-dom": "5.3.3", "@types/react-select": "^2.0.17", - "@types/react-virtualized": "^9.21.10", "@types/styled-system": "^5.1.11", "@typescript-eslint/eslint-plugin": "^6.7.3", "@typescript-eslint/parser": "^6.7.3", + "@vitejs/plugin-react": "^4.3.0", + "@vitest/coverage-v8": "^1.6.0", "all-contributors-cli": "^6.20.0", "buffer": "^6.0.3", "chai-subset": "^1.6.0", @@ -158,16 +161,16 @@ "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-cypress": "^2.15.1", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^27.4.2", "eslint-plugin-mocha": "^10.2.0", "eslint-plugin-prefer-arrow-functions": "^3.1.4", "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-react": "^7.34.2", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-sort-class-members": "^1.18.0", "eslint-plugin-unicorn": "^48.0.1", - "husky": "^7.0.4", + "eslint-plugin-vitest": "^0.5.4", + "husky": "^9.0.11", "idb": "^6.0.0", - "jest-junit": "^16.0.0", "lint-staged": "^8.1.5", "mobx-react-devtools": "^6.0.3", "prettier": "2.5.1", @@ -176,9 +179,13 @@ "start-server-and-test": "^1.11.0", "stream-browserify": "^3.0.0", "terser": "3.14.1", - "ts-jest": "^29.1.2", "ts-loader": "^7.0.5", "typescript": "^5.1.6", + "vite": "^5.2.12", + "vite-plugin-env-compatible": "^2.0.1", + "vite-plugin-svgr": "^4.2.0", + "vite-tsconfig-paths": "^4.3.2", + "vitest": "^1.6.0", "wait-on": "^5.2.1", "workbox-background-sync": "^6.1.5", "workbox-broadcast-update": "^6.1.5", diff --git a/packages/components/package.json b/packages/components/package.json index c2cfafc08..b59138dac 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -5,6 +5,7 @@ "private": true, "main": "dist/index.js", "types": "dist/index.d.js", + "type": "module", "scripts": { "storybook": "yarn start", "start": "storybook dev -p 6006 --loglevel verbose", @@ -32,7 +33,7 @@ "react-flag-icon-css": "^1.0.25", "react-icons": "^4.3.1", "react-image-crop": "^11.0.5", - "react-player": "^2.12.0", + "react-player": "^2.16.0", "react-portal": "^4.2.2", "react-router": "6.20.1", "react-router-dom": "^6.20.1", @@ -62,12 +63,13 @@ "@types/mustache": "^4.1.2", "@types/react-flag-icon-css": "^1.0.5", "@types/react-portal": "^4.0.4", - "@vitejs/plugin-react": "^3.1.0", - "@vitest/coverage-c8": "^0.30.1", + "@vitejs/plugin-react": "^4.3.0", + "@vitest/coverage-v8": "^1.6.0", "babel-loader": "8.1.0", "eslint": "^8.50.0", "eslint-plugin-import": "^2.28.1", "eslint-plugin-storybook": "^0.6.13", + "eslint-plugin-vitest": "^0.5.4", "jsdom": "^21.1.1", "mustache": "^4.2.0", "prettier": "2.5.1", @@ -75,6 +77,6 @@ "react-dom": "^17.0.2", "ts-node": "^10.7.0", "typescript": "^5.1.6", - "vitest": "^0.30.1" + "vitest": "^1.6.0" } -} +} \ No newline at end of file diff --git a/packages/components/src/Breadcrumbs/Breadcrumbs.test.tsx b/packages/components/src/Breadcrumbs/Breadcrumbs.test.tsx index aec278776..bddf34d74 100644 --- a/packages/components/src/Breadcrumbs/Breadcrumbs.test.tsx +++ b/packages/components/src/Breadcrumbs/Breadcrumbs.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default, NoCategory } from './Breadcrumbs.stories' diff --git a/packages/components/src/ButtonShowReplies/ButtonShowReplies.test.tsx b/packages/components/src/ButtonShowReplies/ButtonShowReplies.test.tsx index 626b659c8..68fce2de6 100644 --- a/packages/components/src/ButtonShowReplies/ButtonShowReplies.test.tsx +++ b/packages/components/src/ButtonShowReplies/ButtonShowReplies.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default, diff --git a/packages/components/src/CommentList/CommentList.test.tsx b/packages/components/src/CommentList/CommentList.test.tsx index 45ddf8a3d..de87457da 100644 --- a/packages/components/src/CommentList/CommentList.test.tsx +++ b/packages/components/src/CommentList/CommentList.test.tsx @@ -1,5 +1,5 @@ import { fireEvent } from '@testing-library/react' -import { vi } from 'vitest' +import { describe, expect, it, vi } from 'vitest' import { render } from '../tests/utils' import { createFakeComments, fakeComment } from '../utils' diff --git a/packages/components/src/ContentStatistics/ContentStatistics.test.tsx b/packages/components/src/ContentStatistics/ContentStatistics.test.tsx index 58167f889..4d89fb726 100644 --- a/packages/components/src/ContentStatistics/ContentStatistics.test.tsx +++ b/packages/components/src/ContentStatistics/ContentStatistics.test.tsx @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default } from './ContentStatistics.stories' diff --git a/packages/components/src/CreateComment/CreateComment.test.tsx b/packages/components/src/CreateComment/CreateComment.test.tsx index eed6184a7..a6e657487 100644 --- a/packages/components/src/CreateComment/CreateComment.test.tsx +++ b/packages/components/src/CreateComment/CreateComment.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom' + import { fireEvent } from '@testing-library/react' -import { vi } from 'vitest' +import { describe, expect, it, vi } from 'vitest' import { render } from '../tests/utils' import { CreateComment } from './CreateComment' diff --git a/packages/components/src/CreateReply/CreateReply.test.tsx b/packages/components/src/CreateReply/CreateReply.test.tsx index 500fbf717..a18fcb377 100644 --- a/packages/components/src/CreateReply/CreateReply.test.tsx +++ b/packages/components/src/CreateReply/CreateReply.test.tsx @@ -1,4 +1,7 @@ +import '@testing-library/jest-dom' + import { fireEvent, waitFor } from '@testing-library/react' +import { describe, expect, it } from 'vitest' import { render } from '../tests/utils' import { Default, LoggedIn, LoggedInWithError } from './CreateReply.stories' diff --git a/packages/components/src/DiscussionContainer/DiscussionContainer.test.tsx b/packages/components/src/DiscussionContainer/DiscussionContainer.test.tsx index 4b3455e55..c54a8b4ea 100644 --- a/packages/components/src/DiscussionContainer/DiscussionContainer.test.tsx +++ b/packages/components/src/DiscussionContainer/DiscussionContainer.test.tsx @@ -1,5 +1,8 @@ +import '@testing-library/jest-dom' + import { act } from 'react-dom/test-utils' import { fireEvent } from '@testing-library/react' +import { describe, expect, it } from 'vitest' import { render } from '../tests/utils' import { Default, WithReplies } from './DiscussionContainer.stories' diff --git a/packages/components/src/DiscussionTitle/DiscussionTitle.test.tsx b/packages/components/src/DiscussionTitle/DiscussionTitle.test.tsx index d0d84eda3..61da9e3ec 100644 --- a/packages/components/src/DiscussionTitle/DiscussionTitle.test.tsx +++ b/packages/components/src/DiscussionTitle/DiscussionTitle.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { COMMENTS, NO_COMMENTS, ONE_COMMENT } from './DiscussionTitle' import { diff --git a/packages/components/src/DonationRequest/DonationRequest.test.tsx b/packages/components/src/DonationRequest/DonationRequest.test.tsx index 44fbd16e5..d8f42c60e 100644 --- a/packages/components/src/DonationRequest/DonationRequest.test.tsx +++ b/packages/components/src/DonationRequest/DonationRequest.test.tsx @@ -1,5 +1,5 @@ import { fireEvent } from '@testing-library/react' -import { vi } from 'vitest' +import { describe, expect, it, vi } from 'vitest' import { render } from '../tests/utils' import { DonationRequest, REQUEST_BUTTON_SKIP } from './DonationRequest' diff --git a/packages/components/src/DonationRequestModal/DonationRequestModal.test.tsx b/packages/components/src/DonationRequestModal/DonationRequestModal.test.tsx index 1b13793d7..5f1a093b7 100644 --- a/packages/components/src/DonationRequestModal/DonationRequestModal.test.tsx +++ b/packages/components/src/DonationRequestModal/DonationRequestModal.test.tsx @@ -1,4 +1,6 @@ -import { vi } from 'vitest' +import '@testing-library/jest-dom' + +import { describe, expect, it, vi } from 'vitest' import { render } from '../tests/utils' import { DonationRequestModal } from './DonationRequestModal' diff --git a/packages/components/src/DownloadButton/DownloadButton.test.tsx b/packages/components/src/DownloadButton/DownloadButton.test.tsx index 802dbae08..aaf679772 100644 --- a/packages/components/src/DownloadButton/DownloadButton.test.tsx +++ b/packages/components/src/DownloadButton/DownloadButton.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default } from './DownloadButton.stories' diff --git a/packages/components/src/DownloadCounter/DownloadCounter.test.tsx b/packages/components/src/DownloadCounter/DownloadCounter.test.tsx index 654afeec1..a9804285b 100644 --- a/packages/components/src/DownloadCounter/DownloadCounter.test.tsx +++ b/packages/components/src/DownloadCounter/DownloadCounter.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default, One, Zero } from './DownloadCounter.stories' diff --git a/packages/components/src/DownloadFileFromLink/DownloadFileFromLink.test.tsx b/packages/components/src/DownloadFileFromLink/DownloadFileFromLink.test.tsx index 0df083dda..98ab23cd1 100644 --- a/packages/components/src/DownloadFileFromLink/DownloadFileFromLink.test.tsx +++ b/packages/components/src/DownloadFileFromLink/DownloadFileFromLink.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default } from './DownloadFileFromLink.stories' diff --git a/packages/components/src/EditComment/EditComment.test.tsx b/packages/components/src/EditComment/EditComment.test.tsx index 90b0cab9e..6a6e60de6 100644 --- a/packages/components/src/EditComment/EditComment.test.tsx +++ b/packages/components/src/EditComment/EditComment.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom' + import { act, fireEvent } from '@testing-library/react' -import { vi } from 'vitest' +import { describe, expect, it, vi } from 'vitest' import { render } from '../tests/utils' import { EditComment, type IProps } from './EditComment' diff --git a/packages/components/src/FlagIcon/FlagIcon.tsx b/packages/components/src/FlagIcon/FlagIcon.tsx index 27074bccf..79a71df26 100644 --- a/packages/components/src/FlagIcon/FlagIcon.tsx +++ b/packages/components/src/FlagIcon/FlagIcon.tsx @@ -1,30 +1,16 @@ import * as React from 'react' +import { ReactCountryFlag } from 'react-country-flag' import styled from '@emotion/styled' import { Box } from 'theme-ui' -import FlagIconFactory from 'react-flag-icon-css' - -// Please only use `FlagIconFactory` one time in your application, there is no -// need to use it multiple times (it would slow down your app). You may place the -// line below in a `FlagIcon.js` file in your 'components' directory, then -// write `export default FlagIcon` as shown below and import it elsewhere in your app. -export const FlagIconFact = FlagIconFactory(React, { useCssModules: false }) - -export const FlagIconEvents = styled(FlagIconFact)` +export const FlagIconEvents = styled(ReactCountryFlag)` border-radius: 5px; background-size: cover !important; height: 23px; width: 35px !important; ` -/* -@media only screen and (max-width: ${(props) => props.theme.breakpoints[1]}) { - height: 15px; - width: 25px !important; - } -*/ - -export const FlagIconHowTos = styled(FlagIconFact)` +export const FlagIconHowTos = styled(ReactCountryFlag)` border-radius: 3px; background-size: cover !important; height: 14px; @@ -33,6 +19,8 @@ export const FlagIconHowTos = styled(FlagIconFact)` export const FlagIcon = (props: any) => ( - {props.children} + + {props.children} + ) diff --git a/packages/components/src/IconCountWithTooltip/IconCountWithTooltip.test.tsx b/packages/components/src/IconCountWithTooltip/IconCountWithTooltip.test.tsx index f8e18e025..afd87c92f 100644 --- a/packages/components/src/IconCountWithTooltip/IconCountWithTooltip.test.tsx +++ b/packages/components/src/IconCountWithTooltip/IconCountWithTooltip.test.tsx @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default } from './IconCountWithTooltip.stories' diff --git a/packages/components/src/ImageCrop/ImageCrop.test.tsx b/packages/components/src/ImageCrop/ImageCrop.test.tsx index 05910f15a..9e2e1add0 100644 --- a/packages/components/src/ImageCrop/ImageCrop.test.tsx +++ b/packages/components/src/ImageCrop/ImageCrop.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom' + import { fireEvent } from '@testing-library/react' -import { vi } from 'vitest' +import { describe, expect, it, vi } from 'vitest' import { render } from '../tests/utils' import { ImageCrop } from './ImageCrop' diff --git a/packages/components/src/ImageCrop/ImageCrop.tsx b/packages/components/src/ImageCrop/ImageCrop.tsx index ad1616aa8..98398e84e 100644 --- a/packages/components/src/ImageCrop/ImageCrop.tsx +++ b/packages/components/src/ImageCrop/ImageCrop.tsx @@ -1,7 +1,7 @@ // An edited version of https://codesandbox.io/p/sandbox/react-image-crop-demo-with-react-hooks-y831o import React, { useRef, useState } from 'react' -import ReactCrop from 'react-image-crop' +import { ReactCrop } from 'react-image-crop' import { Box, Flex, Text } from 'theme-ui' import { Button } from '../Button/Button' diff --git a/packages/components/src/ImageGallery/ImageGallery.test.tsx b/packages/components/src/ImageGallery/ImageGallery.test.tsx index 40c79e86c..4f53086ae 100644 --- a/packages/components/src/ImageGallery/ImageGallery.test.tsx +++ b/packages/components/src/ImageGallery/ImageGallery.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom/vitest' + import { findByRole as globalFindByRole, waitFor } from '@testing-library/react' -import { vi } from 'vitest' +import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest' import { render } from '../tests/utils' import { ImageGallery } from './ImageGallery' diff --git a/packages/components/src/MapMemberCard/MapMemberCard.test.tsx b/packages/components/src/MapMemberCard/MapMemberCard.test.tsx index 7eb3c3fc9..e0e421458 100644 --- a/packages/components/src/MapMemberCard/MapMemberCard.test.tsx +++ b/packages/components/src/MapMemberCard/MapMemberCard.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { MapMemberCard } from './MapMemberCard' import { Default, ModerationComments } from './MapMemberCard.stories' diff --git a/packages/components/src/NotificationItem/NotificationItem.tsx b/packages/components/src/NotificationItem/NotificationItem.tsx index dab0c2332..42f8a5ff4 100644 --- a/packages/components/src/NotificationItem/NotificationItem.tsx +++ b/packages/components/src/NotificationItem/NotificationItem.tsx @@ -3,14 +3,9 @@ import { Box, Flex } from 'theme-ui' import { Icon } from '../Icon/Icon' -import type { NotificationType } from 'oa-shared' +import type { NotificationType, UserNotificationItem } from 'oa-shared' import type { availableGlyphs } from '../Icon/types' -export interface UserNotificationItem { - type: NotificationType - children: React.ReactNode -} - function getIconByType(type: NotificationType): availableGlyphs { if (['howto_useful', 'research_useful'].includes(type)) return 'useful' if ( diff --git a/packages/components/src/NotificationList/NotificationList.stories.tsx b/packages/components/src/NotificationList/NotificationList.stories.tsx index 56fb85265..b4eb67c4e 100644 --- a/packages/components/src/NotificationList/NotificationList.stories.tsx +++ b/packages/components/src/NotificationList/NotificationList.stories.tsx @@ -4,7 +4,7 @@ import { InternalLink } from '../InternalLink/InternalLink' import { NotificationList } from './NotificationList' import type { Meta, StoryFn } from '@storybook/react' -import type { UserNotificationItem } from '../NotificationItem/NotificationItem' +import type { UserNotificationItem } from 'oa-shared' export default { title: 'Components/NotificationList', diff --git a/packages/components/src/NotificationList/NotificationList.tsx b/packages/components/src/NotificationList/NotificationList.tsx index 9b2bbe0ce..97648e847 100644 --- a/packages/components/src/NotificationList/NotificationList.tsx +++ b/packages/components/src/NotificationList/NotificationList.tsx @@ -5,8 +5,8 @@ import { Box, Card, Text } from 'theme-ui' import { Button } from '../Button/Button' import { NotificationItem } from '../NotificationItem/NotificationItem' +import type { UserNotificationItem } from 'oa-shared' import type { ThemeUIStyleObject } from 'theme-ui' -import type { UserNotificationItem } from '../NotificationItem/NotificationItem' export interface Props { notifications: UserNotificationItem[] diff --git a/packages/components/src/ProfileLink/ProfileLink.test.tsx b/packages/components/src/ProfileLink/ProfileLink.test.tsx index 842f3b066..75270c51e 100644 --- a/packages/components/src/ProfileLink/ProfileLink.test.tsx +++ b/packages/components/src/ProfileLink/ProfileLink.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Facebook, Instagram, Twitter, Youtube } from './ProfileLink.stories' diff --git a/packages/components/src/ResearchEditorOverview/ResearchEditorOverview.test.tsx b/packages/components/src/ResearchEditorOverview/ResearchEditorOverview.test.tsx index 86bd308c3..e70f14078 100644 --- a/packages/components/src/ResearchEditorOverview/ResearchEditorOverview.test.tsx +++ b/packages/components/src/ResearchEditorOverview/ResearchEditorOverview.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default, diff --git a/packages/components/src/TabbedContent/TabbedContent.test.tsx b/packages/components/src/TabbedContent/TabbedContent.test.tsx index e1a5d2414..4bb4bb7bb 100644 --- a/packages/components/src/TabbedContent/TabbedContent.test.tsx +++ b/packages/components/src/TabbedContent/TabbedContent.test.tsx @@ -1,4 +1,7 @@ +import '@testing-library/jest-dom' + import { act } from '@testing-library/react' +import { describe, expect, it } from 'vitest' import { render } from '../tests/utils' import { Default } from './TabbedContent.stories' diff --git a/packages/components/src/TagList/TagList.test.tsx b/packages/components/src/TagList/TagList.test.tsx index d2409c124..3e0cb7253 100644 --- a/packages/components/src/TagList/TagList.test.tsx +++ b/packages/components/src/TagList/TagList.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { TagList } from './TagList' diff --git a/packages/components/src/UserEngagementWrapper/UserEngagementWrapper.test.tsx b/packages/components/src/UserEngagementWrapper/UserEngagementWrapper.test.tsx index 1316dfbe1..248a2c7f6 100644 --- a/packages/components/src/UserEngagementWrapper/UserEngagementWrapper.test.tsx +++ b/packages/components/src/UserEngagementWrapper/UserEngagementWrapper.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default } from './UserEngagementWrapper.stories' diff --git a/packages/components/src/UserStatistics/UserStatistics.test.tsx b/packages/components/src/UserStatistics/UserStatistics.test.tsx index 123e2349f..fc8283ce1 100644 --- a/packages/components/src/UserStatistics/UserStatistics.test.tsx +++ b/packages/components/src/UserStatistics/UserStatistics.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom/vitest' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Default } from './UserStatistics.stories' diff --git a/packages/components/src/Username/Username.test.tsx b/packages/components/src/Username/Username.test.tsx index 3bb84101a..130ccbb3f 100644 --- a/packages/components/src/Username/Username.test.tsx +++ b/packages/components/src/Username/Username.test.tsx @@ -1,3 +1,7 @@ +import '@testing-library/jest-dom' + +import { describe, expect, it } from 'vitest' + import { render } from '../tests/utils' import { Username } from './Username' import { diff --git a/packages/components/src/Username/Username.tsx b/packages/components/src/Username/Username.tsx index f5da5d77e..8f922f653 100644 --- a/packages/components/src/Username/Username.tsx +++ b/packages/components/src/Username/Username.tsx @@ -59,7 +59,11 @@ export const Username = ({ user, sx }: IProps) => { {countryCode && isValidCountryCode(countryCode) ? ( - + ) : ( +import { defineConfig } from 'vite' +import svgr from 'vite-plugin-svgr' + +import type { UserConfig as VitestUserConfigInterface } from 'vitest/config' + +const vitestConfig: VitestUserConfigInterface = { + test: { + environment: 'jsdom', + globals: true, + setupFiles: './src/test/setup.ts', + coverage: { + provider: 'v8', + }, + reporters: ['junit'], + include: ['./src/**/*.{test,spec}.?(c|m)[jt]s?(x)'], + }, +} +// eslint-disable-next-line import/no-default-export +export default defineConfig({ + plugins: [react(), svgr()], + test: vitestConfig.test, +}) diff --git a/packages/cypress/scripts/start.ts b/packages/cypress/scripts/start.ts index 8b1ff529f..eb7009ea7 100644 --- a/packages/cypress/scripts/start.ts +++ b/packages/cypress/scripts/start.ts @@ -54,7 +54,7 @@ async function main() { async function startAppServer() { const { CROSSENV_BIN, BUILD_SERVE_JSON } = PATHS // by default spawns will not respect colours used in stdio, so try to force - const crossEnvArgs = `FORCE_COLOR=1 REACT_APP_SITE_VARIANT=test-ci` + const crossEnvArgs = `FORCE_COLOR=1 VITE_APP_SITE_VARIANT=test-ci` // run local debug server for testing unless production build specified let serverCmd = `${CROSSENV_BIN} ${crossEnvArgs} BROWSER=none PORT=3456 yarn start` diff --git a/packages/cypress/src/support/db/endpoints.ts b/packages/cypress/src/support/db/endpoints.ts index 4c09245e6..de8b2ee8a 100644 --- a/packages/cypress/src/support/db/endpoints.ts +++ b/packages/cypress/src/support/db/endpoints.ts @@ -11,7 +11,7 @@ const e = process.env || ({} as any) * e.g. oa_ * SessionStorage prefixes are used to allow test ci environments to dynamically set a db endpoint */ -const DB_PREFIX = sessionStorage.DB_PREFIX || e.REACT_APP_DB_PREFIX || '' +const DB_PREFIX = sessionStorage.DB_PREFIX || e.VITE_APP_DB_PREFIX || '' /** * Mapping of generic database endpoints to specific prefixed and revisioned versions for the diff --git a/packages/documentation/docs/Deployment/circle-ci.md b/packages/documentation/docs/Deployment/circle-ci.md index 980e23cb9..79daef0f0 100644 --- a/packages/documentation/docs/Deployment/circle-ci.md +++ b/packages/documentation/docs/Deployment/circle-ci.md @@ -44,29 +44,29 @@ See [circleci slack orb](https://github.com/CircleCI-Public/slack-orb) for info) ### Runtime Variables -Any variables prefixed with `REACT_APP_` are automatically included with the runtime build. Currently we require: +Any variables prefixed with `VITE_APP_` are automatically included with the runtime build. Currently we require: Firebase configuration ``` -REACT_APP_FIREBASE_API_KEY -REACT_APP_FIREBASE_AUTH_DOMAIN -REACT_APP_FIREBASE_DATABASE_URL -REACT_APP_FIREBASE_MESSAGING_SENDER_ID -REACT_APP_FIREBASE_PROJECT_ID -REACT_APP_FIREBASE_STORAGE_BUCKET +VITE_APP_FIREBASE_API_KEY +VITE_APP_FIREBASE_AUTH_DOMAIN +VITE_APP_FIREBASE_DATABASE_URL +VITE_APP_FIREBASE_MESSAGING_SENDER_ID +VITE_APP_FIREBASE_PROJECT_ID +VITE_APP_FIREBASE_STORAGE_BUCKET ``` Sentry error tracking ``` -REACT_APP_SENTRY_DSN +VITE_APP_SENTRY_DSN ``` Google Analytics ``` -REACT_APP_GA_TRACKING_ID +VITE_APP_GA_TRACKING_ID ``` ### Misc Variables diff --git a/packages/documentation/docs/Install.md b/packages/documentation/docs/Install.md index 6dd0b3122..d0be0e9da 100644 --- a/packages/documentation/docs/Install.md +++ b/packages/documentation/docs/Install.md @@ -38,17 +38,17 @@ You will need to set up a CircleCI context for each target environment. This con - `FIREBASE_TOKEN` - `GOOGLE_APPLICATION_CREDENTIALS_JSON` -- `REACT_APP_BRANCH` -- `REACT_APP_FIREBASE_API_KEY` -- `REACT_APP_FIREBASE_AUTH_DOMAIN` -- `REACT_APP_FIREBASE_DATABASE_URL` -- `REACT_APP_FIREBASE_MESSAGING_SENDER_ID` -- `REACT_APP_FIREBASE_PROJECT_ID` -- `REACT_APP_FIREBASE_STORAGE_BUCKET` -- `REACT_APP_GA_TRACKING_ID` -- `REACT_APP_PLATFORM_THEME` -- `REACT_APP_CDN_URL` - `https://cdn-url.com` - this is the URL to the CDN where the assets are stored. This is used to load the assets from the CDN instead of the local server. It should **not** include a trailing slash. -- `REACT_APP_PLATFORM_PROFILES` - comma separated list of available profiles. Use `ProfileType` from modules/profile/index for guidance here. For example: `member,workspace` -- `REACT_APP_SUPPORTED_MODULES` – comma separated list of available modules. See `/src/modules/index.ts` for the definitions. -- `REACT_APP_API_URL` – 'https://api-url.com' - this is the URL to the API service. It should **not** include a trailing slash. +- `VITE_APP_BRANCH` +- `VITE_APP_FIREBASE_API_KEY` +- `VITE_APP_FIREBASE_AUTH_DOMAIN` +- `VITE_APP_FIREBASE_DATABASE_URL` +- `VITE_APP_FIREBASE_MESSAGING_SENDER_ID` +- `VITE_APP_FIREBASE_PROJECT_ID` +- `VITE_APP_FIREBASE_STORAGE_BUCKET` +- `VITE_APP_GA_TRACKING_ID` +- `VITE_APP_PLATFORM_THEME` +- `VITE_APP_CDN_URL` - `https://cdn-url.com` - this is the URL to the CDN where the assets are stored. This is used to load the assets from the CDN instead of the local server. It should **not** include a trailing slash. +- `VITE_APP_PLATFORM_PROFILES` - comma separated list of available profiles. Use `ProfileType` from modules/profile/index for guidance here. For example: `member,workspace` +- `VITE_APP_SUPPORTED_MODULES` – comma separated list of available modules. See `/src/modules/index.ts` for the definitions. +- `VITE_APP_API_URL` – 'https://api-url.com' - this is the URL to the API service. It should **not** include a trailing slash. - `SITE_NAME` diff --git a/packages/security-rules/tests/general.spec.ts b/packages/security-rules/tests/general.spec.ts index b8074c187..e9f852be9 100644 --- a/packages/security-rules/tests/general.spec.ts +++ b/packages/security-rules/tests/general.spec.ts @@ -1,4 +1,6 @@ -require('dotenv').config() +import dotenv from 'dotenv' + +dotenv.config() import * as testing from '@firebase/rules-unit-testing' import { doc, getDoc, setDoc, setLogLevel } from 'firebase/firestore' diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 9ac6a8fe7..11895e68a 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "ESNext", - "module": "CommonJS", + "module": "ESNext", "lib": ["ESNext"], "types": ["node"], "moduleResolution": "Node", diff --git a/shared/models/db.ts b/shared/models/db.ts index 510800f84..7e7da9fb9 100644 --- a/shared/models/db.ts +++ b/shared/models/db.ts @@ -55,7 +55,7 @@ const storage = * e.g. oa_ * SessionStorage prefixes are used to allow test ci environments to dynamically set a db endpoint */ -const DB_PREFIX = storage.DB_PREFIX || e.REACT_APP_DB_PREFIX || '' +const DB_PREFIX = storage.DB_PREFIX || e.VITE_APP_DB_PREFIX || '' /** * Mapping of generic database endpoints to specific prefixed and revisioned versions for the diff --git a/shared/models/notifications.ts b/shared/models/notifications.ts index ed72aeb96..f1ffbef0d 100644 --- a/shared/models/notifications.ts +++ b/shared/models/notifications.ts @@ -23,3 +23,8 @@ export const NotificationTypes = [ ] as const export type NotificationType = typeof NotificationTypes[number] + +export type UserNotificationItem = { + type: NotificationType + children: React.ReactNode +} diff --git a/src/common/AuthWrapper.test.tsx b/src/common/AuthWrapper.test.tsx index c1f74376b..4e842dce0 100644 --- a/src/common/AuthWrapper.test.tsx +++ b/src/common/AuthWrapper.test.tsx @@ -1,6 +1,7 @@ import { render } from '@testing-library/react' import { UserRole } from 'oa-shared' import { FactoryUser } from 'src/test/factories/User' +import { describe, expect, it, vi } from 'vitest' import { AuthWrapper } from './AuthWrapper' // adjust this import according to your file structure @@ -10,7 +11,7 @@ const mockUser = FactoryUser({ userRoles: [UserRole.ADMIN], }) -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ __esModule: true, useCommonStores: () => ({ stores: { diff --git a/src/common/DiscussionWrapper.test.tsx b/src/common/DiscussionWrapper.test.tsx index 5ff2385b1..d94a97766 100644 --- a/src/common/DiscussionWrapper.test.tsx +++ b/src/common/DiscussionWrapper.test.tsx @@ -1,8 +1,11 @@ +import '@testing-library/jest-dom/vitest' + import { ThemeProvider } from '@emotion/react' import { act, render, waitFor } from '@testing-library/react' import { Provider } from 'mobx-react' import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { describe, expect, it, vi } from 'vitest' import { DiscussionWrapper } from './DiscussionWrapper' @@ -11,12 +14,12 @@ import type { IDiscussion } from 'src/models' const Theme = testingThemeStyles const mockUser = FactoryUser() -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ __esModule: true, useCommonStores: () => ({ stores: { discussionStore: { - fetchOrCreateDiscussionBySource: () => jest.fn(), + fetchOrCreateDiscussionBySource: () => vi.fn(), activeUser: () => mockUser, }, }, @@ -29,7 +32,7 @@ describe('DiscussionWrapper', () => { const discussionProps = { sourceType: 'question' as IDiscussion['sourceType'], sourceId: '82364tdf', - setTotalCommentsCount: () => jest.fn(), + setTotalCommentsCount: () => vi.fn(), } let wrapper diff --git a/src/common/DownloadWithDonationAsk.test.tsx b/src/common/DownloadWithDonationAsk.test.tsx index 8707a8b2c..5a8a6d0f7 100644 --- a/src/common/DownloadWithDonationAsk.test.tsx +++ b/src/common/DownloadWithDonationAsk.test.tsx @@ -1,18 +1,21 @@ +import '@testing-library/jest-dom/vitest' + import { fireEvent, render } from '@testing-library/react' import { UserRole } from 'oa-shared' import { FactoryUser } from 'src/test/factories/User' +import { describe, expect, it, vi } from 'vitest' import { useCommonStores } from './hooks/useCommonStores' import { DownloadWithDonationAsk } from './DownloadWithDonationAsk' -const mockedUsedNavigate = jest.fn() -jest.mock('react-router-dom', () => ({ +const mockedUsedNavigate = vi.fn() +vi.mock('react-router-dom', () => ({ useNavigate: () => mockedUsedNavigate, })) -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ __esModule: true, - useCommonStores: jest.fn(), + useCommonStores: vi.fn(), })) const userToMock = (user) => { return useCommonStores.mockImplementation(() => ({ @@ -24,7 +27,7 @@ describe('DownloadFileFromLink', () => { it('when logged out, requires users to login', () => { const { getAllByTestId } = render( , @@ -40,7 +43,7 @@ describe('DownloadFileFromLink', () => { const user = FactoryUser() userToMock(user) - const handleClick = jest.fn() + const handleClick = vi.fn() const { getAllByTestId } = render( { const user = FactoryUser({ userRoles: [UserRole.BETA_TESTER] }) userToMock(user) - const handleClick = jest.fn() + const handleClick = vi.fn() const { getAllByTestId } = render( { const [state, setState] = useState({ open: false }) - const [uppy] = useState( - () => new Uppy({ ...UPPY_CONFIG, onBeforeUpload: () => uploadTriggered() }), + const [uppy] = useState(() => + new Uppy({ ...UPPY_CONFIG, onBeforeUpload: () => uploadTriggered() }).use( + Compressor, + ), ) useEffect(() => { diff --git a/src/common/HideDiscussionContainer.test.tsx b/src/common/HideDiscussionContainer.test.tsx index 8c7d1d172..09ea5cd6f 100644 --- a/src/common/HideDiscussionContainer.test.tsx +++ b/src/common/HideDiscussionContainer.test.tsx @@ -1,4 +1,7 @@ +import '@testing-library/jest-dom/vitest' + import { fireEvent, render } from '@testing-library/react' +import { describe, expect, it } from 'vitest' import { HideDiscussionContainer } from './HideDiscussionContainer' diff --git a/src/common/ScrollToTop.test.tsx b/src/common/ScrollToTop.test.tsx index 63a751d15..54e58a0b1 100644 --- a/src/common/ScrollToTop.test.tsx +++ b/src/common/ScrollToTop.test.tsx @@ -1,19 +1,22 @@ import { act } from 'react-dom/test-utils' import { useLocation } from 'react-router-dom' import { render } from '@testing-library/react' +import { describe, expect, it, vi } from 'vitest' import { ScrollToTop } from './ScrollToTop' -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useLocation: jest.fn(), +import type { Mock } from 'vitest' + +vi.mock('react-router-dom', async () => ({ + ...(await vi.importActual('react-router-dom')), + useLocation: vi.fn(), })) describe('ScrollToTop', () => { it('should scroll to top when pathname changes', async () => { - const scrollToSpy = jest.fn() + const scrollToSpy = vi.fn() global.window.scrollTo = scrollToSpy - ;(useLocation as jest.Mock).mockImplementation(() => ({ + ;(useLocation as Mock).mockImplementation(() => ({ pathname: '/initial', })) @@ -27,7 +30,7 @@ describe('ScrollToTop', () => { // Reset the mock to track subsequent calls scrollToSpy.mockReset() - ;(useLocation as jest.Mock).mockImplementation(() => ({ + ;(useLocation as Mock).mockImplementation(() => ({ pathname: '/changed', })) diff --git a/src/common/Tags/TagsList.test.tsx b/src/common/Tags/TagsList.test.tsx index f75d90c26..dfee1191e 100644 --- a/src/common/Tags/TagsList.test.tsx +++ b/src/common/Tags/TagsList.test.tsx @@ -1,8 +1,11 @@ +import '@testing-library/jest-dom/vitest' + import { render } from '@testing-library/react' +import { describe, expect, it, vi } from 'vitest' import { TagList } from './TagsList' -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ __esModule: true, useCommonStores: () => ({ stores: { diff --git a/src/config/config.ts b/src/config/config.ts index 891a077a8..6d095d6a6 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -4,7 +4,7 @@ Switch config dependent on use case For our use case the production config is stored in environment variables passed from CI. You can replace this with your own config or use the same pattern to keep api keys secret. Note, create-react-app only passes environment variables prefixed with -'REACT_APP'. The required info has been encrypted and stored in a circleCI deployment context. +'VITE_APP'. The required info has been encrypted and stored in a circleCI deployment context. Dev config is hardcoded - You can find more information about potential security risk here: https://javebratt.com/hide-firebase-api/ @@ -17,7 +17,7 @@ import type { IFirebaseConfig, ISentryConfig, siteVariants } from './types' /** * Helper function to load configuration property * from the global configuration object - * During the development cycle this will be process.env + * During the development cycle this will be import.meta.env * when running this application with the output of `yarn build` * we will instead load from the global window * @@ -27,9 +27,9 @@ import type { IFirebaseConfig, ISentryConfig, siteVariants } from './types' */ const _c = (property: ConfigurationOption, fallbackValue?: string): string => { const configurationSource = ['development', 'test'].includes( - process.env.NODE_ENV, + import.meta.env.NODE_ENV, ) - ? process.env + ? import.meta.env : window?.__OA_COMMUNITY_PLATFORM_CONFIGURATION return configurationSource?.[property] || fallbackValue } @@ -62,14 +62,14 @@ const getSiteVariant = (): siteVariants => { } if ( location.host === 'localhost:3456' || - _c('REACT_APP_SITE_VARIANT') === 'test-ci' + _c('VITE_APP_SITE_VARIANT') === 'test-ci' ) { return 'test-ci' } - if (_c('REACT_APP_SITE_VARIANT') === 'preview') { + if (_c('VITE_APP_SITE_VARIANT') === 'preview') { return 'preview' } - switch (_c('REACT_APP_BRANCH')) { + switch (_c('VITE_APP_BRANCH')) { case 'production': return 'production' case 'master': @@ -131,12 +131,12 @@ const firebaseConfigs: { [variant in siteVariants]: IFirebaseConfig } = { }, /** Production/live backend with released frontend */ production: { - apiKey: _c('REACT_APP_FIREBASE_API_KEY'), - authDomain: _c('REACT_APP_FIREBASE_AUTH_DOMAIN'), - databaseURL: _c('REACT_APP_FIREBASE_DATABASE_URL'), - messagingSenderId: _c('REACT_APP_FIREBASE_MESSAGING_SENDER_ID'), - projectId: _c('REACT_APP_FIREBASE_PROJECT_ID'), - storageBucket: _c('REACT_APP_FIREBASE_STORAGE_BUCKET'), + apiKey: _c('VITE_APP_FIREBASE_API_KEY'), + authDomain: _c('VITE_APP_FIREBASE_AUTH_DOMAIN'), + databaseURL: _c('VITE_APP_FIREBASE_DATABASE_URL'), + messagingSenderId: _c('VITE_APP_FIREBASE_MESSAGING_SENDER_ID'), + projectId: _c('VITE_APP_FIREBASE_PROJECT_ID'), + storageBucket: _c('VITE_APP_FIREBASE_STORAGE_BUCKET'), }, } /*********************************************************************************************** / @@ -148,22 +148,22 @@ export const DEV_SITE_ROLE = devSiteRole export const FIREBASE_CONFIG = firebaseConfigs[siteVariant] export const SENTRY_CONFIG: ISentryConfig = { dsn: _c( - 'REACT_APP_SENTRY_DSN', + 'VITE_APP_SENTRY_DSN', 'https://8c1f7eb4892e48b18956af087bdfa3ac@sentry.io/1399729', ), environment: siteVariant, } -export const CDN_URL = _c('REACT_APP_CDN_URL', '') -export const VERSION = _c('REACT_APP_PROJECT_VERSION', '') -export const GA_TRACKING_ID = _c('REACT_APP_GA_TRACKING_ID') -export const PATREON_CLIENT_ID = _c('REACT_APP_PATREON_CLIENT_ID') -export const API_URL = _c('REACT_APP_API_URL', '') +export const CDN_URL = _c('VITE_APP_CDN_URL', '') +export const VERSION = _c('VITE_APP_PROJECT_VERSION', '') +export const GA_TRACKING_ID = _c('VITE_APP_GA_TRACKING_ID') +export const PATREON_CLIENT_ID = _c('VITE_APP_PATREON_CLIENT_ID') +export const API_URL = _c('VITE_APP_API_URL', '') export const isPreciousPlastic = (): boolean => { return ( - (_c('REACT_APP_PLATFORM_THEME') || - localStorage.getItem('platformTheme')) === 'precious-plastic' + (_c('VITE_APP_PLATFORM_THEME') || localStorage.getItem('platformTheme')) === + 'precious-plastic' ) } diff --git a/src/config/constants.ts b/src/config/constants.ts index b93f7f189..751986355 100644 --- a/src/config/constants.ts +++ b/src/config/constants.ts @@ -5,27 +5,27 @@ * type exported from this file */ export const _supportedConfigurationOptions = [ - 'REACT_APP_SENTRY_DSN', - 'REACT_APP_PROJECT_VERSION', - 'REACT_APP_GA_TRACKING_ID', - 'REACT_APP_FIREBASE_API_KEY', - 'REACT_APP_FIREBASE_AUTH_DOMAIN', - 'REACT_APP_FIREBASE_DATABASE_URL', - 'REACT_APP_FIREBASE_MESSAGING_SENDER_ID', - 'REACT_APP_FIREBASE_PROJECT_ID', - 'REACT_APP_FIREBASE_STORAGE_BUCKET', - 'REACT_APP_ALGOLIA_PLACES_APP_ID', - 'REACT_APP_ALGOLIA_PLACES_API_KEY', - 'REACT_APP_BRANCH', - 'REACT_APP_SITE_VARIANT', - 'REACT_APP_LOG_LEVEL', - 'REACT_APP_LOG_TRANSPORT', - 'REACT_APP_SUPPORTED_MODULES', - 'REACT_APP_PLATFORM_THEME', - 'REACT_APP_PLATFORM_PROFILES', - 'REACT_APP_CDN_URL', - 'REACT_APP_PATREON_CLIENT_ID', - 'REACT_APP_API_URL', + 'VITE_APP_SENTRY_DSN', + 'VITE_APP_PROJECT_VERSION', + 'VITE_APP_GA_TRACKING_ID', + 'VITE_APP_FIREBASE_API_KEY', + 'VITE_APP_FIREBASE_AUTH_DOMAIN', + 'VITE_APP_FIREBASE_DATABASE_URL', + 'VITE_APP_FIREBASE_MESSAGING_SENDER_ID', + 'VITE_APP_FIREBASE_PROJECT_ID', + 'VITE_APP_FIREBASE_STORAGE_BUCKET', + 'VITE_APP_ALGOLIA_PLACES_APP_ID', + 'VITE_APP_ALGOLIA_PLACES_API_KEY', + 'VITE_APP_BRANCH', + 'VITE_APP_SITE_VARIANT', + 'VITE_APP_LOG_LEVEL', + 'VITE_APP_LOG_TRANSPORT', + 'VITE_APP_SUPPORTED_MODULES', + 'VITE_APP_PLATFORM_THEME', + 'VITE_APP_PLATFORM_PROFILES', + 'VITE_APP_CDN_URL', + 'VITE_APP_PATREON_CLIENT_ID', + 'VITE_APP_API_URL', ] as const export type ConfigurationOption = typeof _supportedConfigurationOptions[number] diff --git a/src/logger/index.test.ts b/src/logger/index.test.ts index 8442fcadf..0e5b04ed4 100644 --- a/src/logger/index.test.ts +++ b/src/logger/index.test.ts @@ -1,3 +1,5 @@ +import { describe, it } from 'vitest' + import { logger } from './index' describe('logger', () => { diff --git a/src/logger/index.ts b/src/logger/index.ts index d75261ea6..8aa681012 100644 --- a/src/logger/index.ts +++ b/src/logger/index.ts @@ -2,8 +2,8 @@ import { Logger } from 'tslog' import { getConfigurationOption } from '../config/config' -const logLevel = getConfigurationOption('REACT_APP_LOG_LEVEL', 'info') -const logTransport = getConfigurationOption('REACT_APP_LOG_TRANSPORT', 'none') +const logLevel = getConfigurationOption('VITE_APP_LOG_LEVEL', 'info') +const logTransport = getConfigurationOption('VITE_APP_LOG_TRANSPORT', 'none') const levelNumberToNameMap = { silly: 0, diff --git a/src/modules/index.test.ts b/src/modules/index.test.ts index 54bc5dd40..ba2454685 100644 --- a/src/modules/index.test.ts +++ b/src/modules/index.test.ts @@ -1,13 +1,15 @@ +import { afterAll, describe, expect, it } from 'vitest' + import { getSupportedModules, isModuleSupported, MODULE } from '.' describe('getSupportedModules', () => { - const oldProcessEnv = process.env + const defaultModules = import.meta.env.VITE_APP_SUPPORTED_MODULES afterAll(() => { - process.env = oldProcessEnv + import.meta.env.VITE_APP_SUPPORTED_MODULES = defaultModules }) it('returns a default set of modules', () => { - process.env.REACT_APP_SUPPORTED_MODULES = '' + import.meta.env.VITE_APP_SUPPORTED_MODULES = '' expect(getSupportedModules()).toStrictEqual([ MODULE.CORE, MODULE.HOWTO, @@ -20,17 +22,17 @@ describe('getSupportedModules', () => { }) it('loads an additional module based on env configuration', () => { - process.env.REACT_APP_SUPPORTED_MODULES = ` ${MODULE.HOWTO} ` + import.meta.env.VITE_APP_SUPPORTED_MODULES = ` ${MODULE.HOWTO} ` expect(getSupportedModules()).toStrictEqual([MODULE.CORE, MODULE.HOWTO]) }) it('loads multiple modules based on env configuration', () => { - process.env.REACT_APP_SUPPORTED_MODULES = ` ${MODULE.HOWTO} ` + import.meta.env.VITE_APP_SUPPORTED_MODULES = ` ${MODULE.HOWTO} ` expect(getSupportedModules()).toStrictEqual([MODULE.CORE, MODULE.HOWTO]) }) it('ignores a malformed module definitions', () => { - process.env.REACT_APP_SUPPORTED_MODULES = `fake module,${MODULE.HOWTO},malicious ` + import.meta.env.VITE_APP_SUPPORTED_MODULES = `fake module,${MODULE.HOWTO},malicious ` expect(getSupportedModules()).toStrictEqual([MODULE.CORE, MODULE.HOWTO]) }) }) @@ -41,12 +43,12 @@ describe('isModuleSupported', () => { }) it('returns true for module enabled via env', () => { - process.env.REACT_APP_SUPPORTED_MODULES = `${MODULE.RESEARCH}` + import.meta.env.VITE_APP_SUPPORTED_MODULES = `${MODULE.RESEARCH}` expect(isModuleSupported(MODULE.RESEARCH)).toBe(true) }) it('returns false for unsupported module', () => { - process.env.REACT_APP_SUPPORTED_MODULES = `${MODULE.HOWTO}` + import.meta.env.VITE_APP_SUPPORTED_MODULES = `${MODULE.HOWTO}` expect(isModuleSupported(MODULE.RESEARCH)).toBe(false) }) }) diff --git a/src/modules/index.ts b/src/modules/index.ts index aa767701a..aed30bc98 100644 --- a/src/modules/index.ts +++ b/src/modules/index.ts @@ -13,7 +13,7 @@ export enum MODULE { export const getSupportedModules = (): MODULE[] => { const envModules: string[] = getConfigurationOption( - 'REACT_APP_SUPPORTED_MODULES', + 'VITE_APP_SUPPORTED_MODULES', 'howto,map,research,academy,user,question', ) .split(',') diff --git a/src/modules/profile/index.test.ts b/src/modules/profile/index.test.ts index 115029616..29b56725c 100644 --- a/src/modules/profile/index.test.ts +++ b/src/modules/profile/index.test.ts @@ -1,9 +1,6 @@ -import { getSupportedProfileTypes } from './index' -import { SupportedProfileTypesFactory } from './SupportedProfileTypesFactory' +import { describe, expect, it } from 'vitest' -describe('getSupportedProfileTypes', () => { - expect(typeof getSupportedProfileTypes).toBe('function') -}) +import { SupportedProfileTypesFactory } from './SupportedProfileTypesFactory' describe('SupportedProfileTypesFactory', () => { it('handles malformed input with default items', () => { @@ -13,37 +10,41 @@ describe('SupportedProfileTypesFactory', () => { expect(profiles).toEqual( expect.arrayContaining([ { - cleanImageSrc: 'avatar_member_sm.svg', - cleanImageVerifiedSrc: 'avatar_member_sm.svg', - imageSrc: 'avatar_member_sm.svg', + cleanImageSrc: + '/src/assets/images/themes/precious-plastic/avatar_member_sm.svg', + cleanImageVerifiedSrc: + '/src/assets/images/themes/precious-plastic/avatar_member_sm.svg', + imageSrc: + '/src/assets/images/themes/precious-plastic/avatar_member_sm.svg', label: 'member', textLabel: 'I am a member', }, { - cleanImageSrc: 'map-workspace.svg', - cleanImageVerifiedSrc: 'map-workspace-verified.svg', - imageSrc: 'pt-workspace.svg', + cleanImageSrc: '/src/assets/icons/map-workspace.svg', + cleanImageVerifiedSrc: '/src/assets/icons/map-workspace-verified.svg', + imageSrc: '/src/assets/images/badges/pt-workspace.svg', label: 'workspace', textLabel: 'I run a workspace', }, { - cleanImageSrc: 'map-machine.svg', - cleanImageVerifiedSrc: 'map-machine-verified.svg', - imageSrc: 'pt-machine-shop.svg', + cleanImageSrc: '/src/assets/icons/map-machine.svg', + cleanImageVerifiedSrc: '/src/assets/icons/map-machine-verified.svg', + imageSrc: '/src/assets/images/badges/pt-machine-shop.svg', label: 'machine-builder', textLabel: 'I build machines', }, { - cleanImageSrc: 'map-community.svg', - cleanImageVerifiedSrc: 'map-community-verified.svg', - imageSrc: 'pt-local-community.svg', + cleanImageSrc: '/src/assets/icons/map-community.svg', + cleanImageVerifiedSrc: '/src/assets/icons/map-community-verified.svg', + imageSrc: '/src/assets/images/badges/pt-local-community.svg', label: 'community-builder', textLabel: 'I run a local community', }, { - cleanImageSrc: 'map-collection.svg', - cleanImageVerifiedSrc: 'map-collection-verified.svg', - imageSrc: 'pt-collection-point.svg', + cleanImageSrc: '/src/assets/icons/map-collection.svg', + cleanImageVerifiedSrc: + '/src/assets/icons/map-collection-verified.svg', + imageSrc: '/src/assets/images/badges/pt-collection-point.svg', label: 'collection-point', textLabel: 'I collect & sort plastic', }, @@ -57,9 +58,12 @@ describe('SupportedProfileTypesFactory', () => { expect(profiles).toEqual( expect.arrayContaining([ { - cleanImageSrc: 'avatar_member_sm.svg', - cleanImageVerifiedSrc: 'avatar_member_sm.svg', - imageSrc: 'avatar_member_sm.svg', + cleanImageSrc: + '/src/assets/images/themes/precious-plastic/avatar_member_sm.svg', + cleanImageVerifiedSrc: + '/src/assets/images/themes/precious-plastic/avatar_member_sm.svg', + imageSrc: + '/src/assets/images/themes/precious-plastic/avatar_member_sm.svg', label: 'member', textLabel: 'I am a member', }, diff --git a/src/modules/profile/index.ts b/src/modules/profile/index.ts index 1c28723c1..f8e4339af 100644 --- a/src/modules/profile/index.ts +++ b/src/modules/profile/index.ts @@ -5,7 +5,7 @@ import type { PlatformTheme } from 'oa-themes' export const getSupportedProfileTypes = (currentTheme?: PlatformTheme) => { const supportedProfileTypes = SupportedProfileTypesFactory( - getConfigurationOption('REACT_APP_PLATFORM_PROFILES', ''), + getConfigurationOption('VITE_APP_PLATFORM_PROFILES', ''), currentTheme, )() diff --git a/src/pages/Academy/Academy.test.tsx b/src/pages/Academy/Academy.test.tsx index 517a18837..4268bb1e0 100644 --- a/src/pages/Academy/Academy.test.tsx +++ b/src/pages/Academy/Academy.test.tsx @@ -1,3 +1,5 @@ +import { describe, expect, it, vi } from 'vitest' + import { getFrameSrc } from './Academy' // Mock out the useCommonStores method @@ -5,9 +7,9 @@ import { getFrameSrc } from './Academy' // being instantiated as part of the loading process // This is a code smell, which needs to be resolved but // is out of scope for the current task. -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { - useCommonStores: jest.fn(), + useCommonStores: vi.fn(), } }) diff --git a/src/pages/DonationThankYou/DonationThankYou.test.tsx b/src/pages/DonationThankYou/DonationThankYou.test.tsx index aa4ca553d..a8978945a 100644 --- a/src/pages/DonationThankYou/DonationThankYou.test.tsx +++ b/src/pages/DonationThankYou/DonationThankYou.test.tsx @@ -1,10 +1,11 @@ import { render } from '@testing-library/react' +import { describe, expect, it, vi } from 'vitest' import DonationThankYou from './DonationThankYou' describe('DonationThankYou', () => { it('sends the expected message', () => { - window.top.postMessage = jest.fn() + window.top.postMessage = vi.fn() render() diff --git a/src/pages/Howto/Content/Common/FormFieldWrapper.test.tsx b/src/pages/Howto/Content/Common/FormFieldWrapper.test.tsx index 46837c988..048a5b66c 100644 --- a/src/pages/Howto/Content/Common/FormFieldWrapper.test.tsx +++ b/src/pages/Howto/Content/Common/FormFieldWrapper.test.tsx @@ -1,5 +1,6 @@ import { render, screen } from '@testing-library/react' import { HowtoProvider } from 'src/test/components' +import { describe, it } from 'vitest' import { FormFieldWrapper } from '.' diff --git a/src/pages/Howto/Content/Common/Howto.form.test.tsx b/src/pages/Howto/Content/Common/Howto.form.test.tsx index cbc461e77..a9a9e5bd8 100644 --- a/src/pages/Howto/Content/Common/Howto.form.test.tsx +++ b/src/pages/Howto/Content/Common/Howto.form.test.tsx @@ -1,3 +1,5 @@ +import '@testing-library/jest-dom/vitest' + import { MemoryRouter } from 'react-router-dom' import { ThemeProvider } from '@emotion/react' import { act, fireEvent, render } from '@testing-library/react' @@ -5,12 +7,13 @@ import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryHowto } from 'src/test/factories/Howto' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { describe, expect, it, vi } from 'vitest' import { HowtoForm } from './Howto.form' const Theme = testingThemeStyles -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { useCommonStores: () => ({ stores: { @@ -26,8 +29,8 @@ jest.mock('src/common/hooks/useCommonStores', () => { Database: false, Complete: false, }, - validateTitleForSlug: jest.fn(), - uploadHowTo: jest.fn(), + validateTitleForSlug: vi.fn(), + uploadHowTo: vi.fn(), }, tagsStore: { allTags: [ @@ -49,8 +52,8 @@ describe('Howto form', () => { const formValues = FactoryHowto() // Act let wrapper - await act(async () => { - wrapper = await Wrapper(formValues, 'edit', {}) + act(() => { + wrapper = Wrapper(formValues, 'edit', {}) }) // Assert @@ -156,7 +159,7 @@ describe('Howto form', () => { }) }) -const Wrapper = async (formValues, parentType, navProps) => { +const Wrapper = (formValues, parentType, navProps) => { return render( diff --git a/src/pages/Howto/Content/Common/HowtoCategoryGuidance.test.tsx b/src/pages/Howto/Content/Common/HowtoCategoryGuidance.test.tsx index b85b03955..6217cd3d0 100644 --- a/src/pages/Howto/Content/Common/HowtoCategoryGuidance.test.tsx +++ b/src/pages/Howto/Content/Common/HowtoCategoryGuidance.test.tsx @@ -2,6 +2,7 @@ import { render, screen } from '@testing-library/react' import { guidance } from 'src/pages/Howto/labels' import { HowtoProvider } from 'src/test/components' import { FactoryCategory } from 'src/test/factories/Category' +import { describe, expect, it } from 'vitest' import { HowtoCategoryGuidance } from '.' diff --git a/src/pages/Howto/Content/Common/HowtoErrors.test.tsx b/src/pages/Howto/Content/Common/HowtoErrors.test.tsx index fc7576cf4..31b9c754a 100644 --- a/src/pages/Howto/Content/Common/HowtoErrors.test.tsx +++ b/src/pages/Howto/Content/Common/HowtoErrors.test.tsx @@ -1,5 +1,6 @@ import { render, screen } from '@testing-library/react' import { HowtoProvider } from 'src/test/components' +import { describe, expect, it } from 'vitest' import { HowtoErrors } from '.' diff --git a/src/pages/Howto/Content/Common/HowtoFieldDescription.test.tsx b/src/pages/Howto/Content/Common/HowtoFieldDescription.test.tsx index 6d73b71ea..09aca4b3a 100644 --- a/src/pages/Howto/Content/Common/HowtoFieldDescription.test.tsx +++ b/src/pages/Howto/Content/Common/HowtoFieldDescription.test.tsx @@ -1,5 +1,6 @@ import { render, screen } from '@testing-library/react' import { HowtoProvider } from 'src/test/components' +import { describe, it } from 'vitest' import { HowtoFieldDescription } from '.' diff --git a/src/pages/Howto/Content/Common/HowtoFieldFiles.test.tsx b/src/pages/Howto/Content/Common/HowtoFieldFiles.test.tsx index abf3dced5..4666c542b 100644 --- a/src/pages/Howto/Content/Common/HowtoFieldFiles.test.tsx +++ b/src/pages/Howto/Content/Common/HowtoFieldFiles.test.tsx @@ -2,6 +2,7 @@ import { render, screen } from '@testing-library/react' import { guidance } from 'src/pages/Howto/labels' import { HowtoProvider } from 'src/test/components' import { FactoryCategory } from 'src/test/factories/Category' +import { describe, it, vi } from 'vitest' import { HowtoFieldFiles } from '.' @@ -11,7 +12,7 @@ describe('HowtoFieldFiles', () => { category: undefined, fileEditMode: true, files: [], - onClick: jest.fn(), + onClick: vi.fn(), showInvalidFileWarning: false, } @@ -31,7 +32,7 @@ describe('HowtoFieldFiles', () => { category: FactoryCategory, fileEditMode: true, files: [], - onClick: jest.fn(), + onClick: vi.fn(), showInvalidFileWarning: false, } diff --git a/src/pages/Howto/Content/Common/HowtoFieldStepsContainer.test.tsx b/src/pages/Howto/Content/Common/HowtoFieldStepsContainer.test.tsx index 2269086a1..de24ebc59 100644 --- a/src/pages/Howto/Content/Common/HowtoFieldStepsContainer.test.tsx +++ b/src/pages/Howto/Content/Common/HowtoFieldStepsContainer.test.tsx @@ -1,5 +1,6 @@ import { render, screen } from '@testing-library/react' import { HowtoProvider } from 'src/test/components' +import { describe, it } from 'vitest' import { HowtoFieldStepsContainer } from '.' diff --git a/src/pages/Howto/Content/Common/HowtoFieldTitle.test.tsx b/src/pages/Howto/Content/Common/HowtoFieldTitle.test.tsx index bd09b6257..d15db43a2 100644 --- a/src/pages/Howto/Content/Common/HowtoFieldTitle.test.tsx +++ b/src/pages/Howto/Content/Common/HowtoFieldTitle.test.tsx @@ -1,13 +1,14 @@ import { render, screen } from '@testing-library/react' import { HowtoProvider } from 'src/test/components' +import { describe, it, vi } from 'vitest' import { HowtoFieldTitle } from '.' import type { HowtoStore } from 'src/stores/Howto/howto.store' import type { ParentType } from './Howto.form' -jest.mock('src/stores/Howto/howto.store') -const store = jest.createMockFromModule('src/stores/Howto/howto.store') +vi.mock('src/stores/Howto/howto.store') +const store = await vi.importMock('src/stores/Howto/howto.store') describe('HowtoFieldTitle', () => { it('renders', async () => { diff --git a/src/pages/Howto/Content/Common/howtofieldstep.test.tsx b/src/pages/Howto/Content/Common/howtofieldstep.test.tsx index f289e556c..e539868df 100644 --- a/src/pages/Howto/Content/Common/howtofieldstep.test.tsx +++ b/src/pages/Howto/Content/Common/howtofieldstep.test.tsx @@ -1,5 +1,6 @@ import { render, screen } from '@testing-library/react' import { HowtoProvider } from 'src/test/components' +import { describe, it, vi } from 'vitest' import { HowtoFieldStep } from '.' @@ -9,8 +10,8 @@ describe('HowtoFieldStep', () => { step: [], index: 0, images: [], - onDelete: jest.fn(() => null), - moveStep: jest.fn(() => null), + onDelete: vi.fn(() => null), + moveStep: vi.fn(() => null), } render( diff --git a/src/pages/Howto/Content/Common/utils/transformHowtoErrors.test.ts b/src/pages/Howto/Content/Common/utils/transformHowtoErrors.test.ts index 9dae11132..94087a878 100644 --- a/src/pages/Howto/Content/Common/utils/transformHowtoErrors.test.ts +++ b/src/pages/Howto/Content/Common/utils/transformHowtoErrors.test.ts @@ -1,4 +1,5 @@ import { intro, steps } from 'src/pages/Howto/labels' +import { describe, expect, it } from 'vitest' import { transformHowtoErrors } from '.' diff --git a/src/pages/Howto/Content/Howto/Howto.test.tsx b/src/pages/Howto/Content/Howto/Howto.test.tsx index c78692e87..3b16746c8 100644 --- a/src/pages/Howto/Content/Howto/Howto.test.tsx +++ b/src/pages/Howto/Content/Howto/Howto.test.tsx @@ -1,3 +1,5 @@ +import '@testing-library/jest-dom/vitest' + import { createMemoryRouter, createRoutesFromElements, @@ -10,6 +12,7 @@ import { act, render, within } from '@testing-library/react' import { Provider } from 'mobx-react' import { preciousPlasticTheme } from 'oa-themes' import { FactoryHowto, FactoryHowtoStep } from 'src/test/factories/Howto' +import { describe, expect, it, vi } from 'vitest' import type { HowtoStore } from 'src/stores/Howto/howto.store' @@ -18,21 +21,21 @@ const Theme = preciousPlasticTheme.styles const howto = FactoryHowto() const mockHowtoStore = () => ({ - setActiveHowtoBySlug: jest.fn(), + setActiveHowtoBySlug: vi.fn(), activeHowto: howto, - needsModeration: jest.fn().mockReturnValue(false), - incrementViewCount: jest.fn(), - removeActiveHowto: jest.fn(), + needsModeration: vi.fn().mockReturnValue(false), + incrementViewCount: vi.fn(), + removeActiveHowto: vi.fn(), }) -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ // eslint-disable-next-line @typescript-eslint/naming-convention __esModule: true, useCommonStores: () => ({ stores: { userStore: {}, aggregationsStore: { - isVerified: jest.fn((userId) => userId === 'HowtoAuthor'), + isVerified: vi.fn((userId) => userId === 'HowtoAuthor'), users_verified: { HowtoAuthor: true, }, diff --git a/src/pages/Howto/howto.service.test.ts b/src/pages/Howto/howto.service.test.ts index 207c3c33c..707acb9c7 100644 --- a/src/pages/Howto/howto.service.test.ts +++ b/src/pages/Howto/howto.service.test.ts @@ -1,40 +1,42 @@ import '@testing-library/jest-dom' -import { UserRole } from 'oa-shared/models' +import { UserRole } from 'oa-shared' import { FactoryUser } from 'src/test/factories/User' +import { describe, expect, it, vi } from 'vitest' import { exportedForTesting } from './howto.service' -const mockWhere = jest.fn() -const mockOrderBy = jest.fn() -const mockLimit = jest.fn() -const mockOr = jest.fn() -jest.mock('firebase/firestore', () => ({ - collection: jest.fn(), - query: jest.fn(), - and: jest.fn(), +const mockWhere = vi.fn() +const mockOrderBy = vi.fn() +const mockLimit = vi.fn() +const mockOr = vi.fn() +vi.mock('firebase/firestore', () => ({ + collection: vi.fn(), + query: vi.fn(), + and: vi.fn(), where: (path, op, value) => mockWhere(path, op, value), limit: (limit) => mockLimit(limit), orderBy: (field, direction) => mockOrderBy(field, direction), or: (constraints) => mockOr(constraints), })) -jest.mock('../../stores/databaseV2/endpoints', () => ({ +vi.mock('../../stores/databaseV2/endpoints', () => ({ DB_ENDPOINTS: { howtos: 'howtos', categories: 'categories', }, })) -jest.mock('../../config/config', () => ({ - getConfigurationOption: jest.fn(), +vi.mock('../../config/config', () => ({ + getConfigurationOption: vi.fn(), FIREBASE_CONFIG: { apiKey: 'AIyChVN', databaseURL: 'https://test.firebaseio.com', projectId: 'test', storageBucket: 'test.appspot.com', }, - localStorage: jest.fn(), + localStorage: vi.fn(), + SITE: 'unit-tests', })) describe('howtos.search', () => { diff --git a/src/pages/Maps/Maps.test.tsx b/src/pages/Maps/Maps.test.tsx index cf7bf601f..c768decb5 100644 --- a/src/pages/Maps/Maps.test.tsx +++ b/src/pages/Maps/Maps.test.tsx @@ -1,3 +1,5 @@ +import '@testing-library/jest-dom/vitest' + import { createMemoryRouter, createRoutesFromElements, @@ -12,6 +14,7 @@ import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryMapPin } from 'src/test/factories/MapPin' import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { describe, expect, it, vi } from 'vitest' import { MapPinServiceContext } from './map.service' import Maps from './Maps' @@ -20,17 +23,17 @@ import type { IMapPinService } from './map.service' const Theme = testingThemeStyles -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ // eslint-disable-next-line @typescript-eslint/naming-convention __esModule: true, useCommonStores: () => ({ stores: { userStore: { - getUserProfile: jest.fn(), - updateUserBadge: jest.fn(), + getUserProfile: vi.fn(), + updateUserBadge: vi.fn(), }, aggregationsStore: { - isVerified: jest.fn(), + isVerified: vi.fn(), users_verified: { HowtoAuthor: true, }, @@ -52,7 +55,7 @@ describe('Maps', () => { Object.defineProperty(global.navigator, 'geolocation', { writable: true, value: { - getCurrentPosition: jest.fn(), + getCurrentPosition: vi.fn(), }, }) @@ -86,7 +89,7 @@ const Wrapper = async (path = '/map') => { ) const mockMapPinService: IMapPinService = { - getMapPinByUserId: jest.fn().mockResolvedValue({ + getMapPinByUserId: vi.fn().mockResolvedValue({ ...FactoryUser({ moderation: IModerationStatus.ACCEPTED, }), @@ -95,8 +98,8 @@ const Wrapper = async (path = '/map') => { shortDescription: 'description', }, }), - getMapPinSelf: jest.fn().mockResolvedValue({}), - getMapPins: jest.fn().mockImplementation(() => { + getMapPinSelf: vi.fn().mockResolvedValue({}), + getMapPins: vi.fn().mockImplementation(() => { return Promise.resolve([]) }), } diff --git a/src/pages/Maps/map.service.test.ts b/src/pages/Maps/map.service.test.ts index 260f8c239..75468b660 100644 --- a/src/pages/Maps/map.service.test.ts +++ b/src/pages/Maps/map.service.test.ts @@ -1,19 +1,20 @@ import { faker } from '@faker-js/faker' import { DB_ENDPOINTS } from 'src/models' +import { describe, expect, it, vi } from 'vitest' import { mapPinService } from './map.service' -const mockWhere = jest.fn() -const mockLimit = jest.fn() -const mockQuery = jest.fn() -const mockCollection = jest.fn() +const mockWhere = vi.fn() +const mockLimit = vi.fn() +const mockQuery = vi.fn() +const mockCollection = vi.fn() const mockQuerySnapshot = { docs: [{ data: () => {} }], } -const mockGetDocs = jest.fn().mockResolvedValue(mockQuerySnapshot) -jest.mock('firebase/firestore', () => ({ +const mockGetDocs = vi.fn().mockResolvedValue(mockQuerySnapshot) +vi.mock('firebase/firestore', () => ({ collection: (_firebase, connectionName) => mockCollection(connectionName), query: (collectionRef, whereResult) => mockQuery(collectionRef, whereResult), where: (path, op, value) => mockWhere(path, op, value), @@ -25,7 +26,7 @@ describe('map.service', () => { describe('getMapPins', () => { it('fetches map pins', async () => { // prepare - global.fetch = jest.fn().mockResolvedValue({ + global.fetch = vi.fn().mockResolvedValue({ json: () => Promise.resolve([{ _id: '1' }]), }) @@ -38,7 +39,7 @@ describe('map.service', () => { it('handles errors', async () => { // prepare - global.fetch = jest.fn().mockRejectedValue('error') + global.fetch = vi.fn().mockRejectedValue('error') // act const result = await mapPinService.getMapPins() @@ -51,7 +52,7 @@ describe('map.service', () => { describe('getMapPinByUserId', () => { it('fetches map pin by user id', async () => { // prepare - global.fetch = jest.fn().mockResolvedValue({ + global.fetch = vi.fn().mockResolvedValue({ json: () => Promise.resolve({ _id: '1' }), }) @@ -64,7 +65,7 @@ describe('map.service', () => { it('handles errors', async () => { // prepare - global.fetch = jest.fn().mockRejectedValue('error') + global.fetch = vi.fn().mockRejectedValue('error') // act const result = await mapPinService.getMapPinByUserId('1') diff --git a/src/pages/Question/Content/Common/FormFields/QuestionCategory.field.tsx b/src/pages/Question/Content/Common/FormFields/QuestionCategory.field.tsx index fdb7dbe21..3b90cc8f3 100644 --- a/src/pages/Question/Content/Common/FormFields/QuestionCategory.field.tsx +++ b/src/pages/Question/Content/Common/FormFields/QuestionCategory.field.tsx @@ -16,6 +16,10 @@ export const QuestionCategoryField = () => { useEffect(() => { const initCategories = async () => { const categories = await questionService.getQuestionCategories() + if (!categories) { + return + } + const selectOptions = categories.map((category) => ({ value: category, label: category.label, diff --git a/src/pages/Question/QuestionListing.tsx b/src/pages/Question/QuestionListing.tsx index f6c1f9b25..058a7a1c6 100644 --- a/src/pages/Question/QuestionListing.tsx +++ b/src/pages/Question/QuestionListing.tsx @@ -62,16 +62,18 @@ export const QuestionListing = () => { ITEMS_PER_PAGE, ) - if (skipFrom) { - // if skipFrom is set, means we are requesting another page that should be appended - setQuestions((questions) => [...questions, ...result.items]) - } else { - setQuestions(result.items) + if (result) { + if (skipFrom) { + // if skipFrom is set, means we are requesting another page that should be appended + setQuestions((questions) => [...questions, ...result.items]) + } else { + setQuestions(result.items) + } + + setLastVisible(result.lastVisible) + + setTotal(result.total) } - - setLastVisible(result.lastVisible) - - setTotal(result.total) } catch (error) { logger.error('error fetching questions', error) } diff --git a/src/pages/Question/QuestionPage.test.tsx b/src/pages/Question/QuestionPage.test.tsx index 6d2000e34..8c40e1247 100644 --- a/src/pages/Question/QuestionPage.test.tsx +++ b/src/pages/Question/QuestionPage.test.tsx @@ -1,3 +1,5 @@ +import '@testing-library/jest-dom/vitest' + import { createMemoryRouter, createRoutesFromElements, @@ -14,9 +16,12 @@ import { FactoryDiscussion } from 'src/test/factories/Discussion' import { FactoryQuestionItem } from 'src/test/factories/Question' import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { QuestionPage } from './QuestionPage' +import type { Mock } from 'vitest' + const Theme = testingThemeStyles const activeUser = FactoryUser({ @@ -29,21 +34,21 @@ const mockQuestionItem = FactoryQuestionItem({ }) const mockDiscussionItem = FactoryDiscussion() -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ // eslint-disable-next-line @typescript-eslint/naming-convention __esModule: true, useCommonStores: () => ({ stores: { userStore: { - getUserByUsername: jest.fn().mockResolvedValue(mockUser), + getUserByUsername: vi.fn().mockResolvedValue(mockUser), }, aggregationsStore: { - isVerified: jest.fn(), + isVerified: vi.fn(), users_verified: {}, }, tagsStore: {}, discussionStore: { - fetchOrCreateDiscussionBySource: jest.fn().mockResolvedValue({ + fetchOrCreateDiscussionBySource: vi.fn().mockResolvedValue({ mockDiscussionItem, }), activeUser: mockUser, @@ -52,8 +57,8 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ }), })) -jest.mock('src/stores/Question/question.store') -jest.mock('src/stores/Discussions/discussions.store') +vi.mock('src/stores/Question/question.store') +vi.mock('src/stores/Discussions/discussions.store') describe('Questions', () => { let mockQuestionStore @@ -62,20 +67,20 @@ describe('Questions', () => { // Setup a fresh instance of the mock store before each test mockQuestionStore = { activeQuestionItem: mockQuestionItem, - incrementViewCount: jest.fn(), - fetchQuestionBySlug: jest.fn(() => { + incrementViewCount: vi.fn(), + fetchQuestionBySlug: vi.fn(() => { return mockQuestionItem }), - upsertQuestion: jest.fn(), - toggleSubscriberStatusByUserName: jest.fn(), - toggleUsefulByUser: jest.fn(), + upsertQuestion: vi.fn(), + toggleSubscriberStatusByUserName: vi.fn(), + toggleUsefulByUser: vi.fn(), } - ;(useQuestionStore as jest.Mock).mockReturnValue(mockQuestionStore) + ;(useQuestionStore as Mock).mockReturnValue(mockQuestionStore) }) afterEach(() => { // Clear all mocks after each test to ensure there's no leakage between tests - jest.clearAllMocks() + vi.clearAllMocks() }) describe('Breadcrumbs', () => { @@ -91,10 +96,10 @@ describe('Questions', () => { _deleted: faker.datatype.boolean(), _contentModifiedTimestamp: faker.date.past().toString(), } - ;(useQuestionStore as jest.Mock).mockReturnValue({ + ;(useQuestionStore as Mock).mockReturnValue({ ...mockQuestionStore, activeQuestionItem: mockQuestionItem, - fetchQuestionBySlug: jest.fn(() => { + fetchQuestionBySlug: vi.fn(() => { return mockQuestionItem }), }) @@ -130,10 +135,10 @@ describe('Questions', () => { mockQuestionItem.title = 'Do you prefer camping near a lake or in a forest?' mockQuestionItem.questionCategory = undefined - ;(useQuestionStore as jest.Mock).mockReturnValue({ + ;(useQuestionStore as Mock).mockReturnValue({ ...mockQuestionStore, activeQuestionItem: mockQuestionItem, - fetchQuestionBySlug: jest.fn(() => { + fetchQuestionBySlug: vi.fn(() => { return mockQuestionItem }), }) diff --git a/src/pages/Question/question.routes.test.tsx b/src/pages/Question/question.routes.test.tsx index caffcf4ee..2679cfc87 100644 --- a/src/pages/Question/question.routes.test.tsx +++ b/src/pages/Question/question.routes.test.tsx @@ -1,8 +1,4 @@ -/* eslint-disable max-classes-per-file */ -jest.mock('../../stores/common/module.store') -jest.mock('src/utils/validators') - -import '@testing-library/jest-dom' +import '@testing-library/jest-dom/vitest' import { createMemoryRouter, @@ -22,10 +18,15 @@ import { FactoryDiscussion } from 'src/test/factories/Discussion' import { FactoryQuestionItem } from 'src/test/factories/Question' import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { questionRouteElements } from './question.routes' import type { QuestionStore } from 'src/stores/Question/question.store' +import type { Mock } from 'vitest' + +vi.mock('../../stores/common/module.store') +vi.mock('src/utils/validators') const Theme = testingThemeStyles let mockActiveUser = FactoryUser() @@ -33,7 +34,7 @@ const mockDiscussionItem = FactoryDiscussion() // Similar to issues in Academy.test.tsx - stub methods called in user store constructor // TODO - replace with mock store or avoid direct call -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ __esModule: true, useCommonStores: () => ({ stores: { @@ -41,7 +42,7 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ user: mockActiveUser, }, aggregationsStore: { - isVerified: jest.fn(), + isVerified: vi.fn(), users_verified: { HowtoAuthor: true, }, @@ -59,50 +60,50 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ allQuestionCategories: [], }, discussionStore: { - fetchOrCreateDiscussionBySource: jest.fn().mockResolvedValue({ + fetchOrCreateDiscussionBySource: vi.fn().mockResolvedValue({ mockDiscussionItem, }), - activeUser: jest.fn().mockResolvedValue(mockActiveUser), + activeUser: vi.fn().mockResolvedValue(mockActiveUser), }, }, }), })) -const mockedUsedNavigate = jest.fn() -jest.mock('react-router-dom', () => ({ - ...(jest.requireActual('react-router-dom') as any), +const mockedUsedNavigate = vi.fn() +vi.mock('react-router-dom', async () => ({ + ...((await vi.importActual('react-router-dom')) as any), useNavigate: () => mockedUsedNavigate, })) class mockQuestionStoreClass implements Partial { - setActiveQuestionItemBySlug = jest.fn() - needsModeration = jest.fn().mockResolvedValue(true) - incrementViewCount = jest.fn() + setActiveQuestionItemBySlug = vi.fn() + needsModeration = vi.fn().mockResolvedValue(true) + incrementViewCount = vi.fn() activeQuestionItem = FactoryQuestionItem({ title: 'Question article title', }) QuestionUploadStatus = {} as any updateUploadStatus = {} as any - formatQuestionCommentList = jest.fn() - getActiveQuestionUpdateComments = jest.fn() - lockQuestionItem = jest.fn() - lockQuestionUpdate = jest.fn() - unlockQuestionUpdate = jest.fn() - upsertQuestion = jest.fn() - fetchQuestions = jest.fn().mockResolvedValue([]) - fetchQuestionBySlug = jest.fn() + formatQuestionCommentList = vi.fn() + getActiveQuestionUpdateComments = vi.fn() + lockQuestionItem = vi.fn() + lockQuestionUpdate = vi.fn() + unlockQuestionUpdate = vi.fn() + upsertQuestion = vi.fn() + fetchQuestions = vi.fn().mockResolvedValue([]) + fetchQuestionBySlug = vi.fn() votedUsefulCount = 0 subscriberCount = 0 userCanEditQuestion = true } const mockQuestionService: typeof questionService = { - getQuestionCategories: jest.fn(() => { + getQuestionCategories: vi.fn(() => { return new Promise((resolve) => { resolve([]) }) }), - search: jest.fn(() => { + search: vi.fn(() => { return new Promise((resolve) => { resolve({ items: [], total: 0, lastVisible: undefined }) }) @@ -110,25 +111,25 @@ const mockQuestionService: typeof questionService = { } const mockQuestionStore = new mockQuestionStoreClass() -jest.mock('src/stores/Question/question.store') -jest.mock('src/stores/Discussions/discussions.store') -jest.mock('src/pages/Question/question.service') +vi.mock('src/stores/Question/question.store') +vi.mock('src/stores/Discussions/discussions.store') +vi.mock('src/pages/Question/question.service') describe('question.routes', () => { beforeEach(() => { - ;(useQuestionStore as jest.Mock).mockReturnValue(mockQuestionStore) - questionService.getQuestionCategories = jest.fn().mockResolvedValue([]) + ;(useQuestionStore as Mock).mockReturnValue(mockQuestionStore) + questionService.getQuestionCategories = vi.fn().mockResolvedValue([]) }) afterEach(() => { - jest.restoreAllMocks() + vi.restoreAllMocks() cleanup() }) describe('/questions/', () => { it('renders a loading state', async () => { let wrapper - mockQuestionService.search = jest.fn(() => { + mockQuestionService.search = vi.fn(() => { return new Promise((resolve) => { setTimeout( () => resolve({ items: [], total: 0, lastVisible: undefined }), @@ -169,7 +170,7 @@ describe('question.routes', () => { const questionTitle = faker.lorem.words(3) const questionSlug = faker.lorem.slug() - questionService.search = jest.fn(() => { + questionService.search = vi.fn(() => { return new Promise((resolve) => { resolve({ items: [ @@ -205,7 +206,7 @@ describe('question.routes', () => { it('allows user to create a question', async () => { let wrapper // Arrange - const mockUpsertQuestion = jest.fn().mockResolvedValue({ + const mockUpsertQuestion = vi.fn().mockResolvedValue({ slug: 'question-title', }) useQuestionStore.mockReturnValue({ @@ -249,8 +250,8 @@ describe('question.routes', () => { let wrapper const question = FactoryQuestionItem() const activeUser = FactoryUser({}) - const mockFetchQuestionBySlug = jest.fn().mockResolvedValue(question) - const mockIncrementViewCount = jest.fn() + const mockFetchQuestionBySlug = vi.fn().mockResolvedValue(question) + const mockIncrementViewCount = vi.fn() useQuestionStore.mockReturnValue({ ...mockQuestionStore, activeUser, @@ -292,7 +293,7 @@ describe('question.routes', () => { const question = FactoryQuestionItem({ subscribers: [user.userName], }) - const mockFetchQuestionBySlug = jest.fn().mockResolvedValue(question) + const mockFetchQuestionBySlug = vi.fn().mockResolvedValue(question) useQuestionStore.mockReturnValue({ ...mockQuestionStore, activeUser: user, @@ -312,7 +313,7 @@ describe('question.routes', () => { it('supports follow behaviour', async () => { let wrapper const question = FactoryQuestionItem() - const mockFetchQuestionBySlug = jest.fn().mockResolvedValue(question) + const mockFetchQuestionBySlug = vi.fn().mockResolvedValue(question) useQuestionStore.mockReturnValue({ ...mockQuestionStore, fetchQuestionBySlug: mockFetchQuestionBySlug, @@ -330,7 +331,7 @@ describe('question.routes', () => { let wrapper mockActiveUser = FactoryUser() const question = FactoryQuestionItem() - const mockFetchQuestionBySlug = jest.fn().mockResolvedValue(question) + const mockFetchQuestionBySlug = vi.fn().mockResolvedValue(question) useQuestionStore.mockReturnValue({ ...mockQuestionStore, fetchQuestionBySlug: mockFetchQuestionBySlug, @@ -356,7 +357,7 @@ describe('question.routes', () => { _createdBy: mockActiveUser.userName, }) - const mockFetchQuestionBySlug = jest.fn().mockResolvedValue(question) + const mockFetchQuestionBySlug = vi.fn().mockResolvedValue(question) useQuestionStore.mockReturnValue({ ...mockQuestionStore, @@ -402,13 +403,13 @@ describe('question.routes', () => { title: faker.lorem.words(1), _createdBy: 'author', }) - const mockUpsertQuestion = jest.fn().mockResolvedValue({ + const mockUpsertQuestion = vi.fn().mockResolvedValue({ slug: 'question-title', }) useQuestionStore.mockReturnValue({ ...mockQuestionStore, - fetchQuestionBySlug: jest.fn().mockResolvedValue(questionItem), + fetchQuestionBySlug: vi.fn().mockResolvedValue(questionItem), upsertQuestion: mockUpsertQuestion, activeUser: mockActiveUser, }) @@ -456,7 +457,7 @@ describe('question.routes', () => { useQuestionStore.mockReturnValue({ ...mockQuestionStore, - fetchQuestionBySlug: jest.fn().mockResolvedValue( + fetchQuestionBySlug: vi.fn().mockResolvedValue( FactoryQuestionItem({ slug: 'slug', _createdBy: 'author', diff --git a/src/pages/Question/question.service.test.ts b/src/pages/Question/question.service.test.ts index ceaf145d0..c8a56bc9c 100644 --- a/src/pages/Question/question.service.test.ts +++ b/src/pages/Question/question.service.test.ts @@ -1,35 +1,38 @@ import '@testing-library/jest-dom' +import { describe, expect, it, vi } from 'vitest' + import { exportedForTesting } from './question.service' -const mockWhere = jest.fn() -const mockOrderBy = jest.fn() -const mockLimit = jest.fn() -jest.mock('firebase/firestore', () => ({ - collection: jest.fn(), - query: jest.fn(), - and: jest.fn(), +const mockWhere = vi.fn() +const mockOrderBy = vi.fn() +const mockLimit = vi.fn() +vi.mock('firebase/firestore', () => ({ + collection: vi.fn(), + query: vi.fn(), + and: vi.fn(), where: (path, op, value) => mockWhere(path, op, value), limit: (limit) => mockLimit(limit), orderBy: (field, direction) => mockOrderBy(field, direction), })) -jest.mock('../../stores/databaseV2/endpoints', () => ({ +vi.mock('../../stores/databaseV2/endpoints', () => ({ DB_ENDPOINTS: { questions: 'questions', questionCategories: 'questionCategories', }, })) -jest.mock('../../config/config', () => ({ - getConfigurationOption: jest.fn(), +vi.mock('../../config/config', () => ({ + getConfigurationOption: vi.fn(), FIREBASE_CONFIG: { apiKey: 'AIyChVN', databaseURL: 'https://test.firebaseio.com', projectId: 'test', storageBucket: 'test.appspot.com', }, - localStorage: jest.fn(), + localStorage: vi.fn(), + SITE: 'unit-tests', })) describe('question.search', () => { diff --git a/src/pages/Research/Content/Common/ResearchErrors.test.tsx b/src/pages/Research/Content/Common/ResearchErrors.test.tsx index 90fb2720b..90517d810 100644 --- a/src/pages/Research/Content/Common/ResearchErrors.test.tsx +++ b/src/pages/Research/Content/Common/ResearchErrors.test.tsx @@ -1,5 +1,6 @@ import { render, screen } from '@testing-library/react' import { ResearchProvider } from 'src/test/components' +import { describe, expect, it } from 'vitest' import { ResearchErrors } from '.' diff --git a/src/pages/Research/Content/Common/ResearchUpdate.form.test.tsx b/src/pages/Research/Content/Common/ResearchUpdate.form.test.tsx index 322e138f5..78ab54550 100644 --- a/src/pages/Research/Content/Common/ResearchUpdate.form.test.tsx +++ b/src/pages/Research/Content/Common/ResearchUpdate.form.test.tsx @@ -1,15 +1,17 @@ -import { act } from 'react-dom/test-utils' +import '@testing-library/jest-dom/vitest' + import { MemoryRouter } from 'react-router-dom' import { ThemeProvider } from '@emotion/react' -import { fireEvent, render } from '@testing-library/react' +import { render } from '@testing-library/react' import { FactoryResearchItemUpdate } from 'src/test/factories/ResearchItem' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { describe, expect, it, vi } from 'vitest' import { ResearchUpdateForm } from './ResearchUpdate.form' const Theme = testingThemeStyles -jest.mock('src/stores/Research/research.store', () => { +vi.mock('src/stores/Research/research.store', () => { return { useResearchStore: () => ({ updateUploadStatus: { @@ -19,8 +21,8 @@ jest.mock('src/stores/Research/research.store', () => { Database: false, Complete: false, }, - isTitleThatReusesSlug: jest.fn(), - unlockResearchUpdate: jest.fn(), + isTitleThatReusesSlug: vi.fn(), + unlockResearchUpdate: vi.fn(), }), } }) @@ -32,10 +34,7 @@ describe('Research update form', () => { fileLink: 'www.filedonwload.test', }) - let wrapper - await act(async () => { - wrapper = await getWrapper(formValues, 'create', {}) - }) + const wrapper = getWrapper(formValues, 'create', {}) expect( wrapper.queryByTestId('invalid-file-warning'), @@ -49,41 +48,17 @@ describe('Research update form', () => { }) // Act - let wrapper - await act(async () => { - wrapper = await getWrapper(formValues, 'create', {}) - }) + const wrapper = getWrapper(formValues, 'create', {}) // Assert expect( wrapper.queryByTestId('invalid-file-warning'), ).not.toBeInTheDocument() }) - - it('Appears when submitting 2 file types', async () => { - // Arrange - const formValues = FactoryResearchItemUpdate({ - images: [new File(['hello'], 'hello.png')], - files: [new File(['test file content'], 'test-file.zip')], - fileLink: 'www.filedownload.test', - }) - - // Act - let wrapper - await act(async () => { - wrapper = await getWrapper(formValues, 'create', {}) - // submit form - const submitFormButton = wrapper.getByTestId('submit-form') - fireEvent.click(submitFormButton) - }) - - // Assert - expect(wrapper.queryByTestId('invalid-file-warning')).toBeInTheDocument() - }) }) }) -const getWrapper = async (formValues, parentType, navProps) => { +const getWrapper = (formValues, parentType, navProps) => { return render( diff --git a/src/pages/Research/Content/ResearchArticle.test.tsx b/src/pages/Research/Content/ResearchArticle.test.tsx index 620720ef6..e53cd6842 100644 --- a/src/pages/Research/Content/ResearchArticle.test.tsx +++ b/src/pages/Research/Content/ResearchArticle.test.tsx @@ -1,3 +1,5 @@ +import '@testing-library/jest-dom/vitest' + import { createMemoryRouter, createRoutesFromElements, @@ -18,9 +20,12 @@ import { import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' import { formatDate } from 'src/utils/date' +import { describe, expect, it, vi } from 'vitest' import ResearchArticle from './ResearchArticle' +import type { Mock } from 'vitest' + const Theme = testingThemeStyles const activeUser = FactoryUser({ @@ -30,21 +35,21 @@ const activeUser = FactoryUser({ const mockUser = FactoryUser({ country: 'AF' }) const mockDiscussionItem = FactoryDiscussion() -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ // eslint-disable-next-line @typescript-eslint/naming-convention __esModule: true, useCommonStores: () => ({ stores: { userStore: { - getUserByUsername: jest.fn().mockResolvedValue(mockUser), + getUserByUsername: vi.fn().mockResolvedValue(mockUser), }, aggregationsStore: { - isVerified: jest.fn(), + isVerified: vi.fn(), users_verified: {}, }, tagsStore: {}, discussionStore: { - fetchOrCreateDiscussionBySource: jest.fn().mockResolvedValue({ + fetchOrCreateDiscussionBySource: vi.fn().mockResolvedValue({ mockDiscussionItem, }), activeUser: mockUser, @@ -53,16 +58,16 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ }), })) -jest.mock('src/stores/Research/research.store') +vi.mock('src/stores/Research/research.store') describe('Research Article', () => { const mockResearchStore = { activeResearchItem: FactoryResearchItem(), - setActiveResearchItemBySlug: jest.fn().mockResolvedValue(true), - addSubscriberToResearchArticle: jest.fn(), - needsModeration: jest.fn(), - formatResearchCommentList: jest.fn(), - incrementViewCount: jest.fn(), + setActiveResearchItemBySlug: vi.fn().mockResolvedValue(true), + addSubscriberToResearchArticle: vi.fn(), + needsModeration: vi.fn(), + formatResearchCommentList: vi.fn(), + incrementViewCount: vi.fn(), } it('displays content statistics', async () => { @@ -77,7 +82,7 @@ describe('Research Article', () => { ], }) - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem, }) @@ -100,7 +105,7 @@ describe('Research Article', () => { it('does not display contributors when undefined', async () => { // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem: FactoryResearchItem({ collaborators: undefined, @@ -121,7 +126,7 @@ describe('Research Article', () => { it('displays contributors', async () => { // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem: FactoryResearchItem({ collaborators: ['example-username', 'another-example-username'], @@ -143,7 +148,7 @@ describe('Research Article', () => { it('displays "Follow" button for non-subscriber', async () => { // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem: FactoryResearchItem({ userHasSubscribed: false, @@ -169,7 +174,7 @@ describe('Research Article', () => { // TODO: Work out how to simulate store subscribe functionality // it('displays "Following" button for subscriber', async () => { // // Arrange - // ;(useResearchStore as jest.Mock).mockReturnValue({ + // ;(useResearchStore as Mock).mockReturnValue({ // ...mockResearchStore, // activeResearchItem: FactoryResearchItem({ // subscribers: [activeUser._id], @@ -192,7 +197,7 @@ describe('Research Article', () => { describe('Research Update', () => { it('displays contributors', async () => { // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem: FactoryResearchItem({ collaborators: ['example-username', 'another-example-username'], @@ -248,9 +253,9 @@ describe('Research Article', () => { title: 'A title', description: 'A description', }) - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, - formatResearchCommentList: jest.fn().mockImplementation((c) => { + formatResearchCommentList: vi.fn().mockImplementation((c) => { return c }), activeResearchItem: FactoryResearchItem({ @@ -279,9 +284,9 @@ describe('Research Article', () => { description: 'A description', _deleted: false, }) - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, - formatResearchCommentList: jest.fn().mockImplementation((c) => { + formatResearchCommentList: vi.fn().mockImplementation((c) => { return c }), activeResearchItem: FactoryResearchItem({ @@ -303,7 +308,7 @@ describe('Research Article', () => { it('shows only published updates', async () => { // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem: FactoryResearchItem({ collaborators: ['example-username', 'another-example-username'], @@ -336,7 +341,7 @@ describe('Research Article', () => { describe('Breadcrumbs', () => { it('displays breadcrumbs with category', async () => { // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem: FactoryResearchItem({ title: 'Innovative Study', @@ -377,7 +382,7 @@ describe('Research Article', () => { it('displays breadcrumbs without category', async () => { // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeResearchItem: FactoryResearchItem({ title: 'Innovative Study', diff --git a/src/pages/Research/Content/helper.test.tsx b/src/pages/Research/Content/helper.test.tsx index 8a0f17960..c348a1601 100644 --- a/src/pages/Research/Content/helper.test.tsx +++ b/src/pages/Research/Content/helper.test.tsx @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest' + import { getResearchCommentId } from './helper' describe('getReseachCommentId', () => { diff --git a/src/pages/Research/research.routes.test.tsx b/src/pages/Research/research.routes.test.tsx index 5e77e0b28..be0bb4cfc 100644 --- a/src/pages/Research/research.routes.test.tsx +++ b/src/pages/Research/research.routes.test.tsx @@ -9,7 +9,7 @@ import { } from 'react-router-dom' import { ThemeProvider } from '@emotion/react' import { faker } from '@faker-js/faker' -import { act, cleanup, render, waitFor } from '@testing-library/react' +import { act, cleanup, render } from '@testing-library/react' import { Provider } from 'mobx-react' import { UserRole } from 'oa-shared' import { useResearchStore } from 'src/stores/Research/research.store' @@ -19,30 +19,32 @@ import { } from 'src/test/factories/ResearchItem' import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { researchRouteElements } from './research.routes' import { researchService } from './research.service' import type { ResearchStore } from 'src/stores/Research/research.store' +import type { Mock } from 'vitest' const Theme = testingThemeStyles const mockActiveUser = FactoryUser() -jest.mock('src/pages/Research/research.service') +vi.mock('src/pages/Research/research.service') // Similar to issues in Academy.test.tsx - stub methods called in user store constructor // TODO - replace with mock store or avoid direct call -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ // eslint-disable-next-line @typescript-eslint/naming-convention __esModule: true, useCommonStores: () => ({ stores: { userStore: { - fetchAllVerifiedUsers: jest.fn(), + fetchAllVerifiedUsers: vi.fn(), user: mockActiveUser, }, aggregationsStore: { - isVerified: jest.fn(), + isVerified: vi.fn(), users_verified: { HowtoAuthor: true, }, @@ -55,17 +57,17 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ }), })) -const mockedUsedNavigate = jest.fn() -jest.mock('react-router-dom', () => ({ - ...(jest.requireActual('react-router-dom') as any), +const mockedUsedNavigate = vi.fn() +vi.mock('react-router-dom', async () => ({ + ...((await vi.importActual('react-router-dom')) as any), useNavigate: () => mockedUsedNavigate, })) /** When mocking research routes replace default store methods with below */ class MockResearchStoreClass implements Partial { - setActiveResearchItemBySlug = jest.fn() - needsModeration = jest.fn().mockResolvedValue(true) - incrementViewCount = jest.fn() + setActiveResearchItemBySlug = vi.fn() + needsModeration = vi.fn().mockResolvedValue(true) + incrementViewCount = vi.fn() activeResearchItem = FactoryResearchItem({ title: 'Research article title', updates: [], @@ -73,12 +75,12 @@ class MockResearchStoreClass implements Partial { }) researchUploadStatus = {} as any updateUploadStatus = {} as any - formatResearchCommentList = jest.fn() - getActiveResearchUpdateComments = jest.fn() - lockResearchItem = jest.fn() - lockResearchUpdate = jest.fn() - unlockResearchUpdate = jest.fn() - unlockResearchItem = jest.fn() + formatResearchCommentList = vi.fn() + getActiveResearchUpdateComments = vi.fn() + lockResearchItem = vi.fn() + lockResearchUpdate = vi.fn() + unlockResearchUpdate = vi.fn() + unlockResearchItem = vi.fn() get activeUser() { return { @@ -93,26 +95,24 @@ class MockResearchStoreClass implements Partial { } const mockResearchStore = new MockResearchStoreClass() -jest.mock('src/stores/Research/research.store') +vi.mock('src/stores/Research/research.store') describe('research.routes', () => { beforeEach(() => { - ;(useResearchStore as jest.Mock).mockReturnValue(mockResearchStore) + ;(useResearchStore as Mock).mockReturnValue(mockResearchStore) }) afterEach(() => { - jest.restoreAllMocks() + vi.restoreAllMocks() cleanup() }) describe('/research/', () => { it('renders the research listing', async () => { - let wrapper - const researchTitle = faker.lorem.words(3) const researchSlug = faker.lorem.slug() - researchService.search = jest.fn(() => { + researchService.search = vi.fn(() => { return new Promise((resolve) => { resolve({ items: [ @@ -130,11 +130,9 @@ describe('research.routes', () => { }) }) - await act(async () => { - wrapper = renderFn('/research').wrapper - }) + const wrapper = renderFn('/research') - await waitFor( + await vi.waitFor( () => expect( wrapper.getByText(/Help out with Research & Development/), @@ -149,11 +147,11 @@ describe('research.routes', () => { describe('/research/:slug', () => { it('renders an individual research article', async () => { let wrapper - await act(async () => { - wrapper = renderFn('/research/research-slug').wrapper + act(() => { + wrapper = renderFn('/research/research-slug') }) - await waitFor( + await vi.waitFor( () => { expect( mockResearchStore.setActiveResearchItemBySlug, @@ -173,11 +171,11 @@ describe('research.routes', () => { it('rejects a request without a user present', async () => { mockActiveUser.userRoles = [] let wrapper - await act(async () => { - wrapper = renderFn('/research/create').wrapper + act(() => { + wrapper = renderFn('/research/create') }) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText(/role required to access this page/), ).toBeInTheDocument() @@ -186,11 +184,11 @@ describe('research.routes', () => { it('rejects a logged in user missing required role', async () => { let wrapper - await act(async () => { - wrapper = renderFn('/research/create').wrapper + act(() => { + wrapper = renderFn('/research/create') }) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText(/role required to access this page/), ).toBeInTheDocument() @@ -199,13 +197,13 @@ describe('research.routes', () => { it('accepts a logged in user with required role [research_creator]', async () => { let wrapper - await act(async () => { + act(() => { mockActiveUser.userRoles = [UserRole.RESEARCH_CREATOR] - wrapper = renderFn('/research/create').wrapper + wrapper = renderFn('/research/create') }) - await waitFor( + await vi.waitFor( () => { expect(wrapper.getByText(/start your research/i)).toBeInTheDocument() }, @@ -217,12 +215,12 @@ describe('research.routes', () => { it('accepts a logged in user with required role [research_creator]', async () => { let wrapper - await act(async () => { + act(() => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - wrapper = renderFn('/research/create').wrapper + wrapper = renderFn('/research/create') }) - await waitFor( + await vi.waitFor( () => { expect(wrapper.getByText(/start your research/i)).toBeInTheDocument() }, @@ -238,11 +236,11 @@ describe('research.routes', () => { mockActiveUser.userRoles = [] let wrapper - await act(async () => { - wrapper = renderFn('/research/an-example/edit').wrapper + act(() => { + wrapper = renderFn('/research/an-example/edit') }) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText(/role required to access this page/), ).toBeInTheDocument() @@ -251,14 +249,14 @@ describe('research.routes', () => { it('accepts a logged in user with required role', async () => { let wrapper - await act(async () => { + act(() => { mockActiveUser.userName = 'Jaasper' mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - wrapper = renderFn('/research/an-example/edit').wrapper + wrapper = renderFn('/research/an-example/edit') }) - await waitFor(() => { + await vi.waitFor(() => { expect(wrapper.getByText(/edit your research/i)).toBeInTheDocument() }) }) @@ -267,7 +265,7 @@ describe('research.routes', () => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -276,18 +274,18 @@ describe('research.routes', () => { }), }) - await act(async () => { + act(() => { renderFn('/research/an-example/edit') }) - await waitFor(() => { + await vi.waitFor(() => { expect(mockedUsedNavigate).toHaveBeenCalledWith('/research/an-example') }) }) it('blocks a valid editor when document is locked by another user', async () => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -301,11 +299,11 @@ describe('research.routes', () => { }) let wrapper - await act(async () => { - wrapper = renderFn('/research/an-example/edit').wrapper + act(() => { + wrapper = renderFn('/research/an-example/edit') }) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText( 'The research description is currently being edited by another editor.', @@ -316,7 +314,7 @@ describe('research.routes', () => { it('accepts a user when document is mark locked by them', async () => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -330,18 +328,18 @@ describe('research.routes', () => { }) let wrapper - await act(async () => { - wrapper = renderFn('/research/an-example/edit').wrapper + act(() => { + wrapper = renderFn('/research/an-example/edit') }) - await waitFor(() => { + await vi.waitFor(() => { expect(wrapper.getByText('Edit your Research')).toBeInTheDocument() }) }) it('accepts a user with required role and contributor acccess', async () => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -351,11 +349,11 @@ describe('research.routes', () => { }) let wrapper - await act(async () => { - wrapper = renderFn('/research/an-example/edit').wrapper + act(() => { + wrapper = renderFn('/research/an-example/edit') }) - await waitFor(() => { + await vi.waitFor(() => { expect(wrapper.getByText(/edit your research/i)).toBeInTheDocument() }) }) @@ -366,11 +364,11 @@ describe('research.routes', () => { mockActiveUser.userRoles = [] let wrapper - await act(async () => { - wrapper = renderFn('/research/an-example/new-update').wrapper + act(() => { + wrapper = renderFn('/research/an-example/new-update') }) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText(/role required to access this page/), ).toBeInTheDocument() @@ -379,12 +377,12 @@ describe('research.routes', () => { it('accepts a logged in user with required role', async () => { let wrapper - await act(async () => { + act(() => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - - wrapper = renderFn('/research/an-example/new-update').wrapper + wrapper = renderFn('/research/an-example/new-update') }) - await waitFor(() => { + + await vi.waitFor(() => { expect(wrapper.getByTestId('EditResearchUpdate')).toBeInTheDocument() }) }) @@ -393,14 +391,11 @@ describe('research.routes', () => { describe('/research/:slug/edit-update/:id', () => { it('rejects a request without a user present', async () => { mockActiveUser.userRoles = [] - let wrapper - await act(async () => { - wrapper = renderFn( - '/research/an-example/edit-update/nested-research-update', - ).wrapper - }) + const wrapper = renderFn( + '/research/an-example/edit-update/nested-research-update', + ) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText(/role required to access this page/), ).toBeInTheDocument() @@ -410,7 +405,7 @@ describe('research.routes', () => { it('accept logged in author present', async () => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -426,13 +421,13 @@ describe('research.routes', () => { }) let wrapper - await act(async () => { + act(() => { wrapper = renderFn( '/research/an-example/edit-update/nested-research-update', - ).wrapper + ) }) - await waitFor(() => { + await vi.waitFor(() => { expect(wrapper.getByTestId(/EditResearchUpdate/i)).toBeInTheDocument() }) }) @@ -440,7 +435,7 @@ describe('research.routes', () => { it('blocks valid author when document is locked', async () => { // Arrange mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -459,11 +454,11 @@ describe('research.routes', () => { }), }) - const { wrapper } = renderFn( + const wrapper = renderFn( '/research/an-example/edit-update/nested-research-update', ) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText( /This research update is currently being edited by another editor/, @@ -474,7 +469,7 @@ describe('research.routes', () => { it('accepts a user when document is mark locked by them', async () => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -492,11 +487,11 @@ describe('research.routes', () => { }), }) - const { wrapper } = renderFn( + const wrapper = renderFn( '/research/an-example/edit-update/nested-research-update', ) - await waitFor(() => { + await vi.waitFor(() => { expect(wrapper.getByText('Edit your update')).toBeInTheDocument() }) }) @@ -505,13 +500,13 @@ describe('research.routes', () => { mockActiveUser.userRoles = [] let wrapper - await act(async () => { + act(() => { wrapper = renderFn( '/research/an-example/edit-update/nested-research-update', - ).wrapper + ) }) - await waitFor(() => { + await vi.waitFor(() => { expect( wrapper.getByText(/role required to access this page/), ).toBeInTheDocument() @@ -522,7 +517,7 @@ describe('research.routes', () => { mockActiveUser.userRoles = [UserRole.RESEARCH_EDITOR] // Arrange - ;(useResearchStore as jest.Mock).mockReturnValue({ + ;(useResearchStore as Mock).mockReturnValue({ ...mockResearchStore, activeUser: mockActiveUser, activeResearchItem: FactoryResearchItem({ @@ -537,13 +532,13 @@ describe('research.routes', () => { }) let wrapper - await act(async () => { + act(() => { wrapper = renderFn( '/research/an-example/edit-update/nested-research-update', - ).wrapper + ) }) - await waitFor(() => { + await vi.waitFor(() => { expect(wrapper.getByTestId(/EditResearchUpdate/i)).toBeInTheDocument() }) }) @@ -560,15 +555,13 @@ const renderFn = (url: string) => { }, ) - return { - wrapper: render( - }> - - - - - - , - ), - } + return render( + }> + + + + + + , + ) } diff --git a/src/pages/Research/research.service.test.ts b/src/pages/Research/research.service.test.ts index e31a7626b..53aa545d5 100644 --- a/src/pages/Research/research.service.test.ts +++ b/src/pages/Research/research.service.test.ts @@ -1,37 +1,39 @@ import '@testing-library/jest-dom' import { ResearchStatus } from 'oa-shared' +import { describe, expect, it, vi } from 'vitest' import { exportedForTesting } from './research.service' -const mockWhere = jest.fn() -const mockOrderBy = jest.fn() -const mockLimit = jest.fn() -jest.mock('firebase/firestore', () => ({ - collection: jest.fn(), - query: jest.fn(), - and: jest.fn(), +const mockWhere = vi.fn() +const mockOrderBy = vi.fn() +const mockLimit = vi.fn() +vi.mock('firebase/firestore', () => ({ + collection: vi.fn(), + query: vi.fn(), + and: vi.fn(), where: (path, op, value) => mockWhere(path, op, value), limit: (limit) => mockLimit(limit), orderBy: (field, direction) => mockOrderBy(field, direction), })) -jest.mock('../../stores/databaseV2/endpoints', () => ({ +vi.mock('../../stores/databaseV2/endpoints', () => ({ DB_ENDPOINTS: { research: 'research', researchCategories: 'researchCategories', }, })) -jest.mock('../../config/config', () => ({ - getConfigurationOption: jest.fn(), +vi.mock('../../config/config', () => ({ + getConfigurationOption: vi.fn(), FIREBASE_CONFIG: { apiKey: 'AIyChVN', databaseURL: 'https://test.firebaseio.com', projectId: 'test', storageBucket: 'test.appspot.com', }, - localStorage: jest.fn(), + localStorage: vi.fn(), + SITE: 'unit-tests', })) describe('research.search', () => { diff --git a/src/pages/Unsubscribe/Unsubscribe.test.tsx b/src/pages/Unsubscribe/Unsubscribe.test.tsx index 54ab62415..7991b27c5 100644 --- a/src/pages/Unsubscribe/Unsubscribe.test.tsx +++ b/src/pages/Unsubscribe/Unsubscribe.test.tsx @@ -1,4 +1,4 @@ -jest.mock('../../stores/common/module.store') +import '@testing-library/jest-dom/vitest' import { createMemoryRouter, @@ -10,16 +10,19 @@ import { ThemeProvider } from '@emotion/react' import { render, waitFor } from '@testing-library/react' import { Provider } from 'mobx-react' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { describe, expect, it, vi } from 'vitest' import Unsubscribe from './Unsubscribe' +vi.mock('../../stores/common/module.store') + const Theme = testingThemeStyles -const mockUnsubscribeUser = jest.fn() +const mockUnsubscribeUser = vi.fn() // Similar to issues in Academy.test.tsx - stub methods called in user store constructor // TODO - replace with mock store or avoid direct call -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ __esModule: true, useCommonStores: () => ({ stores: { @@ -28,7 +31,7 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ unsubscribeUser: mockUnsubscribeUser, }, aggregationsStore: { - isVerified: jest.fn(), + isVerified: vi.fn(), users_verified: { HowtoAuthor: true, }, diff --git a/src/pages/User/contact/UserContactForm.test.tsx b/src/pages/User/contact/UserContactForm.test.tsx index 34ddaf740..acb02304a 100644 --- a/src/pages/User/contact/UserContactForm.test.tsx +++ b/src/pages/User/contact/UserContactForm.test.tsx @@ -3,19 +3,20 @@ import userEvent from '@testing-library/user-event' import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryUser } from 'src/test/factories/User' +import { describe, expect, it, vi } from 'vitest' import { UserContactForm } from '.' -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { useCommonStores: () => ({ stores: { messageStore: { - upload: () => jest.fn(), + upload: () => vi.fn(), }, userStore: { - getUserEmail: () => jest.fn().mockReturnValue('Bob@email.com'), - activeUser: () => jest.fn().mockReturnValue(true), + getUserEmail: () => vi.fn().mockReturnValue('Bob@email.com'), + activeUser: () => vi.fn().mockReturnValue(true), }, }, }), diff --git a/src/pages/User/impact/Impact.test.tsx b/src/pages/User/impact/Impact.test.tsx index dfead9814..6029360cd 100644 --- a/src/pages/User/impact/Impact.test.tsx +++ b/src/pages/User/impact/Impact.test.tsx @@ -2,12 +2,13 @@ import { render, screen } from '@testing-library/react' import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryUser } from 'src/test/factories/User' +import { describe, expect, it, vi } from 'vitest' import { IMPACT_YEARS } from './constants' import { Impact } from './Impact' import { invisible, missing } from './labels' -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { useCommonStores: () => ({ stores: { diff --git a/src/pages/User/impact/ImpactField.test.tsx b/src/pages/User/impact/ImpactField.test.tsx index 6847a6dfa..4652ccbf1 100644 --- a/src/pages/User/impact/ImpactField.test.tsx +++ b/src/pages/User/impact/ImpactField.test.tsx @@ -1,4 +1,5 @@ import { render, screen } from '@testing-library/react' +import { describe, expect, it } from 'vitest' import { ImpactField } from './ImpactField' diff --git a/src/pages/User/impact/ImpactItem.test.tsx b/src/pages/User/impact/ImpactItem.test.tsx index b5d37910b..f14d52944 100644 --- a/src/pages/User/impact/ImpactItem.test.tsx +++ b/src/pages/User/impact/ImpactItem.test.tsx @@ -2,10 +2,11 @@ import { render, screen } from '@testing-library/react' import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryUser } from 'src/test/factories/User' +import { describe, expect, it, vi } from 'vitest' import { ImpactItem } from './ImpactItem' -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { useCommonStores: () => ({ stores: { diff --git a/src/pages/User/impact/ImpactMissing.test.tsx b/src/pages/User/impact/ImpactMissing.test.tsx index e127e5987..82c702908 100644 --- a/src/pages/User/impact/ImpactMissing.test.tsx +++ b/src/pages/User/impact/ImpactMissing.test.tsx @@ -2,11 +2,12 @@ import { render, screen } from '@testing-library/react' import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryUser } from 'src/test/factories/User' +import { describe, it, vi } from 'vitest' import { ImpactMissing } from './ImpactMissing' import { invisible, missing, reportYearLabel } from './labels' -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { useCommonStores: () => ({ stores: { diff --git a/src/pages/User/user.routes.test.tsx b/src/pages/User/user.routes.test.tsx index 0c84cda8e..1613388f8 100644 --- a/src/pages/User/user.routes.test.tsx +++ b/src/pages/User/user.routes.test.tsx @@ -1,3 +1,5 @@ +import '@testing-library/jest-dom/vitest' + import { MemoryRouter } from 'react-router-dom' import { ThemeProvider } from '@emotion/react' import { act, render } from '@testing-library/react' @@ -5,17 +7,18 @@ import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { beforeEach, describe, expect, it, vi } from 'vitest' import UserProfileRoutes from './user.routes' const Theme = testingThemeStyles // eslint-disable-next-line prefer-const -let mockGetUserProfile = jest.fn().mockResolvedValue(FactoryUser) -const mockGetPin = jest.fn() -const mockUpdateUserBadge = jest.fn() +let mockGetUserProfile = vi.fn().mockResolvedValue(FactoryUser) +const mockGetPin = vi.fn() +const mockUpdateUserBadge = vi.fn() -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ // eslint-disable-next-line @typescript-eslint/naming-convention __esModule: true, useCommonStores: () => ({ @@ -23,10 +26,10 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ userStore: { getUserProfile: mockGetUserProfile, updateUserBadge: mockUpdateUserBadge, - getUserCreatedDocs: jest.fn(), + getUserCreatedDocs: vi.fn(), }, aggregationsStore: { - updateVerifiedUsers: jest.fn(), + updateVerifiedUsers: vi.fn(), users_verified: { HowtoAuthor: true, }, @@ -48,7 +51,7 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ describe('User', () => { beforeEach(() => { - jest.resetAllMocks() + vi.resetAllMocks() }) it('displays user page', async () => { @@ -103,9 +106,9 @@ const getWrapper = async (user, url?) => { userStore={{ user, updateStatus: { Complete: true }, - getUserEmail: jest.fn(), - getUserProfile: jest.fn().mockResolvedValue(user), - getUserCreatedDocs: jest.fn(), + getUserEmail: vi.fn(), + getUserProfile: vi.fn().mockResolvedValue(user), + getUserCreatedDocs: vi.fn(), }} > diff --git a/src/pages/User/workspace/Workspace.test.ts b/src/pages/User/workspace/Workspace.test.ts index 2cd7ea318..c35fd4f2e 100644 --- a/src/pages/User/workspace/Workspace.test.ts +++ b/src/pages/User/workspace/Workspace.test.ts @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest' + import Workspace from './Workspace' describe('findWorkspaceBadgeNullable', () => { @@ -10,14 +12,14 @@ describe('findWorkspaceBadgeNullable', () => { }) it('returns a profile image', () => { - expect(Workspace.findWorkspaceBadgeNullable('member')).toBe( - 'avatar_member_sm.svg', + expect(Workspace.findWorkspaceBadgeNullable('member')).to.satisfy((image) => + image.endsWith('avatar_member_sm.svg'), ) }) it('returns a "clean" profile image', () => { - expect(Workspace.findWorkspaceBadgeNullable('member', true)).toBe( - 'avatar_member_sm.svg', + expect(Workspace.findWorkspaceBadgeNullable('member', true)).to.satisfy( + (image) => image.endsWith('avatar_member_sm.svg'), ) }) }) diff --git a/src/pages/UserSettings/UserSettings.test.tsx b/src/pages/UserSettings/UserSettings.test.tsx index 6d63959d5..5fea2c285 100644 --- a/src/pages/UserSettings/UserSettings.test.tsx +++ b/src/pages/UserSettings/UserSettings.test.tsx @@ -1,3 +1,5 @@ +import '@testing-library/jest-dom/vitest' + import { MemoryRouter } from 'react-router-dom' import { ThemeProvider } from '@emotion/react' import { act, render } from '@testing-library/react' @@ -8,18 +10,19 @@ import { buttons } from 'src/pages/UserSettings/labels' import { FactoryMapPin } from 'src/test/factories/MapPin' import { FactoryUser } from 'src/test/factories/User' import { testingThemeStyles } from 'src/test/utils/themeUtils' +import { beforeEach, describe, expect, it, vi } from 'vitest' import { SettingsPage } from './SettingsPage' const Theme = testingThemeStyles // eslint-disable-next-line prefer-const -let mockGetUserProfile = jest.fn().mockResolvedValue(FactoryUser) -const mockGetPin = jest.fn() -const mockUpdateUserBadge = jest.fn() +let mockGetUserProfile = vi.fn().mockResolvedValue(FactoryUser) +const mockGetPin = vi.fn() +const mockUpdateUserBadge = vi.fn() let mockUser = FactoryUser({}) -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ // eslint-disable-next-line @typescript-eslint/naming-convention __esModule: true, useCommonStores: () => ({ @@ -27,14 +30,14 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ userStore: { getUserProfile: mockGetUserProfile, updateUserBadge: mockUpdateUserBadge, - getUserEmail: jest.fn(), + getUserEmail: vi.fn(), user: mockUser, updateStatus: { Complete: false, }, }, aggregationsStore: { - isVerified: jest.fn(), + isVerified: vi.fn(), users_verified: { HowtoAuthor: true, }, @@ -56,7 +59,7 @@ jest.mock('src/common/hooks/useCommonStores', () => ({ describe('UserSettings', () => { beforeEach(() => { - jest.resetAllMocks() + vi.resetAllMocks() }) it('displays user settings', async () => { @@ -167,7 +170,7 @@ describe('UserSettings', () => { }) }) describe('impact section scroll into view', () => { - const scrollIntoViewMock = jest.fn() + const scrollIntoViewMock = vi.fn() window.HTMLElement.prototype.scrollIntoView = scrollIntoViewMock it('expands and scrolls to impact section if a #impact_year hash is provided and year is valid', async () => { @@ -233,8 +236,8 @@ const Wrapper = async (user, routerInitialEntry?) => { userStore={{ user, updateStatus: { Complete: true }, - getUserEmail: jest.fn(), - getUserProfile: jest.fn().mockResolvedValue(user), + getUserEmail: vi.fn(), + getUserProfile: vi.fn().mockResolvedValue(user), }} > diff --git a/src/pages/UserSettings/content/formSections/Focus.section.test.tsx b/src/pages/UserSettings/content/formSections/Focus.section.test.tsx index 3ccfe8a89..279b2744b 100644 --- a/src/pages/UserSettings/content/formSections/Focus.section.test.tsx +++ b/src/pages/UserSettings/content/formSections/Focus.section.test.tsx @@ -1,9 +1,12 @@ +import '@testing-library/jest-dom/vitest' + import { ThemeProvider } from '@emotion/react' import { render, screen } from '@testing-library/react' import { getSupportedProfileTypes } from 'src/modules/profile' import { FocusSection } from 'src/pages/UserSettings/content/formSections/Focus.section' import { headings } from 'src/pages/UserSettings/labels' import { SettingsProvider } from 'src/test/components' +import { describe, expect, it } from 'vitest' const supportedProfileTypes = getSupportedProfileTypes().map( ({ label }) => label, diff --git a/src/pages/UserSettings/content/formSections/Impact/utils.test.ts b/src/pages/UserSettings/content/formSections/Impact/utils.test.ts index 6fb95fc2a..3e897bc57 100644 --- a/src/pages/UserSettings/content/formSections/Impact/utils.test.ts +++ b/src/pages/UserSettings/content/formSections/Impact/utils.test.ts @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest' + import { sortImpactYearDisplayFields, transformImpactData, diff --git a/src/pages/UserSettings/content/formSections/PatreonIntegration.test.tsx b/src/pages/UserSettings/content/formSections/PatreonIntegration.test.tsx index 7c85d3882..c6dc6cb94 100644 --- a/src/pages/UserSettings/content/formSections/PatreonIntegration.test.tsx +++ b/src/pages/UserSettings/content/formSections/PatreonIntegration.test.tsx @@ -1,6 +1,7 @@ import '@testing-library/jest-dom' import { act, fireEvent, render, screen } from '@testing-library/react' +import { beforeEach, describe, expect, it, vi } from 'vitest' import { CONNECT_BUTTON_TEXT, @@ -68,9 +69,9 @@ const mockPatreonNotSupporter = { }, } as unknown as IUserPP -const mockRemovePatreonConnection = jest.fn() +const mockRemovePatreonConnection = vi.fn() -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ useCommonStores: () => ({ stores: { userStore: { diff --git a/src/pages/UserSettings/content/formSections/PublicContact.section.test.tsx b/src/pages/UserSettings/content/formSections/PublicContact.section.test.tsx index 0f2f5decf..36fe41127 100644 --- a/src/pages/UserSettings/content/formSections/PublicContact.section.test.tsx +++ b/src/pages/UserSettings/content/formSections/PublicContact.section.test.tsx @@ -1,6 +1,9 @@ +import '@testing-library/jest-dom/vitest' + import { render, screen } from '@testing-library/react' import { PublicContactSection } from 'src/pages/UserSettings/content/formSections/PublicContact.section' import { SettingsProvider } from 'src/test/components' +import { describe, expect, it } from 'vitest' describe('PublicContact', () => { it('renders unchecked when isContactableByPublic is false', async () => { diff --git a/src/pages/UserSettings/content/formSections/SettingsError.test.tsx b/src/pages/UserSettings/content/formSections/SettingsError.test.tsx index 1af12e19a..c32c1ee23 100644 --- a/src/pages/UserSettings/content/formSections/SettingsError.test.tsx +++ b/src/pages/UserSettings/content/formSections/SettingsError.test.tsx @@ -1,6 +1,7 @@ import { render, screen } from '@testing-library/react' import { SettingsErrors } from 'src/pages/UserSettings/content/formSections/SettingsErrors' import { SettingsProvider } from 'src/test/components' +import { describe, expect, it } from 'vitest' describe('SettingsErrors', () => { it('renders component when visible and has errors', async () => { diff --git a/src/pages/common/Drafts/DraftButton.test.tsx b/src/pages/common/Drafts/DraftButton.test.tsx index 9dc5df3fe..a7043627c 100644 --- a/src/pages/common/Drafts/DraftButton.test.tsx +++ b/src/pages/common/Drafts/DraftButton.test.tsx @@ -1,4 +1,7 @@ +import '@testing-library/jest-dom/vitest' + import { render } from '@testing-library/react' +import { describe, expect, it } from 'vitest' import { drafts } from '../labels' import DraftButton from './DraftButton' diff --git a/src/pages/common/Header/Menu/Notifications/NotificationsDesktop.tsx b/src/pages/common/Header/Menu/Notifications/NotificationsDesktop.tsx index 8ab71c035..ec3ecd4b2 100644 --- a/src/pages/common/Header/Menu/Notifications/NotificationsDesktop.tsx +++ b/src/pages/common/Header/Menu/Notifications/NotificationsDesktop.tsx @@ -5,7 +5,7 @@ import { Flex } from 'theme-ui' import { NotificationsIcon } from './NotificationsIcon' -import type { UserNotificationItem } from 'oa-components' +import type { UserNotificationItem } from 'shared/models' import '../Profile/profile.css' diff --git a/src/pages/common/Header/Menu/Notifications/NotificationsIcon.tsx b/src/pages/common/Header/Menu/Notifications/NotificationsIcon.tsx index 98ea5967f..21494c68e 100644 --- a/src/pages/common/Header/Menu/Notifications/NotificationsIcon.tsx +++ b/src/pages/common/Header/Menu/Notifications/NotificationsIcon.tsx @@ -1,5 +1,5 @@ import styled from '@emotion/styled' -import { ReactComponent as IconNotifications } from 'src/assets/icons/icon-notification.svg' +import IconNotifications from 'src/assets/icons/icon-notification.svg?react' import { Flex } from 'theme-ui' const IconWrapper = styled(Flex)` diff --git a/src/pages/common/Header/Menu/Notifications/NotificationsMobile.tsx b/src/pages/common/Header/Menu/Notifications/NotificationsMobile.tsx index 40d808996..d078ea6a9 100644 --- a/src/pages/common/Header/Menu/Notifications/NotificationsMobile.tsx +++ b/src/pages/common/Header/Menu/Notifications/NotificationsMobile.tsx @@ -6,7 +6,7 @@ const theme = preciousPlasticTheme.styles import styled from '@emotion/styled' import { Box } from 'theme-ui' -import type { UserNotificationItem } from 'oa-components' +import type { UserNotificationItem } from 'oa-shared' const PanelContainer = styled(Box)` width: 100%; diff --git a/src/pages/common/Header/getFormattedNotifications.test.tsx b/src/pages/common/Header/getFormattedNotifications.test.tsx index d0186b0c3..2c92d5a70 100644 --- a/src/pages/common/Header/getFormattedNotifications.test.tsx +++ b/src/pages/common/Header/getFormattedNotifications.test.tsx @@ -1,7 +1,10 @@ +import '@testing-library/jest-dom/vitest' + import { MemoryRouter } from 'react-router-dom' import { render } from '@testing-library/react' import { NotificationTypes } from 'oa-shared' import { FactoryNotification } from 'src/test/factories/Notification' +import { describe, expect, it } from 'vitest' import { getFormattedNotifications } from './getFormattedNotifications' diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts deleted file mode 100644 index d3ef9832a..000000000 --- a/src/react-app-env.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -/// diff --git a/src/setupTests.ts b/src/setupTests.ts index f3aaf3f87..37a186067 100644 --- a/src/setupTests.ts +++ b/src/setupTests.ts @@ -2,8 +2,6 @@ // allows you to do things like: // expect(element).toHaveTextContent(/react/i) // learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom/extend-expect' - import ResizeObserver from 'resize-observer-polyfill' global.ResizeObserver = ResizeObserver diff --git a/src/stores/Aggregations/aggregations.store.tsx b/src/stores/Aggregations/aggregations.store.tsx index c5467a713..38566d737 100644 --- a/src/stores/Aggregations/aggregations.store.tsx +++ b/src/stores/Aggregations/aggregations.store.tsx @@ -13,6 +13,11 @@ export class AggregationsStore { constructor(rootStore: IRootStore) { this.db = rootStore.dbV2 + + // Update verified users on intial load. use timeout to ensure aggregation store initialised + setTimeout(() => { + this.updateVerifiedUsers() + }, 50) } public isVerified(userName: string) { diff --git a/src/stores/Discussions/discussion.store.test.ts b/src/stores/Discussions/discussion.store.test.ts index 33a9c0997..9220486b2 100644 --- a/src/stores/Discussions/discussion.store.test.ts +++ b/src/stores/Discussions/discussion.store.test.ts @@ -1,4 +1,6 @@ -jest.mock('../common/module.store') +import { describe, expect, it, vi } from 'vitest' + +vi.mock('../common/module.store') import { faker } from '@faker-js/faker' import { FactoryDiscussion, @@ -31,7 +33,7 @@ const factory = async ( // @ts-ignore store.aggregationsStore = { aggregations: { - isVerified: jest.fn((userId) => userId === 'fake-user'), + isVerified: vi.fn((userId) => userId === 'fake-user'), users_verified: ['fake-user'], }, } @@ -45,7 +47,7 @@ const factory = async ( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore store.userNotificationsStore = { - triggerNotification: jest.fn(), + triggerNotification: vi.fn(), } return { @@ -189,7 +191,7 @@ describe('discussion.store', () => { getFn.mockReturnValue(null) //Act - await expect( + expect(() => store.addComment(discussionItem, 'New comment'), ).rejects.toThrowError('Discussion not found') @@ -286,7 +288,7 @@ describe('discussion.store', () => { ]) //Act - await expect( + expect(() => store.editComment(discussionItem, 'fake-comment-id', 'Edited comment'), ).rejects.toThrowError() @@ -352,7 +354,7 @@ describe('discussion.store', () => { ]) //Act - await expect( + expect(() => store.deleteComment(discussionItem, 'fake-comment-id'), ).rejects.toThrowError() diff --git a/src/stores/Howto/howto.store.test.ts b/src/stores/Howto/howto.store.test.ts index 7ece6b876..297ccb242 100644 --- a/src/stores/Howto/howto.store.test.ts +++ b/src/stores/Howto/howto.store.test.ts @@ -1,4 +1,6 @@ -jest.mock('../common/module.store') +import { describe, expect, it, vi } from 'vitest' + +vi.mock('../common/module.store') import { FactoryHowto, FactoryHowtoDraft, @@ -11,12 +13,12 @@ import { HowtoStore } from './howto.store' import type { IHowtoDB, IUser } from 'src/models' import type { IRootStore } from '../RootStore' -const mockGetDoc = jest.fn() -const mockIncrement = jest.fn() -jest.mock('firebase/firestore', () => ({ - collection: jest.fn(), - query: jest.fn(), - doc: jest.fn(), +const mockGetDoc = vi.fn() +const mockIncrement = vi.fn() +vi.mock('firebase/firestore', () => ({ + collection: vi.fn(), + query: vi.fn(), + doc: vi.fn(), getDoc: (doc) => mockGetDoc(doc), increment: (value) => mockIncrement(value), })) @@ -61,7 +63,7 @@ const factory = async ( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore store.userStore = { - getUserProfile: jest.fn().mockImplementation((userName) => + getUserProfile: vi.fn().mockImplementation((userName) => FactoryUser({ _authID: 'userId', userName, @@ -71,10 +73,10 @@ const factory = async ( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore store.userNotificationsStore = { - triggerNotification: jest.fn(), + triggerNotification: vi.fn(), } - store.toggleUsefulByUser = jest.fn() + store.toggleUsefulByUser = vi.fn() await store.setActiveHowtoBySlug('howto') diff --git a/src/stores/Maps/filter.test.ts b/src/stores/Maps/filter.test.ts index d08c1d127..8aaa06b24 100644 --- a/src/stores/Maps/filter.test.ts +++ b/src/stores/Maps/filter.test.ts @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest' + import { filterMapPinsByType } from './filter' import type { IMapPin } from 'src/models' diff --git a/src/stores/Maps/maps.store.test.ts b/src/stores/Maps/maps.store.test.ts index 6746e15e7..1d43c3281 100644 --- a/src/stores/Maps/maps.store.test.ts +++ b/src/stores/Maps/maps.store.test.ts @@ -1,8 +1,10 @@ -jest.mock('../common/module.store') import { IModerationStatus } from 'oa-shared' +import { beforeEach, describe, expect, it, vi } from 'vitest' import { MapsStore } from './maps.store' +vi.mock('../common/module.store') + describe('maps.store', () => { let store @@ -13,7 +15,7 @@ describe('maps.store', () => { describe('setUserPin', () => { it('adds a new member pin as approved', async () => { // Arrange - store.db.get = jest.fn().mockResolvedValue(null) + store.db.get = vi.fn().mockResolvedValue(null) // Act await store.setUserPin({ @@ -73,7 +75,7 @@ describe('maps.store', () => { it('sets a non member pin as awaiting moderation', async () => { // Arrange - store.db.get = jest.fn().mockResolvedValue(null) + store.db.get = vi.fn().mockResolvedValue(null) // Act await store.setUserPin({ @@ -96,7 +98,7 @@ describe('maps.store', () => { it('sets a non member pin as awaiting moderation if pin type changes', async () => { // Arrange - store.db.get = jest.fn().mockResolvedValue({ + store.db.get = vi.fn().mockResolvedValue({ profileType: 'member', moderation: IModerationStatus.ACCEPTED, }) @@ -122,7 +124,7 @@ describe('maps.store', () => { it('sets a non member pin as awaiting moderation if not previously accepted', async () => { // Arrange - store.db.get = jest.fn().mockResolvedValue({ + store.db.get = vi.fn().mockResolvedValue({ profileType: 'workspace', moderation: IModerationStatus.REJECTED, }) @@ -148,7 +150,7 @@ describe('maps.store', () => { it('sets a non member pin as accepted if previously accepted', async () => { // Arrange - store.db.get = jest.fn().mockResolvedValue({ + store.db.get = vi.fn().mockResolvedValue({ type: 'workspace', moderation: IModerationStatus.ACCEPTED, }) diff --git a/src/stores/Message/message.store.test.ts b/src/stores/Message/message.store.test.ts index bf0efdeae..043168507 100644 --- a/src/stores/Message/message.store.test.ts +++ b/src/stores/Message/message.store.test.ts @@ -1,4 +1,6 @@ -jest.mock('../common/module.store') +import { describe, expect, it, vi } from 'vitest' + +vi.mock('../common/module.store') import { FactoryMessage } from 'src/test/factories/Message' import { FactoryUser } from 'src/test/factories/User' diff --git a/src/stores/Question/question.store.test.tsx b/src/stores/Question/question.store.test.tsx index ecd2f0f65..74a5df7f5 100644 --- a/src/stores/Question/question.store.test.tsx +++ b/src/stores/Question/question.store.test.tsx @@ -1,19 +1,21 @@ -jest.mock('../common/module.store') +import { describe, expect, it, vi } from 'vitest' + +vi.mock('../common/module.store') import { FactoryQuestionItem } from 'src/test/factories/Question' import { FactoryUser } from 'src/test/factories/User' import { QuestionStore } from './question.store' -const mockToggleDocSubscriber = jest.fn() -jest.mock('../common/toggleDocSubscriberStatusByUserName', () => { +const mockToggleDocSubscriber = vi.fn() +vi.mock('../common/toggleDocSubscriberStatusByUserName', () => { return { __esModule: true, toggleDocSubscriberStatusByUserName: () => mockToggleDocSubscriber(), } }) -const mockToggleDocUsefulByUser = jest.fn() -jest.mock('../common/toggleDocUsefulByUser', () => ({ +const mockToggleDocUsefulByUser = vi.fn() +vi.mock('../common/toggleDocUsefulByUser', () => ({ __esModule: true, toggleDocUsefulByUser: () => mockToggleDocUsefulByUser(), })) diff --git a/src/stores/Research/research.store.test.ts b/src/stores/Research/research.store.test.ts index 1b73749ca..5f5c27152 100644 --- a/src/stores/Research/research.store.test.ts +++ b/src/stores/Research/research.store.test.ts @@ -1,4 +1,6 @@ -jest.mock('../common/module.store') +import { describe, expect, it, vi } from 'vitest' + +vi.mock('../common/module.store') import { toJS } from 'mobx' import { FactoryComment } from 'src/test/factories/Comment' import { @@ -12,18 +14,18 @@ import { ResearchStore } from './research.store' import type { IDiscussion } from 'src/models' -jest.mock('../../utils/helpers', () => ({ +vi.mock('../../utils/helpers', async () => ({ // Preserve the original implementation of other helpers - ...jest.requireActual('../../utils/helpers'), + ...(await vi.importActual('../../utils/helpers')), randomID: () => 'random-id', })) -const mockGetDoc = jest.fn() -const mockIncrement = jest.fn() -jest.mock('firebase/firestore', () => ({ - collection: jest.fn(), - query: jest.fn(), - doc: jest.fn(), +const mockGetDoc = vi.fn() +const mockIncrement = vi.fn() +vi.mock('firebase/firestore', () => ({ + collection: vi.fn(), + query: vi.fn(), + doc: vi.fn(), getDoc: (doc) => mockGetDoc(doc), increment: (value) => mockIncrement(value), })) @@ -80,7 +82,7 @@ const factory = async ( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore store.userStore = { - getUserProfile: jest.fn().mockResolvedValue( + getUserProfile: vi.fn().mockResolvedValue( FactoryUser({ _authID: 'userId', userName: 'username', @@ -91,16 +93,16 @@ const factory = async ( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore store.userNotificationsStore = { - triggerNotification: jest.fn(), + triggerNotification: vi.fn(), } // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore store.discussionStore = { - fetchOrCreateDiscussionBySource: jest.fn().mockResolvedValue({ + fetchOrCreateDiscussionBySource: vi.fn().mockResolvedValue({ comments: [], }), - addComment: jest + addComment: vi .fn() .mockImplementation((_discussionObjec: IDiscussion, text: string) => { return { @@ -112,8 +114,8 @@ const factory = async ( ], } }), - editComment: jest.fn(), - deleteComment: jest.fn(), + editComment: vi.fn(), + deleteComment: vi.fn(), } await store.setActiveResearchItemBySlug('fish') diff --git a/src/stores/Theme/theme.store.tsx b/src/stores/Theme/theme.store.tsx index 4c98ea328..df736b0a0 100644 --- a/src/stores/Theme/theme.store.tsx +++ b/src/stores/Theme/theme.store.tsx @@ -20,7 +20,7 @@ export class ThemeStore { currentTheme: PlatformTheme = themeMap[ localStorage.getItem('platformTheme') || - getConfigurationOption('REACT_APP_PLATFORM_THEME', 'precious-plastic') + getConfigurationOption('VITE_APP_PLATFORM_THEME', 'precious-plastic') ] constructor() { diff --git a/src/stores/User/notifications.store.test.tsx b/src/stores/User/notifications.store.test.tsx index 29aa7c96b..336ec1ae6 100644 --- a/src/stores/User/notifications.store.test.tsx +++ b/src/stores/User/notifications.store.test.tsx @@ -1,10 +1,12 @@ -jest.mock('../common/module.store') import { FactoryNotification } from 'src/test/factories/Notification' import { FactoryUser } from 'src/test/factories/User' +import { beforeEach, describe, expect, it, vi } from 'vitest' import { MockDBStore } from '../common/__mocks__/module.store' import { UserNotificationsStore } from './notifications.store' +vi.mock('../common/module.store') + /** * When mocking unit tests the db will be mocked from the common module store mock * and userStore manually overridden with mocks below @@ -21,7 +23,7 @@ class MockNotificationsStore extends UserNotificationsStore { userName: 'userName', notifications: [], }), - refreshActiveUserDetails: jest.fn(), + refreshActiveUserDetails: vi.fn(), } constructor() { super(null as any) @@ -65,7 +67,7 @@ describe('triggerNotification', () => { it('throws error when invalid user passed', async () => { // Act - await expect( + expect( store.triggerNotification( 'howto_mention', 'non-existent-user', diff --git a/src/stores/User/user.store.test.tsx b/src/stores/User/user.store.test.tsx index 3fff4bad2..884ada390 100644 --- a/src/stores/User/user.store.test.tsx +++ b/src/stores/User/user.store.test.tsx @@ -1,15 +1,18 @@ -jest.mock('../common/module.store') import { faker } from '@faker-js/faker' import { signInWithEmailAndPassword } from 'firebase/auth' import { EmailNotificationFrequency, IModerationStatus } from 'oa-shared' import { FactoryHowto } from 'src/test/factories/Howto' import { FactoryResearchItem } from 'src/test/factories/ResearchItem' import { FactoryUser } from 'src/test/factories/User' +import { beforeEach, describe, expect, it, vi } from 'vitest' import { UserStore } from './user.store' -jest.mock('firebase/auth', () => { - const auth = jest.requireActual('firebase/auth') +vi.mock('../common/module.store') +vi.mock('../Aggragations/aggregations.store') + +vi.mock('firebase/auth', async () => { + const auth = await vi.importActual('firebase/auth') return { ...auth, getAuth: () => ({ @@ -19,11 +22,11 @@ jest.mock('firebase/auth', () => { uid: 'testUid', }, }), - createUserWithEmailAndPassword: jest.fn(), - signInWithEmailAndPassword: jest.fn(), - onAuthStateChanged: jest.fn(), - signOut: jest.fn(), - updateProfile: jest.fn(), + createUserWithEmailAndPassword: vi.fn(), + signInWithEmailAndPassword: vi.fn(), + onAuthStateChanged: vi.fn(), + signOut: vi.fn(), + updateProfile: vi.fn(), } }) @@ -434,8 +437,8 @@ describe('userStore', () => { describe('registerNewUser', () => { it('registers a new user', async () => { - store.loadUserAggregations = jest.fn() - store.authUnsubscribe = jest.fn() + store.loadUserAggregations = vi.fn() + store.authUnsubscribe = vi.fn() await store.registerNewUser( 'newuser@example.com', diff --git a/src/stores/User/user.store.ts b/src/stores/User/user.store.ts index e718bae23..b86a92816 100644 --- a/src/stores/User/user.store.ts +++ b/src/stores/User/user.store.ts @@ -10,7 +10,7 @@ import { updateProfile, } from 'firebase/auth' import { uniqBy } from 'lodash' -import { action, computed, makeObservable, observable, toJS } from 'mobx' +import { action, makeObservable, observable, toJS } from 'mobx' import { EmailNotificationFrequency, IModerationStatus } from 'oa-shared' import { logger } from '../../logger' @@ -54,14 +54,6 @@ export class UserStore extends ModuleStore { super(rootStore) makeObservable(this) this._listenToAuthStateChanges() - // Update verified users on intial load. use timeout to ensure aggregation store initialised - setTimeout(() => { - this.loadUserAggregations() - }, 50) - } - // redirect calls for verifiedUsers to the aggregation store list - @computed get verifiedUsers(): { [user_id: string]: boolean } { - return this.aggregationsStore.users_verified || {} } @action @@ -378,11 +370,6 @@ export class UserStore extends ModuleStore { // TODO show notification if invalid credential } - @action - public async loadUserAggregations() { - this.aggregationsStore.updateVerifiedUsers() - } - // handle user sign in, when firebase authenticates want to also fetch user document from the database private async _userSignedIn(user: IFirebaseUser | null) { if (!user) return null diff --git a/src/stores/common/__mocks__/module.store.ts b/src/stores/common/__mocks__/module.store.ts index 237f39dfd..c788a86be 100644 --- a/src/stores/common/__mocks__/module.store.ts +++ b/src/stores/common/__mocks__/module.store.ts @@ -1,12 +1,12 @@ /* eslint-disable @typescript-eslint/no-empty-function */ /* eslint-disable max-classes-per-file */ export class MockDBStore { - collection = jest.fn().mockReturnThis() - doc = jest.fn().mockReturnThis() - set = jest.fn().mockReturnThis() - get = jest.fn().mockReturnThis() - getWhere = jest.fn().mockReturnThis() - update = jest.fn().mockReturnThis() + collection = vi.fn().mockReturnThis() + doc = vi.fn().mockReturnThis() + set = vi.fn().mockReturnThis() + get = vi.fn().mockReturnThis() + getWhere = vi.fn().mockReturnThis() + update = vi.fn().mockReturnThis() } export class ModuleStore { @@ -17,7 +17,7 @@ export class ModuleStore { db = new MockDBStore() activeUser = {} allDocs$ = { - subscribe: jest.fn(), + subscribe: vi.fn(), } constructor() {} diff --git a/src/stores/common/mentions/index.test.ts b/src/stores/common/mentions/index.test.ts index 4e2182a4a..aefd9cac4 100644 --- a/src/stores/common/mentions/index.test.ts +++ b/src/stores/common/mentions/index.test.ts @@ -1,3 +1,5 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest' + import { changeMentionToUserReference, changeUserReferenceToPlainText, @@ -7,7 +9,7 @@ import type { UserStore } from '../../User/user.store' describe('changeMentionToUserReference', () => { const mockUserStore = { - getUserProfile: jest.fn(), + getUserProfile: vi.fn(), } beforeEach(() => { diff --git a/src/stores/common/module.store.test.tsx b/src/stores/common/module.store.test.tsx index af3607347..6dc55b9ca 100644 --- a/src/stores/common/module.store.test.tsx +++ b/src/stores/common/module.store.test.tsx @@ -1,22 +1,24 @@ +import { afterEach, describe, expect, it, vi } from 'vitest' + import { DatabaseV2 } from '../databaseV2/DatabaseV2' import { RootStore } from '../RootStore' import { ModuleStore } from './module.store' // Mocked to prevent App initialisation from useCommonStores dependency -jest.mock('react-dom') +vi.mock('react-dom') // Mocked to prevent indexedDB API not found error message -jest.mock('src/stores/databaseV2/clients/DexieClient') +vi.mock('src/stores/databaseV2/clients/DexieClient') // Mocked to prevent circular dependency through useCommonStores -jest.mock('src/common/hooks/useCommonStores') +vi.mock('src/common/hooks/useCommonStores') // Mocked to mock out RootStore -jest.mock('src/stores/RootStore') +vi.mock('src/stores/RootStore') -const collectionMock = jest.fn() +const collectionMock = vi.fn() class MockDB extends DatabaseV2 { collection = collectionMock } -const rootStoreMock = jest.mocked(new RootStore()) +const rootStoreMock = vi.mocked(new RootStore()) rootStoreMock.dbV2 = new MockDB() const store = new ModuleStore(rootStoreMock, 'howtos') @@ -28,7 +30,7 @@ const givenMatches = (matches: { _id: string }[]) => { describe('module.store', () => { afterEach(() => { - jest.restoreAllMocks() + vi.restoreAllMocks() }) describe('isTitleThatReusesSlug', () => { @@ -122,7 +124,7 @@ describe('module.store', () => { it('returns the slug without checks if already the same as set', async () => { givenMatches([]) - const spy = jest.spyOn(store, 'isTitleThatReusesSlug') + const spy = vi.spyOn(store, 'isTitleThatReusesSlug') const slug = 'same-slug' const doc = { diff --git a/src/stores/common/toggleDocUsefulByUser.test.ts b/src/stores/common/toggleDocUsefulByUser.test.ts index c0a8e182e..1a8c4aadc 100644 --- a/src/stores/common/toggleDocUsefulByUser.test.ts +++ b/src/stores/common/toggleDocUsefulByUser.test.ts @@ -1,11 +1,13 @@ +import { describe, expect, it, vi } from 'vitest' + import { toggleDocUsefulByUser } from './toggleDocUsefulByUser' -const mockDoc = jest.fn() -const mockGetDoc = jest.fn() -const mockUpdateDoc = jest.fn() -const mockIncrement = jest.fn() +const mockDoc = vi.fn() +const mockGetDoc = vi.fn() +const mockUpdateDoc = vi.fn() +const mockIncrement = vi.fn() -jest.mock('firebase/firestore', () => ({ +vi.mock('firebase/firestore', () => ({ doc: (db, colName, id) => mockDoc(db, colName, id), getDoc: (ref) => mockGetDoc(ref), updateDoc: (ref, value) => mockUpdateDoc(ref, value), diff --git a/src/stores/databaseV2/endpoints.ts b/src/stores/databaseV2/endpoints.ts index 4c09245e6..a3e9e530b 100644 --- a/src/stores/databaseV2/endpoints.ts +++ b/src/stores/databaseV2/endpoints.ts @@ -2,8 +2,8 @@ import { generateDBEndpoints } from 'oa-shared' // React apps populate a process variable, however it might not always be accessible outside // (e.g. cypress will instead use it's own env to populate a prefix) -const process = globalThis.process || ({} as any) -const e = process.env || ({} as any) +// const process = globalThis.process || ({} as any) +const e = import.meta.env || ({} as any) /** * A prefix can be used to simplify large-scale schema changes or multisite hosting @@ -11,7 +11,7 @@ const e = process.env || ({} as any) * e.g. oa_ * SessionStorage prefixes are used to allow test ci environments to dynamically set a db endpoint */ -const DB_PREFIX = sessionStorage.DB_PREFIX || e.REACT_APP_DB_PREFIX || '' +const DB_PREFIX = sessionStorage.DB_PREFIX || e.VITE_APP_DB_PREFIX || '' /** * Mapping of generic database endpoints to specific prefixed and revisioned versions for the diff --git a/src/test/components/HowtoProvider.tsx b/src/test/components/HowtoProvider.tsx index 88219ddbf..c7295b929 100644 --- a/src/test/components/HowtoProvider.tsx +++ b/src/test/components/HowtoProvider.tsx @@ -4,7 +4,7 @@ import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryHowto } from 'src/test/factories/Howto' -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { useCommonStores: () => ({ stores: { @@ -20,8 +20,8 @@ jest.mock('src/common/hooks/useCommonStores', () => { Database: false, Complete: false, }, - validateTitleForSlug: jest.fn(), - uploadHowTo: jest.fn(), + validateTitleForSlug: vi.fn(), + uploadHowTo: vi.fn(), }, tagsStore: { allTags: [ @@ -39,7 +39,7 @@ jest.mock('src/common/hooks/useCommonStores', () => { export const HowtoProvider = ({ children }) => { const formProps = { formValues: FactoryHowto(), - onSubmit: jest.fn(), + onSubmit: vi.fn(), mutators: { ...arrayMutators }, component: () => children, } diff --git a/src/test/components/ResearchProvider.tsx b/src/test/components/ResearchProvider.tsx index 2048cc6e1..ea8753aac 100644 --- a/src/test/components/ResearchProvider.tsx +++ b/src/test/components/ResearchProvider.tsx @@ -4,7 +4,7 @@ import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryResearchItem } from 'src/test/factories/ResearchItem' -jest.mock('src/common/hooks/useCommonStores', () => { +vi.mock('src/common/hooks/useCommonStores', () => { return { useCommonStores: () => ({ stores: { @@ -12,8 +12,8 @@ jest.mock('src/common/hooks/useCommonStores', () => { allCategories: [], }, researchStore: { - validateTitleForSlug: jest.fn(), - uploadHowTo: jest.fn(), + validateTitleForSlug: vi.fn(), + uploadHowTo: vi.fn(), }, tagsStore: { allTags: [ @@ -31,7 +31,7 @@ jest.mock('src/common/hooks/useCommonStores', () => { export const ResearchProvider = ({ children }) => { const formProps = { formValues: FactoryResearchItem(), - onSubmit: jest.fn(), + onSubmit: vi.fn(), mutators: { ...arrayMutators }, component: () => children, } diff --git a/src/test/components/SettingsProvider.tsx b/src/test/components/SettingsProvider.tsx index 043fa5235..b1b424ea1 100644 --- a/src/test/components/SettingsProvider.tsx +++ b/src/test/components/SettingsProvider.tsx @@ -4,10 +4,10 @@ import { Provider } from 'mobx-react' import { useCommonStores } from 'src/common/hooks/useCommonStores' import { FactoryUser } from 'src/test/factories/User' -const mockGetUserProfile = jest.fn().mockResolvedValue(FactoryUser) -const mockUpdateUserBadge = jest.fn() +const mockGetUserProfile = vi.fn().mockResolvedValue(FactoryUser) +const mockUpdateUserBadge = vi.fn() -jest.mock('src/common/hooks/useCommonStores', () => ({ +vi.mock('src/common/hooks/useCommonStores', () => ({ __esModule: true, useCommonStores: () => ({ stores: { @@ -38,7 +38,7 @@ export const SettingsProvider = ({ children }) => { const formProps = { formValues: user, - onSubmit: jest.fn(), + onSubmit: vi.fn(), mutators: { ...arrayMutators }, component: () => children, } diff --git a/src/test/setup.ts b/src/test/setup.ts new file mode 100644 index 000000000..abef5dc9b --- /dev/null +++ b/src/test/setup.ts @@ -0,0 +1,19 @@ +// import matchers from '@testing-library/jest-dom/matchers' +import { cleanup } from '@testing-library/react' +// extends Vitest's expect method with methods from react-testing-library +// expect.extend(matchers) +import ResizeObserver from 'resize-observer-polyfill' +import { afterEach } from 'vitest' + +global.ResizeObserver = ResizeObserver + +if (!globalThis.defined) { + globalThis.defined = true +} + +// runs a cleanup after each test case (e.g. clearing jsdom) +afterEach(() => { + cleanup() +}) + +globalThis.resetBeforeEachTest = true diff --git a/src/utils/cdnImageUrl.test.ts b/src/utils/cdnImageUrl.test.ts index f05ebe2c6..68c394530 100644 --- a/src/utils/cdnImageUrl.test.ts +++ b/src/utils/cdnImageUrl.test.ts @@ -1,82 +1,72 @@ const STORAGE_BUCKET = 'some-bucket' +import { beforeEach } from 'node:test' +import { _cdnImageUrlInternal } from 'src/utils/cdnImageUrl' +import { describe, expect, it, vi } from 'vitest' + +vi.mock('src/config/config', () => ({ + getConfigurationOption: vi.fn(), +})) describe('cdnImageUrl', () => { beforeEach(() => { - jest.resetModules() + vi.resetModules() }) it('should ignore invalid URL', () => { - // Mocking empty CDN_URL - jest.doMock('src/config/config', () => ({ - getConfigurationOption: jest.fn(), - FIREBASE_CONFIG: { storageBucket: 'some-bucket' }, - CDN_URL: 'xsmasa.masas--', - })) - - const { cdnImageUrl } = require('src/utils/cdnImageUrl') + const CDN_URL = 'xsmasa.masas--' + const FIREBASE_CONFIG = { storageBucket: 'some-bucket' } const originalUrl = 'https://firebasestorage.googleapis.com/v0/b/some-bucket/image.jpg' - expect(cdnImageUrl(originalUrl)).toBe(originalUrl) + expect(_cdnImageUrlInternal(CDN_URL, FIREBASE_CONFIG, originalUrl)).toBe( + originalUrl, + ) }) it('should return well formed URL if input is poorly formatted', () => { - // Mocking empty CDN_URL - jest.doMock('src/config/config', () => ({ - getConfigurationOption: jest.fn(), - FIREBASE_CONFIG: { storageBucket: 'some-bucket' }, - CDN_URL: ' https://cdn-url.com/ ', - })) + const FIREBASE_CONFIG = { storageBucket: 'some-bucket' } + const CDN_URL = ' https://cdn-url.com/ ' - const { cdnImageUrl } = require('src/utils/cdnImageUrl') const originalUrl = 'https://firebasestorage.googleapis.com/v0/b/some-bucket/image.jpg' - expect(cdnImageUrl(originalUrl)).toBe('https://cdn-url.com/image.jpg') + expect(_cdnImageUrlInternal(CDN_URL, FIREBASE_CONFIG, originalUrl)).toBe( + 'https://cdn-url.com/image.jpg', + ) }) it('should return the original URL if CDN_URL or FIREBASE_CONFIG.storageBucket is not set', () => { - // Mocking empty CDN_URL - jest.doMock('src/config/config', () => ({ - getConfigurationOption: jest.fn(), - FIREBASE_CONFIG: { storageBucket: 'some-bucket' }, - CDN_URL: '', - })) + const FIREBASE_CONFIG = { storageBucket: 'some-bucket' } + const CDN_URL = '' - const { cdnImageUrl } = require('src/utils/cdnImageUrl') const originalUrl = 'https://firebasestorage.googleapis.com/v0/b/some-bucket/image.jpg' - expect(cdnImageUrl(originalUrl)).toBe(originalUrl) + expect(_cdnImageUrlInternal(CDN_URL, FIREBASE_CONFIG, originalUrl)).toBe( + originalUrl, + ) }) it('should replace the Firebase storage URL with CDN_URL', () => { - jest.mock('src/config/config', () => ({ - getConfigurationOption: jest.fn(), - FIREBASE_CONFIG: { storageBucket: 'some-bucket' }, - CDN_URL: 'https://cdn-url.com', - })) - - const { cdnImageUrl } = require('src/utils/cdnImageUrl') + const FIREBASE_CONFIG = { storageBucket: 'some-bucket' } + const CDN_URL = 'https://cdn-url.com' expect( - cdnImageUrl( + _cdnImageUrlInternal( + CDN_URL, + FIREBASE_CONFIG, `https://firebasestorage.googleapis.com/v0/b/${STORAGE_BUCKET}/image.jpg`, ), ).toBe(`https://cdn-url.com/image.jpg`) }) it('should handle resize params and existing query params', () => { - jest.mock('src/config/config', () => ({ - getConfigurationOption: jest.fn(), - FIREBASE_CONFIG: { storageBucket: 'some-bucket' }, - CDN_URL: 'https://cdn-url.com', - })) - - const { cdnImageUrl } = require('src/utils/cdnImageUrl') - + const FIREBASE_CONFIG = { storageBucket: 'some-bucket' } + const CDN_URL = 'https://cdn-url.com' expect( - cdnImageUrl( + _cdnImageUrlInternal( + CDN_URL, + FIREBASE_CONFIG, `https://firebasestorage.googleapis.com/v0/b/${STORAGE_BUCKET}/image.jpg?query=param`, { width: 500, @@ -86,16 +76,13 @@ describe('cdnImageUrl', () => { }) it('should handle resize params', () => { - jest.mock('src/config/config', () => ({ - getConfigurationOption: jest.fn(), - FIREBASE_CONFIG: { storageBucket: 'some-bucket' }, - CDN_URL: 'https://cdn-url.com', - })) - - const { cdnImageUrl } = require('src/utils/cdnImageUrl') + const FIREBASE_CONFIG = { storageBucket: 'some-bucket' } + const CDN_URL = 'https://cdn-url.com' expect( - cdnImageUrl( + _cdnImageUrlInternal( + CDN_URL, + FIREBASE_CONFIG, `https://firebasestorage.googleapis.com/v0/b/${STORAGE_BUCKET}/image.jpg`, { width: 500, @@ -105,16 +92,15 @@ describe('cdnImageUrl', () => { }) it('should not modify a non-Firebase URL', () => { - jest.mock('src/config/config', () => ({ - getConfigurationOption: jest.fn(), - FIREBASE_CONFIG: { storageBucket: 'some-bucket' }, - CDN_URL: 'https://cdn-url.com', - })) + const FIREBASE_CONFIG = { storageBucket: 'some-bucket' } + const CDN_URL = 'https://cdn-url.com' - const { cdnImageUrl } = require('src/utils/cdnImageUrl') - - expect(cdnImageUrl('https://some-other-url.com/image.jpg')).toBe( - 'https://some-other-url.com/image.jpg', - ) + expect( + _cdnImageUrlInternal( + CDN_URL, + FIREBASE_CONFIG, + 'https://some-other-url.com/image.jpg', + ), + ).toBe('https://some-other-url.com/image.jpg') }) }) diff --git a/src/utils/cdnImageUrl.ts b/src/utils/cdnImageUrl.ts index 2d4b5b6a3..03ff870bf 100644 --- a/src/utils/cdnImageUrl.ts +++ b/src/utils/cdnImageUrl.ts @@ -1,16 +1,27 @@ import { CDN_URL, FIREBASE_CONFIG } from 'src/config/config' import { logger } from 'src/logger' +import type { IFirebaseConfig } from 'src/config/types' + type ResizeArgs = { width?: number } export const cdnImageUrl = (url: string, resizeArgs?: ResizeArgs) => { - if (!CDN_URL || !FIREBASE_CONFIG.storageBucket) { + return _cdnImageUrlInternal(CDN_URL, FIREBASE_CONFIG, url, resizeArgs) +} + +export const _cdnImageUrlInternal = ( + cdnUrl: string, + firebaseConfig: Partial, + url: string, + resizeArgs?: ResizeArgs, +) => { + if (!cdnUrl || !firebaseConfig.storageBucket) { return url } - const sanitizedCdnUrl = CDN_URL.trim().replace(/\/$/, '') + const sanitizedCdnUrl = cdnUrl.trim().replace(/\/$/, '') try { new URL(sanitizedCdnUrl) @@ -21,7 +32,7 @@ export const cdnImageUrl = (url: string, resizeArgs?: ResizeArgs) => { return ( url.replace( - `https://firebasestorage.googleapis.com/v0/b/${FIREBASE_CONFIG.storageBucket}`, + `https://firebasestorage.googleapis.com/v0/b/${firebaseConfig.storageBucket}`, sanitizedCdnUrl, ) + formatResizeArgsForUrl(resizeArgs, url) ) diff --git a/src/utils/checkUserNameUnique.test.ts b/src/utils/checkUserNameUnique.test.ts index 61d83d2e2..79e39f2e5 100644 --- a/src/utils/checkUserNameUnique.test.ts +++ b/src/utils/checkUserNameUnique.test.ts @@ -1,17 +1,19 @@ +import { describe, expect, it, vi } from 'vitest' + import { checkUserNameUnique } from './checkUserNameUnique' import type { UserStore } from '../stores/User/user.store' describe('checkUserNameUnique', () => { - const mock = jest.fn().mockImplementation(() => { + const mock = vi.fn().mockImplementation(() => { return { - getUserProfile: () => jest.fn(), + getUserProfile: () => vi.fn(), } }) const store = new mock() as UserStore it('user does not exist', async () => { - jest.spyOn(store, 'getUserProfile').mockResolvedValue(undefined) + vi.spyOn(store, 'getUserProfile').mockResolvedValue(undefined) const check = await checkUserNameUnique(store, 'testUser') @@ -19,7 +21,7 @@ describe('checkUserNameUnique', () => { }) it('user does exist', async () => { - jest.spyOn(store, 'getUserProfile').mockResolvedValue({}) + vi.spyOn(store, 'getUserProfile').mockResolvedValue({}) const check = await checkUserNameUnique(store, 'testUser') diff --git a/src/utils/formatters.test.ts b/src/utils/formatters.test.ts index d502e0940..d2f033772 100644 --- a/src/utils/formatters.test.ts +++ b/src/utils/formatters.test.ts @@ -1,4 +1,5 @@ import { ExternalLinkLabel } from 'oa-shared' +import { describe, expect, it } from 'vitest' import { formatLink } from './formatters' diff --git a/src/utils/getUserCountry.test.ts b/src/utils/getUserCountry.test.ts index dbcac26c4..f7f1d8aaf 100644 --- a/src/utils/getUserCountry.test.ts +++ b/src/utils/getUserCountry.test.ts @@ -1,4 +1,5 @@ import { IModerationStatus } from 'oa-shared' +import { describe, expect, it } from 'vitest' import { getUserCountry } from './getUserCountry' diff --git a/src/utils/helpers.test.ts b/src/utils/helpers.test.ts index 401558897..1032a95da 100644 --- a/src/utils/helpers.test.ts +++ b/src/utils/helpers.test.ts @@ -1,6 +1,7 @@ import { IModerationStatus, ResearchUpdateStatus, UserRole } from 'oa-shared' import { FactoryResearchItemUpdate } from 'src/test/factories/ResearchItem' import { FactoryUser } from 'src/test/factories/User' +import { describe, expect, it } from 'vitest' import { arrayToJson, @@ -21,7 +22,6 @@ import { } from './helpers' import type { IModerable, IResearch } from 'src/models' -import type { IItem } from 'src/stores/common/FilterSorterDecorator/FilterSorterDecorator' describe('src/utils/helpers', () => { it('stripSpecialCharacters should remove special characters and replace spaces with dashes', () => { diff --git a/src/utils/helpers.ts b/src/utils/helpers.ts index d603872f4..8d62ade20 100644 --- a/src/utils/helpers.ts +++ b/src/utils/helpers.ts @@ -244,7 +244,7 @@ export const getPublicUpdates = (item: IResearch.Item) => { export const getProjectEmail = (subject: string) => { const site = getConfigurationOption( - 'REACT_APP_PLATFORM_THEME', + 'VITE_APP_PLATFORM_THEME', 'precious-plastic', ) return `mailto:platform@onearmy.earth?subject=${subject}%20${site}` diff --git a/src/utils/incrementViewCount.test.ts b/src/utils/incrementViewCount.test.ts index faac13444..c897ee2ee 100644 --- a/src/utils/incrementViewCount.test.ts +++ b/src/utils/incrementViewCount.test.ts @@ -1,4 +1,5 @@ import { incrementViewCount } from 'src/utils/incrementViewCount' +import { describe, expect, it, vi } from 'vitest' describe('incrementViewCount', () => { it('calls the store incrementor', async () => { @@ -8,7 +9,7 @@ describe('incrementViewCount', () => { } const store = { - incrementViewCount: jest.fn(), + incrementViewCount: vi.fn(), } as any await incrementViewCount({ @@ -27,7 +28,7 @@ describe('incrementViewCount', () => { } const store = { - incrementViewCount: jest.fn(), + incrementViewCount: vi.fn(), } as any await incrementViewCount({ diff --git a/src/utils/isTestEnvironment.ts b/src/utils/isTestEnvironment.ts index 5cb1341ac..8f60d2dcb 100644 --- a/src/utils/isTestEnvironment.ts +++ b/src/utils/isTestEnvironment.ts @@ -1 +1 @@ -export const isTestEnvironment = process.env.NODE_ENV === 'test' +export const isTestEnvironment = import.meta.env.NODE_ENV === 'test' diff --git a/src/utils/searchHelper.test.ts b/src/utils/searchHelper.test.ts index 6b22f239f..ed1ba78e3 100644 --- a/src/utils/searchHelper.test.ts +++ b/src/utils/searchHelper.test.ts @@ -1,5 +1,7 @@ import '@testing-library/jest-dom' +import { describe, expect, it } from 'vitest' + import { getKeywords } from './searchHelper' describe('searchHelper', () => { diff --git a/src/utils/validators.test.ts b/src/utils/validators.test.ts index db4b56893..78e8e15d7 100644 --- a/src/utils/validators.test.ts +++ b/src/utils/validators.test.ts @@ -1,3 +1,5 @@ +import { afterEach, describe, expect, it, vi } from 'vitest' + import { draftValidationWrapper, noSpecialCharacters, @@ -5,7 +7,7 @@ import { } from './validators' // Mock out module store to limit impact of circular dependency -jest.mock('src/stores/common/module.store') +vi.mock('src/stores/common/module.store') import { ResearchStore } from '../stores/Research/research.store' @@ -13,7 +15,7 @@ describe('draftValidationWrapper', () => { it('forwards to the validator when draft save is not allowed', () => { const allowDraftSave = false const value = 'title' - const validator = jest.fn() + const validator = vi.fn() draftValidationWrapper(value, { allowDraftSave }, validator) @@ -22,7 +24,7 @@ describe('draftValidationWrapper', () => { it('returns undefined when draft save is allowed', () => { const allowDraftSave = true - const validator = jest.fn() + const validator = vi.fn() draftValidationWrapper('title', { allowDraftSave }, validator) @@ -31,14 +33,14 @@ describe('draftValidationWrapper', () => { }) describe('validateTitle', () => { - const isReusedMock = jest.fn() + const isReusedMock = vi.fn() class MockStore extends ResearchStore { isTitleThatReusesSlug = isReusedMock } afterEach(() => { - jest.restoreAllMocks() + vi.restoreAllMocks() }) it("returns 'Required' when title is falsy", async () => { diff --git a/tsconfig.json b/tsconfig.json index 8ddf61ec7..5bb87f215 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,8 @@ { "compilerOptions": { - "target": "es5", + "target": "es2021", "lib": ["dom", "dom.iterable", "esnext"], + "types": ["vite/client"], "allowJs": true, "baseUrl": ".", "skipLibCheck": true, @@ -22,7 +23,8 @@ "./node_modules/@types", "./types", "@testing-library/jest-dom", - "../src/themes/types" + "../src/themes/types", + "./node_modules" ], "declaration": true, "noEmit": true, diff --git a/vite-env.d.ts b/vite-env.d.ts new file mode 100644 index 000000000..b1f45c786 --- /dev/null +++ b/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 000000000..120966119 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,62 @@ +import react from '@vitejs/plugin-react' +import { resolve } from 'path' +/// +import { defineConfig } from 'vite' +import envCompatible from 'vite-plugin-env-compatible' +import svgr from 'vite-plugin-svgr' +import ViteTsConfigPathsPlugin from 'vite-tsconfig-paths' + +import type { UserConfig as VitestUserConfigInterface } from 'vitest/config' + +const vitestConfig: VitestUserConfigInterface = { + test: { + environment: 'jsdom', + globals: true, + setupFiles: './src/test/setup.ts', + coverage: { + provider: 'v8', + }, + reporters: ['junit'], + include: ['./src/**/*.{test,spec}.?(c|m)[jt]s?(x)'], + }, +} + +// https://vitejs.dev/config/ +export default defineConfig({ + build: { + outDir: 'build', + }, + define: { + global: 'globalThis', + }, + plugins: [ + react({ + babel: { + parserOpts: { + plugins: ['decorators-legacy'], + }, + }, + }), + // TODO - confirm if required (given manual resolutions below) + ViteTsConfigPathsPlugin({ + root: './', + }), + // support import of svg files + svgr(), + // support REACT_APP variables accessed via process.env + envCompatible({ prefix: 'REACT_APP_' }), + ], + // open browser with server (note, will open at 127.0.1 not localhost on node <17) + // https://vitejs.dev/config/server-options.html#server-options + server: { + open: '/', + port: 3000, + }, + resolve: { + alias: { + 'oa-shared': resolve(__dirname, './shared/index.ts'), + 'oa-components': resolve(__dirname, './packages/components/src/index.ts'), + }, + }, + test: vitestConfig.test, +}) diff --git a/yarn.lock b/yarn.lock index a3b9d4258..7a72eaf98 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,10 +12,10 @@ __metadata: languageName: node linkType: hard -"@adobe/css-tools@npm:^4.0.1": - version: 4.1.0 - resolution: "@adobe/css-tools@npm:4.1.0" - checksum: 50d0098461af146e112bdc700959fac473cce31ad25f5077b11c87bc66529c4aeb5a1e6f30f4a9646efe003c242f52f181f042e21f9cc137703ffde54a9d1fb5 +"@adobe/css-tools@npm:^4.3.2": + version: 4.3.3 + resolution: "@adobe/css-tools@npm:4.3.3" + checksum: d21f3786b84911fee59c995a146644a85c98692979097b26484ffa9e442fb1a92ccd68ce984e3e7cf8d5933c3560fbc0ad3e3cd1de50b9a723d1c012e793bbcb languageName: node linkType: hard @@ -196,16 +196,13 @@ __metadata: languageName: node linkType: hard -"@apideck/better-ajv-errors@npm:^0.3.1": - version: 0.3.6 - resolution: "@apideck/better-ajv-errors@npm:0.3.6" +"@ampproject/remapping@npm:^2.2.1": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" dependencies: - json-schema: ^0.4.0 - jsonpointer: ^5.0.0 - leven: ^3.1.0 - peerDependencies: - ajv: ">=8" - checksum: b70ec9aae3b30ba1ac06948e585cd96aabbfe7ef6a1c27dc51e56c425f01290a58e9beb19ed95ee64da9f32df3e9276cd1ea58e78792741d74a519cb56955491 + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: d3ad7b89d973df059c4e8e6d7c972cbeb1bb2f18f002a3bd04ae0707da214cb06cc06929b65aa2313b9347463df2914772298bae8b1d7973f246bb3f2ab3e8f0 languageName: node linkType: hard @@ -270,6 +267,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/code-frame@npm:7.24.6" + dependencies: + "@babel/highlight": ^7.24.6 + picocolors: ^1.0.0 + checksum: 0904514ea7079a9590c1c546cd20b9c1beab9649873f2a0703429860775c1713a8dfb2daacd781a0210bb3930c656c1c436013fb20eaa3644880fb3a2b34541d + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.21.4": version: 7.21.4 resolution: "@babel/compat-data@npm:7.21.4" @@ -291,6 +298,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/compat-data@npm:7.24.6" + checksum: 92233c708f7c349923c1f9a2b3c9354875a951ac3afaca0a2c159de1c808f6799ad4433652b90870015281aa466ec6e9aa8922e755cd7ac1413a3a5782cd685d + languageName: node + linkType: hard + "@babel/core@npm:7.12.9": version: 7.12.9 resolution: "@babel/core@npm:7.12.9" @@ -315,7 +329,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.18.6, @babel/core@npm:^7.19.6, @babel/core@npm:^7.20.12, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5, @babel/core@npm:^7.8.0": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.3, @babel/core@npm:^7.18.6, @babel/core@npm:^7.19.6, @babel/core@npm:^7.20.12, @babel/core@npm:^7.7.5": version: 7.21.4 resolution: "@babel/core@npm:7.21.4" dependencies: @@ -338,6 +352,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.21.3, @babel/core@npm:^7.24.5": + version: 7.24.6 + resolution: "@babel/core@npm:7.24.6" + dependencies: + "@ampproject/remapping": ^2.2.0 + "@babel/code-frame": ^7.24.6 + "@babel/generator": ^7.24.6 + "@babel/helper-compilation-targets": ^7.24.6 + "@babel/helper-module-transforms": ^7.24.6 + "@babel/helpers": ^7.24.6 + "@babel/parser": ^7.24.6 + "@babel/template": ^7.24.6 + "@babel/traverse": ^7.24.6 + "@babel/types": ^7.24.6 + convert-source-map: ^2.0.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.3 + semver: ^6.3.1 + checksum: f8af23de19865818c27c2fbe0d87b0834b118386da5ee09b20ae0cf7a5540065054ef2b70f377d025d9feee765db18df39900e4c18e905988b94b54a104c738e + languageName: node + linkType: hard + "@babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2": version: 7.23.6 resolution: "@babel/core@npm:7.23.6" @@ -361,20 +398,6 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.16.3": - version: 7.19.1 - resolution: "@babel/eslint-parser@npm:7.19.1" - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals": 5.1.1-v1 - eslint-visitor-keys: ^2.1.0 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ">=7.11.0" - eslint: ^7.5.0 || ^8.0.0 - checksum: 6d5360f62f25ed097250657deb1bc4c4f51a5f5f2fe456e98cda13727753fdf7a11a109b4cfa03ef0dd6ced3beaeb703b76193c1141e29434d1f91f1bac0517d - languageName: node - linkType: hard - "@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.12.5, @babel/generator@npm:^7.18.7, @babel/generator@npm:^7.21.4, @babel/generator@npm:^7.7.2, @babel/generator@npm:~7.21.1": version: 7.21.4 resolution: "@babel/generator@npm:7.21.4" @@ -411,6 +434,18 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/generator@npm:7.24.6" + dependencies: + "@babel/types": ^7.24.6 + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.25 + jsesc: ^2.5.1 + checksum: a477e03129106908f464b195c4f138052d732cfca47506b127edbed6a496371bae821662a8a4e51e6d144ac236a5d05dc2da0e145e29bb8e19d3e7c480ac00fe + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" @@ -489,6 +524,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-compilation-targets@npm:7.24.6" + dependencies: + "@babel/compat-data": ^7.24.6 + "@babel/helper-validator-option": ^7.24.6 + browserslist: ^4.22.2 + lru-cache: ^5.1.1 + semver: ^6.3.1 + checksum: c66bf86387fbeefc617db9510de553880ed33dc91308421ee36a7b489d0e8c8eb615e0f467a9ec886eada7c05b03e421e55b2a724ff302402fdd4e0c0b2b0443 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.20.12, @babel/helper-create-class-features-plugin@npm:^7.21.0": version: 7.21.4 resolution: "@babel/helper-create-class-features-plugin@npm:7.21.4" @@ -622,6 +670,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-environment-visitor@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-environment-visitor@npm:7.24.6" + checksum: 9c2b3f1ee7ba46b61b0482efab6d37f5c76f0ea4e9d9775df44a89644729c3a50101040a0233543ec6c3f416d8e548d337f310ff3e164f847945507428ee39e5 + languageName: node + linkType: hard + "@babel/helper-explode-assignable-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-explode-assignable-expression@npm:7.18.6" @@ -661,6 +716,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-function-name@npm:7.24.6" + dependencies: + "@babel/template": ^7.24.6 + "@babel/types": ^7.24.6 + checksum: d7a2198b6bf2cae9767d5b0d6cb5d3cbd9a07640ad4b6798abb7d7242e8f32765a94fd98ab1a039d7607f0ddbeaf9ddc822dd536b856e499f7082899c6f455f0 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-hoist-variables@npm:7.18.6" @@ -679,6 +744,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-hoist-variables@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-hoist-variables@npm:7.24.6" + dependencies: + "@babel/types": ^7.24.6 + checksum: 4819b574393a5214aff6ae02a6e5250ace2564f8bcdb28d580ffec57bbb2092425e8f39563d75cfa268940a01fd425bad503c0b92717c12426f15cf6847855d3 + languageName: node + linkType: hard + "@babel/helper-member-expression-to-functions@npm:^7.20.7, @babel/helper-member-expression-to-functions@npm:^7.21.0": version: 7.21.0 resolution: "@babel/helper-member-expression-to-functions@npm:7.21.0" @@ -706,7 +780,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6": +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-module-imports@npm:7.18.6" dependencies: @@ -724,6 +798,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-imports@npm:7.24.6" + dependencies: + "@babel/types": ^7.24.6 + checksum: 3484420c45529aac34cb14111a03c78edab84e5c4419634affe61176d832af82963395ea319f67c7235fd4106d9052a9f3ce012d2d57d56644572d3f7d495231 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.20.11, @babel/helper-module-transforms@npm:^7.21.2": version: 7.21.2 resolution: "@babel/helper-module-transforms@npm:7.21.2" @@ -755,6 +838,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-transforms@npm:7.24.6" + dependencies: + "@babel/helper-environment-visitor": ^7.24.6 + "@babel/helper-module-imports": ^7.24.6 + "@babel/helper-simple-access": ^7.24.6 + "@babel/helper-split-export-declaration": ^7.24.6 + "@babel/helper-validator-identifier": ^7.24.6 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 904e2a0701eb1eeb84b0d0df5dacdc40291307025b7e3a9a3c6f3eee912c893524f9dc7f5624225a5783a258dec2eb2489a9638bf5f3de26ebfcbcac1b5cc2fc + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-optimise-call-expression@npm:7.18.6" @@ -794,6 +892,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-plugin-utils@npm:7.24.6" + checksum: d22bb82c75afed0d8c37784876fd6deb9db06ef21526db909ef7986a6050b50beb60a7823c08a1bb7c57c668af2e086d8086e88b6f9140b0d9ade07472f7c748 + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.18.9": version: 7.18.9 resolution: "@babel/helper-remap-async-to-generator@npm:7.18.9" @@ -879,6 +984,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-simple-access@npm:7.24.6" + dependencies: + "@babel/types": ^7.24.6 + checksum: 929162e887efc1bcadd4e141ed7782b45fccc6873d5023a744fee9c94d16d3a13dbfb66eb259181613a36c2d35f7d2088ee37e76014223d3b9b6c9ef1094e4b6 + languageName: node + linkType: hard + "@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0": version: 7.20.0 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.20.0" @@ -915,6 +1029,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-split-export-declaration@npm:7.24.6" + dependencies: + "@babel/types": ^7.24.6 + checksum: b546fd7e186b4aa69f96e041b6c4c9154115a2579a297b86773719dbed53b938cfc3f6b4996ae410296bb8aa30ea031f9ff31f1255aa25c3af75026c5b7c4059 + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.19.4": version: 7.19.4 resolution: "@babel/helper-string-parser@npm:7.19.4" @@ -936,6 +1059,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-string-parser@npm:7.24.6" + checksum: c8c614a663928b67c5c65cfea958ed20c858fa2af8c957d301bd852c0ab98adae0861f081fd8f5add16539d9393bd4b10b8c86a97a9d7304f70a6a67b2c2ff07 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": version: 7.19.1 resolution: "@babel/helper-validator-identifier@npm:7.19.1" @@ -957,6 +1087,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-identifier@npm:7.24.6" + checksum: a265a6fba570332dca63ad7e749b867d29b52da2573dc62bf19b5b8c5387d4f4296af33da9da7c71ffe3d3abecd743418278f56d38b057ad4b53f09b937fe113 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.18.6, @babel/helper-validator-option@npm:^7.21.0": version: 7.21.0 resolution: "@babel/helper-validator-option@npm:7.21.0" @@ -978,6 +1115,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-option@npm:7.24.6" + checksum: 5defb2da74e1cac9497016f4e41698aeed75ec7a5e9dc07e777cdb67ef73cd2e27bd2bf8a3ab8d37e0b93a6a45524a9728f03e263afdef452436cf74794bde87 + languageName: node + linkType: hard + "@babel/helper-wrap-function@npm:^7.18.9": version: 7.20.5 resolution: "@babel/helper-wrap-function@npm:7.20.5" @@ -1023,6 +1167,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helpers@npm:7.24.6" + dependencies: + "@babel/template": ^7.24.6 + "@babel/types": ^7.24.6 + checksum: c936058fd5caf7173e157f790fdbe9535237a7b8bc2c3d084bdf16467a034f73bd5d731deb514aa84e356c72de1cc93500a376f9d481f5c1e335f5a563426e58 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.18.6": version: 7.18.6 resolution: "@babel/highlight@npm:7.18.6" @@ -1056,6 +1210,18 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/highlight@npm:7.24.6" + dependencies: + "@babel/helper-validator-identifier": ^7.24.6 + chalk: ^2.4.2 + js-tokens: ^4.0.0 + picocolors: ^1.0.0 + checksum: 2f8f7f060eeccc3ddf03ba12c263995de0e6c0dd31ad224bed58d983b3bb08fe34dfc01440396266456a4cad83226c38ad6814805bc5d0c774a056cac9182eca + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.9.4, @babel/parser@npm:~7.21.2": version: 7.21.4 resolution: "@babel/parser@npm:7.21.4" @@ -1083,6 +1249,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/parser@npm:7.24.6" + bin: + parser: ./bin/babel-parser.js + checksum: ca3773f5b2a4a065b827990ca0c867e670f01d7a7d7278838bd64d583e68ed52356b5a613303c5aa736d20f024728fec80fc5845fed1eb751ab5f1bfbdc1dd3c + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6" @@ -1157,7 +1332,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.16.0, @babel/plugin-proposal-class-properties@npm:^7.18.6": +"@babel/plugin-proposal-class-properties@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" dependencies: @@ -1182,21 +1357,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-decorators@npm:^7.16.4": - version: 7.20.13 - resolution: "@babel/plugin-proposal-decorators@npm:7.20.13" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.20.12 - "@babel/helper-plugin-utils": ^7.20.2 - "@babel/helper-replace-supers": ^7.20.7 - "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/plugin-syntax-decorators": ^7.19.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 445723b410627d52ab2d195589eb9fe5fbd66a00ebfc9bedcf63b6cbfdfc42e163d77ac391f8738ab9f632779e6f2aa427fe468fbbd6661177ef0cdca735a7d5 - languageName: node - linkType: hard - "@babel/plugin-proposal-dynamic-import@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-dynamic-import@npm:7.18.6" @@ -1245,7 +1405,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" dependencies: @@ -1257,7 +1417,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-numeric-separator@npm:^7.16.0, @babel/plugin-proposal-numeric-separator@npm:^7.18.6": +"@babel/plugin-proposal-numeric-separator@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-numeric-separator@npm:7.18.6" dependencies: @@ -1309,7 +1469,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.16.0, @babel/plugin-proposal-optional-chaining@npm:^7.20.7, @babel/plugin-proposal-optional-chaining@npm:^7.21.0": +"@babel/plugin-proposal-optional-chaining@npm:^7.20.7, @babel/plugin-proposal-optional-chaining@npm:^7.21.0": version: 7.21.0 resolution: "@babel/plugin-proposal-optional-chaining@npm:7.21.0" dependencies: @@ -1322,7 +1482,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-methods@npm:^7.16.0, @babel/plugin-proposal-private-methods@npm:^7.18.6": +"@babel/plugin-proposal-private-methods@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6" dependencies: @@ -1343,7 +1503,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:^7.16.0, @babel/plugin-proposal-private-property-in-object@npm:^7.21.0": +"@babel/plugin-proposal-private-property-in-object@npm:^7.21.0": version: 7.21.0 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0" dependencies: @@ -1413,17 +1573,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-decorators@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/plugin-syntax-decorators@npm:7.19.0" - dependencies: - "@babel/helper-plugin-utils": ^7.19.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 105a13d581a8643ba145d4d0d31f34a492b352defa5b155e785702da6ce9c3ff0c1843ba9bee176e35f6e38afa19dc7bd12c120220af0495de4b128f1dd27f6e - languageName: node - linkType: hard - "@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" @@ -1446,17 +1595,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-syntax-flow@npm:7.18.6" - dependencies: - "@babel/helper-plugin-utils": ^7.18.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: abe82062b3eef14de7d2b3c0e4fecf80a3e796ca497e9df616d12dd250968abf71495ee85a955b43a6c827137203f0c409450cf792732ed0d6907c806580ea71 - languageName: node - linkType: hard - "@babel/plugin-syntax-flow@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-syntax-flow@npm:7.23.3" @@ -1999,18 +2137,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.16.0": - version: 7.19.0 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.19.0" - dependencies: - "@babel/helper-plugin-utils": ^7.19.0 - "@babel/plugin-syntax-flow": ^7.18.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c35339bf80c2a2b9abb9e2ce0382e1d9cc3ef7db2af127f4ec3d184bad2aec3269f3fcac5fdcd565439732803acad72eb9e7d5a18e439221526fdc041c9e8e1e - languageName: node - linkType: hard - "@babel/plugin-transform-flow-strip-types@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.23.3" @@ -2470,7 +2596,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-constant-elements@npm:^7.12.1, @babel/plugin-transform-react-constant-elements@npm:^7.18.12": +"@babel/plugin-transform-react-constant-elements@npm:^7.18.12": version: 7.20.2 resolution: "@babel/plugin-transform-react-constant-elements@npm:7.20.2" dependencies: @@ -2481,7 +2607,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.16.0, @babel/plugin-transform-react-display-name@npm:^7.18.6": +"@babel/plugin-transform-react-display-name@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-transform-react-display-name@npm:7.18.6" dependencies: @@ -2514,6 +2640,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx-self@npm:^7.24.5": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": ^7.24.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 695b1dd98b52ed05522d3a6a042f4b02e95764e443b781682cb59233f318b7f3849e4e6cf29d8d7afabc740d73cf1ec185bbfe58df724066bccb3e669d2a98be + languageName: node + linkType: hard + "@babel/plugin-transform-react-jsx-source@npm:^7.19.6": version: 7.19.6 resolution: "@babel/plugin-transform-react-jsx-source@npm:7.19.6" @@ -2525,6 +2662,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-react-jsx-source@npm:^7.24.1": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.24.6" + dependencies: + "@babel/helper-plugin-utils": ^7.24.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d642f9153a82f159e5d469fbc9976555e01ecb2d42b2ee2af62005719bd847129809142a88d56c031c85cb2483ad251937bb3b722e2226cbbd9d39bbf26a3233 + languageName: node + linkType: hard + "@babel/plugin-transform-react-jsx@npm:^7.18.6": version: 7.21.0 resolution: "@babel/plugin-transform-react-jsx@npm:7.21.0" @@ -2598,7 +2746,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:^7.16.4, @babel/plugin-transform-runtime@npm:^7.18.6": +"@babel/plugin-transform-runtime@npm:^7.18.6": version: 7.19.6 resolution: "@babel/plugin-transform-runtime@npm:7.19.6" dependencies: @@ -2823,7 +2971,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.18.6, @babel/preset-env@npm:^7.19.4": +"@babel/preset-env@npm:^7.18.6, @babel/preset-env@npm:^7.19.4": version: 7.21.4 resolution: "@babel/preset-env@npm:7.21.4" dependencies: @@ -3039,7 +3187,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.16.0, @babel/preset-react@npm:^7.18.6": +"@babel/preset-react@npm:^7.18.6": version: 7.18.6 resolution: "@babel/preset-react@npm:7.18.6" dependencies: @@ -3055,7 +3203,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.16.0, @babel/preset-typescript@npm:^7.18.6": +"@babel/preset-typescript@npm:^7.18.6": version: 7.18.6 resolution: "@babel/preset-typescript@npm:7.18.6" dependencies: @@ -3115,7 +3263,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.0, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.19.4, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.0, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.19.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": version: 7.20.13 resolution: "@babel/runtime@npm:7.20.13" dependencies: @@ -3142,6 +3290,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.9.2": + version: 7.24.6 + resolution: "@babel/runtime@npm:7.24.6" + dependencies: + regenerator-runtime: ^0.14.0 + checksum: 44d95ca743898fed31b4cefef31de6fd3cf7906e94493368e9d6538289cc52c6c46185205d9c01d38466a5b3f673550f80892d30b1ed02a2c13e704863a8cc48 + languageName: node + linkType: hard + "@babel/template@npm:^7.12.7, @babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.3.3": version: 7.20.7 resolution: "@babel/template@npm:7.20.7" @@ -3164,6 +3321,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/template@npm:7.24.6" + dependencies: + "@babel/code-frame": ^7.24.6 + "@babel/parser": ^7.24.6 + "@babel/types": ^7.24.6 + checksum: 8e532ebdd5e1398c030af16881061bad43b9c3b758a193a6289dc5be5988cc543f7aa56a360e15b755258c0b3d387f3cd78b505835b040a2729d0261d0ff1711 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.18.8, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.21.0, @babel/traverse@npm:^7.21.2, @babel/traverse@npm:^7.21.4, @babel/traverse@npm:^7.7.2, @babel/traverse@npm:~7.21.2": version: 7.21.4 resolution: "@babel/traverse@npm:7.21.4" @@ -3218,7 +3386,25 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.6, @babel/types@npm:^7.12.7, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.3, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.2, @babel/types@npm:^7.21.4, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3, @babel/types@npm:~7.21.2": +"@babel/traverse@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/traverse@npm:7.24.6" + dependencies: + "@babel/code-frame": ^7.24.6 + "@babel/generator": ^7.24.6 + "@babel/helper-environment-visitor": ^7.24.6 + "@babel/helper-function-name": ^7.24.6 + "@babel/helper-hoist-variables": ^7.24.6 + "@babel/helper-split-export-declaration": ^7.24.6 + "@babel/parser": ^7.24.6 + "@babel/types": ^7.24.6 + debug: ^4.3.1 + globals: ^11.1.0 + checksum: 654151b2ab5c9d5031c274cf197f707b8a27a1c70b38fcb8d1bf5ad2d8848f38675ab9c2a86aeb804657c5817124ac5be4cb6f5defa8ef7ac40596e1220697aa + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.7, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.2, @babel/types@npm:^7.21.4, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3, @babel/types@npm:~7.21.2": version: 7.21.4 resolution: "@babel/types@npm:7.21.4" dependencies: @@ -3229,6 +3415,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/types@npm:7.24.6" + dependencies: + "@babel/helper-string-parser": ^7.24.6 + "@babel/helper-validator-identifier": ^7.24.6 + to-fast-properties: ^2.0.0 + checksum: 58d798dd37e6b14f818730b4536795d68d28ccd5dc2a105fd977104789b20602be11d92cdd47cdbd48d8cce3cc0e14c7773813357ad9d5d6e94d70587eb45bf5 + languageName: node + linkType: hard + "@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.17, @babel/types@npm:^7.22.5": version: 7.22.17 resolution: "@babel/types@npm:7.22.17" @@ -3279,41 +3476,30 @@ __metadata: languageName: node linkType: hard -"@commitlint/cli@npm:^16.2.3": - version: 16.3.0 - resolution: "@commitlint/cli@npm:16.3.0" +"@commitlint/cli@npm:^19.3.0": + version: 19.3.0 + resolution: "@commitlint/cli@npm:19.3.0" dependencies: - "@commitlint/format": ^16.2.1 - "@commitlint/lint": ^16.2.4 - "@commitlint/load": ^16.3.0 - "@commitlint/read": ^16.2.1 - "@commitlint/types": ^16.2.1 - lodash: ^4.17.19 - resolve-from: 5.0.0 - resolve-global: 1.0.0 + "@commitlint/format": ^19.3.0 + "@commitlint/lint": ^19.2.2 + "@commitlint/load": ^19.2.0 + "@commitlint/read": ^19.2.1 + "@commitlint/types": ^19.0.3 + execa: ^8.0.1 yargs: ^17.0.0 bin: commitlint: cli.js - checksum: 4fa791cd21fc4c61212de28cd4e64adc3de6d3a4f10ef89955d5382af6be95871d1a7cf210c6a7d74a8a6d75f008a52f7616bdc881776b292f45004ec2ced21a + checksum: 2329756f6e3313948aafac378b2cf2fe3b436c8dd0260e517b68dd7e7c52e944d280e562f93c91308c13d60461af469641c031bae09131aa34a953e2f7074c29 languageName: node linkType: hard -"@commitlint/config-conventional@npm:^16.2.1": - version: 16.2.4 - resolution: "@commitlint/config-conventional@npm:16.2.4" +"@commitlint/config-conventional@npm:^19.2.2": + version: 19.2.2 + resolution: "@commitlint/config-conventional@npm:19.2.2" dependencies: - conventional-changelog-conventionalcommits: ^4.3.1 - checksum: 211a322967c1eeee961eb0be9752782d16c025213520b7ada173d6b16050efe477778103f32b62361ad595b79ff6703694569d99705469cb2be0ac5ffba6465e - languageName: node - linkType: hard - -"@commitlint/config-validator@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/config-validator@npm:16.2.1" - dependencies: - "@commitlint/types": ^16.2.1 - ajv: ^6.12.6 - checksum: 1b86832dc03fc7f9442f9358c6c73d42974e9006944b8524bc4b4cd2ce946e50f3eca972737844dc7765a874c465ff5f18dad210f979491f9ee07c831b0eb8d3 + "@commitlint/types": ^19.0.3 + conventional-changelog-conventionalcommits: ^7.0.2 + checksum: fa6b5f763ff1e6c118e4d8434db81058a88afb622a76e6df13956d6b14b9462fd02b81160db5325895165ef0dd18641f6d762a2f1858f0b4fc70fae9720b5b15 languageName: node linkType: hard @@ -3327,37 +3513,44 @@ __metadata: languageName: node linkType: hard -"@commitlint/cz-commitlint@npm:^16.2.3": - version: 16.3.0 - resolution: "@commitlint/cz-commitlint@npm:16.3.0" +"@commitlint/config-validator@npm:^19.0.3": + version: 19.0.3 + resolution: "@commitlint/config-validator@npm:19.0.3" dependencies: - "@commitlint/ensure": ^16.2.1 - "@commitlint/load": ^16.3.0 - "@commitlint/types": ^16.2.1 - chalk: ^4.1.0 - lodash: ^4.17.21 - word-wrap: ^1.2.3 + "@commitlint/types": ^19.0.3 + ajv: ^8.11.0 + checksum: a1a9678e0994d87fa98f0aee1a877dfaf60640b657589260ec958898d51affabba73d6684edafa1cc979e4e94b51f14fbd9b605eae77c2838ee52bcbcc110bef + languageName: node + linkType: hard + +"@commitlint/cz-commitlint@npm:^19.2.0": + version: 19.2.0 + resolution: "@commitlint/cz-commitlint@npm:19.2.0" + dependencies: + "@commitlint/ensure": ^19.0.3 + "@commitlint/load": ^19.2.0 + "@commitlint/types": ^19.0.3 + chalk: ^5.3.0 + lodash.isplainobject: ^4.0.6 + word-wrap: ^1.2.5 peerDependencies: commitizen: ^4.0.3 - inquirer: ^8.0.0 - checksum: 25c52a58505510d955f2a6c837ce59a693fd31a94e22734c1462d62e4cb7455702fc1150881467416957638e3c608a8af5ee8321c0724af4dba856cf2000cccb + inquirer: ^9.0.0 + checksum: e3e266ccc12630d26b887ef6254be4dfd4711acddf2757fe5099e0975a7c92a37226d10301584f41cc1f88ab914ec0dcbd9c4c5dcb4274a5196bfe1b95da452b languageName: node linkType: hard -"@commitlint/ensure@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/ensure@npm:16.2.1" +"@commitlint/ensure@npm:^19.0.3": + version: 19.0.3 + resolution: "@commitlint/ensure@npm:19.0.3" dependencies: - "@commitlint/types": ^16.2.1 - lodash: ^4.17.19 - checksum: 388a124e515c02f14d026973821a6ce1d586ac966da8a51e69fabb925ee858e864696cd2b398bb5bec8d7ceee97f9f04c77630061b7784a10b06e0a436447d44 - languageName: node - linkType: hard - -"@commitlint/execute-rule@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/execute-rule@npm:16.2.1" - checksum: 83be0e858fa415ba7d844fc68c7c8bcc3b14074fe862f2129e03ce5fd07a58876d88d080e0d2fbf25e10f6d3189a04bca024def48206fa0f0f1c5890d689539c + "@commitlint/types": ^19.0.3 + lodash.camelcase: ^4.3.0 + lodash.kebabcase: ^4.1.1 + lodash.snakecase: ^4.1.1 + lodash.startcase: ^4.4.0 + lodash.upperfirst: ^4.3.1 + checksum: d8fdc4712985f9ccdbd871c9eabb9d2bdde22296b882b42bd32ab52b6679c5d799ff557d20a99cebb0008831fd31a540d771331e6e5e26bbafbb6b88f47148b6 languageName: node linkType: hard @@ -3368,35 +3561,42 @@ __metadata: languageName: node linkType: hard -"@commitlint/format@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/format@npm:16.2.1" - dependencies: - "@commitlint/types": ^16.2.1 - chalk: ^4.0.0 - checksum: d8f26a789f0ffc2dd763ed6467262e2cfa94900d7f517f39d32b0f0e9e5222767da12b5302bdccfb1e8a4805c667e5dc36ef98d41754c3ed0e339c35664c0ba6 +"@commitlint/execute-rule@npm:^19.0.0": + version: 19.0.0 + resolution: "@commitlint/execute-rule@npm:19.0.0" + checksum: 4c5cbf9ab0e2b85b00ceea84e5598b1b3cceaa20a655ee954c45259cca9efc80cf5cf7d9eec04715a100c2da282cbcf6aba960ad53a47178090c0513426ac236 languageName: node linkType: hard -"@commitlint/is-ignored@npm:^16.2.4": - version: 16.2.4 - resolution: "@commitlint/is-ignored@npm:16.2.4" +"@commitlint/format@npm:^19.3.0": + version: 19.3.0 + resolution: "@commitlint/format@npm:19.3.0" dependencies: - "@commitlint/types": ^16.2.1 - semver: 7.3.7 - checksum: 1ae5f3ca1394fc3d211e8c3bf8f8a16b77e8b04050390a6231990d3802865d465273976f4d3ea1d6ec7ca4c9a8220044f10ea5cae3c13db826d56f7d9c69cbaa + "@commitlint/types": ^19.0.3 + chalk: ^5.3.0 + checksum: cc0e1e0e6d5eea76b856ad1be879de166c3d1385e1ae0e1bb78c575f9b78b53d92a56cd4719427cdba9cbb9a10235768da29144da9892596525c923d126951dd languageName: node linkType: hard -"@commitlint/lint@npm:^16.2.4": - version: 16.2.4 - resolution: "@commitlint/lint@npm:16.2.4" +"@commitlint/is-ignored@npm:^19.2.2": + version: 19.2.2 + resolution: "@commitlint/is-ignored@npm:19.2.2" dependencies: - "@commitlint/is-ignored": ^16.2.4 - "@commitlint/parse": ^16.2.1 - "@commitlint/rules": ^16.2.4 - "@commitlint/types": ^16.2.1 - checksum: 189d3070fb0c131d6ac2b2e8c864c37892fd2d202b866be9f0d9fdf5a5d5a0d5e8221bc373f29977ac1e5e33015abd71640dbd104e86137b60d8d4783d61679f + "@commitlint/types": ^19.0.3 + semver: ^7.6.0 + checksum: f412734496aba808c8bcbddd59c615600d62447ad2b62049805a044b1f299ff6628e2c9ce5022e55848099edc2591f62a7780842d9dffcd60ab3889bc93fea62 + languageName: node + linkType: hard + +"@commitlint/lint@npm:^19.2.2": + version: 19.2.2 + resolution: "@commitlint/lint@npm:19.2.2" + dependencies: + "@commitlint/is-ignored": ^19.2.2 + "@commitlint/parse": ^19.0.3 + "@commitlint/rules": ^19.0.3 + "@commitlint/types": ^19.0.3 + checksum: 45563692499ca0ca6d0c11f57402ada53de0008524435b1ef097f11d149c8d58ba9081b35b91cbd46788b4b0564faca132daa16c71b025a39af0542b30ee587a languageName: node linkType: hard @@ -3422,66 +3622,52 @@ __metadata: languageName: node linkType: hard -"@commitlint/load@npm:^16.3.0": - version: 16.3.0 - resolution: "@commitlint/load@npm:16.3.0" +"@commitlint/load@npm:^19.2.0": + version: 19.2.0 + resolution: "@commitlint/load@npm:19.2.0" dependencies: - "@commitlint/config-validator": ^16.2.1 - "@commitlint/execute-rule": ^16.2.1 - "@commitlint/resolve-extends": ^16.2.1 - "@commitlint/types": ^16.2.1 - "@types/node": ">=12" - chalk: ^4.0.0 - cosmiconfig: ^7.0.0 - cosmiconfig-typescript-loader: ^2.0.0 - lodash: ^4.17.19 - resolve-from: ^5.0.0 - typescript: ^4.4.3 - checksum: b03e3d9af2adec36e5d539741807c161a2860411ba25c2fddb75d3d4d2dadf4faaefd417150a0898b3aca4ce451a378222ce5039760e85faacc315b525a44035 + "@commitlint/config-validator": ^19.0.3 + "@commitlint/execute-rule": ^19.0.0 + "@commitlint/resolve-extends": ^19.1.0 + "@commitlint/types": ^19.0.3 + chalk: ^5.3.0 + cosmiconfig: ^9.0.0 + cosmiconfig-typescript-loader: ^5.0.0 + lodash.isplainobject: ^4.0.6 + lodash.merge: ^4.6.2 + lodash.uniq: ^4.5.0 + checksum: 5cd35a0a60064c70c06ab6bd8b1ae02cf6ecc1d0520b76c68cdc7c12094338f04c19e2df5d7ae30d681e858871c4f1963ae39e4969ed61139959cf4b300030fc languageName: node linkType: hard -"@commitlint/message@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/message@npm:16.2.1" - checksum: 172e18bd5bd47bf7d61356ba1da4a552a5f96860fadb277b9431e1ecfe6b49dd8f303e6d7ad120961325093346ec6764231975f8c73434f5487b05493406d551 +"@commitlint/message@npm:^19.0.0": + version: 19.0.0 + resolution: "@commitlint/message@npm:19.0.0" + checksum: 446ee97c12a4175a8b7a4cbf3754c01d54cd911973c7af9a2eac69277fb891e638ddc3db132f57588883b68eadf59074d388ec1808a205957042f71027244167 languageName: node linkType: hard -"@commitlint/parse@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/parse@npm:16.2.1" +"@commitlint/parse@npm:^19.0.3": + version: 19.0.3 + resolution: "@commitlint/parse@npm:19.0.3" dependencies: - "@commitlint/types": ^16.2.1 - conventional-changelog-angular: ^5.0.11 - conventional-commits-parser: ^3.2.2 - checksum: 8f966c45b2838900dfe8af14fa5085707a2c2ece7d6f00d8e61dad1fdd617b202177cfcc428ef6f7a41b7e6872560c9a040cf92eb122ad31a8f7777e3f9bab7b + "@commitlint/types": ^19.0.3 + conventional-changelog-angular: ^7.0.0 + conventional-commits-parser: ^5.0.0 + checksum: ddd7a6007d37d7154f6b18bfa06dc26beb109cd4bcabe7e9ca2ff24088325ab2c7b09cc01cceb9d62e6e60affffe3d19e9685fab06d3506d047166d888d25487 languageName: node linkType: hard -"@commitlint/read@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/read@npm:16.2.1" +"@commitlint/read@npm:^19.2.1": + version: 19.2.1 + resolution: "@commitlint/read@npm:19.2.1" dependencies: - "@commitlint/top-level": ^16.2.1 - "@commitlint/types": ^16.2.1 - fs-extra: ^10.0.0 - git-raw-commits: ^2.0.0 - checksum: c2eb6c299a6af0ffda8ba27a5534210638b227855dd5d01d757fbf7a26a05a5c3d4d1f30e91bdd5ce12de023e482a329fad049df1f5b0f232049e7212e3cf947 - languageName: node - linkType: hard - -"@commitlint/resolve-extends@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/resolve-extends@npm:16.2.1" - dependencies: - "@commitlint/config-validator": ^16.2.1 - "@commitlint/types": ^16.2.1 - import-fresh: ^3.0.0 - lodash: ^4.17.19 - resolve-from: ^5.0.0 - resolve-global: ^1.0.0 - checksum: e710fcb24573e1027bf0b7336983cd0539c32734b01831eb0da8a7f500d0734669d38ea75ff93e90c162417fd4db5cc460c2f122d772dfa0f4577f49caaee687 + "@commitlint/top-level": ^19.0.0 + "@commitlint/types": ^19.0.3 + execa: ^8.0.1 + git-raw-commits: ^4.0.0 + minimist: ^1.2.8 + checksum: 840ebd183b2fe36dea03701552d825a9a1770d300b9416ab2a731fdeed66cf8c9dd8be133d92ac017cb9bf29e2ef5aee91a641f2b643bb5b33005f7b392ec953 languageName: node linkType: hard @@ -3499,41 +3685,46 @@ __metadata: languageName: node linkType: hard -"@commitlint/rules@npm:^16.2.4": - version: 16.2.4 - resolution: "@commitlint/rules@npm:16.2.4" +"@commitlint/resolve-extends@npm:^19.1.0": + version: 19.1.0 + resolution: "@commitlint/resolve-extends@npm:19.1.0" dependencies: - "@commitlint/ensure": ^16.2.1 - "@commitlint/message": ^16.2.1 - "@commitlint/to-lines": ^16.2.1 - "@commitlint/types": ^16.2.1 - execa: ^5.0.0 - checksum: 117373efcec540512747832ab75af30a584e054ff92cce6f47b7fc552cc2048af5f9812b78d1dd5b128e7eeec7623f7bd45f139451020258d87548348c5bf08b + "@commitlint/config-validator": ^19.0.3 + "@commitlint/types": ^19.0.3 + global-directory: ^4.0.1 + import-meta-resolve: ^4.0.0 + lodash.mergewith: ^4.6.2 + resolve-from: ^5.0.0 + checksum: 87df82cfad1e157e600d3bef486c84ab0706e6b21411c97770104f7d1f824524606d8d6493418f98a529ab6c10d3691b50d6a779b07ef6dca5c5fd69848f4951 languageName: node linkType: hard -"@commitlint/to-lines@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/to-lines@npm:16.2.1" - checksum: 94b1523298f335583307cff4f634137788bdce67f572dcdd6f08ca09cbe1176193ba2e308158696951ce3dd93cb2c6d1d8946e8ee376f506ac5212a65d87ed58 +"@commitlint/rules@npm:^19.0.3": + version: 19.0.3 + resolution: "@commitlint/rules@npm:19.0.3" + dependencies: + "@commitlint/ensure": ^19.0.3 + "@commitlint/message": ^19.0.0 + "@commitlint/to-lines": ^19.0.0 + "@commitlint/types": ^19.0.3 + execa: ^8.0.1 + checksum: 218033d96b0bae7dbea0e46483f8af823c17b492e4b0c4dca93a6312876d051cc88f4272d009e7eb06ff05585ec511aedd703132be17c7248698a4eac909986b languageName: node linkType: hard -"@commitlint/top-level@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/top-level@npm:16.2.1" - dependencies: - find-up: ^5.0.0 - checksum: db6ae0483a4b7fbe3e2ca02541049180f87d88417039ea58e7539f22fb042fe50e465f5654394555bf9759b1c1e6130b435e4e80fbcec1d0e58cf24f9ccaf728 +"@commitlint/to-lines@npm:^19.0.0": + version: 19.0.0 + resolution: "@commitlint/to-lines@npm:19.0.0" + checksum: 5e7d5679aa242cd21be2076a8c8715aa3c9f4c3133f588df08c6b02f56a8a5b1a5d9e402076bd926dd2b61883e4b2c53fd6c9aa3554e3f54cd2296b2566eb1c2 languageName: node linkType: hard -"@commitlint/types@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/types@npm:16.2.1" +"@commitlint/top-level@npm:^19.0.0": + version: 19.0.0 + resolution: "@commitlint/top-level@npm:19.0.0" dependencies: - chalk: ^4.0.0 - checksum: 93af3c26c36f3b11d99f0cbbb09c8952581eed2a6b7763eb728c0e7e7ecff5072de064a208b80225fb51533823af84ee3117d9c2efbcb63d1f5cfbf6fbfb8ed8 + find-up: ^7.0.0 + checksum: 47b0994d03f26caf2812110ead535bd10157beed6b3dff9cbb4eea165de9245673ba7d31829cd54af5855f7b075ebbf812b1f79586248be3932797888efeadf5 languageName: node linkType: hard @@ -3546,36 +3737,13 @@ __metadata: languageName: node linkType: hard -"@craco/craco@npm:^7.0.0": - version: 7.0.0 - resolution: "@craco/craco@npm:7.0.0" +"@commitlint/types@npm:^19.0.3": + version: 19.0.3 + resolution: "@commitlint/types@npm:19.0.3" dependencies: - autoprefixer: ^10.4.12 - cosmiconfig: ^7.0.1 - cosmiconfig-typescript-loader: ^1.0.0 - cross-spawn: ^7.0.3 - lodash: ^4.17.21 - semver: ^7.3.7 - webpack-merge: ^5.8.0 - peerDependencies: - react-scripts: ^5.0.0 - bin: - craco: dist/bin/craco.js - checksum: d8371d5508a586ea00070d66010e632c8dab2761c2dd51163003e5b4e62e044f5931b081c3d19f02eea187fd970f9ddffeeaefcae004962e63286682e41e86b1 - languageName: node - linkType: hard - -"@craco/types@npm:^7.0.0": - version: 7.0.0 - resolution: "@craco/types@npm:7.0.0" - dependencies: - "@babel/types": ^7.19.3 - "@jest/types": ^29.1.2 - "@types/eslint": ^8.4.6 - autoprefixer: ^10.4.12 - eslint-webpack-plugin: ^3.2.0 - webpack: ^5.74.0 - checksum: 8594a6ac64952e276ee3650ab2c38ec992aaefeda3aeeb8563324d026876810f67a6c057d28d00d062e4d74af7bb3f45ea4b62a9d54aff0a06073fc84a99dfdb + "@types/conventional-commits-parser": ^5.0.0 + chalk: ^5.3.0 + checksum: 44e67f4861f9b137f43a441f8ab255676b7a276c82ca46ba7846ca1057d170af92a87d3e2a1378713dc4e33a68c8af513683cb96dcd29544e48e2c825109ea6f languageName: node linkType: hard @@ -4001,180 +4169,6 @@ __metadata: languageName: node linkType: hard -"@csstools/normalize.css@npm:*": - version: 12.0.0 - resolution: "@csstools/normalize.css@npm:12.0.0" - checksum: fbef0f7fe4edbc3ce31b41257f0fa06e0442f11260e41c082a98de9b824997786a16900e7a5c0f4ca8f736dcd25dfd01c153d1c994a07d42c93c0a526ce0774d - languageName: node - linkType: hard - -"@csstools/postcss-cascade-layers@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/postcss-cascade-layers@npm:1.1.1" - dependencies: - "@csstools/selector-specificity": ^2.0.2 - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 8ecd6a929e8ddee3ad0834ab5017f50a569817ba8490d152b11c705c13cf3d9701f74792f375cbd72d8f33a4eeaabb3f984f1514adf8c5a530eb91be70c14cf4 - languageName: node - linkType: hard - -"@csstools/postcss-color-function@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/postcss-color-function@npm:1.1.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 087595985ebcc2fc42013d6305185d4cdc842d87fb261185db905dc31eaa24fc23a7cc068fa3da814b3c8b98164107ddaf1b4ab24f4ff5b2a7b5fbcd4c6ceec9 - languageName: node - linkType: hard - -"@csstools/postcss-font-format-keywords@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-font-format-keywords@npm:1.0.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: ed8d9eab9793f0184e000709bcb155d4eb96c49a312e3ea9e549e006b74fd4aafac63cb9f9f01bec5b717a833539ff085c3f1ef7d273b97d587769ef637d50c1 - languageName: node - linkType: hard - -"@csstools/postcss-hwb-function@npm:^1.0.2": - version: 1.0.2 - resolution: "@csstools/postcss-hwb-function@npm:1.0.2" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 352ead754a692f7ed33a712c491012cab5c2f2946136a669a354237cfe8e6faca90c7389ee793cb329b9b0ddec984faa06d47e2f875933aaca417afff74ce6aa - languageName: node - linkType: hard - -"@csstools/postcss-ic-unit@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-ic-unit@npm:1.0.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 09c414c9b7762b5fbe837ff451d7a11e4890f1ed3c92edc3573f02f3d89747f6ac3f2270799b68a332bd7f5de05bb0dfffddb6323fc4020c2bea33ff58314533 - languageName: node - linkType: hard - -"@csstools/postcss-is-pseudo-class@npm:^2.0.7": - version: 2.0.7 - resolution: "@csstools/postcss-is-pseudo-class@npm:2.0.7" - dependencies: - "@csstools/selector-specificity": ^2.0.0 - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: a4494bb8e9a34826944ba6872c91c1e88268caab6d06968897f1a0cc75ca5cfc4989435961fc668a9c6842a6d17f4cda0055fa256d23e598b8bbc6f022956125 - languageName: node - linkType: hard - -"@csstools/postcss-nested-calc@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-nested-calc@npm:1.0.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 53bb783dd61621c11c1e6e352f079577e2eb908de67947ceef31a178e070c06c223baae87acd5c3bd51c664515d2adc16166a129159168626111aff548583790 - languageName: node - linkType: hard - -"@csstools/postcss-normalize-display-values@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-normalize-display-values@npm:1.0.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 75901daec3869ba15e0adfd50d8e2e754ec06d55ac44fbd540748476388d223d53710fb3a3cbfe6695a2bab015a489fb47d9e3914ff211736923f8deb818dc0b - languageName: node - linkType: hard - -"@csstools/postcss-oklab-function@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/postcss-oklab-function@npm:1.1.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: d66b789060b37ed810450d9a7d8319a0ae14e913c091f3e0ee482b3471538762e801d5eae3d62fda2f1eb1e88c76786d2c2b06c1172166eba1cca5e2a0dc95f2 - languageName: node - linkType: hard - -"@csstools/postcss-progressive-custom-properties@npm:^1.1.0, @csstools/postcss-progressive-custom-properties@npm:^1.3.0": - version: 1.3.0 - resolution: "@csstools/postcss-progressive-custom-properties@npm:1.3.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.3 - checksum: e281845fde5b8a80d06ec20147bd74e96a9351bebbec5e5c3a6fb37ea30a597ff84172601786a8a270662f58f708b4a3bf8d822d6318023def9773d2f6589962 - languageName: node - linkType: hard - -"@csstools/postcss-stepped-value-functions@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-stepped-value-functions@npm:1.0.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 2fc88713a0d49d142010652be8139b00719e407df1173e46047284f1befd0647e1fff67f259f9f55ac3b46bba6462b21f0aa192bd10a2989c51a8ce0d25fc495 - languageName: node - linkType: hard - -"@csstools/postcss-text-decoration-shorthand@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-text-decoration-shorthand@npm:1.0.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: d27aaf97872c42bec9f6fde4d8bf924e89f7886f0aca8e4fc5aaf2f9083b09bb43dbbfa29124fa36fcdeb2d4d3e0459a095acf62188260cd1577e9811bb1276e - languageName: node - linkType: hard - -"@csstools/postcss-trigonometric-functions@npm:^1.0.2": - version: 1.0.2 - resolution: "@csstools/postcss-trigonometric-functions@npm:1.0.2" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: f7f5b5f2492606b79a56f09e814ae8f10a2ae9e9c5fb8019f0e347a4a6c07953b2cc663fd4fa43a60e6994dfd958958f39df8ec760e2a646cfe71fe2bb119382 - languageName: node - linkType: hard - -"@csstools/postcss-unset-value@npm:^1.0.2": - version: 1.0.2 - resolution: "@csstools/postcss-unset-value@npm:1.0.2" - peerDependencies: - postcss: ^8.2 - checksum: 3facdae154d6516ffd964f7582696f406465f11cf8dead503e0afdfecc99ebc25638ab2830affce4516131aa2db004458a235e439f575b04e9ef72ad82f55835 - languageName: node - linkType: hard - -"@csstools/selector-specificity@npm:^2.0.0, @csstools/selector-specificity@npm:^2.0.2": - version: 2.1.1 - resolution: "@csstools/selector-specificity@npm:2.1.1" - peerDependencies: - postcss: ^8.4 - postcss-selector-parser: ^6.0.10 - checksum: 392ab62732e93aa8cbea445bf3485c1acbbecc8ec087b200e06c9ddd2acf740fd1fe46abdacf813e7a50a95a60346377ee3eecb4e1fe3709582e2851430b376a - languageName: node - linkType: hard - "@cypress/request@npm:^3.0.0": version: 3.0.1 resolution: "@cypress/request@npm:3.0.1" @@ -4796,6 +4790,25 @@ __metadata: languageName: node linkType: hard +"@emotion/babel-plugin@npm:^11.11.0": + version: 11.11.0 + resolution: "@emotion/babel-plugin@npm:11.11.0" + dependencies: + "@babel/helper-module-imports": ^7.16.7 + "@babel/runtime": ^7.18.3 + "@emotion/hash": ^0.9.1 + "@emotion/memoize": ^0.8.1 + "@emotion/serialize": ^1.1.2 + 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 + checksum: 6b363edccc10290f7a23242c06f88e451b5feb2ab94152b18bb8883033db5934fb0e421e2d67d09907c13837c21218a3ac28c51707778a54d6cd3706c0c2f3f9 + languageName: node + linkType: hard + "@emotion/cache@npm:^11.10.5, @emotion/cache@npm:^11.4.0": version: 11.10.5 resolution: "@emotion/cache@npm:11.10.5" @@ -4816,6 +4829,13 @@ __metadata: languageName: node linkType: hard +"@emotion/hash@npm:^0.9.1": + version: 0.9.1 + resolution: "@emotion/hash@npm:0.9.1" + checksum: 716e17e48bf9047bf9383982c071de49f2615310fb4e986738931776f5a823bc1f29c84501abe0d3df91a3803c80122d24e28b57351bca9e01356ebb33d89876 + languageName: node + linkType: hard + "@emotion/is-prop-valid@npm:^0.8.1, @emotion/is-prop-valid@npm:^0.8.2": version: 0.8.8 resolution: "@emotion/is-prop-valid@npm:0.8.8" @@ -4855,6 +4875,13 @@ __metadata: languageName: node linkType: hard +"@emotion/memoize@npm:^0.8.1": + version: 0.8.1 + resolution: "@emotion/memoize@npm:0.8.1" + checksum: a19cc01a29fcc97514948eaab4dc34d8272e934466ed87c07f157887406bc318000c69ae6f813a9001c6a225364df04249842a50e692ef7a9873335fbcc141b0 + languageName: node + linkType: hard + "@emotion/react@npm:^11.10.6, @emotion/react@npm:^11.8.1": version: 11.10.6 resolution: "@emotion/react@npm:11.10.6" @@ -4889,6 +4916,19 @@ __metadata: languageName: node linkType: hard +"@emotion/serialize@npm:^1.1.2": + version: 1.1.4 + resolution: "@emotion/serialize@npm:1.1.4" + dependencies: + "@emotion/hash": ^0.9.1 + "@emotion/memoize": ^0.8.1 + "@emotion/unitless": ^0.8.1 + "@emotion/utils": ^1.2.1 + csstype: ^3.0.2 + checksum: 71b99f816a9c1d61a87c62cf4928da3894bb62213f3aff38b1ea9790b3368f084af98a3e5453b5055c2f36a7d70318d2fa9955b7b5676c2065b868062375df39 + languageName: node + linkType: hard + "@emotion/sheet@npm:^1.2.1": version: 1.2.1 resolution: "@emotion/sheet@npm:1.2.1" @@ -4923,6 +4963,13 @@ __metadata: languageName: node linkType: hard +"@emotion/unitless@npm:^0.8.1": + version: 0.8.1 + resolution: "@emotion/unitless@npm:0.8.1" + checksum: 385e21d184d27853bb350999471f00e1429fa4e83182f46cd2c164985999d9b46d558dc8b9cc89975cb337831ce50c31ac2f33b15502e85c299892e67e7b4a88 + languageName: node + linkType: hard + "@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.0": version: 1.0.0 resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.0.0" @@ -4939,6 +4986,13 @@ __metadata: languageName: node linkType: hard +"@emotion/utils@npm:^1.2.1": + version: 1.2.1 + resolution: "@emotion/utils@npm:1.2.1" + checksum: e0b44be0705b56b079c55faff93952150be69e79b660ae70ddd5b6e09fc40eb1319654315a9f34bb479d7f4ec94be6068c061abbb9e18b9778ae180ad5d97c73 + languageName: node + linkType: hard + "@emotion/weak-memoize@npm:^0.3.0": version: 0.3.0 resolution: "@emotion/weak-memoize@npm:0.3.0" @@ -4946,6 +5000,22 @@ __metadata: languageName: node linkType: hard +"@esbuild-plugins/node-globals-polyfill@npm:^0.2.3": + version: 0.2.3 + resolution: "@esbuild-plugins/node-globals-polyfill@npm:0.2.3" + peerDependencies: + esbuild: "*" + checksum: f83eeaa382680b26a3b1cf6c396450332c41d2dc0f9fd935d3f4bacf5412bef7383d2aeb4246a858781435b7c005a570dadc81051f8a038f1ef2111f17d3d8b0 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/aix-ppc64@npm:0.20.2" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/android-arm64@npm:0.17.16" @@ -4960,6 +5030,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm64@npm:0.20.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/android-arm@npm:0.17.16" @@ -4974,6 +5051,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-arm@npm:0.20.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/android-x64@npm:0.17.16" @@ -4988,6 +5072,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/android-x64@npm:0.20.2" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/darwin-arm64@npm:0.17.16" @@ -5002,6 +5093,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-arm64@npm:0.20.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/darwin-x64@npm:0.17.16" @@ -5016,6 +5114,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/darwin-x64@npm:0.20.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/freebsd-arm64@npm:0.17.16" @@ -5030,6 +5135,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-arm64@npm:0.20.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/freebsd-x64@npm:0.17.16" @@ -5044,6 +5156,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/freebsd-x64@npm:0.20.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-arm64@npm:0.17.16" @@ -5058,6 +5177,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm64@npm:0.20.2" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-arm@npm:0.17.16" @@ -5072,6 +5198,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-arm@npm:0.20.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-ia32@npm:0.17.16" @@ -5086,6 +5219,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ia32@npm:0.20.2" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-loong64@npm:0.17.16" @@ -5100,6 +5240,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-loong64@npm:0.20.2" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-mips64el@npm:0.17.16" @@ -5114,6 +5261,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-mips64el@npm:0.20.2" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-ppc64@npm:0.17.16" @@ -5128,6 +5282,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-ppc64@npm:0.20.2" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-riscv64@npm:0.17.16" @@ -5142,6 +5303,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-riscv64@npm:0.20.2" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-s390x@npm:0.17.16" @@ -5156,6 +5324,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-s390x@npm:0.20.2" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/linux-x64@npm:0.17.16" @@ -5170,6 +5345,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/linux-x64@npm:0.20.2" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/netbsd-x64@npm:0.17.16" @@ -5184,6 +5366,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/netbsd-x64@npm:0.20.2" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/openbsd-x64@npm:0.17.16" @@ -5198,6 +5387,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/openbsd-x64@npm:0.20.2" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/sunos-x64@npm:0.17.16" @@ -5212,6 +5408,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/sunos-x64@npm:0.20.2" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/win32-arm64@npm:0.17.16" @@ -5226,6 +5429,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-arm64@npm:0.20.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/win32-ia32@npm:0.17.16" @@ -5240,6 +5450,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-ia32@npm:0.20.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.17.16": version: 0.17.16 resolution: "@esbuild/win32-x64@npm:0.17.16" @@ -5254,6 +5471,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.20.2": + version: 0.20.2 + resolution: "@esbuild/win32-x64@npm:0.20.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -5272,23 +5496,6 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^1.4.1": - version: 1.4.1 - resolution: "@eslint/eslintrc@npm:1.4.1" - dependencies: - ajv: ^6.12.4 - debug: ^4.3.2 - espree: ^9.4.0 - globals: ^13.19.0 - ignore: ^5.2.0 - import-fresh: ^3.2.1 - js-yaml: ^4.1.0 - minimatch: ^3.1.2 - strip-json-comments: ^3.1.1 - checksum: cd3e5a8683db604739938b1c1c8b77927dc04fce3e28e0c88e7f2cd4900b89466baf83dfbad76b2b9e4d2746abdd00dd3f9da544d3e311633d8693f327d04cd7 - languageName: node - linkType: hard - "@eslint/eslintrc@npm:^2.1.2": version: 2.1.2 resolution: "@eslint/eslintrc@npm:2.1.2" @@ -6268,17 +6475,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.8": - version: 0.11.8 - resolution: "@humanwhocodes/config-array@npm:0.11.8" - dependencies: - "@humanwhocodes/object-schema": ^1.2.1 - debug: ^4.1.1 - minimatch: ^3.0.5 - checksum: 0fd6b3c54f1674ce0a224df09b9c2f9846d20b9e54fabae1281ecfc04f2e6ad69bf19e1d6af6a28f88e8aa3990168b6cb9e1ef755868c3256a630605ec2cb1d3 - languageName: node - linkType: hard - "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" @@ -6327,34 +6523,6 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/console@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^27.5.1 - jest-util: ^27.5.1 - slash: ^3.0.0 - checksum: 7cb20f06a34b09734c0342685ec53aa4c401fe3757c13a9c58fce76b971a322eb884f6de1068ef96f746e5398e067371b89515a07c268d4440a867c87748a706 - languageName: node - linkType: hard - -"@jest/console@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/console@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 - slash: ^3.0.0 - checksum: fe50d98d26d02ce2901c76dff4bd5429a33c13affb692c9ebf8a578ca2f38a5dd854363d40d6c394f215150791fd1f692afd8e730a4178dda24107c8dfd9750a - languageName: node - linkType: hard - "@jest/console@npm:^29.4.3": version: 29.4.3 resolution: "@jest/console@npm:29.4.3" @@ -6369,47 +6537,6 @@ __metadata: languageName: node linkType: hard -"@jest/core@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/core@npm:27.5.1" - dependencies: - "@jest/console": ^27.5.1 - "@jest/reporters": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - emittery: ^0.8.1 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - jest-changed-files: ^27.5.1 - jest-config: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-message-util: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-resolve-dependencies: ^27.5.1 - jest-runner: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - jest-watcher: ^27.5.1 - micromatch: ^4.0.4 - rimraf: ^3.0.0 - slash: ^3.0.0 - strip-ansi: ^6.0.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 904a94ad8f1b43cd6b48de3b0226659bff3696150ff8cf7680fc2faffdc8a115203bb9ab6e817c1f79f9d6a81f67953053cbc64d8a4604f2e0c42a04c28cf126 - languageName: node - linkType: hard - "@jest/core@npm:^29.2.2, @jest/core@npm:^29.4.3": version: 29.4.3 resolution: "@jest/core@npm:29.4.3" @@ -6451,18 +6578,6 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/environment@npm:27.5.1" - dependencies: - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - jest-mock: ^27.5.1 - checksum: 2a9e18c35a015508dbec5b90b21c150230fa6c1c8cb8fabe029d46ee2ca4c40eb832fb636157da14c66590d0a4c8a2c053226b041f54a44507d6f6a89abefd66 - languageName: node - linkType: hard - "@jest/environment@npm:^29.4.3": version: 29.4.3 resolution: "@jest/environment@npm:29.4.3" @@ -6494,20 +6609,6 @@ __metadata: languageName: node linkType: hard -"@jest/fake-timers@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/fake-timers@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@sinonjs/fake-timers": ^8.0.1 - "@types/node": "*" - jest-message-util: ^27.5.1 - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - checksum: 02a0561ed2f4586093facd4ae500b74694f187ac24d4a00e949a39a1c5325bca8932b4fcb0388a2c5ed0656506fc1cf51fd3e32cdd48cea7497ad9c6e028aba8 - languageName: node - linkType: hard - "@jest/fake-timers@npm:^29.4.3": version: 29.4.3 resolution: "@jest/fake-timers@npm:29.4.3" @@ -6522,17 +6623,6 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/globals@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/types": ^27.5.1 - expect: ^27.5.1 - checksum: 087f97047e9dcf555f76fe2ce54aee681e005eaa837a0c0c2d251df6b6412c892c9df54cb871b180342114389a5ff895a4e52e6e6d3d0015bf83c02a54f64c3c - languageName: node - linkType: hard - "@jest/globals@npm:^29.4.3": version: 29.4.3 resolution: "@jest/globals@npm:29.4.3" @@ -6545,44 +6635,6 @@ __metadata: languageName: node linkType: hard -"@jest/reporters@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/reporters@npm:27.5.1" - dependencies: - "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - collect-v8-coverage: ^1.0.0 - exit: ^0.1.2 - glob: ^7.1.2 - graceful-fs: ^4.2.9 - istanbul-lib-coverage: ^3.0.0 - istanbul-lib-instrument: ^5.1.0 - istanbul-lib-report: ^3.0.0 - istanbul-lib-source-maps: ^4.0.0 - istanbul-reports: ^3.1.3 - jest-haste-map: ^27.5.1 - jest-resolve: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 - slash: ^3.0.0 - source-map: ^0.6.0 - string-length: ^4.0.1 - terminal-link: ^2.0.0 - v8-to-istanbul: ^8.1.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: faba5eafb86e62b62e152cafc8812d56308f9d1e8b77f3a7dcae4a8803a20a60a0909cc43ed73363ef649bf558e4fb181c7a336d144c89f7998279d1882bb69e - languageName: node - linkType: hard - "@jest/reporters@npm:^29.4.3": version: 29.4.3 resolution: "@jest/reporters@npm:29.4.3" @@ -6620,15 +6672,6 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/schemas@npm:28.1.3" - dependencies: - "@sinclair/typebox": ^0.24.1 - checksum: 3cf1d4b66c9c4ffda58b246de1ddcba8e6ad085af63dccdf07922511f13b68c0cc480a7bc620cb4f3099a6f134801c747e1df7bfc7a4ef4dceefbdea3e31e1de - languageName: node - linkType: hard - "@jest/schemas@npm:^29.4.3": version: 29.4.3 resolution: "@jest/schemas@npm:29.4.3" @@ -6638,14 +6681,12 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/source-map@npm:27.5.1" +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" dependencies: - callsites: ^3.0.0 - graceful-fs: ^4.2.9 - source-map: ^0.6.0 - checksum: 4fb1e743b602841babf7e22bd84eca34676cb05d4eb3b604cae57fc59e406099f5ac759ac1a0d04d901237d143f0f4f234417306e823bde732a1d19982230862 + "@sinclair/typebox": ^0.27.8 + checksum: 910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 languageName: node linkType: hard @@ -6660,30 +6701,6 @@ __metadata: languageName: node linkType: hard -"@jest/test-result@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/test-result@npm:27.5.1" - dependencies: - "@jest/console": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: 338f7c509d6a3bc6d7dd7388c8f6f548b87638e171dc1fddfedcacb4e8950583288832223ba688058cbcf874b937d22bdc0fa88f79f5fc666f77957e465c06a5 - languageName: node - linkType: hard - -"@jest/test-result@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/test-result@npm:28.1.3" - dependencies: - "@jest/console": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: 957a5dd2fd2e84aabe86698f93c0825e96128ccaa23abf548b159a9b08ac74e4bde7acf4bec48479243dbdb27e4ea1b68c171846d21fb64855c6b55cead9ef27 - languageName: node - linkType: hard - "@jest/test-result@npm:^29.4.3": version: 29.4.3 resolution: "@jest/test-result@npm:29.4.3" @@ -6696,18 +6713,6 @@ __metadata: languageName: node linkType: hard -"@jest/test-sequencer@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/test-sequencer@npm:27.5.1" - dependencies: - "@jest/test-result": ^27.5.1 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-runtime: ^27.5.1 - checksum: f21f9c8bb746847f7f89accfd29d6046eec1446f0b54e4694444feaa4df379791f76ef0f5a4360aafcbc73b50bc979f68b8a7620de404019d3de166be6720cb0 - languageName: node - linkType: hard - "@jest/test-sequencer@npm:^29.4.3": version: 29.4.3 resolution: "@jest/test-sequencer@npm:29.4.3" @@ -6720,29 +6725,6 @@ __metadata: languageName: node linkType: hard -"@jest/transform@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/transform@npm:27.5.1" - dependencies: - "@babel/core": ^7.1.0 - "@jest/types": ^27.5.1 - babel-plugin-istanbul: ^6.1.1 - chalk: ^4.0.0 - convert-source-map: ^1.4.0 - fast-json-stable-stringify: ^2.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-util: ^27.5.1 - micromatch: ^4.0.4 - pirates: ^4.0.4 - slash: ^3.0.0 - source-map: ^0.6.1 - write-file-atomic: ^3.0.0 - checksum: a22079121aedea0f20a03a9c026be971f7b92adbfb4d5fd1fb67be315741deac4f056936d7c72a53b24aa5a1071bc942c003925fd453bf3f6a0ae5da6384e137 - languageName: node - linkType: hard - "@jest/transform@npm:^29.3.1, @jest/transform@npm:^29.4.3": version: 29.5.0 resolution: "@jest/transform@npm:29.5.0" @@ -6779,34 +6761,7 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/types@npm:27.5.1" - dependencies: - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^16.0.0 - chalk: ^4.0.0 - checksum: d1f43cc946d87543ddd79d49547aab2399481d34025d5c5f2025d3d99c573e1d9832fa83cef25e9d9b07a8583500229d15bbb07b8e233d127d911d133e2f14b1 - languageName: node - linkType: hard - -"@jest/types@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/types@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 1e258d9c063fcf59ebc91e46d5ea5984674ac7ae6cae3e50aa780d22b4405bf2c925f40350bf30013839eb5d4b5e521d956ddf8f3b7c78debef0e75a07f57350 - languageName: node - linkType: hard - -"@jest/types@npm:^29.1.2, @jest/types@npm:^29.2.1, @jest/types@npm:^29.4.3, @jest/types@npm:^29.5.0": +"@jest/types@npm:^29.2.1, @jest/types@npm:^29.4.3, @jest/types@npm:^29.5.0": version: 29.5.0 resolution: "@jest/types@npm:29.5.0" dependencies: @@ -6859,6 +6814,17 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": ^1.2.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: ff7a1764ebd76a5e129c8890aa3e2f46045109dabde62b0b6c6a250152227647178ff2069ea234753a690d8f3c4ac8b5e7b267bbee272bffb7f3b0a370ab6e52 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": version: 3.1.0 resolution: "@jridgewell/resolve-uri@npm:3.1.0" @@ -6866,6 +6832,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 83b85f72c59d1c080b4cbec0fef84528963a1b5db34e4370fa4bd1e3ff64a0d80e0cee7369d11d73c704e0286fb2865b530acac7a871088fbe92b5edf1000870 + languageName: node + linkType: hard + "@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": version: 1.1.2 resolution: "@jridgewell/set-array@npm:1.1.2" @@ -6873,6 +6846,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 + languageName: node + linkType: hard + "@jridgewell/source-map@npm:^0.3.2": version: 0.3.2 resolution: "@jridgewell/source-map@npm:0.3.2" @@ -6890,6 +6870,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -6910,6 +6897,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: 9d3c40d225e139987b50c48988f8717a54a8c994d8a948ee42e1412e08988761d0754d7d10b803061cc3aebf35f92a5dbbab493bd0e1a9ef9e89a2130e83ba34 + languageName: node + linkType: hard + "@jsdevtools/ono@npm:^7.1.3": version: 7.1.3 resolution: "@jsdevtools/ono@npm:7.1.3" @@ -7058,15 +7055,6 @@ __metadata: languageName: node linkType: hard -"@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1": - version: 5.1.1-v1 - resolution: "@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1" - dependencies: - eslint-scope: 5.1.1 - checksum: f2e3b2d6a6e2d9f163ca22105910c9f850dc4897af0aea3ef0a5886b63d8e1ba6505b71c99cb78a3bba24a09557d601eb21c8dede3f3213753fcfef364eb0e57 - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -7156,45 +7144,6 @@ __metadata: languageName: node linkType: hard -"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.3": - version: 0.5.10 - resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.10" - dependencies: - ansi-html-community: ^0.0.8 - common-path-prefix: ^3.0.0 - core-js-pure: ^3.23.3 - error-stack-parser: ^2.0.6 - find-up: ^5.0.0 - html-entities: ^2.1.0 - loader-utils: ^2.0.4 - schema-utils: ^3.0.0 - source-map: ^0.7.3 - peerDependencies: - "@types/webpack": 4.x || 5.x - react-refresh: ">=0.10.0 <1.0.0" - sockjs-client: ^1.4.0 - type-fest: ">=0.17.0 <4.0.0" - webpack: ">=4.43.0 <6.0.0" - webpack-dev-server: 3.x || 4.x - webpack-hot-middleware: 2.x - webpack-plugin-serve: 0.x || 1.x - peerDependenciesMeta: - "@types/webpack": - optional: true - sockjs-client: - optional: true - type-fest: - optional: true - webpack-dev-server: - optional: true - webpack-hot-middleware: - optional: true - webpack-plugin-serve: - optional: true - checksum: c45beded9c56fbbdc7213a2c36131ace5db360ed704d462cc39d6678f980173a91c9a3f691e6bd3a026f25486644cd0027e8a12a0a4eced8e8b886a0472e7d34 - languageName: node - linkType: hard - "@pnpm/config.env-replace@npm:^1.1.0": version: 1.1.0 resolution: "@pnpm/config.env-replace@npm:1.1.0" @@ -7893,51 +7842,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-babel@npm:^5.2.0": - version: 5.3.1 - resolution: "@rollup/plugin-babel@npm:5.3.1" - dependencies: - "@babel/helper-module-imports": ^7.10.4 - "@rollup/pluginutils": ^3.1.0 - peerDependencies: - "@babel/core": ^7.0.0 - "@types/babel__core": ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - "@types/babel__core": - optional: true - checksum: 220d71e4647330f252ef33d5f29700aef2e8284a0b61acfcceb47617a7f96208aa1ed16eae75619424bf08811ede5241e271a6d031f07026dee6b3a2bdcdc638 - languageName: node - linkType: hard - -"@rollup/plugin-node-resolve@npm:^11.2.1": - version: 11.2.1 - resolution: "@rollup/plugin-node-resolve@npm:11.2.1" - dependencies: - "@rollup/pluginutils": ^3.1.0 - "@types/resolve": 1.17.1 - builtin-modules: ^3.1.0 - deepmerge: ^4.2.2 - is-module: ^1.0.0 - resolve: ^1.19.0 - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 6f3b3ecf9a0596a5db4212984bdeb13bb7612693602407e9457ada075dea5a5f2e4e124c592352cf27066a88b194de9b9a95390149b52cf335d5b5e17b4e265b - languageName: node - linkType: hard - -"@rollup/plugin-replace@npm:^2.4.1": - version: 2.4.2 - resolution: "@rollup/plugin-replace@npm:2.4.2" - dependencies: - "@rollup/pluginutils": ^3.1.0 - magic-string: ^0.25.7 - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - checksum: b2f1618ee5526d288e2f8ae328dcb326e20e8dc8bd1f60d3e14d6708a5832e4aa44811f7d493f4aed2deeadca86e3b6b0503cd39bf50cfb4b595bb9da027fad0 - languageName: node - linkType: hard - "@rollup/plugin-replace@npm:^5.0.2": version: 5.0.2 resolution: "@rollup/plugin-replace@npm:5.0.2" @@ -7953,19 +7857,6 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^3.1.0": - version: 3.1.0 - resolution: "@rollup/pluginutils@npm:3.1.0" - dependencies: - "@types/estree": 0.0.39 - estree-walker: ^1.0.1 - picomatch: ^2.2.2 - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 8be16e27863c219edbb25a4e6ec2fe0e1e451d9e917b6a43cf2ae5bc025a6b8faaa40f82a6e53b66d0de37b58ff472c6c3d57a83037ae635041f8df959d6d9aa - languageName: node - linkType: hard - "@rollup/pluginutils@npm:^4.2.0": version: 4.2.1 resolution: "@rollup/pluginutils@npm:4.2.1" @@ -7992,10 +7883,131 @@ __metadata: languageName: node linkType: hard -"@rushstack/eslint-patch@npm:^1.1.0": - version: 1.2.0 - resolution: "@rushstack/eslint-patch@npm:1.2.0" - checksum: faa749faae0e83c26ae9eb00ad36a897ac78f3cf27da8e8ff21c00bcf7973b598d823d8f2b3957ef66079288bcf577f94df831eae2d65f3f68d8ca32f18b6aff +"@rollup/pluginutils@npm:^5.0.5": + version: 5.1.0 + resolution: "@rollup/pluginutils@npm:5.1.0" + dependencies: + "@types/estree": ^1.0.0 + estree-walker: ^2.0.2 + picomatch: ^2.3.1 + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 3cc5a6d91452a6eabbfd1ae79b4dd1f1e809d2eecda6e175deb784e75b0911f47e9ecce73f8dd315d6a8b3f362582c91d3c0f66908b6ced69345b3cbe28f8ce8 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-android-arm64@npm:4.18.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.18.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.18.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.0" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -8155,13 +8167,6 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.24.1": - version: 0.24.51 - resolution: "@sinclair/typebox@npm:0.24.51" - checksum: fd0d855e748ef767eb19da1a60ed0ab928e91e0f358c1dd198d600762c0015440b15755e96d1176e2a0db7e09c6a64ed487828ee10dd0c3e22f61eb09c478cd0 - languageName: node - linkType: hard - "@sinclair/typebox@npm:^0.25.16": version: 0.25.23 resolution: "@sinclair/typebox@npm:0.25.23" @@ -8169,6 +8174,13 @@ __metadata: languageName: node linkType: hard +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 + languageName: node + linkType: hard + "@sindresorhus/is@npm:^0.14.0": version: 0.14.0 resolution: "@sindresorhus/is@npm:0.14.0" @@ -8176,15 +8188,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^1.7.0": - version: 1.8.6 - resolution: "@sinonjs/commons@npm:1.8.6" - dependencies: - type-detect: 4.0.8 - checksum: 7d3f8c1e85f30cd4e83594fc19b7a657f14d49eb8d95a30095631ce15e906c869e0eff96c5b93dffea7490c00418b07f54582ba49c6560feb2a8c34c0b16832d - languageName: node - linkType: hard - "@sinonjs/commons@npm:^2.0.0": version: 2.0.0 resolution: "@sinonjs/commons@npm:2.0.0" @@ -8203,15 +8206,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^8.0.1": - version: 8.1.0 - resolution: "@sinonjs/fake-timers@npm:8.1.0" - dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: 09b5a158ce013a6c37613258bad79ca4efeb99b1f59c41c73cca36cac00b258aefcf46eeea970fccf06b989414d86fe9f54c1102272c0c3bdd51a313cea80949 - languageName: node - linkType: hard - "@slorber/static-site-generator-webpack-plugin@npm:^4.0.7": version: 4.0.7 resolution: "@slorber/static-site-generator-webpack-plugin@npm:4.0.7" @@ -9657,22 +9651,12 @@ __metadata: languageName: node linkType: hard -"@surma/rollup-plugin-off-main-thread@npm:^2.2.3": - version: 2.2.3 - resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" - dependencies: - ejs: ^3.1.6 - json5: ^2.2.0 - magic-string: ^0.25.0 - string.prototype.matchall: ^4.0.6 - checksum: 2c021349442e2e2cec96bb50fd82ec8bf8514d909bc73594f6cfc89b3b68f2feed909a8161d7d307d9455585c97e6b66853ce334db432626c7596836d4549c0c - languageName: node - linkType: hard - -"@svgr/babel-plugin-add-jsx-attribute@npm:^5.4.0": - version: 5.4.0 - resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:5.4.0" - checksum: 1c538cf312b486598c6aea17f9b72d7fc308eb5dd32effd804630206a185493b8a828ff980ceb29d57d8319c085614c7cea967be709c71ae77702a4c30037011 +"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3fc8e35d16f5abe0af5efe5851f27581225ac405d6a1ca44cda0df064cddfcc29a428c48c2e4bef6cebf627c9ac2f652a096030edb02cf5a120ce28d3c234710 languageName: node linkType: hard @@ -9694,10 +9678,12 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-remove-jsx-attribute@npm:^5.4.0": - version: 5.4.0 - resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:5.4.0" - checksum: ad2231bfcb14daa944201df66236c222cde05a07c4cffaecab1d36d33f606b6caf17bda21844fc435780c1a27195e49beb8397536fe5e7545dfffcfbbcecb7f8 +"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ff992893c6c4ac802713ba3a97c13be34e62e6d981c813af40daabcd676df68a72a61bd1e692bb1eda3587f1b1d700ea462222ae2153bb0f46886632d4f88d08 languageName: node linkType: hard @@ -9710,17 +9696,21 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-remove-jsx-empty-expression@npm:^5.0.1": - version: 5.0.1 - resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:5.0.1" - checksum: 175c8f13ddcb0744f7c3910ebed3799cfb961a75bff130e1ed2071c87ca8b8df8964825c988e511b2e3c5dbf48ad3d4fbbb6989edc53294253df40cf2a24375e +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0fb691b63a21bac00da3aa2dccec50d0d5a5b347ff408d60803b84410d8af168f2656e4ba1ee1f24dab0ae4e4af77901f2928752bb0434c1f6788133ec599ec8 languageName: node linkType: hard -"@svgr/babel-plugin-replace-jsx-attribute-value@npm:^5.0.1": - version: 5.0.1 - resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:5.0.1" - checksum: 68f4e2a5b95eca44e22fce485dc2ddd10adabe2b38f6db3ef9071b35e84bf379685f7acab6c05b7a82f722328c02f6424f8252c6dd5c2c4ed2f00104072b1dfe +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 1edda65ef4f4dd8f021143c8ec276a08f6baa6f733b8e8ee2e7775597bf6b97afb47fdeefd579d6ae6c959fe2e634f55cd61d99377631212228c8cfb351b8921 languageName: node linkType: hard @@ -9733,10 +9723,12 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-svg-dynamic-title@npm:^5.4.0": - version: 5.4.0 - resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:5.4.0" - checksum: c46feb52454acea32031d1d881a81334f2e5f838ed25a2d9014acb5e9541d404405911e86dbee8bee9f1e43c9e07118123a07dc297962dbed0c4c5a86bdc4be9 +"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 876cec891488992e6a9aebb8155e2bea4ec461b4718c51de36e988e00e271c6d9d01ef6be17b9effd44b2b3d7db0b41c161a5904a46ae6f38b26b387ad7f3709 languageName: node linkType: hard @@ -9749,10 +9741,12 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-svg-em-dimensions@npm:^5.4.0": - version: 5.4.0 - resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:5.4.0" - checksum: 0d19b26147bbba932bd973258dab4a80a7ea6b9d674713186f0e10fa21a9e3aa4327326b2bf1892e8051712bce0ea30561eb187ca27bb241d33c350cea51ac88 +"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: be0e2d391164428327d9ec469a52cea7d93189c6b0e2c290999e048f597d777852f701c64dca44cd45b31ed14a7f859520326e2e4ad7c3a4545d0aa235bc7e9a languageName: node linkType: hard @@ -9765,10 +9759,12 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-transform-react-native-svg@npm:^5.4.0": - version: 5.4.0 - resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:5.4.0" - checksum: 8ac5dc9fb2dee24addc74dbcb169860c95a69247606f986eabb0618fb300dd08e8f220891b758e62c051428ba04d8dd50f2c2bf877e15fa190e6d384d1ccd2ad +"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 85b434a57572f53bd2b9f0606f253e1fcf57b4a8c554ec3f2d43ed17f50d8cae200cb3aaf1ec9d626e1456e8b135dce530ae047eb0bed6d4bf98a752d6640459 languageName: node linkType: hard @@ -9781,10 +9777,12 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-transform-svg-component@npm:^5.5.0": - version: 5.5.0 - resolution: "@svgr/babel-plugin-transform-svg-component@npm:5.5.0" - checksum: 94c3fed490deb8544af4ea32a5d78a840334cdcc8a5a33fe8ea9f1c220a4d714d57c9e10934492de99b7e1acc17963b1749a49927e27b1e839a4dc3c893605c7 +"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 04e2023d75693eeb0890341c40e449881184663056c249be7e5c80168e4aabb0fadd255e8d5d2dbf54b8c2a6e700efba994377135bfa4060dc4a2e860116ef8c languageName: node linkType: hard @@ -9797,19 +9795,21 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-preset@npm:^5.5.0": - version: 5.5.0 - resolution: "@svgr/babel-preset@npm:5.5.0" +"@svgr/babel-preset@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-preset@npm:8.1.0" dependencies: - "@svgr/babel-plugin-add-jsx-attribute": ^5.4.0 - "@svgr/babel-plugin-remove-jsx-attribute": ^5.4.0 - "@svgr/babel-plugin-remove-jsx-empty-expression": ^5.0.1 - "@svgr/babel-plugin-replace-jsx-attribute-value": ^5.0.1 - "@svgr/babel-plugin-svg-dynamic-title": ^5.4.0 - "@svgr/babel-plugin-svg-em-dimensions": ^5.4.0 - "@svgr/babel-plugin-transform-react-native-svg": ^5.4.0 - "@svgr/babel-plugin-transform-svg-component": ^5.5.0 - checksum: 5d396c4499c9ff2df9db6d08a160d10386b9f459cb9c2bb5ee183ab03b2f46c8ef3c9a070f1eee93f4e4433a5f00704e7632b1386078eb697ad8a2b38edb8522 + "@svgr/babel-plugin-add-jsx-attribute": 8.0.0 + "@svgr/babel-plugin-remove-jsx-attribute": 8.0.0 + "@svgr/babel-plugin-remove-jsx-empty-expression": 8.0.0 + "@svgr/babel-plugin-replace-jsx-attribute-value": 8.0.0 + "@svgr/babel-plugin-svg-dynamic-title": 8.0.0 + "@svgr/babel-plugin-svg-em-dimensions": 8.0.0 + "@svgr/babel-plugin-transform-react-native-svg": 8.1.0 + "@svgr/babel-plugin-transform-svg-component": 8.0.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a67930f080b8891e1e8e2595716b879c944d253112bae763dce59807ba23454d162216c8d66a0a0e3d4f38a649ecd6c387e545d1e1261dd69a68e9a3392ee08 languageName: node linkType: hard @@ -9831,17 +9831,6 @@ __metadata: languageName: node linkType: hard -"@svgr/core@npm:^5.5.0": - version: 5.5.0 - resolution: "@svgr/core@npm:5.5.0" - dependencies: - "@svgr/plugin-jsx": ^5.5.0 - camelcase: ^6.2.0 - cosmiconfig: ^7.0.0 - checksum: 39b230151e30b9ca8551d10674e50efb821d1a49ce10969b09587af130780eba581baa1e321b0922f48331943096f05590aa6ae92d88d011d58093a89dd34158 - languageName: node - linkType: hard - "@svgr/core@npm:^6.5.1": version: 6.5.1 resolution: "@svgr/core@npm:6.5.1" @@ -9855,12 +9844,26 @@ __metadata: languageName: node linkType: hard -"@svgr/hast-util-to-babel-ast@npm:^5.5.0": - version: 5.5.0 - resolution: "@svgr/hast-util-to-babel-ast@npm:5.5.0" +"@svgr/core@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" dependencies: - "@babel/types": ^7.12.6 - checksum: a03c1c7ab92b1a6dbd7671b0b78df4c07e8d808ff092671554a78752ec0c0425c03b6c82569a5f33903d191c73379eedf631f23aeb30b7a70185f5f2fc67fae6 + "@babel/core": ^7.21.3 + "@svgr/babel-preset": 8.1.0 + camelcase: ^6.2.0 + cosmiconfig: ^8.1.3 + snake-case: ^3.0.4 + checksum: da4a12865c7dc59829d58df8bd232d6c85b7115fda40da0d2f844a1a51886e2e945560596ecfc0345d37837ac457de86a931e8b8d8550e729e0c688c02250d8a + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" + dependencies: + "@babel/types": ^7.21.3 + entities: ^4.4.0 + checksum: 88401281a38bbc7527e65ff5437970414391a86158ef4b4046c89764c156d2d39ecd7cce77be8a51994c9fb3249170cb1eb8b9128b62faaa81743ef6ed3534ab languageName: node linkType: hard @@ -9874,18 +9877,6 @@ __metadata: languageName: node linkType: hard -"@svgr/plugin-jsx@npm:^5.5.0": - version: 5.5.0 - resolution: "@svgr/plugin-jsx@npm:5.5.0" - dependencies: - "@babel/core": ^7.12.3 - "@svgr/babel-preset": ^5.5.0 - "@svgr/hast-util-to-babel-ast": ^5.5.0 - svg-parser: ^2.0.2 - checksum: e053f8dd6bfcd72377b432dd5b1db3c89d503d29839639a87f85b597a680d0b69e33a4db376f5a1074a89615f7157cd36f63f94bdb4083a0fd5bbe918c7fcb9b - languageName: node - linkType: hard - "@svgr/plugin-jsx@npm:^6.5.1": version: 6.5.1 resolution: "@svgr/plugin-jsx@npm:6.5.1" @@ -9900,14 +9891,17 @@ __metadata: languageName: node linkType: hard -"@svgr/plugin-svgo@npm:^5.5.0": - version: 5.5.0 - resolution: "@svgr/plugin-svgo@npm:5.5.0" +"@svgr/plugin-jsx@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-jsx@npm:8.1.0" dependencies: - cosmiconfig: ^7.0.0 - deepmerge: ^4.2.2 - svgo: ^1.2.2 - checksum: bef5d09581349afdf654209f82199670649cc749b81ff5f310ce4a3bbad749cde877c9b1a711dd9ced51224e2b5b5a720d242bdf183fa0f83e08e8d5e069b0b6 + "@babel/core": ^7.21.3 + "@svgr/babel-preset": 8.1.0 + "@svgr/hast-util-to-babel-ast": 8.0.0 + svg-parser: ^2.0.4 + peerDependencies: + "@svgr/core": "*" + checksum: 0418a9780753d3544912ee2dad5d2cf8d12e1ba74df8053651b3886aeda54d5f0f7d2dece0af5e0d838332c4f139a57f0dabaa3ca1afa4d1a765efce6a7656f2 languageName: node linkType: hard @@ -9924,22 +9918,6 @@ __metadata: languageName: node linkType: hard -"@svgr/webpack@npm:^5.5.0": - version: 5.5.0 - resolution: "@svgr/webpack@npm:5.5.0" - dependencies: - "@babel/core": ^7.12.3 - "@babel/plugin-transform-react-constant-elements": ^7.12.1 - "@babel/preset-env": ^7.12.1 - "@babel/preset-react": ^7.12.5 - "@svgr/core": ^5.5.0 - "@svgr/plugin-jsx": ^5.5.0 - "@svgr/plugin-svgo": ^5.5.0 - loader-utils: ^2.0.0 - checksum: 540391bd63791625d26d6b5e0dd3c716ef51176bfba53bf0979a1ac4781afd2672f4bef2d76cf3d9cdc8e9ee61bda6863ed405a237b10406633ede4cd524f1cc - languageName: node - linkType: hard - "@svgr/webpack@npm:^6.2.1": version: 6.5.1 resolution: "@svgr/webpack@npm:6.5.1" @@ -9997,20 +9975,36 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^5.11.4": - version: 5.16.5 - resolution: "@testing-library/jest-dom@npm:5.16.5" +"@testing-library/jest-dom@npm:^6.4.5": + version: 6.4.5 + resolution: "@testing-library/jest-dom@npm:6.4.5" dependencies: - "@adobe/css-tools": ^4.0.1 + "@adobe/css-tools": ^4.3.2 "@babel/runtime": ^7.9.2 - "@types/testing-library__jest-dom": ^5.9.1 aria-query: ^5.0.0 chalk: ^3.0.0 css.escape: ^1.5.1 - dom-accessibility-api: ^0.5.6 - lodash: ^4.17.15 + dom-accessibility-api: ^0.6.3 + lodash: ^4.17.21 redent: ^3.0.0 - checksum: 94911f901a8031f3e489d04ac057cb5373621230f5d92bed80e514e24b069fb58a3166d1dd86963e55f078a1bd999da595e2ab96ed95f452d477e272937d792a + peerDependencies: + "@jest/globals": ">= 28" + "@types/bun": "*" + "@types/jest": ">= 28" + jest: ">= 28" + vitest: ">= 0.32" + peerDependenciesMeta: + "@jest/globals": + optional: true + "@types/bun": + optional: true + "@types/jest": + optional: true + jest: + optional: true + vitest: + optional: true + checksum: 95bd94f1f4ba2110eaaa15174207f74d46481f0f168a4d58c30f92a9285f797f9949c166aa8401bcb46e16edbf14a097013204d65801e9d1361892757e525bd6 languageName: node linkType: hard @@ -10131,13 +10125,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 - languageName: node - linkType: hard - "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -10152,10 +10139,10 @@ __metadata: languageName: node linkType: hard -"@transloadit/prettier-bytes@npm:0.0.7": - version: 0.0.7 - resolution: "@transloadit/prettier-bytes@npm:0.0.7" - checksum: af075e1b2b045cac55d5ab854b5c94273ef7f4bd825f05fe578559465f206d2a1535343b50170252a9efb31ffdc2d6420e64eb32d2faeabeeb8b7d81d5d46ef0 +"@transloadit/prettier-bytes@npm:^0.3.4": + version: 0.3.4 + resolution: "@transloadit/prettier-bytes@npm:0.3.4" + checksum: abd6b7a12f57d5db3e744cbfa793e1fbb2aa15943b55901882eed8f32fd95cb72a2805db4e8251862192d8ebaa889a696657f46c9cd41347538d377dea731d58 languageName: node linkType: hard @@ -10230,6 +10217,19 @@ __metadata: languageName: node linkType: hard +"@types/babel__core@npm:^7.20.5": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: a3226f7930b635ee7a5e72c8d51a357e799d19cbf9d445710fa39ab13804f79ab1a54b72ea7d8e504659c7dfc50675db974b526142c754398d7413aa4bc30845 + languageName: node + linkType: hard + "@types/babel__generator@npm:*": version: 7.6.4 resolution: "@types/babel__generator@npm:7.6.4" @@ -10249,7 +10249,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": version: 7.18.3 resolution: "@types/babel__traverse@npm:7.18.3" dependencies: @@ -10338,6 +10338,15 @@ __metadata: languageName: node linkType: hard +"@types/conventional-commits-parser@npm:^5.0.0": + version: 5.0.0 + resolution: "@types/conventional-commits-parser@npm:5.0.0" + dependencies: + "@types/node": "*" + checksum: 88013c53adccaf359a429412c5d835990a88be33218f01f85eb04cf839a7d5bef51dd52b83a3032b00153e9f3ce4a7e84ff10b0a1f833c022c5e999b00eef24c + languageName: node + linkType: hard + "@types/cors@npm:^2.8.5, @types/cors@npm:^2.8.8": version: 2.8.13 resolution: "@types/cors@npm:2.8.13" @@ -10446,7 +10455,7 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:*, @types/eslint@npm:^7.29.0 || ^8.4.1, @types/eslint@npm:^8.4.6": +"@types/eslint@npm:*": version: 8.21.1 resolution: "@types/eslint@npm:8.21.1" dependencies: @@ -10463,10 +10472,10 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:0.0.39": - version: 0.0.39 - resolution: "@types/estree@npm:0.0.39" - checksum: 412fb5b9868f2c418126451821833414189b75cc6bf84361156feed733e3d92ec220b9d74a89e52722e03d5e241b2932732711b7497374a404fad49087adc248 +"@types/estree@npm:1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a languageName: node linkType: hard @@ -10570,7 +10579,7 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.2, @types/graceful-fs@npm:^4.1.3": +"@types/graceful-fs@npm:^4.1.3": version: 4.1.6 resolution: "@types/graceful-fs@npm:4.1.6" dependencies: @@ -10636,7 +10645,7 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:*, @types/jest@npm:^29.2.0": +"@types/jest@npm:^29.2.0": version: 29.4.0 resolution: "@types/jest@npm:29.4.0" dependencies: @@ -10646,16 +10655,6 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^27.4.1": - version: 27.5.2 - resolution: "@types/jest@npm:27.5.2" - dependencies: - jest-matcher-utils: ^27.0.0 - pretty-format: ^27.0.0 - checksum: 7e11c6826aa429ad990dc262e4e4b54aa36573287fddf15773e4137f07d11d3105f0dd9f1baff73252160a057df23f5529bb83b1bf83cd3f45f9460a5ca5c22e - languageName: node - linkType: hard - "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.11 resolution: "@types/json-schema@npm:7.0.11" @@ -10788,13 +10787,6 @@ __metadata: languageName: node linkType: hard -"@types/minimist@npm:^1.2.0": - version: 1.2.2 - resolution: "@types/minimist@npm:1.2.2" - checksum: b8da83c66eb4aac0440e64674b19564d9d86c80ae273144db9681e5eeff66f238ade9515f5006ffbfa955ceff8b89ad2bd8ec577d7caee74ba101431fb07045d - languageName: node - linkType: hard - "@types/ms@npm:*": version: 0.7.31 resolution: "@types/ms@npm:0.7.31" @@ -10819,7 +10811,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=12, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^18.11.18": +"@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^18.11.18": version: 18.14.0 resolution: "@types/node@npm:18.14.0" checksum: d83fcf5e4ed544755dd9028f5cbb6b9d46235043159111bb2ad62223729aee581c0144a9f6df8ba73d74011db9ed4ebd7af2fd5e0996714e3beb508a5da8ac5c @@ -10919,13 +10911,6 @@ __metadata: languageName: node linkType: hard -"@types/q@npm:^1.5.1": - version: 1.5.5 - resolution: "@types/q@npm:1.5.5" - checksum: 3bd386fb97a0e5f1ce1ed7a14e39b60e469b5ca9d920a7f69e0cdb58d22c0f5bdd16637d8c3a5bfeda76663c023564dd47a65389ee9aaabd65aee54803d5ba45 - languageName: node - linkType: hard - "@types/qs@npm:*, @types/qs@npm:^6.9.5": version: 6.9.7 resolution: "@types/qs@npm:6.9.7" @@ -11069,16 +11054,6 @@ __metadata: languageName: node linkType: hard -"@types/react-virtualized@npm:^9.21.10": - version: 9.21.21 - resolution: "@types/react-virtualized@npm:9.21.21" - dependencies: - "@types/prop-types": "*" - "@types/react": ^17 - checksum: 7f360746ae926c93ba07d830a33940ab1598f6966263594896d0dc746d704f9c0e0d1692cf543e925bcca7b007d70d3cc53379a9b1810f60c2d43ee5cfdb591e - languageName: node - linkType: hard - "@types/react@npm:17.0.2": version: 17.0.2 resolution: "@types/react@npm:17.0.2" @@ -11113,15 +11088,6 @@ __metadata: languageName: node linkType: hard -"@types/resolve@npm:1.17.1": - version: 1.17.1 - resolution: "@types/resolve@npm:1.17.1" - dependencies: - "@types/node": "*" - checksum: dc6a6df507656004e242dcb02c784479deca516d5f4b58a1707e708022b269ae147e1da0521f3e8ad0d63638869d87e0adc023f0bd5454aa6f72ac66c7525cf5 - languageName: node - linkType: hard - "@types/responselike@npm:^1.0.0": version: 1.0.0 resolution: "@types/responselike@npm:1.0.0" @@ -11238,15 +11204,6 @@ __metadata: languageName: node linkType: hard -"@types/testing-library__jest-dom@npm:^5.9.1": - version: 5.14.5 - resolution: "@types/testing-library__jest-dom@npm:5.14.5" - dependencies: - "@types/jest": "*" - checksum: dcb05416758fe88c1f4f3aa97b4699fcb46a5ed8f53c6b81721e66155452a48caf12ecb97dfdfd4130678e65efd66b9fca0ac434b3d63affec84842a84a6bf38 - languageName: node - linkType: hard - "@types/tough-cookie@npm:*": version: 4.0.2 resolution: "@types/tough-cookie@npm:4.0.2" @@ -11261,13 +11218,6 @@ __metadata: languageName: node linkType: hard -"@types/trusted-types@npm:^2.0.2": - version: 2.0.3 - resolution: "@types/trusted-types@npm:2.0.3" - checksum: 4794804bc4a4a173d589841b6d26cf455ff5dc4f3e704e847de7d65d215f2e7043d8757e4741ce3a823af3f08260a8d04a1a6e9c5ec9b20b7b04586956a6b005 - languageName: node - linkType: hard - "@types/unist@npm:*, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2, @types/unist@npm:^2.0.3": version: 2.0.6 resolution: "@types/unist@npm:2.0.6" @@ -11337,15 +11287,6 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^16.0.0": - version: 16.0.5 - resolution: "@types/yargs@npm:16.0.5" - dependencies: - "@types/yargs-parser": "*" - checksum: 22697f7cc8aa32dcc10981a87f035e183303a58351c537c81fb450270d5c494b1d918186210e445b0eb2e4a8b34a8bda2a595f346bdb1c9ed2b63d193cb00430 - languageName: node - linkType: hard - "@types/yargs@npm:^17.0.8": version: 17.0.22 resolution: "@types/yargs@npm:17.0.22" @@ -11364,30 +11305,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.5.0": - version: 5.52.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.52.0" - dependencies: - "@typescript-eslint/scope-manager": 5.52.0 - "@typescript-eslint/type-utils": 5.52.0 - "@typescript-eslint/utils": 5.52.0 - debug: ^4.3.4 - grapheme-splitter: ^1.0.4 - ignore: ^5.2.0 - natural-compare-lite: ^1.4.0 - regexpp: ^3.2.0 - semver: ^7.3.7 - tsutils: ^3.21.0 - peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: cff07ee94d8ab2a1b6c33b5c5bf641eff2bf2bebc0f35a9d8b3f128fd610e27a4aaf620bc2ad23608ad161b1810b7e32e5a2e0f746cc5094c3f506f7a14daa34 - languageName: node - linkType: hard - "@typescript-eslint/eslint-plugin@npm:^6.7.3": version: 6.7.3 resolution: "@typescript-eslint/eslint-plugin@npm:6.7.3" @@ -11413,34 +11330,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.52.0 - resolution: "@typescript-eslint/experimental-utils@npm:5.52.0" - dependencies: - "@typescript-eslint/utils": 5.52.0 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: dd16813335bcf867a4223ee6c2c1e6026a02f3de3c859b6ff59383746d20fb37bef21e3e65b07ff3b48480814c352f92064c3615c6b3241f3473c10cb3bdcf64 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^5.5.0": - version: 5.52.0 - resolution: "@typescript-eslint/parser@npm:5.52.0" - dependencies: - "@typescript-eslint/scope-manager": 5.52.0 - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/typescript-estree": 5.52.0 - debug: ^4.3.4 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 1d8ff6e932f9c9db8d24b16ce89fd963f0982c38559e500aa1f8dc5cd66abd02f1659dd1a1361ce550def05331803caa69a69a039b54c94fc0f22919a2305c12 - languageName: node - linkType: hard - "@typescript-eslint/parser@npm:^6.7.3": version: 6.7.3 resolution: "@typescript-eslint/parser@npm:6.7.3" @@ -11459,16 +11348,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/scope-manager@npm:5.52.0" - dependencies: - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/visitor-keys": 5.52.0 - checksum: 9a03fe30f8e90a5106c482478f213eefdd09f2f74e24d9dc59b453885466a758fe6d1cd24d706aed6188fb03c84b16ca6491cf20da6b16b8fc53cad8b8c327f2 - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:5.58.0": version: 5.58.0 resolution: "@typescript-eslint/scope-manager@npm:5.58.0" @@ -11489,20 +11368,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/type-utils@npm:5.52.0" +"@typescript-eslint/scope-manager@npm:7.11.0": + version: 7.11.0 + resolution: "@typescript-eslint/scope-manager@npm:7.11.0" dependencies: - "@typescript-eslint/typescript-estree": 5.52.0 - "@typescript-eslint/utils": 5.52.0 - debug: ^4.3.4 - tsutils: ^3.21.0 - peerDependencies: - eslint: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: ac5422040461febab8a2eeec76d969024ccff76203dec357f7220c9b5e0dde96e3e3a76fd4118d42b50bd5bfb3a194aaceeb63417a2ac4e1ebf5e687558a9a10 + "@typescript-eslint/types": 7.11.0 + "@typescript-eslint/visitor-keys": 7.11.0 + checksum: c3fbf6c091b418a79cc3eb671184b83eaa26c06766aa78b4f32234d366f1130271317525b0b3bc38670195e4c608df049ae400cc343f6afa6104b2eec1bbb577 languageName: node linkType: hard @@ -11523,13 +11395,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/types@npm:5.52.0" - checksum: 018940d61aebf7cf3f7de1b9957446e2ea01f08fe950bef4788c716a3a88f7c42765fe7d80152b0d0428fcd4bd3ace2dfa8c459ba1c59d9a84e951642180f869 - languageName: node - linkType: hard - "@typescript-eslint/types@npm:5.58.0": version: 5.58.0 resolution: "@typescript-eslint/types@npm:5.58.0" @@ -11544,21 +11409,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.52.0" - dependencies: - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/visitor-keys": 5.52.0 - debug: ^4.3.4 - globby: ^11.1.0 - is-glob: ^4.0.3 - semver: ^7.3.7 - tsutils: ^3.21.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 67d396907fee3d6894e26411a5098a37f07e5d50343189e6361ff7db91c74a7ffe2abd630d11f14c2bda1f4af13edf52b80b11cbccb55b44079c7cec14c9e108 +"@typescript-eslint/types@npm:7.11.0": + version: 7.11.0 + resolution: "@typescript-eslint/types@npm:7.11.0" + checksum: 1c2cf1540f08240e12da522fe3b23054adaffc7c5a82eb0fc94b982454ba527358f00c018fba06826ad42708fcb73237f823891d4d3bf18faa5cabee37cd76d4 languageName: node linkType: hard @@ -11598,21 +11452,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/utils@npm:5.52.0" +"@typescript-eslint/typescript-estree@npm:7.11.0": + version: 7.11.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.11.0" dependencies: - "@types/json-schema": ^7.0.9 - "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.52.0 - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/typescript-estree": 5.52.0 - eslint-scope: ^5.1.1 - eslint-utils: ^3.0.0 - semver: ^7.3.7 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 01906be5262ece36537e9d586e4d2d4791e05752a9354bcb42b1f5bf965f53daa13309c61c3dff5e201ea28c298e4e01cf0c93738afa0099fea0da3b1d8cb3a5 + "@typescript-eslint/types": 7.11.0 + "@typescript-eslint/visitor-keys": 7.11.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + minimatch: ^9.0.4 + semver: ^7.6.0 + ts-api-utils: ^1.3.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 026e857152874764c18a4f3a7b443f4fc757cf3e1d106f85df9d283205f6b2192ec3d771d71dddd77d1f15df61fb99e3a65e661c5fe39793462050d425463f33 languageName: node linkType: hard @@ -11633,7 +11488,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:^5.10.0, @typescript-eslint/utils@npm:^5.43.0, @typescript-eslint/utils@npm:^5.45.0": +"@typescript-eslint/utils@npm:^5.45.0": version: 5.58.0 resolution: "@typescript-eslint/utils@npm:5.58.0" dependencies: @@ -11651,13 +11506,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.52.0" +"@typescript-eslint/utils@npm:^7.7.1": + version: 7.11.0 + resolution: "@typescript-eslint/utils@npm:7.11.0" dependencies: - "@typescript-eslint/types": 5.52.0 - eslint-visitor-keys: ^3.3.0 - checksum: 33b44f0cd35b7b47f34e89d52e47b8d8200f55af306b22db4de104d79f65907458ea022e548f50d966e32fea150432ac9c1ae65b3001b0ad2ac8a17c0211f370 + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": 7.11.0 + "@typescript-eslint/types": 7.11.0 + "@typescript-eslint/typescript-estree": 7.11.0 + peerDependencies: + eslint: ^8.56.0 + checksum: 287d0798dcfd5c56c73dc2a417c3442edb19deb6f274e2406e52b4ac9088494ed4c94b4b8ae8adff7ae2b7a1c520e9643e415018348bf1ec1b17605e7e565488 languageName: node linkType: hard @@ -11681,167 +11540,205 @@ __metadata: languageName: node linkType: hard -"@uppy/core@npm:^2.1.4": - version: 2.3.4 - resolution: "@uppy/core@npm:2.3.4" +"@typescript-eslint/visitor-keys@npm:7.11.0": + version: 7.11.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.11.0" dependencies: - "@transloadit/prettier-bytes": 0.0.7 - "@uppy/store-default": ^2.1.1 - "@uppy/utils": ^4.1.3 - lodash.throttle: ^4.1.1 + "@typescript-eslint/types": 7.11.0 + eslint-visitor-keys: ^3.4.3 + checksum: 5f1170c1e3110c53b5433949f98079d8bbc8a4334dfef96c802a6df6d475e187796180f844edcff0928a5c2ae5da4babcb5f50c658f61c6fb940efda7457a433 + languageName: node + linkType: hard + +"@uppy/compressor@npm:^1.1.4": + version: 1.1.4 + resolution: "@uppy/compressor@npm:1.1.4" + dependencies: + "@transloadit/prettier-bytes": ^0.3.4 + "@uppy/utils": ^5.9.0 + compressorjs: ^1.2.1 + preact: ^10.5.13 + promise-queue: ^2.2.5 + peerDependencies: + "@uppy/core": ^3.11.2 + checksum: 69ae5efe1ffacd9c990f1660cb92828199b4f5e70af884119b9a1d257f0fa7901fa3e2da0ad0d240943420491ed659977dd1a9f4b5a372aaa5bbf5ae5132be0a + languageName: node + linkType: hard + +"@uppy/core@npm:^3.11.3": + version: 3.11.3 + resolution: "@uppy/core@npm:3.11.3" + dependencies: + "@transloadit/prettier-bytes": ^0.3.4 + "@uppy/store-default": ^3.2.2 + "@uppy/utils": ^5.9.0 + lodash: ^4.17.21 mime-match: ^1.0.2 namespace-emitter: ^2.0.1 - nanoid: ^3.1.25 + nanoid: ^4.0.0 preact: ^10.5.13 - checksum: 91ce974efbae9da5b42cc697d2b7dbe91143c2c7695493fc06b232c6c0ecd07b2f4f4ab2ee02610e4bdea3c7ad27c82e2819e104e6e5fc8d366532c6906a4673 + checksum: 49659a69829b23cda558a6cb6cdf76ff2bff10b06891f676a4d80d386325471e7f835f95639aba430e73377516930da085252f5a31e232719e07cbf034472c1a languageName: node linkType: hard -"@uppy/dashboard@npm:^2.1.3, @uppy/dashboard@npm:^2.4.2": - version: 2.4.3 - resolution: "@uppy/dashboard@npm:2.4.3" +"@uppy/dashboard@npm:^3.8.3": + version: 3.8.3 + resolution: "@uppy/dashboard@npm:3.8.3" dependencies: - "@transloadit/prettier-bytes": 0.0.7 - "@uppy/informer": ^2.1.1 - "@uppy/provider-views": ^2.1.3 - "@uppy/status-bar": ^2.2.2 - "@uppy/thumbnail-generator": ^2.2.2 - "@uppy/utils": ^4.1.3 + "@transloadit/prettier-bytes": ^0.3.4 + "@uppy/informer": ^3.1.0 + "@uppy/provider-views": ^3.12.0 + "@uppy/status-bar": ^3.3.3 + "@uppy/thumbnail-generator": ^3.1.0 + "@uppy/utils": ^5.9.0 classnames: ^2.2.6 is-shallow-equal: ^1.0.1 - lodash.debounce: ^4.0.8 - memoize-one: ^5.0.4 - nanoid: ^3.1.25 + lodash: ^4.17.21 + memoize-one: ^6.0.0 + nanoid: ^4.0.0 preact: ^10.5.13 peerDependencies: - "@uppy/core": ^2.3.4 - checksum: d7e2f60ada6381ffa9b91e8ac38ca6dd0712b05dcf1e2669d8b1e5db9a9f8cb1dc449fb5441680a95c7c77668c9f3541b82e92f62d6c5499dc2c78263e0603c9 + "@uppy/core": ^3.11.2 + checksum: 7889ff77d84a9abd763baa5323cf07efafec9fb8cfadd9780ee7f9fb4a3968fb64d17882e1a6f79b98fcd6869da78b8b7d55e37594a71d9bb9d8d1dc1defd5ac languageName: node linkType: hard -"@uppy/drag-drop@npm:^2.1.2": - version: 2.1.2 - resolution: "@uppy/drag-drop@npm:2.1.2" +"@uppy/drag-drop@npm:^3.1.0": + version: 3.1.0 + resolution: "@uppy/drag-drop@npm:3.1.0" dependencies: - "@uppy/utils": ^4.1.2 + "@uppy/utils": ^5.7.5 preact: ^10.5.13 peerDependencies: - "@uppy/core": ^2.3.3 - checksum: 6d341c5d3d08d06fc26c93778ad84fc0e1449e9b85a68710be10974a591adbd69e51753fbcd551ea841814dd76fb0e8b0a3694714e91559be6728e1e75b505ff + "@uppy/core": ^3.10.0 + checksum: ce562da9a766c8e1148734b2040cfcbcbd47cd694e06de917a8f7e7354ff7af0dfe0c9f078dbe3c97289108e7e485d2583dad57892bc1cf1c0870c410aade3e9 languageName: node linkType: hard -"@uppy/file-input@npm:^2.1.2": - version: 2.1.2 - resolution: "@uppy/file-input@npm:2.1.2" +"@uppy/file-input@npm:^3.1.2": + version: 3.1.2 + resolution: "@uppy/file-input@npm:3.1.2" dependencies: - "@uppy/utils": ^4.1.2 + "@uppy/utils": ^5.9.0 preact: ^10.5.13 peerDependencies: - "@uppy/core": ^2.3.3 - checksum: d039e6fe528456293dc74ed6024b215a35e570cd3f82abcb7d7db68eb7b9ce128e701b4b5c9993a660284b45fdd364860b830929e77c39edc2cf7f0a562218b7 + "@uppy/core": ^3.11.0 + checksum: 087cb18b446c77468b9cdc16c2d0df33da1012c21f5ae44e2985d2b6a8dc2f10643d99c8140e3c705a3bd3103792be61aaf39873d195ff498fc85dcbd750017e languageName: node linkType: hard -"@uppy/informer@npm:^2.1.1": - version: 2.1.1 - resolution: "@uppy/informer@npm:2.1.1" +"@uppy/informer@npm:^3.1.0": + version: 3.1.0 + resolution: "@uppy/informer@npm:3.1.0" dependencies: - "@uppy/utils": ^4.1.2 + "@uppy/utils": ^5.7.4 preact: ^10.5.13 peerDependencies: - "@uppy/core": ^2.3.3 - checksum: 0ac08707b2a4c5ceced3e93ac9a4cb3ae23f94c2a308e217d4a50669e9f5b5ea2751a4add7654b4fba9a0a74d42e8f43dc7d36096d07db529c8f746ea94b503c + "@uppy/core": ^3.9.3 + checksum: 8b47d8a70d1a3b34b8bf5da3aa807137ff89e478e6f17406febee2b976b6be0fdf51c3d5668c102bd22a3c6bf763fdf97f97d696674e3874ca75c3880753685f languageName: node linkType: hard -"@uppy/progress-bar@npm:^2.1.2": - version: 2.1.2 - resolution: "@uppy/progress-bar@npm:2.1.2" +"@uppy/progress-bar@npm:^3.1.1": + version: 3.1.1 + resolution: "@uppy/progress-bar@npm:3.1.1" dependencies: - "@uppy/utils": ^4.1.2 + "@uppy/utils": ^5.7.5 preact: ^10.5.13 peerDependencies: - "@uppy/core": ^2.3.3 - checksum: 88551d3b31865eb48806e23b46fef5aac03cc22d18e263dc75c66617e52a04b932a60a8417ab3917fb8fe92d26c28ac1faea17b630e3beae31d033fac5f57e43 + "@uppy/core": ^3.10.0 + checksum: d3a0abd4974b0d764420e51d62ea66b6d3fbe222f6c49aa6916c216b3c60657d05c045326dcc33879eb1f74ef4d92e50e44a6ab986697d869631377eee41599d languageName: node linkType: hard -"@uppy/provider-views@npm:^2.1.3": - version: 2.1.3 - resolution: "@uppy/provider-views@npm:2.1.3" +"@uppy/provider-views@npm:^3.12.0": + version: 3.12.0 + resolution: "@uppy/provider-views@npm:3.12.0" dependencies: - "@uppy/utils": ^4.1.2 + "@uppy/utils": ^5.9.0 classnames: ^2.2.6 + nanoid: ^4.0.0 + p-queue: ^7.3.4 preact: ^10.5.13 peerDependencies: - "@uppy/core": ^2.3.3 - checksum: 8b673dde190dce948bbfc202d4456874af5c15b8b3d4ac7ec7602e8fddb6a83b39e6303426289bfbb9b407946a1919d38a056ce885cb6244234d46bef2be99f5 + "@uppy/core": ^3.11.0 + checksum: 98e66d062e82e0f0cafa556ca4fb60dd88492a9c7edf391b3ebe699d499d922286699c291cc65069dd7240f64845e3e44eca1076f9778a38ccf769d6dcec609c languageName: node linkType: hard -"@uppy/react@npm:^2.1.2": - version: 2.2.3 - resolution: "@uppy/react@npm:2.2.3" +"@uppy/react@npm:^3.3.1": + version: 3.3.1 + resolution: "@uppy/react@npm:3.3.1" dependencies: - "@uppy/dashboard": ^2.4.2 - "@uppy/drag-drop": ^2.1.2 - "@uppy/file-input": ^2.1.2 - "@uppy/progress-bar": ^2.1.2 - "@uppy/status-bar": ^2.2.2 - "@uppy/utils": ^4.1.2 + "@uppy/utils": ^5.9.0 prop-types: ^15.6.1 peerDependencies: - "@uppy/core": ^2.3.3 + "@uppy/core": ^3.11.0 + "@uppy/dashboard": ^3.8.2 + "@uppy/drag-drop": ^3.1.0 + "@uppy/file-input": ^3.1.2 + "@uppy/progress-bar": ^3.1.1 + "@uppy/status-bar": ^3.3.2 react: ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: 7d4247200c4284ef76f68aa39583506742402c7acfc721725a661f9ff1c618103bd62f8f8535327cc130d88a19dd1a44b8b1c44d3c5aa51be992762926db9069 + peerDependenciesMeta: + "@uppy/dashboard": + optional: true + "@uppy/drag-drop": + optional: true + "@uppy/file-input": + optional: true + "@uppy/progress-bar": + optional: true + "@uppy/status-bar": + optional: true + checksum: 40964a86b75c74fcfa45f998a11067e7aadd0b35b6af4d8171d015838365fe9638464600e8696341bac2aa40cd54cc6ebfdbd93379c60ddff5c36d0acb03700e languageName: node linkType: hard -"@uppy/status-bar@npm:^2.2.2": - version: 2.2.2 - resolution: "@uppy/status-bar@npm:2.2.2" +"@uppy/status-bar@npm:^3.3.3": + version: 3.3.3 + resolution: "@uppy/status-bar@npm:3.3.3" dependencies: - "@transloadit/prettier-bytes": 0.0.7 - "@uppy/utils": ^4.1.2 + "@transloadit/prettier-bytes": ^0.3.4 + "@uppy/utils": ^5.9.0 classnames: ^2.2.6 - lodash.throttle: ^4.1.1 preact: ^10.5.13 peerDependencies: - "@uppy/core": ^2.3.3 - checksum: 15fe377e91dbf82b26f5d0234ba4e6df319b09115279b6510d8a03c5276992e0c1ebf7b1a3b536c8b7b8f58ad21b8beeac9b6a0c63272dbdfd391e80969417e5 + "@uppy/core": ^3.11.2 + checksum: 65384e352f446725e1e2d7218d4e0ec93481b356a0fbf619b5d7311939b83141305e4544618055806c03b04945d5c21d0b7a2b0098891749396a975fd822640b languageName: node linkType: hard -"@uppy/store-default@npm:^2.1.1": - version: 2.1.1 - resolution: "@uppy/store-default@npm:2.1.1" - checksum: 953a08ebd29a6dc7bdc759ad183eeebb8c32fa759e7cb20593fbdd4b2b2171771458085753767a1594e9f5a456cf2dadd40e8b474d355a5ac5bb2cb2aecd95fb +"@uppy/store-default@npm:^3.2.2": + version: 3.2.2 + resolution: "@uppy/store-default@npm:3.2.2" + checksum: 806c1dc605eee88abc5e781025c8d5331d94b605717aa72cd3b6c6b482614e1ee6817b9dd4a618ceba1d0a2f3db7500cd1cb72ba0c6e1f8a879eee6e6a93944c languageName: node linkType: hard -"@uppy/thumbnail-generator@npm:^2.2.2": - version: 2.2.2 - resolution: "@uppy/thumbnail-generator@npm:2.2.2" +"@uppy/thumbnail-generator@npm:^3.1.0": + version: 3.1.0 + resolution: "@uppy/thumbnail-generator@npm:3.1.0" dependencies: - "@uppy/utils": ^4.1.3 + "@uppy/utils": ^5.7.5 exifr: ^7.0.0 peerDependencies: - "@uppy/core": ^2.3.4 - checksum: 6c1c5d357cc98ad5e5d0b230c48b693471304e12ed13646b16d156796c9dbb1a534039d56a2264e4f4dc26a30acf9891f9fe5e4ad179ad313f058383e7db246c + "@uppy/core": ^3.10.0 + checksum: 25d1fe6d337221daea41b228cd78fbd9d2099912d79fe81c59e59bf041499775c38fd2970526c761ff58416dc70090f9f0d033ac580973d195bcb45a63f77a5f languageName: node linkType: hard -"@uppy/utils@npm:^4.1.2, @uppy/utils@npm:^4.1.3": - version: 4.1.3 - resolution: "@uppy/utils@npm:4.1.3" +"@uppy/utils@npm:^5.7.4, @uppy/utils@npm:^5.7.5, @uppy/utils@npm:^5.9.0": + version: 5.9.0 + resolution: "@uppy/utils@npm:5.9.0" dependencies: - lodash.throttle: ^4.1.1 - checksum: baca62dd77ee86799d4e5a9bb33f696d2736aaccd9495705d146844b8c86eb48ba676fae5762bc940f11f613bb25bc0f408d726ed457f860aacb106804d8a79f + lodash: ^4.17.21 + preact: ^10.5.13 + checksum: c8a8445a3675ba9a1ba96d6c0b3f9c71086fb59a49af05d249355a75a3c488f5d0be3a83827dac54495bfd9b9c697b22ec440b38b5a4192691403d3f6096ef5b languageName: node linkType: hard -"@vitejs/plugin-react@npm:^3.0.1, @vitejs/plugin-react@npm:^3.1.0": +"@vitejs/plugin-react@npm:^3.0.1": version: 3.1.0 resolution: "@vitejs/plugin-react@npm:3.1.0" dependencies: @@ -11856,27 +11753,41 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-c8@npm:^0.30.1": - version: 0.30.1 - resolution: "@vitest/coverage-c8@npm:0.30.1" +"@vitejs/plugin-react@npm:^4.3.0": + version: 4.3.0 + resolution: "@vitejs/plugin-react@npm:4.3.0" dependencies: - c8: ^7.13.0 - picocolors: ^1.0.0 - std-env: ^3.3.2 + "@babel/core": ^7.24.5 + "@babel/plugin-transform-react-jsx-self": ^7.24.5 + "@babel/plugin-transform-react-jsx-source": ^7.24.1 + "@types/babel__core": ^7.20.5 + react-refresh: ^0.14.2 peerDependencies: - vitest: ">=0.30.0 <1" - checksum: 3688f5d1807eb65b753fa0c008464b9f0500b3847600a9b50c6fa51ee69b303bf2d0d4d5174a8e12baab9b692bb991423ded4d947f63d30b0635ac5c5cbe8737 + vite: ^4.2.0 || ^5.0.0 + checksum: e4642c081e74e701fc07f03f505b44eb428d7105461b8026e7364ecd30dcf7785126bf272767a3bc36899b6abe85479af444612ef6d09509d9bc7d6025cac925 languageName: node linkType: hard -"@vitest/expect@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/expect@npm:0.30.1" +"@vitest/coverage-v8@npm:^1.6.0": + version: 1.6.0 + resolution: "@vitest/coverage-v8@npm:1.6.0" dependencies: - "@vitest/spy": 0.30.1 - "@vitest/utils": 0.30.1 - chai: ^4.3.7 - checksum: cd7728d1532fd9b9d9ca52f76be14af72f7cf28686e91f99b1537a30d46a4207021410163b1c460076d4ada7246f7f3bdc14989c44aff0814ef83e1cdf5e4ecf + "@ampproject/remapping": ^2.2.1 + "@bcoe/v8-coverage": ^0.2.3 + debug: ^4.3.4 + istanbul-lib-coverage: ^3.2.2 + istanbul-lib-report: ^3.0.1 + istanbul-lib-source-maps: ^5.0.4 + istanbul-reports: ^3.1.6 + magic-string: ^0.30.5 + magicast: ^0.3.3 + picocolors: ^1.0.0 + std-env: ^3.5.0 + strip-literal: ^2.0.0 + test-exclude: ^6.0.0 + peerDependencies: + vitest: 1.6.0 + checksum: f5f29ec8768bc221f01f0183f7b326fc88113c6f1cdf215713f4ee00a47d01fd3ce446d1cd38935a005caab17f560490b351927e7e939669d39dbdf5ddf29360 languageName: node linkType: hard @@ -11891,15 +11802,14 @@ __metadata: languageName: node linkType: hard -"@vitest/runner@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/runner@npm:0.30.1" +"@vitest/expect@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/expect@npm:1.6.0" dependencies: - "@vitest/utils": 0.30.1 - concordance: ^5.0.4 - p-limit: ^4.0.0 - pathe: ^1.1.0 - checksum: b8f9faa63f3e98671804ab403a1dc466a48548fa5ee5e276855f0bcc1fae528ca65476584fb5528dd62ba9865c54d147b1ae78fb0cafe337c043669dcb93e67d + "@vitest/spy": 1.6.0 + "@vitest/utils": 1.6.0 + chai: ^4.3.10 + checksum: f3a9959ea387622297efed9e3689fd405044a813df5d5923302eaaea831e250d8d6a0ccd44fb387a95c19963242695ed803afc7c46ae06c48a8e06f194951984 languageName: node linkType: hard @@ -11915,14 +11825,14 @@ __metadata: languageName: node linkType: hard -"@vitest/snapshot@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/snapshot@npm:0.30.1" +"@vitest/runner@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/runner@npm:1.6.0" dependencies: - magic-string: ^0.30.0 - pathe: ^1.1.0 - pretty-format: ^27.5.1 - checksum: 9e0b89ca6c2cb08f2061c3d6bf5f2a1a9481c0229b8772b8be1db515552f07ea184f4248ceb11ad976ee89e2402c14e48a5700bab6ea859167fe5d10920e939c + "@vitest/utils": 1.6.0 + p-limit: ^5.0.0 + pathe: ^1.1.1 + checksum: 2dcd953477d5effc051376e35a7f2c2b28abbe07c54e61157c9a6d6f01c880e079592c959397b3a55471423256ab91709c150881a33632558b81b1e251a0bf9c languageName: node linkType: hard @@ -11937,12 +11847,14 @@ __metadata: languageName: node linkType: hard -"@vitest/spy@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/spy@npm:0.30.1" +"@vitest/snapshot@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/snapshot@npm:1.6.0" dependencies: - tinyspy: ^2.1.0 - checksum: af2e0a3910dfaa6b5759acd4913ca3c21ac9ad543c0d1095c23bdbca1a7d4e5dab43d8bfc4b08025d24e84965d65ae83f2cdc6aad080eaf5faf06daf06af3271 + magic-string: ^0.30.5 + pathe: ^1.1.1 + pretty-format: ^29.7.0 + checksum: c4249fbf3ce310de86a19529a0a5c10b1bde4d8d8a678029c632335969b86cbdbf51cedc20d5e9c9328afee834d13cec1b8de5d0fd58139bf8e2dd8dcd0797f4 languageName: node linkType: hard @@ -11955,14 +11867,12 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:0.30.1": - version: 0.30.1 - resolution: "@vitest/utils@npm:0.30.1" +"@vitest/spy@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/spy@npm:1.6.0" dependencies: - concordance: ^5.0.4 - loupe: ^2.3.6 - pretty-format: ^27.5.1 - checksum: a685b6ba34b0173e4da388055dc2a22ba335a74cf99679f7036cea1d183e0ee804a01984148eaad0e0f48bfb786d33800ff6dd549b94f3d064e14caa0857ee62 + tinyspy: ^2.2.0 + checksum: 0201975232255e1197f70fc6b23a1ff5e606138a5b96598fff06077d5b747705391013ee98f951affcfd8f54322e4ae1416200393248bb6a9c794f4ef663a066 languageName: node linkType: hard @@ -11977,6 +11887,18 @@ __metadata: languageName: node linkType: hard +"@vitest/utils@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/utils@npm:1.6.0" + dependencies: + diff-sequences: ^29.6.3 + estree-walker: ^3.0.3 + loupe: ^2.3.7 + pretty-format: ^29.7.0 + checksum: a4749533a48e7e4bbc8eafee0fee0e9a0d4eaa4910fbdb490d34e16f8ebcce59a2b38529b9e6b4578e3b4510ea67b29384c93165712b0a19f2e71946922d2c56 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/ast@npm:1.11.1" @@ -12206,7 +12128,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:^1.0.4": +"JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -12218,7 +12140,7 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.3, abab@npm:^2.0.5, abab@npm:^2.0.6": +"abab@npm:^2.0.6": version: 2.0.6 resolution: "abab@npm:2.0.6" checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e @@ -12251,16 +12173,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 - languageName: node - linkType: hard - "acorn-globals@npm:^7.0.0": version: 7.0.1 resolution: "acorn-globals@npm:7.0.1" @@ -12289,18 +12201,7 @@ __metadata: languageName: node linkType: hard -"acorn-node@npm:^1.8.2": - version: 1.8.2 - resolution: "acorn-node@npm:1.8.2" - dependencies: - acorn: ^7.0.0 - acorn-walk: ^7.0.0 - xtend: ^4.0.2 - checksum: 02e1564a1ccf8bd1fcefcd01235398af4a9effaf032c5397994ddd275590a72894cb3e26e4b82579ccdda1e48ade7486aef61e771ddae3563ca452b927f443d8 - languageName: node - linkType: hard - -"acorn-walk@npm:^7.0.0, acorn-walk@npm:^7.1.1, acorn-walk@npm:^7.2.0": +"acorn-walk@npm:^7.2.0": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f @@ -12314,7 +12215,14 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.0.0, acorn@npm:^7.1.1, acorn@npm:^7.4.1": +"acorn-walk@npm:^8.3.2": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 3626b9d26a37b1b427796feaa5261faf712307a8920392c8dce9a5739fb31077667f4ad2ec71c7ac6aaf9f61f04a9d3d67ff56f459587206fc04aa31c27ef392 + languageName: node + linkType: hard + +"acorn@npm:^7.4.1": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -12323,7 +12231,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.2": +"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.2": version: 8.8.2 resolution: "acorn@npm:8.8.2" bin: @@ -12332,6 +12240,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.11.3": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" + bin: + acorn: bin/acorn + checksum: 76d8e7d559512566b43ab4aadc374f11f563f0a9e21626dd59cb2888444e9445923ae9f3699972767f18af61df89cd89f5eaaf772d1327b055b45cb829b4a88c + languageName: node + linkType: hard + "acorn@npm:^8.9.0": version: 8.10.0 resolution: "acorn@npm:8.10.0" @@ -12355,16 +12272,6 @@ __metadata: languageName: node linkType: hard -"adjust-sourcemap-loader@npm:^4.0.0": - version: 4.0.0 - resolution: "adjust-sourcemap-loader@npm:4.0.0" - dependencies: - loader-utils: ^2.0.0 - regex-parser: ^2.2.11 - checksum: d524ae23582f41e2275af5d88faab7a9dc09770ed588244e0a76d3196d0d6a90bf02760c71bc6213dbfef3aef4a86232ac9521bfd629752c32b7af37bc74c660 - languageName: node - linkType: hard - "agent-base@npm:5": version: 5.1.1 resolution: "agent-base@npm:5.1.1" @@ -12445,7 +12352,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:^6.12.6": +"ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:^6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -12457,7 +12364,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.11.0, ajv@npm:^8.3.0, ajv@npm:^8.6.0, ajv@npm:^8.8.0": +"ajv@npm:^8.0.0, ajv@npm:^8.11.0, ajv@npm:^8.3.0, ajv@npm:^8.8.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" dependencies: @@ -12545,7 +12452,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0, ansi-escapes@npm:^4.3.1": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -12786,7 +12693,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:^5.0.0, aria-query@npm:^5.1.3": +"aria-query@npm:^5.0.0": version: 5.1.3 resolution: "aria-query@npm:5.1.3" dependencies: @@ -12826,6 +12733,16 @@ __metadata: languageName: node linkType: hard +"array-buffer-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "array-buffer-byte-length@npm:1.0.1" + dependencies: + call-bind: ^1.0.5 + is-array-buffer: ^3.0.4 + checksum: 53524e08f40867f6a9f35318fafe467c32e45e9c682ba67b11943e167344d2febc0f6977a17e699b05699e805c3e8f073d876f8bbf1b559ed494ad2cd0fae09e + languageName: node + linkType: hard + "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -12854,7 +12771,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": +"array-includes@npm:^3.1.6": version: 3.1.6 resolution: "array-includes@npm:3.1.6" dependencies: @@ -12880,6 +12797,20 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.8": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.4 + is-string: ^1.0.7 + checksum: eb39ba5530f64e4d8acab39297c11c1c5be2a4ea188ab2b34aba5fb7224d918f77717a9d57a3e2900caaa8440e59431bdaf5c974d5212ef65d97f132e38e2d91 + languageName: node + linkType: hard + "array-timsort@npm:^1.0.3": version: 1.0.3 resolution: "array-timsort@npm:1.0.3" @@ -12917,6 +12848,20 @@ __metadata: languageName: node linkType: hard +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + es-shim-unscopables: ^1.0.2 + checksum: 83ce4ad95bae07f136d316f5a7c3a5b911ac3296c3476abe60225bc4a17938bf37541972fcc37dd5adbc99cbb9c928c70bbbfc1c1ce549d41a415144030bb446 + languageName: node + linkType: hard + "array.prototype.findlastindex@npm:^1.2.2, array.prototype.findlastindex@npm:^1.2.3": version: 1.2.3 resolution: "array.prototype.findlastindex@npm:1.2.3" @@ -12978,29 +12923,28 @@ __metadata: languageName: node linkType: hard -"array.prototype.reduce@npm:^1.0.5": - version: 1.0.5 - resolution: "array.prototype.reduce@npm:1.0.5" +"array.prototype.toreversed@npm:^1.1.2": + version: 1.1.2 + resolution: "array.prototype.toreversed@npm:1.1.2" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - es-array-method-boxes-properly: ^1.0.0 - is-string: ^1.0.7 - checksum: f44691395f9202aba5ec2446468d4c27209bfa81464f342ae024b7157dbf05b164e47cca01250b8c7c2a8219953fb57651cca16aab3d16f43b85c0d92c26eef3 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + es-shim-unscopables: ^1.0.0 + checksum: 58598193426282155297bedf950dc8d464624a0d81659822fb73124286688644cb7e0e4927a07f3ab2daaeb6617b647736cc3a5e6ca7ade5bb8e573b284e6240 languageName: node linkType: hard -"array.prototype.tosorted@npm:^1.1.1": - version: 1.1.1 - resolution: "array.prototype.tosorted@npm:1.1.1" +"array.prototype.tosorted@npm:^1.1.3": + version: 1.1.3 + resolution: "array.prototype.tosorted@npm:1.1.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - es-shim-unscopables: ^1.0.0 - get-intrinsic: ^1.1.3 - checksum: 7923324a67e70a2fc0a6e40237405d92395e45ebd76f5cb89c2a5cf1e66b47aca6baacd0cd628ffd88830b90d47fff268071493d09c9ae123645613dac2c2ca3 + call-bind: ^1.0.5 + define-properties: ^1.2.1 + es-abstract: ^1.22.3 + es-errors: ^1.1.0 + es-shim-unscopables: ^1.0.2 + checksum: 555e8808086bbde9e634c5dc5a8c0a2f1773075447b43b2fa76ab4f94f4e90f416d2a4f881024e1ce1a2931614caf76cd6b408af901c9d7cd13061d0d268f5af languageName: node linkType: hard @@ -13019,6 +12963,22 @@ __metadata: languageName: node linkType: hard +"arraybuffer.prototype.slice@npm:^1.0.3": + version: 1.0.3 + resolution: "arraybuffer.prototype.slice@npm:1.0.3" + dependencies: + array-buffer-byte-length: ^1.0.1 + call-bind: ^1.0.5 + define-properties: ^1.2.1 + es-abstract: ^1.22.3 + es-errors: ^1.2.1 + get-intrinsic: ^1.2.3 + is-array-buffer: ^3.0.4 + is-shared-array-buffer: ^1.0.2 + checksum: 352259cba534dcdd969c92ab002efd2ba5025b2e3b9bead3973150edbdf0696c629d7f4b3f061c5931511e8207bdc2306da614703c820b45dabce39e3daf7e3e + languageName: node + linkType: hard + "arrify@npm:^1.0.1": version: 1.0.1 resolution: "arrify@npm:1.0.1" @@ -13040,7 +13000,7 @@ __metadata: languageName: node linkType: hard -"asap@npm:^2.0.0, asap@npm:~2.0.3, asap@npm:~2.0.6": +"asap@npm:^2.0.0, asap@npm:~2.0.3": version: 2.0.6 resolution: "asap@npm:2.0.6" checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d @@ -13089,13 +13049,6 @@ __metadata: languageName: node linkType: hard -"ast-types-flow@npm:^0.0.7": - version: 0.0.7 - resolution: "ast-types-flow@npm:0.0.7" - checksum: a26dcc2182ffee111cad7c471759b0bda22d3b7ebacf27c348b22c55f16896b18ab0a4d03b85b4020dce7f3e634b8f00b593888f622915096ea1927fa51866c4 - languageName: node - linkType: hard - "ast-types@npm:^0.13.4": version: 0.13.4 resolution: "ast-types@npm:0.13.4" @@ -13199,7 +13152,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.12, autoprefixer@npm:^10.4.13, autoprefixer@npm:^10.4.7": +"autoprefixer@npm:^10.4.12, autoprefixer@npm:^10.4.7": version: 10.4.13 resolution: "autoprefixer@npm:10.4.13" dependencies: @@ -13224,6 +13177,15 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: ^1.0.0 + checksum: 1aa3ffbfe6578276996de660848b6e95669d9a95ad149e3dd0c0cda77db6ee1dbd9d1dd723b65b6d277b882dd0c4b91a654ae9d3cf9e1254b7e93e4908d78fd3 + languageName: node + linkType: hard + "awesome-typescript-loader@npm:^5.2.1": version: 5.2.1 resolution: "awesome-typescript-loader@npm:5.2.1" @@ -13256,13 +13218,6 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.6.2": - version: 4.6.3 - resolution: "axe-core@npm:4.6.3" - checksum: d0c46be92b9707c48b88a53cd5f471b155a2bfc8bf6beffb514ecd14e30b4863e340b5fc4f496d82a3c562048088c1f3ff5b93b9b3b026cb9c3bfacfd535da10 - languageName: node - linkType: hard - "axios@npm:*": version: 1.3.3 resolution: "axios@npm:1.3.3" @@ -13313,15 +13268,6 @@ __metadata: languageName: node linkType: hard -"axobject-query@npm:^3.1.1": - version: 3.1.1 - resolution: "axobject-query@npm:3.1.1" - dependencies: - deep-equal: ^2.0.5 - checksum: c12a5da10dc7bab75e1cda9b6a3b5fcf10eba426ddf1a17b71ef65a434ed707ede7d1c4f013ba1609e970bc8c0cddac01365080d376204314e9b294719acd8a5 - languageName: node - linkType: hard - "babel-core@npm:^7.0.0-bridge.0": version: 7.0.0-bridge.0 resolution: "babel-core@npm:7.0.0-bridge.0" @@ -13331,24 +13277,6 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^27.4.2, babel-jest@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-jest@npm:27.5.1" - dependencies: - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/babel__core": ^7.1.14 - babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^27.5.1 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - slash: ^3.0.0 - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 4e93e6e9fb996cc5f1505e924eb8e8cc7b25c294ba9629762a2715390f48af6a4c14dbb84cd9730013ac0e03267a5a9aa2fb6318c544489cda7f50f4e506def4 - languageName: node - linkType: hard - "babel-jest@npm:^29.4.3": version: 29.4.3 resolution: "babel-jest@npm:29.4.3" @@ -13382,7 +13310,7 @@ __metadata: languageName: node linkType: hard -"babel-loader@npm:^8.2.3, babel-loader@npm:^8.2.5": +"babel-loader@npm:^8.2.5": version: 8.3.0 resolution: "babel-loader@npm:8.3.0" dependencies: @@ -13440,18 +13368,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-plugin-jest-hoist@npm:27.5.1" - dependencies: - "@babel/template": ^7.3.3 - "@babel/types": ^7.3.3 - "@types/babel__core": ^7.0.0 - "@types/babel__traverse": ^7.0.6 - checksum: 709c17727aa8fd3be755d256fb514bf945a5c2ea6017f037d80280fc44ae5fe7dfeebf63d8412df53796455c2c216119d628d8cc90b099434fd819005943d058 - languageName: node - linkType: hard - "babel-plugin-jest-hoist@npm:^29.4.3": version: 29.4.3 resolution: "babel-plugin-jest-hoist@npm:29.4.3" @@ -13475,15 +13391,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-named-asset-import@npm:^0.3.8": - version: 0.3.8 - resolution: "babel-plugin-named-asset-import@npm:0.3.8" - peerDependencies: - "@babel/core": ^7.1.0 - checksum: d1e58df8cb75d91d070feea31087bc989906d3465144bde7e9f3c3690b514a90a55d3aebf3e65e76c5d4c743ecedde5f640f09f43a21fa60f1a5d413cb3f7a67 - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.3.3": version: 0.3.3 resolution: "babel-plugin-polyfill-corejs2@npm:0.3.3" @@ -13556,13 +13463,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-transform-react-remove-prop-types@npm:^0.4.24": - version: 0.4.24 - resolution: "babel-plugin-transform-react-remove-prop-types@npm:0.4.24" - checksum: 54afe56d67f0d118c9da23996f39948e502a152b3f582eb6e8f163fcb76c2c1ea4e0cdd4f9fac5c0ef050eab4fe0a950b0b74aae6237bcc0d31d8fc4cc808d1a - languageName: node - linkType: hard - "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.0.1 resolution: "babel-preset-current-node-syntax@npm:1.0.1" @@ -13585,18 +13485,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-preset-jest@npm:27.5.1" - dependencies: - babel-plugin-jest-hoist: ^27.5.1 - babel-preset-current-node-syntax: ^1.0.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 251bcea11c18fd9672fec104eadb45b43f117ceeb326fa7345ced778d4c1feab29343cd7a87a1dcfae4997d6c851a8b386d7f7213792da6e23b74f4443a8976d - languageName: node - linkType: hard - "babel-preset-jest@npm:^29.4.3": version: 29.4.3 resolution: "babel-preset-jest@npm:29.4.3" @@ -13609,30 +13497,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-react-app@npm:^10.0.1": - version: 10.0.1 - resolution: "babel-preset-react-app@npm:10.0.1" - dependencies: - "@babel/core": ^7.16.0 - "@babel/plugin-proposal-class-properties": ^7.16.0 - "@babel/plugin-proposal-decorators": ^7.16.4 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.16.0 - "@babel/plugin-proposal-numeric-separator": ^7.16.0 - "@babel/plugin-proposal-optional-chaining": ^7.16.0 - "@babel/plugin-proposal-private-methods": ^7.16.0 - "@babel/plugin-transform-flow-strip-types": ^7.16.0 - "@babel/plugin-transform-react-display-name": ^7.16.0 - "@babel/plugin-transform-runtime": ^7.16.4 - "@babel/preset-env": ^7.16.4 - "@babel/preset-react": ^7.16.0 - "@babel/preset-typescript": ^7.16.0 - "@babel/runtime": ^7.16.3 - babel-plugin-macros: ^3.1.0 - babel-plugin-transform-react-remove-prop-types: ^0.4.24 - checksum: ee66043484e67b8aef2541976388299691478ea00834f3bb14b6b3d5edcd316a5ac95351f6ec084b41ee555cad820d4194280ad38ce51884fedc7e8946a57b74 - languageName: node - linkType: hard - "bail@npm:^1.0.0": version: 1.0.5 resolution: "bail@npm:1.0.5" @@ -13731,18 +13595,6 @@ __metadata: languageName: node linkType: hard -"bfj@npm:^7.0.2": - version: 7.0.2 - resolution: "bfj@npm:7.0.2" - dependencies: - bluebird: ^3.5.5 - check-types: ^11.1.1 - hoopy: ^0.1.4 - tryer: ^1.0.1 - checksum: 0ca673234170eb3dcf00fb1d867ba274729ab05779dd19b35628c49da7adc32472b5f0bca0554ffdca15b094f9b36f16f2a8992ba8884ebd1d351d7f27abee7b - languageName: node - linkType: hard - "big-integer@npm:^1.6.44": version: 1.6.51 resolution: "big-integer@npm:1.6.51" @@ -13789,13 +13641,20 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:3.7.2, bluebird@npm:^3.5.5, bluebird@npm:^3.7.2": +"bluebird@npm:3.7.2, bluebird@npm:^3.7.2": version: 3.7.2 resolution: "bluebird@npm:3.7.2" checksum: 869417503c722e7dc54ca46715f70e15f4d9c602a423a02c825570862d12935be59ed9c7ba34a9b31f186c017c23cac6b54e35446f8353059c101da73eac22ef languageName: node linkType: hard +"blueimp-canvas-to-blob@npm:^3.29.0": + version: 3.29.0 + resolution: "blueimp-canvas-to-blob@npm:3.29.0" + checksum: 6a55b90fbe958b75f7c78ff9e7617c01254d29cc8567ea6c853cd26a52518b3dfce28635f6964130ac738ee8ff9fb9c0ca094db2ceeaa021ff0432c1985416eb + languageName: node + linkType: hard + "blueimp-md5@npm:^2.10.0": version: 2.19.0 resolution: "blueimp-md5@npm:2.19.0" @@ -13855,7 +13714,7 @@ __metadata: languageName: node linkType: hard -"boolbase@npm:^1.0.0, boolbase@npm:~1.0.0": +"boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" checksum: 3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 @@ -13965,13 +13824,6 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f - languageName: node - linkType: hard - "browserify-zlib@npm:^0.1.4": version: 0.1.4 resolution: "browserify-zlib@npm:0.1.4" @@ -14110,7 +13962,7 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.1.0, builtin-modules@npm:^3.3.0": +"builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d @@ -14140,7 +13992,7 @@ __metadata: languageName: node linkType: hard -"c8@npm:^7.13.0, c8@npm:^7.6.0": +"c8@npm:^7.6.0": version: 7.13.0 resolution: "c8@npm:7.13.0" dependencies: @@ -14244,6 +14096,19 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + set-function-length: ^1.2.1 + checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 + languageName: node + linkType: hard + "call-me-maybe@npm:^1.0.1": version: 1.0.2 resolution: "call-me-maybe@npm:1.0.2" @@ -14293,24 +14158,13 @@ __metadata: languageName: node linkType: hard -"camelcase-css@npm:2.0.1, camelcase-css@npm:^2.0.1": +"camelcase-css@npm:2.0.1": version: 2.0.1 resolution: "camelcase-css@npm:2.0.1" checksum: 1cec2b3b3dcb5026688a470b00299a8db7d904c4802845c353dbd12d9d248d3346949a814d83bfd988d4d2e5b9904c07efe76fecd195a1d4f05b543e7c0b56b1 languageName: node linkType: hard -"camelcase-keys@npm:^6.2.2": - version: 6.2.2 - resolution: "camelcase-keys@npm:6.2.2" - dependencies: - camelcase: ^5.3.1 - map-obj: ^4.0.0 - quick-lru: ^4.0.1 - checksum: 43c9af1adf840471e54c68ab3e5fe8a62719a6b7dbf4e2e86886b7b0ff96112c945736342b837bd2529ec9d1c7d1934e5653318478d98e0cf22c475c04658e2a - languageName: node - linkType: hard - "camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" @@ -14318,7 +14172,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0, camelcase@npm:^6.2.1": +"camelcase@npm:^6.2.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d @@ -14363,13 +14217,6 @@ __metadata: languageName: node linkType: hard -"case-sensitive-paths-webpack-plugin@npm:^2.4.0": - version: 2.4.0 - resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" - checksum: bcf469446eeee9ac0046e30860074ebb9aa4803aab9140e6bb72b600b23b1d70635690754be4504ce35cd99cdf05226bee8d894ba362a3f5485d5f6310fc6d02 - languageName: node - linkType: hard - "caseless@npm:~0.12.0": version: 0.12.0 resolution: "caseless@npm:0.12.0" @@ -14407,6 +14254,21 @@ __metadata: languageName: node linkType: hard +"chai@npm:^4.3.10": + version: 4.4.1 + resolution: "chai@npm:4.4.1" + dependencies: + assertion-error: ^1.1.0 + check-error: ^1.0.3 + deep-eql: ^4.1.3 + get-func-name: ^2.0.2 + loupe: ^2.3.6 + pathval: ^1.1.1 + type-detect: ^4.0.8 + checksum: 9ab84f36eb8e0b280c56c6c21ca4da5933132cd8a0c89c384f1497f77953640db0bc151edd47f81748240a9fab57b78f7d925edfeedc8e8fc98016d71f40c36e + languageName: node + linkType: hard + "chai@npm:^4.3.7": version: 4.3.7 resolution: "chai@npm:4.3.7" @@ -14473,6 +14335,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 623922e077b7d1e9dedaea6f8b9e9352921f8ae3afe739132e0e00c275971bdd331268183b2628cf4ab1727c45ea1f28d7e24ac23ce1db1eb653c414ca8a5a80 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -14480,13 +14349,6 @@ __metadata: languageName: node linkType: hard -"char-regex@npm:^2.0.0": - version: 2.0.1 - resolution: "char-regex@npm:2.0.1" - checksum: 8524c03fd7e58381dccf33babe885fe62731ae20755528b19c39945b8203479184f35247210dc9eeeef279cdbdd6511cd3182e0e1db8e4549bf2586470b7c204 - languageName: node - linkType: hard - "character-entities-legacy@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-legacy@npm:1.1.4" @@ -14529,6 +14391,15 @@ __metadata: languageName: node linkType: hard +"check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: ^2.0.2 + checksum: e2131025cf059b21080f4813e55b3c480419256914601750b0fee3bd9b2b8315b531e551ef12560419b8b6d92a3636511322752b1ce905703239e7cc451b6399 + languageName: node + linkType: hard + "check-more-types@npm:2.24.0, check-more-types@npm:^2.24.0": version: 2.24.0 resolution: "check-more-types@npm:2.24.0" @@ -14536,13 +14407,6 @@ __metadata: languageName: node linkType: hard -"check-types@npm:^11.1.1": - version: 11.2.2 - resolution: "check-types@npm:11.2.2" - checksum: 61ed60d59e3397c8cf694f20edf73d0061cd6a905754efdec2ccdceafbd390cb09717bab855f9eba921d36278f84c86fe20f7e731a384e9803bc469c09153831 - languageName: node - linkType: hard - "cheerio-select@npm:^2.1.0": version: 2.1.0 resolution: "cheerio-select@npm:2.1.0" @@ -14844,7 +14708,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^1.0.4, clsx@npm:^1.2.1": +"clsx@npm:^1.2.1": version: 1.2.1 resolution: "clsx@npm:1.2.1" checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12 @@ -14865,17 +14729,6 @@ __metadata: languageName: node linkType: hard -"coa@npm:^2.0.2": - version: 2.0.2 - resolution: "coa@npm:2.0.2" - dependencies: - "@types/q": ^1.5.1 - chalk: ^2.4.1 - q: ^1.1.2 - checksum: 44736914aac2160d3d840ed64432a90a3bb72285a0cd6a688eb5cabdf15d15a85eee0915b3f6f2a4659d5075817b1cb577340d3c9cbb47d636d59ab69f819552 - languageName: node - linkType: hard - "code-point-at@npm:^1.0.0": version: 1.1.0 resolution: "code-point-at@npm:1.1.0" @@ -14932,7 +14785,7 @@ __metadata: languageName: node linkType: hard -"color-name@npm:^1.0.0, color-name@npm:^1.1.4, color-name@npm:~1.1.4": +"color-name@npm:^1.0.0, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 @@ -15124,13 +14977,6 @@ __metadata: languageName: node linkType: hard -"common-path-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "common-path-prefix@npm:3.0.0" - checksum: fdb3c4f54e51e70d417ccd950c07f757582de800c0678ca388aedefefc84982039f346f9fd9a1252d08d2da9e9ef4019f580a1d1d3a10da031e4bb3c924c5818 - languageName: node - linkType: hard - "common-tags@npm:^1.8.0": version: 1.8.2 resolution: "common-tags@npm:1.8.2" @@ -15198,6 +15044,16 @@ __metadata: languageName: node linkType: hard +"compressorjs@npm:^1.2.1": + version: 1.2.1 + resolution: "compressorjs@npm:1.2.1" + dependencies: + blueimp-canvas-to-blob: ^3.29.0 + is-blob: ^2.1.0 + checksum: 8b25fc29b7908216f7029e807623ae9c034fb0e77a72a752686bdd255bd3b1a5cc004b6651cf7ca948c1f86f3151ac3fc00800119d17f8a248d2f0a54570c8b8 + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -15251,6 +15107,13 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.1.7": + version: 0.1.7 + resolution: "confbox@npm:0.1.7" + checksum: bde836c26f5154a348b0c0a757f8a0138929e5737e0553be3c4f07a056abca618b861aa63ac3b22d344789b56be99a1382928933e08cd500df00213bf4d8fb43 + languageName: node + linkType: hard + "config-chain@npm:^1.1.11": version: 1.1.13 resolution: "config-chain@npm:1.1.13" @@ -15275,13 +15138,6 @@ __metadata: languageName: node linkType: hard -"confusing-browser-globals@npm:^1.0.11": - version: 1.0.11 - resolution: "confusing-browser-globals@npm:1.0.11" - checksum: 3afc635abd37e566477f610e7978b15753f0e84025c25d49236f1f14d480117185516bdd40d2a2167e6bed8048641a9854964b9c067e3dcdfa6b5d0ad3c3a5ef - languageName: node - linkType: hard - "connect-history-api-fallback@npm:^2.0.0": version: 2.0.0 resolution: "connect-history-api-fallback@npm:2.0.0" @@ -15338,24 +15194,21 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-angular@npm:^5.0.11": - version: 5.0.13 - resolution: "conventional-changelog-angular@npm:5.0.13" +"conventional-changelog-angular@npm:^7.0.0": + version: 7.0.0 + resolution: "conventional-changelog-angular@npm:7.0.0" dependencies: compare-func: ^2.0.0 - q: ^1.5.1 - checksum: 6ed4972fce25a50f9f038c749cc9db501363131b0fb2efc1fccecba14e4b1c80651d0d758d4c350a609f32010c66fa343eefd49c02e79e911884be28f53f3f90 + checksum: 2478962ad7ce42878449ba3568347d704f22c5c9af1cd36916b5600734bd7f82c09712a338c649195c44e907f1b0372ce52d6cb51df643f495c89af05ad4bc48 languageName: node linkType: hard -"conventional-changelog-conventionalcommits@npm:^4.3.1": - version: 4.6.3 - resolution: "conventional-changelog-conventionalcommits@npm:4.6.3" +"conventional-changelog-conventionalcommits@npm:^7.0.2": + version: 7.0.2 + resolution: "conventional-changelog-conventionalcommits@npm:7.0.2" dependencies: compare-func: ^2.0.0 - lodash: ^4.17.15 - q: ^1.5.1 - checksum: 7b8e8a21ebb56f9aaa510e12917b7c609202072c3e71089e0a09630c37c2e8146cdb04364809839b0e3eb55f807fe84d03b2079500b37f6186d505848be5c562 + checksum: e17ac5970ae09d6e9b0c3a7edaed075b836c0c09c34c514589cbe06554f46ed525067fa8150a8467cc03b1cf9af2073e7ecf48790d4f5ea399921b1cbe313711 languageName: node linkType: hard @@ -15366,23 +15219,21 @@ __metadata: languageName: node linkType: hard -"conventional-commits-parser@npm:^3.2.2": - version: 3.2.4 - resolution: "conventional-commits-parser@npm:3.2.4" +"conventional-commits-parser@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-commits-parser@npm:5.0.0" dependencies: - JSONStream: ^1.0.4 - is-text-path: ^1.0.1 - lodash: ^4.17.15 - meow: ^8.0.0 - split2: ^3.0.0 - through2: ^4.0.0 + JSONStream: ^1.3.5 + is-text-path: ^2.0.0 + meow: ^12.0.1 + split2: ^4.0.0 bin: - conventional-commits-parser: cli.js - checksum: 1627ff203bc9586d89e47a7fe63acecf339aba74903b9114e23d28094f79d4e2d6389bf146ae561461dcba8fc42e7bc228165d2b173f15756c43f1d32bc50bfd + conventional-commits-parser: cli.mjs + checksum: bb92a0bfe41802330d2d14ddb0f912fd65dd355f1aa294e708f4891aac95c580919a70580b9f26563c24c3335baaed2ce003104394a8fa5ba61eeb3889e45df0 languageName: node linkType: hard -"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": +"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 @@ -15474,14 +15325,14 @@ __metadata: languageName: node linkType: hard -"core-js-pure@npm:^3.23.3, core-js-pure@npm:^3.25.1": +"core-js-pure@npm:^3.25.1": version: 3.28.0 resolution: "core-js-pure@npm:3.28.0" checksum: 8bef96a435783ea7e62b2bd4d6cc3d427a7bfeb053954aadabb33b5dba14a85c6297f7638bba9676a144f9cd7a5a0185a576d41d67baaae15227a4c9982a8cef languageName: node linkType: hard -"core-js@npm:^3.19.2, core-js@npm:^3.23.3": +"core-js@npm:^3.23.3": version: 3.28.0 resolution: "core-js@npm:3.28.0" checksum: 3155fd0ec16d0089106b145e9595280a4ea4bde0d7ff26aa14364cd4f1c203baf6620c3025acd284f363d08b9f21104101692766ca9a36ffeee7307bdf3e1881 @@ -15512,34 +15363,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig-typescript-loader@npm:^1.0.0": - version: 1.0.9 - resolution: "cosmiconfig-typescript-loader@npm:1.0.9" - dependencies: - cosmiconfig: ^7 - ts-node: ^10.7.0 - peerDependencies: - "@types/node": "*" - cosmiconfig: ">=7" - typescript: ">=3" - checksum: 26a0198e03e81a9e7e1a6ce880d7309fdd056c7a3a23b587253e6d1d1224154d3f9edf727d9c0310628e89752353211b75de151b705298b4d0741fa1740c661e - languageName: node - linkType: hard - -"cosmiconfig-typescript-loader@npm:^2.0.0": - version: 2.0.2 - resolution: "cosmiconfig-typescript-loader@npm:2.0.2" - dependencies: - cosmiconfig: ^7 - ts-node: ^10.8.1 - peerDependencies: - "@types/node": "*" - cosmiconfig: ">=7" - typescript: ">=3" - checksum: 0c9a777e2e3ff7594d753e5781e8c3817ce5ba493a4e69cfde698a8e231b438695248dcc62a16c661f93ada7f762ac6e24457889439c94f58c094a24aecbd982 - languageName: node - linkType: hard - "cosmiconfig-typescript-loader@npm:^4.0.0": version: 4.3.0 resolution: "cosmiconfig-typescript-loader@npm:4.3.0" @@ -15552,6 +15375,19 @@ __metadata: languageName: node linkType: hard +"cosmiconfig-typescript-loader@npm:^5.0.0": + version: 5.0.0 + resolution: "cosmiconfig-typescript-loader@npm:5.0.0" + dependencies: + jiti: ^1.19.1 + peerDependencies: + "@types/node": "*" + cosmiconfig: ">=8.2" + typescript: ">=4" + checksum: 7b614313f2cc2ecbe17270de570a511aa7c974bf14a749d7ed4f4d0f4a9ed02ee7ae87d710e294204abb00bb6bb0cca53795208bb1435815d143b43c6626ec74 + languageName: node + linkType: hard + "cosmiconfig@npm:^5.2.0": version: 5.2.1 resolution: "cosmiconfig@npm:5.2.1" @@ -15577,7 +15413,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^7, cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": +"cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" dependencies: @@ -15602,6 +15438,40 @@ __metadata: languageName: node linkType: hard +"cosmiconfig@npm:^8.1.3": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: ^3.3.0 + js-yaml: ^4.1.0 + parse-json: ^5.2.0 + path-type: ^4.0.0 + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: dc339ebea427898c9e03bf01b56ba7afbac07fc7d2a2d5a15d6e9c14de98275a9565da949375aee1809591c152c0a3877bb86dbeaf74d5bd5aaa79955ad9e7a0 + languageName: node + linkType: hard + +"cosmiconfig@npm:^9.0.0": + version: 9.0.0 + resolution: "cosmiconfig@npm:9.0.0" + dependencies: + env-paths: ^2.2.1 + import-fresh: ^3.3.0 + js-yaml: ^4.1.0 + parse-json: ^5.2.0 + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: a30c424b53d442ea0bdd24cb1b3d0d8687c8dda4a17ab6afcdc439f8964438801619cdb66e8e79f63b9caa3e6586b60d8bab9ce203e72df6c5e80179b971fe8f + languageName: node + linkType: hard + "countries-list@npm:^2.6.1": version: 2.6.1 resolution: "countries-list@npm:2.6.1" @@ -15831,19 +15701,6 @@ __metadata: languageName: node linkType: hard -"css-blank-pseudo@npm:^3.0.3": - version: 3.0.3 - resolution: "css-blank-pseudo@npm:3.0.3" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - bin: - css-blank-pseudo: dist/cli.cjs - checksum: 9be0a13885a99d8ba9e1f45ea66e801d4da75b58c1c3c516a40772fa3a93ef9952b15dcac0418acbb6c89daaae0572819647701b8e553a02972826e33d4cd67f - languageName: node - linkType: hard - "css-declaration-sorter@npm:^6.3.1": version: 6.3.1 resolution: "css-declaration-sorter@npm:6.3.1" @@ -15853,20 +15710,7 @@ __metadata: languageName: node linkType: hard -"css-has-pseudo@npm:^3.0.4": - version: 3.0.4 - resolution: "css-has-pseudo@npm:3.0.4" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - bin: - css-has-pseudo: dist/cli.cjs - checksum: 8f165d68f6621891d9fa1d874794916a52ed8847dfbec591523ad68774650cc1eae062ba08f59514666e04aeba27be72c9b211892f3a187c5ba6e287bd4260e7 - languageName: node - linkType: hard - -"css-loader@npm:^6.5.1, css-loader@npm:^6.7.1": +"css-loader@npm:^6.7.1": version: 6.7.3 resolution: "css-loader@npm:6.7.3" dependencies: @@ -15884,31 +15728,6 @@ __metadata: languageName: node linkType: hard -"css-minimizer-webpack-plugin@npm:^3.2.0": - version: 3.4.1 - resolution: "css-minimizer-webpack-plugin@npm:3.4.1" - dependencies: - cssnano: ^5.0.6 - jest-worker: ^27.0.2 - postcss: ^8.3.5 - schema-utils: ^4.0.0 - serialize-javascript: ^6.0.0 - source-map: ^0.6.1 - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - "@parcel/css": - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - checksum: 065c6c1eadb7c99267db5d04d6f3909e9968b73c4cb79ab9e4502a5fbf1a3d564cfe6f8e0bff8e4ab00d4ed233e9c3c76a4ebe0ee89150b3d9ecb064ddf1e5e9 - languageName: node - linkType: hard - "css-minimizer-webpack-plugin@npm:^4.0.0": version: 4.2.2 resolution: "css-minimizer-webpack-plugin@npm:4.2.2" @@ -15938,36 +15757,6 @@ __metadata: languageName: node linkType: hard -"css-prefers-color-scheme@npm:^6.0.3": - version: 6.0.3 - resolution: "css-prefers-color-scheme@npm:6.0.3" - peerDependencies: - postcss: ^8.4 - bin: - css-prefers-color-scheme: dist/cli.cjs - checksum: 3a2b02f0454adda68861cdcaf6a0d11f462eadf165301cba61c5ec7c5f229ac261c5baa54c377d9b811ec5f21b30d72a02bc032cdad2415b3a566f08a0c47b3a - languageName: node - linkType: hard - -"css-select-base-adapter@npm:^0.1.1": - version: 0.1.1 - resolution: "css-select-base-adapter@npm:0.1.1" - checksum: c107e9cfa53a23427e4537451a67358375e656baa3322345a982d3c2751fb3904002aae7e5d72386c59f766fe6b109d1ffb43eeab1c16f069f7a3828eb17851c - languageName: node - linkType: hard - -"css-select@npm:^2.0.0": - version: 2.1.0 - resolution: "css-select@npm:2.1.0" - dependencies: - boolbase: ^1.0.0 - css-what: ^3.2.1 - domutils: ^1.7.0 - nth-check: ^1.0.2 - checksum: 0c4099910f2411e2a9103cf92ea6a4ad738b57da75bcf73d39ef2c14a00ef36e5f16cb863211c901320618b24ace74da6333442d82995cafd5040077307de462 - languageName: node - linkType: hard - "css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" @@ -15994,16 +15783,6 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:1.0.0-alpha.37": - version: 1.0.0-alpha.37 - resolution: "css-tree@npm:1.0.0-alpha.37" - dependencies: - mdn-data: 2.0.4 - source-map: ^0.6.1 - checksum: 0e419a1388ec0fbbe92885fba4a557f9fb0e077a2a1fad629b7245bbf7b4ef5df49e6877401b952b09b9057ffe1a3dba74f6fdfbf7b2223a5a35bce27ff2307d - languageName: node - linkType: hard - "css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": version: 1.1.3 resolution: "css-tree@npm:1.1.3" @@ -16014,13 +15793,6 @@ __metadata: languageName: node linkType: hard -"css-what@npm:^3.2.1": - version: 3.4.2 - resolution: "css-what@npm:3.4.2" - checksum: 26bb5ec3ae718393d418016365c849fa14bd0de408c735dea3ddf58146b6cc54f3b336fb4afd31d95c06ca79583acbcdfec7ee93d31ff5c1a697df135b38dfeb - languageName: node - linkType: hard - "css-what@npm:^6.0.1, css-what@npm:^6.1.0": version: 6.1.0 resolution: "css-what@npm:6.1.0" @@ -16035,13 +15807,6 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^7.1.0": - version: 7.4.1 - resolution: "cssdb@npm:7.4.1" - checksum: c58803ce3e0e60af8a5a1101f365a5ea0cf1a6a5eddcd5c6fb5d92aaf187e2c11c5620185fd7096cb920c3ce087f9edb2234348a33d06433e12c1ce7fcf93197 - languageName: node - linkType: hard - "cssesc@npm:^3.0.0": version: 3.0.0 resolution: "cssesc@npm:3.0.0" @@ -16115,7 +15880,7 @@ __metadata: languageName: node linkType: hard -"cssnano@npm:^5.0.6, cssnano@npm:^5.1.12, cssnano@npm:^5.1.8": +"cssnano@npm:^5.1.12, cssnano@npm:^5.1.8": version: 5.1.15 resolution: "cssnano@npm:5.1.15" dependencies: @@ -16128,7 +15893,7 @@ __metadata: languageName: node linkType: hard -"csso@npm:^4.0.2, csso@npm:^4.2.0": +"csso@npm:^4.2.0": version: 4.2.0 resolution: "csso@npm:4.2.0" dependencies: @@ -16137,29 +15902,6 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.4.4": - version: 0.4.4 - resolution: "cssom@npm:0.4.4" - checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: ~0.3.6 - checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 - languageName: node - linkType: hard - "cssstyle@npm:^3.0.0": version: 3.0.0 resolution: "cssstyle@npm:3.0.0" @@ -16272,17 +16014,10 @@ __metadata: languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: d240b7757544460ae0586a341a53110ab0a61126570ef2d8c731e3eab3f0cb6e488e2609e6a69b46727635de49be20b071688698744417ff1b6c1d7ccd03e0de - languageName: node - linkType: hard - -"dargs@npm:^7.0.0": - version: 7.0.0 - resolution: "dargs@npm:7.0.0" - checksum: b8f1e3cba59c42e1f13a114ad4848c3fc1cf7470f633ee9e9f1043762429bc97d91ae31b826fb135eefde203a3fdb20deb0c0a0222ac29d937b8046085d668d1 +"dargs@npm:^8.0.0": + version: 8.1.0 + resolution: "dargs@npm:8.1.0" + checksum: 33f1b8f5f08e72c8a28355a87c0e1a9b6a0fec99252ecd9cf4735e65dd5f2e19747c860251ed5747b38e7204c7915fd7a7146aee5aaef5882c69169aae8b1d09 languageName: node linkType: hard @@ -16302,17 +16037,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^2.0.0": - version: 2.0.0 - resolution: "data-urls@npm:2.0.0" - dependencies: - abab: ^2.0.3 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.0.0 - checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 - languageName: node - linkType: hard - "data-urls@npm:^4.0.0": version: 4.0.0 resolution: "data-urls@npm:4.0.0" @@ -16324,6 +16048,39 @@ __metadata: languageName: node linkType: hard +"data-view-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-buffer@npm:1.0.1" + dependencies: + call-bind: ^1.0.6 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: ce24348f3c6231223b216da92e7e6a57a12b4af81a23f27eff8feabdf06acfb16c00639c8b705ca4d167f761cfc756e27e5f065d0a1f840c10b907fdaf8b988c + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-length@npm:1.0.1" + dependencies: + call-bind: ^1.0.7 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: dbb3200edcb7c1ef0d68979834f81d64fd8cab2f7691b3a4c6b97e67f22182f3ec2c8602efd7b76997b55af6ff8bce485829c1feda4fa2165a6b71fb7baa4269 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "data-view-byte-offset@npm:1.0.0" + dependencies: + call-bind: ^1.0.6 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: 7f0bf8720b7414ca719eedf1846aeec392f2054d7af707c5dc9a753cc77eb8625f067fa901e0b5127e831f9da9056138d894b9c2be79c27a21f6db5824f009c2 + languageName: node + linkType: hard + "date-fns@npm:^1.27.2": version: 1.30.1 resolution: "date-fns@npm:1.30.1" @@ -16417,24 +16174,14 @@ __metadata: languageName: node linkType: hard -"decamelize-keys@npm:^1.1.0": - version: 1.1.1 - resolution: "decamelize-keys@npm:1.1.1" - dependencies: - decamelize: ^1.1.0 - map-obj: ^1.0.0 - checksum: fc645fe20b7bda2680bbf9481a3477257a7f9304b1691036092b97ab04c0ab53e3bf9fcc2d2ae382536568e402ec41fb11e1d4c3836a9abe2d813dd9ef4311e0 - languageName: node - linkType: hard - -"decamelize@npm:^1.1.0, decamelize@npm:^1.2.0": +"decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa languageName: node linkType: hard -"decimal.js@npm:^10.2.1, decimal.js@npm:^10.4.3": +"decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae @@ -16473,7 +16220,7 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^4.1.2": +"deep-eql@npm:^4.1.2, deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" dependencies: @@ -16528,7 +16275,14 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.0.0, deepmerge@npm:^4.2.2": +"deepmerge@npm:^4.0.0": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": version: 4.3.0 resolution: "deepmerge@npm:4.3.0" checksum: c7980eb5c5be040b371f1df0d566473875cfabed9f672ccc177b81ba8eee5686ce2478de2f1d0076391621cbe729e5eacda397179a59ef0f68901849647db126 @@ -16593,6 +16347,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + gopd: ^1.0.1 + checksum: 8068ee6cab694d409ac25936eb861eea704b7763f7f342adbdfe337fc27c78d7ae0eff2364b2917b58c508d723c7a074326d068eef2e45c4edcd85cf94d0313b + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -16617,7 +16382,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.2.0": +"define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -16656,13 +16421,6 @@ __metadata: languageName: node linkType: hard -"defined@npm:^1.0.0": - version: 1.0.1 - resolution: "defined@npm:1.0.1" - checksum: b1a852300bdb57f297289b55eafdd0c517afaa3ec8190e78fce91b9d8d0c0369d4505ecbdacfd3d98372e664f4a267d9bd793938d4a8c76209c9d9516fbe2101 - languageName: node - linkType: hard - "defu@npm:^6.1.2": version: 6.1.2 resolution: "defu@npm:6.1.2" @@ -16832,19 +16590,6 @@ __metadata: languageName: node linkType: hard -"detective@npm:^5.2.1": - version: 5.2.1 - resolution: "detective@npm:5.2.1" - dependencies: - acorn-node: ^1.8.2 - defined: ^1.0.0 - minimist: ^1.2.6 - bin: - detective: bin/detective.js - checksum: dc4601bbc6be850edb3c2dab7a0eaf5a6169a15ad201679c66d40ea1986df816eeaecd590047f15b0780285f3eeea13b82dca0d4c52a47e744a571e326a72dc9 - languageName: node - linkType: hard - "dexie@npm:^3.2.4": version: 3.2.4 resolution: "dexie@npm:3.2.4" @@ -16862,20 +16607,13 @@ __metadata: languageName: node linkType: hard -"didyoumean@npm:^1.2.1, didyoumean@npm:^1.2.2": +"didyoumean@npm:^1.2.1": version: 1.2.2 resolution: "didyoumean@npm:1.2.2" checksum: d5d98719d58b3c2fa59663c4c42ba9716f1fd01245c31d5fce31915bd3aa26e6aac149788e007358f778ebbd68a2256eb5973e8ca6f221df221ba060115acf2e languageName: node linkType: hard -"diff-sequences@npm:^27.5.1": - version: 27.5.1 - resolution: "diff-sequences@npm:27.5.1" - checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca - languageName: node - linkType: hard - "diff-sequences@npm:^29.4.3": version: 29.4.3 resolution: "diff-sequences@npm:29.4.3" @@ -16883,6 +16621,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: f4914158e1f2276343d98ff5b31fc004e7304f5470bf0f1adb2ac6955d85a531a6458d33e87667f98f6ae52ebd3891bb47d420bb48a5bd8b7a27ee25b20e33aa + languageName: node + linkType: hard + "diff@npm:^4.0.1": version: 4.0.2 resolution: "diff@npm:4.0.2" @@ -16906,13 +16651,6 @@ __metadata: languageName: node linkType: hard -"dlv@npm:^1.1.3": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: d7381bca22ed11933a1ccf376db7a94bee2c57aa61e490f680124fa2d1cd27e94eba641d9f45be57caab4f9a6579de0983466f620a2cd6230d7ec93312105ae7 - languageName: node - linkType: hard - "dns-equal@npm:^1.0.0": version: 1.0.0 resolution: "dns-equal@npm:1.0.0" @@ -16977,6 +16715,13 @@ __metadata: languageName: node linkType: hard +"dom-accessibility-api@npm:^0.6.3": + version: 0.6.3 + resolution: "dom-accessibility-api@npm:0.6.3" + checksum: c325b5144bb406df23f4affecffc117dbaec9af03daad9ee6b510c5be647b14d28ef0a4ea5ca06d696d8ab40bb777e5fed98b985976fdef9d8790178fa1d573f + languageName: node + linkType: hard + "dom-converter@npm:^0.2.0": version: 0.2.0 resolution: "dom-converter@npm:0.2.0" @@ -16986,7 +16731,7 @@ __metadata: languageName: node linkType: hard -"dom-helpers@npm:^5.0.1, dom-helpers@npm:^5.1.3": +"dom-helpers@npm:^5.0.1": version: 5.2.1 resolution: "dom-helpers@npm:5.2.1" dependencies: @@ -16996,16 +16741,6 @@ __metadata: languageName: node linkType: hard -"dom-serializer@npm:0": - version: 0.2.2 - resolution: "dom-serializer@npm:0.2.2" - dependencies: - domelementtype: ^2.0.1 - entities: ^2.0.0 - checksum: 376344893e4feccab649a14ca1a46473e9961f40fe62479ea692d4fee4d9df1c00ca8654811a79c1ca7b020096987e1ca4fb4d7f8bae32c1db800a680a0e5d5e - languageName: node - linkType: hard - "dom-serializer@npm:^1.0.1": version: 1.4.1 resolution: "dom-serializer@npm:1.4.1" @@ -17028,13 +16763,6 @@ __metadata: languageName: node linkType: hard -"domelementtype@npm:1": - version: 1.3.1 - resolution: "domelementtype@npm:1.3.1" - checksum: 7893da40218ae2106ec6ffc146b17f203487a52f5228b032ea7aa470e41dfe03e1bd762d0ee0139e792195efda765434b04b43cddcf63207b098f6ae44b36ad6 - languageName: node - linkType: hard - "domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": version: 2.3.0 resolution: "domelementtype@npm:2.3.0" @@ -17042,15 +16770,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^2.0.1": - version: 2.0.1 - resolution: "domexception@npm:2.0.1" - dependencies: - webidl-conversions: ^5.0.0 - checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 - languageName: node - linkType: hard - "domexception@npm:^4.0.0": version: 4.0.0 resolution: "domexception@npm:4.0.0" @@ -17078,16 +16797,6 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^1.7.0": - version: 1.7.0 - resolution: "domutils@npm:1.7.0" - dependencies: - dom-serializer: 0 - domelementtype: 1 - checksum: f60a725b1f73c1ae82f4894b691601ecc6ecb68320d87923ac3633137627c7865725af813ae5d188ad3954283853bcf46779eb50304ec5d5354044569fcefd2b - languageName: node - linkType: hard - "domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -17138,6 +16847,13 @@ __metadata: languageName: node linkType: hard +"dotenv-expand@npm:5.1.0": + version: 5.1.0 + resolution: "dotenv-expand@npm:5.1.0" + checksum: 8017675b7f254384915d55f9eb6388e577cf0a1231a28d54b0ca03b782be9501b0ac90ac57338636d395fa59051e6209e9b44b8ddf169ce6076dffb5dea227d3 + languageName: node + linkType: hard + "dotenv-expand@npm:^10.0.0": version: 10.0.0 resolution: "dotenv-expand@npm:10.0.0" @@ -17145,10 +16861,10 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:^5.1.0": - version: 5.1.0 - resolution: "dotenv-expand@npm:5.1.0" - checksum: 8017675b7f254384915d55f9eb6388e577cf0a1231a28d54b0ca03b782be9501b0ac90ac57338636d395fa59051e6209e9b44b8ddf169ce6076dffb5dea227d3 +"dotenv@npm:8.2.0": + version: 8.2.0 + resolution: "dotenv@npm:8.2.0" + checksum: ad4c8e0df3e24b4811c8e93377d048a10a9b213dcd9f062483b4a2d3168f08f10ec9c618c23f5639060d230ccdb174c08761479e9baa29610aa978e1ee66df76 languageName: node linkType: hard @@ -17237,7 +16953,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.6, ejs@npm:^3.1.8": +"ejs@npm:^3.1.8": version: 3.1.9 resolution: "ejs@npm:3.1.9" dependencies: @@ -17276,13 +16992,6 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.10.2": - version: 0.10.2 - resolution: "emittery@npm:0.10.2" - checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac - languageName: node - linkType: hard - "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -17290,13 +16999,6 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.8.1": - version: 0.8.1 - resolution: "emittery@npm:0.8.1" - checksum: 2457e8c7b0688bb006126f2c025b2655abe682f66b184954122a8a065b5277f9813d49d627896a10b076b81c513ec5f491fd9c14fbd42c04b95ca3c9f3c365ee - languageName: node - linkType: hard - "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -17437,7 +17139,7 @@ __metadata: languageName: node linkType: hard -"env-paths@npm:^2.2.0": +"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e @@ -17480,16 +17182,7 @@ __metadata: languageName: node linkType: hard -"error-stack-parser@npm:^2.0.6": - version: 2.1.4 - resolution: "error-stack-parser@npm:2.1.4" - dependencies: - stackframe: ^1.3.4 - checksum: 3b916d2d14c6682f287c8bfa28e14672f47eafe832701080e420e7cdbaebb2c50293868256a95706ac2330fe078cf5664713158b49bc30d7a5f2ac229ded0e18 - languageName: node - linkType: hard - -"es-abstract@npm:^1.17.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": version: 1.21.1 resolution: "es-abstract@npm:1.21.1" dependencies: @@ -17577,10 +17270,73 @@ __metadata: languageName: node linkType: hard -"es-array-method-boxes-properly@npm:^1.0.0": +"es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": + version: 1.23.3 + resolution: "es-abstract@npm:1.23.3" + dependencies: + array-buffer-byte-length: ^1.0.1 + arraybuffer.prototype.slice: ^1.0.3 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.7 + data-view-buffer: ^1.0.1 + data-view-byte-length: ^1.0.1 + data-view-byte-offset: ^1.0.0 + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + es-set-tostringtag: ^2.0.3 + es-to-primitive: ^1.2.1 + function.prototype.name: ^1.1.6 + get-intrinsic: ^1.2.4 + get-symbol-description: ^1.0.2 + globalthis: ^1.0.3 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + has-proto: ^1.0.3 + has-symbols: ^1.0.3 + hasown: ^2.0.2 + internal-slot: ^1.0.7 + is-array-buffer: ^3.0.4 + is-callable: ^1.2.7 + is-data-view: ^1.0.1 + is-negative-zero: ^2.0.3 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.3 + is-string: ^1.0.7 + is-typed-array: ^1.1.13 + is-weakref: ^1.0.2 + object-inspect: ^1.13.1 + object-keys: ^1.1.1 + object.assign: ^4.1.5 + regexp.prototype.flags: ^1.5.2 + safe-array-concat: ^1.1.2 + safe-regex-test: ^1.0.3 + string.prototype.trim: ^1.2.9 + string.prototype.trimend: ^1.0.8 + string.prototype.trimstart: ^1.0.8 + typed-array-buffer: ^1.0.2 + typed-array-byte-length: ^1.0.1 + typed-array-byte-offset: ^1.0.2 + typed-array-length: ^1.0.6 + unbox-primitive: ^1.0.2 + which-typed-array: ^1.1.15 + checksum: f840cf161224252512f9527306b57117192696571e07920f777cb893454e32999206198b4f075516112af6459daca282826d1735c450528470356d09eff3a9ae + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0": version: 1.0.0 - resolution: "es-array-method-boxes-properly@npm:1.0.0" - checksum: 2537fcd1cecf187083890bc6f5236d3a26bf39237433587e5bf63392e88faae929dbba78ff0120681a3f6f81c23fe3816122982c160d63b38c95c830b633b826 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: ^1.2.4 + checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.1.0, es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 languageName: node linkType: hard @@ -17601,6 +17357,28 @@ __metadata: languageName: node linkType: hard +"es-iterator-helpers@npm:^1.0.19": + version: 1.0.19 + resolution: "es-iterator-helpers@npm:1.0.19" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.3 + es-errors: ^1.3.0 + es-set-tostringtag: ^2.0.3 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + globalthis: ^1.0.3 + has-property-descriptors: ^1.0.2 + has-proto: ^1.0.3 + has-symbols: ^1.0.3 + internal-slot: ^1.0.7 + iterator.prototype: ^1.1.2 + safe-array-concat: ^1.1.2 + checksum: 7ae112b88359fbaf4b9d7d1d1358ae57c5138768c57ba3a8fb930393662653b0512bfd7917c15890d1471577fb012fee8b73b4465e59b331739e6ee94f961683 + languageName: node + linkType: hard + "es-module-lexer@npm:^0.9.0, es-module-lexer@npm:^0.9.3": version: 0.9.3 resolution: "es-module-lexer@npm:0.9.3" @@ -17608,6 +17386,15 @@ __metadata: languageName: node linkType: hard +"es-object-atoms@npm:^1.0.0": + version: 1.0.0 + resolution: "es-object-atoms@npm:1.0.0" + dependencies: + es-errors: ^1.3.0 + checksum: 26f0ff78ab93b63394e8403c353842b2272836968de4eafe97656adfb8a7c84b9099bf0fe96ed58f4a4cddc860f6e34c77f91649a58a5daa4a9c40b902744e3c + languageName: node + linkType: hard + "es-set-tostringtag@npm:^2.0.1": version: 2.0.1 resolution: "es-set-tostringtag@npm:2.0.1" @@ -17619,6 +17406,17 @@ __metadata: languageName: node linkType: hard +"es-set-tostringtag@npm:^2.0.3": + version: 2.0.3 + resolution: "es-set-tostringtag@npm:2.0.3" + dependencies: + get-intrinsic: ^1.2.4 + has-tostringtag: ^1.0.2 + hasown: ^2.0.1 + checksum: 7227fa48a41c0ce83e0377b11130d324ac797390688135b8da5c28994c0165be8b252e15cd1de41e1325e5a5412511586960213e88f9ab4a5e7d028895db5129 + languageName: node + linkType: hard + "es-shim-unscopables@npm:^1.0.0": version: 1.0.0 resolution: "es-shim-unscopables@npm:1.0.0" @@ -17628,6 +17426,15 @@ __metadata: languageName: node linkType: hard +"es-shim-unscopables@npm:^1.0.2": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: ^2.0.0 + checksum: 432bd527c62065da09ed1d37a3f8e623c423683285e6188108286f4a1e8e164a5bcbfbc0051557c7d14633cd2a41ce24c7048e6bbb66a985413fd32f1be72626 + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -17861,6 +17668,86 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.20.1": + version: 0.20.2 + resolution: "esbuild@npm:0.20.2" + dependencies: + "@esbuild/aix-ppc64": 0.20.2 + "@esbuild/android-arm": 0.20.2 + "@esbuild/android-arm64": 0.20.2 + "@esbuild/android-x64": 0.20.2 + "@esbuild/darwin-arm64": 0.20.2 + "@esbuild/darwin-x64": 0.20.2 + "@esbuild/freebsd-arm64": 0.20.2 + "@esbuild/freebsd-x64": 0.20.2 + "@esbuild/linux-arm": 0.20.2 + "@esbuild/linux-arm64": 0.20.2 + "@esbuild/linux-ia32": 0.20.2 + "@esbuild/linux-loong64": 0.20.2 + "@esbuild/linux-mips64el": 0.20.2 + "@esbuild/linux-ppc64": 0.20.2 + "@esbuild/linux-riscv64": 0.20.2 + "@esbuild/linux-s390x": 0.20.2 + "@esbuild/linux-x64": 0.20.2 + "@esbuild/netbsd-x64": 0.20.2 + "@esbuild/openbsd-x64": 0.20.2 + "@esbuild/sunos-x64": 0.20.2 + "@esbuild/win32-arm64": 0.20.2 + "@esbuild/win32-ia32": 0.20.2 + "@esbuild/win32-x64": 0.20.2 + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: bc88050fc1ca5c1bd03648f9979e514bdefb956a63aa3974373bb7b9cbac0b3aac9b9da1b5bdca0b3490e39d6b451c72815dbd6b7d7f978c91fbe9c9e9aa4e4c + languageName: node + linkType: hard + "escalade@npm:^3.0.2, escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -17977,30 +17864,6 @@ __metadata: languageName: node linkType: hard -"eslint-config-react-app@npm:^7.0.1": - version: 7.0.1 - resolution: "eslint-config-react-app@npm:7.0.1" - dependencies: - "@babel/core": ^7.16.0 - "@babel/eslint-parser": ^7.16.3 - "@rushstack/eslint-patch": ^1.1.0 - "@typescript-eslint/eslint-plugin": ^5.5.0 - "@typescript-eslint/parser": ^5.5.0 - babel-preset-react-app: ^10.0.1 - confusing-browser-globals: ^1.0.11 - eslint-plugin-flowtype: ^8.0.3 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jest: ^25.3.0 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.27.1 - eslint-plugin-react-hooks: ^4.3.0 - eslint-plugin-testing-library: ^5.0.1 - peerDependencies: - eslint: ^8.0.0 - checksum: a67e0821809e62308d6e419753fa2acfc7cd353659fab08cf34735f59c6c66910c0b6fda0471c4ec0d712ce762d65efc6431b39569f8d575e2d9bdfc384e0824 - languageName: node - linkType: hard - "eslint-import-resolver-node@npm:^0.3.7": version: 0.3.7 resolution: "eslint-import-resolver-node@npm:0.3.7" @@ -18076,45 +17939,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-flowtype@npm:^8.0.3": - version: 8.0.3 - resolution: "eslint-plugin-flowtype@npm:8.0.3" - dependencies: - lodash: ^4.17.21 - string-natural-compare: ^3.0.1 - peerDependencies: - "@babel/plugin-syntax-flow": ^7.14.5 - "@babel/plugin-transform-react-jsx": ^7.14.9 - eslint: ^8.1.0 - checksum: 30e63c5357b0b5571f39afed51e59c140084f4aa53c106b1fd04f26da42b268908466daa6020b92943e71409bdaee1c67202515ed9012404d027cc92cb03cefa - languageName: node - linkType: hard - -"eslint-plugin-import@npm:^2.25.3": - version: 2.27.5 - resolution: "eslint-plugin-import@npm:2.27.5" - dependencies: - array-includes: ^3.1.6 - array.prototype.flat: ^1.3.1 - array.prototype.flatmap: ^1.3.1 - debug: ^3.2.7 - doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.7 - eslint-module-utils: ^2.7.4 - has: ^1.0.3 - is-core-module: ^2.11.0 - is-glob: ^4.0.3 - minimatch: ^3.1.2 - object.values: ^1.1.6 - resolve: ^1.22.1 - semver: ^6.3.0 - tsconfig-paths: ^3.14.1 - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: f500571a380167e25d72a4d925ef9a7aae8899eada57653e5f3051ec3d3c16d08271fcefe41a30a9a2f4fefc232f066253673ee4ea77b30dba65ae173dade85d - languageName: node - linkType: hard - "eslint-plugin-import@npm:^2.28.1": version: 2.28.1 resolution: "eslint-plugin-import@npm:2.28.1" @@ -18169,67 +17993,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jest@npm:^25.3.0": - version: 25.7.0 - resolution: "eslint-plugin-jest@npm:25.7.0" - dependencies: - "@typescript-eslint/experimental-utils": ^5.0.0 - peerDependencies: - "@typescript-eslint/eslint-plugin": ^4.0.0 || ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - jest: - optional: true - checksum: fc6da96131f4cbf33d15ef911ec8e600ccd71deb97d73c0ca340427cef7b01ff41a797e2e7d1e351abf97321a46ed0c0acff5ee8eeedac94961dd6dad1f718a9 - languageName: node - linkType: hard - -"eslint-plugin-jest@npm:^27.4.2": - version: 27.4.2 - resolution: "eslint-plugin-jest@npm:27.4.2" - dependencies: - "@typescript-eslint/utils": ^5.10.0 - peerDependencies: - "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: "*" - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - jest: - optional: true - checksum: 99a8301ae00c37da97866b8b13c89a077716d2c653b26bc417d242e7300a43237c0017fd488c43966fa38585f19050facdbbc71d03ca36a1ce6f2ba930a9143e - languageName: node - linkType: hard - -"eslint-plugin-jsx-a11y@npm:^6.5.1": - version: 6.7.1 - resolution: "eslint-plugin-jsx-a11y@npm:6.7.1" - dependencies: - "@babel/runtime": ^7.20.7 - aria-query: ^5.1.3 - array-includes: ^3.1.6 - array.prototype.flatmap: ^1.3.1 - ast-types-flow: ^0.0.7 - axe-core: ^4.6.2 - axobject-query: ^3.1.1 - damerau-levenshtein: ^1.0.8 - emoji-regex: ^9.2.2 - has: ^1.0.3 - jsx-ast-utils: ^3.3.3 - language-tags: =1.0.5 - minimatch: ^3.1.2 - object.entries: ^1.1.6 - object.fromentries: ^2.0.6 - semver: ^6.3.0 - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: f166dd5fe7257c7b891c6692e6a3ede6f237a14043ae3d97581daf318fc5833ddc6b4871aa34ab7656187430170500f6d806895747ea17ecdf8231a666c3c2fd - languageName: node - linkType: hard - "eslint-plugin-mocha@npm:^10.2.0": version: 10.2.0 resolution: "eslint-plugin-mocha@npm:10.2.0" @@ -18270,37 +18033,31 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.3.0": - version: 4.6.0 - resolution: "eslint-plugin-react-hooks@npm:4.6.0" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 23001801f14c1d16bf0a837ca7970d9dd94e7b560384b41db378b49b6e32dc43d6e2790de1bd737a652a86f81a08d6a91f402525061b47719328f586a57e86c3 - languageName: node - linkType: hard - -"eslint-plugin-react@npm:^7.27.1": - version: 7.32.2 - resolution: "eslint-plugin-react@npm:7.32.2" +"eslint-plugin-react@npm:^7.34.2": + version: 7.34.2 + resolution: "eslint-plugin-react@npm:7.34.2" dependencies: - array-includes: ^3.1.6 - array.prototype.flatmap: ^1.3.1 - array.prototype.tosorted: ^1.1.1 + array-includes: ^3.1.8 + array.prototype.findlast: ^1.2.5 + array.prototype.flatmap: ^1.3.2 + array.prototype.toreversed: ^1.1.2 + array.prototype.tosorted: ^1.1.3 doctrine: ^2.1.0 + es-iterator-helpers: ^1.0.19 estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 - object.entries: ^1.1.6 - object.fromentries: ^2.0.6 - object.hasown: ^1.1.2 - object.values: ^1.1.6 + object.entries: ^1.1.8 + object.fromentries: ^2.0.8 + object.hasown: ^1.1.4 + object.values: ^1.2.0 prop-types: ^15.8.1 - resolve: ^2.0.0-next.4 - semver: ^6.3.0 - string.prototype.matchall: ^4.0.8 + resolve: ^2.0.0-next.5 + semver: ^6.3.1 + string.prototype.matchall: ^4.0.11 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 2232b3b8945aa50b7773919c15cd96892acf35d2f82503667a79e2f55def90f728ed4f0e496f0f157acbe1bd4397c5615b676ae7428fe84488a544ca53feb944 + checksum: aed331239f3a64fcd884380534ece4b8716f1eca4899c8636d04306879e6b4e7339e28e427bdd571d372b78b713025e0767e5f5b5486a8d19bff82616ebe8959 languageName: node linkType: hard @@ -18336,17 +18093,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-testing-library@npm:^5.0.1": - version: 5.10.2 - resolution: "eslint-plugin-testing-library@npm:5.10.2" - dependencies: - "@typescript-eslint/utils": ^5.43.0 - peerDependencies: - eslint: ^7.5.0 || ^8.0.0 - checksum: 3b2b330e62f4a6dc438050006f0d0c97605f6861828b153271dc6d2fafb1e60f4e86fbaa8166c7afd452e3b6cad39413738fd4c8e2eb2def1915c678154676da - languageName: node - linkType: hard - "eslint-plugin-unicorn@npm:^48.0.1": version: 48.0.1 resolution: "eslint-plugin-unicorn@npm:48.0.1" @@ -18372,6 +18118,23 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-vitest@npm:^0.5.4": + version: 0.5.4 + resolution: "eslint-plugin-vitest@npm:0.5.4" + dependencies: + "@typescript-eslint/utils": ^7.7.1 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + vitest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + vitest: + optional: true + checksum: 5995bccf9184914428070ef6d69e310a1e4b44e2b5ac4842433f034543e1fff175ae32221c31405e4335bb20cea34b0b3494354f83b0d3f4d3199e0f1e16ac16 + languageName: node + linkType: hard + "eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -18382,16 +18145,6 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.1.1": - version: 7.1.1 - resolution: "eslint-scope@npm:7.1.1" - dependencies: - esrecurse: ^4.3.0 - estraverse: ^5.2.0 - checksum: 9f6e974ab2db641ca8ab13508c405b7b859e72afe9f254e8131ff154d2f40c99ad4545ce326fd9fde3212ff29707102562a4834f1c48617b35d98c71a97fbf3e - languageName: node - linkType: hard - "eslint-scope@npm:^7.2.2": version: 7.2.2 resolution: "eslint-scope@npm:7.2.2" @@ -18413,7 +18166,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^2.0.0, eslint-visitor-keys@npm:^2.1.0": +"eslint-visitor-keys@npm:^2.0.0": version: 2.1.0 resolution: "eslint-visitor-keys@npm:2.1.0" checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d @@ -18434,71 +18187,6 @@ __metadata: languageName: node linkType: hard -"eslint-webpack-plugin@npm:^3.1.1, eslint-webpack-plugin@npm:^3.2.0": - version: 3.2.0 - resolution: "eslint-webpack-plugin@npm:3.2.0" - dependencies: - "@types/eslint": ^7.29.0 || ^8.4.1 - jest-worker: ^28.0.2 - micromatch: ^4.0.5 - normalize-path: ^3.0.0 - schema-utils: ^4.0.0 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - webpack: ^5.0.0 - checksum: 095034c35e773fdb21ec7e597ae1f8a6899679c290db29d8568ca94619e8c7f4971f0f9edccc8a965322ab8af9286c87205985a38f4fdcf17654aee7cd8bb7b5 - languageName: node - linkType: hard - -"eslint@npm:^8.3.0": - version: 8.34.0 - resolution: "eslint@npm:8.34.0" - dependencies: - "@eslint/eslintrc": ^1.4.1 - "@humanwhocodes/config-array": ^0.11.8 - "@humanwhocodes/module-importer": ^1.0.1 - "@nodelib/fs.walk": ^1.2.8 - ajv: ^6.10.0 - chalk: ^4.0.0 - cross-spawn: ^7.0.2 - debug: ^4.3.2 - doctrine: ^3.0.0 - escape-string-regexp: ^4.0.0 - eslint-scope: ^7.1.1 - eslint-utils: ^3.0.0 - eslint-visitor-keys: ^3.3.0 - espree: ^9.4.0 - esquery: ^1.4.0 - esutils: ^2.0.2 - fast-deep-equal: ^3.1.3 - file-entry-cache: ^6.0.1 - find-up: ^5.0.0 - glob-parent: ^6.0.2 - globals: ^13.19.0 - grapheme-splitter: ^1.0.4 - ignore: ^5.2.0 - import-fresh: ^3.0.0 - imurmurhash: ^0.1.4 - is-glob: ^4.0.0 - is-path-inside: ^3.0.3 - js-sdsl: ^4.1.4 - js-yaml: ^4.1.0 - json-stable-stringify-without-jsonify: ^1.0.1 - levn: ^0.4.1 - lodash.merge: ^4.6.2 - minimatch: ^3.1.2 - natural-compare: ^1.4.0 - optionator: ^0.9.1 - regexpp: ^3.2.0 - strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 - text-table: ^0.2.0 - bin: - eslint: bin/eslint.js - checksum: 4e13e9eb05ac2248efbb6acae0b2325091235d5c47ba91a4775c7d6760778cbcd358a773ebd42f4629d2ad89e27c02f5d66eb1f737d75d9f5fc411454f83b2e5 - languageName: node - linkType: hard - "eslint@npm:^8.50.0": version: 8.50.0 resolution: "eslint@npm:8.50.0" @@ -18546,7 +18234,7 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.0.0, espree@npm:^9.4.0": +"espree@npm:^9.0.0": version: 9.4.1 resolution: "espree@npm:9.4.1" dependencies: @@ -18578,15 +18266,6 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0": - version: 1.4.2 - resolution: "esquery@npm:1.4.2" - dependencies: - estraverse: ^5.1.0 - checksum: 2f4ad89c5aafaca61cc2c15e256190f0d6deb4791cae6552d3cb4b1eb8867958cdf27a56aaa3272ff17435e3eaa19ee0d4129fac336ca6373d7354d7b5da7966 - languageName: node - linkType: hard - "esquery@npm:^1.4.2, esquery@npm:^1.5.0": version: 1.5.0 resolution: "esquery@npm:1.5.0" @@ -18630,13 +18309,6 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^1.0.1": - version: 1.0.1 - resolution: "estree-walker@npm:1.0.1" - checksum: 7e70da539691f6db03a08e7ce94f394ce2eef4180e136d251af299d41f92fb2d28ebcd9a6e393e3728d7970aeb5358705ddf7209d52fbcb2dd4693f95dcf925f - languageName: node - linkType: hard - "estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -18644,6 +18316,15 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": ^1.0.0 + checksum: a65728d5727b71de172c5df323385755a16c0fdab8234dc756c3854cfee343261ddfbb72a809a5660fac8c75d960bb3e21aa898c2d7e9b19bb298482ca58a3af + languageName: node + linkType: hard + "esutils@npm:^2.0.2, esutils@npm:^2.0.3": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -18711,6 +18392,13 @@ __metadata: languageName: node linkType: hard +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 543d6c858ab699303c3c32e0f0f47fc64d360bf73c3daf0ac0b5079710e340d6fe9f15487f94e66c629f5f82cd1a8678d692f3dbb6f6fcd1190e1b97fcad36f8 + languageName: node + linkType: hard + "eventid@npm:^2.0.0": version: 2.0.1 resolution: "eventid@npm:2.0.1" @@ -18800,6 +18488,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^8.0.1 + human-signals: ^5.0.0 + is-stream: ^3.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^5.1.0 + onetime: ^6.0.0 + signal-exit: ^4.1.0 + strip-final-newline: ^3.0.0 + checksum: cac1bf86589d1d9b73bdc5dda65c52012d1a9619c44c526891956745f7b366ca2603d29fe3f7460bacc2b48c6eab5d6a4f7afe0534b31473d3708d1265545e1f + languageName: node + linkType: hard + "executable@npm:^4.1.1": version: 4.1.1 resolution: "executable@npm:4.1.1" @@ -18881,18 +18586,6 @@ __metadata: languageName: node linkType: hard -"expect@npm:^27.5.1": - version: 27.5.1 - resolution: "expect@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - jest-get-type: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - checksum: b2c66beb52de53ef1872165aace40224e722bca3c2274c54cfa74b6d617d55cf0ccdbf36783ccd64dbea501b280098ed33fd0b207d4f15bc03cd3c7a24364a6a - languageName: node - linkType: hard - "expect@npm:^29.0.0, expect@npm:^29.4.3": version: 29.4.3 resolution: "expect@npm:29.4.3" @@ -19500,6 +19193,17 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^7.0.0": + version: 7.0.0 + resolution: "find-up@npm:7.0.0" + dependencies: + locate-path: ^7.2.0 + path-exists: ^5.0.0 + unicorn-magic: ^0.1.0 + checksum: e1c63860f9c04355ab2aa19f4be51c1a6e14a7d8cfbd8090e2be6da2a36a76995907cb45337a4b582b19b164388f71d6ab118869dc7bffb2093f2c089ecb95ee + languageName: node + linkType: hard + "findup-sync@npm:^4.0.0": version: 4.0.0 resolution: "findup-sync@npm:4.0.0" @@ -20054,6 +19758,16 @@ __metadata: languageName: node linkType: hard +"fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: latest + checksum: 11e6ea6fea15e42461fc55b4b0e4a0a3c654faa567f1877dbd353f39156f69def97a69936d1746619d656c4b93de2238bf731f6085a03a50cabf287c9d024317 + conditions: os=darwin + languageName: node + linkType: hard + "fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" @@ -20063,6 +19777,15 @@ __metadata: languageName: node linkType: hard +"fsevents@patch:fsevents@~2.3.3#~builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + "function-bind@npm:^1.1.1": version: 1.1.1 resolution: "function-bind@npm:1.1.1" @@ -20315,6 +20038,13 @@ __metadata: languageName: node linkType: hard +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b + languageName: node + linkType: hard + "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": version: 1.2.0 resolution: "get-intrinsic@npm:1.2.0" @@ -20338,6 +20068,19 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: ^1.3.0 + function-bind: ^1.1.2 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + hasown: ^2.0.0 + checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 + languageName: node + linkType: hard + "get-nonce@npm:^1.0.0": version: 1.0.1 resolution: "get-nonce@npm:1.0.1" @@ -20405,6 +20148,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 01e3d3cf29e1393f05f44d2f00445c5f9ec3d1c49e8179b31795484b9c117f4c695e5e07b88b50785d5c8248a788c85d9913a79266fc77e3ef11f78f10f1b974 + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -20415,6 +20165,17 @@ __metadata: languageName: node linkType: hard +"get-symbol-description@npm:^1.0.2": + version: 1.0.2 + resolution: "get-symbol-description@npm:1.0.2" + dependencies: + call-bind: ^1.0.5 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + checksum: e1cb53bc211f9dbe9691a4f97a46837a553c4e7caadd0488dc24ac694db8a390b93edd412b48dcdd0b4bbb4c595de1709effc75fc87c0839deedc6968f5bd973 + languageName: node + linkType: hard + "get-tsconfig@npm:^4.5.0": version: 4.7.2 resolution: "get-tsconfig@npm:4.7.2" @@ -20478,18 +20239,16 @@ __metadata: languageName: node linkType: hard -"git-raw-commits@npm:^2.0.0": - version: 2.0.11 - resolution: "git-raw-commits@npm:2.0.11" +"git-raw-commits@npm:^4.0.0": + version: 4.0.0 + resolution: "git-raw-commits@npm:4.0.0" dependencies: - dargs: ^7.0.0 - lodash: ^4.17.15 - meow: ^8.0.0 - split2: ^3.0.0 - through2: ^4.0.0 + dargs: ^8.0.0 + meow: ^12.0.1 + split2: ^4.0.0 bin: - git-raw-commits: cli.js - checksum: c178af43633684106179793b6e3473e1d2bb50bb41d04e2e285ea4eef342ca4090fee6bc8a737552fde879d22346c90de5c49f18c719a0f38d4c934f258a0f79 + git-raw-commits: cli.mjs + checksum: 95546f4afcb33cf00ff638f7fec55ad61d4d927447737900e1f6fcbbdbb341b3f150908424cc62acb6d9faaea6f1e8f55d0697b899f0589af9d2733afb20abfb languageName: node linkType: hard @@ -20622,6 +20381,15 @@ __metadata: languageName: node linkType: hard +"global-directory@npm:^4.0.1": + version: 4.0.1 + resolution: "global-directory@npm:4.0.1" + dependencies: + ini: 4.1.1 + checksum: 5b4df24438a4e5f21e43fbdd9e54f5e12bb48dce01a0a83b415d8052ce91be2d3a97e0c8f98a535e69649b2190036155e9f0f7d3c62f9318f31bdc3fd4f235f5 + languageName: node + linkType: hard + "global-dirs@npm:^0.1.1": version: 0.1.1 resolution: "global-dirs@npm:0.1.1" @@ -20772,6 +20540,13 @@ __metadata: languageName: node linkType: hard +"globrex@npm:^0.1.2": + version: 0.1.2 + resolution: "globrex@npm:0.1.2" + checksum: adca162494a176ce9ecf4dd232f7b802956bb1966b37f60c15e49d2e7d961b66c60826366dc2649093cad5a0d69970cfa8875bd1695b5a1a2f33dcd2aa88da3c + languageName: node + linkType: hard + "google-auth-library@npm:^6.0.0, google-auth-library@npm:^6.1.1": version: 6.1.6 resolution: "google-auth-library@npm:6.1.6" @@ -20963,13 +20738,6 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -21116,20 +20884,6 @@ __metadata: languageName: node linkType: hard -"hard-rejection@npm:^2.1.0": - version: 2.1.0 - resolution: "hard-rejection@npm:2.1.0" - checksum: 7baaf80a0c7fff4ca79687b4060113f1529589852152fa935e6787a2bc96211e784ad4588fb3048136ff8ffc9dfcf3ae385314a5b24db32de20bea0d1597f9dc - languageName: node - linkType: hard - -"harmony-reflect@npm:^1.4.6": - version: 1.6.2 - resolution: "harmony-reflect@npm:1.6.2" - checksum: 2e5bae414cd2bfae5476147f9935dc69ee9b9a413206994dcb94c5b3208d4555da3d4313aff6fd14bd9991c1e3ef69cdda5c8fac1eb1d7afc064925839339b8c - languageName: node - linkType: hard - "has-ansi@npm:^2.0.0": version: 2.0.0 resolution: "has-ansi@npm:2.0.0" @@ -21176,6 +20930,15 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: ^1.0.0 + checksum: fcbb246ea2838058be39887935231c6d5788babed499d0e9d0cc5737494c48aba4fe17ba1449e0d0fbbb1e36175442faa37f9c427ae357d6ccb1d895fbcd3de3 + languageName: node + linkType: hard + "has-proto@npm:^1.0.1": version: 1.0.1 resolution: "has-proto@npm:1.0.1" @@ -21183,7 +20946,14 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": +"has-proto@npm:^1.0.3": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: fe7c3d50b33f50f3933a04413ed1f69441d21d2d2944f81036276d30635cad9279f6b43bc8f32036c31ebdfcf6e731150f46c1907ad90c669ffe9b066c3ba5c4 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 @@ -21199,6 +20969,15 @@ __metadata: languageName: node linkType: hard +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: ^1.0.3 + checksum: 999d60bb753ad714356b2c6c87b7fb74f32463b8426e159397da4bde5bca7e598ab1073f4d8d4deafac297f2eb311484cd177af242776bf05f0d11565680468d + languageName: node + linkType: hard + "has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -21270,6 +21049,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.1, hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: ^1.1.2 + checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db + languageName: node + linkType: hard + "hast-to-hyperscript@npm:^9.0.0": version: 9.0.1 resolution: "hast-to-hyperscript@npm:9.0.1" @@ -21419,13 +21207,6 @@ __metadata: languageName: node linkType: hard -"hoopy@npm:^0.1.4": - version: 0.1.4 - resolution: "hoopy@npm:0.1.4" - checksum: cfa60c7684c5e1ee4efe26e167bc54b73f839ffb59d1d44a5c4bf891e26b4f5bcc666555219a98fec95508fea4eda3a79540c53c05cc79afc1f66f9a238f4d9e - languageName: node - linkType: hard - "hosted-git-info@npm:^2.1.4": version: 2.8.9 resolution: "hosted-git-info@npm:2.8.9" @@ -21433,15 +21214,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^4.0.1": - version: 4.1.0 - resolution: "hosted-git-info@npm:4.1.0" - dependencies: - lru-cache: ^6.0.0 - checksum: c3f87b3c2f7eb8c2748c8f49c0c2517c9a95f35d26f4bf54b2a8cba05d2e668f3753548b6ea366b18ec8dadb4e12066e19fa382a01496b0ffa0497eb23cbe461 - languageName: node - linkType: hard - "hpack.js@npm:^2.1.6": version: 2.1.6 resolution: "hpack.js@npm:2.1.6" @@ -21454,15 +21226,6 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^2.0.1": - version: 2.0.1 - resolution: "html-encoding-sniffer@npm:2.0.1" - dependencies: - whatwg-encoding: ^1.0.5 - checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba - languageName: node - linkType: hard - "html-encoding-sniffer@npm:^3.0.0": version: 3.0.0 resolution: "html-encoding-sniffer@npm:3.0.0" @@ -21472,7 +21235,7 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.1.0, html-entities@npm:^2.3.2": +"html-entities@npm:^2.3.2": version: 2.3.3 resolution: "html-entities@npm:2.3.3" checksum: 92521501da8aa5f66fee27f0f022d6e9ceae62667dae93aa6a2f636afa71ad530b7fb24a18d4d6c124c9885970cac5f8a52dbf1731741161002816ae43f98196 @@ -21602,17 +21365,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": 1 - agent-base: 6 - debug: 4 - checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -21736,6 +21488,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 6504560d5ed91444f16bea3bd9dfc66110a339442084e56c3e7fa7bbdf3f406426d6563d662bdce67064b165eac31eeabfc0857ed170aaa612cf14ec9f9a464c + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -21745,12 +21504,12 @@ __metadata: languageName: node linkType: hard -"husky@npm:^7.0.4": - version: 7.0.4 - resolution: "husky@npm:7.0.4" +"husky@npm:^9.0.11": + version: 9.0.11 + resolution: "husky@npm:9.0.11" bin: - husky: lib/bin.js - checksum: c6ec4af63da2c9522da8674a20ad9b48362cc92704896cc8a58c6a2a39d797feb2b806f93fbd83a6d653fbdceb2c3b6e0b602c6b2e8565206ffc2882ef7db9e9 + husky: bin.mjs + checksum: 1aebc3334dc7ac6288ff5e1fb72cfb447cfa474e72cf7ba692e8c5698c573ab725c28c6a5088c9f8e6aca5f47d40fa7261beffbc07a4d307ca21656dc4571f07 languageName: node linkType: hard @@ -21763,7 +21522,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -21802,15 +21561,6 @@ __metadata: languageName: node linkType: hard -"identity-obj-proxy@npm:^3.0.0": - version: 3.0.0 - resolution: "identity-obj-proxy@npm:3.0.0" - dependencies: - harmony-reflect: ^1.4.6 - checksum: 97559f8ea2aeaa1a880d279d8c49550dce01148321e00a2102cda5ddf9ce622fa1d7f3efc7bed63458af78889de888fdaebaf31c816312298bb3fdd0ef8aaf2c - languageName: node - linkType: hard - "ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -21896,6 +21646,13 @@ __metadata: languageName: node linkType: hard +"import-meta-resolve@npm:^4.0.0": + version: 4.1.0 + resolution: "import-meta-resolve@npm:4.1.0" + checksum: 6497af27bf3ee384ad4efd4e0ec3facf9a114863f35a7b35f248659f32faa5e1ae07baa74d603069f35734ae3718a78b3f66926f98dc9a62e261e7df37854a62 + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -21962,6 +21719,13 @@ __metadata: languageName: node linkType: hard +"ini@npm:4.1.1": + version: 4.1.1 + resolution: "ini@npm:4.1.1" + checksum: 0e5909554074fbc31824fa5415b0f604de4a665514c96a897a77bf77353a7ad4743927321270e9d0610a9d510ccd1f3cd77422f7cc80d8f4542dbce75476fb6d + languageName: node + linkType: hard + "ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" @@ -22030,7 +21794,7 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": +"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": version: 1.0.5 resolution: "internal-slot@npm:1.0.5" dependencies: @@ -22041,6 +21805,17 @@ __metadata: languageName: node linkType: hard +"internal-slot@npm:^1.0.7": + version: 1.0.7 + resolution: "internal-slot@npm:1.0.7" + dependencies: + es-errors: ^1.3.0 + hasown: ^2.0.0 + side-channel: ^1.0.4 + checksum: cadc5eea5d7d9bc2342e93aae9f31f04c196afebb11bde97448327049f492cd7081e18623ae71388aac9cd237b692ca3a105be9c68ac39c1dec679d7409e33eb + languageName: node + linkType: hard + "interpret@npm:^1.0.0": version: 1.4.0 resolution: "interpret@npm:1.4.0" @@ -22173,6 +21948,16 @@ __metadata: languageName: node linkType: hard +"is-array-buffer@npm:^3.0.4": + version: 3.0.4 + resolution: "is-array-buffer@npm:3.0.4" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.1 + checksum: e4e3e6ef0ff2239e75371d221f74bc3c26a03564a22efb39f6bb02609b598917ddeecef4e8c877df2a25888f247a98198959842a5e73236bc7f22cabdf6351a7 + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -22187,6 +21972,15 @@ __metadata: languageName: node linkType: hard +"is-async-function@npm:^2.0.0": + version: 2.0.0 + resolution: "is-async-function@npm:2.0.0" + dependencies: + has-tostringtag: ^1.0.0 + checksum: e3471d95e6c014bf37cad8a93f2f4b6aac962178e0a5041e8903147166964fdc1c5c1d2ef87e86d77322c370ca18f2ea004fa7420581fa747bcaf7c223069dbd + languageName: node + linkType: hard + "is-bigint@npm:^1.0.1": version: 1.0.4 resolution: "is-bigint@npm:1.0.4" @@ -22205,6 +21999,13 @@ __metadata: languageName: node linkType: hard +"is-blob@npm:^2.1.0": + version: 2.1.0 + resolution: "is-blob@npm:2.1.0" + checksum: ce24917bf50a52736e37702a14bc729a0e1eab6bf61ac0b8e6ee86caf33d73eba297131736f8e54615732d08168859493ba7ced4fc840bb5b7c2ae21a5de6861 + languageName: node + linkType: hard + "is-boolean-object@npm:^1.1.0": version: 1.1.2 resolution: "is-boolean-object@npm:1.1.2" @@ -22267,7 +22068,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.9.0": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0": version: 2.12.0 resolution: "is-core-module@npm:2.12.0" dependencies: @@ -22312,6 +22113,15 @@ __metadata: languageName: node linkType: hard +"is-data-view@npm:^1.0.1": + version: 1.0.1 + resolution: "is-data-view@npm:1.0.1" + dependencies: + is-typed-array: ^1.1.13 + checksum: 4ba4562ac2b2ec005fefe48269d6bd0152785458cd253c746154ffb8a8ab506a29d0cfb3b74af87513843776a88e4981ae25c89457bf640a33748eab1a7216b5 + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" @@ -22405,6 +22215,15 @@ __metadata: languageName: node linkType: hard +"is-finalizationregistry@npm:^1.0.2": + version: 1.0.2 + resolution: "is-finalizationregistry@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 4f243a8e06228cd45bdab8608d2cb7abfc20f6f0189c8ac21ea8d603f1f196eabd531ce0bb8e08cbab047e9845ef2c191a3761c9a17ad5cabf8b35499c4ad35d + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^1.0.0": version: 1.0.0 resolution: "is-fullwidth-code-point@npm:1.0.0" @@ -22435,7 +22254,7 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.7": +"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" dependencies: @@ -22509,13 +22328,6 @@ __metadata: languageName: node linkType: hard -"is-module@npm:^1.0.0": - version: 1.0.0 - resolution: "is-module@npm:1.0.0" - checksum: 8cd5390730c7976fb4e8546dd0b38865ee6f7bacfa08dfbb2cc07219606755f0b01709d9361e01f13009bbbd8099fa2927a8ed665118a6105d66e40f1b838c3f - languageName: node - linkType: hard - "is-nan@npm:^1.2.1": version: 1.3.2 resolution: "is-nan@npm:1.3.2" @@ -22533,6 +22345,13 @@ __metadata: languageName: node linkType: hard +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: c1e6b23d2070c0539d7b36022d5a94407132411d01aba39ec549af824231f3804b1aea90b5e4e58e807a65d23ceb538ed6e355ce76b267bdd86edb757ffcbdcd + languageName: node + linkType: hard + "is-npm@npm:^5.0.0": version: 5.0.0 resolution: "is-npm@npm:5.0.0" @@ -22627,13 +22446,6 @@ __metadata: languageName: node linkType: hard -"is-plain-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "is-plain-obj@npm:1.1.0" - checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 - languageName: node - linkType: hard - "is-plain-obj@npm:^2.0.0": version: 2.1.0 resolution: "is-plain-obj@npm:2.1.0" @@ -22732,6 +22544,15 @@ __metadata: languageName: node linkType: hard +"is-shared-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "is-shared-array-buffer@npm:1.0.3" + dependencies: + call-bind: ^1.0.7 + checksum: a4fff602c309e64ccaa83b859255a43bb011145a42d3f56f67d9268b55bc7e6d98a5981a1d834186ad3105d6739d21547083fe7259c76c0468483fc538e716d8 + languageName: node + linkType: hard + "is-stream-ended@npm:^0.1.4": version: 0.1.4 resolution: "is-stream-ended@npm:0.1.4" @@ -22778,12 +22599,12 @@ __metadata: languageName: node linkType: hard -"is-text-path@npm:^1.0.1": - version: 1.0.1 - resolution: "is-text-path@npm:1.0.1" +"is-text-path@npm:^2.0.0": + version: 2.0.0 + resolution: "is-text-path@npm:2.0.0" dependencies: - text-extensions: ^1.0.0 - checksum: fb5d78752c22b3f73a7c9540768f765ffcfa38c9e421e2b9af869565307fa1ae5e3d3a2ba016a43549742856846566d327da406e94a5846ec838a288b1704fd2 + text-extensions: ^2.0.0 + checksum: 3a8725fc7c0d4c7741a97993bc2fecc09a0963660394d3ee76145274366c98ad57c6791d20d4ef829835f573b1137265051c05ecd65fbe72f69bb9ab9e3babbd languageName: node linkType: hard @@ -22809,6 +22630,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.13": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: ^1.1.14 + checksum: 150f9ada183a61554c91e1c4290086d2c100b0dff45f60b028519be72a8db964da403c48760723bf5253979b8dffe7b544246e0e5351dcd05c5fdb1dcc1dc0f0 + languageName: node + linkType: hard + "is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -22986,6 +22816,13 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 2367407a8d13982d8f7a859a35e7f8dd5d8f75aae4bb5484ede3a9ea1b426dc245aff28b976a2af48ee759fdd9be374ce2bd2669b644f31e76c5f46a2e29a831 + languageName: node + linkType: hard + "istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": version: 5.2.1 resolution: "istanbul-lib-instrument@npm:5.2.1" @@ -23010,6 +22847,17 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: ^3.0.0 + make-dir: ^4.0.0 + supports-color: ^7.1.0 + checksum: fd17a1b879e7faf9bb1dc8f80b2a16e9f5b7b8498fe6ed580a618c34df0bfe53d2abd35bf8a0a00e628fb7405462576427c7df20bbe4148d19c14b431c974b21 + languageName: node + linkType: hard + "istanbul-lib-source-maps@npm:^4.0.0": version: 4.0.1 resolution: "istanbul-lib-source-maps@npm:4.0.1" @@ -23021,6 +22869,17 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-source-maps@npm:^5.0.4": + version: 5.0.4 + resolution: "istanbul-lib-source-maps@npm:5.0.4" + dependencies: + "@jridgewell/trace-mapping": ^0.3.23 + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + checksum: f34550c75b957312787eaa86a6c115b269f090905c0128f8acdb553a8d9b6562581be0e7c0b68247d97172fdfd6445517cbe46651f984453cce3c517b2e931ad + languageName: node + linkType: hard + "istanbul-reports@npm:^3.1.3, istanbul-reports@npm:^3.1.4": version: 3.1.5 resolution: "istanbul-reports@npm:3.1.5" @@ -23031,6 +22890,29 @@ __metadata: languageName: node linkType: hard +"istanbul-reports@npm:^3.1.6": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: 2072db6e07bfbb4d0eb30e2700250636182398c1af811aea5032acb219d2080f7586923c09fa194029efd6b92361afb3dcbe1ebcc3ee6651d13340f7c6c4ed95 + languageName: node + linkType: hard + +"iterator.prototype@npm:^1.1.2": + version: 1.1.2 + resolution: "iterator.prototype@npm:1.1.2" + dependencies: + define-properties: ^1.2.1 + get-intrinsic: ^1.2.1 + has-symbols: ^1.0.3 + reflect.getprototypeof: ^1.0.4 + set-function-name: ^2.0.1 + checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 + languageName: node + linkType: hard + "jackspeak@npm:^2.0.3": version: 2.3.3 resolution: "jackspeak@npm:2.3.3" @@ -23071,17 +22953,6 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-changed-files@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - execa: ^5.0.0 - throat: ^6.0.1 - checksum: 95e9dc74c3ca688ef85cfeab270f43f8902721a6c8ade6ac2459459a77890c85977f537d6fb809056deaa6d9c3f075fa7d2699ff5f3bf7d3fda17c3760b79b15 - languageName: node - linkType: hard - "jest-changed-files@npm:^29.4.3": version: 29.4.3 resolution: "jest-changed-files@npm:29.4.3" @@ -23092,33 +22963,6 @@ __metadata: languageName: node linkType: hard -"jest-circus@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-circus@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - co: ^4.6.0 - dedent: ^0.7.0 - expect: ^27.5.1 - is-generator-fn: ^2.0.0 - jest-each: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - slash: ^3.0.0 - stack-utils: ^2.0.3 - throat: ^6.0.1 - checksum: 6192dccbccb3a6acfa361cbb97bdbabe94864ccf3d885932cfd41f19534329d40698078cf9be1489415e8234255d6ea9f9aff5396b79ad842a6fca6e6fc08fd0 - languageName: node - linkType: hard - "jest-circus@npm:^29.4.3": version: 29.4.3 resolution: "jest-circus@npm:29.4.3" @@ -23146,33 +22990,6 @@ __metadata: languageName: node linkType: hard -"jest-cli@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-cli@npm:27.5.1" - dependencies: - "@jest/core": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - import-local: ^3.0.2 - jest-config: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - prompts: ^2.0.1 - yargs: ^16.2.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 6c0a69fb48e500241409e09ff743ed72bc6578d7769e2c994724e7ef1e5587f6c1f85dc429e93b98ae38a365222993ee70f0acc2199358992120900984f349e5 - languageName: node - linkType: hard - "jest-cli@npm:^29.2.2": version: 29.4.3 resolution: "jest-cli@npm:29.4.3" @@ -23200,43 +23017,6 @@ __metadata: languageName: node linkType: hard -"jest-config@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-config@npm:27.5.1" - dependencies: - "@babel/core": ^7.8.0 - "@jest/test-sequencer": ^27.5.1 - "@jest/types": ^27.5.1 - babel-jest: ^27.5.1 - chalk: ^4.0.0 - ci-info: ^3.2.0 - deepmerge: ^4.2.2 - glob: ^7.1.1 - graceful-fs: ^4.2.9 - jest-circus: ^27.5.1 - jest-environment-jsdom: ^27.5.1 - jest-environment-node: ^27.5.1 - jest-get-type: ^27.5.1 - jest-jasmine2: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-runner: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - micromatch: ^4.0.4 - parse-json: ^5.2.0 - pretty-format: ^27.5.1 - slash: ^3.0.0 - strip-json-comments: ^3.1.1 - peerDependencies: - ts-node: ">=9.0.0" - peerDependenciesMeta: - ts-node: - optional: true - checksum: 1188fd46c0ed78cbe3175eb9ad6712ccf74a74be33d9f0d748e147c107f0889f8b701fbff1567f31836ae18597dacdc43d6a8fc30dd34ade6c9229cc6c7cb82d - languageName: node - linkType: hard - "jest-config@npm:^29.4.3": version: 29.4.3 resolution: "jest-config@npm:29.4.3" @@ -23275,18 +23055,6 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-diff@npm:27.5.1" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 - languageName: node - linkType: hard - "jest-diff@npm:^29.4.3": version: 29.4.3 resolution: "jest-diff@npm:29.4.3" @@ -23299,15 +23067,6 @@ __metadata: languageName: node linkType: hard -"jest-docblock@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-docblock@npm:27.5.1" - dependencies: - detect-newline: ^3.0.0 - checksum: c0fed6d55b229d8bffdd8d03f121dd1a3be77c88f50552d374f9e1ea3bde57bf6bea017a0add04628d98abcb1bfb48b456438eeca8a74ef0053f4dae3b95d29c - languageName: node - linkType: hard - "jest-docblock@npm:^29.4.3": version: 29.4.3 resolution: "jest-docblock@npm:29.4.3" @@ -23317,19 +23076,6 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-each@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - jest-get-type: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - checksum: b5a6d8730fd938982569c9e0b42bdf3c242f97b957ed8155a6473b5f7b540970f8685524e7f53963dc1805319f4b6602abfc56605590ca19d55bd7a87e467e63 - languageName: node - linkType: hard - "jest-each@npm:^29.4.3": version: 29.4.3 resolution: "jest-each@npm:29.4.3" @@ -23343,35 +23089,6 @@ __metadata: languageName: node linkType: hard -"jest-environment-jsdom@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-environment-jsdom@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - jsdom: ^16.6.0 - checksum: bc104aef7d7530d0740402aa84ac812138b6d1e51fe58adecce679f82b99340ddab73e5ec68fa079f33f50c9ddec9728fc9f0ddcca2ad6f0b351eed2762cc555 - languageName: node - linkType: hard - -"jest-environment-node@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-environment-node@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - checksum: 0f988330c4f3eec092e3fb37ea753b0c6f702e83cd8f4d770af9c2bf964a70bc45fbd34ec6fdb6d71ce98a778d9f54afd673e63f222e4667fff289e8069dba39 - languageName: node - linkType: hard - "jest-environment-node@npm:^29.4.3": version: 29.4.3 resolution: "jest-environment-node@npm:29.4.3" @@ -23386,13 +23103,6 @@ __metadata: languageName: node linkType: hard -"jest-get-type@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-get-type@npm:27.5.1" - checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 - languageName: node - linkType: hard - "jest-get-type@npm:^29.4.3": version: 29.4.3 resolution: "jest-get-type@npm:29.4.3" @@ -23400,30 +23110,6 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-haste-map@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/graceful-fs": ^4.1.2 - "@types/node": "*" - anymatch: ^3.0.3 - fb-watchman: ^2.0.0 - fsevents: ^2.3.2 - graceful-fs: ^4.2.9 - jest-regex-util: ^27.5.1 - jest-serializer: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 - micromatch: ^4.0.4 - walker: ^1.0.7 - dependenciesMeta: - fsevents: - optional: true - checksum: e092a1412829a9254b4725531ee72926de530f77fda7b0d9ea18008fb7623c16f72e772d8e93be71cac9e591b2c6843a669610887dd2c89bd9eb528856e3ab47 - languageName: node - linkType: hard - "jest-haste-map@npm:^29.4.3, jest-haste-map@npm:^29.5.0": version: 29.5.0 resolution: "jest-haste-map@npm:29.5.0" @@ -23447,53 +23133,6 @@ __metadata: languageName: node linkType: hard -"jest-jasmine2@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-jasmine2@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/source-map": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - co: ^4.6.0 - expect: ^27.5.1 - is-generator-fn: ^2.0.0 - jest-each: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - throat: ^6.0.1 - checksum: b716adf253ceb73db661936153394ab90d7f3a8ba56d6189b7cd4df8e4e2a4153b4e63ebb5d36e29ceb0f4c211d5a6f36ab7048c6abbd881c8646567e2ab8e6d - languageName: node - linkType: hard - -"jest-junit@npm:^16.0.0": - version: 16.0.0 - resolution: "jest-junit@npm:16.0.0" - dependencies: - mkdirp: ^1.0.4 - strip-ansi: ^6.0.1 - uuid: ^8.3.2 - xml: ^1.0.1 - checksum: 412aa4bfeec4254a9b34f417fda79107c7cbd295e56ffeb299ac9c977545910fbabe57c91c6cd1f12b700d4a1f60f79872b0075003f02da87d463e30fc2d9d78 - languageName: node - linkType: hard - -"jest-leak-detector@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-leak-detector@npm:27.5.1" - dependencies: - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: 5c9689060960567ddaf16c570d87afa760a461885765d2c71ef4f4857bbc3af1482c34e3cce88e50beefde1bf35e33530b020480752057a7e3dbb1ca0bae359f - languageName: node - linkType: hard - "jest-leak-detector@npm:^29.4.3": version: 29.4.3 resolution: "jest-leak-detector@npm:29.4.3" @@ -23504,18 +23143,6 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^27.0.0, jest-matcher-utils@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-matcher-utils@npm:27.5.1" - dependencies: - chalk: ^4.0.0 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a - languageName: node - linkType: hard - "jest-matcher-utils@npm:^29.4.3": version: 29.4.3 resolution: "jest-matcher-utils@npm:29.4.3" @@ -23528,40 +23155,6 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-message-util@npm:27.5.1" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^27.5.1 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^27.5.1 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: eb6d637d1411c71646de578c49826b6da8e33dd293e501967011de9d1916d53d845afbfb52a5b661ff1c495be7c13f751c48c7f30781fd94fbd64842e8195796 - languageName: node - linkType: hard - -"jest-message-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-message-util@npm:28.1.3" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^28.1.3 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^28.1.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 1f266854166dcc6900d75a88b54a25225a2f3710d463063ff1c99021569045c35c7d58557b25447a17eb3a65ce763b2f9b25550248b468a9d4657db365f39e96 - languageName: node - linkType: hard - "jest-message-util@npm:^29.4.3": version: 29.4.3 resolution: "jest-message-util@npm:29.4.3" @@ -23579,16 +23172,6 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-mock@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/node": "*" - checksum: f5b5904bb1741b4a1687a5f492535b7b1758dc26534c72a5423305f8711292e96a601dec966df81bb313269fb52d47227e29f9c2e08324d79529172f67311be0 - languageName: node - linkType: hard - "jest-mock@npm:^29.4.3": version: 29.4.3 resolution: "jest-mock@npm:29.4.3" @@ -23612,20 +23195,6 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-regex-util@npm:27.5.1" - checksum: d45ca7a9543616a34f7f3079337439cf07566e677a096472baa2810e274b9808b76767c97b0a4029b8a5b82b9d256dee28ef9ad4138b2b9e5933f6fac106c418 - languageName: node - linkType: hard - -"jest-regex-util@npm:^28.0.0": - version: 28.0.2 - resolution: "jest-regex-util@npm:28.0.2" - checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add - languageName: node - linkType: hard - "jest-regex-util@npm:^29.4.3": version: 29.4.3 resolution: "jest-regex-util@npm:29.4.3" @@ -23633,17 +23202,6 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-resolve-dependencies@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - jest-regex-util: ^27.5.1 - jest-snapshot: ^27.5.1 - checksum: c67af97afad1da88f5530317c732bbd1262d1225f6cd7f4e4740a5db48f90ab0bd8564738ac70d1a43934894f9aef62205c1b8f8ee89e5c7a737e6a121ee4c25 - languageName: node - linkType: hard - "jest-resolve-dependencies@npm:^29.4.3": version: 29.4.3 resolution: "jest-resolve-dependencies@npm:29.4.3" @@ -23654,24 +23212,6 @@ __metadata: languageName: node linkType: hard -"jest-resolve@npm:^27.4.2, jest-resolve@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-resolve@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-pnp-resolver: ^1.2.2 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - resolve: ^1.20.0 - resolve.exports: ^1.1.0 - slash: ^3.0.0 - checksum: 735830e7265b20a348029738680bb2f6e37f80ecea86cda869a4c318ba3a45d39c7a3a873a22f7f746d86258c50ead6e7f501de043e201c095d7ba628a1c440f - languageName: node - linkType: hard - "jest-resolve@npm:^29.4.3": version: 29.4.3 resolution: "jest-resolve@npm:29.4.3" @@ -23689,35 +23229,6 @@ __metadata: languageName: node linkType: hard -"jest-runner@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-runner@npm:27.5.1" - dependencies: - "@jest/console": ^27.5.1 - "@jest/environment": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - emittery: ^0.8.1 - graceful-fs: ^4.2.9 - jest-docblock: ^27.5.1 - jest-environment-jsdom: ^27.5.1 - jest-environment-node: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-leak-detector: ^27.5.1 - jest-message-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-runtime: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 - source-map-support: ^0.5.6 - throat: ^6.0.1 - checksum: 5bbe6cf847dd322b3332ec9d6977b54f91bd5f72ff620bc1a0192f0f129deda8aa7ca74c98922187a7aa87d8e0ce4f6c50e99a7ccb2a310bf4d94be2e0c3ce8e - languageName: node - linkType: hard - "jest-runner@npm:^29.4.3": version: 29.4.3 resolution: "jest-runner@npm:29.4.3" @@ -23747,36 +23258,6 @@ __metadata: languageName: node linkType: hard -"jest-runtime@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-runtime@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/globals": ^27.5.1 - "@jest/source-map": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - cjs-module-lexer: ^1.0.0 - collect-v8-coverage: ^1.0.0 - execa: ^5.0.0 - glob: ^7.1.3 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-message-util: ^27.5.1 - jest-mock: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - slash: ^3.0.0 - strip-bom: ^4.0.0 - checksum: 929e3df0c53dab43f831f2af4e2996b22aa8cb2d6d483919d6b0426cbc100098fd5b777b998c6568b77f8c4d860b2e83127514292ff61416064f5ef926492386 - languageName: node - linkType: hard - "jest-runtime@npm:^29.4.3": version: 29.4.3 resolution: "jest-runtime@npm:29.4.3" @@ -23807,46 +23288,6 @@ __metadata: languageName: node linkType: hard -"jest-serializer@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-serializer@npm:27.5.1" - dependencies: - "@types/node": "*" - graceful-fs: ^4.2.9 - checksum: 803e03a552278610edc6753c0dd9fa5bb5cd3ca47414a7b2918106efb62b79fd5e9ae785d0a21f12a299fa599fea8acc1fa6dd41283328cee43962cf7df9bb44 - languageName: node - linkType: hard - -"jest-snapshot@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-snapshot@npm:27.5.1" - dependencies: - "@babel/core": ^7.7.2 - "@babel/generator": ^7.7.2 - "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 - "@babel/types": ^7.0.0 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/babel__traverse": ^7.0.4 - "@types/prettier": ^2.1.5 - babel-preset-current-node-syntax: ^1.0.0 - chalk: ^4.0.0 - expect: ^27.5.1 - graceful-fs: ^4.2.9 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-util: ^27.5.1 - natural-compare: ^1.4.0 - pretty-format: ^27.5.1 - semver: ^7.3.2 - checksum: a5cfadf0d21cd76063925d1434bc076443ed6d87847d0e248f0b245f11db3d98ff13e45cc03b15404027dabecd712d925f47b6eae4f64986f688640a7d362514 - languageName: node - linkType: hard - "jest-snapshot@npm:^29.4.3": version: 29.4.3 resolution: "jest-snapshot@npm:29.4.3" @@ -23879,34 +23320,6 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-util@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: ac8d122f6daf7a035dcea156641fd3701aeba245417c40836a77e35b3341b9c02ddc5d904cfcd4ddbaa00ab854da76d3b911870cafdcdbaff90ea471de26c7d7 - languageName: node - linkType: hard - -"jest-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-util@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: fd6459742c941f070223f25e38a2ac0719aad92561591e9fb2a50d602a5d19d754750b79b4074327a42b00055662b95da3b006542ceb8b54309da44d4a62e721 - languageName: node - linkType: hard - "jest-util@npm:^29.0.0, jest-util@npm:^29.4.3, jest-util@npm:^29.5.0": version: 29.5.0 resolution: "jest-util@npm:29.5.0" @@ -23921,20 +23334,6 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-validate@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - camelcase: ^6.2.0 - chalk: ^4.0.0 - jest-get-type: ^27.5.1 - leven: ^3.1.0 - pretty-format: ^27.5.1 - checksum: 82e870f8ee7e4fb949652711b1567f05ae31c54be346b0899e8353e5c20fad7692b511905b37966945e90af8dc0383eb41a74f3ffefb16140ea4f9164d841412 - languageName: node - linkType: hard - "jest-validate@npm:^29.4.3": version: 29.4.3 resolution: "jest-validate@npm:29.4.3" @@ -23949,54 +23348,6 @@ __metadata: languageName: node linkType: hard -"jest-watch-typeahead@npm:^1.0.0": - version: 1.1.0 - resolution: "jest-watch-typeahead@npm:1.1.0" - dependencies: - ansi-escapes: ^4.3.1 - chalk: ^4.0.0 - jest-regex-util: ^28.0.0 - jest-watcher: ^28.0.0 - slash: ^4.0.0 - string-length: ^5.0.1 - strip-ansi: ^7.0.1 - peerDependencies: - jest: ^27.0.0 || ^28.0.0 - checksum: 59b0a494ac01e3801c9ec586de3209153eedb024b981e25443111c5703711d23b67ebc71b072986c1758307e0bfb5bf1c92bd323f73f58602d6f4f609dce6a0c - languageName: node - linkType: hard - -"jest-watcher@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-watcher@npm:27.5.1" - dependencies: - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - jest-util: ^27.5.1 - string-length: ^4.0.1 - checksum: 191c4e9c278c0902ade1a8a80883ac244963ba3e6e78607a3d5f729ccca9c6e71fb3b316f87883658132641c5d818aa84202585c76752e03c539e6cbecb820bd - languageName: node - linkType: hard - -"jest-watcher@npm:^28.0.0": - version: 28.1.3 - resolution: "jest-watcher@npm:28.1.3" - dependencies: - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - emittery: ^0.10.2 - jest-util: ^28.1.3 - string-length: ^4.0.1 - checksum: 8f6d674a4865e7df251f71544f1b51f06fd36b5a3a61f2ac81aeb81fa2a196be354fba51d0f97911c88f67cd254583b3a22ee124bf2c5b6ee2fadec27356c207 - languageName: node - linkType: hard - "jest-watcher@npm:^29.4.3": version: 29.4.3 resolution: "jest-watcher@npm:29.4.3" @@ -24013,18 +23364,7 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^26.2.1": - version: 26.6.2 - resolution: "jest-worker@npm:26.6.2" - dependencies: - "@types/node": "*" - merge-stream: ^2.0.0 - supports-color: ^7.0.0 - checksum: f9afa3b88e3f12027901e4964ba3ff048285b5783b5225cab28fac25b4058cea8ad54001e9a1577ee2bed125fac3ccf5c80dc507b120300cc1bbcb368796533e - languageName: node - linkType: hard - -"jest-worker@npm:^27.0.2, jest-worker@npm:^27.4.5, jest-worker@npm:^27.5.1": +"jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" dependencies: @@ -24035,17 +23375,6 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^28.0.2": - version: 28.1.3 - resolution: "jest-worker@npm:28.1.3" - dependencies: - "@types/node": "*" - merge-stream: ^2.0.0 - supports-color: ^8.0.0 - checksum: e921c9a1b8f0909da9ea07dbf3592f95b653aef3a8bb0cbcd20fc7f9a795a1304adecac31eecb308992c167e8d7e75c522061fec38a5928ace0f9571c90169ca - languageName: node - linkType: hard - "jest-worker@npm:^29.1.2, jest-worker@npm:^29.4.3, jest-worker@npm:^29.5.0": version: 29.5.0 resolution: "jest-worker@npm:29.5.0" @@ -24077,21 +23406,12 @@ __metadata: languageName: node linkType: hard -"jest@npm:^27.4.3": - version: 27.5.1 - resolution: "jest@npm:27.5.1" - dependencies: - "@jest/core": ^27.5.1 - import-local: ^3.0.2 - jest-cli: ^27.5.1 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true +"jiti@npm:^1.19.1": + version: 1.21.0 + resolution: "jiti@npm:1.21.0" bin: - jest: bin/jest.js - checksum: 96f1d69042b3c6dfc695f2a4e4b0db38af6fb78582ad1a02beaa57cfcd77cbd31567d7d865c1c85709b7c3e176eefa3b2035ffecd646005f15d8ef528eccf205 + jiti: bin/jiti.js + checksum: a7bd5d63921c170eaec91eecd686388181c7828e1fa0657ab374b9372bfc1f383cf4b039e6b272383d5cb25607509880af814a39abdff967322459cca41f2961 languageName: node linkType: hard @@ -24135,13 +23455,6 @@ __metadata: languageName: node linkType: hard -"js-sdsl@npm:^4.1.4": - version: 4.3.0 - resolution: "js-sdsl@npm:4.3.0" - checksum: ce908257cf6909e213af580af3a691a736f5ee8b16315454768f917a682a4ea0c11bde1b241bbfaecedc0eb67b72101b2c2df2ffaed32aed5d539fca816f054e - languageName: node - linkType: hard - "js-string-escape@npm:^1.0.1": version: 1.0.1 resolution: "js-string-escape@npm:1.0.1" @@ -24156,6 +23469,13 @@ __metadata: languageName: node linkType: hard +"js-tokens@npm:^9.0.0": + version: 9.0.0 + resolution: "js-tokens@npm:9.0.0" + checksum: 427d0db681caab0c906cfc78a0235bbe7b41712cee83f3f14785c1de079a1b1a85693cc8f99a3f71685d0d76acaa5b9c8920850b67f93d3eeb7ef186987d186c + languageName: node + linkType: hard + "js-yaml@npm:^3.13.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" @@ -24255,46 +23575,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^16.6.0": - version: 16.7.0 - resolution: "jsdom@npm:16.7.0" - dependencies: - abab: ^2.0.5 - acorn: ^8.2.4 - acorn-globals: ^6.0.0 - cssom: ^0.4.4 - cssstyle: ^2.3.0 - data-urls: ^2.0.0 - decimal.js: ^10.2.1 - domexception: ^2.0.1 - escodegen: ^2.0.0 - form-data: ^3.0.0 - html-encoding-sniffer: ^2.0.1 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 - is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 - symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^2.0.0 - webidl-conversions: ^6.1.0 - whatwg-encoding: ^1.0.5 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.5.0 - ws: ^7.4.6 - xml-name-validator: ^3.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 - languageName: node - linkType: hard - "jsdom@npm:^21.1.1": version: 21.1.1 resolution: "jsdom@npm:21.1.1" @@ -24432,7 +23712,7 @@ __metadata: languageName: node linkType: hard -"json-schema@npm:0.4.0, json-schema@npm:^0.4.0": +"json-schema@npm:0.4.0": version: 0.4.0 resolution: "json-schema@npm:0.4.0" checksum: 66389434c3469e698da0df2e7ac5a3281bcff75e797a5c127db7c5b56270e01ae13d9afa3c03344f76e32e81678337a8c912bdbb75101c62e487dc3778461d72 @@ -24464,7 +23744,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.0, json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.1.2, json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -24512,13 +23792,6 @@ __metadata: languageName: node linkType: hard -"jsonpointer@npm:^5.0.0": - version: 5.0.1 - resolution: "jsonpointer@npm:5.0.1" - checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c - languageName: node - linkType: hard - "jsonwebtoken@npm:^9.0.0": version: 9.0.0 resolution: "jsonwebtoken@npm:9.0.0" @@ -24555,13 +23828,15 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.3": - version: 3.3.3 - resolution: "jsx-ast-utils@npm:3.3.3" +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" dependencies: - array-includes: ^3.1.5 - object.assign: ^4.1.3 - checksum: a2ed78cac49a0f0c4be8b1eafe3c5257a1411341d8e7f1ac740debae003de04e5f6372bfcfbd9d082e954ffd99aac85bcda85b7c6bc11609992483f4cdc0f745 + array-includes: ^3.1.6 + array.prototype.flat: ^1.3.1 + object.assign: ^4.1.4 + object.values: ^1.1.6 + checksum: f4b05fa4d7b5234230c905cfa88d36dc8a58a6666975a3891429b1a8cdc8a140bca76c297225cb7a499fad25a2c052ac93934449a2c31a44fc9edd06c773780a languageName: node linkType: hard @@ -24655,7 +23930,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b @@ -24685,7 +23960,7 @@ __metadata: languageName: node linkType: hard -"klona@npm:^2.0.4, klona@npm:^2.0.5": +"klona@npm:^2.0.5": version: 2.0.6 resolution: "klona@npm:2.0.6" checksum: ac9ee3732e42b96feb67faae4d27cf49494e8a3bf3fa7115ce242fe04786788e0aff4741a07a45a2462e2079aa983d73d38519c85d65b70ef11447bbc3c58ce7 @@ -24699,22 +23974,6 @@ __metadata: languageName: node linkType: hard -"language-subtag-registry@npm:~0.3.2": - version: 0.3.22 - resolution: "language-subtag-registry@npm:0.3.22" - checksum: 8ab70a7e0e055fe977ac16ea4c261faec7205ac43db5e806f72e5b59606939a3b972c4bd1e10e323b35d6ffa97c3e1c4c99f6553069dad2dfdd22020fa3eb56a - languageName: node - linkType: hard - -"language-tags@npm:=1.0.5": - version: 1.0.5 - resolution: "language-tags@npm:1.0.5" - dependencies: - language-subtag-registry: ~0.3.2 - checksum: c81b5d8b9f5f9cfd06ee71ada6ddfe1cf83044dd5eeefcd1e420ad491944da8957688db4a0a9bc562df4afdc2783425cbbdfd152c01d93179cf86888903123cf - languageName: node - linkType: hard - "latest-version@npm:^5.1.0": version: 5.1.0 resolution: "latest-version@npm:5.1.0" @@ -24810,7 +24069,7 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.0.3, lilconfig@npm:^2.0.5, lilconfig@npm:^2.0.6": +"lilconfig@npm:^2.0.3": version: 2.0.6 resolution: "lilconfig@npm:2.0.6" checksum: 40a3cd72f103b1be5975f2ac1850810b61d4053e20ab09be8d3aeddfe042187e1ba70b4651a7e70f95efa1642e7dc8b2ae395b317b7d7753b241b43cef7c0f7d @@ -25011,7 +24270,7 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^2.0.0, loader-utils@npm:^2.0.4": +"loader-utils@npm:^2.0.0": version: 2.0.4 resolution: "loader-utils@npm:2.0.4" dependencies: @@ -25036,6 +24295,16 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: ^1.4.2 + pkg-types: ^1.0.3 + checksum: b0a6931e588ad4f7bf4ab49faacf49e07fc4d05030f895aa055d46727a15b99300d39491cf2c3e3f05284aec65565fb760debb74c32e64109f4a101f9300d81a + languageName: node + linkType: hard + "locate-path@npm:^3.0.0": version: 3.0.0 resolution: "locate-path@npm:3.0.0" @@ -25064,6 +24333,15 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^7.2.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: ^6.0.0 + checksum: c1b653bdf29beaecb3d307dfb7c44d98a2a98a02ebe353c9ad055d1ac45d6ed4e1142563d222df9b9efebc2bcb7d4c792b507fad9e7150a04c29530b7db570f8 + languageName: node + linkType: hard + "lodash._objecttypes@npm:~2.4.1": version: 2.4.1 resolution: "lodash._objecttypes@npm:2.4.1" @@ -25150,6 +24428,13 @@ __metadata: languageName: node linkType: hard +"lodash.kebabcase@npm:^4.1.1": + version: 4.1.1 + resolution: "lodash.kebabcase@npm:4.1.1" + checksum: 5a6c59161914e1bae23438a298c7433e83d935e0f59853fa862e691164696bc07f6dfa4c313d499fbf41ba8d53314e9850416502376705a357d24ee6ca33af78 + languageName: node + linkType: hard + "lodash.map@npm:^4.5.1": version: 4.6.0 resolution: "lodash.map@npm:4.6.0" @@ -25192,17 +24477,10 @@ __metadata: languageName: node linkType: hard -"lodash.sortby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.sortby@npm:4.7.0" - checksum: db170c9396d29d11fe9a9f25668c4993e0c1331bcb941ddbd48fb76f492e732add7f2a47cfdf8e9d740fa59ac41bbfaf931d268bc72aab3ab49e9f89354d718c - languageName: node - linkType: hard - -"lodash.throttle@npm:^4.1.1": - version: 4.1.1 - resolution: "lodash.throttle@npm:4.1.1" - checksum: 129c0a28cee48b348aef146f638ef8a8b197944d4e9ec26c1890c19d9bf5a5690fe11b655c77a4551268819b32d27f4206343e30c78961f60b561b8608c8c805 +"lodash.startcase@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.startcase@npm:4.4.0" + checksum: c03a4a784aca653845fe09d0ef67c902b6e49288dc45f542a4ab345a9c406a6dc194c774423fa313ee7b06283950301c1221dd2a1d8ecb2dac8dfbb9ed5606b5 languageName: node linkType: hard @@ -25220,7 +24498,14 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.11.2, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.17.5, lodash@npm:^4.7.0": +"lodash.upperfirst@npm:^4.3.1": + version: 4.3.1 + resolution: "lodash.upperfirst@npm:4.3.1" + checksum: cadec6955900afe1928cc60cdc4923a79c2ef991e42665419cc81630ed9b4f952a1093b222e0141ab31cbc4dba549f97ec28ff67929d71e01861c97188a5fa83 + languageName: node + linkType: hard + +"lodash@npm:4.17.21, lodash@npm:^4.11.2, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.17.5": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -25350,6 +24635,15 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^2.3.7": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: ^2.0.1 + checksum: 96c058ec7167598e238bb7fb9def2f9339215e97d6685d9c1e3e4bdb33d14600e11fe7a812cf0c003dfb73ca2df374f146280b2287cae9e8d989e9d7a69a203b + languageName: node + linkType: hard + "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -25441,15 +24735,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": - version: 0.25.9 - resolution: "magic-string@npm:0.25.9" - dependencies: - sourcemap-codec: ^1.4.8 - checksum: 9a0e55a15c7303fc360f9572a71cffba1f61451bc92c5602b1206c9d17f492403bf96f946dfce7483e66822d6b74607262e24392e87b0ac27b786e69a40e9b1a - languageName: node - linkType: hard - "magic-string@npm:^0.27.0": version: 0.27.0 resolution: "magic-string@npm:0.27.0" @@ -25468,6 +24753,26 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.5": + version: 0.30.10 + resolution: "magic-string@npm:0.30.10" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.15 + checksum: 456fd47c39b296c47dff967e1965121ace35417eab7f45a99e681e725b8661b48e1573c366ee67a27715025b3740773c46b088f115421c7365ea4ea6fa10d399 + languageName: node + linkType: hard + +"magicast@npm:^0.3.3": + version: 0.3.4 + resolution: "magicast@npm:0.3.4" + dependencies: + "@babel/parser": ^7.24.4 + "@babel/types": ^7.24.0 + source-map-js: ^1.2.0 + checksum: 9cc84b8424d2c9b03533c16abec5b29f3897619a07714232c602382660867140858f54f482da2b9968ba4b89e198e66578f483415256c4eb2656ae7265bbb2de + languageName: node + linkType: hard + "make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -25487,6 +24792,15 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: ^7.5.3 + checksum: bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a + languageName: node + linkType: hard + "make-error@npm:1.x, make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" @@ -25534,20 +24848,6 @@ __metadata: languageName: node linkType: hard -"map-obj@npm:^1.0.0": - version: 1.0.1 - resolution: "map-obj@npm:1.0.1" - checksum: 9949e7baec2a336e63b8d4dc71018c117c3ce6e39d2451ccbfd3b8350c547c4f6af331a4cbe1c83193d7c6b786082b6256bde843db90cb7da2a21e8fcc28afed - languageName: node - linkType: hard - -"map-obj@npm:^4.0.0": - version: 4.3.0 - resolution: "map-obj@npm:4.3.0" - checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e - languageName: node - linkType: hard - "map-or-similar@npm:^1.5.0": version: 1.5.0 resolution: "map-or-similar@npm:1.5.0" @@ -25854,13 +25154,6 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.0.4": - version: 2.0.4 - resolution: "mdn-data@npm:2.0.4" - checksum: add3c95e6d03d301b8a8bcfee3de33f4d07e4c5eee5b79f18d6d737de717e22472deadf67c1a8563983c0b603e10d7df40aa8e5fddf18884dfe118ccec7ae329 - languageName: node - linkType: hard - "mdurl@npm:^1.0.0, mdurl@npm:^1.0.1": version: 1.0.1 resolution: "mdurl@npm:1.0.1" @@ -25891,7 +25184,7 @@ __metadata: languageName: node linkType: hard -"memoize-one@npm:^5.0.4, memoize-one@npm:^5.1.1": +"memoize-one@npm:^5.1.1": version: 5.2.1 resolution: "memoize-one@npm:5.2.1" checksum: a3cba7b824ebcf24cdfcd234aa7f86f3ad6394b8d9be4c96ff756dafb8b51c7f71320785fbc2304f1af48a0467cbbd2a409efc9333025700ed523f254cb52e3d @@ -25924,22 +25217,10 @@ __metadata: languageName: node linkType: hard -"meow@npm:^8.0.0": - version: 8.1.2 - resolution: "meow@npm:8.1.2" - dependencies: - "@types/minimist": ^1.2.0 - camelcase-keys: ^6.2.2 - decamelize-keys: ^1.1.0 - hard-rejection: ^2.1.0 - minimist-options: 4.1.0 - normalize-package-data: ^3.0.0 - read-pkg-up: ^7.0.1 - redent: ^3.0.0 - trim-newlines: ^3.0.0 - type-fest: ^0.18.0 - yargs-parser: ^20.2.3 - checksum: bc23bf1b4423ef6a821dff9734406bce4b91ea257e7f10a8b7f896f45b59649f07adc0926e2917eacd8cf1df9e4cd89c77623cf63dfd0f8bf54de07a32ee5a85 +"meow@npm:^12.0.1": + version: 12.1.1 + resolution: "meow@npm:12.1.1" + checksum: a6f3be85fbe53430ef53ab933dd790c39216eb4dbaabdbef593aa59efb40ecaa417897000175476bc33eed09e4cbce01df7ba53ba91e9a4bd84ec07024cb8914 languageName: node linkType: hard @@ -26449,7 +25730,7 @@ __metadata: languageName: node linkType: hard -"mini-css-extract-plugin@npm:^2.4.5, mini-css-extract-plugin@npm:^2.6.1": +"mini-css-extract-plugin@npm:^2.6.1": version: 2.7.2 resolution: "mini-css-extract-plugin@npm:2.7.2" dependencies: @@ -26512,14 +25793,12 @@ __metadata: languageName: node linkType: hard -"minimist-options@npm:4.1.0": - version: 4.1.0 - resolution: "minimist-options@npm:4.1.0" +"minimatch@npm:^9.0.4": + version: 9.0.4 + resolution: "minimatch@npm:9.0.4" dependencies: - arrify: ^1.0.1 - is-plain-obj: ^1.1.0 - kind-of: ^6.0.3 - checksum: 8c040b3068811e79de1140ca2b708d3e203c8003eb9a414c1ab3cd467fc5f17c9ca02a5aef23bedc51a7f8bfbe77f87e9a7e31ec81fba304cda675b019496f4e + brace-expansion: ^2.0.1 + checksum: cf717f597ec3eed7dabc33153482a2e8d49f4fd3c26e58fd9c71a94c5029a0838728841b93f46bf1263b65a8010e2ee800d0dc9b004ab8ba8b6d1ec07cc115b5 languageName: node linkType: hard @@ -26638,7 +25917,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.6, mkdirp@npm:~0.5.1": +"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.6": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" dependencies: @@ -26670,6 +25949,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.4.2, mlly@npm:^1.7.0": + version: 1.7.0 + resolution: "mlly@npm:1.7.0" + dependencies: + acorn: ^8.11.3 + pathe: ^1.1.2 + pkg-types: ^1.1.0 + ufo: ^1.5.3 + checksum: c1548f4dd0e31ce15d293ebb7c61778bd28c405573dc43dcf799eaeb8f6b776d7dadd95e957d6631b9cc4bb963cd01079d58b7e2290ed540aa460e061bdbd1fa + languageName: node + linkType: hard + "mobx-react-devtools@npm:^6.0.3": version: 6.1.1 resolution: "mobx-react-devtools@npm:6.1.1" @@ -26811,7 +26102,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.1.25, nanoid@npm:^3.3.4": +"nanoid@npm:^3.3.4": version: 3.3.4 resolution: "nanoid@npm:3.3.4" bin: @@ -26820,6 +26111,24 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 + languageName: node + linkType: hard + +"nanoid@npm:^4.0.0": + version: 4.0.2 + resolution: "nanoid@npm:4.0.2" + bin: + nanoid: bin/nanoid.js + checksum: 747c399cea4664dd0be1d0ec498ffd1ef8f1f5221676fc8b577e3f46f66d9afcddb9595d63d19a2e78d0bc6cc33984f65e66bf1682c850b9e26288883d96b53f + languageName: node + linkType: hard + "nanomatch@npm:^1.2.9": version: 1.2.13 resolution: "nanomatch@npm:1.2.13" @@ -26839,13 +26148,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -27050,18 +26352,6 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^3.0.0": - version: 3.0.3 - resolution: "normalize-package-data@npm:3.0.3" - dependencies: - hosted-git-info: ^4.0.1 - is-core-module: ^2.5.0 - semver: ^7.3.4 - validate-npm-package-license: ^3.0.1 - checksum: bbcee00339e7c26fdbc760f9b66d429258e2ceca41a5df41f5df06cc7652de8d82e8679ff188ca095cad8eff2b6118d7d866af2b68400f74602fbcbce39c160a - languageName: node - linkType: hard - "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -27172,15 +26462,6 @@ __metadata: languageName: node linkType: hard -"nth-check@npm:^1.0.2": - version: 1.0.2 - resolution: "nth-check@npm:1.0.2" - dependencies: - boolbase: ~1.0.0 - checksum: 59e115fdd75b971d0030f42ada3aac23898d4c03aa13371fa8b3339d23461d1badf3fde5aad251fb956aaa75c0a3b9bfcd07c08a34a83b4f9dadfdce1d19337c - languageName: node - linkType: hard - "nth-check@npm:^2.0.1": version: 2.1.1 resolution: "nth-check@npm:2.1.1" @@ -27197,7 +26478,7 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.0, nwsapi@npm:^2.2.2": +"nwsapi@npm:^2.2.2": version: 2.2.2 resolution: "nwsapi@npm:2.2.2" checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 @@ -27226,13 +26507,14 @@ __metadata: "@types/mustache": ^4.1.2 "@types/react-flag-icon-css": ^1.0.5 "@types/react-portal": ^4.0.4 - "@vitejs/plugin-react": ^3.1.0 - "@vitest/coverage-c8": ^0.30.1 + "@vitejs/plugin-react": ^4.3.0 + "@vitest/coverage-v8": ^1.6.0 babel-loader: 8.1.0 date-fns: ^2.29.3 eslint: ^8.50.0 eslint-plugin-import: ^2.28.1 eslint-plugin-storybook: ^0.6.13 + eslint-plugin-vitest: ^0.5.4 jsdom: ^21.1.1 linkify-plugin-mention: ^4.0.2 linkify-react: ^4.0.2 @@ -27246,7 +26528,7 @@ __metadata: react-flag-icon-css: ^1.0.25 react-icons: ^4.3.1 react-image-crop: ^11.0.5 - react-player: ^2.12.0 + react-player: ^2.16.0 react-portal: ^4.2.2 react-router: 6.20.1 react-router-dom: ^6.20.1 @@ -27258,7 +26540,7 @@ __metadata: ts-node: ^10.7.0 typescript: ^5.1.6 use-debounce: ^8.0.4 - vitest: ^0.30.1 + vitest: ^1.6.0 webpack: 5.76.0 yup: ^1.3.2 peerDependencies: @@ -27386,6 +26668,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.13.1": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f + languageName: node + linkType: hard + "object-is@npm:^1.0.1, object-is@npm:^1.1.5": version: 1.1.5 resolution: "object-is@npm:1.1.5" @@ -27412,7 +26701,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.0, object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": +"object.assign@npm:^4.1.0, object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -27424,14 +26713,26 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.6": - version: 1.1.6 - resolution: "object.entries@npm:1.1.6" +"object.assign@npm:^4.1.5": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 0f8c47517e6a9a980241eafe3b73de11e59511883173c2b93d67424a008e47e11b77c80e431ad1d8a806f6108b225a1cab9223e53e555776c612a24297117d28 + call-bind: ^1.0.5 + define-properties: ^1.2.1 + has-symbols: ^1.0.3 + object-keys: ^1.1.1 + checksum: f9aeac0541661370a1fc86e6a8065eb1668d3e771f7dbb33ee54578201336c057b21ee61207a186dd42db0c62201d91aac703d20d12a79fc79c353eed44d4e25 + languageName: node + linkType: hard + +"object.entries@npm:^1.1.8": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: 5314877cb637ef3437a30bba61d9bacdb3ce74bf73ac101518be0633c37840c8cc67407edb341f766e8093b3d7516d5c3358f25adfee4a2c697c0ec4c8491907 languageName: node linkType: hard @@ -27457,15 +26758,15 @@ __metadata: languageName: node linkType: hard -"object.getownpropertydescriptors@npm:^2.1.0": - version: 2.1.5 - resolution: "object.getownpropertydescriptors@npm:2.1.5" +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" dependencies: - array.prototype.reduce: ^1.0.5 - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 7883e1aac1f9cd4cd85e2bb8c7aab6a60940a7cfe07b788356f301844d4967482fc81058e7bda24e1b3909cbb4879387ea9407329b78704f8937bc0b97dec58b + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + checksum: 29b2207a2db2782d7ced83f93b3ff5d425f901945f3665ffda1821e30a7253cd1fd6b891a64279976098137ddfa883d748787a6fea53ecdb51f8df8b8cec0ae1 languageName: node linkType: hard @@ -27481,13 +26782,14 @@ __metadata: languageName: node linkType: hard -"object.hasown@npm:^1.1.2": - version: 1.1.2 - resolution: "object.hasown@npm:1.1.2" +"object.hasown@npm:^1.1.4": + version: 1.1.4 + resolution: "object.hasown@npm:1.1.4" dependencies: - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: b936572536db0cdf38eb30afd2f1026a8b6f2cc5d2c4497c9d9bbb01eaf3e980dead4fd07580cfdd098e6383e5a9db8212d3ea0c6bdd2b5e68c60aa7e3b45566 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + checksum: bc46eb5ca22106fcd07aab1411508c2c68b7565fe8fb272f166fb9bf203972e8b5c86a5a4b2c86204beead0626a7a4119d32cefbaf7c5dd57b400bf9e6363cb6 languageName: node linkType: hard @@ -27500,7 +26802,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.0, object.values@npm:^1.1.6": +"object.values@npm:^1.1.6": version: 1.1.6 resolution: "object.values@npm:1.1.6" dependencies: @@ -27522,6 +26824,17 @@ __metadata: languageName: node linkType: hard +"object.values@npm:^1.2.0": + version: 1.2.0 + resolution: "object.values@npm:1.2.0" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: 51fef456c2a544275cb1766897f34ded968b22adfc13ba13b5e4815fdaf4304a90d42a3aee114b1f1ede048a4890381d47a5594d84296f2767c6a0364b9da8fa + languageName: node + linkType: hard + "obuf@npm:^1.0.0, obuf@npm:^1.1.2": version: 1.1.2 resolution: "obuf@npm:1.1.2" @@ -27567,23 +26880,22 @@ __metadata: version: 0.0.0-use.local resolution: "one-army-community-platform@workspace:." dependencies: - "@commitlint/cli": ^16.2.3 - "@commitlint/config-conventional": ^16.2.1 - "@commitlint/cz-commitlint": ^16.2.3 - "@craco/craco": ^7.0.0 - "@craco/types": ^7.0.0 + "@commitlint/cli": ^19.3.0 + "@commitlint/config-conventional": ^19.2.2 + "@commitlint/cz-commitlint": ^19.2.0 + "@emotion/babel-plugin": ^11.11.0 "@emotion/react": ^11.10.6 "@emotion/styled": ^11.8.1 + "@esbuild-plugins/node-globals-polyfill": ^0.2.3 "@faker-js/faker": ^8.4.1 "@semantic-release/changelog": ^6.0.1 "@semantic-release/git": ^10.0.1 "@sentry/react": ^6.15.0 - "@testing-library/jest-dom": ^5.11.4 + "@testing-library/jest-dom": ^6.4.5 "@testing-library/react": ^11.1.0 "@testing-library/user-event": ^14.4.3 "@types/browser-image-compression": ^1.0.9 "@types/flux-standard-action": 1.1.0 - "@types/jest": ^27.4.1 "@types/node": ^20.8.0 "@types/pubsub-js": ^1.5.18 "@types/react": 17.0.2 @@ -27592,13 +26904,18 @@ __metadata: "@types/react-leaflet-markercluster": ^2.0.0 "@types/react-router-dom": 5.3.3 "@types/react-select": ^2.0.17 - "@types/react-virtualized": ^9.21.10 "@types/styled-system": ^5.1.11 "@typescript-eslint/eslint-plugin": ^6.7.3 "@typescript-eslint/parser": ^6.7.3 - "@uppy/core": ^2.1.4 - "@uppy/dashboard": ^2.1.3 - "@uppy/react": ^2.1.2 + "@uppy/compressor": ^1.1.4 + "@uppy/core": ^3.11.3 + "@uppy/dashboard": ^3.8.3 + "@uppy/drag-drop": ^3.1.0 + "@uppy/file-input": ^3.1.2 + "@uppy/progress-bar": ^3.1.1 + "@uppy/react": ^3.3.1 + "@vitejs/plugin-react": ^4.3.0 + "@vitest/coverage-v8": ^1.6.0 all-contributors-cli: ^6.20.0 buffer: ^6.0.3 chai-subset: ^1.6.0 @@ -27617,13 +26934,14 @@ __metadata: eslint-import-resolver-typescript: ^3.6.1 eslint-plugin-cypress: ^2.15.1 eslint-plugin-import: ^2.29.1 - eslint-plugin-jest: ^27.4.2 eslint-plugin-mocha: ^10.2.0 eslint-plugin-prefer-arrow-functions: ^3.1.4 eslint-plugin-prettier: ^5.0.0 + eslint-plugin-react: ^7.34.2 eslint-plugin-simple-import-sort: ^10.0.0 eslint-plugin-sort-class-members: ^1.18.0 eslint-plugin-unicorn: ^48.0.1 + eslint-plugin-vitest: ^0.5.4 final-form: 4.20.2 final-form-arrays: ^3.0.2 final-form-calculate: ^1.3.2 @@ -27631,10 +26949,9 @@ __metadata: framer-motion: ^4.1.17 fs-extra: ^10.0.0 fuse.js: ^6.4.6 - husky: ^7.0.4 + husky: ^9.0.11 idb: ^6.0.0 is-url: ^1.2.4 - jest-junit: ^16.0.0 leaflet: ^1.5.1 leaflet.markercluster: ^1.4.1 lint-staged: ^8.1.5 @@ -27646,6 +26963,7 @@ __metadata: oa-themes: "workspace:*" prettier: 2.5.1 react: 17.0.2 + react-country-flag: ^3.1.0 react-dev-utils: ^11.0.4 react-dom: 17.0.2 react-dropzone: ^10.1.10 @@ -27658,19 +26976,21 @@ __metadata: react-leaflet-markercluster: ^2.0.0-rc3 react-router: ^6.20.1 react-router-dom: ^6.20.1 - react-scripts: 5.0.1 - react-virtualized: 9.22.5 resize-observer-polyfill: ^1.5.1 rxjs: ^6.6.3 start-server-and-test: ^1.11.0 stream-browserify: ^3.0.0 terser: 3.14.1 theme-ui: ^0.15.7 - ts-jest: ^29.1.2 ts-loader: ^7.0.5 ts-node: ^10.4.0 tslog: ^4.9.2 typescript: ^5.1.6 + vite: ^5.2.12 + vite-plugin-env-compatible: ^2.0.1 + vite-plugin-svgr: ^4.2.0 + vite-tsconfig-paths: ^4.3.2 + vitest: ^1.6.0 wait-on: ^5.2.1 workbox-background-sync: ^6.1.5 workbox-broadcast-update: ^6.1.5 @@ -27813,20 +27133,6 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" - dependencies: - deep-is: ^0.1.3 - fast-levenshtein: ^2.0.6 - levn: ^0.4.1 - prelude-ls: ^1.2.1 - type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 - languageName: node - linkType: hard - "optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" @@ -27920,6 +27226,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" + dependencies: + yocto-queue: ^1.0.0 + checksum: 87bf5837dee6942f0dbeff318436179931d9a97848d1b07dbd86140a477a5d2e6b90d9701b210b4e21fe7beaea2979dfde366e4f576fa644a59bd4d6a6371da7 + languageName: node + linkType: hard + "p-locate@npm:^3.0.0": version: 3.0.0 resolution: "p-locate@npm:3.0.0" @@ -27947,6 +27262,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: ^4.0.0 + checksum: 2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 + languageName: node + linkType: hard + "p-map@npm:^1.1.1": version: 1.2.0 resolution: "p-map@npm:1.2.0" @@ -27970,6 +27294,16 @@ __metadata: languageName: node linkType: hard +"p-queue@npm:^7.3.4": + version: 7.4.1 + resolution: "p-queue@npm:7.4.1" + dependencies: + eventemitter3: ^5.0.1 + p-timeout: ^5.0.2 + checksum: 1c6888aa994d399262a9fbdd49c7066f8359732397f7a42ecf03f22875a1d65899797b46413f97e44acc18dddafbcc101eb135c284714c931dbbc83c3967f450 + languageName: node + linkType: hard + "p-reduce@npm:^2.0.0": version: 2.1.0 resolution: "p-reduce@npm:2.1.0" @@ -27987,6 +27321,13 @@ __metadata: languageName: node linkType: hard +"p-timeout@npm:^5.0.2": + version: 5.1.0 + resolution: "p-timeout@npm:5.1.0" + checksum: f5cd4e17301ff1ff1d8dbf2817df0ad88c6bba99349fc24d8d181827176ad4f8aca649190b8a5b1a428dfd6ddc091af4606835d3e0cb0656e04045da5c9e270c + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -28128,7 +27469,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:6.0.1, parse5@npm:^6.0.0": +"parse5@npm:^6.0.0": version: 6.0.1 resolution: "parse5@npm:6.0.1" checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd @@ -28182,6 +27523,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -28271,6 +27619,13 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^1.1.1, pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: ec5f778d9790e7b9ffc3e4c1df39a5bb1ce94657a4e3ad830c1276491ca9d79f189f47609884671db173400256b005f4955f7952f52a2aeb5834ad5fb4faf134 + languageName: node + linkType: hard + "pathval@npm:^1.1.1": version: 1.1.1 resolution: "pathval@npm:1.1.1" @@ -28328,13 +27683,6 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^0.2.1": - version: 0.2.1 - resolution: "picocolors@npm:0.2.1" - checksum: 3b0f441f0062def0c0f39e87b898ae7461c3a16ffc9f974f320b44c799418cabff17780ee647fda42b856a1dc45897e2c62047e1b546d94d6d5c6962f45427b2 - languageName: node - linkType: hard - "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -28349,7 +27697,7 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.0.0, pify@npm:^2.2.0, pify@npm:^2.3.0": +"pify@npm:^2.0.0, pify@npm:^2.2.0": version: 2.3.0 resolution: "pify@npm:2.3.0" checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba @@ -28438,6 +27786,17 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.0.3, pkg-types@npm:^1.1.0": + version: 1.1.1 + resolution: "pkg-types@npm:1.1.1" + dependencies: + confbox: ^0.1.7 + mlly: ^1.7.0 + pathe: ^1.1.2 + checksum: 78ee49eea8c03802ffbdc79dfb6a741f905a4053453280cd2f1149850523fdaf46d39ecb88c2c2f757cceb9883f234bb0e56371084b5895632bdb00ef0f7298f + languageName: node + linkType: hard + "pkg-up@npm:3.1.0, pkg-up@npm:^3.1.0": version: 3.1.0 resolution: "pkg-up@npm:3.1.0" @@ -28502,24 +27861,10 @@ __metadata: languageName: node linkType: hard -"postcss-attribute-case-insensitive@npm:^5.0.2": - version: 5.0.2 - resolution: "postcss-attribute-case-insensitive@npm:5.0.2" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: c0b8139f37e68dba372724cba03a53c30716224f0085f98485cada99489beb7c3da9d598ffc1d81519b59d9899291712c9041c250205e6ec0b034bb2c144dcf9 - languageName: node - linkType: hard - -"postcss-browser-comments@npm:^4": - version: 4.0.0 - resolution: "postcss-browser-comments@npm:4.0.0" - peerDependencies: - browserslist: ">=4" - postcss: ">=8" - checksum: 9b8e7094838c2d7bd1ab3ca9cb8d0a78a9a6c8e22f43133ba02db8862fb6c141630e9f590e46f7125cfa4723cacd27b74fa00c05a9907b364dc1f6f17cf13f6f +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: b32d403ece71e042385cc7856385cecf1cd8e144fa74d2f1de40d1e16035dba097bc189715925e79b67bdd1472796ff168d3a90d296356c9c94d272d5b95f3ae languageName: node linkType: hard @@ -28535,50 +27880,6 @@ __metadata: languageName: node linkType: hard -"postcss-clamp@npm:^4.1.0": - version: 4.1.0 - resolution: "postcss-clamp@npm:4.1.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.4.6 - checksum: 118eec936b3b035dc8d75c89973408f15c5a3de3d1ee210a2b3511e3e431d9c56e6f354b509a90540241e2225ffe3caaa2fdf25919c63348ce4583a28ada642c - languageName: node - linkType: hard - -"postcss-color-functional-notation@npm:^4.2.4": - version: 4.2.4 - resolution: "postcss-color-functional-notation@npm:4.2.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: b763e164fe3577a1de96f75e4bf451585c4f80b8ce60799763a51582cc9402d76faed57324a5d5e5556d90ca7ea0ebde565acb820c95e04bee6f36a91b019831 - languageName: node - linkType: hard - -"postcss-color-hex-alpha@npm:^8.0.4": - version: 8.0.4 - resolution: "postcss-color-hex-alpha@npm:8.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.4 - checksum: a2f3173a60176cf0aea3b7ebbc799b2cb08229127f0fff708fa31efa14e4ded47ca49aff549d8ed92e74ffe24adee32d5b9d557dbde0524fde5fe389bc520b4e - languageName: node - linkType: hard - -"postcss-color-rebeccapurple@npm:^7.1.1": - version: 7.1.1 - resolution: "postcss-color-rebeccapurple@npm:7.1.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 03482f9b8170da0fa014c41a5d88bce7b987471fb73fc456d397222a2455c89ac7f974dd6ddf40fd31907e768aad158057164b7c5f62cee63a6ecf29d47d7467 - languageName: node - linkType: hard - "postcss-colormin@npm:^5.3.1": version: 5.3.1 resolution: "postcss-colormin@npm:5.3.1" @@ -28605,50 +27906,6 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^8.0.2": - version: 8.0.2 - resolution: "postcss-custom-media@npm:8.0.2" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.3 - checksum: 887bbbacf6f8fab688123796e5dc1e8283b99f21e4c674235bd929dc8018c50df8634ea08932033ec93baaca32670ef2b87e6632863e0b4d84847375dbde9366 - languageName: node - linkType: hard - -"postcss-custom-properties@npm:^12.1.10": - version: 12.1.11 - resolution: "postcss-custom-properties@npm:12.1.11" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 421f9d8d6b9c9066919f39251859232efc4dc5dd406c01e62e08734319a6ccda6d03dd6b46063ba0971053ac6ad3f7abade56d67650b3e370851b2291e8e45e6 - languageName: node - linkType: hard - -"postcss-custom-selectors@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-custom-selectors@npm:6.0.3" - dependencies: - postcss-selector-parser: ^6.0.4 - peerDependencies: - postcss: ^8.3 - checksum: 18080d60a8a77a76d8ddff185104d65418fffd02bbf9824499f807ced7941509ba63828ab8fe3ec1d6b0d6c72a482bb90a79d79cdef58e5f4b30113cca16e69b - languageName: node - linkType: hard - -"postcss-dir-pseudo-class@npm:^6.0.5": - version: 6.0.5 - resolution: "postcss-dir-pseudo-class@npm:6.0.5" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 7810c439d8d1a9072c00f8ab39261a1492873ad170425745bd2819c59767db2f352f906588fc2a7d814e91117900563d7e569ecd640367c7332b26b9829927ef - languageName: node - linkType: hard - "postcss-discard-comments@npm:^5.1.2": version: 5.1.2 resolution: "postcss-discard-comments@npm:5.1.2" @@ -28696,166 +27953,6 @@ __metadata: languageName: node linkType: hard -"postcss-double-position-gradients@npm:^3.1.2": - version: 3.1.2 - resolution: "postcss-double-position-gradients@npm:3.1.2" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: ca09bf2aefddc180f1c1413f379eef30d492b8147543413f7251216f23f413c394b2ed10b7cd255e87b18e0c8efe36087ea8b9bfb26a09813f9607a0b8e538b6 - languageName: node - linkType: hard - -"postcss-env-function@npm:^4.0.6": - version: 4.0.6 - resolution: "postcss-env-function@npm:4.0.6" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.4 - checksum: 645b2363cfa21be9dcce7fe4a0f172f0af70c00d6a4c1eb3d7ff7e9cfe26d569e291ec2533114d77b12d610023cd168a92d62c38f2fc969fa333b5ae2bff5ffe - languageName: node - linkType: hard - -"postcss-flexbugs-fixes@npm:^5.0.2": - version: 5.0.2 - resolution: "postcss-flexbugs-fixes@npm:5.0.2" - peerDependencies: - postcss: ^8.1.4 - checksum: 022ddbcca8987303b9be75ff259e9de81b98643adac87a5fc6b52a0fcbbf95e1ac9fd508c4ed67cad76ac5d039b7123de8a0832329481b3c626f5d63f7a28f47 - languageName: node - linkType: hard - -"postcss-focus-visible@npm:^6.0.4": - version: 6.0.4 - resolution: "postcss-focus-visible@npm:6.0.4" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - checksum: acd010b9ddef9b86ffb5fa604c13515ba83e18bc5118dad0a1281150f412aa0ece056c2c5ac56b55e2599f53ab0f740f5ebfdc51e1f5cfe43b8130bac0096fcc - languageName: node - linkType: hard - -"postcss-focus-within@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-focus-within@npm:5.0.4" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - checksum: f23d8ab757345a6deaa807d76e10c88caf4b771c38b60e1593b24aee161c503b5823620e89302226a6ae5e7afdb6ac31809241291912e4176eb594a7ddcc9521 - languageName: node - linkType: hard - -"postcss-font-variant@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-font-variant@npm:5.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: a19286589261c2bc3e20470486e1ee3b4daf34271c5020167f30856c9b30c26f23264307cb97a184d503814e1b8c5d8a1f9f64a14fd4fd9551c173dca9424695 - languageName: node - linkType: hard - -"postcss-gap-properties@npm:^3.0.5": - version: 3.0.5 - resolution: "postcss-gap-properties@npm:3.0.5" - peerDependencies: - postcss: ^8.2 - checksum: aed559d6d375203a08a006c9ae8cf5ae90d9edaec5cadd20fe65c1b8ce63c2bc8dfe752d4331880a6e24a300541cde61058be790b7bd9b5d04d470c250fbcd39 - languageName: node - linkType: hard - -"postcss-image-set-function@npm:^4.0.7": - version: 4.0.7 - resolution: "postcss-image-set-function@npm:4.0.7" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 7e509330986de14250ead1a557e8da8baaf66ebe8a40354a5dff60ab40d99a483d92aa57d52713251ca1adbf0055ef476c5702b0d0ba5f85a4f407367cdabac0 - languageName: node - linkType: hard - -"postcss-import@npm:^14.1.0": - version: 14.1.0 - resolution: "postcss-import@npm:14.1.0" - dependencies: - postcss-value-parser: ^4.0.0 - read-cache: ^1.0.0 - resolve: ^1.1.7 - peerDependencies: - postcss: ^8.0.0 - checksum: cd45d406e90f67cdab9524352e573cc6b4462b790934a05954e929a6653ebd31288ceebc8ce3c3ed7117ae672d9ebbec57df0bceec0a56e9b259c2e71d47ca86 - languageName: node - linkType: hard - -"postcss-initial@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-initial@npm:4.0.1" - peerDependencies: - postcss: ^8.0.0 - checksum: 6956953853865de79c39d11533a2860e9f38b770bb284d0010d98a00b9469e22de344e4e5fd8208614d797030487e8918dd2f2c37d9e24d4dd59d565d4fc3e12 - languageName: node - linkType: hard - -"postcss-js@npm:^4.0.0": - version: 4.0.1 - resolution: "postcss-js@npm:4.0.1" - dependencies: - camelcase-css: ^2.0.1 - peerDependencies: - postcss: ^8.4.21 - checksum: 5c1e83efeabeb5a42676193f4357aa9c88f4dc1b3c4a0332c132fe88932b33ea58848186db117cf473049fc233a980356f67db490bd0a7832ccba9d0b3fd3491 - languageName: node - linkType: hard - -"postcss-lab-function@npm:^4.2.1": - version: 4.2.1 - resolution: "postcss-lab-function@npm:4.2.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 26ac74b430011271b5581beba69b2cd788f56375fcb64c90f6ec1577379af85f6022dc38c410ff471dac520c7ddc289160a6a16cca3c7ff76f5af7e90d31eaa3 - languageName: node - linkType: hard - -"postcss-load-config@npm:^3.1.4": - version: 3.1.4 - resolution: "postcss-load-config@npm:3.1.4" - dependencies: - lilconfig: ^2.0.5 - yaml: ^1.10.2 - peerDependencies: - postcss: ">=8.0.9" - ts-node: ">=9.0.0" - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - checksum: 1c589504c2d90b1568aecae8238ab993c17dba2c44f848a8f13619ba556d26a1c09644d5e6361b5784e721e94af37b604992f9f3dc0483e687a0cc1cc5029a34 - languageName: node - linkType: hard - -"postcss-loader@npm:^6.2.1": - version: 6.2.1 - resolution: "postcss-loader@npm:6.2.1" - dependencies: - cosmiconfig: ^7.0.0 - klona: ^2.0.5 - semver: ^7.3.5 - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - checksum: e40ae79c3e39df37014677a817b001bd115d8b10dedf53a07b97513d93b1533cd702d7a48831bdd77b9a9484b1ec84a5d4a723f80e83fb28682c75b5e65e8a90 - languageName: node - linkType: hard - "postcss-loader@npm:^7.0.0": version: 7.0.2 resolution: "postcss-loader@npm:7.0.2" @@ -28870,24 +27967,6 @@ __metadata: languageName: node linkType: hard -"postcss-logical@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-logical@npm:5.0.4" - peerDependencies: - postcss: ^8.4 - checksum: 17c71291ed6a03883a5aa54b9923b874c32710707d041a0f0752e6febdb09dee5d2abf4ef271978d932e4a4c948f349bb23edf633c03e3427ba15e71bfc66ac7 - languageName: node - linkType: hard - -"postcss-media-minmax@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-media-minmax@npm:5.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 2cd7283e07a1ac1acdcc3ecbaa0e9932f8d1e7647e7aeb14d91845fcb890d60d7257ec70c825cae8d48ae80a08cc77ebc4021a0dfa32360e0cd991e2bc021607 - languageName: node - linkType: hard - "postcss-merge-idents@npm:^5.1.1": version: 5.1.1 resolution: "postcss-merge-idents@npm:5.1.1" @@ -29018,29 +28097,6 @@ __metadata: languageName: node linkType: hard -"postcss-nested@npm:6.0.0": - version: 6.0.0 - resolution: "postcss-nested@npm:6.0.0" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2.14 - checksum: 2105dc52cd19747058f1a46862c9e454b5a365ac2e7135fc1015d67a8fe98ada2a8d9ee578e90f7a093bd55d3994dd913ba5ff1d5e945b4ed9a8a2992ecc8f10 - languageName: node - linkType: hard - -"postcss-nesting@npm:^10.2.0": - version: 10.2.0 - resolution: "postcss-nesting@npm:10.2.0" - dependencies: - "@csstools/selector-specificity": ^2.0.0 - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 25e6e66186bd7f18bc4628cf0f43e02189268f28a449aa4a63b33b8f2c33745af99acfcd4ce2ac69319dc850e83b28dbaabcf517e3977dfe20e37fed0e032c7d - languageName: node - linkType: hard - "postcss-normalize-charset@npm:^5.1.0": version: 5.1.0 resolution: "postcss-normalize-charset@npm:5.1.0" @@ -29140,29 +28196,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize@npm:^10.0.1": - version: 10.0.1 - resolution: "postcss-normalize@npm:10.0.1" - dependencies: - "@csstools/normalize.css": "*" - postcss-browser-comments: ^4 - sanitize.css: "*" - peerDependencies: - browserslist: ">= 4" - postcss: ">= 8" - checksum: af67ade84e5d65de0cf84cde479840da96ffb2037fe6bf86737788216f67e414622e718e7d84182885ad65fa948150e4a0c3e454ca63e619dd5c7b4eb4224c39 - languageName: node - linkType: hard - -"postcss-opacity-percentage@npm:^1.1.2": - version: 1.1.3 - resolution: "postcss-opacity-percentage@npm:1.1.3" - peerDependencies: - postcss: ^8.2 - checksum: 54d1b8ca68035bc1a5788aaabdbc3b66ffee34b5a2412cecf073627dad7e3f2bae07c01fac3bc7f46bbac5da3291ac9ddcf74bfee26dfd86f9f96c847a0afc13 - languageName: node - linkType: hard - "postcss-ordered-values@npm:^5.1.3": version: 5.1.3 resolution: "postcss-ordered-values@npm:5.1.3" @@ -29175,107 +28208,6 @@ __metadata: languageName: node linkType: hard -"postcss-overflow-shorthand@npm:^3.0.4": - version: 3.0.4 - resolution: "postcss-overflow-shorthand@npm:3.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 74009022491e3901263f8f5811630393480323e51f5d23ef17f3fdc7e03bf9c2502a632f3ba8fe6a468b57590f13b2fa3b17a68ef19653589e76277607696743 - languageName: node - linkType: hard - -"postcss-page-break@npm:^3.0.4": - version: 3.0.4 - resolution: "postcss-page-break@npm:3.0.4" - peerDependencies: - postcss: ^8 - checksum: a7d08c945fc691f62c77ac701e64722218b14ec5c8fc1972b8af9c21553492d40808cf95e61b9697b1dacaf7e6180636876d7fee314f079e6c9e39ac1b1edc6f - languageName: node - linkType: hard - -"postcss-place@npm:^7.0.5": - version: 7.0.5 - resolution: "postcss-place@npm:7.0.5" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 903fec0c313bb7ec20f2c8f0a125866fb7804aa3186b5b2c7c2d58cb9039ff301461677a060e9db643d1aaffaf80a0ff71e900a6da16705dad6b49c804cb3c73 - languageName: node - linkType: hard - -"postcss-preset-env@npm:^7.0.1": - version: 7.8.3 - resolution: "postcss-preset-env@npm:7.8.3" - dependencies: - "@csstools/postcss-cascade-layers": ^1.1.1 - "@csstools/postcss-color-function": ^1.1.1 - "@csstools/postcss-font-format-keywords": ^1.0.1 - "@csstools/postcss-hwb-function": ^1.0.2 - "@csstools/postcss-ic-unit": ^1.0.1 - "@csstools/postcss-is-pseudo-class": ^2.0.7 - "@csstools/postcss-nested-calc": ^1.0.0 - "@csstools/postcss-normalize-display-values": ^1.0.1 - "@csstools/postcss-oklab-function": ^1.1.1 - "@csstools/postcss-progressive-custom-properties": ^1.3.0 - "@csstools/postcss-stepped-value-functions": ^1.0.1 - "@csstools/postcss-text-decoration-shorthand": ^1.0.0 - "@csstools/postcss-trigonometric-functions": ^1.0.2 - "@csstools/postcss-unset-value": ^1.0.2 - autoprefixer: ^10.4.13 - browserslist: ^4.21.4 - css-blank-pseudo: ^3.0.3 - css-has-pseudo: ^3.0.4 - css-prefers-color-scheme: ^6.0.3 - cssdb: ^7.1.0 - postcss-attribute-case-insensitive: ^5.0.2 - postcss-clamp: ^4.1.0 - postcss-color-functional-notation: ^4.2.4 - postcss-color-hex-alpha: ^8.0.4 - postcss-color-rebeccapurple: ^7.1.1 - postcss-custom-media: ^8.0.2 - postcss-custom-properties: ^12.1.10 - postcss-custom-selectors: ^6.0.3 - postcss-dir-pseudo-class: ^6.0.5 - postcss-double-position-gradients: ^3.1.2 - postcss-env-function: ^4.0.6 - postcss-focus-visible: ^6.0.4 - postcss-focus-within: ^5.0.4 - postcss-font-variant: ^5.0.0 - postcss-gap-properties: ^3.0.5 - postcss-image-set-function: ^4.0.7 - postcss-initial: ^4.0.1 - postcss-lab-function: ^4.2.1 - postcss-logical: ^5.0.4 - postcss-media-minmax: ^5.0.0 - postcss-nesting: ^10.2.0 - postcss-opacity-percentage: ^1.1.2 - postcss-overflow-shorthand: ^3.0.4 - postcss-page-break: ^3.0.4 - postcss-place: ^7.0.5 - postcss-pseudo-class-any-link: ^7.1.6 - postcss-replace-overflow-wrap: ^4.0.0 - postcss-selector-not: ^6.0.1 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 71bfb697ffc55e27895b2bf3a579dd9b4c1321872816091935e33d6f659cab60795a03bb022dc8a4cab48fd5680a419fe9ae5d61a3a3d8c785ec9308f323e787 - languageName: node - linkType: hard - -"postcss-pseudo-class-any-link@npm:^7.1.6": - version: 7.1.6 - resolution: "postcss-pseudo-class-any-link@npm:7.1.6" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 43aa18ea1ef1b168f61310856dd92f46ceb3dc60b6cf820e079ca1a849df5cc0f12a1511bdc1811a23f03d60ddcc959200c80c3f9a7b57feebe32bab226afb39 - languageName: node - linkType: hard - "postcss-reduce-idents@npm:^5.2.0": version: 5.2.0 resolution: "postcss-reduce-idents@npm:5.2.0" @@ -29310,27 +28242,7 @@ __metadata: languageName: node linkType: hard -"postcss-replace-overflow-wrap@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-replace-overflow-wrap@npm:4.0.0" - peerDependencies: - postcss: ^8.0.3 - checksum: 3ffe20b300a4c377a11c588b142740d8557e03c707474c45234c934190ac374750ddc92c7906c373471d273a20504a429c2062c21fdcaff830fb28e0a81ac1dc - languageName: node - linkType: hard - -"postcss-selector-not@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-selector-not@npm:6.0.1" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: fe523a0219e4bd34f04498534bb9e8aec3193f3585eafe4c388d086955b41201cae71fd20980ca465acade7f182029b43dbd5ca7e9d50bf34bbcaf1d19fe3ee6 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": +"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": version: 6.0.11 resolution: "postcss-selector-parser@npm:6.0.11" dependencies: @@ -29374,7 +28286,7 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": +"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f @@ -29390,17 +28302,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^7.0.35": - version: 7.0.39 - resolution: "postcss@npm:7.0.39" - dependencies: - picocolors: ^0.2.1 - source-map: ^0.6.1 - checksum: 4ac793f506c23259189064bdc921260d869a115a82b5e713973c5af8e94fbb5721a5cc3e1e26840500d7e1f1fa42a209747c5b1a151918a9bc11f0d7ed9048e3 - languageName: node - linkType: hard - -"postcss@npm:^8.0.9, postcss@npm:^8.3.11, postcss@npm:^8.3.5, postcss@npm:^8.4.14, postcss@npm:^8.4.17, postcss@npm:^8.4.19, postcss@npm:^8.4.21, postcss@npm:^8.4.4": +"postcss@npm:^8.3.11, postcss@npm:^8.4.14, postcss@npm:^8.4.17, postcss@npm:^8.4.19, postcss@npm:^8.4.21": version: 8.4.21 resolution: "postcss@npm:8.4.21" dependencies: @@ -29411,10 +28313,21 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.38": + version: 8.4.38 + resolution: "postcss@npm:8.4.38" + dependencies: + nanoid: ^3.3.7 + picocolors: ^1.0.0 + source-map-js: ^1.2.0 + checksum: 649f9e60a763ca4b5a7bbec446a069edf07f057f6d780a5a0070576b841538d1ecf7dd888f2fbfd1f76200e26c969e405aeeae66332e6927dbdc8bdcb90b9451 + languageName: node + linkType: hard + "preact@npm:^10.5.13": - version: 10.12.1 - resolution: "preact@npm:10.12.1" - checksum: 0de99f477563ab7f94a0f964952ad216375973c0dcd9eb49881f8eb5effc5ed6948da062548c87d5bb0d82f1a1e516b649020e760eab3a0503dfdd8e64d34a26 + version: 10.22.0 + resolution: "preact@npm:10.22.0" + checksum: 1b7493abec35d5042094d652e5cb980de00a0ef39e130b2f20485214d273ef0cebafa2000aa9fa4ef9dad952bd4e746ad3714f42206f34b817fd3712d0d70bcd languageName: node linkType: hard @@ -29466,7 +28379,7 @@ __metadata: languageName: node linkType: hard -"pretty-bytes@npm:^5.3.0, pretty-bytes@npm:^5.4.1, pretty-bytes@npm:^5.6.0": +"pretty-bytes@npm:^5.6.0": version: 5.6.0 resolution: "pretty-bytes@npm:5.6.0" checksum: 9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd @@ -29495,7 +28408,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.0.0, pretty-format@npm:^27.0.2, pretty-format@npm:^27.5.1": +"pretty-format@npm:^27.0.2, pretty-format@npm:^27.5.1": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" dependencies: @@ -29506,18 +28419,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^28.1.3": - version: 28.1.3 - resolution: "pretty-format@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: e69f857358a3e03d271252d7524bec758c35e44680287f36c1cb905187fbc82da9981a6eb07edfd8a03bc3cbeebfa6f5234c13a3d5b59f2bbdf9b4c4053e0a7f - languageName: node - linkType: hard - "pretty-format@npm:^29.0.0, pretty-format@npm:^29.4.3": version: 29.4.3 resolution: "pretty-format@npm:29.4.3" @@ -29529,6 +28430,17 @@ __metadata: languageName: node linkType: hard +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": ^29.6.3 + ansi-styles: ^5.0.0 + react-is: ^18.0.0 + checksum: 032c1602383e71e9c0c02a01bbd25d6759d60e9c7cf21937dde8357aa753da348fcec5def5d1002c9678a8524d5fe099ad98861286550ef44de8808cc61e43b6 + languageName: node + linkType: hard + "pretty-hrtime@npm:^1.0.3": version: 1.0.3 resolution: "pretty-hrtime@npm:1.0.3" @@ -29594,6 +28506,13 @@ __metadata: languageName: node linkType: hard +"promise-queue@npm:^2.2.5": + version: 2.2.5 + resolution: "promise-queue@npm:2.2.5" + checksum: 41dc832a0674ea74f5f9bb4812566769d862eb52a19bdf3773045429f07b2bc433af5d939baaf4930191e37202ea31ec57e43a5a2994c101cb729069fe3eac6a + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -29613,15 +28532,6 @@ __metadata: languageName: node linkType: hard -"promise@npm:^8.1.0": - version: 8.3.0 - resolution: "promise@npm:8.3.0" - dependencies: - asap: ~2.0.6 - checksum: a69f0ddbddf78ffc529cffee7ad950d307347615970564b17988ce43fbe767af5c738a9439660b24a9a8cbea106c0dcbb6c2b20e23b7e96a8e89e5c2679e94d5 - languageName: node - linkType: hard - "prompts@npm:2.4.0": version: 2.4.0 resolution: "prompts@npm:2.4.0" @@ -29926,13 +28836,6 @@ __metadata: languageName: node linkType: hard -"q@npm:^1.1.2, q@npm:^1.5.1": - version: 1.5.1 - resolution: "q@npm:1.5.1" - checksum: 147baa93c805bc1200ed698bdf9c72e9e42c05f96d007e33a558b5fdfd63e5ea130e99313f28efc1783e90e6bdb4e48b67a36fcc026b7b09202437ae88a1fb12 - languageName: node - linkType: hard - "qs@npm:6.10.4": version: 6.10.4 resolution: "qs@npm:6.10.4" @@ -29990,29 +28893,6 @@ __metadata: languageName: node linkType: hard -"quick-lru@npm:^4.0.1": - version: 4.0.1 - resolution: "quick-lru@npm:4.0.1" - checksum: bea46e1abfaa07023e047d3cf1716a06172c4947886c053ede5c50321893711577cb6119360f810cc3ffcd70c4d7db4069c3cee876b358ceff8596e062bd1154 - languageName: node - linkType: hard - -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: a516faa25574be7947969883e6068dbe4aa19e8ef8e8e0fd96cddd6d36485e9106d85c0041a27153286b0770b381328f4072aa40d3b18a19f5f7d2b78b94b5ed - languageName: node - linkType: hard - -"raf@npm:^3.4.1": - version: 3.4.1 - resolution: "raf@npm:3.4.1" - dependencies: - performance-now: ^2.1.0 - checksum: 50ba284e481c8185dbcf45fc4618ba3aec580bb50c9121385d5698cb6012fe516d2015b1df6dd407a7b7c58d44be8086108236affbce1861edd6b44637c8cd52 - languageName: node - linkType: hard - "rambda@npm:^7.4.0": version: 7.5.0 resolution: "rambda@npm:7.5.0" @@ -30106,20 +28986,6 @@ __metadata: languageName: node linkType: hard -"react-app-polyfill@npm:^3.0.0": - version: 3.0.0 - resolution: "react-app-polyfill@npm:3.0.0" - dependencies: - core-js: ^3.19.2 - object-assign: ^4.1.1 - promise: ^8.1.0 - raf: ^3.4.1 - regenerator-runtime: ^0.13.9 - whatwg-fetch: ^3.6.2 - checksum: 1bb031080af15397d6eb9c69a0c2e93799991f7197a086e4409ba719398f1256b542a3d6c9a34673d516c684eef3e8226c99b335982593851f58f65f6e43571b - languageName: node - linkType: hard - "react-base16-styling@npm:^0.6.0": version: 0.6.0 resolution: "react-base16-styling@npm:0.6.0" @@ -30142,6 +29008,15 @@ __metadata: languageName: node linkType: hard +"react-country-flag@npm:^3.1.0": + version: 3.1.0 + resolution: "react-country-flag@npm:3.1.0" + peerDependencies: + react: ">=16" + checksum: d032dac7d342b6aab8efc77552acc91939a8f78edc158a54972180834ff591e4c01f1f3ecced7eeaabd98cbb26db9ea7ce64892facade3157380a91f226e9161 + languageName: node + linkType: hard + "react-dev-utils@npm:^11.0.4": version: 11.0.4 resolution: "react-dev-utils@npm:11.0.4" @@ -30282,7 +29157,14 @@ __metadata: languageName: node linkType: hard -"react-fast-compare@npm:^3.0.1, react-fast-compare@npm:^3.2.0": +"react-fast-compare@npm:^3.0.1": + version: 3.2.2 + resolution: "react-fast-compare@npm:3.2.2" + checksum: 2071415b4f76a3e6b55c84611c4d24dcb12ffc85811a2840b5a3f1ff2d1a99be1020d9437ee7c6e024c9f4cbb84ceb35e48cf84f28fcb00265ad2dfdd3947704 + languageName: node + linkType: hard + +"react-fast-compare@npm:^3.2.0": version: 3.2.1 resolution: "react-fast-compare@npm:3.2.1" checksum: 209b4dc3a9cc79c074a26ec020459efd8be279accaca612db2edb8ada2a28849ea51cf3d246fc0fafb344949b93a63a43798b6c1787559b0a128571883fe6859 @@ -30495,9 +29377,9 @@ __metadata: languageName: node linkType: hard -"react-player@npm:^2.12.0": - version: 2.12.0 - resolution: "react-player@npm:2.12.0" +"react-player@npm:^2.16.0": + version: 2.16.0 + resolution: "react-player@npm:2.16.0" dependencies: deepmerge: ^4.0.0 load-script: ^1.0.0 @@ -30506,7 +29388,7 @@ __metadata: react-fast-compare: ^3.0.1 peerDependencies: react: ">=16.6.0" - checksum: 77d3e55ed67cd9c1e2300a990d8015d270072daad41f8a0750c32748f3fbfbc5bd2a2f06e78ac6828c2260b84537b9571d0abac31d3e888b74a3dccb59a56365 + checksum: 9cc78a6099fdf06bbb2e1db75aa57461fb152eb6207a00e6e026dde0675b6f4ad02a45cab7b6c18a9f19e001bf9695a5be0cbe7606eca57a0af501ced717fbe9 languageName: node linkType: hard @@ -30522,13 +29404,6 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.11.0": - version: 0.11.0 - resolution: "react-refresh@npm:0.11.0" - checksum: 112178a05b1e0ffeaf5d9fb4e56b4410a34a73adeb04dbf13abdc50d9ac9df2ada83e81485156cca0b3fa296aa3612751b3d6cd13be4464642a43679b819cbc7 - languageName: node - linkType: hard - "react-refresh@npm:^0.14.0": version: 0.14.0 resolution: "react-refresh@npm:0.14.0" @@ -30536,6 +29411,13 @@ __metadata: languageName: node linkType: hard +"react-refresh@npm:^0.14.2": + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: d80db4bd40a36dab79010dc8aa317a5b931f960c0d83c4f3b81f0552cbcf7f29e115b84bb7908ec6a1eb67720fff7023084eff73ece8a7ddc694882478464382 + languageName: node + linkType: hard + "react-remove-scroll-bar@npm:^2.3.3": version: 2.3.4 resolution: "react-remove-scroll-bar@npm:2.3.4" @@ -30643,73 +29525,6 @@ __metadata: languageName: node linkType: hard -"react-scripts@npm:5.0.1": - version: 5.0.1 - resolution: "react-scripts@npm:5.0.1" - dependencies: - "@babel/core": ^7.16.0 - "@pmmmwh/react-refresh-webpack-plugin": ^0.5.3 - "@svgr/webpack": ^5.5.0 - babel-jest: ^27.4.2 - babel-loader: ^8.2.3 - babel-plugin-named-asset-import: ^0.3.8 - babel-preset-react-app: ^10.0.1 - bfj: ^7.0.2 - browserslist: ^4.18.1 - camelcase: ^6.2.1 - case-sensitive-paths-webpack-plugin: ^2.4.0 - css-loader: ^6.5.1 - css-minimizer-webpack-plugin: ^3.2.0 - dotenv: ^10.0.0 - dotenv-expand: ^5.1.0 - eslint: ^8.3.0 - eslint-config-react-app: ^7.0.1 - eslint-webpack-plugin: ^3.1.1 - file-loader: ^6.2.0 - fs-extra: ^10.0.0 - fsevents: ^2.3.2 - html-webpack-plugin: ^5.5.0 - identity-obj-proxy: ^3.0.0 - jest: ^27.4.3 - jest-resolve: ^27.4.2 - jest-watch-typeahead: ^1.0.0 - mini-css-extract-plugin: ^2.4.5 - postcss: ^8.4.4 - postcss-flexbugs-fixes: ^5.0.2 - postcss-loader: ^6.2.1 - postcss-normalize: ^10.0.1 - postcss-preset-env: ^7.0.1 - prompts: ^2.4.2 - react-app-polyfill: ^3.0.0 - react-dev-utils: ^12.0.1 - react-refresh: ^0.11.0 - resolve: ^1.20.0 - resolve-url-loader: ^4.0.0 - sass-loader: ^12.3.0 - semver: ^7.3.5 - source-map-loader: ^3.0.0 - style-loader: ^3.3.1 - tailwindcss: ^3.0.2 - terser-webpack-plugin: ^5.2.5 - webpack: ^5.64.4 - webpack-dev-server: ^4.6.0 - webpack-manifest-plugin: ^4.0.2 - workbox-webpack-plugin: ^6.4.1 - peerDependencies: - react: ">= 16" - typescript: ^3.2.1 || ^4 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - typescript: - optional: true - bin: - react-scripts: bin/react-scripts.js - checksum: 92afa2f245c7092ccc97d5609dc7a2130616262e34da7f15072d9442e2d2e1d4909a91022abd1faac1336eb17c5525a10d9bd43e1ae374c7ec941ca20addca68 - languageName: node - linkType: hard - "react-select@npm:^5.4.0": version: 5.7.0 resolution: "react-select@npm:5.7.0" @@ -30788,23 +29603,6 @@ __metadata: languageName: node linkType: hard -"react-virtualized@npm:9.22.5": - version: 9.22.5 - resolution: "react-virtualized@npm:9.22.5" - dependencies: - "@babel/runtime": ^7.7.2 - clsx: ^1.0.4 - dom-helpers: ^5.1.3 - loose-envify: ^1.4.0 - prop-types: ^15.7.2 - react-lifecycles-compat: ^3.0.4 - peerDependencies: - react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 - react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 - checksum: 01f5ed8d8db7c831d592172946c2b61fcb409bf6cbc84500468f12d6cf9b7e60453e332fac02dd608480d23cb14421f7f17716393e623e83bb10a7763fad9e2c - languageName: node - linkType: hard - "react@npm:17.0.2": version: 17.0.2 resolution: "react@npm:17.0.2" @@ -30815,15 +29613,6 @@ __metadata: languageName: node linkType: hard -"read-cache@npm:^1.0.0": - version: 1.0.0 - resolution: "read-cache@npm:1.0.0" - dependencies: - pify: ^2.3.0 - checksum: cffc728b9ede1e0667399903f9ecaf3789888b041c46ca53382fa3a06303e5132774dc0a96d0c16aa702dbac1ea0833d5a868d414f5ab2af1e1438e19e6657c6 - languageName: node - linkType: hard - "read-pkg-up@npm:^7.0.1": version: 7.0.1 resolution: "read-pkg-up@npm:7.0.1" @@ -30847,17 +29636,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" - dependencies: - inherits: ^2.0.3 - string_decoder: ^1.1.1 - util-deprecate: ^1.0.1 - checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 - languageName: node - linkType: hard - "readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" @@ -30873,6 +29651,17 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + languageName: node + linkType: hard + "readdir-glob@npm:^1.0.0": version: 1.1.2 resolution: "readdir-glob@npm:1.1.2" @@ -30979,6 +29768,21 @@ __metadata: languageName: node linkType: hard +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.6 + resolution: "reflect.getprototypeof@npm:1.0.6" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.1 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + globalthis: ^1.0.3 + which-builtin-type: ^1.1.3 + checksum: 88e9e65a7eaa0bf8e9a8bbf8ac07571363bc333ba8b6769ed5e013e0042ed7c385e97fae9049510b3b5fe4b42472d8f32de9ce8ce84902bc4297d4bbe3777dba + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.0 resolution: "regenerate-unicode-properties@npm:10.1.0" @@ -30995,7 +29799,7 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.9": +"regenerator-runtime@npm:^0.13.11": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 @@ -31037,13 +29841,6 @@ __metadata: languageName: node linkType: hard -"regex-parser@npm:^2.2.11": - version: 2.2.11 - resolution: "regex-parser@npm:2.2.11" - checksum: 78200331ec0cc372302d287a4946c38681eb5fe435453fca572cb53cac0ba579e5eb3b9e25eac24c0c80a555fb3ea7a637814a35da1e9bc88e8819110ae5de24 - languageName: node - linkType: hard - "regexp-tree@npm:^0.1.27": version: 0.1.27 resolution: "regexp-tree@npm:0.1.27" @@ -31075,10 +29872,15 @@ __metadata: languageName: node linkType: hard -"regexpp@npm:^3.2.0": - version: 3.2.0 - resolution: "regexpp@npm:3.2.0" - checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 +"regexp.prototype.flags@npm:^1.5.2": + version: 1.5.2 + resolution: "regexp.prototype.flags@npm:1.5.2" + dependencies: + call-bind: ^1.0.6 + define-properties: ^1.2.1 + es-errors: ^1.3.0 + set-function-name: ^2.0.1 + checksum: d7f333667d5c564e2d7a97c56c3075d64c722c9bb51b2b4df6822b2e8096d623a5e63088fb4c83df919b6951ef8113841de8b47de7224872fa6838bc5d8a7d64 languageName: node linkType: hard @@ -31410,13 +30212,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf - languageName: node - linkType: hard - "resolve-from@npm:^3.0.0": version: 3.0.0 resolution: "resolve-from@npm:3.0.0" @@ -31431,7 +30226,14 @@ __metadata: languageName: node linkType: hard -"resolve-global@npm:1.0.0, resolve-global@npm:^1.0.0": +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + +"resolve-global@npm:^1.0.0": version: 1.0.0 resolution: "resolve-global@npm:1.0.0" dependencies: @@ -31454,27 +30256,6 @@ __metadata: languageName: node linkType: hard -"resolve-url-loader@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-url-loader@npm:4.0.0" - dependencies: - adjust-sourcemap-loader: ^4.0.0 - convert-source-map: ^1.7.0 - loader-utils: ^2.0.0 - postcss: ^7.0.35 - source-map: 0.6.1 - peerDependencies: - rework: 1.0.1 - rework-visit: 1.0.0 - peerDependenciesMeta: - rework: - optional: true - rework-visit: - optional: true - checksum: 8e5bcf97867a5e128b6b86988d445b7fbd1214f7c5c0214332f835e8607438e153d9b3899799a03ddd03540254bb591e572feb330981a4478be934f6f045c925 - languageName: node - linkType: hard - "resolve-url@npm:^0.2.1": version: 0.2.1 resolution: "resolve-url@npm:0.2.1" @@ -31482,13 +30263,6 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^1.1.0": - version: 1.1.1 - resolution: "resolve.exports@npm:1.1.1" - checksum: 485aa10082eb388a569d696e17ad7b16f4186efc97dd34eadd029d95b811f21ffee13b1b733198bb4584dbb3cb296aa6f141835221fb7613b9606b84f1386655 - languageName: node - linkType: hard - "resolve.exports@npm:^2.0.0": version: 2.0.0 resolution: "resolve.exports@npm:2.0.0" @@ -31496,7 +30270,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2": +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2": version: 1.22.3 resolution: "resolve@npm:1.22.3" dependencies: @@ -31522,20 +30296,20 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.4": - version: 2.0.0-next.4 - resolution: "resolve@npm:2.0.0-next.4" +"resolve@npm:^2.0.0-next.5": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: c438ac9a650f2030fd074219d7f12ceb983b475da2d89ad3d6dd05fbf6b7a0a8cd37d4d10b43cb1f632bc19f22246ab7f36ebda54d84a29bfb2910a0680906d3 + checksum: a73ac69a1c4bd34c56b213d91f5b17ce390688fdb4a1a96ed3025cc7e08e7bfb90b3a06fcce461780cb0b589c958afcb0080ab802c71c01a7ecc8c64feafc89f languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin": version: 1.22.3 resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" dependencies: @@ -31561,16 +30335,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^2.0.0-next.4#~builtin": - version: 2.0.0-next.4 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=c3c19d" +"resolve@patch:resolve@^2.0.0-next.5#~builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=c3c19d" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 4bf9f4f8a458607af90518ff73c67a4bc1a38b5a23fef2bb0ccbd45e8be89820a1639b637b0ba377eb2be9eedfb1739a84cde24fe4cd670c8207d8fea922b011 + checksum: 064d09c1808d0c51b3d90b5d27e198e6d0c5dad0eb57065fd40803d6a20553e5398b07f76739d69cbabc12547058bec6b32106ea66622375fb0d7e8fca6a846c languageName: node linkType: hard @@ -31704,20 +30478,6 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-terser@npm:^7.0.0": - version: 7.0.2 - resolution: "rollup-plugin-terser@npm:7.0.2" - dependencies: - "@babel/code-frame": ^7.10.4 - jest-worker: ^26.2.1 - serialize-javascript: ^4.0.0 - terser: ^5.0.0 - peerDependencies: - rollup: ^2.0.0 - checksum: af84bb7a7a894cd00852b6486528dfb8653cf94df4c126f95f389a346f401d054b08c46bee519a2ab6a22b33804d1d6ac6d8c90b1b2bf8fffb097eed73fc3c72 - languageName: node - linkType: hard - "rollup@npm:^2.25.0 || ^3.3.0, rollup@npm:^3.18.0": version: 3.20.2 resolution: "rollup@npm:3.20.2" @@ -31732,17 +30492,66 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^2.43.1": - version: 2.79.1 - resolution: "rollup@npm:2.79.1" +"rollup@npm:^4.13.0": + version: 4.18.0 + resolution: "rollup@npm:4.18.0" dependencies: + "@rollup/rollup-android-arm-eabi": 4.18.0 + "@rollup/rollup-android-arm64": 4.18.0 + "@rollup/rollup-darwin-arm64": 4.18.0 + "@rollup/rollup-darwin-x64": 4.18.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.18.0 + "@rollup/rollup-linux-arm-musleabihf": 4.18.0 + "@rollup/rollup-linux-arm64-gnu": 4.18.0 + "@rollup/rollup-linux-arm64-musl": 4.18.0 + "@rollup/rollup-linux-powerpc64le-gnu": 4.18.0 + "@rollup/rollup-linux-riscv64-gnu": 4.18.0 + "@rollup/rollup-linux-s390x-gnu": 4.18.0 + "@rollup/rollup-linux-x64-gnu": 4.18.0 + "@rollup/rollup-linux-x64-musl": 4.18.0 + "@rollup/rollup-win32-arm64-msvc": 4.18.0 + "@rollup/rollup-win32-ia32-msvc": 4.18.0 + "@rollup/rollup-win32-x64-msvc": 4.18.0 + "@types/estree": 1.0.5 fsevents: ~2.3.2 dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true fsevents: optional: true bin: rollup: dist/bin/rollup - checksum: 6a2bf167b3587d4df709b37d149ad0300692cc5deb510f89ac7bdc77c8738c9546ae3de9322b0968e1ed2b0e984571f5f55aae28fa7de4cfcb1bc5402a4e2be6 + checksum: 54cde921e763017ce952ba76ec77d58dd9c01e3536c3be628d4af8c59d9b2f0e1e6a11b30fda44845c7b74098646cd972feb3bcd2f4a35d3293366f2eeb0a39e languageName: node linkType: hard @@ -31853,6 +30662,18 @@ __metadata: languageName: node linkType: hard +"safe-array-concat@npm:^1.1.2": + version: 1.1.2 + resolution: "safe-array-concat@npm:1.1.2" + dependencies: + call-bind: ^1.0.7 + get-intrinsic: ^1.2.4 + has-symbols: ^1.0.3 + isarray: ^2.0.5 + checksum: a3b259694754ddfb73ae0663829e396977b99ff21cbe8607f35a469655656da8e271753497e59da8a7575baa94d2e684bea3e10ddd74ba046c0c9b4418ffa0c4 + languageName: node + linkType: hard + "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -31878,6 +30699,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.3": + version: 1.0.3 + resolution: "safe-regex-test@npm:1.0.3" + dependencies: + call-bind: ^1.0.6 + es-errors: ^1.3.0 + is-regex: ^1.1.4 + checksum: 6c7d392ff1ae7a3ae85273450ed02d1d131f1d2c76e177d6b03eb88e6df8fa062639070e7d311802c1615f351f18dc58f9454501c58e28d5ffd9b8f502ba6489 + languageName: node + linkType: hard + "safe-regex@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex@npm:1.1.0" @@ -31901,54 +30733,13 @@ __metadata: languageName: node linkType: hard -"sanitize.css@npm:*": - version: 13.0.0 - resolution: "sanitize.css@npm:13.0.0" - checksum: a99ca77c4d135800a4a93c3555e5aa4a2eb040a833df716dbe9132e1f2086fbf9acdb8021a579f40dcf77166d2d50f3358b4b6121a247d26fed5a0e6f5af3bb7 - languageName: node - linkType: hard - -"sass-loader@npm:^12.3.0": - version: 12.6.0 - resolution: "sass-loader@npm:12.6.0" - dependencies: - klona: ^2.0.4 - neo-async: ^2.6.2 - peerDependencies: - fibers: ">= 3.1.0" - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - sass: ^1.3.0 - sass-embedded: "*" - webpack: ^5.0.0 - peerDependenciesMeta: - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - checksum: 5d73a428588150f704016aa27397941bb9246cecd2ee083b573e95d969fc080ac6a16f2fe1cc64aca08f6e70da6f3c586ee68f0efc9f527fecc360e5f1c299ec - languageName: node - linkType: hard - -"sax@npm:^1.2.4, sax@npm:~1.2.4": +"sax@npm:^1.2.4": version: 1.2.4 resolution: "sax@npm:1.2.4" checksum: d3df7d32b897a2c2f28e941f732c71ba90e27c24f62ee918bd4d9a8cfb3553f2f81e5493c7f0be94a11c1911b643a9108f231dd6f60df3fa9586b5d2e3e9e1fe languageName: node linkType: hard -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" - dependencies: - xmlchars: ^2.2.0 - checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 - languageName: node - linkType: hard - "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -32076,17 +30867,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.3.7": - version: 7.3.7 - resolution: "semver@npm:7.3.7" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 - languageName: node - linkType: hard - "semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" @@ -32116,6 +30896,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.0": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 40f6a95101e8d854357a644da1b8dd9d93ce786d5c6a77227bc69dbb17bea83d0d1d1d7c4cd5920a6df909f48e8bd8a5909869535007f90278289f2451d0292d + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -32137,15 +30926,6 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^4.0.0": - version: 4.0.0 - resolution: "serialize-javascript@npm:4.0.0" - dependencies: - randombytes: ^2.1.0 - checksum: 3273b3394b951671fcf388726e9577021870dfbf85e742a1183fb2e91273e6101bdccea81ff230724f6659a7ee4cef924b0ff9baca32b79d9384ec37caf07302 - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.0": version: 6.0.1 resolution: "serialize-javascript@npm:6.0.1" @@ -32205,6 +30985,20 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 + languageName: node + linkType: hard + "set-function-name@npm:^2.0.0": version: 2.0.1 resolution: "set-function-name@npm:2.0.1" @@ -32216,6 +31010,18 @@ __metadata: languageName: node linkType: hard +"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + functions-have-names: ^1.2.3 + has-property-descriptors: ^1.0.2 + checksum: d6229a71527fd0404399fc6227e0ff0652800362510822a291925c9d7b48a1ca1a468b11b281471c34cd5a2da0db4f5d7ff315a61d26655e77f6e971e6d0c80f + languageName: node + linkType: hard + "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -32335,6 +31141,18 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: ^1.0.7 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + object-inspect: ^1.13.1 + checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 + languageName: node + linkType: hard + "siginfo@npm:^2.0.0": version: 2.0.0 resolution: "siginfo@npm:2.0.0" @@ -32349,7 +31167,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 @@ -32465,6 +31283,16 @@ __metadata: languageName: node linkType: hard +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: ^3.0.4 + tslib: ^2.0.3 + checksum: 0a7a79900bbb36f8aaa922cf111702a3647ac6165736d5dc96d3ef367efc50465cac70c53cd172c382b022dac72ec91710608e5393de71f76d7142e6fd80e8a3 + languageName: node + linkType: hard + "snapdragon-node@npm:^2.0.1": version: 2.1.1 resolution: "snapdragon-node@npm:2.1.1" @@ -32551,30 +31379,17 @@ __metadata: languageName: node linkType: hard -"source-list-map@npm:^2.0.0, source-list-map@npm:^2.0.1": - version: 2.0.1 - resolution: "source-list-map@npm:2.0.1" - checksum: 806efc6f75e7cd31e4815e7a3aaf75a45c704871ea4075cb2eb49882c6fca28998f44fc5ac91adb6de03b2882ee6fb02f951fdc85e6a22b338c32bfe19557938 - languageName: node - linkType: hard - -"source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2": +"source-map-js@npm:^1.0.2": version: 1.0.2 resolution: "source-map-js@npm:1.0.2" checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c languageName: node linkType: hard -"source-map-loader@npm:^3.0.0": - version: 3.0.2 - resolution: "source-map-loader@npm:3.0.2" - dependencies: - abab: ^2.0.5 - iconv-lite: ^0.6.3 - source-map-js: ^1.0.1 - peerDependencies: - webpack: ^5.0.0 - checksum: d5a4e2ab190c93ae5cba68c247fbaa9fd560333c91060602b634c399a8a4b3205b8c07714c3bcdb0a11c6cc5476c06256bd8e824e71fbbb7981e8fad5cba4a00 +"source-map-js@npm:^1.2.0": + version: 1.2.0 + resolution: "source-map-js@npm:1.2.0" + checksum: 791a43306d9223792e84293b00458bf102a8946e7188f3db0e4e22d8d530b5f80a4ce468eb5ec0bf585443ad55ebbd630bf379c98db0b1f317fd902500217f97 languageName: node linkType: hard @@ -32601,7 +31416,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.3, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.20, source-map-support@npm:~0.5.6": +"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.3, source-map-support@npm:~0.5.20, source-map-support@npm:~0.5.6": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -32618,13 +31433,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 - languageName: node - linkType: hard - "source-map@npm:^0.5.0, source-map@npm:^0.5.6, source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" @@ -32632,26 +31440,10 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.7.3": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5 - languageName: node - linkType: hard - -"source-map@npm:^0.8.0-beta.0": - version: 0.8.0-beta.0 - resolution: "source-map@npm:0.8.0-beta.0" - dependencies: - whatwg-url: ^7.0.0 - checksum: e94169be6461ab0ac0913313ad1719a14c60d402bd22b0ad96f4a6cffd79130d91ab5df0a5336a326b04d2df131c1409f563c9dc0d21a6ca6239a44b6c8dbd92 - languageName: node - linkType: hard - -"sourcemap-codec@npm:^1.4.8": - version: 1.4.8 - resolution: "sourcemap-codec@npm:1.4.8" - checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 languageName: node linkType: hard @@ -32746,12 +31538,10 @@ __metadata: languageName: node linkType: hard -"split2@npm:^3.0.0": - version: 3.2.2 - resolution: "split2@npm:3.2.2" - dependencies: - readable-stream: ^3.0.0 - checksum: 8127ddbedd0faf31f232c0e9192fede469913aa8982aa380752e0463b2e31c2359ef6962eb2d24c125bac59eeec76873678d723b1c7ff696216a1cd071e3994a +"split2@npm:^4.0.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: 05d54102546549fe4d2455900699056580cca006c0275c334611420f854da30ac999230857a85fdd9914dc2109ae50f80fda43d2a445f2aa86eccdc1dfce779d languageName: node linkType: hard @@ -32848,13 +31638,6 @@ __metadata: languageName: node linkType: hard -"stackframe@npm:^1.3.4": - version: 1.3.4 - resolution: "stackframe@npm:1.3.4" - checksum: bae1596873595c4610993fa84f86a3387d67586401c1816ea048c0196800c0646c4d2da98c2ee80557fd9eff05877efe33b91ba6cd052658ed96ddc85d19067d - languageName: node - linkType: hard - "staged-git-files@npm:1.1.2": version: 1.1.2 resolution: "staged-git-files@npm:1.1.2" @@ -32922,6 +31705,13 @@ __metadata: languageName: node linkType: hard +"std-env@npm:^3.5.0": + version: 3.7.0 + resolution: "std-env@npm:3.7.0" + checksum: 4f489d13ff2ab838c9acd4ed6b786b51aa52ecacdfeaefe9275fcb220ff2ac80c6e95674723508fd29850a694569563a8caaaea738eb82ca16429b3a0b50e510 + languageName: node + linkType: hard + "stop-iteration-iterator@npm:^1.0.0": version: 1.0.0 resolution: "stop-iteration-iterator@npm:1.0.0" @@ -33018,23 +31808,6 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^5.0.1": - version: 5.0.1 - resolution: "string-length@npm:5.0.1" - dependencies: - char-regex: ^2.0.0 - strip-ansi: ^7.0.1 - checksum: 71f73b8c8a743e01dcd001bcf1b197db78d5e5e53b12bd898cddaf0961be09f947dfd8c429783db3694b55b05cb5a51de6406c5085ff1aaa10c4771440c8396d - languageName: node - linkType: hard - -"string-natural-compare@npm:^3.0.1": - version: 3.0.1 - resolution: "string-natural-compare@npm:3.0.1" - checksum: 65910d9995074086e769a68728395effbba9b7186be5b4c16a7fad4f4ef50cae95ca16e3e9086e019cbb636ae8daac9c7b8fe91b5f21865c5c0f26e3c0725406 - languageName: node - linkType: hard - "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -33078,19 +31851,23 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.6, string.prototype.matchall@npm:^4.0.8": - version: 4.0.8 - resolution: "string.prototype.matchall@npm:4.0.8" +"string.prototype.matchall@npm:^4.0.11": + version: 4.0.11 + resolution: "string.prototype.matchall@npm:4.0.11" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - get-intrinsic: ^1.1.3 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.4.3 - side-channel: ^1.0.4 - checksum: 952da3a818de42ad1c10b576140a5e05b4de7b34b8d9dbf00c3ac8c1293e9c0f533613a39c5cda53e0a8221f2e710bc2150e730b1c2278d60004a8a35726efb6 + internal-slot: ^1.0.7 + regexp.prototype.flags: ^1.5.2 + set-function-name: ^2.0.2 + side-channel: ^1.0.6 + checksum: 6ac6566ed065c0c8489c91156078ca077db8ff64d683fda97ae652d00c52dfa5f39aaab0a710d8243031a857fd2c7c511e38b45524796764d25472d10d7075ae languageName: node linkType: hard @@ -33105,6 +31882,18 @@ __metadata: languageName: node linkType: hard +"string.prototype.trim@npm:^1.2.9": + version: 1.2.9 + resolution: "string.prototype.trim@npm:1.2.9" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.0 + es-object-atoms: ^1.0.0 + checksum: ea2df6ec1e914c9d4e2dc856fa08228e8b1be59b59e50b17578c94a66a176888f417264bb763d4aac638ad3b3dad56e7a03d9317086a178078d131aa293ba193 + languageName: node + linkType: hard + "string.prototype.trimend@npm:^1.0.6": version: 1.0.6 resolution: "string.prototype.trimend@npm:1.0.6" @@ -33127,6 +31916,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimend@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimend@npm:1.0.8" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: cc3bd2de08d8968a28787deba9a3cb3f17ca5f9f770c91e7e8fa3e7d47f079bad70fadce16f05dda9f261788be2c6e84a942f618c3bed31e42abc5c1084f8dfd + languageName: node + linkType: hard + "string.prototype.trimstart@npm:^1.0.6": version: 1.0.6 resolution: "string.prototype.trimstart@npm:1.0.6" @@ -33149,6 +31949,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: df1007a7f580a49d692375d996521dc14fd103acda7f3034b3c558a60b82beeed3a64fa91e494e164581793a8ab0ae2f59578a49896a7af6583c1f20472bce96 + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -33244,13 +32055,6 @@ __metadata: languageName: node linkType: hard -"strip-comments@npm:^2.0.1": - version: 2.0.1 - resolution: "strip-comments@npm:2.0.1" - checksum: 36cd122e1c27b5be69df87e1687770a62fe183bdee9f3ff5cf85d30bbc98280afc012581f2fd50c7ad077c90f656f272560c9d2e520d28604b8b7ea3bc87d6f9 - languageName: node - linkType: hard - "strip-eof@npm:^1.0.0": version: 1.0.0 resolution: "strip-eof@npm:1.0.0" @@ -33304,6 +32108,15 @@ __metadata: languageName: node linkType: hard +"strip-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "strip-literal@npm:2.1.0" + dependencies: + js-tokens: ^9.0.0 + checksum: 37c2072634d2de11a3644fe1bcf4abd566d85e89f0d8e8b10d35d04e7bef962e7c112fbe5b805ce63e59dfacedc240356eeef57976351502966b7c64b742c6ac + languageName: node + linkType: hard + "stubs@npm:^3.0.0": version: 3.0.0 resolution: "stubs@npm:3.0.0" @@ -33311,15 +32124,6 @@ __metadata: languageName: node linkType: hard -"style-loader@npm:^3.3.1": - version: 3.3.1 - resolution: "style-loader@npm:3.3.1" - peerDependencies: - webpack: ^5.0.0 - checksum: 470feef680f59e2fce4d6601b5c55b88c01ad8d1dd693c528ffd591ff5fd7c01a4eff3bdbe62f26f847d6bd2430c9ab594be23307cfe7a3446ab236683f0d066 - languageName: node - linkType: hard - "style-to-object@npm:0.3.0, style-to-object@npm:^0.3.0": version: 0.3.0 resolution: "style-to-object@npm:0.3.0" @@ -33379,6 +32183,13 @@ __metadata: languageName: node linkType: hard +"stylis@npm:4.2.0": + version: 4.2.0 + resolution: "stylis@npm:4.2.0" + checksum: 0eb6cc1b866dc17a6037d0a82ac7fa877eba6a757443e79e7c4f35bacedbf6421fadcab4363b39667b43355cbaaa570a3cde850f776498e5450f32ed2f9b7584 + languageName: node + linkType: hard + "superagent@npm:^8.0.5": version: 8.0.9 resolution: "superagent@npm:8.0.9" @@ -33473,7 +32284,7 @@ __metadata: languageName: node linkType: hard -"supports-hyperlinks@npm:^2.0.0, supports-hyperlinks@npm:^2.2.0": +"supports-hyperlinks@npm:^2.2.0": version: 2.3.0 resolution: "supports-hyperlinks@npm:2.3.0" dependencies: @@ -33490,36 +32301,13 @@ __metadata: languageName: node linkType: hard -"svg-parser@npm:^2.0.2, svg-parser@npm:^2.0.4": +"svg-parser@npm:^2.0.4": version: 2.0.4 resolution: "svg-parser@npm:2.0.4" checksum: b3de6653048212f2ae7afe4a423e04a76ec6d2d06e1bf7eacc618a7c5f7df7faa5105561c57b94579ec831fbbdbf5f190ba56a9205ff39ed13eabdf8ab086ddf languageName: node linkType: hard -"svgo@npm:^1.2.2": - version: 1.3.2 - resolution: "svgo@npm:1.3.2" - dependencies: - chalk: ^2.4.1 - coa: ^2.0.2 - css-select: ^2.0.0 - css-select-base-adapter: ^0.1.1 - css-tree: 1.0.0-alpha.37 - csso: ^4.0.2 - js-yaml: ^3.13.1 - mkdirp: ~0.5.1 - object.values: ^1.1.0 - sax: ~1.2.4 - stable: ^0.1.8 - unquote: ~1.1.1 - util.promisify: ~1.0.0 - bin: - svgo: ./bin/svgo - checksum: 28a5680a61245eb4a1603bc03459095bb01ad5ebd23e95882d886c3c81752313c0a9a9fe48dd0bcbb9a27c52e11c603640df952971573b2b550d9e15a9ee6116 - languageName: node - linkType: hard - "svgo@npm:^2.7.0, svgo@npm:^2.8.0": version: 2.8.0 resolution: "svgo@npm:2.8.0" @@ -33568,42 +32356,6 @@ __metadata: languageName: node linkType: hard -"tailwindcss@npm:^3.0.2": - version: 3.2.7 - resolution: "tailwindcss@npm:3.2.7" - dependencies: - arg: ^5.0.2 - chokidar: ^3.5.3 - color-name: ^1.1.4 - detective: ^5.2.1 - didyoumean: ^1.2.2 - dlv: ^1.1.3 - fast-glob: ^3.2.12 - glob-parent: ^6.0.2 - is-glob: ^4.0.3 - lilconfig: ^2.0.6 - micromatch: ^4.0.5 - normalize-path: ^3.0.0 - object-hash: ^3.0.0 - picocolors: ^1.0.0 - postcss: ^8.0.9 - postcss-import: ^14.1.0 - postcss-js: ^4.0.0 - postcss-load-config: ^3.1.4 - postcss-nested: 6.0.0 - postcss-selector-parser: ^6.0.11 - postcss-value-parser: ^4.2.0 - quick-lru: ^5.1.1 - resolve: ^1.22.1 - peerDependencies: - postcss: ^8.0.9 - bin: - tailwind: lib/cli.js - tailwindcss: lib/cli.js - checksum: 819446bf67acea1fc738f345d80f328b7bb6e6ef4b24070249a11219307045881cf97baed6258cbdcede7fa18886e9c9c41fd0fa087b3e987cf2948560a2f164 - languageName: node - linkType: hard - "tapable@npm:^1.0.0": version: 1.1.3 resolution: "tapable@npm:1.1.3" @@ -33739,18 +32491,6 @@ __metadata: languageName: node linkType: hard -"tempy@npm:^0.6.0": - version: 0.6.0 - resolution: "tempy@npm:0.6.0" - dependencies: - is-stream: ^2.0.0 - temp-dir: ^2.0.0 - type-fest: ^0.16.0 - unique-string: ^2.0.0 - checksum: dd09c8b6615e4b785ea878e9a18b17ac0bfe5dccf5a0e205ebd274bb356356aff3f5c90a6c917077d51c75efb7648b113a78b0492e2ffc81a7c9912eb872ac52 - languageName: node - linkType: hard - "tempy@npm:^1.0.1": version: 1.0.1 resolution: "tempy@npm:1.0.1" @@ -33764,17 +32504,7 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:^2.0.0": - version: 2.1.1 - resolution: "terminal-link@npm:2.1.1" - dependencies: - ansi-escapes: ^4.2.1 - supports-hyperlinks: ^2.0.0 - checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f - languageName: node - linkType: hard - -"terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.2.5, terser-webpack-plugin@npm:^5.3.3": +"terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.3.3": version: 5.3.6 resolution: "terser-webpack-plugin@npm:5.3.6" dependencies: @@ -33809,7 +32539,7 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.0.0, terser@npm:^5.10.0, terser@npm:^5.14.1": +"terser@npm:^5.10.0, terser@npm:^5.14.1": version: 5.16.4 resolution: "terser@npm:5.16.4" dependencies: @@ -33841,10 +32571,10 @@ __metadata: languageName: node linkType: hard -"text-extensions@npm:^1.0.0": - version: 1.9.0 - resolution: "text-extensions@npm:1.9.0" - checksum: 56a9962c1b62d39b2bcb369b7558ca85c1b55e554b38dfd725edcc0a1babe5815782a60c17ff6b839093b163dfebb92b804208aaaea616ec7571c8059ae0cf44 +"text-extensions@npm:^2.0.0": + version: 2.4.0 + resolution: "text-extensions@npm:2.4.0" + checksum: 9bdbc9959e004ccc86a6ec076d6c5bb6765978263e9d0d5febb640d7675c09919ea912f3fe9d50b68c3c7c43cc865610a7cb24954343abb31f74c205fbae4e45 languageName: node linkType: hard @@ -33878,13 +32608,6 @@ __metadata: languageName: node linkType: hard -"throat@npm:^6.0.1": - version: 6.0.2 - resolution: "throat@npm:6.0.2" - checksum: 463093768d4884772020bb18b0f33d3fec8a2b4173f7da3958dfbe88ff0f1e686ffadf0f87333bf6f6db7306b1450efc7855df69c78bf0bfa61f6d84a3361fe8 - languageName: node - linkType: hard - "throttleit@npm:^1.0.0": version: 1.0.0 resolution: "throttleit@npm:1.0.0" @@ -33902,15 +32625,6 @@ __metadata: languageName: node linkType: hard -"through2@npm:^4.0.0": - version: 4.0.2 - resolution: "through2@npm:4.0.2" - dependencies: - readable-stream: 3 - checksum: ac7430bd54ccb7920fd094b1c7ff3e1ad6edd94202e5528331253e5fde0cc56ceaa690e8df9895de2e073148c52dfbe6c4db74cacae812477a35660090960cc0 - languageName: node - linkType: hard - "through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.1": version: 2.3.8 resolution: "through@npm:2.3.8" @@ -33960,10 +32674,10 @@ __metadata: languageName: node linkType: hard -"tinypool@npm:^0.4.0": - version: 0.4.0 - resolution: "tinypool@npm:0.4.0" - checksum: 8abcac9e784793499f1eeeace8290c026454b9d7338c74029ce6a821643bab8dcab7caeb4051e39006baf681d6a62d57c3319e9c0f6e2317a45ab0fdbd76ee26 +"tinybench@npm:^2.5.1": + version: 2.8.0 + resolution: "tinybench@npm:2.8.0" + checksum: 024a307c6a71f6e2903e110952457ee3dfa606093b45d7f49efcfd01d452650e099474080677ff650b0fd76b49074425ac68ff2a70561699a78515a278bf0862 languageName: node linkType: hard @@ -33974,6 +32688,13 @@ __metadata: languageName: node linkType: hard +"tinypool@npm:^0.8.3": + version: 0.8.4 + resolution: "tinypool@npm:0.8.4" + checksum: d40c40e062d5eeae85dadc39294dde6bc7b9a7a7cf0c972acbbe5a2b42491dfd4c48381c1e48bbe02aff4890e63de73d115b2e7de2ce4c81356aa5e654a43caf + languageName: node + linkType: hard + "tinyspy@npm:^2.1.0": version: 2.1.0 resolution: "tinyspy@npm:2.1.0" @@ -33981,6 +32702,13 @@ __metadata: languageName: node linkType: hard +"tinyspy@npm:^2.2.0": + version: 2.2.1 + resolution: "tinyspy@npm:2.2.1" + checksum: 170d6232e87f9044f537b50b406a38fbfd6f79a261cd12b92879947bd340939a833a678632ce4f5c4a6feab4477e9c21cd43faac3b90b68b77dd0536c4149736 + languageName: node + linkType: hard + "titleize@npm:^3.0.0": version: 3.0.0 resolution: "titleize@npm:3.0.0" @@ -34095,7 +32823,7 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0, tough-cookie@npm:^4.1.2, tough-cookie@npm:^4.1.3": +"tough-cookie@npm:^4.1.2, tough-cookie@npm:^4.1.3": version: 4.1.3 resolution: "tough-cookie@npm:4.1.3" dependencies: @@ -34126,24 +32854,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^1.0.1": - version: 1.0.1 - resolution: "tr46@npm:1.0.1" - dependencies: - punycode: ^2.1.0 - checksum: 96d4ed46bc161db75dbf9247a236ea0bfcaf5758baae6749e92afab0bc5a09cb59af21788ede7e55080f2bf02dce3e4a8f2a484cc45164e29f4b5e68f7cbcc1a - languageName: node - linkType: hard - -"tr46@npm:^2.1.0": - version: 2.1.0 - resolution: "tr46@npm:2.1.0" - dependencies: - punycode: ^2.1.1 - checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 - languageName: node - linkType: hard - "tr46@npm:^4.1.1": version: 4.1.1 resolution: "tr46@npm:4.1.1" @@ -34169,13 +32879,6 @@ __metadata: languageName: node linkType: hard -"trim-newlines@npm:^3.0.0": - version: 3.0.1 - resolution: "trim-newlines@npm:3.0.1" - checksum: b530f3fadf78e570cf3c761fb74fef655beff6b0f84b29209bac6c9622db75ad1417f4a7b5d54c96605dcd72734ad44526fef9f396807b90839449eb543c6206 - languageName: node - linkType: hard - "trim-trailing-lines@npm:^1.0.0": version: 1.1.4 resolution: "trim-trailing-lines@npm:1.1.4" @@ -34211,13 +32914,6 @@ __metadata: languageName: node linkType: hard -"tryer@npm:^1.0.1": - version: 1.0.1 - resolution: "tryer@npm:1.0.1" - checksum: 1cf14d7f67c79613f054b569bfc9a89c7020d331573a812dfcf7437244e8f8e6eb6893b210cbd9cc217f67c1d72617f89793df231e4fe7d53634ed91cf3a89d1 - languageName: node - linkType: hard - "ts-api-utils@npm:^1.0.1": version: 1.0.3 resolution: "ts-api-utils@npm:1.0.3" @@ -34227,6 +32923,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: c746ddabfdffbf16cb0b0db32bb287236a19e583057f8649ee7c49995bb776e1d3ef384685181c11a1a480369e022ca97512cb08c517b2d2bd82c83754c97012 + languageName: node + linkType: hard + "ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0": version: 2.2.0 resolution: "ts-dedent@npm:2.2.0" @@ -34274,39 +32979,6 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.1.2": - version: 29.1.2 - resolution: "ts-jest@npm:29.1.2" - dependencies: - bs-logger: 0.x - fast-json-stable-stringify: 2.x - jest-util: ^29.0.0 - json5: ^2.2.3 - lodash.memoize: 4.x - make-error: 1.x - semver: ^7.5.3 - yargs-parser: ^21.0.1 - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 - typescript: ">=4.3 <6" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - bin: - ts-jest: cli.js - checksum: a0ce0affc1b716c78c9ab55837829c42cb04b753d174a5c796bb1ddf9f0379fc20647b76fbe30edb30d9b23181908138d6b4c51ef2ae5e187b66635c295cefd5 - languageName: node - linkType: hard - "ts-loader@npm:^7.0.5": version: 7.0.5 resolution: "ts-loader@npm:7.0.5" @@ -34375,15 +33047,17 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1": - version: 3.14.1 - resolution: "tsconfig-paths@npm:3.14.1" - dependencies: - "@types/json5": ^0.0.29 - json5: ^1.0.1 - minimist: ^1.2.6 - strip-bom: ^3.0.0 - checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d +"tsconfck@npm:^3.0.3": + version: 3.0.3 + resolution: "tsconfck@npm:3.0.3" + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + bin: + tsconfck: bin/tsconfck.js + checksum: 8ee0d73f730c0747d4bfe569b1931e1b3848f2adfb86ee8f3dc9aedd123f155b363dec7f51dc165fc7938ce592af753aa513adf7753ffcbee1baf97017d919dd languageName: node linkType: hard @@ -34520,7 +33194,7 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.5": +"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.5, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 @@ -34534,13 +33208,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.18.0": - version: 0.18.1 - resolution: "type-fest@npm:0.18.1" - checksum: e96dcee18abe50ec82dab6cbc4751b3a82046da54c52e3b2d035b3c519732c0b3dd7a2fa9df24efd1a38d953d8d4813c50985f215f1957ee5e4f26b0fe0da395 - languageName: node - linkType: hard - "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -34618,6 +33285,17 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.7 + es-errors: ^1.3.0 + is-typed-array: ^1.1.13 + checksum: 02ffc185d29c6df07968272b15d5319a1610817916ec8d4cd670ded5d1efe72901541ff2202fcc622730d8a549c76e198a2f74e312eabbfb712ed907d45cbb0b + languageName: node + linkType: hard + "typed-array-byte-length@npm:^1.0.0": version: 1.0.0 resolution: "typed-array-byte-length@npm:1.0.0" @@ -34630,6 +33308,19 @@ __metadata: languageName: node linkType: hard +"typed-array-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "typed-array-byte-length@npm:1.0.1" + dependencies: + call-bind: ^1.0.7 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-proto: ^1.0.3 + is-typed-array: ^1.1.13 + checksum: f65e5ecd1cf76b1a2d0d6f631f3ea3cdb5e08da106c6703ffe687d583e49954d570cc80434816d3746e18be889ffe53c58bf3e538081ea4077c26a41055b216d + languageName: node + linkType: hard + "typed-array-byte-offset@npm:^1.0.0": version: 1.0.0 resolution: "typed-array-byte-offset@npm:1.0.0" @@ -34643,6 +33334,20 @@ __metadata: languageName: node linkType: hard +"typed-array-byte-offset@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-byte-offset@npm:1.0.2" + dependencies: + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.7 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-proto: ^1.0.3 + is-typed-array: ^1.1.13 + checksum: c8645c8794a621a0adcc142e0e2c57b1823bbfa4d590ad2c76b266aa3823895cf7afb9a893bf6685e18454ab1b0241e1a8d885a2d1340948efa4b56add4b5f67 + languageName: node + linkType: hard + "typed-array-length@npm:^1.0.4": version: 1.0.4 resolution: "typed-array-length@npm:1.0.4" @@ -34654,6 +33359,20 @@ __metadata: languageName: node linkType: hard +"typed-array-length@npm:^1.0.6": + version: 1.0.6 + resolution: "typed-array-length@npm:1.0.6" + dependencies: + call-bind: ^1.0.7 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-proto: ^1.0.3 + is-typed-array: ^1.1.13 + possible-typed-array-names: ^1.0.0 + checksum: f0315e5b8f0168c29d390ff410ad13e4d511c78e6006df4a104576844812ee447fcc32daab1f3a76c9ef4f64eff808e134528b5b2439de335586b392e9750e5c + languageName: node + linkType: hard + "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -34670,7 +33389,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^4.4.3, typescript@npm:^4.6.4": +"typescript@npm:^4.6.4": version: 4.9.5 resolution: "typescript@npm:4.9.5" bin: @@ -34690,7 +33409,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@^4.4.3#~builtin, typescript@patch:typescript@^4.6.4#~builtin": +"typescript@patch:typescript@^4.6.4#~builtin": version: 4.9.5 resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=289587" bin: @@ -34731,6 +33450,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.5.3": + version: 1.5.3 + resolution: "ufo@npm:1.5.3" + checksum: 2f54fa543b2e689cc4ab341fe2194937afe37c5ee43cd782e6ecc184e36859e84d4197a43ae4cd6e9a56f793ca7c5b950dfff3f16fadaeef9b6b88b05c88c8ef + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4, uglify-js@npm:^3.7.7": version: 3.17.4 resolution: "uglify-js@npm:3.17.4" @@ -34807,6 +33533,13 @@ __metadata: languageName: node linkType: hard +"unicorn-magic@npm:^0.1.0": + version: 0.1.0 + resolution: "unicorn-magic@npm:0.1.0" + checksum: 48c5882ca3378f380318c0b4eb1d73b7e3c5b728859b060276e0a490051d4180966beeb48962d850fd0c6816543bcdfc28629dcd030bb62a286a2ae2acb5acb6 + languageName: node + linkType: hard + "unified@npm:9.2.0": version: 9.2.0 resolution: "unified@npm:9.2.0" @@ -35066,13 +33799,6 @@ __metadata: languageName: node linkType: hard -"unquote@npm:~1.1.1": - version: 1.1.1 - resolution: "unquote@npm:1.1.1" - checksum: 71745867d09cba44ba2d26cb71d6dda7045a98b14f7405df4faaf2b0c90d24703ad027a9d90ba9a6e0d096de2c8d56f864fd03f1c0498c0b7a3990f73b4c8f5f - languageName: node - linkType: hard - "unset-value@npm:^1.0.0": version: 1.0.0 resolution: "unset-value@npm:1.0.0" @@ -35090,13 +33816,6 @@ __metadata: languageName: node linkType: hard -"upath@npm:^1.2.0": - version: 1.2.0 - resolution: "upath@npm:1.2.0" - checksum: 4c05c094797cb733193a0784774dbea5b1889d502fc9f0572164177e185e4a59ba7099bf0b0adf945b232e2ac60363f9bf18aac9b2206fb99cbef971a8455445 - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.0.10": version: 1.0.10 resolution: "update-browserslist-db@npm:1.0.10" @@ -35361,18 +34080,6 @@ __metadata: languageName: node linkType: hard -"util.promisify@npm:~1.0.0": - version: 1.0.1 - resolution: "util.promisify@npm:1.0.1" - dependencies: - define-properties: ^1.1.3 - es-abstract: ^1.17.2 - has-symbols: ^1.0.1 - object.getownpropertydescriptors: ^2.1.0 - checksum: d823c75b3fc66510018596f128a6592c98991df38bc0464a633bdf9134e2de0a1a33199c5c21cc261048a3982d7a19e032ecff8835b3c587f843deba96063e37 - languageName: node - linkType: hard - "util@npm:^0.12.0, util@npm:^0.12.4": version: 0.12.5 resolution: "util@npm:0.12.5" @@ -35471,17 +34178,6 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^8.1.0": - version: 8.1.1 - resolution: "v8-to-istanbul@npm:8.1.1" - dependencies: - "@types/istanbul-lib-coverage": ^2.0.1 - convert-source-map: ^1.6.0 - source-map: ^0.7.3 - checksum: 54ce92bec2727879626f623d02c8d193f0c7e919941fa373ec135189a8382265117f5316ea317a1e12a5f9c13d84d8449052a731fe3306fa4beaafbfa4cab229 - languageName: node - linkType: hard - "v8-to-istanbul@npm:^9.0.0, v8-to-istanbul@npm:^9.0.1": version: 9.1.0 resolution: "v8-to-istanbul@npm:9.1.0" @@ -35586,22 +34282,6 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:0.30.1": - version: 0.30.1 - resolution: "vite-node@npm:0.30.1" - dependencies: - cac: ^6.7.14 - debug: ^4.3.4 - mlly: ^1.2.0 - pathe: ^1.1.0 - picocolors: ^1.0.0 - vite: ^3.0.0 || ^4.0.0 - bin: - vite-node: vite-node.mjs - checksum: 2a17cca94aaf9ea689aeff0b5e900aab9e9385e97189446a7bc9c067f094556a5fcdff4a04367811694c3dcd2001bef7f5133ac66cdf4307d90742c30aff5fea - languageName: node - linkType: hard - "vite-node@npm:0.31.0": version: 0.31.0 resolution: "vite-node@npm:0.31.0" @@ -35618,6 +34298,60 @@ __metadata: languageName: node linkType: hard +"vite-node@npm:1.6.0": + version: 1.6.0 + resolution: "vite-node@npm:1.6.0" + dependencies: + cac: ^6.7.14 + debug: ^4.3.4 + pathe: ^1.1.1 + picocolors: ^1.0.0 + vite: ^5.0.0 + bin: + vite-node: vite-node.mjs + checksum: ce111c5c7a4cf65b722baa15cbc065b7bfdbf1b65576dd6372995f6a72b2b93773ec5df59f6c5f08cfe1284806597b44b832efcea50d5971102428159ff4379f + languageName: node + linkType: hard + +"vite-plugin-env-compatible@npm:^2.0.1": + version: 2.0.1 + resolution: "vite-plugin-env-compatible@npm:2.0.1" + dependencies: + dotenv: 8.2.0 + dotenv-expand: 5.1.0 + checksum: 3904c72d15fc48488190f51309e3a362b531b9a36a9a7b7f5a1d72620b2bc6eb214e1c158c160c69b8e449a9a76ba48348e3eb413c90c270cbf2dbfd81e47d82 + languageName: node + linkType: hard + +"vite-plugin-svgr@npm:^4.2.0": + version: 4.2.0 + resolution: "vite-plugin-svgr@npm:4.2.0" + dependencies: + "@rollup/pluginutils": ^5.0.5 + "@svgr/core": ^8.1.0 + "@svgr/plugin-jsx": ^8.1.0 + peerDependencies: + vite: ^2.6.0 || 3 || 4 || 5 + checksum: 8202c0b25c7aa547825c2a73c7ea3702bd13dadb12634a8c2ea4e4c701164d8718632a391deff5fdc53877a09ec3668843b521a3e7ca8083e040e5e4f7e53ecb + languageName: node + linkType: hard + +"vite-tsconfig-paths@npm:^4.3.2": + version: 4.3.2 + resolution: "vite-tsconfig-paths@npm:4.3.2" + dependencies: + debug: ^4.1.1 + globrex: ^0.1.2 + tsconfck: ^3.0.3 + peerDependencies: + vite: "*" + peerDependenciesMeta: + vite: + optional: true + checksum: 7105ff641379f9f7055110f33067b236c8ee71b1390c0e6482412cdcc7a98c2e139c1c2a483d14fe9045d1977c14dc931e1ff302d6257ec919c70379db9d2419 + languageName: node + linkType: hard + "vite@npm:^3.0.0 || ^4.0.0": version: 4.2.1 resolution: "vite@npm:4.2.1" @@ -35656,65 +34390,43 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^0.30.1": - version: 0.30.1 - resolution: "vitest@npm:0.30.1" +"vite@npm:^5.0.0, vite@npm:^5.2.12": + version: 5.2.12 + resolution: "vite@npm:5.2.12" dependencies: - "@types/chai": ^4.3.4 - "@types/chai-subset": ^1.3.3 - "@types/node": "*" - "@vitest/expect": 0.30.1 - "@vitest/runner": 0.30.1 - "@vitest/snapshot": 0.30.1 - "@vitest/spy": 0.30.1 - "@vitest/utils": 0.30.1 - acorn: ^8.8.2 - acorn-walk: ^8.2.0 - cac: ^6.7.14 - chai: ^4.3.7 - concordance: ^5.0.4 - debug: ^4.3.4 - local-pkg: ^0.4.3 - magic-string: ^0.30.0 - pathe: ^1.1.0 - picocolors: ^1.0.0 - source-map: ^0.6.1 - std-env: ^3.3.2 - strip-literal: ^1.0.1 - tinybench: ^2.4.0 - tinypool: ^0.4.0 - vite: ^3.0.0 || ^4.0.0 - vite-node: 0.30.1 - why-is-node-running: ^2.2.2 + esbuild: ^0.20.1 + fsevents: ~2.3.3 + postcss: ^8.4.38 + rollup: ^4.13.0 peerDependencies: - "@edge-runtime/vm": "*" - "@vitest/browser": "*" - "@vitest/ui": "*" - happy-dom: "*" - jsdom: "*" - playwright: "*" - safaridriver: "*" - webdriverio: "*" + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true peerDependenciesMeta: - "@edge-runtime/vm": + "@types/node": optional: true - "@vitest/browser": + less: optional: true - "@vitest/ui": + lightningcss: optional: true - happy-dom: + sass: optional: true - jsdom: + stylus: optional: true - playwright: + sugarss: optional: true - safaridriver: - optional: true - webdriverio: + terser: optional: true bin: - vitest: vitest.mjs - checksum: 68e33226dde914600270df9834bdc1f45fd225250051c046c9bc53ca51b8e0bf76dee29a5cf1a51a4c1524f00c414f81764bb463734bdcc9c3f483f2140ec516 + vite: bin/vite.js + checksum: 908b8a09460c031fe94c2038a46743a73a70fe76fd1991ae8b51a56eb88dec75128bc7da7ab37d8f84c0e1e3063ce268bdd81cc27d79229f8ea756e752bc83d9 languageName: node linkType: hard @@ -35779,6 +34491,56 @@ __metadata: languageName: node linkType: hard +"vitest@npm:^1.6.0": + version: 1.6.0 + resolution: "vitest@npm:1.6.0" + dependencies: + "@vitest/expect": 1.6.0 + "@vitest/runner": 1.6.0 + "@vitest/snapshot": 1.6.0 + "@vitest/spy": 1.6.0 + "@vitest/utils": 1.6.0 + acorn-walk: ^8.3.2 + chai: ^4.3.10 + debug: ^4.3.4 + execa: ^8.0.1 + local-pkg: ^0.5.0 + magic-string: ^0.30.5 + pathe: ^1.1.1 + picocolors: ^1.0.0 + std-env: ^3.5.0 + strip-literal: ^2.0.0 + tinybench: ^2.5.1 + tinypool: ^0.8.3 + vite: ^5.0.0 + vite-node: 1.6.0 + why-is-node-running: ^2.2.2 + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.6.0 + "@vitest/ui": 1.6.0 + 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 + bin: + vitest: vitest.mjs + checksum: a9b9b97e5685d630e5d8d221e6d6cd2e1e9b5b2dd61e82042839ef11549c8d2d780cf696307de406dce804bf41c1219398cb20b4df570b3b47ad1e53af6bfe51 + languageName: node + linkType: hard + "vscode-languageserver-textdocument@npm:^1.0.8": version: 1.0.9 resolution: "vscode-languageserver-textdocument@npm:1.0.9" @@ -35793,24 +34555,6 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: ^1.0.0 - checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^2.0.0": - version: 2.0.0 - resolution: "w3c-xmlserializer@npm:2.0.0" - dependencies: - xml-name-validator: ^3.0.0 - checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b - languageName: node - linkType: hard - "w3c-xmlserializer@npm:^4.0.0": version: 4.0.0 resolution: "w3c-xmlserializer@npm:4.0.0" @@ -35865,7 +34609,7 @@ __metadata: languageName: node linkType: hard -"walker@npm:^1.0.7, walker@npm:^1.0.8": +"walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" dependencies: @@ -35925,27 +34669,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^4.0.2": - version: 4.0.2 - resolution: "webidl-conversions@npm:4.0.2" - checksum: c93d8dfe908a0140a4ae9c0ebc87a33805b416a33ee638a605b551523eec94a9632165e54632f6d57a39c5f948c4bab10e0e066525e9a4b87a79f0d04fbca374 - languageName: node - linkType: hard - -"webidl-conversions@npm:^5.0.0": - version: 5.0.0 - resolution: "webidl-conversions@npm:5.0.0" - checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 - languageName: node - linkType: hard - -"webidl-conversions@npm:^6.1.0": - version: 6.1.0 - resolution: "webidl-conversions@npm:6.1.0" - checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb - languageName: node - linkType: hard - "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -36020,7 +34743,7 @@ __metadata: languageName: node linkType: hard -"webpack-dev-server@npm:^4.6.0, webpack-dev-server@npm:^4.9.3": +"webpack-dev-server@npm:^4.9.3": version: 4.11.1 resolution: "webpack-dev-server@npm:4.11.1" dependencies: @@ -36076,18 +34799,6 @@ __metadata: languageName: node linkType: hard -"webpack-manifest-plugin@npm:^4.0.2": - version: 4.1.1 - resolution: "webpack-manifest-plugin@npm:4.1.1" - dependencies: - tapable: ^2.0.0 - webpack-sources: ^2.2.0 - peerDependencies: - webpack: ^4.44.2 || ^5.47.0 - checksum: 426982030d3b0ef26432d98960ee1fa33889d8f0ed79b3d2c8e37be9b4e4beba7524c60631297ea557c642a340b76d70b0eb6a1e08b86a769409037185795038 - languageName: node - linkType: hard - "webpack-merge@npm:^5.7.3, webpack-merge@npm:^5.8.0": version: 5.8.0 resolution: "webpack-merge@npm:5.8.0" @@ -36105,26 +34816,6 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^1.4.3": - version: 1.4.3 - resolution: "webpack-sources@npm:1.4.3" - dependencies: - source-list-map: ^2.0.0 - source-map: ~0.6.1 - checksum: 37463dad8d08114930f4bc4882a9602941f07c9f0efa9b6bc78738cd936275b990a596d801ef450d022bb005b109b9f451dd087db2f3c9baf53e8e22cf388f79 - languageName: node - linkType: hard - -"webpack-sources@npm:^2.2.0": - version: 2.3.1 - resolution: "webpack-sources@npm:2.3.1" - dependencies: - source-list-map: ^2.0.1 - source-map: ^0.6.1 - checksum: 6fd67f2274a84c5f51ad89767112ec8b47727134bf0f2ba0cff458c970f18966939a24128bdbddba621cd66eeb2bef0552642a9333cd8e54514f7b2a71776346 - languageName: node - linkType: hard - "webpack-sources@npm:^3.2.2, webpack-sources@npm:^3.2.3": version: 3.2.3 resolution: "webpack-sources@npm:3.2.3" @@ -36183,7 +34874,7 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5.76.0, webpack@npm:^5, webpack@npm:^5.64.4, webpack@npm:^5.73.0, webpack@npm:^5.74.0": +"webpack@npm:5.76.0, webpack@npm:^5, webpack@npm:^5.73.0": version: 5.76.0 resolution: "webpack@npm:5.76.0" dependencies: @@ -36259,15 +34950,6 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^1.0.5": - version: 1.0.5 - resolution: "whatwg-encoding@npm:1.0.5" - dependencies: - iconv-lite: 0.4.24 - checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 - languageName: node - linkType: hard - "whatwg-encoding@npm:^2.0.0": version: 2.0.0 resolution: "whatwg-encoding@npm:2.0.0" @@ -36277,20 +34959,13 @@ __metadata: languageName: node linkType: hard -"whatwg-fetch@npm:^3.4.1, whatwg-fetch@npm:^3.6.2": +"whatwg-fetch@npm:^3.4.1": version: 3.6.2 resolution: "whatwg-fetch@npm:3.6.2" checksum: ee976b7249e7791edb0d0a62cd806b29006ad7ec3a3d89145921ad8c00a3a67e4be8f3fb3ec6bc7b58498724fd568d11aeeeea1f7827e7e1e5eae6c8a275afed languageName: node linkType: hard -"whatwg-mimetype@npm:^2.3.0": - version: 2.3.0 - resolution: "whatwg-mimetype@npm:2.3.0" - checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 - languageName: node - linkType: hard - "whatwg-mimetype@npm:^3.0.0": version: 3.0.0 resolution: "whatwg-mimetype@npm:3.0.0" @@ -36318,28 +34993,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^7.0.0": - version: 7.1.0 - resolution: "whatwg-url@npm:7.1.0" - dependencies: - lodash.sortby: ^4.7.0 - tr46: ^1.0.1 - webidl-conversions: ^4.0.2 - checksum: fecb07c87290b47d2ec2fb6d6ca26daad3c9e211e0e531dd7566e7ff95b5b3525a57d4f32640ad4adf057717e0c215731db842ad761e61d947e81010e05cf5fd - languageName: node - linkType: hard - -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": - version: 8.7.0 - resolution: "whatwg-url@npm:8.7.0" - dependencies: - lodash: ^4.7.0 - tr46: ^2.1.0 - webidl-conversions: ^6.1.0 - checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e - languageName: node - linkType: hard - "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -36353,6 +35006,26 @@ __metadata: languageName: node linkType: hard +"which-builtin-type@npm:^1.1.3": + version: 1.1.3 + resolution: "which-builtin-type@npm:1.1.3" + dependencies: + function.prototype.name: ^1.1.5 + has-tostringtag: ^1.0.0 + is-async-function: ^2.0.0 + is-date-object: ^1.0.5 + is-finalizationregistry: ^1.0.2 + is-generator-function: ^1.0.10 + is-regex: ^1.1.4 + is-weakref: ^1.0.2 + isarray: ^2.0.5 + which-boxed-primitive: ^1.0.2 + which-collection: ^1.0.1 + which-typed-array: ^1.1.9 + checksum: 43730f7d8660ff9e33d1d3f9f9451c4784265ee7bf222babc35e61674a11a08e1c2925019d6c03154fcaaca4541df43abe35d2720843b9b4cbcebdcc31408f36 + languageName: node + linkType: hard + "which-collection@npm:^1.0.1": version: 1.0.1 resolution: "which-collection@npm:1.0.1" @@ -36385,6 +35058,19 @@ __metadata: languageName: node linkType: hard +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "which-typed-array@npm:1.1.15" + dependencies: + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.7 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.2 + checksum: 65227dcbfadf5677aacc43ec84356d17b5500cb8b8753059bb4397de5cd0c2de681d24e1a7bd575633f976a95f88233abfd6549c2105ef4ebd58af8aa1807c75 + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": version: 1.1.9 resolution: "which-typed-array@npm:1.1.9" @@ -36504,13 +35190,20 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.0.3, word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": +"word-wrap@npm:^1.0.3, word-wrap@npm:~1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f languageName: node linkType: hard +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: f93ba3586fc181f94afdaff3a6fef27920b4b6d9eaefed0f428f8e07adea2a7f54a5f2830ce59406c8416f033f86902b91eb824072354645eea687dff3691ccb + languageName: node + linkType: hard + "wordwrap@npm:^1.0.0": version: 1.0.0 resolution: "wordwrap@npm:1.0.0" @@ -36528,7 +35221,7 @@ __metadata: languageName: node linkType: hard -"workbox-broadcast-update@npm:6.5.4, workbox-broadcast-update@npm:^6.1.5": +"workbox-broadcast-update@npm:^6.1.5": version: 6.5.4 resolution: "workbox-broadcast-update@npm:6.5.4" dependencies: @@ -36537,51 +35230,6 @@ __metadata: languageName: node linkType: hard -"workbox-build@npm:6.5.4": - version: 6.5.4 - resolution: "workbox-build@npm:6.5.4" - dependencies: - "@apideck/better-ajv-errors": ^0.3.1 - "@babel/core": ^7.11.1 - "@babel/preset-env": ^7.11.0 - "@babel/runtime": ^7.11.2 - "@rollup/plugin-babel": ^5.2.0 - "@rollup/plugin-node-resolve": ^11.2.1 - "@rollup/plugin-replace": ^2.4.1 - "@surma/rollup-plugin-off-main-thread": ^2.2.3 - ajv: ^8.6.0 - common-tags: ^1.8.0 - fast-json-stable-stringify: ^2.1.0 - fs-extra: ^9.0.1 - glob: ^7.1.6 - lodash: ^4.17.20 - pretty-bytes: ^5.3.0 - rollup: ^2.43.1 - rollup-plugin-terser: ^7.0.0 - source-map: ^0.8.0-beta.0 - stringify-object: ^3.3.0 - strip-comments: ^2.0.1 - tempy: ^0.6.0 - upath: ^1.2.0 - workbox-background-sync: 6.5.4 - workbox-broadcast-update: 6.5.4 - workbox-cacheable-response: 6.5.4 - workbox-core: 6.5.4 - workbox-expiration: 6.5.4 - workbox-google-analytics: 6.5.4 - workbox-navigation-preload: 6.5.4 - workbox-precaching: 6.5.4 - workbox-range-requests: 6.5.4 - workbox-recipes: 6.5.4 - workbox-routing: 6.5.4 - workbox-strategies: 6.5.4 - workbox-streams: 6.5.4 - workbox-sw: 6.5.4 - workbox-window: 6.5.4 - checksum: 7336bbab4ce8e6e43a17873beedf7360ec32e72310306c670cd4d9ebd7e5a6a729257b2806e63830136a9bf01955632c96b27edf7a00d52c7744dbe875cca6c1 - languageName: node - linkType: hard - "workbox-cacheable-response@npm:6.5.4, workbox-cacheable-response@npm:^6.1.5": version: 6.5.4 resolution: "workbox-cacheable-response@npm:6.5.4" @@ -36608,7 +35256,7 @@ __metadata: languageName: node linkType: hard -"workbox-google-analytics@npm:6.5.4, workbox-google-analytics@npm:^6.1.5": +"workbox-google-analytics@npm:^6.1.5": version: 6.5.4 resolution: "workbox-google-analytics@npm:6.5.4" dependencies: @@ -36620,7 +35268,7 @@ __metadata: languageName: node linkType: hard -"workbox-navigation-preload@npm:6.5.4, workbox-navigation-preload@npm:^6.1.5": +"workbox-navigation-preload@npm:^6.1.5": version: 6.5.4 resolution: "workbox-navigation-preload@npm:6.5.4" dependencies: @@ -36640,7 +35288,7 @@ __metadata: languageName: node linkType: hard -"workbox-range-requests@npm:6.5.4, workbox-range-requests@npm:^6.1.5": +"workbox-range-requests@npm:^6.1.5": version: 6.5.4 resolution: "workbox-range-requests@npm:6.5.4" dependencies: @@ -36649,7 +35297,7 @@ __metadata: languageName: node linkType: hard -"workbox-recipes@npm:6.5.4, workbox-recipes@npm:^6.1.5": +"workbox-recipes@npm:^6.1.5": version: 6.5.4 resolution: "workbox-recipes@npm:6.5.4" dependencies: @@ -36681,7 +35329,7 @@ __metadata: languageName: node linkType: hard -"workbox-streams@npm:6.5.4, workbox-streams@npm:^6.1.5": +"workbox-streams@npm:^6.1.5": version: 6.5.4 resolution: "workbox-streams@npm:6.5.4" dependencies: @@ -36691,38 +35339,6 @@ __metadata: languageName: node linkType: hard -"workbox-sw@npm:6.5.4": - version: 6.5.4 - resolution: "workbox-sw@npm:6.5.4" - checksum: b95c76a74b84ff268ef7691447125697f4de85b076ebc33c9545fb7532b020b6f66b37f7a4bedbc21ab45473d1109337a5f037c45b3d99126ae8f5eeb898a687 - languageName: node - linkType: hard - -"workbox-webpack-plugin@npm:^6.4.1": - version: 6.5.4 - resolution: "workbox-webpack-plugin@npm:6.5.4" - dependencies: - fast-json-stable-stringify: ^2.1.0 - pretty-bytes: ^5.4.1 - upath: ^1.2.0 - webpack-sources: ^1.4.3 - workbox-build: 6.5.4 - peerDependencies: - webpack: ^4.4.0 || ^5.9.0 - checksum: d42ab213994767863711d54b6e2ea277839bd731430f7f3f826ccbb8927c6e9e42e2bea6316358d715a8f90f445ce2c094a46018c8a3b3e7035acc7b2822574e - languageName: node - linkType: hard - -"workbox-window@npm:6.5.4": - version: 6.5.4 - resolution: "workbox-window@npm:6.5.4" - dependencies: - "@types/trusted-types": ^2.0.2 - workbox-core: 6.5.4 - checksum: bc43c8d31908ab564d740eb1041180c0b0ca4d1f0a3ccde59c5764a8f96d7b08edb7df975360fd37c2bec9f3f57ca9de6c7e34fd252aa1a4a075b5b002f74f60 - languageName: node - linkType: hard - "worker-rpc@npm:^0.1.0": version: 0.1.1 resolution: "worker-rpc@npm:0.1.1" @@ -36824,7 +35440,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7.2.3, ws@npm:^7.3.1, ws@npm:^7.4.6": +"ws@npm:^7.2.3, ws@npm:^7.3.1": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -36872,13 +35488,6 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^3.0.0": - version: 3.0.0 - resolution: "xml-name-validator@npm:3.0.0" - checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 - languageName: node - linkType: hard - "xml-name-validator@npm:^4.0.0": version: 4.0.0 resolution: "xml-name-validator@npm:4.0.0" @@ -36886,13 +35495,6 @@ __metadata: languageName: node linkType: hard -"xml@npm:^1.0.1": - version: 1.0.1 - resolution: "xml@npm:1.0.1" - checksum: 11b5545ef3f8fec3fa29ce251f50ad7b6c97c103ed4d851306ec23366f5fa4699dd6a942262df52313a0cd1840ab26256da253c023bad3309d8ce46fe6020ca0 - languageName: node - linkType: hard - "xmlchars@npm:^2.2.0": version: 2.2.0 resolution: "xmlchars@npm:2.2.0" @@ -36907,7 +35509,7 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:^4.0.2, xtend@npm:~4.0.1": +"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a @@ -36973,7 +35575,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9": +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 @@ -37021,22 +35623,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.3.1": - version: 17.7.0 - resolution: "yargs@npm:17.7.0" - dependencies: - cliui: ^8.0.1 - escalade: ^3.1.1 - get-caller-file: ^2.0.5 - require-directory: ^2.1.1 - string-width: ^4.2.3 - y18n: ^5.0.5 - yargs-parser: ^21.1.1 - checksum: e7d5f5b60e63b04ded7c27c3d4b194565565cac3ea19fffcdbb183bed973a83106822a04dda28ebba4811ce92949a9d9858d3935186ff8f343548bf98aab2120 - languageName: node - linkType: hard - -"yargs@npm:^17.7.2": +"yargs@npm:^17.0.0, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -37051,6 +35638,21 @@ __metadata: languageName: node linkType: hard +"yargs@npm:^17.3.1": + version: 17.7.0 + resolution: "yargs@npm:17.7.0" + dependencies: + cliui: ^8.0.1 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.3 + y18n: ^5.0.5 + yargs-parser: ^21.1.1 + checksum: e7d5f5b60e63b04ded7c27c3d4b194565565cac3ea19fffcdbb183bed973a83106822a04dda28ebba4811ce92949a9d9858d3935186ff8f343548bf98aab2120 + languageName: node + linkType: hard + "yauzl@npm:^2.10.0": version: 2.10.0 resolution: "yauzl@npm:2.10.0"