diff --git a/.eslintrc.js b/.eslintrc.js
index 9a833a5872..4e6ab961b0 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -43,14 +43,13 @@ module.exports = {
additionalHooks: 'useSelect',
},
],
- // When a file imports from both `@wordpress/components` and `extracted/@wordpress/components`
- // at the same time, it would get the "no-duplicates" warning. It should be considered a
- // false positive when working on the externalization process. So here we temporarily change
- // to use "no-duplicate-imports" instead.
- //
- // TODO: After the externalizations of `@wordpress/*` and `@woocommerce/*` are complete,
- // remove the following two lines of rule settings.
- 'import/no-duplicates': 'off',
- 'no-duplicate-imports': 'warn',
},
+ overrides: [
+ {
+ files: [ 'tests/e2e/**/*.js' ],
+ rules: {
+ 'jest/no-done-callback': [ 'off' ],
+ },
+ },
+ ],
};
diff --git a/.externalized.json b/.externalized.json
index ac718a14a8..f4a68c1e60 100644
--- a/.externalized.json
+++ b/.externalized.json
@@ -1 +1 @@
-["@woocommerce/components","@woocommerce/customer-effort-score","@woocommerce/data","@woocommerce/navigation","@woocommerce/settings","@wordpress/a11y","@wordpress/api-fetch","@wordpress/data","@wordpress/data-controls","@wordpress/date","@wordpress/deprecated","@wordpress/dom","@wordpress/element","@wordpress/escape-html","@wordpress/hooks","@wordpress/html-entities","@wordpress/i18n","@wordpress/is-shallow-equal","@wordpress/keycodes","@wordpress/priority-queue","@wordpress/rich-text","@wordpress/url","@wordpress/warning","extracted/@wordpress/components","lodash","moment","react","react-dom"]
\ No newline at end of file
+["@woocommerce/components","@woocommerce/customer-effort-score","@woocommerce/data","@woocommerce/navigation","@woocommerce/settings","@wordpress/api-fetch","@wordpress/components","@wordpress/compose","@wordpress/data","@wordpress/data-controls","@wordpress/date","@wordpress/deprecated","@wordpress/dom","@wordpress/element","@wordpress/hooks","@wordpress/html-entities","@wordpress/i18n","@wordpress/primitives","@wordpress/url","lodash","moment","react","react-dom"]
\ No newline at end of file
diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml
index 4397e8b5fc..583b7c345e 100644
--- a/.github/workflows/e2e-tests.yml
+++ b/.github/workflows/e2e-tests.yml
@@ -8,6 +8,11 @@ on:
branches:
- "release/**"
workflow_dispatch:
+ inputs:
+ wp-rc-version:
+ description: 'WordPress version for Release Candidate (ex. 6.3-RC3)'
+ wc-rc-version:
+ description: 'WooCommerce version for Release Candidate (ex. 8.0.0-rc.1)'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -20,11 +25,6 @@ jobs:
env:
FORCE_COLOR: 2
steps:
- # Needed for Ubuntu 20.04.
- - name: Kill mono to free 8084
- run: |
- sudo killall mono
-
- name: Checkout repository
uses: actions/checkout@v3
@@ -45,22 +45,32 @@ jobs:
npm run build
echo "::endgroup::"
- - name: Start docker container
+ - name: Start wp-env container
+ run: npm run wp-env:up
+
+ - name: Install WP release candidate (optional)
+ if: github.event.inputs.wp-rc-version != ''
run: |
- npm run docker:up
- sleep 10
+ npm run -- wp-env run tests-cli -- wp core update --version=${{ github.event.inputs.wp-rc-version }}
+ npm run -- wp-env run tests-cli -- wp core update-db
- - name: Run tests
- env:
- WC_E2E_SCREENSHOTS: 1
+ - name: Install WC release candidate (optional)
+ if: github.event.inputs.wc-rc-version != ''
run: |
- npm run test:e2e
+ npm run -- wp-env run tests-cli -- wp plugin update woocommerce --version=${{ github.event.inputs.wc-rc-version }}
+ npm run -- wp-env run tests-cli -- wp wc update
+
+ - name: Download and install Chromium browser.
+ run: npx playwright install chromium
+
+ - name: Run tests
+ run: npm run test:e2e
- - name: Archive e2e test screenshots
+ - name: Archive e2e failure screenshots
if: ${{ always() }}
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: e2e-screenshots
- path: tests/e2e/screenshots
+ path: tests/e2e/test-results/report/**/*.png
if-no-files-found: ignore
retention-days: 5
diff --git a/.github/workflows/php-hook-documentation.yml b/.github/workflows/php-hook-documentation.yml
new file mode 100644
index 0000000000..edf23cf7e1
--- /dev/null
+++ b/.github/workflows/php-hook-documentation.yml
@@ -0,0 +1,58 @@
+name: PHP Hook Documentation Generator
+
+on:
+ push:
+ branches:
+ - "release/**"
+ paths:
+ - "**.php"
+ - .github/workflows/php-hook-documentation.yml
+ pull_request:
+ types:
+ - opened
+ branches:
+ - "release/**"
+ paths:
+ - "**.php"
+ - .github/workflows/php-hook-documentation.yml
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ HookDocumentation:
+ name: Hook Documentation Generator
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout the repository
+ uses: actions/checkout@v3
+ with:
+ # Checks out a branch instead of a commit in detached HEAD state
+ ref: ${{ github.head_ref }}
+
+ # This generates the documentation string. The `id` property is used to reference the output in the next step.
+ - name: Generate hook documentation
+ id: generate-hook-docs
+ uses: woocommerce/grow/hook-documentation@actions-v1
+ with:
+ debug-output: yes
+ source-directories: src/,views/,google-listings-and-ads.php,uninstall.php
+
+ - name: Commit hook documentation
+ shell: bash
+ # Use the github-actions bot account to commit.
+ # https://api.github.com/users/github-actions%5Bbot%5D
+ run: |
+ git config user.name github-actions[bot]
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
+ echo "${{ steps.generate-hook-docs.outputs.hook-docs }}" > src/Hooks/README.md
+ git add src/Hooks/README.md
+ if git diff --cached --quiet; then
+ echo "*No documentation changes to commit.*" >> $GITHUB_STEP_SUMMARY
+ else
+ echo "*Committing documentation changes.*" >> $GITHUB_STEP_SUMMARY
+ git commit -q -m "Update hooks documentation from ${{ github.head_ref }} branch."
+ git push
+ fi
diff --git a/.github/workflows/php-unit-tests.yml b/.github/workflows/php-unit-tests.yml
index 27dab3027a..1a82f0d54c 100644
--- a/.github/workflows/php-unit-tests.yml
+++ b/.github/workflows/php-unit-tests.yml
@@ -23,20 +23,26 @@ concurrency:
jobs:
GetMatrix:
- name: Get WP version Matrix
+ name: Get WP and WC version Matrix
runs-on: ubuntu-latest
outputs:
wp-versions: ${{ steps.wp.outputs.versions }}
- latest-wp-version: ${{ fromJson(steps.wp.outputs.versions)[0] }}
+ wc-versions: ${{ steps.wc.outputs.versions }}
+ latest-wc-version: ${{ fromJson(steps.wc.outputs.versions)[0] }}
steps:
- name: Get Release versions from Wordpress
id: wp
uses: woocommerce/grow/get-plugin-releases@actions-v1
with:
slug: wordpress
+ - name: Get Release versions from WooCommerce
+ id: wc
+ uses: woocommerce/grow/get-plugin-releases@actions-v1
+ with:
+ slug: woocommerce
UnitTests:
- name: PHP unit tests - PHP ${{ matrix.php }}, WP ${{ matrix.wp-version }}
+ name: PHP unit tests - PHP ${{ matrix.php }}, WP ${{ matrix.wp-version || 'latest' }}, WC ${{ matrix.wc-versions || 'latest' }}
needs: GetMatrix
runs-on: ubuntu-latest
env:
@@ -44,15 +50,19 @@ jobs:
WP_TESTS_DIR: "/tmp/wordpress/tests/phpunit"
strategy:
matrix:
- php: [8.0]
- wp-version: ${{ fromJson(needs.GetMatrix.outputs.wp-versions) }}
+ php: [ 8.0 ]
+ wp-version: [ latest ]
+ wc-versions: ${{ fromJson(needs.GetMatrix.outputs.wc-versions) }}
include:
+ - php: 8.2
+ wp-version: latest
+ wc-versions: latest
- php: 7.4
- wp-version: ${{ needs.GetMatrix.outputs.latest-wp-version }}
+ wp-version: ${{ fromJson(needs.GetMatrix.outputs.wp-versions)[2] }} # L-2 WP Version support
+ wc-versions: ${{ fromJson(needs.GetMatrix.outputs.wc-versions)[2] }} # L-2 WC Version support
- php: 8.1
- wp-version: ${{ needs.GetMatrix.outputs.latest-wp-version }}
- - php: 8.2
- wp-version: ${{ needs.GetMatrix.outputs.latest-wp-version }}
+ wp-version: latest
+ wc-versions: latest
steps:
- name: Checkout repository
@@ -67,9 +77,9 @@ jobs:
uses: woocommerce/grow/prepare-mysql@actions-v1
- name: Install WP tests
- run: ./bin/install-wp-tests.sh wordpress_test root root localhost ${{ matrix.wp-version }}
+ run: ./bin/install-wp-tests.sh wordpress_test root root localhost ${{ matrix.wp-version }} ${{ matrix.wc-versions }}
- - if: matrix.wp-version == needs.GetMatrix.outputs.latest-wp-version && matrix.php == 8.0
+ - if: matrix.wc-versions == needs.GetMatrix.outputs.latest-wc-version && matrix.php == 8.0
name: Set condition to generate coverage report (only on latest versions)
run: echo "generate_coverage=true" >> $GITHUB_ENV
diff --git a/.github/workflows/post-release-automerge.yml b/.github/workflows/post-release-automerge.yml
deleted file mode 100644
index 8555f5c4fa..0000000000
--- a/.github/workflows/post-release-automerge.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: 'Merge the release to develop'
-run-name: Merge the released `${{ github.head_ref }}` from `trunk` to `develop`
-
-# **What it does**: Merges trunk to develop after `release/*` is merged to `trunk`.
-# **Why we have it**: To automate the release process and follow git-flow.
-
-on:
- pull_request:
- types:
- - closed
- branches:
- - trunk
-
-jobs:
- automerge_trunk:
- name: Automerge released trunk
- runs-on: ubuntu-latest
- steps:
- - uses: woocommerce/grow/automerge-released-trunk@actions-v1
diff --git a/.github/workflows/post-release-merge.yml b/.github/workflows/post-release-merge.yml
new file mode 100644
index 0000000000..bbdf939fdf
--- /dev/null
+++ b/.github/workflows/post-release-merge.yml
@@ -0,0 +1,18 @@
+name: 'Merge the release to develop'
+run-name: Make a PR to merge the released `${{ github.head_ref }}` from `trunk` to `develop`
+
+# **What it does**: Creates a PR to merge `trunk` to `develop` after `prepare-extension-release`-based release is merged to `trunk`.
+# **Why we have it**: To automate the release process and follow the git-flow.
+
+on:
+ pull_request:
+ types:
+ - closed
+ branches:
+ - trunk
+
+jobs:
+ MergeTrunkDevelopPR:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: woocommerce/grow/merge-trunk-develop-pr@actions-v1
diff --git a/.gitignore b/.gitignore
index 88ae5d5267..4326850f05 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,7 +11,7 @@ languages/*
coverage
tests/php-coverage
.phpunit.result.cache
-tests/e2e/test-results.json
+tests/e2e/test-results
# Directories/files that may appear in your environment
.DS_Store
diff --git a/.wp-env.json b/.wp-env.json
index 1476873851..1931f6caf1 100644
--- a/.wp-env.json
+++ b/.wp-env.json
@@ -1,10 +1,13 @@
{
"phpVersion": "8.0",
"plugins": [
- "https://downloads.wordpress.org/plugin/woocommerce.latest-stable.zip",
"https://github.com/WP-API/Basic-Auth/archive/master.zip",
"."
],
+ "mappings": {
+ "wp-cli.yml": "./tests/e2e/config/wp-cli.yml",
+ "wp-content/plugins/test-data.php": "./tests/e2e/bin/test-data.php"
+ },
"lifecycleScripts": {
"afterStart": "./tests/e2e/bin/test-env-setup.sh",
"afterClean": "./tests/e2e/bin/test-env-setup.sh"
diff --git a/README.md b/README.md
index 20ce14e2b0..e30c95363b 100644
--- a/README.md
+++ b/README.md
@@ -135,11 +135,14 @@ The tests will execute and you'll be presented with a summary.
## E2E Testing
-E2E testing uses [@woocommerce/e2e-environment](https://www.npmjs.com/package/@woocommerce/e2e-environment) which requires [Docker](https://www.docker.com/).
+E2E testing uses [wp-env](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-env/) which requires [Docker](https://www.docker.com/).
Make sure Docker is running in your machine, and run the following:
-`npm run docker:up` - This will automatically download and run WordPress in a Docker container. You can access it at http://localhost:8084 (Username: admin, Password: password).
+`npm run wp-env:up` - This will automatically download and run WordPress in a Docker container. You can access it at http://localhost:8889 (Username: admin, Password: password).
+
+To install the PlayWright browser locally you can run:
+`npx playwright install chromium`
Run E2E testing:
@@ -148,13 +151,31 @@ Run E2E testing:
To remove the Docker container and images (this will **delete everything** in the WordPress Docker container):
-`npm run docker:down`
+`npm run wp-env destroy`
:warning: Currently, the E2E testing on GitHub Actions is only run automatically after opening a PR with `release/*` branches or pushing changes to `release/*` branches. To run it manually, please visit [here](../../actions/workflows/e2e-tests.yml) and follow [this instruction](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow?tool=webui) to do so.
-### Linux Troubleshooting
+### Test other WordPress versions
+By default the latest version of WordPress will be installed. `WP_ENV_CORE` can be used to install a specific version.
+
+```
+WP_ENV_CORE=WordPress/WordPress#6.2.2 npm run wp-env:up
+```
+
+This does not work with Release Candidate versions as the tag is not available. Instead we can bring the `wp-env:up` with the latest version and then upgrade WordPress through WP CLI.
-If you encounter problems starting your `test:e2e`, like `No usable sandbox!` or `UnhandledPromiseRejectionWarning: Error: Page crashed!`, you may try disabling the Chromium sandbox by adding `--no-sandbox` to `launch.args` in [`/tests/e2e/config/jest-puppeteer.config.js#L7`](https://github.com/woocommerce/google-listings-and-ads/blob/develop/tests/e2e/config/jest-puppeteer.config.js#L7).
+```
+npm run -- wp-env run tests-cli -- wp core update --version=6.3-RC3
+npm run -- wp-env run tests-cli -- wp core update-db
+```
+
+### Test other WooCommerce versions
+WooCommerce is installed through WP CLI so we can use this to update to a newer version like a release candidate.
+
+```
+npm run -- wp-env run tests-cli -- wp plugin update woocommerce --version=8.0.0-rc.1
+npm run -- wp-env run tests-cli -- wp wc update
+```
## Docs
diff --git a/bin/GoogleAdsCleanupServices.php b/bin/GoogleAdsCleanupServices.php
index 8c02bbc9de..0354e1450e 100644
--- a/bin/GoogleAdsCleanupServices.php
+++ b/bin/GoogleAdsCleanupServices.php
@@ -26,7 +26,7 @@ class GoogleAdsCleanupServices {
*
* @var string
*/
- protected $version = 'V13';
+ protected $version = 'V14';
/**
* @var Event Composer event.
diff --git a/bin/HooksDocsGenerator.php b/bin/HooksDocsGenerator.php
deleted file mode 100644
index eac13af78e..0000000000
--- a/bin/HooksDocsGenerator.php
+++ /dev/null
@@ -1,265 +0,0 @@
- $files ) {
- $hooks_found = [];
-
- foreach ( $files as $f ) {
- $current_file = $f;
- $tokens = token_get_all( file_get_contents( $f ) ); // phpcs:ignore WordPress.WP.AlternativeFunctions
- $token_type = false;
- $current_class = '';
- $current_function = '';
-
- if ( in_array( $current_file, $scanned, true ) ) {
- continue;
- }
-
- $scanned[] = $current_file;
-
- foreach ( $tokens as $index => $token ) {
- if ( is_array( $token ) ) {
- $trimmed_token_1 = trim( $token[1] );
- if ( T_CLASS === $token[0] ) {
- $token_type = 'class';
- } elseif ( T_FUNCTION === $token[0] ) {
- $token_type = 'function';
- } elseif ( 'do_action' === $token[1] ) {
- $token_type = 'action';
- } elseif ( 'apply_filters' === $token[1] ) {
- $token_type = 'filter';
- } elseif ( $token_type && ! empty( $trimmed_token_1 ) ) {
- switch ( $token_type ) {
- case 'class':
- $current_class = $token[1];
- break;
- case 'function':
- $current_function = $token[1];
- break;
- case 'filter':
- case 'action':
- $hook = trim( $token[1], "'" );
- $hook = str_replace( '_FUNCTION_', strtoupper( $current_function ), $hook );
- $hook = str_replace( '_CLASS_', strtoupper( $current_class ), $hook );
- $hook = str_replace( '$this', strtoupper( $current_class ), $hook );
- $hook = str_replace( [ '.', '{', '}', '"', "'", ' ', ')', '(' ], '', $hook );
- $hook = preg_replace( '/\/\/phpcs:(.*)(\n)/', '', $hook );
- $loop = 0;
-
- // Keep adding to hook until we find a comma or colon.
- while ( 1 ) {
- $loop++;
- $prev_hook = is_string( $tokens[ $index + $loop - 1 ] ) ? $tokens[ $index + $loop - 1 ] : $tokens[ $index + $loop - 1 ][1];
- $next_hook = is_string( $tokens[ $index + $loop ] ) ? $tokens[ $index + $loop ] : $tokens[ $index + $loop ][1];
-
- if ( in_array( $next_hook, [ '.', '{', '}', '"', "'", ' ', ')', '(' ], true ) ) {
- continue;
- }
-
- if ( in_array( $next_hook, [ ',', ';' ], true ) ) {
- break;
- }
-
- $hook_first = substr( $next_hook, 0, 1 );
- $hook_last = substr( $next_hook, -1, 1 );
-
- if ( '{' === $hook_first || '}' === $hook_last || '$' === $hook_first || ')' === $hook_last || '>' === substr( $prev_hook, -1, 1 ) ) {
- $next_hook = strtoupper( $next_hook );
- }
-
- $next_hook = str_replace( [ '.', '{', '}', '"', "'", ' ', ')', '(' ], '', $next_hook );
-
- $hook .= $next_hook;
- }
-
- $hook = trim( $hook );
-
- if ( isset( $hooks_found[ $hook ] ) ) {
- $hooks_found[ $hook ]['files'][] = [
- 'path' => $current_file,
- 'line' => $token[2],
- ];
- } else {
- $hooks_found[ $hook ] = [
- 'files' => [
- [
- 'path' => $current_file,
- 'line' => $token[2],
- ],
- ],
- 'class' => $current_class,
- 'function' => $current_function,
- 'type' => $token_type,
- ];
- }
- break;
- }
- $token_type = false;
- }
- }
- }
- }
-
- ksort( $hooks_found );
-
- if ( ! empty( $hooks_found ) ) {
- $results[ $heading ] = $hooks_found;
- }
- }
-
- return $results;
- }
-
- /**
- * Get file URL.
- *
- * @param array $file File data.
- * @return string
- */
- protected static function get_file_url( array $file ): string {
- $url = str_replace( '.php', '.php#L' . $file['line'], $file['path'] );
- return $url;
- }
-
- /**
- * Get file link.
- *
- * @param array $file File data.
- * @return string
- */
- protected static function get_file_link( array $file ): string {
- return '' . basename( $file['path'] ) . "#L{$file['line']}" . '';
- }
-
- /**
- * Get delimited list output.
- *
- * @param array $hook_list List of hooks.
- * @param array $files_to_scan List of files to scan.
- */
- protected static function get_delimited_list_output( array $hook_list, array $files_to_scan ): string {
- $output = "# Hooks Reference\n\n";
- $output .= "A list of hooks, i.e `actions` and `filters`, that are defined or used in this project.\n\n";
-
- foreach ( $hook_list as $hooks ) {
- foreach ( $hooks as $hook => $details ) {
- $output .= "## {$hook}\n\n";
- $output .= "**Type**: {$details['type']}\n\n";
- $output .= "**Used in**:\n\n";
- $link_list = [];
- foreach ( $details['files'] as $file ) {
- $link_list[] = '- ' . self::get_file_link( $file );
- }
- $output .= implode( "\n", $link_list );
- $output .= "\n\n";
- }
- }
-
- return $output;
- }
-
- /**
- * Generate hooks documentation.
- */
- public static function generate_hooks_docs() {
- $files_to_scan = self::get_files_to_scan();
- $hook_list = self::get_hooks( $files_to_scan );
-
- if ( empty( $hook_list ) ) {
- return;
- }
-
- // Add hooks reference content.
- $output = self::get_delimited_list_output( $hook_list, $files_to_scan );
-
- file_put_contents( self::HOOKS_MARKDOWN_OUTPUT, $output ); // phpcs:ignore WordPress.WP.AlternativeFunctions
- }
-}
-
-HooksDocsGenerator::generate_hooks_docs();
diff --git a/bin/prefix-vendor-namespace.php b/bin/prefix-vendor-namespace.php
index 275e5e7753..9e0630a3cc 100755
--- a/bin/prefix-vendor-namespace.php
+++ b/bin/prefix-vendor-namespace.php
@@ -125,7 +125,6 @@
'GuzzleHttp\describe_type',
'GuzzleHttp\HandlerStack::create',
'GuzzleHttp\Message\ResponseInterface)',
- 'GuzzleHttp\Promise\promise_for',
'GuzzleHttp\Psr7\Message::bodySummary',
'GuzzleHttp\Psr7\Utils::streamFor',
'GuzzleHttp\Psr7\Utils::tryFopen',
diff --git a/changelog.txt b/changelog.txt
index c2651030a6..c788470483 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,17 @@
*** WooCommerce Google Listings and Ads Changelog ***
+= 2.5.3 - 2023-08-22 =
+* Dev - Add Action for Hooks Documentation Generator.
+* Dev - Allow E2E testing with Release Candidates.
+* Dev - Convert E2E tests from Puppeteer to Playwright.
+* Dev - Externalize all WordPress JavaScript packages via Dependency Extraction Webpack Plugin (DEWP).
+* Dev - Fetch WooCommerce L-1 versions for our tests.
+* Dev - Remove legacy HooksDocsGenerator.php file.
+* Dev - Use `merge-trunk-develop-pr` action.
+* Tweak - Apply consistent admin theme colors to common UI components.
+* Update - Google API Client Services package to v0.312.
+* Update - Google Ads library to API V14. (package v19.2.0).
+
= 2.5.2 - 2023-08-08 =
* Fix - Remove `add_woocommerce_extended_task_list_item` and `remove_woocommerce_extended_task_list_item` hooks.
* Fix - WordPress 6.3 compatibility: The forms and image selector may not work due to "setImmediate" deprecation.
diff --git a/composer.json b/composer.json
index c0347177d8..8e99acd290 100644
--- a/composer.json
+++ b/composer.json
@@ -11,8 +11,8 @@
"automattic/jetpack-config": "^1.4",
"automattic/jetpack-connection": "^1.40",
"google/apiclient": "^2.15",
- "google/apiclient-services": "~0.302",
- "googleads/google-ads-php": "^19.1",
+ "google/apiclient-services": "~0.312",
+ "googleads/google-ads-php": "^19.2",
"league/container": "^3.4",
"league/iso3166": "^4.1",
"phpseclib/bcmath_compat": "^2.0",
@@ -39,8 +39,7 @@
"Automattic\\WooCommerce\\GoogleListingsAndAds\\Util\\": "bin/"
},
"files": [
- "vendor/guzzlehttp/guzzle/src/functions_include.php",
- "vendor/guzzlehttp/promises/src/functions_include.php"
+ "vendor/guzzlehttp/guzzle/src/functions_include.php"
]
},
"autoload-dev": {
@@ -63,7 +62,7 @@
"Google\\Task\\Composer::cleanup",
"Automattic\\WooCommerce\\GoogleListingsAndAds\\Util\\SymfonyPolyfillCleanup::remove",
"Automattic\\WooCommerce\\GoogleListingsAndAds\\Util\\GoogleAdsCleanupServices::remove",
- "composer run-script remove-google-ads-api-version-support -- 10 11 12",
+ "composer run-script remove-google-ads-api-version-support -- 11 12 13",
"php ./bin/prefix-vendor-namespace.php",
"bash ./bin/cleanup-vendor-files.sh",
"composer dump-autoload"
diff --git a/composer.lock b/composer.lock
index ceac778cc2..f888707051 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "350637b12e5b055c29976df3363ac35d",
+ "content-hash": "e11445388ffb41fd143162a17acf77b8",
"packages": [
{
"name": "automattic/jetpack-a8c-mc-stats",
@@ -442,16 +442,16 @@
},
{
"name": "firebase/php-jwt",
- "version": "v6.5.0",
+ "version": "v6.8.1",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
- "reference": "e94e7353302b0c11ec3cfff7180cd0b1743975d2"
+ "reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/e94e7353302b0c11ec3cfff7180cd0b1743975d2",
- "reference": "e94e7353302b0c11ec3cfff7180cd0b1743975d2",
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/5dbc8959427416b8ee09a100d7a8588c00fb2e26",
+ "reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26",
"shasum": ""
},
"require": {
@@ -499,9 +499,9 @@
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
- "source": "https://github.com/firebase/php-jwt/tree/v6.5.0"
+ "source": "https://github.com/firebase/php-jwt/tree/v6.8.1"
},
- "time": "2023-05-12T15:47:07+00:00"
+ "time": "2023-07-14T18:33:00+00:00"
},
{
"name": "google/apiclient",
@@ -574,20 +574,20 @@
},
{
"name": "google/apiclient-services",
- "version": "v0.302.0",
+ "version": "v0.312.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-api-php-client-services.git",
- "reference": "ac872f59a7b4631b12628fe990c167d18a71c783"
+ "reference": "45d47fed73b28254c511882bc743b1690a99558d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/ac872f59a7b4631b12628fe990c167d18a71c783",
- "reference": "ac872f59a7b4631b12628fe990c167d18a71c783",
+ "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/45d47fed73b28254c511882bc743b1690a99558d",
+ "reference": "45d47fed73b28254c511882bc743b1690a99558d",
"shasum": ""
},
"require": {
- "php": ">=5.6"
+ "php": "^7.4||^8.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7||^8.5.13"
@@ -612,9 +612,9 @@
],
"support": {
"issues": "https://github.com/googleapis/google-api-php-client-services/issues",
- "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.302.0"
+ "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.312.0"
},
- "time": "2023-05-16T01:08:12+00:00"
+ "time": "2023-08-14T00:56:12+00:00"
},
{
"name": "google/auth",
@@ -676,16 +676,16 @@
},
{
"name": "google/common-protos",
- "version": "v4.1.0",
+ "version": "v4.2.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/common-protos-php.git",
- "reference": "4c74dd56310b835115b939a561f7c1f0e3b36364"
+ "reference": "5d9e21141d94329d69d45a8c7a0cdeafd1a143f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleapis/common-protos-php/zipball/4c74dd56310b835115b939a561f7c1f0e3b36364",
- "reference": "4c74dd56310b835115b939a561f7c1f0e3b36364",
+ "url": "https://api.github.com/repos/googleapis/common-protos-php/zipball/5d9e21141d94329d69d45a8c7a0cdeafd1a143f3",
+ "reference": "5d9e21141d94329d69d45a8c7a0cdeafd1a143f3",
"shasum": ""
},
"require": {
@@ -722,22 +722,22 @@
],
"support": {
"issues": "https://github.com/googleapis/common-protos-php/issues",
- "source": "https://github.com/googleapis/common-protos-php/tree/v4.1.0"
+ "source": "https://github.com/googleapis/common-protos-php/tree/v4.2.0"
},
- "time": "2023-05-09T17:34:00+00:00"
+ "time": "2023-07-25T21:51:55+00:00"
},
{
"name": "google/gax",
- "version": "v1.20.2",
+ "version": "v1.22.1",
"source": {
"type": "git",
"url": "https://github.com/googleapis/gax-php.git",
- "reference": "4f101405b59925ac1d42ba1bbf5ca9fb4336248b"
+ "reference": "2566bce7081f17e4f4c35a215864c6d4a62f010f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleapis/gax-php/zipball/4f101405b59925ac1d42ba1bbf5ca9fb4336248b",
- "reference": "4f101405b59925ac1d42ba1bbf5ca9fb4336248b",
+ "url": "https://api.github.com/repos/googleapis/gax-php/zipball/2566bce7081f17e4f4c35a215864c6d4a62f010f",
+ "reference": "2566bce7081f17e4f4c35a215864c6d4a62f010f",
"shasum": ""
},
"require": {
@@ -747,7 +747,7 @@
"google/longrunning": "^0.2",
"google/protobuf": "^3.21.4",
"grpc/grpc": "^1.13",
- "guzzlehttp/promises": "^1.3",
+ "guzzlehttp/promises": "^1.4||^2.0",
"guzzlehttp/psr7": "^2.0",
"php": ">=7.4"
},
@@ -777,9 +777,9 @@
],
"support": {
"issues": "https://github.com/googleapis/gax-php/issues",
- "source": "https://github.com/googleapis/gax-php/tree/v1.20.2"
+ "source": "https://github.com/googleapis/gax-php/tree/v1.22.1"
},
- "time": "2023-05-12T16:22:50+00:00"
+ "time": "2023-08-04T14:32:15+00:00"
},
{
"name": "google/longrunning",
@@ -827,16 +827,16 @@
},
{
"name": "google/protobuf",
- "version": "v3.23.2",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/protocolbuffers/protobuf-php.git",
- "reference": "2349098298b847814e3af4f6452ec43c65c8c4fb"
+ "reference": "bfa8d627de8464634e6e3b5943f6354baa9cedd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/2349098298b847814e3af4f6452ec43c65c8c4fb",
- "reference": "2349098298b847814e3af4f6452ec43c65c8c4fb",
+ "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/bfa8d627de8464634e6e3b5943f6354baa9cedd2",
+ "reference": "bfa8d627de8464634e6e3b5943f6354baa9cedd2",
"shasum": ""
},
"require": {
@@ -865,22 +865,22 @@
"proto"
],
"support": {
- "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.23.2"
+ "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.24.0"
},
- "time": "2023-05-25T22:33:09+00:00"
+ "time": "2023-08-08T21:14:02+00:00"
},
{
"name": "googleads/google-ads-php",
- "version": "v19.1.0",
+ "version": "v19.2.0",
"source": {
"type": "git",
"url": "https://github.com/googleads/google-ads-php.git",
- "reference": "1a45e844d224638f7ff1bb15b0a05331540df3e1"
+ "reference": "2ae4c1b81bb4792e4711dcf150faddba80e9bdf0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleads/google-ads-php/zipball/1a45e844d224638f7ff1bb15b0a05331540df3e1",
- "reference": "1a45e844d224638f7ff1bb15b0a05331540df3e1",
+ "url": "https://api.github.com/repos/googleads/google-ads-php/zipball/2ae4c1b81bb4792e4711dcf150faddba80e9bdf0",
+ "reference": "2ae4c1b81bb4792e4711dcf150faddba80e9bdf0",
"shasum": ""
},
"require": {
@@ -928,9 +928,9 @@
"homepage": "https://github.com/googleads/google-ads-php",
"support": {
"issues": "https://github.com/googleads/google-ads-php/issues",
- "source": "https://github.com/googleads/google-ads-php/tree/v19.1.0"
+ "source": "https://github.com/googleads/google-ads-php/tree/v19.2.0"
},
- "time": "2023-04-27T18:07:53+00:00"
+ "time": "2023-06-08T14:17:45+00:00"
},
{
"name": "guzzlehttp/guzzle",
@@ -1060,29 +1060,33 @@
},
{
"name": "guzzlehttp/promises",
- "version": "1.5.3",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e"
+ "reference": "111166291a0f8130081195ac4556a5587d7f1b5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e",
- "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d",
+ "reference": "111166291a0f8130081195ac4556a5587d7f1b5d",
"shasum": ""
},
"require": {
- "php": ">=5.5"
+ "php": "^7.2.5 || ^8.0"
},
"require-dev": {
- "symfony/phpunit-bridge": "^4.4 || ^5.1"
+ "bamarni/composer-bin-plugin": "^1.8.1",
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23"
},
"type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ }
+ },
"autoload": {
- "files": [
- "src/functions_include.php"
- ],
"psr-4": {
"GuzzleHttp\\Promise\\": "src/"
}
@@ -1119,7 +1123,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/1.5.3"
+ "source": "https://github.com/guzzle/promises/tree/2.0.1"
},
"funding": [
{
@@ -1135,20 +1139,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-21T12:31:43+00:00"
+ "time": "2023-08-03T15:11:55+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.5.0",
+ "version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "b635f279edd83fc275f822a1188157ffea568ff6"
+ "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6",
- "reference": "b635f279edd83fc275f822a1188157ffea568ff6",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/8bd7c33a0734ae1c5d074360512beb716bef3f77",
+ "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77",
"shasum": ""
},
"require": {
@@ -1235,7 +1239,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.5.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.6.0"
},
"funding": [
{
@@ -1251,7 +1255,7 @@
"type": "tidelift"
}
],
- "time": "2023-04-17T16:11:26+00:00"
+ "time": "2023-08-03T15:06:02+00:00"
},
{
"name": "league/container",
@@ -1672,16 +1676,16 @@
},
{
"name": "phpseclib/phpseclib",
- "version": "3.0.19",
+ "version": "3.0.21",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "cc181005cf548bfd8a4896383bb825d859259f95"
+ "reference": "4580645d3fc05c189024eb3b834c6c1e4f0f30a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cc181005cf548bfd8a4896383bb825d859259f95",
- "reference": "cc181005cf548bfd8a4896383bb825d859259f95",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4580645d3fc05c189024eb3b834c6c1e4f0f30a1",
+ "reference": "4580645d3fc05c189024eb3b834c6c1e4f0f30a1",
"shasum": ""
},
"require": {
@@ -1762,7 +1766,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/3.0.19"
+ "source": "https://github.com/phpseclib/phpseclib/tree/3.0.21"
},
"funding": [
{
@@ -1778,7 +1782,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-05T17:13:09+00:00"
+ "time": "2023-07-09T15:24:48+00:00"
},
{
"name": "psr/cache",
@@ -5557,5 +5561,5 @@
"platform-overrides": {
"php": "7.4.30"
},
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.2.0"
}
diff --git a/google-listings-and-ads.php b/google-listings-and-ads.php
index 8dd3d58d06..27f327076b 100644
--- a/google-listings-and-ads.php
+++ b/google-listings-and-ads.php
@@ -3,7 +3,7 @@
* Plugin Name: Google Listings and Ads
* Plugin URL: https://wordpress.org/plugins/google-listings-and-ads/
* Description: Native integration with Google that allows merchants to easily display their products across Google’s network.
- * Version: 2.5.2
+ * Version: 2.5.3
* Author: WooCommerce
* Author URI: https://woocommerce.com/
* Text Domain: google-listings-and-ads
@@ -30,7 +30,7 @@
defined( 'ABSPATH' ) || exit;
-define( 'WC_GLA_VERSION', '2.5.2' ); // WRCS: DEFINED_VERSION.
+define( 'WC_GLA_VERSION', '2.5.3' ); // WRCS: DEFINED_VERSION.
define( 'WC_GLA_MIN_PHP_VER', '7.4' );
define( 'WC_GLA_MIN_WC_VER', '6.9' );
diff --git a/jest.config.js b/jest.config.js
index 7482012e22..50f2c6d317 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -52,4 +52,5 @@ module.exports = {
timeFormat: 'g:i a',
},
},
+ timers: 'fake',
};
diff --git a/js/src/components/app-button/index.js b/js/src/components/app-button/index.js
index 1bfe20b44a..b87d3a7e12 100644
--- a/js/src/components/app-button/index.js
+++ b/js/src/components/app-button/index.js
@@ -1,7 +1,7 @@
/**
* External dependencies
*/
-import { Button } from 'extracted/@wordpress/components';
+import { Button } from '@wordpress/components';
import { Spinner } from '@woocommerce/components';
import { recordEvent } from '@woocommerce/tracks';
import classnames from 'classnames';
diff --git a/js/src/components/app-radio-content-control/index.scss b/js/src/components/app-radio-content-control/index.scss
index c611fa6025..3f016e69cd 100644
--- a/js/src/components/app-radio-content-control/index.scss
+++ b/js/src/components/app-radio-content-control/index.scss
@@ -10,6 +10,7 @@
// by placing them on the same brid.
.components-radio-control,
.components-base-control__field,
+ .components-base-control__field .components-flex,
.components-radio-control__option {
display: contents;
}
diff --git a/js/src/components/app-standalone-toggle-control/index.scss b/js/src/components/app-standalone-toggle-control/index.scss
index 79aa17ecc2..4b2fe3e4f5 100644
--- a/js/src/components/app-standalone-toggle-control/index.scss
+++ b/js/src/components/app-standalone-toggle-control/index.scss
@@ -4,10 +4,12 @@
display: inline-block;
// remove the margins specified in ToggleControl component.
+ .components-base-control {
+ margin-bottom: 0;
+ }
+
.components-toggle-control {
.components-base-control__field {
- margin-bottom: 0;
-
.components-form-toggle {
margin-right: 0;
diff --git a/js/src/components/app-tooltip/index.js b/js/src/components/app-tooltip/index.js
index 76fbb7c454..44f9822fc9 100644
--- a/js/src/components/app-tooltip/index.js
+++ b/js/src/components/app-tooltip/index.js
@@ -1,7 +1,7 @@
/**
* External dependencies
*/
-import { Tooltip } from 'extracted/@wordpress/components';
+import { Tooltip } from '@wordpress/components';
import { Children } from '@wordpress/element';
/**
diff --git a/js/src/components/dismissible-notice/index.js b/js/src/components/dismissible-notice/index.js
deleted file mode 100644
index cfe36be2e0..0000000000
--- a/js/src/components/dismissible-notice/index.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * External dependencies
- */
-import { Notice } from '@wordpress/components';
-import { useState } from '@wordpress/element';
-import { noop } from 'lodash';
-
-/**
- * Internal dependencies
- */
-import localStorage from '.~/utils/localStorage';
-
-/**
- * Shows dismissible Notice {@link Notice}
- * If localStorageKey is provided it will store the dismiss state in the localStorage
- *
- *
- * @param {Object} props React props.
- * @param {JSX.Element} props.children Children to render.
- * @param {string|null} props.localStorageKey Local Storage Key where is keep the dismiss state.
- * @param {Function} props.onRemove Callback when clicking on remove notice
- * @param {Object} props.restProps Props to be forwarded to Notice Component. Like className.
- * @return {JSX.Element} {@link Notice} Dismissible Notice element
- */
-const DismissibleNotice = ( {
- children,
- localStorageKey = null,
- onRemove = noop,
- ...rest
-} ) => {
- const defaultDismissedValue =
- localStorage.get( localStorageKey ) === 'true';
-
- const [ isDismissed, setIsDismissed ] = useState( defaultDismissedValue );
-
- const handleRemove = () => {
- if ( localStorageKey ) {
- localStorage.set( localStorageKey, true );
- }
-
- onRemove();
-
- setIsDismissed( true );
- };
-
- if ( isDismissed ) {
- return null;
- }
-
- return (
-
- { children }
-
- );
-};
-
-export default DismissibleNotice;
diff --git a/js/src/components/dismissible-notice/index.test.js b/js/src/components/dismissible-notice/index.test.js
deleted file mode 100644
index 504210ce08..0000000000
--- a/js/src/components/dismissible-notice/index.test.js
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * External dependencies
- */
-import { fireEvent, render } from '@testing-library/react';
-import '@testing-library/jest-dom/extend-expect';
-
-/**
- * Internal dependencies
- */
-import DismissibleNotice from '.~/components/dismissible-notice';
-import localStorage from '.~/utils/localStorage';
-
-jest.mock( '.~/utils/localStorage', () => {
- return {
- get: jest.fn(),
- set: jest.fn(),
- };
-} );
-
-describe( 'Dismissible notice', () => {
- const onRemove = jest.fn().mockName( 'On remove callback' );
- const localStorageKey = 'myDismissLocalStorageKey';
-
- afterEach( () => {
- jest.clearAllMocks();
- } );
-
- it( 'Rendering Dismissible Notice', () => {
- //using spokenMessage='' to avoid accessibility message.
- //See https://make.wordpress.org/accessibility/handbook/markup/wp-a11y-speak/#the-generated-output
- const { getByText, getByRole, container } = render(
-
- My dismissible notice
-
- );
-
- expect( container.firstChild.classList.contains( 'myClassName' ) ).toBe(
- true
- );
- const noticeContent = getByText( 'My dismissible notice' );
- const removeButton = getByRole( 'button' );
-
- expect( noticeContent ).toBeTruthy();
- expect( removeButton ).toBeTruthy();
- } );
-
- it( 'Rendering Dismissible Notice with onRemove callback', () => {
- const getLocalStorage = localStorage.get.mockImplementation( () => {
- return null;
- } );
-
- const { getByText, getByRole, queryByText } = render(
-
- My dismissible notice
-
- );
-
- expect( getByText( 'My dismissible notice' ) ).toBeTruthy();
-
- const removeButton = getByRole( 'button' );
- expect( removeButton ).toBeTruthy();
-
- expect( getLocalStorage ).toHaveBeenCalledTimes( 1 );
-
- fireEvent.click( removeButton );
-
- expect( onRemove ).toHaveBeenCalledTimes( 1 );
-
- expect( queryByText( 'My dismissible notice' ) ).toBeFalsy();
- } );
-
- it( 'Rendering Dismissible Notice with localStorageKey', () => {
- const getLocalStorage = localStorage.get.mockImplementation( () => {
- return null;
- } );
- const setLocalStorage = localStorage.set.mockImplementation( () => {
- return null;
- } );
-
- const { getByRole, queryByText } = render(
-
- My dismissible notice
-
- );
-
- expect( getLocalStorage ).toHaveBeenCalledTimes( 1 );
- expect( getLocalStorage ).toBeCalledWith( localStorageKey );
-
- const removeButton = getByRole( 'button' );
- expect( removeButton ).toBeTruthy();
-
- fireEvent.click( removeButton );
-
- expect( onRemove ).toHaveBeenCalledTimes( 1 );
- expect( setLocalStorage ).toHaveBeenCalledTimes( 1 );
- expect( setLocalStorage ).toBeCalledWith( localStorageKey, true );
-
- expect( queryByText( 'My dismissible notice' ) ).toBeFalsy();
- } );
-
- it( 'Should not render Dismissible Notice if the dismiss state in the localStorage is set to true', () => {
- const getLocalStorage = localStorage.get.mockImplementation( () => {
- return 'true';
- } );
-
- const { queryByText } = render(
-
- My dismissible notice
-
- );
-
- expect( queryByText( 'My dismissible notice' ) ).toBeFalsy();
- expect( getLocalStorage ).toHaveBeenCalledTimes( 1 );
- expect( getLocalStorage ).toBeCalledWith( localStorageKey );
- expect( onRemove ).toHaveBeenCalledTimes( 0 );
- } );
-} );
diff --git a/js/src/components/faqs-panel/index.js b/js/src/components/faqs-panel/index.js
index 1a2adb8cb1..49cb1f98de 100644
--- a/js/src/components/faqs-panel/index.js
+++ b/js/src/components/faqs-panel/index.js
@@ -2,7 +2,7 @@
* External dependencies
*/
import { __ } from '@wordpress/i18n';
-import { Panel, PanelBody, PanelRow } from 'extracted/@wordpress/components';
+import { Panel, PanelBody, PanelRow } from '@wordpress/components';
import { recordEvent } from '@woocommerce/tracks';
import classnames from 'classnames';
diff --git a/js/src/components/google-ads-account-card/connected-google-ads-account-card.js b/js/src/components/google-ads-account-card/connected-google-ads-account-card.js
index 6419e94b18..26f2e6fe7a 100644
--- a/js/src/components/google-ads-account-card/connected-google-ads-account-card.js
+++ b/js/src/components/google-ads-account-card/connected-google-ads-account-card.js
@@ -3,7 +3,7 @@
*/
import { __ } from '@wordpress/i18n';
import { useState } from '@wordpress/element';
-import { ExternalLink } from 'extracted/@wordpress/components';
+import { ExternalLink } from '@wordpress/components';
/**
* Internal dependencies
diff --git a/js/src/components/help-popover/index.js b/js/src/components/help-popover/index.js
index f31d8f3a13..bf9c701545 100644
--- a/js/src/components/help-popover/index.js
+++ b/js/src/components/help-popover/index.js
@@ -3,7 +3,7 @@
*/
import classnames from 'classnames';
import { __ } from '@wordpress/i18n';
-import { Popover } from 'extracted/@wordpress/components';
+import { Popover } from '@wordpress/components';
import { useState } from '@wordpress/element';
import GridiconHelpOutline from 'gridicons/dist/help-outline';
import { recordEvent } from '@woocommerce/tracks';
diff --git a/js/src/components/paid-ads/asset-group/final-url-card.js b/js/src/components/paid-ads/asset-group/final-url-card.js
index fb2ff1645a..fea2c09394 100644
--- a/js/src/components/paid-ads/asset-group/final-url-card.js
+++ b/js/src/components/paid-ads/asset-group/final-url-card.js
@@ -4,7 +4,7 @@
import { __ } from '@wordpress/i18n';
import classnames from 'classnames';
import { useState } from '@wordpress/element';
-import { ExternalLink } from 'extracted/@wordpress/components';
+import { ExternalLink } from '@wordpress/components';
/**
* Internal dependencies
diff --git a/js/src/components/paid-ads/assetSpecs.js b/js/src/components/paid-ads/assetSpecs.js
index 5e51c832c4..df8eda5dde 100644
--- a/js/src/components/paid-ads/assetSpecs.js
+++ b/js/src/components/paid-ads/assetSpecs.js
@@ -2,7 +2,7 @@
* External dependencies
*/
import { __, _x, sprintf } from '@wordpress/i18n';
-import { ExternalLink } from 'extracted/@wordpress/components';
+import { ExternalLink } from '@wordpress/components';
import { Fragment, createInterpolateElement } from '@wordpress/element';
/**
diff --git a/js/src/components/paid-ads/audience-section.scss b/js/src/components/paid-ads/audience-section.scss
index d32c842c4d..565a4bc70f 100644
--- a/js/src/components/paid-ads/audience-section.scss
+++ b/js/src/components/paid-ads/audience-section.scss
@@ -3,20 +3,10 @@
// Repeat selector to make it higher priority.
.components-input-control__container.components-input-control__container {
.components-select-control__input {
- min-height: $gla-size-control-height;
padding-left: $grid-unit-20;
}
}
- // Adjust labels of imported from @wordpress/components.
- // Repeat selector to make it higher priority.
- .components-base-control .components-select-control {
- .components-input-control__label {
- padding-bottom: 0;
- margin-bottom: $grid-unit-10;
- }
- }
-
// Adjust help text of imported from @wordpress/components.
.components-base-control__help {
margin: 0;
diff --git a/js/src/components/paid-ads/billing-card/billing-setup-card.js b/js/src/components/paid-ads/billing-card/billing-setup-card.js
index 463065cd29..ddcaf96f8b 100644
--- a/js/src/components/paid-ads/billing-card/billing-setup-card.js
+++ b/js/src/components/paid-ads/billing-card/billing-setup-card.js
@@ -3,7 +3,7 @@
*/
import { __ } from '@wordpress/i18n';
import { createInterpolateElement } from '@wordpress/element';
-import { ExternalLink } from 'extracted/@wordpress/components';
+import { ExternalLink } from '@wordpress/components';
/**
* Internal dependencies
diff --git a/js/src/components/pre-launch-check-item/index.js b/js/src/components/pre-launch-check-item/index.js
index e4fde4de0d..f3878c7025 100644
--- a/js/src/components/pre-launch-check-item/index.js
+++ b/js/src/components/pre-launch-check-item/index.js
@@ -2,8 +2,12 @@
* External dependencies
*/
import { __ } from '@wordpress/i18n';
-import { CheckboxControl } from '@wordpress/components';
-import { Panel, PanelBody, PanelRow } from 'extracted/@wordpress/components';
+import {
+ Panel,
+ PanelBody,
+ PanelRow,
+ CheckboxControl,
+} from '@wordpress/components';
import { recordEvent } from '@woocommerce/tracks';
import { useRef } from '@wordpress/element';
diff --git a/js/src/components/pre-launch-check-item/index.scss b/js/src/components/pre-launch-check-item/index.scss
index 62d48b4c57..9576b8a4b4 100644
--- a/js/src/components/pre-launch-check-item/index.scss
+++ b/js/src/components/pre-launch-check-item/index.scss
@@ -8,13 +8,8 @@
align-items: flex-start;
gap: 1em;
}
-
- .components-panel__body-title {
- .components-panel__body-toggle.components-button {
- color: #007cba;
- }
- }
}
+
.gla-pre-launch-checklist__checkbox {
display: flex;
justify-content: stretch;
diff --git a/js/src/components/stepper/top-bar/index.js b/js/src/components/stepper/top-bar/index.js
index 55d978068c..e32129d106 100644
--- a/js/src/components/stepper/top-bar/index.js
+++ b/js/src/components/stepper/top-bar/index.js
@@ -23,15 +23,15 @@ const TopBar = ( { title, backHref, helpButton, onBackButtonClick } ) => {
return (
-
{ title }
-
{ helpButton }
+
{ title }
+ { helpButton }
);
};
diff --git a/js/src/components/stepper/top-bar/index.scss b/js/src/components/stepper/top-bar/index.scss
index c9f605e5c9..5677758c06 100644
--- a/js/src/components/stepper/top-bar/index.scss
+++ b/js/src/components/stepper/top-bar/index.scss
@@ -1,28 +1,22 @@
.gla-stepper-top-bar {
display: flex;
- align-items: stretch;
+ align-items: center;
min-height: $grid-unit-40 * 2;
background-color: $white;
box-shadow: 0 -1px 0 0 $gray-400 inset;
- .back-button {
- display: flex;
- align-items: center;
+ .components-button {
+ height: auto;
+ align-self: stretch;
+ }
+
+ &__back-button {
padding: 0 calc(var(--main-gap) / 2);
}
- .title {
- align-self: center;
+ &__title {
flex: 1;
font-size: $editor-font-size;
- font-weight: 400;
- line-height: $gla-line-height-medium-large;
letter-spacing: 0;
}
-
- .actions {
- .components-button {
- height: 100%;
- }
- }
}
diff --git a/js/src/css/shared/_gutenberg-components.scss b/js/src/css/shared/_gutenberg-components.scss
index 9c0e39243a..60732f4e9f 100644
--- a/js/src/css/shared/_gutenberg-components.scss
+++ b/js/src/css/shared/_gutenberg-components.scss
@@ -1,12 +1,5 @@
// Scope the old styles of core components to GLA pages to avoid styling conflicts with other non-GLA pages.
.gla-admin-page {
- // WP 6.1 Compatibility (@wordpress/components 21.0.6 imported by @woocommerce/components)
- // The style of `DatePicker` component was significantly changed as per the new implementations.
- // This import could be removed after:
- // - It's fixed from @woocommerce/components
- // - or @wordpress/components is changed to be imported via (WC)DEWP
- @import "node_modules/@wordpress/components/src/date-time/date/datepicker"; /* stylelint-disable-line no-invalid-position-at-import-rule */
-
.components-button {
// Hack to show correct font color for disabled primary destructive button.
// The color style is copied from https://github.com/WordPress/gutenberg/blob/%40wordpress/components%4012.0.8/packages/components/src/button/style.scss#L67-L72
@@ -51,35 +44,9 @@
font-size: inherit;
}
}
-}
-// hack to fix radio button selected style bug caused by woocommerce-admin.
-.components-radio-control__input[type="radio"]:checked::before {
- border: none;
-}
-
-// hack to fix InputControl suffix's empty right margin.
-.components-input-control__suffix {
- margin-right: $grid-unit;
-}
-
-// Hack to fix the Tooltip position of the top-right side close button in a Modal component.
-// The follow up can be found here: https://github.com/woocommerce/google-listings-and-ads/issues/203
-.components-modal {
- &__screen-overlay {
- display: flex;
- justify-content: center;
- align-items: center;
- }
-
- &__frame {
- @include break-small {
- transform: initial;
- position: relative;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- }
+ // Adjust InputControl suffix's empty right margin.
+ .components-input-control__suffix {
+ margin-right: $grid-unit;
}
}
diff --git a/js/src/external-components/woocommerce/compare-filter/index.js b/js/src/external-components/woocommerce/compare-filter/index.js
index 1a1fa6fa4e..f75d12ddaa 100644
--- a/js/src/external-components/woocommerce/compare-filter/index.js
+++ b/js/src/external-components/woocommerce/compare-filter/index.js
@@ -9,8 +9,13 @@
*/
import { __ } from '@wordpress/i18n';
import { Component } from '@wordpress/element';
-import { Card, CardBody, CardFooter, CardHeader } from '@wordpress/components';
-import { Button } from 'extracted/@wordpress/components';
+import {
+ Card,
+ CardBody,
+ CardFooter,
+ CardHeader,
+ Button,
+} from '@wordpress/components';
import { isEqual, isFunction } from 'lodash';
import PropTypes from 'prop-types';
import { getIdsFromQuery, updateQueryString } from '@woocommerce/navigation';
diff --git a/js/src/external-components/woocommerce/filter-picker/index.js b/js/src/external-components/woocommerce/filter-picker/index.js
index a43723b362..2ba5a422d9 100644
--- a/js/src/external-components/woocommerce/filter-picker/index.js
+++ b/js/src/external-components/woocommerce/filter-picker/index.js
@@ -8,8 +8,7 @@
* External dependencies
*/
import { __ } from '@wordpress/i18n';
-import { Dropdown } from '@wordpress/components';
-import { Button } from 'extracted/@wordpress/components';
+import { Dropdown, Button } from '@wordpress/components';
import { focus } from '@wordpress/dom';
import classnames from 'classnames';
import { Component } from '@wordpress/element';
diff --git a/js/src/external-components/wordpress/guide/finish-button.js b/js/src/external-components/wordpress/guide/finish-button.js
index 05c0dabf30..d2dc41f448 100644
--- a/js/src/external-components/wordpress/guide/finish-button.js
+++ b/js/src/external-components/wordpress/guide/finish-button.js
@@ -9,7 +9,7 @@
* External dependencies
*/
import { useRef, useLayoutEffect } from '@wordpress/element';
-import { Button } from 'extracted/@wordpress/components';
+import { Button } from '@wordpress/components';
export default function FinishButton( props ) {
const ref = useRef();
diff --git a/js/src/external-components/wordpress/guide/icons.js b/js/src/external-components/wordpress/guide/icons.js
index 2527d43b82..9ec0c3b04f 100644
--- a/js/src/external-components/wordpress/guide/icons.js
+++ b/js/src/external-components/wordpress/guide/icons.js
@@ -10,13 +10,8 @@
*/
import { SVG, Circle } from '@wordpress/primitives';
-export const PageControlIcon = ( { isSelected } ) => (
+export const PageControlIcon = () => (
);
diff --git a/js/src/external-components/wordpress/guide/index.js b/js/src/external-components/wordpress/guide/index.js
index 4e249bfb46..de07985dfd 100644
--- a/js/src/external-components/wordpress/guide/index.js
+++ b/js/src/external-components/wordpress/guide/index.js
@@ -11,14 +11,14 @@
import classnames from 'classnames';
import { useState } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
-import { Modal } from '@wordpress/components';
-import { Button, KeyboardShortcuts } from 'extracted/@wordpress/components';
+import { Modal, Button, KeyboardShortcuts } from '@wordpress/components';
/**
* Internal dependencies
*/
import PageControl from './page-control';
import FinishButton from './finish-button';
+import './index.scss';
/**
* @callback renderFinishCallback
@@ -89,9 +89,17 @@ export default function Guide( {
finishBlock = renderFinish( finishButton );
}
+ const guideClassName = classnames(
+ // gla-admin-page is for scoping particular styles to components that are used by
+ // a GLA admin page and are rendered via ReactDOM.createPortal.
+ 'gla-admin-page',
+ 'components-guide',
+ className
+ );
+
return (
diff --git a/js/src/external-components/wordpress/guide/index.scss b/js/src/external-components/wordpress/guide/index.scss
new file mode 100644
index 0000000000..c3d544b099
--- /dev/null
+++ b/js/src/external-components/wordpress/guide/index.scss
@@ -0,0 +1,7 @@
+.gla-admin-page .components-guide {
+ &__page-control {
+ > li[aria-current="step"] .components-button {
+ color: var(--wp-admin-theme-color);
+ }
+ }
+}
diff --git a/js/src/external-components/wordpress/guide/page-control.js b/js/src/external-components/wordpress/guide/page-control.js
index 26cc9f0d29..5eb0f0fe20 100644
--- a/js/src/external-components/wordpress/guide/page-control.js
+++ b/js/src/external-components/wordpress/guide/page-control.js
@@ -10,7 +10,7 @@
*/
import { times } from 'lodash';
import { __, sprintf } from '@wordpress/i18n';
-import { Button } from 'extracted/@wordpress/components';
+import { Button } from '@wordpress/components';
/**
* Internal dependencies
@@ -35,11 +35,7 @@ export default function PageControl( {
>
- }
+ icon={ }
aria-label={ sprintf(
/* translators: 1: current page number 2: total number of pages */
__( 'Page %1$d of %2$d' ),
diff --git a/js/src/get-started-page/customer-quotes-card/index.js b/js/src/get-started-page/customer-quotes-card/index.js
index b661082581..406efa0e17 100644
--- a/js/src/get-started-page/customer-quotes-card/index.js
+++ b/js/src/get-started-page/customer-quotes-card/index.js
@@ -2,7 +2,7 @@
* External dependencies
*/
import { __ } from '@wordpress/i18n';
-import { Card, CardHeader, Flex, FlexBlock } from '@wordpress/components';
+import { Flex, FlexBlock, Card, CardHeader } from '@wordpress/components';
/**
* Internal dependencies
diff --git a/js/src/get-started-page/features-card/index.js b/js/src/get-started-page/features-card/index.js
index 2e6460e10c..0e21a3035c 100644
--- a/js/src/get-started-page/features-card/index.js
+++ b/js/src/get-started-page/features-card/index.js
@@ -2,7 +2,7 @@
* External dependencies
*/
import { __ } from '@wordpress/i18n';
-import { Card, CardHeader, Flex, FlexBlock } from '@wordpress/components';
+import { Flex, FlexBlock, Card, CardHeader } from '@wordpress/components';
import { createInterpolateElement } from '@wordpress/element';
/**
diff --git a/js/src/get-started-page/get-started-card/index.js b/js/src/get-started-page/get-started-card/index.js
index ead847c49d..54404956dc 100644
--- a/js/src/get-started-page/get-started-card/index.js
+++ b/js/src/get-started-page/get-started-card/index.js
@@ -1,7 +1,7 @@
/**
* External dependencies
*/
-import { Card, CardBody, FlexItem } from '@wordpress/components';
+import { FlexItem, Card, CardBody } from '@wordpress/components';
import { createInterpolateElement } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
diff --git a/js/src/get-started-page/get-started-with-video-card/index.js b/js/src/get-started-page/get-started-with-video-card/index.js
index 0fe6ea1439..66444a8d2a 100644
--- a/js/src/get-started-page/get-started-with-video-card/index.js
+++ b/js/src/get-started-page/get-started-with-video-card/index.js
@@ -1,7 +1,7 @@
/**
* External dependencies
*/
-import { Card, CardBody, FlexBlock, Tip } from '@wordpress/components';
+import { FlexBlock, Card, CardBody, Tip } from '@wordpress/components';
import { createInterpolateElement } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
diff --git a/js/src/get-started-page/unsupported-notices/index.js b/js/src/get-started-page/unsupported-notices/index.js
index c5102eca8b..ede58e5141 100644
--- a/js/src/get-started-page/unsupported-notices/index.js
+++ b/js/src/get-started-page/unsupported-notices/index.js
@@ -49,14 +49,12 @@ const UnsupportedLanguage = () => {
language: { data.language },
settingsLink: (
),
supportedLanguagesLink: (
{
country: { countryName },
settingsLink: (
),
supportedCountriesLink: (
-
+
);
}
diff --git a/js/src/product-feed/product-feed-table-card/index.scss b/js/src/product-feed/product-feed-table-card/index.scss
index 4a3e4d26f2..362840348c 100644
--- a/js/src/product-feed/product-feed-table-card/index.scss
+++ b/js/src/product-feed/product-feed-table-card/index.scss
@@ -12,7 +12,7 @@
}
}
- .app-tooltip__children-container {
+ .gla-tooltip__children-container {
// Clear the 4px space gap for SVG
line-height: 0;
diff --git a/js/src/product-feed/product-statistics/index.js b/js/src/product-feed/product-statistics/index.js
index b4c28ccfd5..16ce38133f 100644
--- a/js/src/product-feed/product-statistics/index.js
+++ b/js/src/product-feed/product-statistics/index.js
@@ -3,11 +3,11 @@
*/
import { __ } from '@wordpress/i18n';
import {
+ FlexItem,
Card,
CardHeader,
CardBody,
CardFooter,
- FlexItem,
} from '@wordpress/components';
import {
diff --git a/js/src/reports/programs/campaign-name-cell.scss b/js/src/reports/programs/campaign-name-cell.scss
index b34d3a3619..99de80373a 100644
--- a/js/src/reports/programs/campaign-name-cell.scss
+++ b/js/src/reports/programs/campaign-name-cell.scss
@@ -1,5 +1,5 @@
.gla-reports__tooltip-campaign-name {
- .app-tooltip__children-container {
+ .gla-tooltip__children-container {
width: 100%;
}
}
diff --git a/js/src/setup-mc/setup-stepper/setup-paid-ads/product-feed-status-section.scss b/js/src/setup-mc/setup-stepper/setup-paid-ads/product-feed-status-section.scss
index 42c882b5f0..9d623b5acb 100644
--- a/js/src/setup-mc/setup-stepper/setup-paid-ads/product-feed-status-section.scss
+++ b/js/src/setup-mc/setup-stepper/setup-paid-ads/product-feed-status-section.scss
@@ -16,7 +16,7 @@
}
&__product-quantity-separator,
- .app-tooltip__children-container {
+ .gla-tooltip__children-container {
font-size: $gla-font-smallest;
font-weight: normal;
color: $gray-700;
@@ -28,7 +28,7 @@
margin: 0 $grid-unit-10;
}
- .app-tooltip__children-container {
+ .gla-tooltip__children-container {
padding-bottom: calc($grid-unit-05 / 2);
line-height: 1;
border-bottom: $border-width dashed $gray-600;
diff --git a/package-lock.json b/package-lock.json
index a1e116424f..639e95554c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "google-listings-and-ads",
- "version": "2.5.2",
+ "version": "2.5.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -142,235 +142,6 @@
"tslib": "^2.3.0"
}
},
- "@automattic/puppeteer-utils": {
- "version": "git+https://github.com/Automattic/puppeteer-utils.git#0f3ec50fc22d7bd2a4bd69fc172e8a66d958ef2d",
- "from": "git+https://github.com/Automattic/puppeteer-utils.git#0f3ec50",
- "dev": true,
- "requires": {
- "@babel/cli": "^7.8.3",
- "@babel/core": "^7.8.3",
- "@babel/preset-env": "^7.8.3",
- "@slack/web-api": "^5.6.0",
- "@wordpress/e2e-test-utils": "^3.0.0",
- "config": "^3.2.4",
- "eslint": "6.7.2",
- "jest": "^24.9.0",
- "prettier": "npm:wp-prettier@1.19.1",
- "puppeteer": "^2.0.0"
- },
- "dependencies": {
- "@slack/web-api": {
- "version": "5.15.0",
- "resolved": "https://registry.npmjs.org/@slack/web-api/-/web-api-5.15.0.tgz",
- "integrity": "sha512-tjQ8Zqv/Fmj9SOL9yIEd7IpTiKfKHi9DKAkfRVeotoX0clMr3SqQtBqO+KZMX27gm7dmgJsQaDKlILyzdCO+IA==",
- "dev": true,
- "requires": {
- "@slack/logger": ">=1.0.0 <3.0.0",
- "@slack/types": "^1.7.0",
- "@types/is-stream": "^1.1.0",
- "@types/node": ">=8.9.0",
- "axios": "^0.21.1",
- "eventemitter3": "^3.1.0",
- "form-data": "^2.5.0",
- "is-stream": "^1.1.0",
- "p-queue": "^6.6.1",
- "p-retry": "^4.0.0"
- }
- },
- "@wordpress/e2e-test-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils/-/e2e-test-utils-3.0.0.tgz",
- "integrity": "sha512-XMdR8DeKyDQRF5jKeUlOzP4pTRtoJuOLsNZRLUFUvnrs9y/7/hH17VmPbWp3TJGvV/eGKzO4+D+wJTsP9nJmIw==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.4.4",
- "@wordpress/keycodes": "^2.7.0",
- "@wordpress/url": "^2.8.2",
- "lodash": "^4.17.15",
- "node-fetch": "^1.7.3"
- }
- },
- "@wordpress/hooks": {
- "version": "2.12.3",
- "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-2.12.3.tgz",
- "integrity": "sha512-LmKiwKldZt6UYqOxV/a6+eUFXdvALFnB/pQx3RmrMvO64sgFhfR6dhrlv+uVbuuezSuv8dce1jx8lUWAT0krMA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- },
- "@wordpress/i18n": {
- "version": "3.20.0",
- "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-3.20.0.tgz",
- "integrity": "sha512-SIoOJFB4UrrYAScS4H91CYCLW9dX3Ghv8pBKc/yHGculb1AdGr6gRMlmJxZV62Cn3CZ4Ga86c+FfR+GiBu0JPg==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@wordpress/hooks": "^2.12.3",
- "gettext-parser": "^1.3.1",
- "lodash": "^4.17.19",
- "memize": "^1.1.0",
- "sprintf-js": "^1.1.1",
- "tannin": "^1.2.0"
- }
- },
- "@wordpress/keycodes": {
- "version": "2.19.3",
- "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-2.19.3.tgz",
- "integrity": "sha512-8rNdmP5M1ifTgLIL0dt/N1uTGsq/Rx1ydCXy+gg24WdxBRhyu5sudNVCtascVXo26aIfOH9OJRdqRZZTEORhog==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@wordpress/i18n": "^3.20.0",
- "lodash": "^4.17.19"
- }
- },
- "@wordpress/url": {
- "version": "2.22.2",
- "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-2.22.2.tgz",
- "integrity": "sha512-aqpYKQXzyzkCOm+GzZRYlLb+wh58g0cwR1PaKAl0UXaBS4mdS+X6biMriylb4P8CVC/RR7CSw5XI20JC24KDwQ==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10",
- "lodash": "^4.17.19",
- "react-native-url-polyfill": "^1.1.2"
- }
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "eslint": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.2.tgz",
- "integrity": "sha512-qMlSWJaCSxDFr8fBPvJM9kJwbazrhNcBU3+DszDW1OlEwKBBRWsJc7NJFelvwQpanHCR14cOLD41x8Eqvo3Nng==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "ajv": "^6.10.0",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^1.4.3",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^6.1.2",
- "esquery": "^1.0.1",
- "esutils": "^2.0.2",
- "file-entry-cache": "^5.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.0.0",
- "globals": "^12.1.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "inquirer": "^7.0.0",
- "is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.14",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.3",
- "progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^6.1.2",
- "strip-ansi": "^5.2.0",
- "strip-json-comments": "^3.0.1",
- "table": "^5.2.3",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- }
- },
- "globals": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
- "dev": true,
- "requires": {
- "type-fest": "^0.8.1"
- }
- },
- "jest": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz",
- "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==",
- "dev": true,
- "requires": {
- "import-local": "^2.0.0",
- "jest-cli": "^24.9.0"
- },
- "dependencies": {
- "jest-cli": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz",
- "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==",
- "dev": true,
- "requires": {
- "@jest/core": "^24.9.0",
- "@jest/test-result": "^24.9.0",
- "@jest/types": "^24.9.0",
- "chalk": "^2.0.1",
- "exit": "^0.1.2",
- "import-local": "^2.0.0",
- "is-ci": "^2.0.0",
- "jest-config": "^24.9.0",
- "jest-util": "^24.9.0",
- "jest-validate": "^24.9.0",
- "prompts": "^2.0.1",
- "realpath-native": "^1.1.0",
- "yargs": "^13.3.0"
- }
- }
- }
- },
- "prettier": {
- "version": "npm:wp-prettier@1.19.1",
- "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-1.19.1.tgz",
- "integrity": "sha512-mqAC2r1NDmRjG+z3KCJ/i61tycKlmADIjxnDhQab+KBxSAGbF/W7/zwB2guy/ypIeKrrftNsIYkNZZQKf3vJcg==",
- "dev": true
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- }
- },
- "yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
"@automattic/tour-kit": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@automattic/tour-kit/-/tour-kit-1.1.1.tgz",
@@ -582,23 +353,6 @@
}
}
},
- "@babel/cli": {
- "version": "7.19.3",
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.19.3.tgz",
- "integrity": "sha512-643/TybmaCAe101m2tSVHi9UKpETXP9c/Ff4mD2tAwkdP6esKIfaauZFc67vGEM6r9fekbEGid+sZhbEnSe3dg==",
- "dev": true,
- "requires": {
- "@jridgewell/trace-mapping": "^0.3.8",
- "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3",
- "chokidar": "^3.4.0",
- "commander": "^4.0.1",
- "convert-source-map": "^1.1.0",
- "fs-readdir-recursive": "^1.1.0",
- "glob": "^7.2.0",
- "make-dir": "^2.1.0",
- "slash": "^2.0.0"
- }
- },
"@babel/code-frame": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
@@ -2429,12 +2183,6 @@
"@hapi/hoek": "9.x.x"
}
},
- "@hapi/address": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
- "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
- "dev": true
- },
"@hapi/ammo": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-5.0.1.tgz",
@@ -2602,41 +2350,6 @@
"@hapi/hoek": "9.x.x"
}
},
- "@hapi/joi": {
- "version": "15.1.1",
- "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
- "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
- "dev": true,
- "requires": {
- "@hapi/address": "2.x.x",
- "@hapi/bourne": "1.x.x",
- "@hapi/hoek": "8.x.x",
- "@hapi/topo": "3.x.x"
- },
- "dependencies": {
- "@hapi/bourne": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
- "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
- "dev": true
- },
- "@hapi/hoek": {
- "version": "8.5.1",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
- "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==",
- "dev": true
- },
- "@hapi/topo": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
- "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
- "dev": true,
- "requires": {
- "@hapi/hoek": "^8.3.0"
- }
- }
- }
- },
"@hapi/mimos": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-6.0.0.tgz",
@@ -2867,146 +2580,350 @@
"dev": true
},
"@jest/console": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz",
- "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.2.tgz",
+ "integrity": "sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==",
"dev": true,
"requires": {
- "@jest/source-map": "^24.9.0",
- "chalk": "^2.0.1",
- "slash": "^2.0.0"
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
}
},
"@jest/core": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz",
- "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==",
- "dev": true,
- "requires": {
- "@jest/console": "^24.7.1",
- "@jest/reporters": "^24.9.0",
- "@jest/test-result": "^24.9.0",
- "@jest/transform": "^24.9.0",
- "@jest/types": "^24.9.0",
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.1",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.2.tgz",
+ "integrity": "sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^29.6.2",
+ "@jest/reporters": "^29.6.2",
+ "@jest/test-result": "^29.6.2",
+ "@jest/transform": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
"exit": "^0.1.2",
- "graceful-fs": "^4.1.15",
- "jest-changed-files": "^24.9.0",
- "jest-config": "^24.9.0",
- "jest-haste-map": "^24.9.0",
- "jest-message-util": "^24.9.0",
- "jest-regex-util": "^24.3.0",
- "jest-resolve": "^24.9.0",
- "jest-resolve-dependencies": "^24.9.0",
- "jest-runner": "^24.9.0",
- "jest-runtime": "^24.9.0",
- "jest-snapshot": "^24.9.0",
- "jest-util": "^24.9.0",
- "jest-validate": "^24.9.0",
- "jest-watcher": "^24.9.0",
- "micromatch": "^3.1.10",
- "p-each-series": "^1.0.0",
- "realpath-native": "^1.1.0",
- "rimraf": "^2.5.4",
- "slash": "^2.0.0",
- "strip-ansi": "^5.0.0"
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^29.5.0",
+ "jest-config": "^29.6.2",
+ "jest-haste-map": "^29.6.2",
+ "jest-message-util": "^29.6.2",
+ "jest-regex-util": "^29.4.3",
+ "jest-resolve": "^29.6.2",
+ "jest-resolve-dependencies": "^29.6.2",
+ "jest-runner": "^29.6.2",
+ "jest-runtime": "^29.6.2",
+ "jest-snapshot": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "jest-validate": "^29.6.2",
+ "jest-watcher": "^29.6.2",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.6.2",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
},
"dependencies": {
- "ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "ci-info": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
+ "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "pretty-format": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
+ }
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
}
}
}
},
"@jest/environment": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz",
- "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz",
+ "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^24.9.0",
- "@jest/transform": "^24.9.0",
- "@jest/types": "^24.9.0",
- "jest-mock": "^24.9.0"
+ "@jest/fake-timers": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "jest-mock": "^29.6.2"
}
},
- "@jest/fake-timers": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz",
- "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==",
+ "@jest/expect": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.2.tgz",
+ "integrity": "sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "jest-message-util": "^24.9.0",
- "jest-mock": "^24.9.0"
+ "expect": "^29.6.2",
+ "jest-snapshot": "^29.6.2"
}
},
- "@jest/globals": {
- "version": "25.5.2",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
- "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
+ "@jest/expect-utils": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.2.tgz",
+ "integrity": "sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==",
"dev": true,
"requires": {
- "@jest/environment": "^25.5.0",
- "@jest/types": "^25.5.0",
- "expect": "^25.5.0"
+ "jest-get-type": "^29.4.3"
},
"dependencies": {
- "@jest/environment": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
- "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0"
- }
- },
- "@jest/fake-timers": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
- "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
+ "jest-get-type": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
+ "dev": true
+ }
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz",
+ "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^29.6.1",
+ "@sinonjs/fake-timers": "^10.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^29.6.2",
+ "jest-mock": "^29.6.2",
+ "jest-util": "^29.6.2"
+ },
+ "dependencies": {
+ "@sinonjs/commons": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
+ "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "lolex": "^5.0.0"
+ "type-detect": "4.0.8"
}
},
- "@jest/types": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
- "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "@sinonjs/fake-timers": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+ "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
"dev": true,
"requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0"
+ "@sinonjs/commons": "^3.0.0"
}
- },
- "@types/yargs": {
- "version": "15.0.14",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
- "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
+ }
+ }
+ },
+ "@jest/globals": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.2.tgz",
+ "integrity": "sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^29.6.2",
+ "@jest/expect": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "jest-mock": "^29.6.2"
+ }
+ },
+ "@jest/reporters": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.2.tgz",
+ "integrity": "sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==",
+ "dev": true,
+ "requires": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^29.6.2",
+ "@jest/test-result": "^29.6.2",
+ "@jest/transform": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "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-message-util": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "jest-worker": "^29.6.2",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "strip-ansi": "^6.0.0",
+ "v8-to-istanbul": "^9.0.1"
+ },
+ "dependencies": {
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
"dev": true,
"requires": {
- "@types/yargs-parser": "*"
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
}
},
"ansi-regex": {
@@ -3025,9 +2942,9 @@
}
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -3049,149 +2966,27 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "diff-sequences": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
- "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
- "dev": true
- },
- "expect": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
- "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "ansi-styles": "^4.0.0",
- "jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-regex-util": "^25.2.6"
- }
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "jest-diff": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
- "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
- "dev": true,
- "requires": {
- "chalk": "^3.0.0",
- "diff-sequences": "^25.2.6",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
- }
- },
- "jest-get-type": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
- "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
- "dev": true
- },
- "jest-matcher-utils": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
- "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
- "dev": true,
- "requires": {
- "chalk": "^3.0.0",
- "jest-diff": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
- }
- },
- "jest-message-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
- "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@jest/types": "^25.5.0",
- "@types/stack-utils": "^1.0.1",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^1.0.1"
- }
- },
- "jest-mock": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
- "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0"
- }
- },
- "jest-regex-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
- "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
- "dev": true
- },
- "jest-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
- "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "make-dir": "^3.0.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "pretty-format": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
- "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^4.0.0",
- "react-is": "^16.12.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -3203,197 +2998,103 @@
}
}
},
- "@jest/reporters": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz",
- "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==",
+ "@jest/schemas": {
+ "version": "29.6.0",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
+ "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
"dev": true,
"requires": {
- "@jest/environment": "^24.9.0",
- "@jest/test-result": "^24.9.0",
- "@jest/transform": "^24.9.0",
- "@jest/types": "^24.9.0",
- "chalk": "^2.0.1",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "istanbul-lib-coverage": "^2.0.2",
- "istanbul-lib-instrument": "^3.0.1",
- "istanbul-lib-report": "^2.0.4",
- "istanbul-lib-source-maps": "^3.0.1",
- "istanbul-reports": "^2.2.6",
- "jest-haste-map": "^24.9.0",
- "jest-resolve": "^24.9.0",
- "jest-runtime": "^24.9.0",
- "jest-util": "^24.9.0",
- "jest-worker": "^24.6.0",
- "node-notifier": "^5.4.2",
- "slash": "^2.0.0",
- "source-map": "^0.6.0",
- "string-length": "^2.0.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "@sinclair/typebox": "^0.27.8"
}
},
"@jest/source-map": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz",
- "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
+ "version": "29.6.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz",
+ "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==",
"dev": true,
"requires": {
+ "@jridgewell/trace-mapping": "^0.3.18",
"callsites": "^3.0.0",
- "graceful-fs": "^4.1.15",
- "source-map": "^0.6.0"
+ "graceful-fs": "^4.2.9"
},
"dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ }
}
}
},
"@jest/test-result": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz",
- "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.2.tgz",
+ "integrity": "sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==",
"dev": true,
"requires": {
- "@jest/console": "^24.9.0",
- "@jest/types": "^24.9.0",
- "@types/istanbul-lib-coverage": "^2.0.0"
+ "@jest/console": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
}
},
"@jest/test-sequencer": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
- "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.2.tgz",
+ "integrity": "sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==",
"dev": true,
"requires": {
- "@jest/test-result": "^25.5.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^25.5.1",
- "jest-runner": "^25.5.4",
- "jest-runtime": "^25.5.4"
+ "@jest/test-result": "^29.6.2",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.6.2",
+ "slash": "^3.0.0"
},
"dependencies": {
- "@jest/console": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
- "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "jest-message-util": "^25.5.0",
- "jest-util": "^25.5.0",
- "slash": "^3.0.0"
- }
- },
- "@jest/environment": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
- "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0"
- }
- },
- "@jest/fake-timers": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
- "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "lolex": "^5.0.0"
- }
- },
- "@jest/source-map": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
- "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- }
- },
- "@jest/test-result": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
- "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.5.0",
- "@jest/types": "^25.5.0",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/transform": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
- "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^25.5.0",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^3.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^25.5.1",
- "jest-regex-util": "^25.2.6",
- "jest-util": "^25.5.0",
- "micromatch": "^4.0.2",
- "pirates": "^4.0.1",
- "realpath-native": "^2.0.0",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- }
- },
- "@jest/types": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
- "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0"
- }
- },
- "@types/yargs": {
- "version": "15.0.14",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
- "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ }
+ }
+ },
+ "@jest/transform": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz",
+ "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^29.6.1",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.6.2",
+ "jest-regex-util": "^29.4.3",
+ "jest-util": "^29.6.2",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.2"
+ },
+ "dependencies": {
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
"dev": true,
"requires": {
- "@types/yargs-parser": "*"
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
}
},
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -3403,83 +3104,16 @@
"color-convert": "^2.0.1"
}
},
- "babel-jest": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
- "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
- "dev": true,
- "requires": {
- "@jest/transform": "^25.5.1",
- "@jest/types": "^25.5.0",
- "@types/babel__core": "^7.1.7",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^25.5.0",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
- "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^5.0.4",
- "test-exclude": "^6.0.0"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
- "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-preset-jest": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
- "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^25.5.0",
- "babel-preset-current-node-syntax": "^0.1.2"
- }
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
- "cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- }
- },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -3495,488 +3129,18 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- }
- }
- },
- "deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
- "dev": true
- },
- "detect-newline": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
- "dev": true
- },
- "diff-sequences": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
- "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true
},
- "expect": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
- "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "ansi-styles": "^4.0.0",
- "jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-regex-util": "^25.2.6"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "istanbul-lib-coverage": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- }
- },
- "jest-config": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
- "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^25.5.4",
- "@jest/types": "^25.5.0",
- "babel-jest": "^25.5.1",
- "chalk": "^3.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "jest-environment-jsdom": "^25.5.0",
- "jest-environment-node": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "jest-jasmine2": "^25.5.4",
- "jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.5.1",
- "jest-util": "^25.5.0",
- "jest-validate": "^25.5.0",
- "micromatch": "^4.0.2",
- "pretty-format": "^25.5.0",
- "realpath-native": "^2.0.0"
- }
- },
- "jest-diff": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
- "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
- "dev": true,
- "requires": {
- "chalk": "^3.0.0",
- "diff-sequences": "^25.2.6",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
- }
- },
- "jest-docblock": {
- "version": "25.3.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
- "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-environment-jsdom": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
- "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
- "dev": true,
- "requires": {
- "@jest/environment": "^25.5.0",
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "jsdom": "^15.2.1"
- }
- },
- "jest-environment-node": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
- "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
- "dev": true,
- "requires": {
- "@jest/environment": "^25.5.0",
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "semver": "^6.3.0"
- }
- },
- "jest-get-type": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
- "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
- "dev": true
- },
- "jest-haste-map": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
- "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "@types/graceful-fs": "^4.1.2",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.1.2",
- "graceful-fs": "^4.2.4",
- "jest-serializer": "^25.5.0",
- "jest-util": "^25.5.0",
- "jest-worker": "^25.5.0",
- "micromatch": "^4.0.2",
- "sane": "^4.0.3",
- "walker": "^1.0.7",
- "which": "^2.0.2"
- }
- },
- "jest-jasmine2": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
- "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^25.5.0",
- "@jest/source-map": "^25.5.0",
- "@jest/test-result": "^25.5.0",
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "co": "^4.6.0",
- "expect": "^25.5.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^25.5.0",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-runtime": "^25.5.4",
- "jest-snapshot": "^25.5.1",
- "jest-util": "^25.5.0",
- "pretty-format": "^25.5.0",
- "throat": "^5.0.0"
- }
- },
- "jest-leak-detector": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
- "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
- "dev": true,
- "requires": {
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
- }
- },
- "jest-matcher-utils": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
- "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
- "dev": true,
- "requires": {
- "chalk": "^3.0.0",
- "jest-diff": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
- }
- },
- "jest-message-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
- "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@jest/types": "^25.5.0",
- "@types/stack-utils": "^1.0.1",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^1.0.1"
- }
- },
- "jest-mock": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
- "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0"
- }
- },
- "jest-regex-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
- "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
- "dev": true
- },
- "jest-resolve": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
- "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "browser-resolve": "^1.11.3",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "jest-pnp-resolver": "^1.2.1",
- "read-pkg-up": "^7.0.1",
- "realpath-native": "^2.0.0",
- "resolve": "^1.17.0",
- "slash": "^3.0.0"
- }
- },
- "jest-runner": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
- "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.5.0",
- "@jest/environment": "^25.5.0",
- "@jest/test-result": "^25.5.0",
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-config": "^25.5.4",
- "jest-docblock": "^25.3.0",
- "jest-haste-map": "^25.5.1",
- "jest-jasmine2": "^25.5.4",
- "jest-leak-detector": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-resolve": "^25.5.1",
- "jest-runtime": "^25.5.4",
- "jest-util": "^25.5.0",
- "jest-worker": "^25.5.0",
- "source-map-support": "^0.5.6",
- "throat": "^5.0.0"
- }
- },
- "jest-runtime": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
- "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.5.0",
- "@jest/environment": "^25.5.0",
- "@jest/globals": "^25.5.2",
- "@jest/source-map": "^25.5.0",
- "@jest/test-result": "^25.5.0",
- "@jest/transform": "^25.5.1",
- "@jest/types": "^25.5.0",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-config": "^25.5.4",
- "jest-haste-map": "^25.5.1",
- "jest-message-util": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.5.1",
- "jest-snapshot": "^25.5.1",
- "jest-util": "^25.5.0",
- "jest-validate": "^25.5.0",
- "realpath-native": "^2.0.0",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^15.3.1"
- }
- },
- "jest-serializer": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
- "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.4"
- }
- },
- "jest-snapshot": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
- "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0",
- "@jest/types": "^25.5.0",
- "@types/prettier": "^1.19.0",
- "chalk": "^3.0.0",
- "expect": "^25.5.0",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-resolve": "^25.5.1",
- "make-dir": "^3.0.0",
- "natural-compare": "^1.4.0",
- "pretty-format": "^25.5.0",
- "semver": "^6.3.0"
- }
- },
- "jest-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
- "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "make-dir": "^3.0.0"
- }
- },
- "jest-validate": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
- "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "jest-get-type": "^25.2.6",
- "leven": "^3.1.0",
- "pretty-format": "^25.5.0"
- }
- },
- "jest-worker": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
- "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
- "dev": true,
- "requires": {
- "merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
- }
- },
- "jsdom": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
- "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
- "dev": true,
- "requires": {
- "abab": "^2.0.0",
- "acorn": "^7.1.0",
- "acorn-globals": "^4.3.2",
- "array-equal": "^1.0.0",
- "cssom": "^0.4.1",
- "cssstyle": "^2.0.0",
- "data-urls": "^1.1.0",
- "domexception": "^1.0.1",
- "escodegen": "^1.11.1",
- "html-encoding-sniffer": "^1.0.2",
- "nwsapi": "^2.2.0",
- "parse5": "5.1.0",
- "pn": "^1.1.0",
- "request": "^2.88.0",
- "request-promise-native": "^1.0.7",
- "saxes": "^3.1.9",
- "symbol-tree": "^3.2.2",
- "tough-cookie": "^3.0.1",
- "w3c-hr-time": "^1.0.1",
- "w3c-xmlserializer": "^1.1.2",
- "webidl-conversions": "^4.0.2",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^7.0.0",
- "ws": "^7.0.0",
- "xml-name-validator": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
"micromatch": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
@@ -3987,120 +3151,12 @@
"picomatch": "^2.3.1"
}
},
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "parse5": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
- "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
- "dev": true
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "pretty-format": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
- "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^4.0.0",
- "react-is": "^16.12.0"
- }
- },
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "dev": true,
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true
- }
- }
- },
- "read-pkg-up": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
- "dev": true,
- "requires": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
- }
- },
- "realpath-native": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
- "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
- "dev": true
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true
- },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -4109,164 +3165,74 @@
"requires": {
"has-flag": "^4.0.0"
}
- },
- "test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- }
- },
- "throat": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
- "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
- "dev": true
- },
- "tough-cookie": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
- "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
- "dev": true,
- "requires": {
- "ip-regex": "^2.1.0",
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- },
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- },
- "whatwg-url": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
- "dev": true,
- "requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ }
+ }
+ },
+ "@jest/types": {
+ "version": "29.6.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+ "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "color-convert": "^2.0.1"
}
},
- "wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
+ "color-name": "~1.1.4"
}
},
- "ws": {
- "version": "7.5.9",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "yargs": {
- "version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
- "dev": true,
- "requires": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
- }
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
},
- "yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
+ "has-flag": "^4.0.0"
}
}
}
},
- "@jest/transform": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz",
- "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^24.9.0",
- "babel-plugin-istanbul": "^5.1.0",
- "chalk": "^2.0.1",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.1.15",
- "jest-haste-map": "^24.9.0",
- "jest-regex-util": "^24.9.0",
- "jest-util": "^24.9.0",
- "micromatch": "^3.1.10",
- "pirates": "^4.0.1",
- "realpath-native": "^1.1.0",
- "slash": "^2.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "2.4.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "@jest/types": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
- "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^13.0.0"
- }
- },
"@jridgewell/gen-mapping": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
@@ -4499,13 +3465,6 @@
}
}
},
- "@nicolo-ribaudo/chokidar-2": {
- "version": "2.1.8-no-fsevents.3",
- "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz",
- "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==",
- "dev": true,
- "optional": true
- },
"@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@@ -4580,6 +3539,25 @@
}
}
},
+ "@playwright/test": {
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz",
+ "integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "fsevents": "2.3.2",
+ "playwright-core": "1.33.0"
+ },
+ "dependencies": {
+ "playwright-core": {
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz",
+ "integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==",
+ "dev": true
+ }
+ }
+ },
"@pmmmwh/react-refresh-webpack-plugin": {
"version": "0.5.9",
"resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.9.tgz",
@@ -4680,6 +3658,12 @@
"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
"dev": true
},
+ "@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true
+ },
"@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
@@ -4704,80 +3688,6 @@
"@sinonjs/commons": "^1.7.0"
}
},
- "@slack/logger": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@slack/logger/-/logger-2.0.0.tgz",
- "integrity": "sha512-OkIJpiU2fz6HOJujhlhfIGrc8hB4ibqtf7nnbJQDerG0BqwZCfmgtK5sWzZ0TkXVRBKD5MpLrTmCYyMxoMCgPw==",
- "dev": true,
- "requires": {
- "@types/node": ">=8.9.0"
- }
- },
- "@slack/types": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/@slack/types/-/types-1.10.0.tgz",
- "integrity": "sha512-tA7GG7Tj479vojfV3AoxbckalA48aK6giGjNtgH6ihpLwTyHE3fIgRrvt8TWfLwW8X8dyu7vgmAsGLRG7hWWOg==",
- "dev": true
- },
- "@slack/web-api": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@slack/web-api/-/web-api-6.8.0.tgz",
- "integrity": "sha512-DI0T7pQy2SM14s+zJKlarzkyOqhpu2Qk3rL19g+3m7VDZ+lSMB/dt9nwf3BZIIp49/CoLlBjEmKMoakm69OD4Q==",
- "dev": true,
- "requires": {
- "@slack/logger": "^3.0.0",
- "@slack/types": "^2.0.0",
- "@types/is-stream": "^1.1.0",
- "@types/node": ">=12.0.0",
- "axios": "^0.27.2",
- "eventemitter3": "^3.1.0",
- "form-data": "^2.5.0",
- "is-electron": "2.2.0",
- "is-stream": "^1.1.0",
- "p-queue": "^6.6.1",
- "p-retry": "^4.0.0"
- },
- "dependencies": {
- "@slack/logger": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@slack/logger/-/logger-3.0.0.tgz",
- "integrity": "sha512-DTuBFbqu4gGfajREEMrkq5jBhcnskinhr4+AnfJEk48zhVeEv3XnUKGIX98B74kxhYsIMfApGGySTn7V3b5yBA==",
- "dev": true,
- "requires": {
- "@types/node": ">=12.0.0"
- }
- },
- "@slack/types": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/@slack/types/-/types-2.8.0.tgz",
- "integrity": "sha512-ghdfZSF0b4NC9ckBA8QnQgC9DJw2ZceDq0BIjjRSv6XAZBXJdWgxIsYz0TYnWSiqsKZGH2ZXbj9jYABZdH3OSQ==",
- "dev": true
- },
- "axios": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
- "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
- "dev": true,
- "requires": {
- "follow-redirects": "^1.14.9",
- "form-data": "^4.0.0"
- },
- "dependencies": {
- "form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- }
- }
- }
- }
- },
"@storybook/addon-actions": {
"version": "6.5.13",
"resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.5.13.tgz",
@@ -10614,15 +9524,6 @@
"@types/responselike": "^1.0.0"
}
},
- "@types/cheerio": {
- "version": "0.22.31",
- "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.31.tgz",
- "integrity": "sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
"@types/connect": {
"version": "3.4.35",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
@@ -10751,15 +9652,6 @@
"integrity": "sha512-A79HEEiwXTFtfY+Bcbo58M2GRYzCr9itHWzbzHVFNEYCcoU/MMGwYYf721gBrnhpj1s6RGVVha/IgNFnR0Iw/Q==",
"dev": true
},
- "@types/is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@types/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
"@types/istanbul-lib-coverage": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
@@ -10776,12 +9668,11 @@
}
},
"@types/istanbul-reports": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
- "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
+ "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
"dev": true,
"requires": {
- "@types/istanbul-lib-coverage": "*",
"@types/istanbul-lib-report": "*"
}
},
@@ -10859,12 +9750,6 @@
"integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
"dev": true
},
- "@types/mime-types": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz",
- "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==",
- "dev": true
- },
"@types/minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
@@ -10934,12 +9819,6 @@
"integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==",
"dev": true
},
- "@types/prettier": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
- "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
- "dev": true
- },
"@types/pretty-hrtime": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz",
@@ -10951,15 +9830,6 @@
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
"integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
},
- "@types/puppeteer": {
- "version": "5.4.7",
- "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.7.tgz",
- "integrity": "sha512-JdGWZZYL0vKapXF4oQTC5hLVNfOgdPrqeZ1BiQnGk5cB7HeE91EWUiTdVSdQPobRN8rIcdffjiOgCYJ/S8QrnQ==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
"@types/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
@@ -11051,9 +9921,9 @@
"dev": true
},
"@types/stack-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
- "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
+ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
"dev": true
},
"@types/tapable": {
@@ -11151,9 +10021,9 @@
}
},
"@types/yargs": {
- "version": "13.0.12",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz",
- "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==",
+ "version": "17.0.24",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz",
+ "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
@@ -11799,86 +10669,6 @@
"integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
"dev": true
},
- "@wojtekmaj/enzyme-adapter-react-17": {
- "version": "0.6.7",
- "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.7.tgz",
- "integrity": "sha512-B+byiwi/T1bx5hcj9wc0fUL5Hlb5giSXJzcnEfJVl2j6dGV2NJfcxDBYX0WWwIxlzNiFz8kAvlkFWI2y/nscZQ==",
- "dev": true,
- "requires": {
- "@wojtekmaj/enzyme-adapter-utils": "^0.1.4",
- "enzyme-shallow-equal": "^1.0.0",
- "has": "^1.0.0",
- "prop-types": "^15.7.0",
- "react-is": "^17.0.0",
- "react-test-renderer": "^17.0.0"
- },
- "dependencies": {
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- }
- }
- },
- "@wojtekmaj/enzyme-adapter-utils": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@wojtekmaj/enzyme-adapter-utils/-/enzyme-adapter-utils-0.1.4.tgz",
- "integrity": "sha512-ARGIQSIIv3oBia1m5Ihn1VU0FGmft6KPe39SBKTb8p7LSXO23YI4kNtc4M/cKoIY7P+IYdrZcgMObvedyjoSQA==",
- "dev": true,
- "requires": {
- "function.prototype.name": "^1.1.0",
- "has": "^1.0.0",
- "object.fromentries": "^2.0.0",
- "prop-types": "^15.7.0"
- }
- },
- "@woocommerce/api": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@woocommerce/api/-/api-0.2.0.tgz",
- "integrity": "sha512-h7PhFF+KPKZTxhvGASm0vn6N7nY3SFOEx0qJITvqaOwbqh3xvdDbiETSZ9R0BFNY5fD8blYCHblCO4VQ4CO9kA==",
- "dev": true,
- "requires": {
- "axios": "0.19.2",
- "create-hmac": "1.1.7",
- "oauth-1.0a": "2.2.6"
- },
- "dependencies": {
- "axios": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
- "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
- "dev": true,
- "requires": {
- "follow-redirects": "1.5.10"
- }
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "follow-redirects": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
- "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
- "dev": true,
- "requires": {
- "debug": "=3.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
- }
- }
- },
"@woocommerce/components": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@woocommerce/components/-/components-10.3.0.tgz",
@@ -12061,45 +10851,6 @@
}
}
},
- "@woocommerce/e2e-environment": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@woocommerce/e2e-environment/-/e2e-environment-0.3.0.tgz",
- "integrity": "sha512-TPzkfQXZr86nep0dlfVokBq5ISD32N/NBvUc9i4yUMXmc/opQaufE4bVxgRVUiHCG91UkKFaTPqtcLn2ZsKxVw==",
- "dev": true,
- "requires": {
- "@automattic/puppeteer-utils": "git+https://github.com/Automattic/puppeteer-utils.git#0f3ec50",
- "@jest/test-sequencer": "^25.5.4",
- "@slack/web-api": "^6.1.0",
- "@woocommerce/api": "^0.2.0",
- "@wordpress/e2e-test-utils": "^4.16.1",
- "@wordpress/jest-preset-default": "^7.1.3",
- "app-root-path": "^3.0.0",
- "commander": "4.1.1",
- "config": "3.3.3",
- "jest": "^25.1.0",
- "jest-circus": "25.1.0",
- "jest-each": "25.5.0",
- "jest-puppeteer": "^4.4.0",
- "node-stream-zip": "^1.13.6",
- "puppeteer": "2.1.1",
- "readline-sync": "^1.4.10",
- "request": "^2.88.2",
- "sprintf-js": "^1.1.2"
- }
- },
- "@woocommerce/e2e-utils": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@woocommerce/e2e-utils/-/e2e-utils-0.2.0.tgz",
- "integrity": "sha512-bEHzAdGSJhWksDJDPi5vxpbOM2sItQqzn0jDWthrYgchP489mBbRMSVnatYm3vAgWT9DVuvPbTrzzgETiTT1Jg==",
- "dev": true,
- "requires": {
- "@wordpress/deprecated": "^3.2.3",
- "@wordpress/e2e-test-utils": "^4.16.1",
- "config": "3.3.3",
- "faker": "^5.1.0",
- "fishery": "^1.2.0"
- }
- },
"@woocommerce/eslint-plugin": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@woocommerce/eslint-plugin/-/eslint-plugin-1.3.0.tgz",
@@ -12610,98 +11361,6 @@
"@babel/runtime": "^7.16.0"
}
},
- "@wordpress/e2e-test-utils": {
- "version": "4.16.1",
- "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils/-/e2e-test-utils-4.16.1.tgz",
- "integrity": "sha512-Dpsq5m0VSvjIhro2MjACSzkOkOf1jGEryzgEMW1ikbT6YI+motspHfGtisKXgYhZJOnjV4PwuEg+9lPVnd971g==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.12.5",
- "@wordpress/keycodes": "^2.18.0",
- "@wordpress/url": "^2.21.0",
- "lodash": "^4.17.19",
- "node-fetch": "^2.6.0"
- },
- "dependencies": {
- "@wordpress/hooks": {
- "version": "2.12.3",
- "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-2.12.3.tgz",
- "integrity": "sha512-LmKiwKldZt6UYqOxV/a6+eUFXdvALFnB/pQx3RmrMvO64sgFhfR6dhrlv+uVbuuezSuv8dce1jx8lUWAT0krMA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- },
- "@wordpress/i18n": {
- "version": "3.20.0",
- "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-3.20.0.tgz",
- "integrity": "sha512-SIoOJFB4UrrYAScS4H91CYCLW9dX3Ghv8pBKc/yHGculb1AdGr6gRMlmJxZV62Cn3CZ4Ga86c+FfR+GiBu0JPg==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@wordpress/hooks": "^2.12.3",
- "gettext-parser": "^1.3.1",
- "lodash": "^4.17.19",
- "memize": "^1.1.0",
- "sprintf-js": "^1.1.1",
- "tannin": "^1.2.0"
- }
- },
- "@wordpress/keycodes": {
- "version": "2.19.3",
- "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-2.19.3.tgz",
- "integrity": "sha512-8rNdmP5M1ifTgLIL0dt/N1uTGsq/Rx1ydCXy+gg24WdxBRhyu5sudNVCtascVXo26aIfOH9OJRdqRZZTEORhog==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@wordpress/i18n": "^3.20.0",
- "lodash": "^4.17.19"
- }
- },
- "@wordpress/url": {
- "version": "2.22.2",
- "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-2.22.2.tgz",
- "integrity": "sha512-aqpYKQXzyzkCOm+GzZRYlLb+wh58g0cwR1PaKAl0UXaBS4mdS+X6biMriylb4P8CVC/RR7CSw5XI20JC24KDwQ==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.13.10",
- "lodash": "^4.17.19",
- "react-native-url-polyfill": "^1.1.2"
- }
- },
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- }
- }
- },
"@wordpress/element": {
"version": "4.20.0",
"resolved": "https://registry.npmjs.org/@wordpress/element/-/element-4.20.0.tgz",
@@ -12964,225 +11623,15 @@
}
},
"@wordpress/jest-console": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-4.1.1.tgz",
- "integrity": "sha512-f/DwduxU6k53tULurpCox4TKzp877+IWTHRUxE91+FOXS+2OsnhUPKfMiMEex4nu81a54EArwekPVKxaq4swbA==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-7.9.0.tgz",
+ "integrity": "sha512-gxh9jUgS79080GOBp8vzoZB7bGIKQOGFCsa4jtwPmXnDJ5gjC9b1mLynjke4nVTivxhSuUeUEJ6ZHUQ6nmVQIw==",
"dev": true,
"requires": {
"@babel/runtime": "^7.16.0",
- "jest-matcher-utils": "^26.6.2",
- "lodash": "^4.17.21"
- },
- "dependencies": {
- "@jest/types": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
- "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^15.0.0",
- "chalk": "^4.0.0"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/yargs": {
- "version": "15.0.14",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
- "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "diff-sequences": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
- "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "jest-diff": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
- "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^26.6.2",
- "jest-get-type": "^26.3.0",
- "pretty-format": "^26.6.2"
- }
- },
- "jest-get-type": {
- "version": "26.3.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
- "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
- "dev": true
- },
- "jest-matcher-utils": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz",
- "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^26.6.2",
- "jest-get-type": "^26.3.0",
- "pretty-format": "^26.6.2"
- }
- },
- "pretty-format": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
- "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
- "dev": true,
- "requires": {
- "@jest/types": "^26.6.2",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^4.0.0",
- "react-is": "^17.0.1"
- }
- },
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "@wordpress/jest-preset-default": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-7.1.3.tgz",
- "integrity": "sha512-rz9V/YRr3TjLdZJQu7DAZHo848PpZ4N5ThtP4Lujy1O/UtcvtKF0r34SZTNDlFQO/G1USZQX/WL6HRhgl57iHA==",
- "dev": true,
- "requires": {
- "@wojtekmaj/enzyme-adapter-react-17": "^0.6.1",
- "@wordpress/jest-console": "^4.1.1",
- "babel-jest": "^26.6.3",
- "enzyme": "^3.11.0",
- "enzyme-to-json": "^3.4.4"
+ "jest-matcher-utils": "^29.5.0"
},
"dependencies": {
- "@jest/transform": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz",
- "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^26.6.2",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^26.6.2",
- "jest-regex-util": "^26.0.0",
- "jest-util": "^26.6.2",
- "micromatch": "^4.0.2",
- "pirates": "^4.0.1",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- }
- },
- "@jest/types": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
- "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^15.0.0",
- "chalk": "^4.0.0"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/yargs": {
- "version": "15.0.14",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
- "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -13192,77 +11641,6 @@
"color-convert": "^2.0.1"
}
},
- "babel-jest": {
- "version": "26.6.3",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz",
- "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==",
- "dev": true,
- "requires": {
- "@jest/transform": "^26.6.2",
- "@jest/types": "^26.6.2",
- "@types/babel__core": "^7.1.7",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^26.6.2",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
- "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^5.0.4",
- "test-exclude": "^6.0.0"
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz",
- "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.0.0",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
- "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- }
- },
- "babel-preset-jest": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz",
- "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^26.6.2",
- "babel-preset-current-node-syntax": "^1.0.0"
- }
- },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -13288,120 +11666,71 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "diff-sequences": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
+ "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
+ "dev": true
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "istanbul-lib-coverage": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- }
- },
- "jest-haste-map": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz",
- "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==",
+ "jest-diff": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz",
+ "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==",
"dev": true,
"requires": {
- "@jest/types": "^26.6.2",
- "@types/graceful-fs": "^4.1.2",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.1.2",
- "graceful-fs": "^4.2.4",
- "jest-regex-util": "^26.0.0",
- "jest-serializer": "^26.6.2",
- "jest-util": "^26.6.2",
- "jest-worker": "^26.6.2",
- "micromatch": "^4.0.2",
- "sane": "^4.0.3",
- "walker": "^1.0.7"
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.4.3",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
- "jest-regex-util": {
- "version": "26.0.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz",
- "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==",
+ "jest-get-type": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
"dev": true
},
- "jest-serializer": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz",
- "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "graceful-fs": "^4.2.4"
- }
- },
- "jest-util": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz",
- "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==",
+ "jest-matcher-utils": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz",
+ "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==",
"dev": true,
"requires": {
- "@jest/types": "^26.6.2",
- "@types/node": "*",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "micromatch": "^4.0.2"
- }
- },
- "jest-worker": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
- "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
+ "jest-diff": "^29.6.2",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "pretty-format": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
"dev": true,
"requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
}
},
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
"dev": true
},
"supports-color": {
@@ -13412,32 +11741,19 @@
"requires": {
"has-flag": "^4.0.0"
}
- },
- "test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- }
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
}
}
},
+ "@wordpress/jest-preset-default": {
+ "version": "11.9.0",
+ "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-11.9.0.tgz",
+ "integrity": "sha512-MkOGqShiJBKaegG+OSHaegSh3SUCWFEAwFfRLk3For4SJswFCUW2F04oZAB0Kd+QohPPpM69vGKs6GL22cj/ng==",
+ "dev": true,
+ "requires": {
+ "@wordpress/jest-console": "^7.9.0",
+ "babel-jest": "^29.5.0"
+ }
+ },
"@wordpress/keycodes": {
"version": "3.22.0",
"resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.22.0.tgz",
@@ -15638,24 +13954,6 @@
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
- "acorn-globals": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
- "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
- "dev": true,
- "requires": {
- "acorn": "^6.0.1",
- "acorn-walk": "^6.0.1"
- },
- "dependencies": {
- "acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
- "dev": true
- }
- }
- },
"acorn-import-assertions": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
@@ -15668,12 +13966,6 @@
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true
},
- "acorn-walk": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
- "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
- "dev": true
- },
"address": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz",
@@ -15691,12 +13983,6 @@
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"integrity": "sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA=="
},
- "agent-base": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
- "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
- "dev": true
- },
"aggregate-error": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -15925,12 +14211,6 @@
"integrity": "sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==",
"dev": true
},
- "app-root-path": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz",
- "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==",
- "dev": true
- },
"aproba": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
@@ -16004,12 +14284,6 @@
"integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
"dev": true
},
- "array-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
- "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==",
- "dev": true
- },
"array-find": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz",
@@ -16060,19 +14334,6 @@
"integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
"dev": true
},
- "array.prototype.filter": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.2.tgz",
- "integrity": "sha512-us+UrmGOilqttSOgoWZTpOvHu68vZT2YCjc/H4vhu56vzZpaDFBhB+Se2UwqWzMKbDv7Myq5M5pcZLAtUvTQdQ==",
- "dev": true,
- "requires": {
- "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"
- }
- },
"array.prototype.find": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.2.1.tgz",
@@ -16144,15 +14405,6 @@
"integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
"dev": true
},
- "asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
"asn1.js": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
@@ -16200,12 +14452,6 @@
}
}
},
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true
- },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -16227,12 +14473,6 @@
"integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==",
"dev": true
},
- "astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
- "dev": true
- },
"async": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
@@ -16292,18 +14532,6 @@
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
"dev": true
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "dev": true
- },
- "aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
- },
"axe-core": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.2.tgz",
@@ -16311,12 +14539,27 @@
"dev": true
},
"axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
+ "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
"dev": true,
"requires": {
- "follow-redirects": "^1.14.0"
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ }
}
},
"axobject-query": {
@@ -16340,18 +14583,75 @@
}
},
"babel-jest": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz",
- "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz",
+ "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==",
"dev": true,
"requires": {
- "@jest/transform": "^24.9.0",
- "@jest/types": "^24.9.0",
- "@types/babel__core": "^7.1.0",
- "babel-plugin-istanbul": "^5.1.0",
- "babel-preset-jest": "^24.9.0",
- "chalk": "^2.4.2",
- "slash": "^2.0.0"
+ "@jest/transform": "^29.6.2",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^29.5.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
}
},
"babel-loader": {
@@ -16436,23 +14736,27 @@
}
},
"babel-plugin-istanbul": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
- "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
- "find-up": "^3.0.0",
- "istanbul-lib-instrument": "^3.3.0",
- "test-exclude": "^5.2.3"
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
}
},
"babel-plugin-jest-hoist": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz",
- "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==",
+ "version": "29.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz",
+ "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==",
"dev": true,
"requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.1.14",
"@types/babel__traverse": "^7.0.6"
}
},
@@ -16522,9 +14826,9 @@
}
},
"babel-preset-current-node-syntax": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz",
- "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
+ "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
"dev": true,
"requires": {
"@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -16537,17 +14841,18 @@
"@babel/plugin-syntax-numeric-separator": "^7.8.3",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
}
},
"babel-preset-jest": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
- "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==",
+ "version": "29.5.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz",
+ "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==",
"dev": true,
"requires": {
- "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
- "babel-plugin-jest-hoist": "^24.9.0"
+ "babel-plugin-jest-hoist": "^29.5.0",
+ "babel-preset-current-node-syntax": "^1.0.0"
}
},
"backo2": {
@@ -16638,15 +14943,6 @@
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
"dev": true
},
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "dev": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
@@ -17027,23 +15323,6 @@
"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
"dev": true
},
- "browser-resolve": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
- "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
- "dev": true,
- "requires": {
- "resolve": "1.1.7"
- },
- "dependencies": {
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==",
- "dev": true
- }
- }
- },
"browserify-aes": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
@@ -17805,12 +16084,6 @@
"integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==",
"dev": true
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
- },
"catharsis": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
@@ -17968,46 +16241,6 @@
}
}
},
- "cheerio": {
- "version": "1.0.0-rc.12",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
- "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
- "dev": true,
- "requires": {
- "cheerio-select": "^2.1.0",
- "dom-serializer": "^2.0.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1",
- "htmlparser2": "^8.0.1",
- "parse5": "^7.0.0",
- "parse5-htmlparser2-tree-adapter": "^7.0.0"
- },
- "dependencies": {
- "parse5": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz",
- "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==",
- "dev": true,
- "requires": {
- "entities": "^4.4.0"
- }
- }
- }
- },
- "cheerio-select": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
- "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0",
- "css-select": "^5.1.0",
- "css-what": "^6.1.0",
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.3",
- "domutils": "^3.0.1"
- }
- },
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -18480,15 +16713,6 @@
"typedarray": "^0.0.6"
}
},
- "config": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/config/-/config-3.3.3.tgz",
- "integrity": "sha512-T3RmZQEAji5KYqUQpziWtyGJFli6Khz7h0rpxDwYNjSkr5ynyTWwO7WpfjHzTXclNCDfSWQRcwMb+NwxJesCKw==",
- "dev": true,
- "requires": {
- "json5": "^2.1.1"
- }
- },
"connect-history-api-fallback": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
@@ -19060,19 +17284,6 @@
}
}
},
- "css-select": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^6.1.0",
- "domhandler": "^5.0.2",
- "domutils": "^3.0.1",
- "nth-check": "^2.0.1"
- }
- },
"css-tree": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
@@ -19172,21 +17383,6 @@
"css-tree": "^1.1.2"
}
},
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- },
- "cssstyle": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
- "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
- "dev": true,
- "requires": {
- "cssom": "0.3.x"
- }
- },
"csstype": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
@@ -19310,45 +17506,6 @@
"integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
"dev": true
},
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "data-urls": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
- "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
- "dev": true,
- "requires": {
- "abab": "^2.0.0",
- "whatwg-mimetype": "^2.2.0",
- "whatwg-url": "^7.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- },
- "whatwg-url": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
- "dev": true,
- "requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- }
- }
- },
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -19934,9 +18091,9 @@
}
},
"detect-newline": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
- "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
"dev": true
},
"detect-node": {
@@ -20095,12 +18252,6 @@
"resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz",
"integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ=="
},
- "discontinuous-range": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
- "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==",
- "dev": true
- },
"dns-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
@@ -20168,17 +18319,6 @@
"resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz",
"integrity": "sha512-LwNVg3GJOprWDO+QhLL1Z9MMgWe/KAFLxVWKzjRTxNSPn8/LLDIfmuG71YHznXCqaqTjvHJDYO1MEAgX6XCNbQ=="
},
- "dom-serializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.2",
- "entities": "^4.2.0"
- }
- },
"dom-walk": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
@@ -20197,48 +18337,11 @@
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true
},
- "domexception": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
- "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
- "dev": true,
- "requires": {
- "webidl-conversions": "^4.0.2"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- }
- }
- },
- "domhandler": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.3.0"
- }
- },
"dompurify": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.1.tgz",
"integrity": "sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA=="
},
- "domutils": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
- "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
- "dev": true,
- "requires": {
- "dom-serializer": "^2.0.0",
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.1"
- }
- },
"dot-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
@@ -20297,16 +18400,6 @@
"stream-shift": "^1.0.0"
}
},
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
- "dev": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -20506,36 +18599,6 @@
"integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
"dev": true
},
- "enzyme": {
- "version": "3.11.0",
- "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz",
- "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==",
- "dev": true,
- "requires": {
- "array.prototype.flat": "^1.2.3",
- "cheerio": "^1.0.0-rc.3",
- "enzyme-shallow-equal": "^1.0.1",
- "function.prototype.name": "^1.1.2",
- "has": "^1.0.3",
- "html-element-map": "^1.2.0",
- "is-boolean-object": "^1.0.1",
- "is-callable": "^1.1.5",
- "is-number-object": "^1.0.4",
- "is-regex": "^1.0.5",
- "is-string": "^1.0.5",
- "is-subset": "^0.1.1",
- "lodash.escape": "^4.0.1",
- "lodash.isequal": "^4.5.0",
- "object-inspect": "^1.7.0",
- "object-is": "^1.0.2",
- "object.assign": "^4.1.0",
- "object.entries": "^1.1.1",
- "object.values": "^1.1.1",
- "raf": "^3.4.1",
- "rst-selector-parser": "^2.2.3",
- "string.prototype.trim": "^1.2.1"
- }
- },
"enzyme-shallow-equal": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.5.tgz",
@@ -20545,17 +18608,6 @@
"object-is": "^1.1.5"
}
},
- "enzyme-to-json": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz",
- "integrity": "sha512-Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==",
- "dev": true,
- "requires": {
- "@types/cheerio": "^0.22.22",
- "lodash": "^4.17.21",
- "react-is": "^16.12.0"
- }
- },
"equivalent-key-map": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/equivalent-key-map/-/equivalent-key-map-0.2.2.tgz",
@@ -20701,28 +18753,6 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
},
- "escodegen": {
- "version": "1.14.3",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
- "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- }
- }
- },
"eslint": {
"version": "7.32.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
@@ -21477,32 +19507,12 @@
"estraverse": "^4.1.1"
}
},
- "eslint-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
- "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
"eslint-visitor-keys": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
"integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
"dev": true
},
- "espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
- }
- },
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -21572,12 +19582,6 @@
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true
},
- "eventemitter3": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
- "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
- "dev": true
- },
"events": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
@@ -21685,65 +19689,127 @@
}
},
"expect": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz",
- "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.2.tgz",
+ "integrity": "sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "ansi-styles": "^3.2.0",
- "jest-get-type": "^24.9.0",
- "jest-matcher-utils": "^24.9.0",
- "jest-message-util": "^24.9.0",
- "jest-regex-util": "^24.9.0"
+ "@jest/expect-utils": "^29.6.2",
+ "@types/node": "*",
+ "jest-get-type": "^29.4.3",
+ "jest-matcher-utils": "^29.6.2",
+ "jest-message-util": "^29.6.2",
+ "jest-util": "^29.6.2"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"diff-sequences": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
- "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
+ "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"jest-diff": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
- "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz",
+ "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==",
"dev": true,
"requires": {
- "chalk": "^2.0.1",
- "diff-sequences": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "pretty-format": "^24.9.0"
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.4.3",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
"jest-get-type": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
- "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
"dev": true
},
"jest-matcher-utils": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
- "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz",
+ "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==",
"dev": true,
"requires": {
- "chalk": "^2.0.1",
- "jest-diff": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "pretty-format": "^24.9.0"
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.6.2",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
"pretty-format": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
- "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
+ }
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "ansi-regex": "^4.0.0",
- "ansi-styles": "^3.2.0",
- "react-is": "^16.8.4"
+ "has-flag": "^4.0.0"
}
}
}
@@ -21968,18 +20034,6 @@
}
}
},
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "dev": true
- },
- "faker": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/faker/-/faker-5.5.3.tgz",
- "integrity": "sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g==",
- "dev": true
- },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -22105,15 +20159,6 @@
}
}
},
- "file-entry-cache": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
- "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
- "dev": true,
- "requires": {
- "flat-cache": "^2.0.1"
- }
- },
"file-loader": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
@@ -22395,43 +20440,6 @@
"locate-path": "^3.0.0"
}
},
- "fishery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/fishery/-/fishery-1.4.0.tgz",
- "integrity": "sha512-uzPsEWtoHluyqgk9hC/MzMbm42NPWmDWjbdzMRLuJ+jxmAHo+nDbiI3zk2S+HQFXme/VlNnPsNYZQBryrbCTLw==",
- "dev": true,
- "requires": {
- "lodash.mergewith": "^4.6.2"
- }
- },
- "flat-cache": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
- "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
- "dev": true,
- "requires": {
- "flatted": "^2.0.0",
- "rimraf": "2.6.3",
- "write": "1.0.3"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
- "flatted": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
- "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
- "dev": true
- },
"flush-write-stream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
@@ -22542,12 +20550,6 @@
}
}
},
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
- "dev": true
- },
"fork-ts-checker-webpack-plugin": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz",
@@ -22665,17 +20667,6 @@
}
}
},
- "form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -22799,12 +20790,6 @@
"integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
"dev": true
},
- "fs-readdir-recursive": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
- "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
- "dev": true
- },
"fs-write-stream-atomic": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
@@ -22970,15 +20955,6 @@
"integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
"dev": true
},
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
"gettext-parser": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
@@ -23275,12 +21251,6 @@
"prop-types": "^15.5.7"
}
},
- "growly": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
- "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==",
- "dev": true
- },
"gzip-size": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
@@ -23317,22 +21287,6 @@
}
}
},
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
"hard-rejection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
@@ -23673,25 +21627,6 @@
"resolved": "https://registry.npmjs.org/hpq/-/hpq-1.3.0.tgz",
"integrity": "sha512-fvYTvdCFOWQupGxqkahrkA+ERBuMdzkxwtUdKrxR6rmMd4Pfl+iZ1QiQYoaZ0B/v0y59MOMnz3XFUWbT50/NWA=="
},
- "html-element-map": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz",
- "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==",
- "dev": true,
- "requires": {
- "array.prototype.filter": "^1.0.0",
- "call-bind": "^1.0.2"
- }
- },
- "html-encoding-sniffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
- "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
- "dev": true,
- "requires": {
- "whatwg-encoding": "^1.0.1"
- }
- },
"html-entities": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
@@ -23752,18 +21687,6 @@
"tapable": "^2.0.0"
}
},
- "htmlparser2": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
- "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.3.0",
- "domhandler": "^5.0.2",
- "domutils": "^3.0.1",
- "entities": "^4.3.0"
- }
- },
"http-cache-semantics": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
@@ -23867,17 +21790,6 @@
}
}
},
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
"http2-wrapper": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
@@ -23902,20 +21814,10 @@
"integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
"dev": true
},
- "https-proxy-agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
- "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
- "dev": true,
- "requires": {
- "agent-base": "5",
- "debug": "4"
- }
- },
"human-signals": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true
},
"i18n-calypso": {
@@ -23999,13 +21901,58 @@
"dev": true
},
"import-local": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
- "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
"dev": true,
"requires": {
- "pkg-dir": "^3.0.0",
- "resolve-cwd": "^2.0.0"
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ }
}
},
"imurmurhash": {
@@ -24183,27 +22130,12 @@
"integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
"dev": true
},
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dev": true,
- "requires": {
- "loose-envify": "^1.0.0"
- }
- },
"ip": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
"integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
"dev": true
},
- "ip-regex": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
- "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==",
- "dev": true
- },
"ipaddr.js": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
@@ -24395,12 +22327,6 @@
"is-window": "^1.0.2"
}
},
- "is-electron": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz",
- "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==",
- "dev": true
- },
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -24571,12 +22497,6 @@
"has-tostringtag": "^1.0.0"
}
},
- "is-subset": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
- "integrity": "sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==",
- "dev": true
- },
"is-symbol": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
@@ -24703,1338 +22623,715 @@
"unfetch": "^4.2.0"
},
"dependencies": {
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- }
- }
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
- },
- "istanbul-lib-coverage": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
- "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
- "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
- "dev": true,
- "requires": {
- "@babel/generator": "^7.4.0",
- "@babel/parser": "^7.4.3",
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.4.3",
- "@babel/types": "^7.4.0",
- "istanbul-lib-coverage": "^2.0.5",
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "istanbul-lib-report": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
- "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^2.0.5",
- "make-dir": "^2.1.0",
- "supports-color": "^6.1.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "istanbul-lib-source-maps": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
- "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^2.0.5",
- "make-dir": "^2.1.0",
- "rimraf": "^2.6.3",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "istanbul-reports": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz",
- "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0"
- }
- },
- "iterate-iterator": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz",
- "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==",
- "dev": true
- },
- "iterate-value": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz",
- "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==",
- "dev": true,
- "requires": {
- "es-get-iterator": "^1.0.2",
- "iterate-iterator": "^1.0.1"
- }
- },
- "jest": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
- "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
- "dev": true,
- "requires": {
- "@jest/core": "^25.5.4",
- "import-local": "^3.0.2",
- "jest-cli": "^25.5.4"
- },
- "dependencies": {
- "@jest/console": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
- "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "jest-message-util": "^25.5.0",
- "jest-util": "^25.5.0",
- "slash": "^3.0.0"
- }
- },
- "@jest/core": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
- "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.5.0",
- "@jest/reporters": "^25.5.1",
- "@jest/test-result": "^25.5.0",
- "@jest/transform": "^25.5.1",
- "@jest/types": "^25.5.0",
- "ansi-escapes": "^4.2.1",
- "chalk": "^3.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^25.5.0",
- "jest-config": "^25.5.4",
- "jest-haste-map": "^25.5.1",
- "jest-message-util": "^25.5.0",
- "jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.5.1",
- "jest-resolve-dependencies": "^25.5.4",
- "jest-runner": "^25.5.4",
- "jest-runtime": "^25.5.4",
- "jest-snapshot": "^25.5.1",
- "jest-util": "^25.5.0",
- "jest-validate": "^25.5.0",
- "jest-watcher": "^25.5.0",
- "micromatch": "^4.0.2",
- "p-each-series": "^2.1.0",
- "realpath-native": "^2.0.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "@jest/environment": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
- "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0"
- }
- },
- "@jest/fake-timers": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
- "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "lolex": "^5.0.0"
- }
- },
- "@jest/reporters": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
- "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
- "dev": true,
- "requires": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^25.5.0",
- "@jest/test-result": "^25.5.0",
- "@jest/transform": "^25.5.1",
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.0",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^25.5.1",
- "jest-resolve": "^25.5.1",
- "jest-util": "^25.5.0",
- "jest-worker": "^25.5.0",
- "node-notifier": "^6.0.0",
- "slash": "^3.0.0",
- "source-map": "^0.6.0",
- "string-length": "^3.1.0",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^4.1.3"
- }
- },
- "@jest/source-map": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
- "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
- }
- },
- "@jest/test-result": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
- "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.5.0",
- "@jest/types": "^25.5.0",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/transform": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
- "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/types": "^25.5.0",
- "babel-plugin-istanbul": "^6.0.0",
- "chalk": "^3.0.0",
- "convert-source-map": "^1.4.0",
- "fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^25.5.1",
- "jest-regex-util": "^25.2.6",
- "jest-util": "^25.5.0",
- "micromatch": "^4.0.2",
- "pirates": "^4.0.1",
- "realpath-native": "^2.0.0",
- "slash": "^3.0.0",
- "source-map": "^0.6.1",
- "write-file-atomic": "^3.0.0"
- }
- },
- "@jest/types": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
- "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0"
- }
- },
- "@types/yargs": {
- "version": "15.0.14",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
- "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "babel-jest": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
- "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
- "dev": true,
- "requires": {
- "@jest/transform": "^25.5.1",
- "@jest/types": "^25.5.0",
- "@types/babel__core": "^7.1.7",
- "babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^25.5.0",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "slash": "^3.0.0"
- }
- },
- "babel-plugin-istanbul": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
- "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^5.0.4",
- "test-exclude": "^6.0.0"
- },
- "dependencies": {
- "istanbul-lib-instrument": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
- "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- }
- }
- }
- },
- "babel-plugin-jest-hoist": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
- "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__traverse": "^7.0.6"
- }
- },
- "babel-preset-jest": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
- "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
- "dev": true,
- "requires": {
- "babel-plugin-jest-hoist": "^25.5.0",
- "babel-preset-current-node-syntax": "^0.1.2"
- }
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- }
- }
- },
- "deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
- "dev": true
- },
- "detect-newline": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
- "dev": true
- },
- "diff-sequences": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
- "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "execa": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
- "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "human-signals": "^1.1.1",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.0",
- "onetime": "^5.1.0",
- "p-finally": "^2.0.0",
- "signal-exit": "^3.0.2",
- "strip-final-newline": "^2.0.0"
- }
- },
- "expect": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
- "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "ansi-styles": "^4.0.0",
- "jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-regex-util": "^25.2.6"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
- "dev": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true
- },
- "is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-docker": "^2.0.0"
- }
- },
- "istanbul-lib-coverage": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
- "dev": true
- },
- "istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- }
- },
- "istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- }
- },
- "istanbul-lib-source-maps": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- }
- },
- "istanbul-reports": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
- "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- }
- },
- "jest-changed-files": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
- "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "execa": "^3.2.0",
- "throat": "^5.0.0"
+ "whatwg-url": "^5.0.0"
}
},
- "jest-cli": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
- "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
- "dev": true,
- "requires": {
- "@jest/core": "^25.5.4",
- "@jest/test-result": "^25.5.0",
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "import-local": "^3.0.2",
- "is-ci": "^2.0.0",
- "jest-config": "^25.5.4",
- "jest-util": "^25.5.0",
- "jest-validate": "^25.5.0",
- "prompts": "^2.0.1",
- "realpath-native": "^2.0.0",
- "yargs": "^15.3.1"
- }
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true
},
- "jest-config": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
- "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^25.5.4",
- "@jest/types": "^25.5.0",
- "babel-jest": "^25.5.1",
- "chalk": "^3.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.4",
- "jest-environment-jsdom": "^25.5.0",
- "jest-environment-node": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "jest-jasmine2": "^25.5.4",
- "jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.5.1",
- "jest-util": "^25.5.0",
- "jest-validate": "^25.5.0",
- "micromatch": "^4.0.2",
- "pretty-format": "^25.5.0",
- "realpath-native": "^2.0.0"
- }
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "dev": true
},
- "jest-diff": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
- "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"requires": {
- "chalk": "^3.0.0",
- "diff-sequences": "^25.2.6",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
}
+ }
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
+ "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+ "dev": true
+ },
+ "istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
},
- "jest-docblock": {
- "version": "25.3.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
- "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
+ "make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
"dev": true,
"requires": {
- "detect-newline": "^3.0.0"
+ "semver": "^7.5.3"
}
},
- "jest-environment-jsdom": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
- "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
+ "semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"requires": {
- "@jest/environment": "^25.5.0",
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "jsdom": "^15.2.1"
+ "lru-cache": "^6.0.0"
}
},
- "jest-environment-node": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
- "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "@jest/environment": "^25.5.0",
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "semver": "^6.3.0"
+ "has-flag": "^4.0.0"
}
- },
- "jest-get-type": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
- "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
+ "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
+ "dev": true,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "iterate-iterator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.2.tgz",
+ "integrity": "sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==",
+ "dev": true
+ },
+ "iterate-value": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz",
+ "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==",
+ "dev": true,
+ "requires": {
+ "es-get-iterator": "^1.0.2",
+ "iterate-iterator": "^1.0.1"
+ }
+ },
+ "jest": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-29.6.2.tgz",
+ "integrity": "sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "import-local": "^3.0.2",
+ "jest-cli": "^29.6.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
- "jest-haste-map": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
- "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "@types/graceful-fs": "^4.1.2",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "fsevents": "^2.1.2",
- "graceful-fs": "^4.2.4",
- "jest-serializer": "^25.5.0",
- "jest-util": "^25.5.0",
- "jest-worker": "^25.5.0",
- "micromatch": "^4.0.2",
- "sane": "^4.0.3",
- "walker": "^1.0.7",
- "which": "^2.0.2"
+ "color-convert": "^2.0.1"
}
},
- "jest-jasmine2": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
- "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^25.5.0",
- "@jest/source-map": "^25.5.0",
- "@jest/test-result": "^25.5.0",
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "co": "^4.6.0",
- "expect": "^25.5.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^25.5.0",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-runtime": "^25.5.4",
- "jest-snapshot": "^25.5.1",
- "jest-util": "^25.5.0",
- "pretty-format": "^25.5.0",
- "throat": "^5.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "jest-leak-detector": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
- "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
+ "cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
"requires": {
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
}
},
- "jest-matcher-utils": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
- "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "chalk": "^3.0.0",
- "jest-diff": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
+ "color-name": "~1.1.4"
}
},
- "jest-message-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
- "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@jest/types": "^25.5.0",
- "@types/stack-utils": "^1.0.1",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^1.0.1"
- }
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
- "jest-mock": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
- "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0"
- }
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
},
- "jest-regex-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
- "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "jest-resolve": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
- "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "browser-resolve": "^1.11.3",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "jest-pnp-resolver": "^1.2.1",
- "read-pkg-up": "^7.0.1",
- "realpath-native": "^2.0.0",
- "resolve": "^1.17.0",
- "slash": "^3.0.0"
- }
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
},
- "jest-resolve-dependencies": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
- "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
+ "jest-cli": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.2.tgz",
+ "integrity": "sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "jest-regex-util": "^25.2.6",
- "jest-snapshot": "^25.5.1"
+ "@jest/core": "^29.6.2",
+ "@jest/test-result": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "import-local": "^3.0.2",
+ "jest-config": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "jest-validate": "^29.6.2",
+ "prompts": "^2.0.1",
+ "yargs": "^17.3.1"
}
},
- "jest-runner": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
- "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"requires": {
- "@jest/console": "^25.5.0",
- "@jest/environment": "^25.5.0",
- "@jest/test-result": "^25.5.0",
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-config": "^25.5.4",
- "jest-docblock": "^25.3.0",
- "jest-haste-map": "^25.5.1",
- "jest-jasmine2": "^25.5.4",
- "jest-leak-detector": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-resolve": "^25.5.1",
- "jest-runtime": "^25.5.4",
- "jest-util": "^25.5.0",
- "jest-worker": "^25.5.0",
- "source-map-support": "^0.5.6",
- "throat": "^5.0.0"
- }
- },
- "jest-runtime": {
- "version": "25.5.4",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
- "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.5.0",
- "@jest/environment": "^25.5.0",
- "@jest/globals": "^25.5.2",
- "@jest/source-map": "^25.5.0",
- "@jest/test-result": "^25.5.0",
- "@jest/transform": "^25.5.1",
- "@jest/types": "^25.5.0",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.4",
- "jest-config": "^25.5.4",
- "jest-haste-map": "^25.5.1",
- "jest-message-util": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.5.1",
- "jest-snapshot": "^25.5.1",
- "jest-util": "^25.5.0",
- "jest-validate": "^25.5.0",
- "realpath-native": "^2.0.0",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0",
- "yargs": "^15.3.1"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
}
},
- "jest-serializer": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
- "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
- "graceful-fs": "^4.2.4"
+ "ansi-regex": "^5.0.1"
}
},
- "jest-snapshot": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
- "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0",
- "@jest/types": "^25.5.0",
- "@types/prettier": "^1.19.0",
- "chalk": "^3.0.0",
- "expect": "^25.5.0",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-resolve": "^25.5.1",
- "make-dir": "^3.0.0",
- "natural-compare": "^1.4.0",
- "pretty-format": "^25.5.0",
- "semver": "^6.3.0"
+ "has-flag": "^4.0.0"
}
},
- "jest-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
- "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "make-dir": "^3.0.0"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
}
},
- "jest-validate": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
- "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "jest-get-type": "^25.2.6",
- "leven": "^3.1.0",
- "pretty-format": "^25.5.0"
+ "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"
}
},
- "jest-watcher": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
- "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
+ "yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true
+ }
+ }
+ },
+ "jest-changed-files": {
+ "version": "29.5.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz",
+ "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==",
+ "dev": true,
+ "requires": {
+ "execa": "^5.0.0",
+ "p-limit": "^3.1.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"requires": {
- "@jest/test-result": "^25.5.0",
- "@jest/types": "^25.5.0",
- "ansi-escapes": "^4.2.1",
- "chalk": "^3.0.0",
- "jest-util": "^25.5.0",
- "string-length": "^3.1.0"
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
}
},
- "jest-worker": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
- "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"requires": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
"merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
}
},
- "jsdom": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
- "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
- "dev": true,
- "requires": {
- "abab": "^2.0.0",
- "acorn": "^7.1.0",
- "acorn-globals": "^4.3.2",
- "array-equal": "^1.0.0",
- "cssom": "^0.4.1",
- "cssstyle": "^2.0.0",
- "data-urls": "^1.1.0",
- "domexception": "^1.0.1",
- "escodegen": "^1.11.1",
- "html-encoding-sniffer": "^1.0.2",
- "nwsapi": "^2.2.0",
- "parse5": "5.1.0",
- "pn": "^1.1.0",
- "request": "^2.88.0",
- "request-promise-native": "^1.0.7",
- "saxes": "^3.1.9",
- "symbol-tree": "^3.2.2",
- "tough-cookie": "^3.0.1",
- "w3c-hr-time": "^1.0.1",
- "w3c-xmlserializer": "^1.1.2",
- "webidl-conversions": "^4.0.2",
- "whatwg-encoding": "^1.0.5",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^7.0.0",
- "ws": "^7.0.0",
- "xml-name-validator": "^3.0.0"
- }
+ "get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true
},
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
"requires": {
- "p-locate": "^4.1.0"
+ "path-key": "^3.0.0"
}
},
- "make-dir": {
+ "p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"requires": {
- "semver": "^6.0.0"
+ "yocto-queue": "^0.1.0"
}
},
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
+ "shebang-regex": "^3.0.0"
}
},
- "node-notifier": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz",
- "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==",
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
- "optional": true,
"requires": {
- "growly": "^1.3.0",
- "is-wsl": "^2.1.1",
- "semver": "^6.3.0",
- "shellwords": "^0.1.1",
- "which": "^1.3.1"
- },
- "dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
+ "isexe": "^2.0.0"
}
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ }
+ }
+ },
+ "jest-circus": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.2.tgz",
+ "integrity": "sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^29.6.2",
+ "@jest/expect": "^29.6.2",
+ "@jest/test-result": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^1.0.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^29.6.2",
+ "jest-matcher-utils": "^29.6.2",
+ "jest-message-util": "^29.6.2",
+ "jest-runtime": "^29.6.2",
+ "jest-snapshot": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "p-limit": "^3.1.0",
+ "pretty-format": "^29.6.2",
+ "pure-rand": "^6.0.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "path-key": "^3.0.0"
+ "color-convert": "^2.0.1"
}
},
- "p-each-series": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
- "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==",
- "dev": true
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
},
- "p-finally": {
+ "color-convert": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
- "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
- "dev": true
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "p-limit": "^2.2.0"
+ "color-name": "~1.1.4"
}
},
- "parse5": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
- "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dedent": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz",
+ "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
"dev": true
},
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "diff-sequences": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
+ "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
"dev": true
},
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "jest-diff": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz",
+ "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==",
"dev": true,
"requires": {
- "find-up": "^4.0.0"
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.4.3",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
- "pretty-format": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
- "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
+ "jest-get-type": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
+ "dev": true
+ },
+ "jest-matcher-utils": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz",
+ "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^4.0.0",
- "react-is": "^16.12.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- }
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.6.2",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true
- }
+ "yocto-queue": "^0.1.0"
}
},
- "read-pkg-up": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "pretty-format": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
"dev": true,
- "requires": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
+ "requires": {
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
}
},
- "realpath-native": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
- "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
"dev": true
},
- "resolve-cwd": {
+ "slash": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "resolve-from": "^5.0.0"
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-config": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.2.tgz",
+ "integrity": "sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.11.6",
+ "@jest/test-sequencer": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "babel-jest": "^29.6.2",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^29.6.2",
+ "jest-environment-node": "^29.6.2",
+ "jest-get-type": "^29.4.3",
+ "jest-regex-util": "^29.4.3",
+ "jest-resolve": "^29.6.2",
+ "jest-runner": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "jest-validate": "^29.6.2",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^29.6.2",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
}
},
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
},
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "ci-info": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
+ "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
"dev": true
},
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "shebang-regex": "^3.0.0"
+ "color-name": "~1.1.4"
}
},
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
"dev": true
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "string-length": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz",
- "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==",
- "dev": true,
- "requires": {
- "astral-regex": "^1.0.0",
- "strip-ansi": "^5.2.0"
- },
- "dependencies": {
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- }
- }
+ "jest-get-type": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
+ "dev": true
},
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"dev": true,
"requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
}
},
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "pretty-format": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
"dev": true,
"requires": {
- "ansi-regex": "^5.0.1"
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true
}
}
},
- "strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
"supports-color": {
@@ -26045,232 +23342,293 @@
"requires": {
"has-flag": "^4.0.0"
}
- },
- "test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+ }
+ }
+ },
+ "jest-diff": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
+ "color-convert": "^2.0.1"
}
},
- "throat": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
- "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
- "dev": true
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
},
- "tough-cookie": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
- "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "ip-regex": "^2.1.0",
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
+ "color-name": "~1.1.4"
}
},
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "whatwg-url": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
+ "has-flag": "^4.0.0"
}
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz",
+ "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==",
+ "dev": true,
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.2.tgz",
+ "integrity": "sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^29.6.1",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.4.3",
+ "jest-util": "^29.6.2",
+ "pretty-format": "^29.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "color-convert": "^2.0.1"
}
},
- "wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
+ "color-name": "~1.1.4"
}
},
- "ws": {
- "version": "7.5.9",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "yargs": {
- "version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "jest-get-type": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
+ "dev": true
+ },
+ "pretty-format": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
"dev": true,
"requires": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
}
},
- "yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
+ "has-flag": "^4.0.0"
}
}
}
},
- "jest-changed-files": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz",
- "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==",
- "dev": true,
- "requires": {
- "@jest/types": "^24.9.0",
- "execa": "^1.0.0",
- "throat": "^4.0.0"
- }
- },
- "jest-circus": {
- "version": "25.1.0",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-25.1.0.tgz",
- "integrity": "sha512-Axlcr2YMxVarMW4SiZhCFCjNKhdF4xF9AIdltyutQOKyyDT795Kl/fzI95O0l8idE51Npj2wDj5GhrV7uEoEJA==",
+ "jest-environment-jsdom": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^25.1.0",
- "@jest/test-result": "^25.1.0",
- "@jest/types": "^25.1.0",
- "chalk": "^3.0.0",
- "co": "^4.6.0",
- "expect": "^25.1.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^25.1.0",
- "jest-matcher-utils": "^25.1.0",
- "jest-message-util": "^25.1.0",
- "jest-snapshot": "^25.1.0",
- "jest-util": "^25.1.0",
- "pretty-format": "^25.1.0",
- "stack-utils": "^1.0.1",
- "throat": "^5.0.0"
+ "@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"
},
"dependencies": {
- "@jest/console": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
- "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "jest-message-util": "^25.5.0",
- "jest-util": "^25.5.0",
- "slash": "^3.0.0"
- }
- },
"@jest/environment": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
- "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+ "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^25.5.0",
- "@jest/types": "^25.5.0",
- "jest-mock": "^25.5.0"
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1"
}
},
"@jest/fake-timers": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
- "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+ "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-mock": "^25.5.0",
- "jest-util": "^25.5.0",
- "lolex": "^5.0.0"
+ "@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"
}
},
- "@jest/test-result": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
- "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
+ "@jest/types": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
"dev": true,
"requires": {
- "@jest/console": "^25.5.0",
- "@jest/types": "^25.5.0",
"@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0"
}
},
- "@jest/types": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
- "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "@types/istanbul-reports": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
+ "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
"dev": true,
"requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0"
+ "@types/istanbul-lib-report": "*"
}
},
+ "@types/stack-utils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
+ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
+ "dev": true
+ },
"@types/yargs": {
- "version": "15.0.14",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
- "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
+ "version": "16.0.4",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
+ "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
}
},
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "acorn": {
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "dev": true
+ },
+ "acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
"dev": true
},
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "requires": {
+ "debug": "4"
+ }
+ },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -26281,15 +23639,21 @@
}
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
+ "ci-info": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz",
+ "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==",
+ "dev": true
+ },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -26305,172 +23669,192 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "diff-sequences": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
- "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
"dev": true
},
- "expect": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
- "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "ansi-styles": "^4.0.0",
- "jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-regex-util": "^25.2.6"
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ }
}
},
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
"dev": true,
"requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
}
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "jest-diff": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
- "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+ "domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
"dev": true,
"requires": {
- "chalk": "^3.0.0",
- "diff-sequences": "^25.2.6",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
+ "webidl-conversions": "^5.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+ "dev": true
+ }
}
},
- "jest-get-type": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
- "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+ "escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
"dev": true
},
- "jest-matcher-utils": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
- "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
+ "escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
"dev": true,
"requires": {
- "chalk": "^3.0.0",
- "jest-diff": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "pretty-format": "^25.5.0"
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
}
},
- "jest-message-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
- "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true
+ },
+ "form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
- "@jest/types": "^25.5.0",
- "@types/stack-utils": "^1.0.1",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "micromatch": "^4.0.2",
- "slash": "^3.0.0",
- "stack-utils": "^1.0.1"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
}
},
- "jest-mock": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
- "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0"
+ "whatwg-encoding": "^1.0.5"
}
},
- "jest-regex-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
- "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
- "dev": true
- },
- "jest-resolve": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
- "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "browser-resolve": "^1.11.3",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "jest-pnp-resolver": "^1.2.1",
- "read-pkg-up": "^7.0.1",
- "realpath-native": "^2.0.0",
- "resolve": "^1.17.0",
- "slash": "^3.0.0"
+ "agent-base": "6",
+ "debug": "4"
}
},
- "jest-snapshot": {
- "version": "25.5.1",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
- "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+ "jest-message-util": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+ "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0",
- "@jest/types": "^25.5.0",
- "@types/prettier": "^1.19.0",
- "chalk": "^3.0.0",
- "expect": "^25.5.0",
- "graceful-fs": "^4.2.4",
- "jest-diff": "^25.5.0",
- "jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.5.0",
- "jest-message-util": "^25.5.0",
- "jest-resolve": "^25.5.1",
- "make-dir": "^3.0.0",
- "natural-compare": "^1.4.0",
- "pretty-format": "^25.5.0",
- "semver": "^6.3.0"
+ "@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"
}
},
- "jest-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
- "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
+ "jest-mock": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+ "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "make-dir": "^3.0.0"
+ "@jest/types": "^27.5.1",
+ "@types/node": "*"
}
},
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "jest-util": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+ "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
"dev": true,
"requires": {
- "p-locate": "^4.1.0"
+ "@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"
}
},
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
"dev": true,
"requires": {
- "semver": "^6.0.0"
+ "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"
}
},
"micromatch": {
@@ -26483,183 +23867,198 @@
"picomatch": "^2.3.1"
}
},
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
+ "saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
"dev": true,
"requires": {
- "p-limit": "^2.2.0"
+ "xmlchars": "^2.2.0"
}
},
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
- "pretty-format": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
- "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ },
+ "stack-utils": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+ "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^4.0.0",
- "react-is": "^16.12.0"
+ "escape-string-regexp": "^2.0.0"
}
},
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true
- }
+ "has-flag": "^4.0.0"
}
},
- "read-pkg-up": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
"dev": true,
"requires": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
+ "punycode": "^2.1.1"
}
},
- "realpath-native": {
+ "w3c-xmlserializer": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
- "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
- "dev": true
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "dev": true,
+ "requires": {
+ "xml-name-validator": "^3.0.0"
+ }
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
"dev": true
},
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
"dev": true,
"requires": {
- "has-flag": "^4.0.0"
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
}
},
- "throat": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
- "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
+ "ws": {
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"dev": true
}
}
},
- "jest-config": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz",
- "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^24.9.0",
- "@jest/types": "^24.9.0",
- "babel-jest": "^24.9.0",
- "chalk": "^2.0.1",
- "glob": "^7.1.1",
- "jest-environment-jsdom": "^24.9.0",
- "jest-environment-node": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "jest-jasmine2": "^24.9.0",
- "jest-regex-util": "^24.3.0",
- "jest-resolve": "^24.9.0",
- "jest-util": "^24.9.0",
- "jest-validate": "^24.9.0",
- "micromatch": "^3.1.10",
- "pretty-format": "^24.9.0",
- "realpath-native": "^1.1.0"
+ "jest-environment-node": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz",
+ "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^29.6.2",
+ "@jest/fake-timers": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "jest-mock": "^29.6.2",
+ "jest-util": "^29.6.2"
+ }
+ },
+ "jest-get-type": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+ "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
+ "dev": true
+ },
+ "jest-haste-map": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz",
+ "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^29.6.1",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.3.2",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.4.3",
+ "jest-util": "^29.6.2",
+ "jest-worker": "^29.6.2",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
},
"dependencies": {
- "@jest/test-sequencer": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz",
- "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^24.9.0",
- "jest-haste-map": "^24.9.0",
- "jest-runner": "^24.9.0",
- "jest-runtime": "^24.9.0"
- }
- },
- "jest-environment-jsdom": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz",
- "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==",
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"dev": true,
"requires": {
- "@jest/environment": "^24.9.0",
- "@jest/fake-timers": "^24.9.0",
- "@jest/types": "^24.9.0",
- "jest-mock": "^24.9.0",
- "jest-util": "^24.9.0",
- "jsdom": "^11.5.1"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
}
+ }
+ }
+ },
+ "jest-leak-detector": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz",
+ "integrity": "sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==",
+ "dev": true,
+ "requires": {
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
},
"jest-get-type": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
- "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
"dev": true
},
"pretty-format": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
- "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "ansi-regex": "^4.0.0",
- "ansi-styles": "^3.2.0",
- "react-is": "^16.8.4"
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
}
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
}
}
},
- "jest-dev-server": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-4.4.0.tgz",
- "integrity": "sha512-STEHJ3iPSC8HbrQ3TME0ozGX2KT28lbT4XopPxUm2WimsX3fcB3YOptRh12YphQisMhfqNSNTZUmWyT3HEXS2A==",
+ "jest-matcher-utils": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+ "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
"dev": true,
"requires": {
- "chalk": "^3.0.0",
- "cwd": "^0.10.0",
- "find-process": "^1.4.3",
- "prompts": "^2.3.0",
- "spawnd": "^4.4.0",
- "tree-kill": "^1.2.2",
- "wait-on": "^3.3.0"
+ "chalk": "^4.0.0",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
},
"dependencies": {
"ansi-styles": {
@@ -26672,9 +24071,9 @@
}
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -26713,16 +24112,21 @@
}
}
},
- "jest-diff": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
- "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+ "jest-message-util": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz",
+ "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==",
"dev": true,
"requires": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^29.6.1",
+ "@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
- "diff-sequences": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.6.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
},
"dependencies": {
"ansi-styles": {
@@ -26765,6 +24169,47 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "pretty-format": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
+ }
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -26776,55 +24221,46 @@
}
}
},
- "jest-docblock": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz",
- "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==",
+ "jest-mock": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz",
+ "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==",
"dev": true,
"requires": {
- "detect-newline": "^2.1.0"
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "jest-util": "^29.6.2"
}
},
- "jest-each": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
- "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
+ "jest-pnp-resolver": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+ "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz",
+ "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.2.tgz",
+ "integrity": "sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==",
"dev": true,
"requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "jest-get-type": "^25.2.6",
- "jest-util": "^25.5.0",
- "pretty-format": "^25.5.0"
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.6.2",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^29.6.2",
+ "jest-validate": "^29.6.2",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^2.0.0",
+ "slash": "^3.0.0"
},
"dependencies": {
- "@jest/types": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
- "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0"
- }
- },
- "@types/yargs": {
- "version": "15.0.14",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
- "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -26835,9 +24271,9 @@
}
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -26865,50 +24301,16 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "jest-get-type": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
- "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+ "resolve.exports": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
+ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
"dev": true
},
- "jest-util": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
- "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "chalk": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "make-dir": "^3.0.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "pretty-format": {
- "version": "25.5.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
- "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.5.0",
- "ansi-regex": "^5.0.0",
- "ansi-styles": "^4.0.0",
- "react-is": "^16.12.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
"supports-color": {
@@ -26921,124 +24323,46 @@
}
}
}
- },
- "jest-environment-jsdom": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
- "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
- "dev": true,
- "requires": {
- "@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"
- },
- "dependencies": {
- "@jest/environment": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
- "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
- "dev": true,
- "requires": {
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1"
- }
- },
- "@jest/fake-timers": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
- "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
- "dev": true,
- "requires": {
- "@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"
- }
- },
- "@jest/types": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
- "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
- "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/stack-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
- "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
- "dev": true
- },
- "@types/yargs": {
- "version": "16.0.4",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
- "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "acorn": {
- "version": "8.8.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
- "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
- "dev": true
- },
- "acorn-globals": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
- "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
- "dev": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-walk": "^7.1.1"
- },
- "dependencies": {
- "acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true
- }
- }
- },
- "acorn-walk": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
- "dev": true
- },
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "requires": {
- "debug": "4"
- }
- },
+ },
+ "jest-resolve-dependencies": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.2.tgz",
+ "integrity": "sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==",
+ "dev": true,
+ "requires": {
+ "jest-regex-util": "^29.4.3",
+ "jest-snapshot": "^29.6.2"
+ }
+ },
+ "jest-runner": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.2.tgz",
+ "integrity": "sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^29.6.2",
+ "@jest/environment": "^29.6.2",
+ "@jest/test-result": "^29.6.2",
+ "@jest/transform": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.13.1",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^29.4.3",
+ "jest-environment-node": "^29.6.2",
+ "jest-haste-map": "^29.6.2",
+ "jest-leak-detector": "^29.6.2",
+ "jest-message-util": "^29.6.2",
+ "jest-resolve": "^29.6.2",
+ "jest-runtime": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "jest-watcher": "^29.6.2",
+ "jest-worker": "^29.6.2",
+ "p-limit": "^3.1.0",
+ "source-map-support": "0.5.13"
+ },
+ "dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -27058,12 +24382,6 @@
"supports-color": "^7.1.0"
}
},
- "ci-info": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz",
- "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==",
- "dev": true
- },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -27079,218 +24397,123 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "cssom": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
- "dev": true
- },
- "cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "requires": {
- "cssom": "~0.3.6"
- },
- "dependencies": {
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- }
- }
- },
- "data-urls": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
- "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
- "dev": true,
- "requires": {
- "abab": "^2.0.3",
- "whatwg-mimetype": "^2.3.0",
- "whatwg-url": "^8.0.0"
- }
- },
- "domexception": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
- "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
- "dev": true,
- "requires": {
- "webidl-conversions": "^5.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
- "dev": true
- }
- }
- },
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true
- },
- "escodegen": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
- "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "emittery": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
"dev": true
},
- "form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "html-encoding-sniffer": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
- "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"requires": {
- "whatwg-encoding": "^1.0.5"
+ "yocto-queue": "^0.1.0"
}
},
- "https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
},
- "jest-message-util": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
- "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
+ "source-map-support": {
+ "version": "0.5.13",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+ "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
"dev": true,
"requires": {
- "@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"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
},
- "jest-mock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
- "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "@jest/types": "^27.5.1",
- "@types/node": "*"
+ "has-flag": "^4.0.0"
}
- },
- "jest-util": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
- "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
+ }
+ }
+ },
+ "jest-runtime": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.2.tgz",
+ "integrity": "sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^29.6.2",
+ "@jest/fake-timers": "^29.6.2",
+ "@jest/globals": "^29.6.2",
+ "@jest/source-map": "^29.6.0",
+ "@jest/test-result": "^29.6.2",
+ "@jest/transform": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.6.2",
+ "jest-message-util": "^29.6.2",
+ "jest-mock": "^29.6.2",
+ "jest-regex-util": "^29.4.3",
+ "jest-resolve": "^29.6.2",
+ "jest-snapshot": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "@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"
+ "color-convert": "^2.0.1"
}
},
- "jsdom": {
- "version": "16.7.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
- "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
- "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"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
+ "color-name": "~1.1.4"
}
},
- "parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "saxes": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
- "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
- "dev": true,
- "requires": {
- "xmlchars": "^2.2.0"
- }
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
},
"slash": {
"version": "3.0.0",
@@ -27298,21 +24521,11 @@
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- },
- "stack-utils": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
- "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0"
- }
+ "strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "dev": true
},
"supports-color": {
"version": "7.2.0",
@@ -27322,85 +24535,170 @@
"requires": {
"has-flag": "^4.0.0"
}
+ }
+ }
+ },
+ "jest-snapshot": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.2.tgz",
+ "integrity": "sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.11.6",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-jsx": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/types": "^7.3.3",
+ "@jest/expect-utils": "^29.6.2",
+ "@jest/transform": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^29.6.2",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^29.6.2",
+ "jest-get-type": "^29.4.3",
+ "jest-matcher-utils": "^29.6.2",
+ "jest-message-util": "^29.6.2",
+ "jest-util": "^29.6.2",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^29.6.2",
+ "semver": "^7.5.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
},
- "tough-cookie": {
+ "chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz",
- "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "tr46": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
- "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "punycode": "^2.1.1"
+ "color-name": "~1.1.4"
}
},
- "w3c-xmlserializer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
- "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "diff-sequences": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
+ "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "jest-diff": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.2.tgz",
+ "integrity": "sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==",
"dev": true,
"requires": {
- "xml-name-validator": "^3.0.0"
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.4.3",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
- "webidl-conversions": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
- "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "jest-get-type": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
"dev": true
},
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "jest-matcher-utils": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.2.tgz",
+ "integrity": "sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==",
"dev": true,
"requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.6.2",
+ "jest-get-type": "^29.4.3",
+ "pretty-format": "^29.6.2"
}
},
- "ws": {
- "version": "7.5.9",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "pretty-format": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
+ "dev": true,
+ "requires": {
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
+ }
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
"dev": true
+ },
+ "semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
}
}
},
- "jest-environment-node": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz",
- "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==",
- "dev": true,
- "requires": {
- "@jest/environment": "^24.9.0",
- "@jest/fake-timers": "^24.9.0",
- "@jest/types": "^24.9.0",
- "jest-mock": "^24.9.0",
- "jest-util": "^24.9.0"
- }
- },
- "jest-environment-puppeteer": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-4.4.0.tgz",
- "integrity": "sha512-iV8S8+6qkdTM6OBR/M9gKywEk8GDSOe05hspCs5D8qKSwtmlUfdtHfB4cakdc68lC6YfK3AUsLirpfgodCHjzQ==",
+ "jest-util": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz",
+ "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==",
"dev": true,
"requires": {
- "chalk": "^3.0.0",
- "cwd": "^0.10.0",
- "jest-dev-server": "^4.4.0",
- "merge-deep": "^3.0.2"
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
},
"dependencies": {
"ansi-styles": {
@@ -27413,15 +24711,21 @@
}
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
+ "ci-info": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
+ "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
+ "dev": true
+ },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -27454,191 +24758,122 @@
}
}
},
- "jest-get-type": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
- "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
- "dev": true
- },
- "jest-haste-map": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz",
- "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==",
+ "jest-validate": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz",
+ "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "anymatch": "^2.0.0",
- "fb-watchman": "^2.0.0",
- "fsevents": "^1.2.7",
- "graceful-fs": "^4.1.15",
- "invariant": "^2.2.4",
- "jest-serializer": "^24.9.0",
- "jest-util": "^24.9.0",
- "jest-worker": "^24.9.0",
- "micromatch": "^3.1.10",
- "sane": "^4.0.3",
- "walker": "^1.0.7"
+ "@jest/types": "^29.6.1",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.4.3",
+ "leven": "^3.1.0",
+ "pretty-format": "^29.6.2"
},
"dependencies": {
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "dev": true,
- "requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
- }
- },
- "fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
- "optional": true,
"requires": {
- "bindings": "^1.5.0",
- "nan": "^2.12.1"
+ "color-convert": "^2.0.1"
}
},
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
- "dev": true,
- "requires": {
- "remove-trailing-separator": "^1.0.1"
- }
- }
- }
- },
- "jest-jasmine2": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz",
- "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.1.0",
- "@jest/environment": "^24.9.0",
- "@jest/test-result": "^24.9.0",
- "@jest/types": "^24.9.0",
- "chalk": "^2.0.1",
- "co": "^4.6.0",
- "expect": "^24.9.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^24.9.0",
- "jest-matcher-utils": "^24.9.0",
- "jest-message-util": "^24.9.0",
- "jest-runtime": "^24.9.0",
- "jest-snapshot": "^24.9.0",
- "jest-util": "^24.9.0",
- "pretty-format": "^24.9.0",
- "throat": "^4.0.0"
- },
- "dependencies": {
- "diff-sequences": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
- "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true
},
- "jest-diff": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
- "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
- "chalk": "^2.0.1",
- "diff-sequences": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "pretty-format": "^24.9.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "jest-each": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz",
- "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "chalk": "^2.0.1",
- "jest-get-type": "^24.9.0",
- "jest-util": "^24.9.0",
- "pretty-format": "^24.9.0"
+ "color-name": "~1.1.4"
}
},
- "jest-get-type": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
- "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "jest-matcher-utils": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
- "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
- "dev": true,
- "requires": {
- "chalk": "^2.0.1",
- "jest-diff": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "pretty-format": "^24.9.0"
- }
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "jest-get-type": {
+ "version": "29.4.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz",
+ "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==",
+ "dev": true
},
"pretty-format": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
- "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+ "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "ansi-regex": "^4.0.0",
- "ansi-styles": "^3.2.0",
- "react-is": "^16.8.4"
+ "@jest/schemas": "^29.6.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true
+ }
}
- }
- }
- },
- "jest-leak-detector": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz",
- "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==",
- "dev": true,
- "requires": {
- "jest-get-type": "^24.9.0",
- "pretty-format": "^24.9.0"
- },
- "dependencies": {
- "jest-get-type": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
- "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
"dev": true
},
- "pretty-format": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
- "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "@jest/types": "^24.9.0",
- "ansi-regex": "^4.0.0",
- "ansi-styles": "^3.2.0",
- "react-is": "^16.8.4"
+ "has-flag": "^4.0.0"
}
}
}
},
- "jest-matcher-utils": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
- "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
+ "jest-watcher": {
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz",
+ "integrity": "sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==",
"dev": true,
"requires": {
+ "@jest/test-result": "^29.6.2",
+ "@jest/types": "^29.6.1",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "jest-diff": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
+ "emittery": "^0.13.1",
+ "jest-util": "^29.6.2",
+ "string-length": "^4.0.1"
},
"dependencies": {
"ansi-styles": {
@@ -27675,6 +24910,12 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "emittery": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
+ "dev": true
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -27692,362 +24933,31 @@
}
}
},
- "jest-message-util": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz",
- "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@jest/test-result": "^24.9.0",
- "@jest/types": "^24.9.0",
- "@types/stack-utils": "^1.0.1",
- "chalk": "^2.0.1",
- "micromatch": "^3.1.10",
- "slash": "^2.0.0",
- "stack-utils": "^1.0.1"
- }
- },
- "jest-mock": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz",
- "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==",
- "dev": true,
- "requires": {
- "@jest/types": "^24.9.0"
- }
- },
- "jest-pnp-resolver": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
- "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
- "dev": true
- },
- "jest-puppeteer": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-4.4.0.tgz",
- "integrity": "sha512-ZaiCTlPZ07B9HW0erAWNX6cyzBqbXMM7d2ugai4epBDKpKvRDpItlRQC6XjERoJELKZsPziFGS0OhhUvTvQAXA==",
- "dev": true,
- "requires": {
- "expect-puppeteer": "^4.4.0",
- "jest-environment-puppeteer": "^4.4.0"
- }
- },
- "jest-regex-util": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz",
- "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==",
- "dev": true
- },
- "jest-resolve": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
- "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^24.9.0",
- "browser-resolve": "^1.11.3",
- "chalk": "^2.0.1",
- "jest-pnp-resolver": "^1.2.1",
- "realpath-native": "^1.1.0"
- }
- },
- "jest-resolve-dependencies": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz",
- "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==",
- "dev": true,
- "requires": {
- "@jest/types": "^24.9.0",
- "jest-regex-util": "^24.3.0",
- "jest-snapshot": "^24.9.0"
- }
- },
- "jest-runner": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz",
- "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==",
- "dev": true,
- "requires": {
- "@jest/console": "^24.7.1",
- "@jest/environment": "^24.9.0",
- "@jest/test-result": "^24.9.0",
- "@jest/types": "^24.9.0",
- "chalk": "^2.4.2",
- "exit": "^0.1.2",
- "graceful-fs": "^4.1.15",
- "jest-config": "^24.9.0",
- "jest-docblock": "^24.3.0",
- "jest-haste-map": "^24.9.0",
- "jest-jasmine2": "^24.9.0",
- "jest-leak-detector": "^24.9.0",
- "jest-message-util": "^24.9.0",
- "jest-resolve": "^24.9.0",
- "jest-runtime": "^24.9.0",
- "jest-util": "^24.9.0",
- "jest-worker": "^24.6.0",
- "source-map-support": "^0.5.6",
- "throat": "^4.0.0"
- }
- },
- "jest-runtime": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz",
- "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==",
- "dev": true,
- "requires": {
- "@jest/console": "^24.7.1",
- "@jest/environment": "^24.9.0",
- "@jest/source-map": "^24.3.0",
- "@jest/transform": "^24.9.0",
- "@jest/types": "^24.9.0",
- "@types/yargs": "^13.0.0",
- "chalk": "^2.0.1",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.1.15",
- "jest-config": "^24.9.0",
- "jest-haste-map": "^24.9.0",
- "jest-message-util": "^24.9.0",
- "jest-mock": "^24.9.0",
- "jest-regex-util": "^24.3.0",
- "jest-resolve": "^24.9.0",
- "jest-snapshot": "^24.9.0",
- "jest-util": "^24.9.0",
- "jest-validate": "^24.9.0",
- "realpath-native": "^1.1.0",
- "slash": "^2.0.0",
- "strip-bom": "^3.0.0",
- "yargs": "^13.3.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- }
- },
- "yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "jest-serializer": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz",
- "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==",
- "dev": true
- },
- "jest-snapshot": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz",
- "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.0.0",
- "@jest/types": "^24.9.0",
- "chalk": "^2.0.1",
- "expect": "^24.9.0",
- "jest-diff": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "jest-matcher-utils": "^24.9.0",
- "jest-message-util": "^24.9.0",
- "jest-resolve": "^24.9.0",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "pretty-format": "^24.9.0",
- "semver": "^6.2.0"
- },
- "dependencies": {
- "diff-sequences": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
- "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
- "dev": true
- },
- "jest-diff": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
- "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.0.1",
- "diff-sequences": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "pretty-format": "^24.9.0"
- }
- },
- "jest-get-type": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
- "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
- "dev": true
- },
- "jest-matcher-utils": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
- "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
- "dev": true,
- "requires": {
- "chalk": "^2.0.1",
- "jest-diff": "^24.9.0",
- "jest-get-type": "^24.9.0",
- "pretty-format": "^24.9.0"
- }
- },
- "pretty-format": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
- "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
- "dev": true,
- "requires": {
- "@jest/types": "^24.9.0",
- "ansi-regex": "^4.0.0",
- "ansi-styles": "^3.2.0",
- "react-is": "^16.8.4"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "jest-util": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz",
- "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==",
- "dev": true,
- "requires": {
- "@jest/console": "^24.9.0",
- "@jest/fake-timers": "^24.9.0",
- "@jest/source-map": "^24.9.0",
- "@jest/test-result": "^24.9.0",
- "@jest/types": "^24.9.0",
- "callsites": "^3.0.0",
- "chalk": "^2.0.1",
- "graceful-fs": "^4.1.15",
- "is-ci": "^2.0.0",
- "mkdirp": "^0.5.1",
- "slash": "^2.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "jest-validate": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz",
- "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^24.9.0",
- "camelcase": "^5.3.1",
- "chalk": "^2.0.1",
- "jest-get-type": "^24.9.0",
- "leven": "^3.1.0",
- "pretty-format": "^24.9.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "jest-get-type": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
- "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
- "dev": true
- },
- "pretty-format": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
- "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
- "dev": true,
- "requires": {
- "@jest/types": "^24.9.0",
- "ansi-regex": "^4.0.0",
- "ansi-styles": "^3.2.0",
- "react-is": "^16.8.4"
- }
- }
- }
- },
- "jest-watcher": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz",
- "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==",
- "dev": true,
- "requires": {
- "@jest/test-result": "^24.9.0",
- "@jest/types": "^24.9.0",
- "@types/yargs": "^13.0.0",
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.1",
- "jest-util": "^24.9.0",
- "string-length": "^2.0.0"
- },
- "dependencies": {
- "ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true
- }
- }
- },
"jest-worker": {
- "version": "24.9.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
- "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz",
+ "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==",
"dev": true,
"requires": {
+ "@types/node": "*",
+ "jest-util": "^29.6.2",
"merge-stream": "^2.0.0",
- "supports-color": "^6.1.0"
+ "supports-color": "^8.0.0"
},
"dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
"supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
}
}
}
@@ -28106,12 +25016,6 @@
"xmlcreate": "^2.0.4"
}
},
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
- },
"jsdoc": {
"version": "3.6.11",
"resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz",
@@ -28181,63 +25085,6 @@
"integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==",
"dev": true
},
- "jsdom": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
- "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
- "dev": true,
- "requires": {
- "abab": "^2.0.0",
- "acorn": "^5.5.3",
- "acorn-globals": "^4.1.0",
- "array-equal": "^1.0.0",
- "cssom": ">= 0.3.2 < 0.4.0",
- "cssstyle": "^1.0.0",
- "data-urls": "^1.0.0",
- "domexception": "^1.0.1",
- "escodegen": "^1.9.1",
- "html-encoding-sniffer": "^1.0.2",
- "left-pad": "^1.3.0",
- "nwsapi": "^2.0.7",
- "parse5": "4.0.0",
- "pn": "^1.1.0",
- "request": "^2.87.0",
- "request-promise-native": "^1.0.5",
- "sax": "^1.2.4",
- "symbol-tree": "^3.2.2",
- "tough-cookie": "^2.3.4",
- "w3c-hr-time": "^1.0.1",
- "webidl-conversions": "^4.0.2",
- "whatwg-encoding": "^1.0.3",
- "whatwg-mimetype": "^2.1.0",
- "whatwg-url": "^6.4.1",
- "ws": "^5.2.0",
- "xml-name-validator": "^3.0.0"
- },
- "dependencies": {
- "acorn": {
- "version": "5.7.4",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
- "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
- "dev": true
- },
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- },
- "ws": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz",
- "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
- }
- }
- },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -28261,12 +25108,6 @@
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
},
- "json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -28279,12 +25120,6 @@
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
- },
"json2php": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.4.tgz",
@@ -28327,18 +25162,6 @@
"integrity": "sha512-d2vwomK605ks7Q+uCpbwGyoIF5j+UZuJjlYcugISBt3CxM+eBo/W6y63yVPIyIvbYON+pvJYsYZjCYbzqJj/xQ==",
"dev": true
},
- "jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- }
- },
"jsx-ast-utils": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
@@ -28431,12 +25254,6 @@
"dotenv-expand": "^5.1.0"
}
},
- "left-pad": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
- "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
- "dev": true
- },
"leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -28478,36 +25295,6 @@
"uc.micro": "^1.0.1"
}
},
- "load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- },
- "dependencies": {
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true
- }
- }
- },
"loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -28599,12 +25386,6 @@
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true
},
- "lodash.escape": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
- "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==",
- "dev": true
- },
"lodash.find": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-3.2.1.tgz",
@@ -28618,12 +25399,6 @@
"lodash.keys": "^3.0.0"
}
},
- "lodash.flattendeep": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
- "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==",
- "dev": true
- },
"lodash.isarguments": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
@@ -28634,12 +25409,6 @@
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ=="
},
- "lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
- "dev": true
- },
"lodash.istypedarray": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz",
@@ -28667,12 +25436,6 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
- "lodash.mergewith": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
- "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==",
- "dev": true
- },
"lodash.pairs": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash.pairs/-/lodash.pairs-3.0.1.tgz",
@@ -28681,12 +25444,6 @@
"lodash.keys": "^3.0.0"
}
},
- "lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
- "dev": true
- },
"lodash.truncate": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
@@ -28760,15 +25517,6 @@
}
}
},
- "lolex": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
- "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.7.0"
- }
- },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -29726,12 +26474,6 @@
"moment": ">= 2.9.0"
}
},
- "moo": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz",
- "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==",
- "dev": true
- },
"mousetrap": {
"version": "1.6.5",
"resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz",
@@ -29847,26 +26589,6 @@
"integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
"dev": true
},
- "nearley": {
- "version": "2.20.1",
- "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
- "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==",
- "dev": true,
- "requires": {
- "commander": "^2.19.0",
- "moo": "^0.5.0",
- "railroad-diagrams": "^1.0.0",
- "randexp": "0.4.6"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
- }
- }
- },
"negotiator": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
@@ -29909,16 +26631,6 @@
"minimatch": "^3.0.2"
}
},
- "node-fetch": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
- "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "dev": true,
- "requires": {
- "encoding": "^0.1.11",
- "is-stream": "^1.0.1"
- }
- },
"node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
@@ -29993,31 +26705,12 @@
}
}
},
- "node-notifier": {
- "version": "5.4.5",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz",
- "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==",
- "dev": true,
- "requires": {
- "growly": "^1.3.0",
- "is-wsl": "^1.1.0",
- "semver": "^5.5.0",
- "shellwords": "^0.1.1",
- "which": "^1.3.0"
- }
- },
"node-releases": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true
},
- "node-stream-zip": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz",
- "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==",
- "dev": true
- },
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
@@ -30218,18 +26911,6 @@
"integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==",
"dev": true
},
- "oauth-1.0a": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/oauth-1.0a/-/oauth-1.0a-2.2.6.tgz",
- "integrity": "sha512-6bkxv3N4Gu5lty4viIcIAnq5GbxECviMBeKR3WX/q87SPQ8E8aursPZUtsXDnxCs787af09WPRBLqYrf/lwoYQ==",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -30657,15 +27338,6 @@
"integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==",
"dev": true
},
- "p-each-series": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz",
- "integrity": "sha512-J/e9xiZZQNrt+958FFzJ+auItsBGq+UrQ7nE89AUP7UOTtjHnkISANXLdayhVzh538UnLMCSlf13lFfRIAKQOA==",
- "dev": true,
- "requires": {
- "p-reduce": "^1.0.0"
- }
- },
"p-event": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz",
@@ -30712,30 +27384,6 @@
"integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
"dev": true
},
- "p-queue": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz",
- "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==",
- "dev": true,
- "requires": {
- "eventemitter3": "^4.0.4",
- "p-timeout": "^3.2.0"
- },
- "dependencies": {
- "eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true
- }
- }
- },
- "p-reduce": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
- "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==",
- "dev": true
- },
"p-retry": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
@@ -30838,33 +27486,6 @@
"integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==",
"dev": true
},
- "parse5": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
- "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
- "dev": true
- },
- "parse5-htmlparser2-tree-adapter": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
- "dev": true,
- "requires": {
- "domhandler": "^5.0.2",
- "parse5": "^7.0.0"
- },
- "dependencies": {
- "parse5": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz",
- "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==",
- "dev": true,
- "requires": {
- "entities": "^4.4.0"
- }
- }
- }
- },
"parseqs": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
@@ -31053,12 +27674,6 @@
"irregular-plurals": "^3.2.0"
}
},
- "pn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
- "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
- "dev": true
- },
"pnp-webpack-plugin": {
"version": "1.6.4",
"resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
@@ -31745,35 +28360,6 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
- "puppeteer": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz",
- "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==",
- "dev": true,
- "requires": {
- "@types/mime-types": "^2.1.0",
- "debug": "^4.1.0",
- "extract-zip": "^1.6.6",
- "https-proxy-agent": "^4.0.0",
- "mime": "^2.0.3",
- "mime-types": "^2.1.25",
- "progress": "^2.0.1",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^2.6.1",
- "ws": "^6.1.0"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
- }
- },
"puppeteer-core": {
"version": "13.7.0",
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.7.0.tgz",
@@ -31885,6 +28471,12 @@
}
}
},
+ "pure-rand": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz",
+ "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==",
+ "dev": true
+ },
"qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
@@ -31931,28 +28523,12 @@
"performance-now": "^2.1.0"
}
},
- "railroad-diagrams": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
- "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==",
- "dev": true
- },
"ramda": {
"version": "0.28.0",
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz",
"integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==",
"dev": true
},
- "randexp": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
- "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
- "dev": true,
- "requires": {
- "discontinuous-range": "1.0.0",
- "ret": "~0.1.10"
- }
- },
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -32179,15 +28755,6 @@
"moment": ">=1.6.0"
}
},
- "react-native-url-polyfill": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz",
- "integrity": "sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==",
- "dev": true,
- "requires": {
- "whatwg-url-without-unicode": "8.0.0-3"
- }
- },
"react-outside-click-handler": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/react-outside-click-handler/-/react-outside-click-handler-1.3.0.tgz",
@@ -32238,36 +28805,6 @@
"resolved": "https://registry.npmjs.org/react-resize-aware/-/react-resize-aware-3.1.2.tgz",
"integrity": "sha512-sBtMIEy/9oI+Xf2o7IdWdkTokpZSPo9TWn60gqWKPG3BXg44Rg3FCIMiIjmgvRUF4eQptw6pqYTUhYwkeVSxXA=="
},
- "react-shallow-renderer": {
- "version": "16.15.0",
- "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
- "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==",
- "dev": true,
- "requires": {
- "object-assign": "^4.1.1",
- "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "react-test-renderer": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz",
- "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==",
- "dev": true,
- "requires": {
- "object-assign": "^4.1.1",
- "react-is": "^17.0.2",
- "react-shallow-renderer": "^16.13.1",
- "scheduler": "^0.20.2"
- },
- "dependencies": {
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- }
- }
- },
"react-transition-group": {
"version": "4.4.5",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
@@ -32323,44 +28860,6 @@
"global-cache": "^1.2.1"
}
},
- "read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
- "dev": true,
- "requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
- },
- "dependencies": {
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true
- }
- }
- },
- "read-pkg-up": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
- "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
- "dev": true,
- "requires": {
- "find-up": "^3.0.0",
- "read-pkg": "^3.0.0"
- }
- },
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@@ -32399,12 +28898,6 @@
"picomatch": "^2.2.1"
}
},
- "readline-sync": {
- "version": "1.4.10",
- "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
- "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
- "dev": true
- },
"reakit": {
"version": "1.3.11",
"resolved": "https://registry.npmjs.org/reakit/-/reakit-1.3.11.tgz",
@@ -32438,15 +28931,6 @@
"reakit-utils": "^0.15.2"
}
},
- "realpath-native": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
- "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==",
- "dev": true,
- "requires": {
- "util.promisify": "^1.0.0"
- }
- },
"rechoir": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
@@ -32528,12 +29012,6 @@
"functions-have-names": "^1.2.2"
}
},
- "regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
- "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
- "dev": true
- },
"regexpu-core": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz",
@@ -32844,79 +29322,6 @@
"is-finite": "^1.0.0"
}
},
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
- "dev": true
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
- }
- }
- },
- "request-promise-core": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
- "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.19"
- }
- },
- "request-promise-native": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
- "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
- "dev": true,
- "requires": {
- "request-promise-core": "1.1.4",
- "stealthy-require": "^1.1.1",
- "tough-cookie": "^2.3.3"
- }
- },
"requestidlecallback": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/requestidlecallback/-/requestidlecallback-0.3.0.tgz",
@@ -32985,18 +29390,18 @@
}
},
"resolve-cwd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
- "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
"requires": {
- "resolve-from": "^3.0.0"
+ "resolve-from": "^5.0.0"
},
"dependencies": {
"resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
}
}
@@ -33083,16 +29488,6 @@
"inherits": "^2.0.1"
}
},
- "rst-selector-parser": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz",
- "integrity": "sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==",
- "dev": true,
- "requires": {
- "lodash.flattendeep": "^4.4.0",
- "nearley": "^2.7.10"
- }
- },
"rsvp": {
"version": "4.8.5",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
@@ -33156,12 +29551,6 @@
"resolved": "https://registry.npmjs.org/rungen/-/rungen-0.3.2.tgz",
"integrity": "sha512-zWl10xu2D7zoR8zSC2U6bg5bYF6T/Wk7rxwp8IPaJH7f0Ge21G03kNHVgHR7tyVkSSfAOG0Rqf/Cl38JftSmtw=="
},
- "rx": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
- "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==",
- "dev": true
- },
"rxjs": {
"version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
@@ -33267,21 +29656,6 @@
"neo-async": "^2.6.2"
}
},
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
- },
- "saxes": {
- "version": "3.1.11",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
- "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
- "dev": true,
- "requires": {
- "xmlchars": "^2.1.1"
- }
- },
"scheduler": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
@@ -33642,12 +30016,6 @@
}
}
},
- "shellwords": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
- "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
- "dev": true
- },
"showdown": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz",
@@ -33711,17 +30079,6 @@
"integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
"dev": true
},
- "slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- }
- },
"snake-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
@@ -34004,18 +30361,6 @@
"integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
"dev": true
},
- "spawnd": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-4.4.0.tgz",
- "integrity": "sha512-jLPOfB6QOEgMOQY15Z6+lwZEhH3F5ncXxIaZ7WHPIapwNNLyjrs61okj3VJ3K6tmP5TZ6cO0VAu9rEY4MD4YQg==",
- "dev": true,
- "requires": {
- "exit": "^0.1.2",
- "signal-exit": "^3.0.2",
- "tree-kill": "^1.2.2",
- "wait-port": "^0.2.7"
- }
- },
"spdx-correct": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
@@ -34102,23 +30447,6 @@
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
},
- "sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
"ssri": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
@@ -34135,9 +30463,9 @@
"dev": true
},
"stack-utils": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz",
- "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+ "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
"dev": true,
"requires": {
"escape-string-regexp": "^2.0.0"
@@ -34190,12 +30518,6 @@
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
},
- "stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==",
- "dev": true
- },
"store2": {
"version": "2.14.2",
"resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz",
@@ -34250,28 +30572,28 @@
"dev": true
},
"string-length": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
- "integrity": "sha512-Qka42GGrS8Mm3SZ+7cH8UXiIWI867/b/Z/feQSpQx/rbfB8UGknGEZVaUQMOUVj+soY6NpWAxily63HI1OckVQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
"dev": true,
"requires": {
- "astral-regex": "^1.0.0",
- "strip-ansi": "^4.0.0"
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
- "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "ansi-regex": "^5.0.1"
}
}
}
@@ -34324,17 +30646,6 @@
"es-abstract": "^1.20.4"
}
},
- "string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
"string.prototype.trimend": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
@@ -35077,18 +31388,6 @@
"integrity": "sha512-qImOD23aDfnIDNqlG1NOehdB9IYsn1V9oByPjKY1nakv2MQYCEMyX033/q+aEtYCpmYK1cv2+NTmlH+ra6GA5A==",
"dev": true
},
- "table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
- "dev": true,
- "requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
- }
- },
"taffydb": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
@@ -35277,15 +31576,14 @@
}
},
"test-exclude": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
- "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"dev": true,
"requires": {
- "glob": "^7.1.3",
- "minimatch": "^3.0.4",
- "read-pkg-up": "^4.0.0",
- "require-main-filename": "^2.0.0"
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
}
},
"text-table": {
@@ -35294,12 +31592,6 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
- "throat": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
- "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==",
- "dev": true
- },
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@@ -35421,22 +31713,15 @@
"dev": true
},
"tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- },
- "tr46": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
- "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
+ "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
"dev": true,
"requires": {
- "punycode": "^2.1.0"
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
}
},
"tree-kill": {
@@ -35549,26 +31834,11 @@
"integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
"dev": true
},
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
"turbo-combine-reducers": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/turbo-combine-reducers/-/turbo-combine-reducers-1.0.2.tgz",
"integrity": "sha512-gHbdMZlA6Ym6Ur5pSH/UWrNQMIM9IqTH6SoL1DbHpqEdQ8i+cFunSmSlFykPt0eGQwZ4d/XTHOl74H0/kFBVWw=="
},
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- },
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
@@ -36064,19 +32334,6 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"dev": true
},
- "util.promisify": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz",
- "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "for-each": "^0.3.3",
- "has-symbols": "^1.0.1",
- "object.getownpropertydescriptors": "^2.1.1"
- }
- },
"utila": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
@@ -36112,22 +32369,14 @@
"dev": true
},
"v8-to-istanbul": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
- "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz",
+ "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==",
"dev": true,
"requires": {
+ "@jridgewell/trace-mapping": "^0.3.12",
"@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
- "dev": true
- }
+ "convert-source-map": "^1.6.0"
}
},
"validate-npm-package-license": {
@@ -36151,17 +32400,6 @@
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"dev": true
},
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
"vfile": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
@@ -36213,65 +32451,6 @@
"browser-process-hrtime": "^1.0.0"
}
},
- "w3c-xmlserializer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
- "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
- "dev": true,
- "requires": {
- "domexception": "^1.0.1",
- "webidl-conversions": "^4.0.2",
- "xml-name-validator": "^3.0.0"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- }
- }
- },
- "wait-on": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz",
- "integrity": "sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==",
- "dev": true,
- "requires": {
- "@hapi/joi": "^15.0.3",
- "core-js": "^2.6.5",
- "minimist": "^1.2.0",
- "request": "^2.88.0",
- "rx": "^4.1.0"
- },
- "dependencies": {
- "core-js": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
- "dev": true
- }
- }
- },
- "wait-port": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.14.tgz",
- "integrity": "sha512-kIzjWcr6ykl7WFbZd0TMae8xovwqcqbx6FM9l+7agOgUByhzdjfzZBPK2CPufldTOMxbUivss//Sh9MFawmPRQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "commander": "^3.0.2",
- "debug": "^4.1.1"
- },
- "dependencies": {
- "commander": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
- "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
- "dev": true
- }
- }
- },
"walker": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
@@ -36514,12 +32693,6 @@
"integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==",
"dev": true
},
- "webidl-conversions": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
- "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
- "dev": true
- },
"webpack": {
"version": "5.75.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz",
@@ -37081,36 +33254,6 @@
"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
"dev": true
},
- "whatwg-url": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
- "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
- "dev": true,
- "requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- },
- "dependencies": {
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- }
- }
- },
- "whatwg-url-without-unicode": {
- "version": "8.0.0-3",
- "resolved": "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz",
- "integrity": "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==",
- "dev": true,
- "requires": {
- "buffer": "^5.4.3",
- "punycode": "^2.1.1",
- "webidl-conversions": "^5.0.0"
- }
- },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -37332,24 +33475,14 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
- "write": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
- "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
- "dev": true,
- "requires": {
- "mkdirp": "^0.5.1"
- }
- },
"write-file-atomic": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz",
- "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
+ "signal-exit": "^3.0.7"
}
},
"ws": {
diff --git a/package.json b/package.json
index 697ce5b4a6..457169f453 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "google-listings-and-ads",
"title": "Google Listings and Ads",
- "version": "2.5.2",
+ "version": "2.5.3",
"description": "google-listings-and-ads",
"author": "Automattic",
"license": "GPL-3.0-or-later",
@@ -51,24 +51,25 @@
"devDependencies": {
"@hapi/h2o2": "^9.1.0",
"@hapi/hapi": "^20.2.2",
+ "@playwright/test": "^1.33.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^12.1.5",
"@testing-library/react-hooks": "^8.0.1",
"@testing-library/user-event": "^13.5.0",
"@types/jest": "^27.5.2",
- "@types/puppeteer": "^5.4.6",
"@woocommerce/dependency-extraction-webpack-plugin": "^2.0.0",
- "@woocommerce/e2e-environment": "^0.3.0",
- "@woocommerce/e2e-utils": "^0.2.0",
"@woocommerce/eslint-plugin": "^1.2.0",
"@wordpress/dependency-extraction-webpack-plugin": "^4.4.0",
"@wordpress/env": "^8.4.0",
+ "@wordpress/jest-preset-default": "^11.9.0",
"@wordpress/prettier-config": "^1.1.2",
"@wordpress/scripts": "^24.6.0",
+ "axios": "^1.4.0",
"bundlewatch": "^0.3.3",
"eslint": "^7.17.0",
"eslint-import-resolver-webpack": "^0.13.1",
"eslint-plugin-import": "^2.25.4",
+ "jest": "^29.6.2",
"jest-environment-jsdom": "^27.5.1",
"path-browserify": "^1.0.1",
"prettier": "npm:wp-prettier@2.2.1-beta-1",
@@ -89,10 +90,7 @@
"check-licenses": "wp-scripts check-licenses",
"dev": "NODE_ENV=development wp-scripts build",
"dewps:woo": "node bin/list-woo-dewped.mjs",
- "doc:hooks": "php bin/HooksDocsGenerator.php",
"doc:tracking": "woocommerce-grow-jsdoc ./js/src",
- "docker:up": "WP_VERSION=6.1 npx wc-e2e docker:up",
- "docker:down": "npx wc-e2e docker:down",
"format": "wp-scripts format",
"i18n": "WP_CLI_PHP_ARGS='-d memory_limit=2048M' ./vendor/bin/wp i18n make-pot ./ languages/$npm_package_name.pot --slug=$npm_package_name --domain=$npm_package_name --exclude=bin,data,js/src,node_modules,tests,vendor",
"lint": "npm run lint:php && npm run lint:js && npm run lint:css",
@@ -111,12 +109,14 @@
"storybook": "storybook",
"storybook:build": "storybook build",
"storybook:deploy": "storybook deploy",
- "test:e2e": "npx wc-e2e test:e2e",
- "test:e2e-dev": "npx wc-e2e test:e2e-dev",
+ "test:e2e": "npx playwright test --config=tests/e2e/config/playwright.config.js",
+ "test:e2e-dev": "npx playwright test --config=tests/e2e/config/playwright.config.js --debug",
"test:js": "wp-scripts test-unit-js --coverage",
"test:js:watch": "npm run test:js -- --watch",
"test-proxy": "node ./tests/proxy",
- "wp-env": "wp-env"
+ "wp-env": "wp-env",
+ "wp-env:up": "npm run -- wp-env start --update",
+ "wp-env:down": "npm run wp-env stop"
},
"config": {
"wp_org_slug": "google-listings-and-ads",
@@ -139,7 +139,7 @@
},
{
"path": "./js/build/index.js",
- "maxSize": "248 kB"
+ "maxSize": "209.08 kB"
},
{
"path": "./js/build/*.css",
@@ -147,11 +147,11 @@
},
{
"path": "./js/build/index.css",
- "maxSize": "15.4 kB"
+ "maxSize": "12.55 kB"
},
{
"path": "./google-listings-and-ads.zip",
- "maxSize": "11.8 mB",
+ "maxSize": "8.48 mB",
"compression": "none"
}
],
diff --git a/readme.txt b/readme.txt
index 1bd3cd2d55..b967e15225 100644
--- a/readme.txt
+++ b/readme.txt
@@ -5,7 +5,7 @@ Requires at least: 5.9
Tested up to: 6.3
Requires PHP: 7.4
Requires PHP Architecture: 64 Bits
-Stable tag: 2.5.2
+Stable tag: 2.5.3
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -111,6 +111,18 @@ Yes, you can run both at the same time, and we recommend it! In the US, advertis
== Changelog ==
+= 2.5.3 - 2023-08-22 =
+* Dev - Add Action for Hooks Documentation Generator.
+* Dev - Allow E2E testing with Release Candidates.
+* Dev - Convert E2E tests from Puppeteer to Playwright.
+* Dev - Externalize all WordPress JavaScript packages via Dependency Extraction Webpack Plugin (DEWP).
+* Dev - Fetch WooCommerce L-1 versions for our tests.
+* Dev - Remove legacy HooksDocsGenerator.php file.
+* Dev - Use `merge-trunk-develop-pr` action.
+* Tweak - Apply consistent admin theme colors to common UI components.
+* Update - Google API Client Services package to v0.312.
+* Update - Google Ads library to API V14. (package v19.2.0).
+
= 2.5.2 - 2023-08-08 =
* Fix - Remove `add_woocommerce_extended_task_list_item` and `remove_woocommerce_extended_task_list_item` hooks.
* Fix - WordPress 6.3 compatibility: The forms and image selector may not work due to "setImmediate" deprecation.
@@ -126,8 +138,4 @@ Yes, you can run both at the same time, and we recommend it! In the US, advertis
* Tweak - Ability to filter products for syncing via `gla_filter_product_query_args` apply_filters hook.
* Update - Show validation errors on steps 2 and 3 of the onboarding flow when unable to continue.
-= 2.5.0 - 2023-07-18 =
-* Tweak - Add Tip with information with Campaign assets are imported.
-* Tweak - Provide more detailed error reasons when unable to complete site verification for the Google Merchant Center account being connected in the onboarding flow.
-
[See changelog for all versions](https://raw.githubusercontent.com/woocommerce/google-listings-and-ads/trunk/changelog.txt).
diff --git a/src/API/Google/Ads.php b/src/API/Google/Ads.php
index 5bc53c1279..c209a1b8dc 100644
--- a/src/API/Google/Ads.php
+++ b/src/API/Google/Ads.php
@@ -13,11 +13,11 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsInterface;
use Exception;
use Google\Ads\GoogleAds\Util\FieldMasks;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
-use Google\Ads\GoogleAds\V13\Enums\AccessRoleEnum\AccessRole;
-use Google\Ads\GoogleAds\V13\Enums\MerchantCenterLinkStatusEnum\MerchantCenterLinkStatus;
-use Google\Ads\GoogleAds\V13\Resources\MerchantCenterLink;
-use Google\Ads\GoogleAds\V13\Services\MerchantCenterLinkOperation;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
+use Google\Ads\GoogleAds\V14\Enums\AccessRoleEnum\AccessRole;
+use Google\Ads\GoogleAds\V14\Enums\MerchantCenterLinkStatusEnum\MerchantCenterLinkStatus;
+use Google\Ads\GoogleAds\V14\Resources\MerchantCenterLink;
+use Google\Ads\GoogleAds\V14\Services\MerchantCenterLinkOperation;
use Google\ApiCore\ApiException;
use Google\ApiCore\ValidationException;
diff --git a/src/API/Google/AdsAsset.php b/src/API/Google/AdsAsset.php
index 94c70ea3b3..ccb7d99b71 100644
--- a/src/API/Google/AdsAsset.php
+++ b/src/API/Google/AdsAsset.php
@@ -6,15 +6,15 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Google\Ads\GoogleAdsClient;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareTrait;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareInterface;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
-use Google\Ads\GoogleAds\V13\Enums\AssetTypeEnum\AssetType;
-use Google\Ads\GoogleAds\V13\Resources\Asset;
-use Google\Ads\GoogleAds\V13\Services\AssetOperation;
-use Google\Ads\GoogleAds\V13\Services\MutateOperation;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
-use Google\Ads\GoogleAds\V13\Common\TextAsset;
-use Google\Ads\GoogleAds\V13\Common\ImageAsset;
-use Google\Ads\GoogleAds\V13\Common\CallToActionAsset;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Enums\AssetTypeEnum\AssetType;
+use Google\Ads\GoogleAds\V14\Resources\Asset;
+use Google\Ads\GoogleAds\V14\Services\AssetOperation;
+use Google\Ads\GoogleAds\V14\Services\MutateOperation;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
+use Google\Ads\GoogleAds\V14\Common\TextAsset;
+use Google\Ads\GoogleAds\V14\Common\ImageAsset;
+use Google\Ads\GoogleAds\V14\Common\CallToActionAsset;
use Automattic\WooCommerce\GoogleListingsAndAds\Proxies\WP;
use Google\ApiCore\ApiException;
use Exception;
diff --git a/src/API/Google/AdsAssetGroup.php b/src/API/Google/AdsAssetGroup.php
index 3d5a1be9f9..e6cf9c4244 100644
--- a/src/API/Google/AdsAssetGroup.php
+++ b/src/API/Google/AdsAssetGroup.php
@@ -8,17 +8,17 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Google\Ads\GoogleAdsClient;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareTrait;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
-use Google\Ads\GoogleAds\V13\Enums\AssetGroupStatusEnum\AssetGroupStatus;
-use Google\Ads\GoogleAds\V13\Enums\ListingGroupFilterTypeEnum\ListingGroupFilterType;
-use Google\Ads\GoogleAds\V13\Enums\ListingGroupFilterVerticalEnum\ListingGroupFilterVertical;
-use Google\Ads\GoogleAds\V13\Resources\AssetGroup;
-use Google\Ads\GoogleAds\V13\Resources\AssetGroupListingGroupFilter;
-use Google\Ads\GoogleAds\V13\Services\AssetGroupListingGroupFilterOperation;
-use Google\Ads\GoogleAds\V13\Services\AssetGroupOperation;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
-use Google\Ads\GoogleAds\V13\Services\MutateOperation;
-use Google\Ads\GoogleAds\V13\Services\AssetGroupServiceClient;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
+use Google\Ads\GoogleAds\V14\Enums\AssetGroupStatusEnum\AssetGroupStatus;
+use Google\Ads\GoogleAds\V14\Enums\ListingGroupFilterTypeEnum\ListingGroupFilterType;
+use Google\Ads\GoogleAds\V14\Enums\ListingGroupFilterVerticalEnum\ListingGroupFilterVertical;
+use Google\Ads\GoogleAds\V14\Resources\AssetGroup;
+use Google\Ads\GoogleAds\V14\Resources\AssetGroupListingGroupFilter;
+use Google\Ads\GoogleAds\V14\Services\AssetGroupListingGroupFilterOperation;
+use Google\Ads\GoogleAds\V14\Services\AssetGroupOperation;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Services\MutateOperation;
+use Google\Ads\GoogleAds\V14\Services\AssetGroupServiceClient;
use Google\ApiCore\ApiException;
use Google\ApiCore\ValidationException;
use Google\Protobuf\FieldMask;
diff --git a/src/API/Google/AdsAssetGroupAsset.php b/src/API/Google/AdsAssetGroupAsset.php
index 8fbe89af45..b5bedda5c6 100644
--- a/src/API/Google/AdsAssetGroupAsset.php
+++ b/src/API/Google/AdsAssetGroupAsset.php
@@ -7,13 +7,13 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Google\Ads\GoogleAdsClient;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareTrait;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
-use Google\Ads\GoogleAds\V13\Resources\AssetGroupAsset;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Resources\AssetGroupAsset;
use Google\ApiCore\ApiException;
use Automattic\WooCommerce\GoogleListingsAndAds\Exception\ExceptionWithResponseData;
-use Google\Ads\GoogleAds\V13\Services\MutateOperation;
-use Google\Ads\GoogleAds\V13\Services\AssetGroupAssetOperation;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
+use Google\Ads\GoogleAds\V14\Services\MutateOperation;
+use Google\Ads\GoogleAds\V14\Services\AssetGroupAssetOperation;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
@@ -22,7 +22,7 @@
* Class AdsAssetGroupAsset
*
* Use to get assets group assets for specific asset groups.
- * https://developers.google.com/google-ads/api/fields/v13/asset_group_asset
+ * https://developers.google.com/google-ads/api/fields/v14/asset_group_asset
*
* @since 2.4.0
*
diff --git a/src/API/Google/AdsCampaign.php b/src/API/Google/AdsCampaign.php
index 9e0827603d..88fbd0c39a 100644
--- a/src/API/Google/AdsCampaign.php
+++ b/src/API/Google/AdsCampaign.php
@@ -16,15 +16,15 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Proxies\WC;
use Google\Ads\GoogleAds\Util\FieldMasks;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
-use Google\Ads\GoogleAds\V13\Common\MaximizeConversionValue;
-use Google\Ads\GoogleAds\V13\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType;
-use Google\Ads\GoogleAds\V13\Resources\Campaign;
-use Google\Ads\GoogleAds\V13\Resources\Campaign\ShoppingSetting;
-use Google\Ads\GoogleAds\V13\Services\CampaignServiceClient;
-use Google\Ads\GoogleAds\V13\Services\CampaignOperation;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
-use Google\Ads\GoogleAds\V13\Services\MutateOperation;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
+use Google\Ads\GoogleAds\V14\Common\MaximizeConversionValue;
+use Google\Ads\GoogleAds\V14\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType;
+use Google\Ads\GoogleAds\V14\Resources\Campaign;
+use Google\Ads\GoogleAds\V14\Resources\Campaign\ShoppingSetting;
+use Google\Ads\GoogleAds\V14\Services\CampaignServiceClient;
+use Google\Ads\GoogleAds\V14\Services\CampaignOperation;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Services\MutateOperation;
use Google\ApiCore\ApiException;
use Google\ApiCore\ValidationException;
use Exception;
diff --git a/src/API/Google/AdsCampaignBudget.php b/src/API/Google/AdsCampaignBudget.php
index 4147399ed8..49bb44c0ee 100644
--- a/src/API/Google/AdsCampaignBudget.php
+++ b/src/API/Google/AdsCampaignBudget.php
@@ -9,11 +9,11 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareTrait;
use Google\Ads\GoogleAds\Util\FieldMasks;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
-use Google\Ads\GoogleAds\V13\Resources\CampaignBudget;
-use Google\Ads\GoogleAds\V13\Services\CampaignBudgetOperation;
-use Google\Ads\GoogleAds\V13\Services\CampaignBudgetServiceClient;
-use Google\Ads\GoogleAds\V13\Services\MutateOperation;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
+use Google\Ads\GoogleAds\V14\Resources\CampaignBudget;
+use Google\Ads\GoogleAds\V14\Services\CampaignBudgetOperation;
+use Google\Ads\GoogleAds\V14\Services\CampaignBudgetServiceClient;
+use Google\Ads\GoogleAds\V14\Services\MutateOperation;
use Google\ApiCore\ValidationException;
use Exception;
diff --git a/src/API/Google/AdsCampaignCriterion.php b/src/API/Google/AdsCampaignCriterion.php
index ee5140b3ce..a89d6cb1a1 100644
--- a/src/API/Google/AdsCampaignCriterion.php
+++ b/src/API/Google/AdsCampaignCriterion.php
@@ -3,12 +3,12 @@
namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Google;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
-use Google\Ads\GoogleAds\V13\Common\LocationInfo;
-use Google\Ads\GoogleAds\V13\Enums\CampaignCriterionStatusEnum\CampaignCriterionStatus;
-use Google\Ads\GoogleAds\V13\Resources\CampaignCriterion;
-use Google\Ads\GoogleAds\V13\Services\CampaignCriterionOperation;
-use Google\Ads\GoogleAds\V13\Services\MutateOperation;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
+use Google\Ads\GoogleAds\V14\Common\LocationInfo;
+use Google\Ads\GoogleAds\V14\Enums\CampaignCriterionStatusEnum\CampaignCriterionStatus;
+use Google\Ads\GoogleAds\V14\Resources\CampaignCriterion;
+use Google\Ads\GoogleAds\V14\Services\CampaignCriterionOperation;
+use Google\Ads\GoogleAds\V14\Services\MutateOperation;
/**
* Class AdsCampaignCriterion
diff --git a/src/API/Google/AdsConversionAction.php b/src/API/Google/AdsConversionAction.php
index 0cfedacff6..3fc67c6fa8 100644
--- a/src/API/Google/AdsConversionAction.php
+++ b/src/API/Google/AdsConversionAction.php
@@ -8,18 +8,18 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareTrait;
use Exception;
-use Google\Ads\GoogleAds\V13\Common\TagSnippet;
-use Google\Ads\GoogleAds\V13\Enums\ConversionActionCategoryEnum\ConversionActionCategory;
-use Google\Ads\GoogleAds\V13\Enums\ConversionActionStatusEnum\ConversionActionStatus;
-use Google\Ads\GoogleAds\V13\Enums\ConversionActionTypeEnum\ConversionActionType;
-use Google\Ads\GoogleAds\V13\Enums\TrackingCodePageFormatEnum\TrackingCodePageFormat;
-use Google\Ads\GoogleAds\V13\Enums\TrackingCodeTypeEnum\TrackingCodeType;
-use Google\Ads\GoogleAds\V13\Resources\ConversionAction;
-use Google\Ads\GoogleAds\V13\Resources\ConversionAction\ValueSettings;
-use Google\Ads\GoogleAds\V13\Services\ConversionActionOperation;
-use Google\Ads\GoogleAds\V13\Services\ConversionActionServiceClient;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
-use Google\Ads\GoogleAds\V13\Services\MutateConversionActionResult;
+use Google\Ads\GoogleAds\V14\Common\TagSnippet;
+use Google\Ads\GoogleAds\V14\Enums\ConversionActionCategoryEnum\ConversionActionCategory;
+use Google\Ads\GoogleAds\V14\Enums\ConversionActionStatusEnum\ConversionActionStatus;
+use Google\Ads\GoogleAds\V14\Enums\ConversionActionTypeEnum\ConversionActionType;
+use Google\Ads\GoogleAds\V14\Enums\TrackingCodePageFormatEnum\TrackingCodePageFormat;
+use Google\Ads\GoogleAds\V14\Enums\TrackingCodeTypeEnum\TrackingCodeType;
+use Google\Ads\GoogleAds\V14\Resources\ConversionAction;
+use Google\Ads\GoogleAds\V14\Resources\ConversionAction\ValueSettings;
+use Google\Ads\GoogleAds\V14\Services\ConversionActionOperation;
+use Google\Ads\GoogleAds\V14\Services\ConversionActionServiceClient;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Services\MutateConversionActionResult;
use Google\ApiCore\ApiException;
/**
diff --git a/src/API/Google/AdsReport.php b/src/API/Google/AdsReport.php
index 14ace611d4..a9a3f8a31b 100644
--- a/src/API/Google/AdsReport.php
+++ b/src/API/Google/AdsReport.php
@@ -15,8 +15,8 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsAwareTrait;
use DateTime;
-use Google\Ads\GoogleAds\V13\Common\Segments;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Common\Segments;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
use Google\ApiCore\ApiException;
/**
diff --git a/src/API/Google/AssetFieldType.php b/src/API/Google/AssetFieldType.php
index 3c6000088b..4bd55657d6 100644
--- a/src/API/Google/AssetFieldType.php
+++ b/src/API/Google/AssetFieldType.php
@@ -3,14 +3,14 @@
namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Google;
-use Google\Ads\GoogleAds\V13\Enums\AssetFieldTypeEnum\AssetFieldType as AdsAssetFieldType;
+use Google\Ads\GoogleAds\V14\Enums\AssetFieldTypeEnum\AssetFieldType as AdsAssetFieldType;
use Automattic\WooCommerce\GoogleListingsAndAds\Internal\StatusMapping;
use UnexpectedValueException;
/**
* Mapping between Google and internal AssetFieldTypes
- * https://developers.google.com/google-ads/api/reference/rpc/v13/AssetFieldTypeEnum.AssetFieldType
+ * https://developers.google.com/google-ads/api/reference/rpc/v14/AssetFieldTypeEnum.AssetFieldType
*
* @since 2.4.0
*
diff --git a/src/API/Google/BillingSetupStatus.php b/src/API/Google/BillingSetupStatus.php
index b88403fbd6..b50105d05b 100644
--- a/src/API/Google/BillingSetupStatus.php
+++ b/src/API/Google/BillingSetupStatus.php
@@ -3,7 +3,7 @@
namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Google;
-use Google\Ads\GoogleAds\V13\Enums\BillingSetupStatusEnum\BillingSetupStatus as AdsBillingSetupStatus;
+use Google\Ads\GoogleAds\V14\Enums\BillingSetupStatusEnum\BillingSetupStatus as AdsBillingSetupStatus;
use Automattic\WooCommerce\GoogleListingsAndAds\Internal\StatusMapping;
/**
diff --git a/src/API/Google/CallToActionType.php b/src/API/Google/CallToActionType.php
index d080c528a8..e6d65e6cf8 100644
--- a/src/API/Google/CallToActionType.php
+++ b/src/API/Google/CallToActionType.php
@@ -3,13 +3,13 @@
namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Google;
-use Google\Ads\GoogleAds\V13\Enums\CallToActionTypeEnum\CallToActionType as AdsCallToActionType;
+use Google\Ads\GoogleAds\V14\Enums\CallToActionTypeEnum\CallToActionType as AdsCallToActionType;
use Automattic\WooCommerce\GoogleListingsAndAds\Internal\StatusMapping;
/**
* Mapping between Google and internal CallToActionType
- * https://developers.google.com/google-ads/api/reference/rpc/v13/CallToActionTypeEnum.CallToActionType
+ * https://developers.google.com/google-ads/api/reference/rpc/v14/CallToActionTypeEnum.CallToActionType
*
* @since 2.4.0
*
diff --git a/src/API/Google/CampaignStatus.php b/src/API/Google/CampaignStatus.php
index 00cdaa9c37..4bf8e53699 100644
--- a/src/API/Google/CampaignStatus.php
+++ b/src/API/Google/CampaignStatus.php
@@ -3,7 +3,7 @@
namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Google;
-use Google\Ads\GoogleAds\V13\Enums\CampaignStatusEnum\CampaignStatus as AdsCampaignStatus;
+use Google\Ads\GoogleAds\V14\Enums\CampaignStatusEnum\CampaignStatus as AdsCampaignStatus;
use Automattic\WooCommerce\GoogleListingsAndAds\Internal\StatusMapping;
/**
diff --git a/src/API/Google/CampaignType.php b/src/API/Google/CampaignType.php
index b77c59525a..f68202db4a 100644
--- a/src/API/Google/CampaignType.php
+++ b/src/API/Google/CampaignType.php
@@ -3,7 +3,7 @@
namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Google;
-use Google\Ads\GoogleAds\V13\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType as AdsCampaignType;
+use Google\Ads\GoogleAds\V14\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType as AdsCampaignType;
use Automattic\WooCommerce\GoogleListingsAndAds\Internal\StatusMapping;
/**
diff --git a/src/API/Google/ExceptionTrait.php b/src/API/Google/ExceptionTrait.php
index e015520e4d..1c069d80ea 100644
--- a/src/API/Google/ExceptionTrait.php
+++ b/src/API/Google/ExceptionTrait.php
@@ -54,7 +54,7 @@ protected function has_api_exception_error( ApiException $exception, string $err
* The following are the example sources of ApiException, GoogleServiceException,
* and other Exception in order:
*
- * @link https://github.com/googleads/google-ads-php/blob/v19.1.0/src/Google/Ads/GoogleAds/V13/Services/Gapic/CustomerServiceGapicClient.php#L359-L361
+ * @link https://github.com/googleads/google-ads-php/blob/v19.2.0/src/Google/Ads/GoogleAds/V14/Services/Gapic/CustomerServiceGapicClient.php#L391
* @link https://github.com/googleapis/google-api-php-client/blob/v2.15.0/src/Http/REST.php#L119-L135
* @link https://github.com/googleapis/google-api-php-client/blob/v2.15.0/src/Service/Resource.php#L86-L175
*
diff --git a/src/API/Google/MerchantMetrics.php b/src/API/Google/MerchantMetrics.php
index 4a8dc60ff5..09317ca309 100644
--- a/src/API/Google/MerchantMetrics.php
+++ b/src/API/Google/MerchantMetrics.php
@@ -14,7 +14,7 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Vendor\Google\Service\ShoppingContent\SearchResponse;
use DateTime;
use Exception;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
use Google\ApiCore\PagedListResponse;
/**
diff --git a/src/API/Google/Query/AdsQuery.php b/src/API/Google/Query/AdsQuery.php
index 7aadf3804a..0185915aba 100644
--- a/src/API/Google/Query/AdsQuery.php
+++ b/src/API/Google/Query/AdsQuery.php
@@ -5,7 +5,7 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Exception\InvalidProperty;
use Automattic\WooCommerce\GoogleListingsAndAds\Google\Ads\GoogleAdsClient;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;
diff --git a/src/API/Google/Query/AdsReportQuery.php b/src/API/Google/Query/AdsReportQuery.php
index 86e9a0cd83..eac9ae8683 100644
--- a/src/API/Google/Query/AdsReportQuery.php
+++ b/src/API/Google/Query/AdsReportQuery.php
@@ -3,7 +3,7 @@
namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Google\Query;
-use Google\Ads\GoogleAds\V13\Resources\ShoppingPerformanceView;
+use Google\Ads\GoogleAds\V14\Resources\ShoppingPerformanceView;
defined( 'ABSPATH' ) || exit;
diff --git a/src/API/Site/Controllers/Ads/AssetGroupController.php b/src/API/Site/Controllers/Ads/AssetGroupController.php
index 162f3378b0..1cfe928760 100644
--- a/src/API/Site/Controllers/Ads/AssetGroupController.php
+++ b/src/API/Site/Controllers/Ads/AssetGroupController.php
@@ -15,7 +15,7 @@
/**
* Class for handling API requests related to the asset groups.
- * See https://developers.google.com/google-ads/api/reference/rpc/v13/AssetGroup
+ * See https://developers.google.com/google-ads/api/reference/rpc/v14/AssetGroup
*
* @package Automattic\WooCommerce\GoogleListingsAndAds\API\Site\Controllers\Ads
*/
diff --git a/src/ConnectionTest.php b/src/ConnectionTest.php
index 64cc780278..4079495e70 100644
--- a/src/ConnectionTest.php
+++ b/src/ConnectionTest.php
@@ -625,28 +625,6 @@ protected function render_admin_page() {
-
- E2E testing
-
-
-
container->get( OptionsInterface::class );
- $options->update(
- OptionsInterface::ADS_CONVERSION_ACTION,
- [
- 'conversion_id' => 'AW-123456',
- 'conversion_label' => 'aB_cdEFgh',
- ]
- );
- $this->response .= 'Saved test conversion ID.';
- }
-
- if ( 'e2e-clear-conversion-id' === $_GET['action'] && check_admin_referer( 'e2e-clear-conversion-id' ) ) {
- /** @var OptionsInterface $options */
- $options = $this->container->get( OptionsInterface::class );
- $options->delete( OptionsInterface::ADS_CONVERSION_ACTION );
- $this->response .= 'Cleared conversion ID.';
- }
}
/**
diff --git a/src/Google/Ads/GoogleAdsClient.php b/src/Google/Ads/GoogleAdsClient.php
index 56c9f983a4..90060759e7 100644
--- a/src/Google/Ads/GoogleAdsClient.php
+++ b/src/Google/Ads/GoogleAdsClient.php
@@ -2,7 +2,7 @@
declare( strict_types=1 );
/**
- * Overrides vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/Lib/V13/GoogleAdsClient.php
+ * Overrides vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/Lib/V14/GoogleAdsClient.php
*
* phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
* phpcs:disable WordPress.NamingConventions.ValidVariableName
@@ -13,7 +13,7 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Vendor\Google\Auth\Credentials\InsecureCredentials;
use Automattic\WooCommerce\GoogleListingsAndAds\Vendor\Google\Auth\HttpHandler\HttpHandlerFactory;
use Automattic\WooCommerce\GoogleListingsAndAds\Vendor\GuzzleHttp\Client;
-use Google\Ads\GoogleAds\Util\V13\GoogleAdsFailures;
+use Google\Ads\GoogleAds\Util\V14\GoogleAdsFailures;
/**
* A Google Ads API client for handling common configuration and OAuth2 settings.
diff --git a/src/Google/Ads/ServiceClientFactoryTrait.php b/src/Google/Ads/ServiceClientFactoryTrait.php
index 5c4a3e81a3..a2e2c7ce8c 100644
--- a/src/Google/Ads/ServiceClientFactoryTrait.php
+++ b/src/Google/Ads/ServiceClientFactoryTrait.php
@@ -2,7 +2,7 @@
declare( strict_types=1 );
/**
- * Overrides vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/Lib/V13/ServiceClientFactoryTrait.php
+ * Overrides vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/Lib/V14/ServiceClientFactoryTrait.php
*
* phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
* phpcs:disable WordPress.NamingConventions.ValidVariableName
@@ -13,25 +13,25 @@
use Google\Ads\GoogleAds\Constants;
use Google\Ads\GoogleAds\Lib\ConfigurationTrait;
-use Google\Ads\GoogleAds\V13\Services\AccountBudgetServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AccountLinkServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AdGroupAdLabelServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AdGroupAdServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AdGroupCriterionServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AdGroupServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AdServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AssetGroupListingGroupFilterServiceClient;
-use Google\Ads\GoogleAds\V13\Services\AssetGroupServiceClient;
-use Google\Ads\GoogleAds\V13\Services\BillingSetupServiceClient;
-use Google\Ads\GoogleAds\V13\Services\CampaignBudgetServiceClient;
-use Google\Ads\GoogleAds\V13\Services\CampaignCriterionServiceClient;
-use Google\Ads\GoogleAds\V13\Services\CampaignServiceClient;
-use Google\Ads\GoogleAds\V13\Services\ConversionActionServiceClient;
-use Google\Ads\GoogleAds\V13\Services\CustomerServiceClient;
-use Google\Ads\GoogleAds\V13\Services\CustomerUserAccessServiceClient;
-use Google\Ads\GoogleAds\V13\Services\GeoTargetConstantServiceClient;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsServiceClient;
-use Google\Ads\GoogleAds\V13\Services\MerchantCenterLinkServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AccountBudgetServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AccountLinkServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AdGroupAdLabelServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AdGroupAdServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AdGroupCriterionServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AdGroupServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AdServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AssetGroupListingGroupFilterServiceClient;
+use Google\Ads\GoogleAds\V14\Services\AssetGroupServiceClient;
+use Google\Ads\GoogleAds\V14\Services\BillingSetupServiceClient;
+use Google\Ads\GoogleAds\V14\Services\CampaignBudgetServiceClient;
+use Google\Ads\GoogleAds\V14\Services\CampaignCriterionServiceClient;
+use Google\Ads\GoogleAds\V14\Services\CampaignServiceClient;
+use Google\Ads\GoogleAds\V14\Services\ConversionActionServiceClient;
+use Google\Ads\GoogleAds\V14\Services\CustomerServiceClient;
+use Google\Ads\GoogleAds\V14\Services\CustomerUserAccessServiceClient;
+use Google\Ads\GoogleAds\V14\Services\GeoTargetConstantServiceClient;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsServiceClient;
+use Google\Ads\GoogleAds\V14\Services\MerchantCenterLinkServiceClient;
/**
* Contains service client factory methods.
diff --git a/src/Hooks/README.md b/src/Hooks/README.md
index 74feb0d3dc..c97240cd60 100644
--- a/src/Hooks/README.md
+++ b/src/Hooks/README.md
@@ -1,6 +1,6 @@
# Hooks Reference
-A list of hooks, i.e `actions` and `filters`, that are defined or used in this project.
+A list of hooks, e.g. `actions` and `filters`, that are defined or used in this project.
## bulk_edit_save_post
@@ -8,7 +8,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- BulkEditInitializer.php#L36
+- [BulkEditInitializer.php#L36](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/BulkEdit/BulkEditInitializer.php#L36)
## woocommerce_admin_disabled
@@ -16,7 +16,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCAdminValidator.php#L38
+- [WCAdminValidator.php#L38](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Internal/Requirements/WCAdminValidator.php#L38)
## woocommerce_gla_ads_billing_setup_status
@@ -24,8 +24,8 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Ads.php#L112
-- Ads.php#L121
+- [Ads.php#L112](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Ads.php#L112)
+- [Ads.php#L121](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Ads.php#L121)
## woocommerce_gla_ads_client_exception
@@ -33,24 +33,24 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Ads.php#L73
-- Ads.php#L117
-- Ads.php#L172
-- Ads.php#L214
-- Ads.php#L298
-- AdsAssetGroup.php#L113
-- AdsAssetGroup.php#L304
-- AdsAssetGroup.php#L369
-- AdsAssetGroupAsset.php#L135
-- AdsAssetGroupAsset.php#L202
-- AdsCampaign.php#L127
-- AdsCampaign.php#L170
-- AdsCampaign.php#L230
-- AdsCampaign.php#L285
-- AdsCampaign.php#L319
-- AdsConversionAction.php#L97
-- AdsConversionAction.php#L143
-- AdsReport.php#L105
+- [Ads.php#L73](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Ads.php#L73)
+- [Ads.php#L117](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Ads.php#L117)
+- [Ads.php#L172](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Ads.php#L172)
+- [Ads.php#L214](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Ads.php#L214)
+- [Ads.php#L298](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Ads.php#L298)
+- [AdsCampaign.php#L127](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsCampaign.php#L127)
+- [AdsCampaign.php#L170](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsCampaign.php#L170)
+- [AdsCampaign.php#L230](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsCampaign.php#L230)
+- [AdsCampaign.php#L285](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsCampaign.php#L285)
+- [AdsCampaign.php#L319](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsCampaign.php#L319)
+- [AdsAssetGroup.php#L113](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsAssetGroup.php#L113)
+- [AdsAssetGroup.php#L304](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsAssetGroup.php#L304)
+- [AdsAssetGroup.php#L369](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsAssetGroup.php#L369)
+- [AdsReport.php#L105](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsReport.php#L105)
+- [AdsConversionAction.php#L97](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsConversionAction.php#L97)
+- [AdsConversionAction.php#L143](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsConversionAction.php#L143)
+- [AdsAssetGroupAsset.php#L135](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsAssetGroupAsset.php#L135)
+- [AdsAssetGroupAsset.php#L202](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsAssetGroupAsset.php#L202)
## woocommerce_gla_ads_setup_completed
@@ -58,24 +58,24 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- SetupCompleteController.php#L46
+- [SetupCompleteController.php#L46](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/Ads/SetupCompleteController.php#L46)
-## woocommerce_gla_attribute_applicable_product_types_$ATTRIBUTE_ID
+## woocommerce_gla_attribute_applicable_product_types_
**Type**: filter
**Used in**:
-- AttributeManager.php#L295
-- AttributesForm.php#L69
+- [AttributeManager.php#L295](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/Attributes/AttributeManager.php#L295)
+- [AttributesForm.php#L69](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/Product/Attributes/AttributesForm.php#L69)
-## woocommerce_gla_attribute_hidden_product_types_$ATTRIBUTE_ID
+## woocommerce_gla_attribute_hidden_product_types_
**Type**: filter
**Used in**:
-- AttributesForm.php#L74
+- [AttributesForm.php#L74](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/Product/Attributes/AttributesForm.php#L74)
## woocommerce_gla_attribute_mapping_sources
@@ -83,7 +83,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- IsFieldTrait.php#L31
+- [IsFieldTrait.php#L31](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/AttributeMapping/Traits/IsFieldTrait.php#L31)
## woocommerce_gla_attribute_mapping_sources_custom_attributes
@@ -91,7 +91,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- IsFieldTrait.php#L125
+- [IsFieldTrait.php#L125](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/AttributeMapping/Traits/IsFieldTrait.php#L125)
## woocommerce_gla_attribute_mapping_sources_global_attributes
@@ -99,7 +99,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- IsFieldTrait.php#L64
+- [IsFieldTrait.php#L64](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/AttributeMapping/Traits/IsFieldTrait.php#L64)
## woocommerce_gla_attribute_mapping_sources_product_fields
@@ -107,7 +107,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- IsFieldTrait.php#L115
+- [IsFieldTrait.php#L115](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/AttributeMapping/Traits/IsFieldTrait.php#L115)
## woocommerce_gla_attribute_mapping_sources_taxonomies
@@ -115,7 +115,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- IsFieldTrait.php#L65
+- [IsFieldTrait.php#L65](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/AttributeMapping/Traits/IsFieldTrait.php#L65)
## woocommerce_gla_attributes_tab_applicable_product_types
@@ -123,7 +123,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AttributesTab.php#L190
+- [AttributesTab.php#L190](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/Product/Attributes/AttributesTab.php#L190)
## woocommerce_gla_batch_deleted_products
@@ -131,7 +131,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L229
+- [ProductSyncer.php#L229](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L229)
## woocommerce_gla_batch_retry_delete_products
@@ -139,7 +139,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L354
+- [ProductSyncer.php#L354](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L354)
## woocommerce_gla_batch_retry_update_products
@@ -147,7 +147,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L298
+- [ProductSyncer.php#L298](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L298)
## woocommerce_gla_batch_updated_products
@@ -155,7 +155,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L143
+- [ProductSyncer.php#L143](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L143)
## woocommerce_gla_batched_job_size
@@ -163,8 +163,8 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AbstractBatchedActionSchedulerJob.php#L104
-- UpdateSyncableProductsCount.php#L74
+- [UpdateSyncableProductsCount.php#L74](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/UpdateSyncableProductsCount.php#L74)
+- [AbstractBatchedActionSchedulerJob.php#L104](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/AbstractBatchedActionSchedulerJob.php#L104)
## woocommerce_gla_bulk_update_coupon
@@ -172,7 +172,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponBulkEdit.php#L134
+- [CouponBulkEdit.php#L134](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/BulkEdit/CouponBulkEdit.php#L134)
## woocommerce_gla_conversion_action_name
@@ -180,7 +180,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AdsConversionAction.php#L66
+- [AdsConversionAction.php#L66](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/AdsConversionAction.php#L66)
## woocommerce_gla_coupons_delete_retry_on_failure
@@ -188,7 +188,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L437
+- [CouponSyncer.php#L437](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L437)
## woocommerce_gla_coupons_update_retry_on_failure
@@ -196,7 +196,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L399
+- [CouponSyncer.php#L399](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L399)
## woocommerce_gla_custom_merchant_issues
@@ -204,7 +204,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- MerchantStatuses.php#L435
+- [MerchantStatuses.php#L435](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantStatuses.php#L435)
## woocommerce_gla_debug_message
@@ -212,38 +212,38 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- MerchantCenterService.php#L305
-- MerchantStatuses.php#L334
-- MerchantStatuses.php#L357
-- ProductMetaQueryHelper.php#L92
-- ProductMetaQueryHelper.php#L123
-- BatchProductHelper.php#L208
-- BatchProductHelper.php#L231
-- ProductHelper.php#L459
-- ProductHelper.php#L491
-- ProductRepository.php#L304
-- ProductSyncer.php#L149
-- ProductSyncer.php#L159
-- ProductSyncer.php#L235
-- ProductSyncer.php#L245
-- SyncerHooks.php#L197
-- WCProductAdapter.php#L203
-- CouponHelper.php#L255
-- CouponHelper.php#L292
-- CouponSyncer.php#L102
-- CouponSyncer.php#L115
-- CouponSyncer.php#L140
-- CouponSyncer.php#L154
-- CouponSyncer.php#L171
-- CouponSyncer.php#L194
-- CouponSyncer.php#L259
-- CouponSyncer.php#L308
-- CouponSyncer.php#L327
-- SyncerHooks.php#L177
-- ActionSchedulerJobMonitor.php#L117
-- ActionSchedulerJobMonitor.php#L126
-- CleanupSyncedProducts.php#L74
-- IssuesController.php#L96
+- [IssuesController.php#L96](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/IssuesController.php#L96)
+- [WCProductAdapter.php#L203](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L203)
+- [ProductSyncer.php#L149](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L149)
+- [ProductSyncer.php#L159](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L159)
+- [ProductSyncer.php#L235](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L235)
+- [ProductSyncer.php#L245](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L245)
+- [ProductRepository.php#L304](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductRepository.php#L304)
+- [SyncerHooks.php#L197](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/SyncerHooks.php#L197)
+- [ProductHelper.php#L459](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductHelper.php#L459)
+- [ProductHelper.php#L491](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductHelper.php#L491)
+- [BatchProductHelper.php#L208](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/BatchProductHelper.php#L208)
+- [BatchProductHelper.php#L231](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/BatchProductHelper.php#L231)
+- [SyncerHooks.php#L177](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/SyncerHooks.php#L177)
+- [CouponHelper.php#L255](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponHelper.php#L255)
+- [CouponHelper.php#L292](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponHelper.php#L292)
+- [CouponSyncer.php#L102](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L102)
+- [CouponSyncer.php#L115](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L115)
+- [CouponSyncer.php#L140](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L140)
+- [CouponSyncer.php#L154](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L154)
+- [CouponSyncer.php#L171](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L171)
+- [CouponSyncer.php#L194](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L194)
+- [CouponSyncer.php#L259](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L259)
+- [CouponSyncer.php#L308](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L308)
+- [CouponSyncer.php#L327](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L327)
+- [MerchantStatuses.php#L334](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantStatuses.php#L334)
+- [MerchantStatuses.php#L357](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantStatuses.php#L357)
+- [MerchantCenterService.php#L305](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantCenterService.php#L305)
+- [ActionSchedulerJobMonitor.php#L117](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/ActionSchedulerJobMonitor.php#L117)
+- [ActionSchedulerJobMonitor.php#L126](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/ActionSchedulerJobMonitor.php#L126)
+- [CleanupSyncedProducts.php#L74](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/CleanupSyncedProducts.php#L74)
+- [ProductMetaQueryHelper.php#L92](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/DB/ProductMetaQueryHelper.php#L92)
+- [ProductMetaQueryHelper.php#L123](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/DB/ProductMetaQueryHelper.php#L123)
## woocommerce_gla_deleted_promotions
@@ -251,7 +251,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L321
+- [CouponSyncer.php#L321](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L321)
## woocommerce_gla_dimension_unit
@@ -259,7 +259,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L427
+- [WCProductAdapter.php#L427](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L427)
## woocommerce_gla_disable_gtag_tracking
@@ -267,7 +267,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- GlobalSiteTag.php#L463
+- [GlobalSiteTag.php#L464](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Google/GlobalSiteTag.php#L464)
## woocommerce_gla_enable_connection_test
@@ -275,7 +275,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ConnectionTest.php#L87
+- [ConnectionTest.php#L87](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/ConnectionTest.php#L87)
## woocommerce_gla_enable_debug_logging
@@ -283,7 +283,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- DebugLogger.php#L33
+- [DebugLogger.php#L33](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Logging/DebugLogger.php#L33)
## woocommerce_gla_enable_mcm
@@ -291,7 +291,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- GLAChannel.php#L75
+- [GLAChannel.php#L75](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MultichannelMarketing/GLAChannel.php#L75)
## woocommerce_gla_enable_reports
@@ -299,7 +299,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Admin.php#L250
+- [Admin.php#L250](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/Admin.php#L250)
## woocommerce_gla_error
@@ -307,23 +307,23 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductMetaQueryHelper.php#L139
-- BatchProductHelper.php#L248
-- ProductHelper.php#L351
-- ProductHelper.php#L567
-- ProductMetaHandler.php#L173
-- ProductSyncer.php#L301
-- ProductSyncer.php#L324
-- ProductSyncer.php#L357
-- ProductSyncer.php#L372
-- AttributeManager.php#L269
-- CouponMetaHandler.php#L220
-- CouponSyncer.php#L409
-- CouponSyncer.php#L447
-- CouponSyncer.php#L465
-- PHPView.php#L136
-- PHPView.php#L164
-- PHPView.php#L208
+- [PHPView.php#L136](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/View/PHPView.php#L136)
+- [PHPView.php#L164](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/View/PHPView.php#L164)
+- [PHPView.php#L208](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/View/PHPView.php#L208)
+- [ProductMetaHandler.php#L173](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductMetaHandler.php#L173)
+- [ProductSyncer.php#L301](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L301)
+- [ProductSyncer.php#L324](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L324)
+- [ProductSyncer.php#L357](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L357)
+- [ProductSyncer.php#L372](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L372)
+- [ProductHelper.php#L351](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductHelper.php#L351)
+- [ProductHelper.php#L567](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductHelper.php#L567)
+- [BatchProductHelper.php#L248](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/BatchProductHelper.php#L248)
+- [AttributeManager.php#L269](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/Attributes/AttributeManager.php#L269)
+- [CouponMetaHandler.php#L220](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponMetaHandler.php#L220)
+- [CouponSyncer.php#L409](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L409)
+- [CouponSyncer.php#L447](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L447)
+- [CouponSyncer.php#L465](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L465)
+- [ProductMetaQueryHelper.php#L139](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/DB/ProductMetaQueryHelper.php#L139)
## woocommerce_gla_exception
@@ -331,27 +331,27 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ScriptWithBuiltDependenciesAsset.php#L66
-- WooCommercePreOrders.php#L111
-- WooCommercePreOrders.php#L131
-- NoteInitializer.php#L74
-- NoteInitializer.php#L116
-- ProductSyncer.php#L134
-- ProductSyncer.php#L220
-- CouponSyncer.php#L202
-- CouponSyncer.php#L292
-- PHPView.php#L87
-- DateTime.php#L44
-- DateTime.php#L80
-- ChannelVisibilityMetaBox.php#L190
-- CouponChannelVisibilityMetaBox.php#L197
-- PluginUpdate.php#L75
-- GoogleServiceProvider.php#L223
-- ContactInformationController.php#L242
-- ProductVisibilityController.php#L193
-- SettingsSyncController.php#L79
-- Connection.php#L95
-- ClearProductStatsCache.php#L61
+- [PHPView.php#L87](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/View/PHPView.php#L87)
+- [Connection.php#L95](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Connection.php#L95)
+- [ContactInformationController.php#L242](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/ContactInformationController.php#L242)
+- [SettingsSyncController.php#L79](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/SettingsSyncController.php#L79)
+- [ProductVisibilityController.php#L193](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/ProductVisibilityController.php#L193)
+- [NoteInitializer.php#L74](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Notes/NoteInitializer.php#L74)
+- [NoteInitializer.php#L116](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Notes/NoteInitializer.php#L116)
+- [ClearProductStatsCache.php#L61](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Event/ClearProductStatsCache.php#L61)
+- [GoogleServiceProvider.php#L223](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Internal/DependencyManagement/GoogleServiceProvider.php#L223)
+- [ProductSyncer.php#L134](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L134)
+- [ProductSyncer.php#L220](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L220)
+- [ScriptWithBuiltDependenciesAsset.php#L66](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Assets/ScriptWithBuiltDependenciesAsset.php#L66)
+- [CouponSyncer.php#L202](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L202)
+- [CouponSyncer.php#L292](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L292)
+- [DateTime.php#L44](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/Input/DateTime.php#L44)
+- [DateTime.php#L80](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/Input/DateTime.php#L80)
+- [ChannelVisibilityMetaBox.php#L190](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/MetaBox/ChannelVisibilityMetaBox.php#L190)
+- [CouponChannelVisibilityMetaBox.php#L197](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/MetaBox/CouponChannelVisibilityMetaBox.php#L197)
+- [WooCommercePreOrders.php#L111](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Integration/WooCommercePreOrders.php#L111)
+- [WooCommercePreOrders.php#L131](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Integration/WooCommercePreOrders.php#L131)
+- [PluginUpdate.php#L75](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/Update/PluginUpdate.php#L75)
## woocommerce_gla_force_run_install
@@ -359,7 +359,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Installer.php#L82
+- [Installer.php#L82](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Installer.php#L82)
## woocommerce_gla_get_google_product_offer_id
@@ -367,7 +367,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L280
+- [WCProductAdapter.php#L280](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L280)
## woocommerce_gla_get_sync_ready_products_filter
@@ -375,7 +375,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductFilter.php#L61
+- [ProductFilter.php#L61](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductFilter.php#L61)
## woocommerce_gla_get_sync_ready_products_pre_filter
@@ -383,7 +383,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductFilter.php#L47
+- [ProductFilter.php#L47](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductFilter.php#L47)
## woocommerce_gla_get_wc_product_id
@@ -391,7 +391,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductHelper.php#L278
+- [ProductHelper.php#L278](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductHelper.php#L278)
## woocommerce_gla_guzzle_client_exception
@@ -399,20 +399,20 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- GoogleServiceProvider.php#L247
-- Connection.php#L70
-- Connection.php#L91
-- Connection.php#L126
-- Middleware.php#L80
-- Middleware.php#L178
-- Middleware.php#L228
-- Middleware.php#L273
-- Middleware.php#L344
-- Middleware.php#L394
-- Middleware.php#L418
-- Middleware.php#L452
-- Middleware.php#L552
-- Middleware.php#L611
+- [Connection.php#L70](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Connection.php#L70)
+- [Connection.php#L91](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Connection.php#L91)
+- [Connection.php#L126](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Connection.php#L126)
+- [Middleware.php#L80](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L80)
+- [Middleware.php#L178](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L178)
+- [Middleware.php#L228](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L228)
+- [Middleware.php#L273](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L273)
+- [Middleware.php#L344](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L344)
+- [Middleware.php#L394](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L394)
+- [Middleware.php#L418](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L418)
+- [Middleware.php#L452](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L452)
+- [Middleware.php#L552](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L552)
+- [Middleware.php#L611](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L611)
+- [GoogleServiceProvider.php#L247](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Internal/DependencyManagement/GoogleServiceProvider.php#L247)
## woocommerce_gla_guzzle_invalid_response
@@ -420,15 +420,15 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Connection.php#L66
-- Connection.php#L121
-- Middleware.php#L159
-- Middleware.php#L223
-- Middleware.php#L267
-- Middleware.php#L339
-- Middleware.php#L389
-- Middleware.php#L548
-- Middleware.php#L599
+- [Connection.php#L66](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Connection.php#L66)
+- [Connection.php#L121](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Connection.php#L121)
+- [Middleware.php#L159](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L159)
+- [Middleware.php#L223](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L223)
+- [Middleware.php#L267](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L267)
+- [Middleware.php#L339](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L339)
+- [Middleware.php#L389](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L389)
+- [Middleware.php#L548](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L548)
+- [Middleware.php#L599](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L599)
## woocommerce_gla_hidden_coupon_types
@@ -436,7 +436,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L378
+- [CouponSyncer.php#L378](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L378)
## woocommerce_gla_hidden_product_types
@@ -444,7 +444,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L275
+- [ProductSyncer.php#L275](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L275)
## woocommerce_gla_job_failure_rate_threshold
@@ -452,7 +452,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ActionSchedulerJobMonitor.php#L186
+- [ActionSchedulerJobMonitor.php#L186](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/ActionSchedulerJobMonitor.php#L186)
## woocommerce_gla_job_failure_timeframe
@@ -460,7 +460,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ActionSchedulerJobMonitor.php#L195
+- [ActionSchedulerJobMonitor.php#L195](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Jobs/ActionSchedulerJobMonitor.php#L195)
## woocommerce_gla_mapping_rules_change
@@ -468,9 +468,9 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AttributeMappingRulesController.php#L143
-- AttributeMappingRulesController.php#L166
-- AttributeMappingRulesController.php#L188
+- [AttributeMappingRulesController.php#L143](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/AttributeMapping/AttributeMappingRulesController.php#L143)
+- [AttributeMappingRulesController.php#L166](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/AttributeMapping/AttributeMappingRulesController.php#L166)
+- [AttributeMappingRulesController.php#L188](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/AttributeMapping/AttributeMappingRulesController.php#L188)
## woocommerce_gla_mc_account_review_lifetime
@@ -478,7 +478,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- RequestReviewStatuses.php#L146
+- [RequestReviewStatuses.php#L146](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Google/RequestReviewStatuses.php#L146)
## woocommerce_gla_mc_client_exception
@@ -486,14 +486,14 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Merchant.php#L92
-- Merchant.php#L140
-- Merchant.php#L172
-- Merchant.php#L191
-- Merchant.php#L247
-- Merchant.php#L292
-- Merchant.php#L354
-- MerchantReport.php#L95
+- [MerchantReport.php#L95](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/MerchantReport.php#L95)
+- [Merchant.php#L92](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L92)
+- [Merchant.php#L140](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L140)
+- [Merchant.php#L172](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L172)
+- [Merchant.php#L191](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L191)
+- [Merchant.php#L247](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L247)
+- [Merchant.php#L292](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L292)
+- [Merchant.php#L354](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L354)
## woocommerce_gla_mc_settings_sync
@@ -501,7 +501,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- SettingsSyncController.php#L69
+- [SettingsSyncController.php#L69](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/SettingsSyncController.php#L69)
## woocommerce_gla_mc_status_lifetime
@@ -509,7 +509,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- MerchantStatuses.php#L778
+- [MerchantStatuses.php#L778](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantStatuses.php#L778)
## woocommerce_gla_merchant_issue_override
@@ -517,7 +517,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- IssuesController.php#L86
+- [IssuesController.php#L86](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/IssuesController.php#L86)
## woocommerce_gla_merchant_status_google_ids_chunk
@@ -525,7 +525,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- MerchantStatuses.php#L191
+- [MerchantStatuses.php#L191](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantStatuses.php#L191)
## woocommerce_gla_merchant_status_presync_issues_chunk
@@ -533,32 +533,32 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- MerchantStatuses.php#L531
+- [MerchantStatuses.php#L531](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantStatuses.php#L531)
-## woocommerce_gla_options_deleted_$NAME
+## woocommerce_gla_options_deleted_
**Type**: action
**Used in**:
-- Options.php#L103
+- [Options.php#L103](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Options/Options.php#L103)
-## woocommerce_gla_options_updated_$NAME
+## woocommerce_gla_options_updated_
**Type**: action
**Used in**:
-- Options.php#L65
-- Options.php#L85
+- [Options.php#L65](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Options/Options.php#L65)
+- [Options.php#L85](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Options/Options.php#L85)
-## woocommerce_gla_prepared_response_$THIS->GET_ROUTE_NAME$REQUEST
+## woocommerce_gla_prepared_response_->GET_ROUTE_NAME
**Type**: filter
**Used in**:
-- BaseController.php#L158
+- [BaseController.php#L158](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/BaseController.php#L158)
## woocommerce_gla_product_attribute_types
@@ -566,16 +566,16 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AttributeManager.php#L243
+- [AttributeManager.php#L243](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/Attributes/AttributeManager.php#L243)
-## woocommerce_gla_product_attribute_value_$ATTRIBUTE_ID
+## woocommerce_gla_product_attribute_value_
**Type**: filter
**Used in**:
-- WCProductAdapter.php#L901
-- WCProductAdapter.php#L952
+- [WCProductAdapter.php#L901](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L901)
+- [WCProductAdapter.php#L952](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L952)
## woocommerce_gla_product_attribute_value_description
@@ -583,15 +583,15 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L348
+- [WCProductAdapter.php#L348](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L348)
-## woocommerce_gla_product_attribute_value_options_$ATTRIBUTE::get_id
+## woocommerce_gla_product_attribute_value_options_::get_id
**Type**: filter
**Used in**:
-- AttributesForm.php#L108
+- [AttributesForm.php#L108](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Admin/Product/Attributes/AttributesForm.php#L108)
## woocommerce_gla_product_attribute_value_price
@@ -599,7 +599,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L630
+- [WCProductAdapter.php#L630](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L630)
## woocommerce_gla_product_attribute_value_sale_price
@@ -607,7 +607,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L680
+- [WCProductAdapter.php#L680](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L680)
## woocommerce_gla_product_attribute_values
@@ -615,7 +615,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L167
+- [WCProductAdapter.php#L167](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L167)
## woocommerce_gla_product_description_apply_shortcodes
@@ -623,7 +623,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L317
+- [WCProductAdapter.php#L317](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L317)
## woocommerce_gla_product_property_value_is_virtual
@@ -631,7 +631,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L767
+- [WCProductAdapter.php#L767](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L767)
## woocommerce_gla_product_query_args
@@ -639,7 +639,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductRepository.php#L360
+- [ProductRepository.php#L360](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductRepository.php#L360)
## woocommerce_gla_products_delete_retry_on_failure
@@ -647,7 +647,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L353
+- [ProductSyncer.php#L353](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L353)
## woocommerce_gla_products_update_retry_on_failure
@@ -655,7 +655,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L297
+- [ProductSyncer.php#L297](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L297)
## woocommerce_gla_ready_for_syncing
@@ -663,7 +663,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- MerchantCenterService.php#L118
+- [MerchantCenterService.php#L118](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/MerchantCenterService.php#L118)
## woocommerce_gla_request_review_failure
@@ -671,9 +671,9 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- RequestReviewController.php#L110
-- RequestReviewController.php#L122
-- Middleware.php#L592
+- [Middleware.php#L592](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L592)
+- [RequestReviewController.php#L110](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/RequestReviewController.php#L110)
+- [RequestReviewController.php#L122](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Site/Controllers/MerchantCenter/RequestReviewController.php#L122)
## woocommerce_gla_request_review_response
@@ -681,7 +681,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Middleware.php#L545
+- [Middleware.php#L545](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L545)
## woocommerce_gla_retry_delete_coupons
@@ -689,7 +689,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L442
+- [CouponSyncer.php#L442](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L442)
## woocommerce_gla_retry_update_coupons
@@ -697,7 +697,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L404
+- [CouponSyncer.php#L404](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L404)
## woocommerce_gla_site_claim_failure
@@ -705,10 +705,10 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AccountService.php#L365
-- Merchant.php#L93
-- Middleware.php#L268
-- Middleware.php#L274
+- [Middleware.php#L268](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L268)
+- [Middleware.php#L274](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L274)
+- [Merchant.php#L93](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L93)
+- [AccountService.php#L365](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/AccountService.php#L365)
## woocommerce_gla_site_claim_overwrite_required
@@ -716,7 +716,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AccountService.php#L360
+- [AccountService.php#L360](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/AccountService.php#L360)
## woocommerce_gla_site_claim_success
@@ -724,8 +724,8 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- Merchant.php#L90
-- Middleware.php#L263
+- [Middleware.php#L263](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Middleware.php#L263)
+- [Merchant.php#L90](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/Merchant.php#L90)
## woocommerce_gla_site_url
@@ -733,7 +733,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- PluginHelper.php#L189
+- [PluginHelper.php#L189](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/PluginHelper.php#L189)
## woocommerce_gla_site_verify_failure
@@ -741,9 +741,9 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- SiteVerification.php#L58
-- SiteVerification.php#L66
-- SiteVerification.php#L87
+- [SiteVerification.php#L58](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/SiteVerification.php#L58)
+- [SiteVerification.php#L66](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/SiteVerification.php#L66)
+- [SiteVerification.php#L87](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/SiteVerification.php#L87)
## woocommerce_gla_site_verify_success
@@ -751,7 +751,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- SiteVerification.php#L85
+- [SiteVerification.php#L85](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/SiteVerification.php#L85)
## woocommerce_gla_supported_coupon_types
@@ -759,7 +759,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L365
+- [CouponSyncer.php#L365](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L365)
## woocommerce_gla_supported_product_types
@@ -767,7 +767,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductSyncer.php#L264
+- [ProductSyncer.php#L264](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductSyncer.php#L264)
## woocommerce_gla_sv_client_exception
@@ -775,8 +775,8 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- SiteVerification.php#L120
-- SiteVerification.php#L162
+- [SiteVerification.php#L120](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/SiteVerification.php#L120)
+- [SiteVerification.php#L162](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/API/Google/SiteVerification.php#L162)
## woocommerce_gla_tax_excluded
@@ -784,7 +784,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L591
+- [WCProductAdapter.php#L591](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L591)
## woocommerce_gla_updated_coupon
@@ -792,7 +792,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- CouponSyncer.php#L168
+- [CouponSyncer.php#L168](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Coupon/CouponSyncer.php#L168)
## woocommerce_gla_url_switch_required
@@ -800,7 +800,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AccountService.php#L445
+- [AccountService.php#L445](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/AccountService.php#L445)
## woocommerce_gla_url_switch_success
@@ -808,7 +808,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- AccountService.php#L468
+- [AccountService.php#L468](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/MerchantCenter/AccountService.php#L468)
## woocommerce_gla_use_short_description
@@ -816,7 +816,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L294
+- [WCProductAdapter.php#L294](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L294)
## woocommerce_gla_wcs_url
@@ -824,8 +824,8 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- PluginHelper.php#L174
-- PluginHelper.php#L178
+- [PluginHelper.php#L174](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/PluginHelper.php#L174)
+- [PluginHelper.php#L178](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/PluginHelper.php#L178)
## woocommerce_gla_weight_unit
@@ -833,7 +833,7 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- WCProductAdapter.php#L428
+- [WCProductAdapter.php#L428](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/WCProductAdapter.php#L428)
## woocommerce_hide_invisible_variations
@@ -841,5 +841,5 @@ A list of hooks, i.e `actions` and `filters`, that are defined or used in this p
**Used in**:
-- ProductHelper.php#L366
+- [ProductHelper.php#L366](https://github.com/woocommerce/google-listings-and-ads/blob/2bc2965822606f65d8a16041cf09f93e53a21bc4/src/Product/ProductHelper.php#L366)
diff --git a/src/Tracking/README.md b/src/Tracking/README.md
index ef3a0d39fa..42bbb24a4f 100644
--- a/src/Tracking/README.md
+++ b/src/Tracking/README.md
@@ -280,7 +280,7 @@ When a documentation link is clicked.
- [`GetStartedCard`](../../js/src/get-started-page/get-started-card/index.js#L23) with `{ context: 'get-started', linkId: 'wp-terms-of-service', href: 'https://wordpress.com/tos/' }`.
- [`GetStartedWithVideoCard`](../../js/src/get-started-page/get-started-with-video-card/index.js#L23) with `{ context: 'get-started-with-video', linkId: 'wp-terms-of-service', href: 'https://wordpress.com/tos/' }`.
- [`UnsupportedLanguage`](../../js/src/get-started-page/unsupported-notices/index.js#L30) with `{ context: 'get-started', link_id: 'supported-languages', href: 'https://support.google.com/merchants/answer/160637' }`
-- [`UnsupportedCountry`](../../js/src/get-started-page/unsupported-notices/index.js#L75) with `{ context: "get-started", link_id: "supported-countries" }`
+- [`UnsupportedCountry`](../../js/src/get-started-page/unsupported-notices/index.js#L73) with `{ context: "get-started", link_id: "supported-countries" }`
- [`IssuesTableDataModal`](../../js/src/product-feed/issues-table-card/issues-table-data-modal.js#L21) with { context: 'issues-data-table-modal' }
- [`ProductStatusHelpPopover`](../../js/src/product-feed/product-statistics/product-status-help-popover/index.js#L16) with `{ context: 'product-feed', link_id: 'product-sync-statuses', href: 'https://support.google.com/merchants/answer/160491' }`
- [`EditPhoneNumber`](../../js/src/settings/edit-phone-number.js#L29) with `{ context: "settings-phone-number", link_id: "contact-information-read-more", href: "https://docs.woocommerce.com/document/google-listings-and-ads/#contact-information" }`
diff --git a/tests/Tools/HelperTrait/GoogleAdsClientTrait.php b/tests/Tools/HelperTrait/GoogleAdsClientTrait.php
index 464516966d..e30f1885ce 100644
--- a/tests/Tools/HelperTrait/GoogleAdsClientTrait.php
+++ b/tests/Tools/HelperTrait/GoogleAdsClientTrait.php
@@ -10,50 +10,50 @@
use Automattic\WooCommerce\GoogleListingsAndAds\API\MicroTrait;
use Automattic\WooCommerce\GoogleListingsAndAds\Google\Ads\GoogleAdsClient;
use Exception;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
-use Google\Ads\GoogleAds\V13\Common\LocationInfo;
-use Google\Ads\GoogleAds\V13\Common\Metrics;
-use Google\Ads\GoogleAds\V13\Common\Segments;
-use Google\Ads\GoogleAds\V13\Common\TagSnippet;
-use Google\Ads\GoogleAds\V13\Common\ImageAsset;
-use Google\Ads\GoogleAds\V13\Common\TextAsset;
-use Google\Ads\GoogleAds\V13\Common\CallToActionAsset;
-use Google\Ads\GoogleAds\V13\Common\ImageDimension;
-use Google\Ads\GoogleAds\V13\Enums\AccessRoleEnum\AccessRole;
-use Google\Ads\GoogleAds\V13\Enums\CampaignStatusEnum\CampaignStatus as AdsCampaignStatus;
-use Google\Ads\GoogleAds\V13\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType as AdsCampaignType;
-use Google\Ads\GoogleAds\V13\Enums\AssetTypeEnum\AssetType;
-use Google\Ads\GoogleAds\V13\Enums\TrackingCodePageFormatEnum\TrackingCodePageFormat;
-use Google\Ads\GoogleAds\V13\Enums\TrackingCodeTypeEnum\TrackingCodeType;
-use Google\Ads\GoogleAds\V13\Resources\BillingSetup;
-use Google\Ads\GoogleAds\V13\Resources\Campaign;
-use Google\Ads\GoogleAds\V13\Resources\Asset;
-use Google\Ads\GoogleAds\V13\Resources\AssetGroup;
-use Google\Ads\GoogleAds\V13\Resources\AssetGroupAsset;
-use Google\Ads\GoogleAds\V13\Services\AssetGroupAssetOperation;
-use Google\Ads\GoogleAds\V13\Resources\CampaignBudget;
-use Google\Ads\GoogleAds\V13\Resources\CampaignCriterion;
-use Google\Ads\GoogleAds\V13\Resources\Campaign\ShoppingSetting;
-use Google\Ads\GoogleAds\V13\Resources\ConversionAction;
-use Google\Ads\GoogleAds\V13\Resources\Customer;
-use Google\Ads\GoogleAds\V13\Resources\CustomerUserAccess;
-use Google\Ads\GoogleAds\V13\Resources\MerchantCenterLink;
-use Google\Ads\GoogleAds\V13\Resources\ShoppingPerformanceView;
-use Google\Ads\GoogleAds\V13\Services\ConversionActionServiceClient;
-use Google\Ads\GoogleAds\V13\Services\CustomerServiceClient;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsServiceClient;
-use Google\Ads\GoogleAds\V13\Services\ListAccessibleCustomersResponse;
-use Google\Ads\GoogleAds\V13\Services\ListMerchantCenterLinksResponse;
-use Google\Ads\GoogleAds\V13\Services\MerchantCenterLinkServiceClient;
-use Google\Ads\GoogleAds\V13\Services\MutateCampaignResult;
-use Google\Ads\GoogleAds\V13\Services\MutateConversionActionResult;
-use Google\Ads\GoogleAds\V13\Services\MutateConversionActionsResponse;
-use Google\Ads\GoogleAds\V13\Services\MutateGoogleAdsResponse;
-use Google\Ads\GoogleAds\V13\Services\MutateOperationResponse;
-use Google\Ads\GoogleAds\V13\Services\MutateOperation;
-use Google\Ads\GoogleAds\V13\Services\MutateAssetGroupResult;
-use Google\Ads\GoogleAds\V13\Services\MutateAssetResult;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
+use Google\Ads\GoogleAds\V14\Common\LocationInfo;
+use Google\Ads\GoogleAds\V14\Common\Metrics;
+use Google\Ads\GoogleAds\V14\Common\Segments;
+use Google\Ads\GoogleAds\V14\Common\TagSnippet;
+use Google\Ads\GoogleAds\V14\Common\ImageAsset;
+use Google\Ads\GoogleAds\V14\Common\TextAsset;
+use Google\Ads\GoogleAds\V14\Common\CallToActionAsset;
+use Google\Ads\GoogleAds\V14\Common\ImageDimension;
+use Google\Ads\GoogleAds\V14\Enums\AccessRoleEnum\AccessRole;
+use Google\Ads\GoogleAds\V14\Enums\CampaignStatusEnum\CampaignStatus as AdsCampaignStatus;
+use Google\Ads\GoogleAds\V14\Enums\AdvertisingChannelTypeEnum\AdvertisingChannelType as AdsCampaignType;
+use Google\Ads\GoogleAds\V14\Enums\AssetTypeEnum\AssetType;
+use Google\Ads\GoogleAds\V14\Enums\TrackingCodePageFormatEnum\TrackingCodePageFormat;
+use Google\Ads\GoogleAds\V14\Enums\TrackingCodeTypeEnum\TrackingCodeType;
+use Google\Ads\GoogleAds\V14\Resources\BillingSetup;
+use Google\Ads\GoogleAds\V14\Resources\Campaign;
+use Google\Ads\GoogleAds\V14\Resources\Asset;
+use Google\Ads\GoogleAds\V14\Resources\AssetGroup;
+use Google\Ads\GoogleAds\V14\Resources\AssetGroupAsset;
+use Google\Ads\GoogleAds\V14\Services\AssetGroupAssetOperation;
+use Google\Ads\GoogleAds\V14\Resources\CampaignBudget;
+use Google\Ads\GoogleAds\V14\Resources\CampaignCriterion;
+use Google\Ads\GoogleAds\V14\Resources\Campaign\ShoppingSetting;
+use Google\Ads\GoogleAds\V14\Resources\ConversionAction;
+use Google\Ads\GoogleAds\V14\Resources\Customer;
+use Google\Ads\GoogleAds\V14\Resources\CustomerUserAccess;
+use Google\Ads\GoogleAds\V14\Resources\MerchantCenterLink;
+use Google\Ads\GoogleAds\V14\Resources\ShoppingPerformanceView;
+use Google\Ads\GoogleAds\V14\Services\ConversionActionServiceClient;
+use Google\Ads\GoogleAds\V14\Services\CustomerServiceClient;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsServiceClient;
+use Google\Ads\GoogleAds\V14\Services\ListAccessibleCustomersResponse;
+use Google\Ads\GoogleAds\V14\Services\ListMerchantCenterLinksResponse;
+use Google\Ads\GoogleAds\V14\Services\MerchantCenterLinkServiceClient;
+use Google\Ads\GoogleAds\V14\Services\MutateCampaignResult;
+use Google\Ads\GoogleAds\V14\Services\MutateConversionActionResult;
+use Google\Ads\GoogleAds\V14\Services\MutateConversionActionsResponse;
+use Google\Ads\GoogleAds\V14\Services\MutateGoogleAdsResponse;
+use Google\Ads\GoogleAds\V14\Services\MutateOperationResponse;
+use Google\Ads\GoogleAds\V14\Services\MutateOperation;
+use Google\Ads\GoogleAds\V14\Services\MutateAssetGroupResult;
+use Google\Ads\GoogleAds\V14\Services\MutateAssetResult;
use Google\ApiCore\ApiException;
use Google\ApiCore\Page;
use Google\ApiCore\PagedListResponse;
diff --git a/tests/Unit/API/Google/AdsAssetGroupAssetTest.php b/tests/Unit/API/Google/AdsAssetGroupAssetTest.php
index cf2ed77756..fcfa0f6792 100644
--- a/tests/Unit/API/Google/AdsAssetGroupAssetTest.php
+++ b/tests/Unit/API/Google/AdsAssetGroupAssetTest.php
@@ -10,8 +10,8 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Tools\HelperTrait\GoogleAdsClientTrait;
use PHPUnit\Framework\MockObject\MockObject;
use Automattic\WooCommerce\GoogleListingsAndAds\API\Google\AssetFieldType;
-use Google\Ads\GoogleAds\V13\Enums\AssetTypeEnum\AssetType;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
+use Google\Ads\GoogleAds\V14\Enums\AssetTypeEnum\AssetType;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
defined( 'ABSPATH' ) || exit;
diff --git a/tests/Unit/API/Google/AdsAssetGroupTest.php b/tests/Unit/API/Google/AdsAssetGroupTest.php
index c2edd1b8da..13f5568523 100644
--- a/tests/Unit/API/Google/AdsAssetGroupTest.php
+++ b/tests/Unit/API/Google/AdsAssetGroupTest.php
@@ -8,9 +8,9 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Options\OptionsInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Framework\UnitTest;
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Tools\HelperTrait\GoogleAdsClientTrait;
-use Google\Ads\GoogleAds\V13\Enums\AssetGroupStatusEnum\AssetGroupStatus;
-use Google\Ads\GoogleAds\V13\Enums\ListingGroupFilterTypeEnum\ListingGroupFilterType;
-use Google\Ads\GoogleAds\V13\Enums\ListingGroupFilterVerticalEnum\ListingGroupFilterVertical;
+use Google\Ads\GoogleAds\V14\Enums\AssetGroupStatusEnum\AssetGroupStatus;
+use Google\Ads\GoogleAds\V14\Enums\ListingGroupFilterTypeEnum\ListingGroupFilterType;
+use Google\Ads\GoogleAds\V14\Enums\ListingGroupFilterVerticalEnum\ListingGroupFilterVertical;
use PHPUnit\Framework\MockObject\MockObject;
use Google\ApiCore\ApiException;
use Automattic\WooCommerce\GoogleListingsAndAds\Exception\ExceptionWithResponseData;
diff --git a/tests/Unit/API/Google/AdsAssetTest.php b/tests/Unit/API/Google/AdsAssetTest.php
index 703f780d31..08bcb3f717 100644
--- a/tests/Unit/API/Google/AdsAssetTest.php
+++ b/tests/Unit/API/Google/AdsAssetTest.php
@@ -10,7 +10,7 @@
use PHPUnit\Framework\MockObject\MockObject;
use Automattic\WooCommerce\GoogleListingsAndAds\API\Google\AssetFieldType;
use Automattic\WooCommerce\GoogleListingsAndAds\API\Google\CallToActionType;
-use Google\Ads\GoogleAds\Util\V13\ResourceNames;
+use Google\Ads\GoogleAds\Util\V14\ResourceNames;
use Automattic\WooCommerce\GoogleListingsAndAds\Proxies\WP;
use Exception;
use WP_Error;
diff --git a/tests/Unit/API/Google/AdsCampaignCriterionTest.php b/tests/Unit/API/Google/AdsCampaignCriterionTest.php
index 791f0c78e7..cc3f566beb 100644
--- a/tests/Unit/API/Google/AdsCampaignCriterionTest.php
+++ b/tests/Unit/API/Google/AdsCampaignCriterionTest.php
@@ -6,7 +6,7 @@
use Automattic\WooCommerce\GoogleListingsAndAds\API\Google\AdsCampaignCriterion;
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Framework\UnitTest;
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Tools\HelperTrait\GoogleAdsClientTrait;
-use Google\Ads\GoogleAds\V13\Enums\CampaignCriterionStatusEnum\CampaignCriterionStatus;
+use Google\Ads\GoogleAds\V14\Enums\CampaignCriterionStatusEnum\CampaignCriterionStatus;
defined( 'ABSPATH' ) || exit;
diff --git a/tests/Unit/API/Google/AdsConversionActionTest.php b/tests/Unit/API/Google/AdsConversionActionTest.php
index 5f3571090f..99b4e5d8ae 100644
--- a/tests/Unit/API/Google/AdsConversionActionTest.php
+++ b/tests/Unit/API/Google/AdsConversionActionTest.php
@@ -8,7 +8,7 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Framework\UnitTest;
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Tools\HelperTrait\GoogleAdsClientTrait;
use Exception;
-use Google\Ads\GoogleAds\V13\Enums\ConversionActionStatusEnum\ConversionActionStatus;
+use Google\Ads\GoogleAds\V14\Enums\ConversionActionStatusEnum\ConversionActionStatus;
use Google\ApiCore\ApiException;
use PHPUnit\Framework\MockObject\MockObject;
diff --git a/tests/Unit/API/Google/AdsTest.php b/tests/Unit/API/Google/AdsTest.php
index e42580338f..a04fe8fa44 100644
--- a/tests/Unit/API/Google/AdsTest.php
+++ b/tests/Unit/API/Google/AdsTest.php
@@ -10,8 +10,8 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Framework\UnitTest;
use Automattic\WooCommerce\GoogleListingsAndAds\Tests\Tools\HelperTrait\GoogleAdsClientTrait;
use Exception;
-use Google\Ads\GoogleAds\V13\Enums\BillingSetupStatusEnum\BillingSetupStatus as AdsBillingSetupStatus;
-use Google\Ads\GoogleAds\V13\Enums\MerchantCenterLinkStatusEnum\MerchantCenterLinkStatus;
+use Google\Ads\GoogleAds\V14\Enums\BillingSetupStatusEnum\BillingSetupStatus as AdsBillingSetupStatus;
+use Google\Ads\GoogleAds\V14\Enums\MerchantCenterLinkStatusEnum\MerchantCenterLinkStatus;
use Google\ApiCore\ApiException;
use PHPUnit\Framework\MockObject\MockObject;
diff --git a/tests/Unit/API/Google/MerchantMetricsTest.php b/tests/Unit/API/Google/MerchantMetricsTest.php
index 181e8dbf12..cc73fda6b5 100644
--- a/tests/Unit/API/Google/MerchantMetricsTest.php
+++ b/tests/Unit/API/Google/MerchantMetricsTest.php
@@ -16,9 +16,9 @@
use Automattic\WooCommerce\GoogleListingsAndAds\Vendor\Google\Service\ShoppingContent\SearchResponse;
use Automattic\WooCommerce\GoogleListingsAndAds\Vendor\Google\Service\ShoppingContent\Resource\Reports;
use DateTime;
-use Google\Ads\GoogleAds\V13\Common\Metrics as AdMetrics;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsRow;
-use Google\Ads\GoogleAds\V13\Services\GoogleAdsServiceClient;
+use Google\Ads\GoogleAds\V14\Common\Metrics as AdMetrics;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsRow;
+use Google\Ads\GoogleAds\V14\Services\GoogleAdsServiceClient;
use Google\ApiCore\Page;
use Google\ApiCore\PagedListResponse;
use PHPUnit\Framework\MockObject\MockObject;
diff --git a/tests/e2e/bin/test-data.php b/tests/e2e/bin/test-data.php
new file mode 100644
index 0000000000..02fc9edaad
--- /dev/null
+++ b/tests/e2e/bin/test-data.php
@@ -0,0 +1,67 @@
+ 'POST',
+ 'callback' => __NAMESPACE__ . '\set_conversion_id',
+ 'permission_callback' => __NAMESPACE__ . '\permissions',
+ ],
+ [
+ 'methods' => 'DELETE',
+ 'callback' => __NAMESPACE__ . '\clear_conversion_id',
+ 'permission_callback' => __NAMESPACE__ . '\permissions',
+ ],
+ ],
+ );
+}
+
+/**
+ * Set the Ads Conversion Action to test values.
+ */
+function set_conversion_id() {
+ /** @var OptionsInterface $options */
+ $options = woogle_get_container()->get( OptionsInterface::class );
+ $options->update(
+ OptionsInterface::ADS_CONVERSION_ACTION,
+ [
+ 'conversion_id' => 'AW-123456',
+ 'conversion_label' => 'aB_cdEFgh',
+ ]
+ );
+}
+
+/**
+ * Clear a previously set Conversion Action.
+ */
+function clear_conversion_id() {
+ /** @var OptionsInterface $options */
+ $options = woogle_get_container()->get( OptionsInterface::class );
+ $options->delete( OptionsInterface::ADS_CONVERSION_ACTION );
+}
+
+/**
+ * Check permissions for API requests.
+ */
+function permissions() {
+ return current_user_can( 'manage_woocommerce' );
+}
diff --git a/tests/e2e/bin/test-env-setup.sh b/tests/e2e/bin/test-env-setup.sh
index ed48bb99d8..72d085ebfb 100755
--- a/tests/e2e/bin/test-env-setup.sh
+++ b/tests/e2e/bin/test-env-setup.sh
@@ -3,8 +3,14 @@
echo -e 'Activate twentytwentytwo theme \n'
wp-env run tests-cli wp theme activate twentytwentytwo
+echo -e 'Install WooCommerce \n'
+wp-env run tests-cli -- wp plugin install woocommerce --activate
+
+echo -e 'Activate Test Data utility plugin \n'
+wp-env run tests-cli -- wp plugin activate test-data
+
echo -e 'Update URL structure \n'
-wp-env run tests-cli wp rewrite structure '/%postname%/' --hard
+wp-env run tests-cli -- wp rewrite structure '/%postname%/' --hard
echo -e 'Add Customer user \n'
wp-env run tests-cli wp user create customer customer@woocommercee2etestsuite.com \
@@ -17,5 +23,5 @@ wp-env run tests-cli wp user create customer customer@woocommercee2etestsuite.co
echo -e 'Update Blog Name \n'
wp-env run tests-cli wp option update blogname 'WooCommerce E2E Test Suite'
-echo -e 'Create Ready Post \n'
-wp-env run tests-cli -- wp post create --post_type=page --post_status=publish --post_title='Ready'
+echo -e 'Adding basic WooCommerce settings... \n'
+wp-env run tests-cli wp wc payment_gateway update cod --enabled=1 --user=admin
diff --git a/tests/e2e/config/default.json b/tests/e2e/config/default.json
index ccfb98f0ae..be9f30094c 100644
--- a/tests/e2e/config/default.json
+++ b/tests/e2e/config/default.json
@@ -12,7 +12,8 @@
},
"products": {
"simple": {
- "name": "Simple product"
+ "name": "Simple product",
+ "regularPrice": 9.99
},
"variable": {
"name": "Variable Product with Three Attributes",
@@ -152,6 +153,7 @@
"addresssecondline": "addr 2",
"city": "San Francisco",
"state": "CA",
+ "statename": "California",
"postcode": "94107",
"phone": "123456789",
"email": "john.doe@example.com"
diff --git a/tests/e2e/config/jest-puppeteer.config.js b/tests/e2e/config/jest-puppeteer.config.js
deleted file mode 100644
index acccac77eb..0000000000
--- a/tests/e2e/config/jest-puppeteer.config.js
+++ /dev/null
@@ -1,15 +0,0 @@
-const { useE2EJestPuppeteerConfig } = require( '@woocommerce/e2e-environment' );
-
-// eslint-disable-next-line react-hooks/rules-of-hooks
-const puppeteerConfig = useE2EJestPuppeteerConfig( {
- launch: {
- browserContext: 'incognito',
- args: [ '--no-sandbox', '--incognito', '--window-size=1920,1080' ],
- defaultViewport: {
- width: 1280,
- height: 800,
- },
- },
-} );
-
-module.exports = puppeteerConfig;
diff --git a/tests/e2e/config/jest.config.js b/tests/e2e/config/jest.config.js
deleted file mode 100644
index e92a318f94..0000000000
--- a/tests/e2e/config/jest.config.js
+++ /dev/null
@@ -1,12 +0,0 @@
-const path = require( 'path' );
-const { useE2EJestConfig } = require( '@woocommerce/e2e-environment' );
-
-// eslint-disable-next-line react-hooks/rules-of-hooks
-const config = useE2EJestConfig( {
- moduleFileExtensions: [ 'js', 'ts' ],
- roots: [ path.resolve( __dirname, '../specs' ) ],
- testMatch: [ '**/*.(test|spec).(j|t)s', '*.(test|spec).(j|t)s' ],
- testTimeout: 30000,
-} );
-
-module.exports = config;
diff --git a/tests/e2e/config/playwright.config.js b/tests/e2e/config/playwright.config.js
new file mode 100644
index 0000000000..ae3720a15d
--- /dev/null
+++ b/tests/e2e/config/playwright.config.js
@@ -0,0 +1,66 @@
+const { defineConfig, devices } = require( '@playwright/test' );
+const { url } = require( './default.json' );
+
+module.exports = defineConfig( {
+ testDir: '../specs',
+
+ /* Maximum time in milliseconds one test can run for. */
+ timeout: 120 * 1000,
+
+ expect: {
+ /**
+ * Maximum time in milliseconds, expect() should wait for the condition to be met.
+ * For example in `await expect(locator).toHaveText();`
+ */
+ timeout: 20 * 1000,
+ },
+
+ /* Retry on CI only */
+ retries: process.env.CI ? 2 : 0,
+
+ /* Reporter to use. See https://playwright.dev/docs/test-reporters */
+ reporter: [
+ [ 'list' ],
+ [
+ 'html',
+ {
+ outputFolder: '../test-results/playwright-report',
+ open: 'never',
+ },
+ ],
+ ],
+
+ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
+ use: {
+ /* Maximum time in milliseconds, each action such as `click()` can take. Defaults to 0 (no limit). */
+ actionTimeout: 0,
+
+ /* Base URL to use in actions like `await page.goto('/')`. */
+ baseURL: url,
+
+ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
+ trace: 'retain-on-failure',
+
+ screenshot: 'only-on-failure',
+ stateDir: 'tests/e2e/test-results/storage/',
+ video: 'on-first-retry',
+ viewport: { width: 1280, height: 720 },
+ },
+
+ /* Configure projects for major browsers */
+ projects: [
+ {
+ name: 'chromium',
+ use: { ...devices[ 'Desktop Chrome' ] },
+ },
+ ],
+
+ /* Folder for test artifacts such as screenshots, videos, traces, etc. */
+ outputDir: '../test-results/report',
+
+ /* Global setup and teardown scripts. */
+ globalSetup: require.resolve( '../global-setup' ),
+
+ /* Maximum number of tests to run in parallel. */
+ maxFailures: 10,
+} );
diff --git a/tests/e2e/config/wp-cli.yml b/tests/e2e/config/wp-cli.yml
new file mode 100644
index 0000000000..3cf7565b3b
--- /dev/null
+++ b/tests/e2e/config/wp-cli.yml
@@ -0,0 +1,2 @@
+apache_modules:
+ - mod_rewrite
diff --git a/tests/e2e/docker/initialize.sh b/tests/e2e/docker/initialize.sh
deleted file mode 100755
index 7db4dbc694..0000000000
--- a/tests/e2e/docker/initialize.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-echo "Initializing WooCommerce E2E"
-
-# This is mainly the same script as the one in WooCommerce-Admin,
-# with additional tweak for GLA.
-
-# Turn off error display temporarily. This is to prevent deprecated function
-# notices from breaking the display of some screens and then E2E tests.
-# Message was for WC_Admin_Notes_Deactivate_Plugin usage in core WC.
-wp config set WP_DEBUG_DISPLAY false --raw
-wp config set JETPACK_AUTOLOAD_DEV true --raw
-wp plugin install woocommerce --activate
-
-# Install basic auth for API requests on http.
-wp plugin install https://github.com/WP-API/Basic-Auth/archive/master.zip --activate
-
-# GLA is automatically mapped to the docker container's plugins folder,
-# we just need to activate it here.
-wp plugin activate google-listings-and-ads
-
-# Activate twentytwentyone theme. Currently e2e tests wich Blcoks are not supported.
-wp theme activate twentytwentyone
-
-# GLA doesn't really need a customer account here,
-# but we are leaving it intact here just in case we want to run full WooCommerce core e2e test.
-wp user create customer customer@woocommercecoree2etestsuite.com --user_pass=password --role=customer --path=/var/www/html
-
-# Skip activation redirect, so it will not interrupt our tests.
-wp transient delete _wc_activation_redirect
-
-# Initialize pretty permalinks.
-wp rewrite structure /%postname%/
diff --git a/tests/e2e/global-setup.js b/tests/e2e/global-setup.js
new file mode 100644
index 0000000000..cef4fa7c63
--- /dev/null
+++ b/tests/e2e/global-setup.js
@@ -0,0 +1,81 @@
+const { chromium, expect } = require( '@playwright/test' );
+const { admin } = require( './config/default.json' ).users;
+const fs = require( 'fs' );
+
+/* eslint-disable no-console */
+module.exports = async ( config ) => {
+ const { stateDir, baseURL, userAgent } = config.projects[ 0 ].use;
+
+ console.log( `State Dir: ${ stateDir }` );
+ console.log( `Base URL: ${ baseURL }` );
+
+ // used throughout tests for authentication
+ process.env.ADMINSTATE = `${ stateDir }adminState.json`;
+
+ // Clear out the previous save states
+ try {
+ fs.unlinkSync( process.env.ADMINSTATE );
+ console.log( 'Admin state file deleted successfully.' );
+ } catch ( err ) {
+ if ( err.code === 'ENOENT' ) {
+ console.log( 'Admin state file does not exist.' );
+ } else {
+ console.error( 'Admin state file could not be deleted: ' + err );
+ }
+ }
+
+ // Pre-requisites
+ let adminLoggedIn = false;
+
+ // Specify user agent when running against an external test site to avoid getting HTTP 406 NOT ACCEPTABLE errors.
+ const contextOptions = { baseURL, userAgent };
+
+ // Create browser, browserContext, and page for customer and admin users
+ const browser = await chromium.launch();
+ const adminContext = await browser.newContext( contextOptions );
+ const adminPage = await adminContext.newPage();
+
+ // Sign in as admin user and save state
+ const adminRetries = 5;
+ for ( let i = 0; i < adminRetries; i++ ) {
+ try {
+ console.log( 'Trying to log-in as admin...' );
+ await adminPage.goto( `/wp-admin` );
+ await adminPage
+ .locator( 'input[name="log"]' )
+ .fill( admin.username );
+ await adminPage
+ .locator( 'input[name="pwd"]' )
+ .fill( admin.password );
+ await adminPage.locator( 'text=Log In' ).click();
+ await adminPage.waitForLoadState( 'networkidle' );
+ await adminPage.goto( `/wp-admin` );
+ await adminPage.waitForLoadState( 'domcontentloaded' );
+
+ await expect( adminPage.locator( 'div.wrap > h1' ) ).toHaveText(
+ 'Dashboard'
+ );
+ await adminPage
+ .context()
+ .storageState( { path: process.env.ADMINSTATE } );
+ console.log( 'Logged-in as admin successfully.' );
+ adminLoggedIn = true;
+ break;
+ } catch ( e ) {
+ console.warn(
+ `Admin log-in failed, Retrying... ${ i }/${ adminRetries }`
+ );
+ console.warn( e );
+ }
+ }
+
+ if ( ! adminLoggedIn ) {
+ console.error(
+ 'Cannot proceed e2e test, as admin login failed. Please check if the test site has been setup correctly.'
+ );
+ process.exit( 1 );
+ }
+
+ await adminContext.close();
+ await browser.close();
+};
diff --git a/tests/e2e/globalTypes.d.ts b/tests/e2e/globalTypes.d.ts
deleted file mode 100644
index 0139119fdf..0000000000
--- a/tests/e2e/globalTypes.d.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/* eslint-disable import/no-extraneous-dependencies */
-/* eslint-disable no-unused-vars */
-/**
- * External dependencies
- */
-import { Browser, Page } from 'puppeteer';
-
-declare global {
- const page: Page;
- const browser: Browser;
-}
-
-/**
- * Export as module.
- *
- * See:
- * https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-modifying-module-d-ts.html
- * https://medium.com/jspoint/typescript-type-declaration-files-4b29077c43
- */
-export {};
diff --git a/tests/e2e/specs/get-started.test.js b/tests/e2e/specs/get-started.test.js
index 2d10cde019..f58f5c427b 100644
--- a/tests/e2e/specs/get-started.test.js
+++ b/tests/e2e/specs/get-started.test.js
@@ -1,61 +1,46 @@
/**
* External dependencies
*/
-import {
- merchant, // eslint-disable-line import/named
-} from '@woocommerce/e2e-utils';
-
-describe( 'Merchant who is getting started', () => {
- beforeAll( async () => {
- await merchant.login();
- } );
-
- it( 'Clicks on the Marketing > GLA link, clicks on the call-to-action setup button to go to the Setup MC page, should get to the accounts setup', async () => {
- // hover at the marketing link to open popup submenu.
- const marketingLink = (
- await page.$x( "//a[contains(., 'Marketing')]" )
- )[ 0 ];
- await marketingLink.hover();
-
- // the submenu is in the DOM but not visible with the use of absolute positioning.
- // we wait for submenu to open by checking for "opensub" CSS class in Marketing menu item.
- await page.waitForSelector(
- 'li#toplevel_page_woocommerce-marketing.opensub'
- );
-
- // the submenu is now opened, the GLA sub menu item is now visible to the user,
- // we can call `click` now.
- const glaLink = (
- await page.$x( "//a[text()='Google Listings & Ads']" )
- )[ 0 ];
- await glaLink.click();
-
- await page.waitForNavigation();
- await expect( page.title() ).resolves.toContain(
- 'Google Listings & Ads'
- );
-
- // click on the call-to-action button.
- const setupButton = (
- await page.$x( "//a[text()='Start listing products →']" )
- )[ 0 ];
- await setupButton.click();
- await page.waitForNavigation();
-
- // Check we are in the Setup MC page.
- await expect(
- page.waitForXPath(
- "//*[text()='Get started with Google Listings & Ads']"
- )
- ).resolves.toBeTruthy();
-
- // There are some API calls running in the page before the steps are displayed.
- // Assert we eventually see the setup page Step 1 header.
- await expect(
- page.waitForXPath( "//*[text()='Set up your accounts']" )
- ).resolves.toBeTruthy();
-
- // Expect to land on the setup page URL.
- expect( page.url() ).toMatch( /path=%2Fgoogle%2Fsetup-mc/ );
- } );
+const { test, expect } = require( '@playwright/test' );
+
+test.use( { storageState: process.env.ADMINSTATE } );
+
+test( 'Merchant who is getting started clicks on the Marketing > GLA link, clicks on the call-to-action setup button to go to the Setup MC page, should get to the accounts setup', async ( {
+ page,
+} ) => {
+ await page.goto( '/wp-admin/' );
+
+ // hover at the marketing link to open popup submenu.
+ await page.locator( '.wp-menu-name' ).getByText( 'Marketing' ).hover();
+
+ // the submenu is in the DOM but not visible with the use of absolute positioning.
+ // we wait for submenu to open by checking for "opensub" CSS class in Marketing menu item.
+ await expect(
+ page.locator( 'li#toplevel_page_woocommerce-marketing.opensub' )
+ ).toBeVisible();
+
+ // the submenu is now opened, the GLA sub menu item is now visible to the user,
+ // we can call `click` now.
+ await page.getByRole( 'link', { name: 'Google Listings & Ads' } ).click();
+ await page.waitForLoadState( 'networkidle' );
+
+ await expect( page ).toHaveTitle( /Google Listings & Ads/ );
+
+ // click on the call-to-action button.
+ await page.getByText( 'Start listing products →' ).first().click();
+ await page.waitForLoadState( 'networkidle' );
+
+ // Check we are in the Setup MC page.
+ await expect(
+ page.getByText( 'Get started with Google Listings & Ads' )
+ ).toBeVisible();
+
+ // There are some API calls running in the page before the steps are displayed.
+ // Assert we eventually see the setup page Step 1 header.
+ await expect(
+ page.getByRole( 'heading', { name: 'Set up your accounts' } )
+ ).toBeVisible();
+
+ // Expect to land on the setup page URL.
+ expect( page.url() ).toMatch( /path=%2Fgoogle%2Fsetup-mc/ );
} );
diff --git a/tests/e2e/specs/gtag-events/gtag-events.test.js b/tests/e2e/specs/gtag-events/gtag-events.test.js
index cf4932d55c..300e90a083 100644
--- a/tests/e2e/specs/gtag-events/gtag-events.test.js
+++ b/tests/e2e/specs/gtag-events/gtag-events.test.js
@@ -1,57 +1,44 @@
/**
* External dependencies
*/
-import {
- createSimpleProduct,
- SHOP_PAGE, // eslint-disable-line import/named
- shopper, // eslint-disable-line import/named
- uiUnblocked,
- withRestApi, // eslint-disable-line import/named
-} from '@woocommerce/e2e-utils';
+const { test, expect } = require( '@playwright/test' );
/**
* Internal dependencies
*/
import {
+ createSimpleProduct,
+ setConversionID,
clearConversionID,
- saveConversionID,
-} from '../../utils/connection-test-page';
-import { getEventData, trackGtagEvent } from '../../utils/track-event';
+} from '../../utils/api';
import {
blockProductAddToCart,
- emptyCart,
+ checkout,
relatedProductAddToCart,
-} from '../../utils/cart';
+ singleProductAddToCart,
+} from '../../utils/customer';
import { createBlockShopPage } from '../../utils/block-page';
-import { goToSingleProduct } from '../../utils/visit-product-page';
+import { getEventData, trackGtagEvent } from '../../utils/track-event';
-const config = require( 'config' ); // eslint-disable-line import/no-extraneous-dependencies
-const productPrice = config.has( 'products.simple.price' )
- ? config.get( 'products.simple.price' )
- : '9.99';
+const config = require( '../../config/default' );
+const productPrice = config.products.simple.regularPrice;
let simpleProductID;
-describe( 'GTag events', () => {
- beforeAll( async () => {
- await saveConversionID();
- await createBlockShopPage();
+test.describe( 'GTag events', () => {
+ test.beforeAll( async () => {
+ await setConversionID();
simpleProductID = await createSimpleProduct();
-
- // Enable COD payment method
- await withRestApi.updatePaymentGateway(
- 'cod',
- { enabled: true },
- false
- );
} );
- afterAll( async () => {
+ test.afterAll( async () => {
await clearConversionID();
} );
- it( 'Global GTag snippet appears on a frontend page', async () => {
- await shopper.goToShop();
+ test( 'Global GTag snippet appears on a frontend page', async ( {
+ page,
+ } ) => {
+ await page.goto( 'shop' );
await expect(
page.$$eval( 'head', ( elements ) =>
@@ -62,17 +49,19 @@ describe( 'GTag events', () => {
).resolves.toBeTruthy();
} );
- it( 'Page view event is sent on a frontend page', async () => {
- const event = trackGtagEvent( 'page_view' );
+ test( 'Page view event is sent on a frontend page', async ( { page } ) => {
+ const event = trackGtagEvent( page, 'page_view' );
- await shopper.goToShop();
+ await page.goto( 'shop' );
await expect( event ).resolves.toBeTruthy();
} );
- it( 'View item event is sent on a single product page', async () => {
- const event = trackGtagEvent( 'view_item' );
+ test( 'View item event is sent on a single product page', async ( {
+ page,
+ } ) => {
+ const event = trackGtagEvent( page, 'view_item' );
- await goToSingleProduct( simpleProductID );
+ await page.goto( `?p=${ simpleProductID }` );
await event.then( ( request ) => {
const data = getEventData( request );
@@ -82,13 +71,16 @@ describe( 'GTag events', () => {
} );
} );
- it( 'Add to cart event is sent from a block shop page', async () => {
- const event = trackGtagEvent( 'add_to_cart' );
+ test( 'Add to cart event is sent from a block shop page', async ( {
+ page,
+ } ) => {
+ await createBlockShopPage();
+
+ const event = trackGtagEvent( page, 'add_to_cart' );
// Go to block shop page
- await page.goto( config.url + 'all-products-block/' );
-
- await blockProductAddToCart();
+ await page.goto( 'all-products-block' );
+ await blockProductAddToCart( page );
await event.then( ( request ) => {
const data = getEventData( request );
@@ -99,11 +91,12 @@ describe( 'GTag events', () => {
} );
} );
- it( 'Add to cart event is sent on a single product page', async () => {
- const event = trackGtagEvent( 'add_to_cart' );
+ test( 'Add to cart event is sent on a single product page', async ( {
+ page,
+ } ) => {
+ const event = trackGtagEvent( page, 'add_to_cart' );
- await goToSingleProduct( simpleProductID );
- await shopper.addToCart();
+ await singleProductAddToCart( page, simpleProductID );
await event.then( ( request ) => {
const data = getEventData( request );
@@ -114,12 +107,14 @@ describe( 'GTag events', () => {
} );
} );
- it( 'Add to cart event is sent from related product on single product page', async () => {
+ test( 'Add to cart event is sent from related product on single product page', async ( {
+ page,
+ } ) => {
await createSimpleProduct(); // Create an additional product for related to show up.
- const event = trackGtagEvent( 'add_to_cart' );
+ const event = trackGtagEvent( page, 'add_to_cart' );
- await goToSingleProduct( simpleProductID );
- const relatedProductID = await relatedProductAddToCart();
+ await page.goto( `?p=${ simpleProductID }` );
+ const relatedProductID = await relatedProductAddToCart( page );
await event.then( ( request ) => {
const data = getEventData( request );
@@ -130,14 +125,18 @@ describe( 'GTag events', () => {
} );
} );
- it( 'Add to cart event is sent from the shop page', async () => {
- const event = trackGtagEvent( 'add_to_cart' );
+ test( 'Add to cart event is sent from the shop page', async ( {
+ page,
+ } ) => {
+ const event = trackGtagEvent( page, 'add_to_cart' );
// Go to shop page (newest first)
- await page.goto( SHOP_PAGE + '?orderby=date', {
- waitUntil: 'networkidle0',
- } );
- await shopper.addToCartFromShopPage( simpleProductID );
+ await page.goto( 'shop?orderby=date' );
+ const addToCart = `[data-product_id="${ simpleProductID }"]`;
+ await page.locator( addToCart ).first().click();
+ await expect( page.locator( addToCart ).first() ).toHaveClass(
+ /added/
+ );
await event.then( ( request ) => {
const data = getEventData( request );
@@ -148,9 +147,13 @@ describe( 'GTag events', () => {
} );
} );
- it( 'Cart page view event is sent from the cart page', async () => {
- const event = trackGtagEvent( 'page_view' );
- await shopper.goToCart();
+ test( 'Cart page view event is sent from the cart page', async ( {
+ page,
+ } ) => {
+ await singleProductAddToCart( page, simpleProductID );
+
+ const event = trackGtagEvent( page, 'page_view' );
+ await page.goto( 'cart' );
await event.then( ( request ) => {
const data = getEventData( request );
@@ -159,44 +162,32 @@ describe( 'GTag events', () => {
} );
} );
- it( 'Conversion event is sent on order complete page', async () => {
- await emptyCart();
- await goToSingleProduct( simpleProductID );
- await shopper.addToCart();
+ test( 'Conversion event is sent on order complete page', async ( {
+ page,
+ } ) => {
+ await singleProductAddToCart( page, simpleProductID );
- await shopper.goToCheckout();
- await shopper.fillBillingDetails(
- config.get( 'addresses.customer.billing' )
- );
- await uiUnblocked();
-
- const event = trackGtagEvent( 'conversion' );
- await shopper.placeOrder();
+ const event = trackGtagEvent( page, 'conversion' );
+ await checkout( page );
await event.then( ( request ) => {
const data = getEventData( request );
- expect( data.value ).toEqual( productPrice );
+ expect( data.value ).toEqual( String( productPrice ) );
expect( data.currency_code ).toEqual( 'USD' );
} );
} );
- it( 'Purchase event is sent on order complete page', async () => {
- await emptyCart();
- await goToSingleProduct( simpleProductID );
- await shopper.addToCart();
-
- await shopper.goToCheckout();
- await shopper.fillBillingDetails(
- config.get( 'addresses.customer.billing' )
- );
- await uiUnblocked();
+ test( 'Purchase event is sent on order complete page', async ( {
+ page,
+ } ) => {
+ await singleProductAddToCart( page, simpleProductID );
- const event = trackGtagEvent( 'purchase' );
- await shopper.placeOrder();
+ const event = trackGtagEvent( page, 'purchase' );
+ await checkout( page );
await event.then( ( request ) => {
const data = getEventData( request );
- expect( data.value ).toEqual( productPrice );
+ expect( data.value ).toEqual( String( productPrice ) );
expect( data.ecomm_pagetype ).toEqual( 'purchase' );
expect( data.currency_code ).toEqual( 'USD' );
expect( data.country ).toEqual( 'US' );
diff --git a/tests/e2e/specs/setup-mc/step-1-accounts.test.js b/tests/e2e/specs/setup-mc/step-1-accounts.test.js
index 22f1568537..4d39804779 100644
--- a/tests/e2e/specs/setup-mc/step-1-accounts.test.js
+++ b/tests/e2e/specs/setup-mc/step-1-accounts.test.js
@@ -1,187 +1,137 @@
/**
* External dependencies
*/
-import {
- merchant, // eslint-disable-line import/named
-} from '@woocommerce/e2e-utils';
-/**
- * Internal dependencies
- */
-import { createURL } from '../../utils/create-url';
-import { visitGLAPage } from '../../utils/visit-gla-page';
-import { RequestMock } from '../../utils/request-mock';
+const { test, expect } = require( '@playwright/test' );
-const requestMock = new RequestMock();
+test.use( { storageState: process.env.ADMINSTATE } );
-describe( 'At setup page', () => {
- beforeAll( async () => {
- await merchant.login();
+test.describe( 'Merchant who is getting started', () => {
+ test.beforeEach( async ( { page } ) => {
+ // Go to the setup page short way - directly via URL.
+ await page.goto(
+ '/wp-admin/admin.php?page=wc-admin&path=%2Fgoogle%2Fsetup-mc'
+ );
+ await page.waitForLoadState( 'networkidle' );
} );
- afterAll( () => {
- requestMock.disconnect();
+
+ test( 'should see accounts step header, "Connect your WordPress.com account" & connect button', async ( {
+ page,
+ } ) => {
+ // Wait for API calls and the page to render.
+ await expect(
+ page.getByRole( 'heading', { name: 'Set up your accounts' } )
+ ).toBeVisible();
+
+ await expect(
+ page.getByText(
+ 'Connect the accounts required to use Google Listings & Ads.'
+ )
+ ).toBeVisible();
+
+ expect(
+ page.getByRole( 'button', { name: 'Connect' } ).first()
+ ).toBeEnabled();
} );
- afterEach( async function goToSetup() {
- requestMock.restore();
+ test( 'after clicking the "Connect your WordPress.com account" button, should send an API request to connect Jetpack, and redirect to the returned URL', async ( {
+ page,
+ baseURL,
+ } ) => {
+ // Mock Jetpack connect
+ await page.route( /\/wc\/gla\/jetpack\/connect\b/, ( route ) =>
+ route.fulfill( {
+ content: 'application/json',
+ headers: { 'Access-Control-Allow-Origin': '*' },
+ body: JSON.stringify( {
+ url: baseURL + 'auth_url',
+ } ),
+ } )
+ );
+
+ // Click the enabled connect button.
+ page.locator( "//button[text()='Connect'][not(@disabled)]" ).click();
+ await page.waitForLoadState( 'networkidle' );
+
+ // Expect the user to be redirected
+ await page.waitForURL( baseURL + 'auth_url' );
} );
+} );
- describe( 'Merchant who is getting started', () => {
- beforeEach( async function goToSetup() {
- // Go to the setup page short way - directly via URL.
- await visitGLAPage( { path: '/google/setup-mc' } );
- } );
-
- it( 'should see accounts step header, "Connect your WordPress.com account" & connect button', async () => {
- // Wait for API calls and the page to render.
- await expect(
- page.waitForXPath( "//*[text()='Set up your accounts']" )
- ).resolves.toBeTruthy();
-
- await expect(
- page.waitForXPath(
- "//*[text()='Connect the accounts required to use Google Listings & Ads.']"
- )
- ).resolves.toBeTruthy();
-
- expect(
- page.$x( "//button[text()='Connect'][not(@disabled)]" )
- ).toBeTruthy();
- } );
-
- describe( 'after clicking the "Connect your WordPress.com account" button', () => {
- let jetpackConnectMock;
-
- beforeEach( async function mockJetpackConnect() {
- await requestMock.observe( page );
-
- jetpackConnectMock = requestMock
- // Match "connect" not "connected".
- .mock( /\/wc\/gla\/jetpack\/connect\b/ )
- .mockImplementation( ( interceptedRequest ) => {
- // Mock connected
- interceptedRequest.respond( {
- content: 'application/json',
- headers: { 'Access-Control-Allow-Origin': '*' },
- body: JSON.stringify( {
- url: createURL( '', 'auth_url' ),
- } ),
- } );
- return true;
- } );
- } );
-
- it( 'should sent an API request to connect Jetpack, and redirect to the returned URL', async () => {
- // Wait for enabled button.
- const connectWPButton = await page.waitForXPath(
- "//button[text()='Connect'][not(@disabled)]"
- );
-
- // Click the button.
- await connectWPButton.click();
-
- // Wait for all XHRs and redirects.
- await page.waitForNavigation( { waitUntil: 'networkidle0' } );
-
- // Expect Jetpack call to be executed.
- expect( jetpackConnectMock ).toBeCalled();
- // Expect the user to be redirected
- expect( page.url() ).toEqual( createURL( '', 'auth_url' ) );
- } );
- } );
+test.describe( 'Merchant with Jetpack connected & Google not connected', () => {
+ test.beforeEach( async ( { page } ) => {
+ // Mock Jetpack as connected
+ await page.route( /\/wc\/gla\/jetpack\/connected\b/, ( route ) =>
+ route.fulfill( {
+ content: 'application/json',
+ headers: { 'Access-Control-Allow-Origin': '*' },
+ body: JSON.stringify( {
+ active: 'yes',
+ owner: 'yes',
+ displayName: 'testUser',
+ email: 'mail@example.com',
+ } ),
+ } )
+ );
+
+ // Mock google as not connected.
+ // When pending even WPORG will not render yet.
+ // If not mocked will fail and render nothing,
+ // as Jetpack is mocked only on the client-side.
+ await page.route( /\/wc\/gla\/google\/connected\b/, ( route ) =>
+ route.fulfill( {
+ content: 'application/json',
+ headers: { 'Access-Control-Allow-Origin': '*' },
+ body: JSON.stringify( {
+ active: 'no',
+ email: '',
+ } ),
+ } )
+ );
+
+ // Go to the setup page short way - directly via URL.
+ await page.goto(
+ '/wp-admin/admin.php?page=wc-admin&path=%2Fgoogle%2Fsetup-mc'
+ );
+
+ // Wait for API calls and the page to render.
+ await page.waitForLoadState( 'networkidle' );
+ page.getByRole( 'heading', { name: 'Set up your accounts' } );
} );
- describe( 'Merchant who has their Jetpack connected, but Google not yet connected', () => {
- beforeEach( async function goToSetup() {
- // Mock Jetpack as connected
- await requestMock.observe( page );
- requestMock
- .mock( /\/wc\/gla\/jetpack\/connected\b/ )
- .mockImplementation( ( interceptedRequest ) => {
- interceptedRequest.respond( {
- content: 'application/json',
- headers: { 'Access-Control-Allow-Origin': '*' },
- body: JSON.stringify( {
- active: 'yes',
- owner: 'yes',
- displayName: 'testUser',
- email: 'mail@example.com',
- } ),
- } );
- return true;
- } );
-
- // Mock google as not connected.
- // When pending even WPORG will not render yet.
- // If not mocked will fail and render nothing,
- // as Jetpack is mocked only on the client-side.
- requestMock
- .mock( /\/wc\/gla\/google\/connected\b/ )
- .mockImplementation( ( interceptedRequest ) => {
- interceptedRequest.respond( {
- content: 'application/json',
- headers: { 'Access-Control-Allow-Origin': '*' },
- body: JSON.stringify( {
- active: 'no',
- email: '',
- } ),
- } );
-
- return true;
- } );
-
- // Go to the setup page short way - directly via URL.
- await visitGLAPage( { path: '/google/setup-mc' } );
- // Wait for API calls and the page to render.
- await page.waitForXPath( "//*[text()='Set up your accounts']" );
- } );
-
- it( 'should see their WPORG email, "Google" title & connect button', async () => {
- await expect(
- page.waitForXPath( "//*[text()='mail@example.com']" )
- ).resolves.toBeTruthy();
-
- await expect(
- page.waitForXPath( "//*[text()='Google']" )
- ).resolves.toBeTruthy();
-
- await expect(
- page.$x( "//button[text()='Connect'][not(@disabled)]" )
- ).resolves.toBeTruthy();
- } );
-
- describe( 'after clicking the "Connect your Google account" button', () => {
- let googleConnectMock;
- beforeEach( async function mockGoogleConnect() {
- // Spy on Google connection request.
- googleConnectMock = requestMock
- .mock( /\/wc\/gla\/google\/connect\b/ )
- .mockImplementation( ( interceptedRequest ) => {
- interceptedRequest.respond( {
- content: 'application/json',
- headers: { 'Access-Control-Allow-Origin': '*' },
- body: JSON.stringify( {
- url: createURL( '', 'google_auth' ),
- } ),
- } );
- return true;
- } );
- } );
-
- it( 'should sent an API request to connect Google account, and redirect to the returned URL', async () => {
- const connectGoogleButton = await page.waitForXPath(
- "//button[text()='Connect'][not(@disabled)]"
- );
-
- // Click the button
- await connectGoogleButton.click();
-
- // Wait for all XHRs and redirects.
- await page.waitForNavigation( { waitUntil: 'networkidle0' } );
-
- // Expect Google call to be executed.
- expect( googleConnectMock ).toBeCalled();
- // Expect the user to be redirected
- expect( page.url() ).toEqual( createURL( '', 'google_auth' ) );
- } );
- } );
+
+ test( 'should see their WPORG email, "Google" title & connect button', async ( {
+ page,
+ } ) => {
+ await expect( page.getByText( 'mail@example.com' ) ).toBeVisible();
+
+ await expect(
+ page.getByText( 'Google', { exact: true } )
+ ).toBeVisible();
+
+ expect(
+ page.getByRole( 'button', { name: 'Connect' } ).first()
+ ).toBeEnabled();
+ } );
+
+ test( 'after clicking the "Connect your Google account" button should send an API request to connect Google account, and redirect to the returned URL', async ( {
+ page,
+ baseURL,
+ } ) => {
+ // Mock google connect.
+ await page.route( /\/wc\/gla\/google\/connect\b/, ( route ) =>
+ route.fulfill( {
+ content: 'application/json',
+ headers: { 'Access-Control-Allow-Origin': '*' },
+ body: JSON.stringify( {
+ url: baseURL + 'google_auth',
+ } ),
+ } )
+ );
+
+ // Click the enabled connect button
+ page.locator( "//button[text()='Connect'][not(@disabled)]" ).click();
+ await page.waitForLoadState( 'networkidle' );
+
+ // Expect the user to be redirected
+ await page.waitForURL( baseURL + 'google_auth' );
} );
} );
diff --git a/tests/e2e/utils/api.js b/tests/e2e/utils/api.js
new file mode 100644
index 0000000000..f009e491cb
--- /dev/null
+++ b/tests/e2e/utils/api.js
@@ -0,0 +1,63 @@
+/**
+ * Helper functions for requests sent through the REST API.
+ */
+
+/**
+ * External dependencies
+ */
+const axios = require( 'axios' ).default;
+
+/**
+ * Internal dependencies
+ */
+const config = require( '../config/default.json' );
+
+export function api( version ) {
+ const token = Buffer.from(
+ `${ config.users.admin.username }:${ config.users.admin.password }`,
+ 'utf8'
+ ).toString( 'base64' );
+
+ return axios.create( {
+ baseURL: `${ config.url }wp-json/${ version ?? 'wc/v3' }/`,
+ headers: {
+ 'Content-Type': 'application/json',
+ Authorization: `Basic ${ token }`,
+ },
+ } );
+}
+
+export function apiWP() {
+ return api( 'wp/v2' );
+}
+
+/**
+ * Creates a simple product.
+ *
+ * @return {number} Product ID of the created product.
+ */
+export async function createSimpleProduct() {
+ const product = config.products.simple;
+
+ return await api()
+ .post( 'products', {
+ name: product.name,
+ type: 'simple',
+ regular_price: String( product.regularPrice ),
+ } )
+ .then( ( response ) => response.data.id );
+}
+
+/**
+ * Set Test Conversion ID.
+ */
+export async function setConversionID() {
+ await api().post( 'gla-test/conversion-id' );
+}
+
+/**
+ * Clear Test Conversion ID.
+ */
+export async function clearConversionID() {
+ await api().delete( 'gla-test/conversion-id' );
+}
diff --git a/tests/e2e/utils/block-page.js b/tests/e2e/utils/block-page.js
index 8793efdff0..990f1a7bc5 100644
--- a/tests/e2e/utils/block-page.js
+++ b/tests/e2e/utils/block-page.js
@@ -2,12 +2,11 @@
* External dependencies
*/
import { cleanForSlug } from '@wordpress/url';
-const { dirname } = require( 'path' );
-const { readJson } = require( 'fs-extra' ); // eslint-disable-line import/no-extraneous-dependencies
-const axios = require( 'axios' ).default; // eslint-disable-line import/no-extraneous-dependencies
-const config = require( 'config' ); // eslint-disable-line import/no-extraneous-dependencies
-const WPAPI = `${ config.url }wp-json/wp/v2/pages`;
+/**
+ * Internal dependencies
+ */
+import { apiWP } from './api';
/**
* Check if a page exists from a title.
@@ -18,8 +17,8 @@ const WPAPI = `${ config.url }wp-json/wp/v2/pages`;
export async function pageExistsByTitle( title ) {
const slug = cleanForSlug( title );
- return await axios
- .get( WPAPI + '?slug=' + slug )
+ return await apiWP()
+ .get( `pages?slug=${ slug }` )
.then( ( response ) => response.data[ 0 ]?.id );
}
@@ -31,21 +30,12 @@ export async function pageExistsByTitle( title ) {
* @return {Promise} Created page ID.
*/
export async function createPage( title, content ) {
- return await axios
- .post(
- WPAPI,
- {
- title,
- content,
- status: 'publish',
- },
- {
- auth: {
- username: config.users.admin.username,
- password: config.users.admin.password,
- },
- }
- )
+ return await apiWP()
+ .post( 'pages', {
+ title,
+ content,
+ status: 'publish',
+ } )
.then( ( response ) => response.data.id );
}
@@ -53,11 +43,10 @@ export async function createPage( title, content ) {
* Creates a shop page using blocks.
*/
export async function createBlockShopPage() {
- const filePath = `${ dirname(
- __filename
- ) }/__fixtures__/all-products.fixture.json`;
- const file = await readJson( filePath );
- const { title, pageContent: content } = file;
+ const {
+ title,
+ pageContent: content,
+ } = require( './__fixtures__/all-products.fixture.json' );
if ( ! ( await pageExistsByTitle( title ) ) ) {
await createPage( title, content );
diff --git a/tests/e2e/utils/cart.js b/tests/e2e/utils/cart.js
deleted file mode 100644
index be77704d39..0000000000
--- a/tests/e2e/utils/cart.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Helper functions for handling the cart.
- */
-
-/**
- * External dependencies
- */
-import {
- SHOP_CART_PAGE, // eslint-disable-line import/named
- uiUnblocked,
-} from '@woocommerce/e2e-utils';
-
-/* global page */
-
-/**
- * Adds a related product to the cart.
- *
- * @return {number} Product ID of the added product.
- */
-export async function relatedProductAddToCart() {
- const addToCart = '.related.products .add_to_cart_button';
-
- await page.click( addToCart );
- await expect( page ).toMatchElement( addToCart + '.added' );
-
- return await page.$eval( addToCart, ( el ) => {
- return el.getAttribute( 'data-product_id' );
- } );
-}
-
-/**
- * Add a product to the cart from a block shop page.
- */
-export async function blockProductAddToCart() {
- const addToCart =
- '.wp-block-button__link.add_to_cart_button:not([disabled])';
-
- await page.waitForSelector( addToCart );
- await page.click( addToCart );
- await expect( page ).toMatchElement( addToCart + '.added', {
- timeout: 3000,
- } );
-}
-
-/**
- * Empty the cart.
- *
- * Needed until this issue is included in the @woocommerce/e2e-utils package:
- * https://github.com/woocommerce/woocommerce/pull/31977
- */
-export async function emptyCart() {
- await page.goto( SHOP_CART_PAGE, {
- waitUntil: 'networkidle0',
- } );
-
- // Remove products if they exist
- if ( ( await page.$( '.remove' ) ) !== null ) {
- let products = await page.$$( '.remove' );
- while ( products && products.length > 0 ) {
- await page.click( '.remove' );
- await uiUnblocked();
- products = await page.$$( '.remove' );
- }
- }
-
- await page.waitForSelector( '.woocommerce-info' );
- await expect( page ).toMatchElement( '.woocommerce-info', {
- text: 'Your cart is currently empty.',
- } );
-}
diff --git a/tests/e2e/utils/connection-test-page.js b/tests/e2e/utils/connection-test-page.js
deleted file mode 100644
index db6487208c..0000000000
--- a/tests/e2e/utils/connection-test-page.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Save test connection details on the Connection Test page.
- */
-/* global page */
-/**
- * External dependencies
- */
-import {
- WP_ADMIN_DASHBOARD, // eslint-disable-line import/named
- isCurrentURL,
- loginUser,
- getPageError,
-} from '@woocommerce/e2e-utils';
-
-/**
- * Visits the connection test page; if user is not logged in, then it logs in first.
- */
-export async function visitConnectionTestPage() {
- const connectionTestURL =
- WP_ADMIN_DASHBOARD + 'admin.php?page=connection-test-admin-page&e2e=1';
-
- await page.goto( connectionTestURL, {
- waitUntil: 'networkidle0',
- } );
-
- // Handle upgrade required screen
- if ( isCurrentURL( 'wp-admin/upgrade.php' ) ) {
- // Click update
- await page.click( '.button.button-large.button-primary' );
- // Click continue
- await page.click( '.button.button-large' );
- }
-
- if ( isCurrentURL( 'wp-login.php' ) ) {
- await loginUser();
- await visitConnectionTestPage();
- }
-
- const error = await getPageError();
- if ( error ) {
- throw new Error( 'Unexpected error in page content: ' + error );
- }
-}
-
-export async function saveConversionID() {
- await visitConnectionTestPage();
- await Promise.all( [
- expect( page ).toClick( '#e2e-test-conversion-id' ),
- page.waitForNavigation( { waitUntil: 'networkidle0' } ),
- ] );
-}
-
-export async function clearConversionID() {
- await visitConnectionTestPage();
- await Promise.all( [
- expect( page ).toClick( '#e2e-clear-conversion-id' ),
- page.waitForNavigation( { waitUntil: 'networkidle0' } ),
- ] );
-}
diff --git a/tests/e2e/utils/create-url.js b/tests/e2e/utils/create-url.js
deleted file mode 100644
index 8559594d53..0000000000
--- a/tests/e2e/utils/create-url.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * This is an enhanced/fixed version of `@wordpress/e2e-utils.createURL`,
- * the original one has not so usable API.
- * The PR to upstream nad tests are pending at
- * https://github.com/WordPress/gutenberg/pull/34051
- */
-/**
- * External dependencies
- */
-import { createURL as originalCreateUrl } from '@woocommerce/e2e-utils'; // eslint-disable-line import/named
-const WP_BASE_URL = originalCreateUrl( '' );
-
-/**
- * Creates new absolute (full) URL string by parsing given
- * `url` and `query` relative to the WP base.
- *
- * Given `query` params are merged with the ones already present in the `url`.
- * Any overlapping ones will be overwritten.
- *
- * @example
- *
- * ```js
- * createURL( '/foo?a=b&bar=f', { bar: 'baz', fiz: 'a/b/c' } );
- * // "http://localhost:8889/foo?a=b&bar=baz&fiz=a%2Fb%2Fc"
- * ```
- *
- * @param {string} [url=''] A valid URL string, usually a relative path, but could contain as well contain query, fragment or be absolute.
- * @param {string|Object|Array} [query] Query parameters in any format supported by {@link https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/URLSearchParams | URLSearchParams}.
- * @return {string} String which represents the full, absolute URL.
- */
-export function createURL( url = '', query = '' ) {
- const fullUrl = new URL( url, WP_BASE_URL );
-
- // Merge query params if any.
- if ( query ) {
- for ( const [ key, value ] of new URLSearchParams( query ) ) {
- // Overwrite any params if already present.
- fullUrl.searchParams.set( key, value );
- }
- }
-
- return fullUrl.href;
-}
diff --git a/tests/e2e/utils/customer.js b/tests/e2e/utils/customer.js
new file mode 100644
index 0000000000..6418f14e93
--- /dev/null
+++ b/tests/e2e/utils/customer.js
@@ -0,0 +1,109 @@
+/**
+ * Helper functions for handling the cart.
+ *
+ * @typedef { import( '@playwright/test' ).Page } Page
+ */
+
+/**
+ * External dependencies
+ */
+const { expect } = require( '@playwright/test' );
+
+/**
+ * Internal dependencies
+ */
+const config = require( '../config/default.json' );
+
+/**
+ * Adds a single product to the cart.
+ *
+ * @param {Page} page
+ * @param {number} productID
+ */
+export async function singleProductAddToCart( page, productID ) {
+ await page.goto( `?p=${ productID }` );
+
+ const addToCart = '.single_add_to_cart_button';
+ await page.locator( addToCart ).first().click();
+ await expect(
+ page.getByText( 'has been added to your cart' )
+ ).toBeVisible();
+
+ // Wait till all tracking event request have been sent after page reloaded.
+ await page.waitForLoadState( 'networkidle' );
+}
+
+/**
+ * Adds a related product to the cart.
+ *
+ * @param {Page} page
+ * @return {number} Product ID of the added product.
+ */
+export async function relatedProductAddToCart( page ) {
+ const addToCart = ( await page.locator( '.related.products' ).isVisible() )
+ ? '.related.products .add_to_cart_button'
+ : '.wp-block-woocommerce-related-products .add_to_cart_button';
+
+ await page.locator( addToCart ).first().click();
+ await expect( page.locator( addToCart ).first() ).toHaveClass( /added/ );
+
+ return await page.$eval( addToCart, ( el ) => {
+ return el.getAttribute( 'data-product_id' );
+ } );
+}
+
+/**
+ * Add a product to the cart from a block shop page.
+ *
+ * @param {Page} page
+ */
+export async function blockProductAddToCart( page ) {
+ const addToCart =
+ '.wp-block-button__link.add_to_cart_button:not([disabled])';
+
+ await page.locator( addToCart ).first().click();
+ await expect( page.locator( addToCart ).first() ).toHaveClass( /added/ );
+}
+
+/**
+ * Perform checkout steps to purchase a product.
+ *
+ * @param {Page} page
+ */
+export async function checkout( page ) {
+ const user = config.addresses.customer.billing;
+
+ await page.goto( 'checkout' );
+
+ if ( await page.locator( '#billing_first_name' ).isVisible() ) {
+ await page.locator( '#billing_first_name' ).fill( user.firstname );
+ await page.locator( '#billing_last_name' ).fill( user.lastname );
+ await page
+ .locator( '#billing_address_1' )
+ .fill( user.addressfirstline );
+ await page.locator( '#billing_city' ).fill( user.city );
+ await page.locator( '#billing_state' ).selectOption( user.state );
+ await page.locator( '#billing_postcode' ).fill( user.postcode );
+ await page.locator( '#billing_phone' ).fill( user.phone );
+ await page.locator( '#billing_email' ).fill( user.email );
+
+ await page.locator( 'text=Cash on delivery' ).click();
+ await expect( page.locator( 'div.payment_method_cod' ) ).toBeVisible();
+ } else {
+ await page.getByLabel( 'Email address' ).fill( user.email );
+ await page.getByLabel( 'First name' ).fill( user.firstname );
+ await page.getByLabel( 'Last name' ).fill( user.lastname );
+ await page
+ .getByLabel( 'Address', { exact: true } )
+ .fill( user.addressfirstline );
+ await page.getByLabel( 'City' ).fill( user.city );
+ await page.getByLabel( 'ZIP Code' ).fill( user.postcode );
+ await page.locator( '#billing-state input' ).fill( user.statename );
+ }
+
+ await page.locator( 'text=Place order' ).click();
+
+ await expect(
+ page.locator( '.woocommerce-thankyou-order-received' )
+ ).toContainText( 'order has been received' );
+}
diff --git a/tests/e2e/utils/request-mock.js b/tests/e2e/utils/request-mock.js
deleted file mode 100644
index 6be929a0ca..0000000000
--- a/tests/e2e/utils/request-mock.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * Observer to listen and mock puppeteer page requests.
- */
-export class RequestMock {
- /**
- * Map of mock functions to URL patters they should apply to.
- *
- * @type {Map}
- */
- #mocks;
- /**
- * The instance of a page being observed.
- *
- * @type {import("puppeteer").Page}
- */
- #observedPage;
-
- #callMock;
-
- constructor() {
- this.#mocks = new Map();
- /**
- * Calls a matching mock, if any.
- *
- * @param {import("puppeteer").Request} interceptedRequest
- */
- this.#callMock = ( interceptedRequest ) => {
- const url = interceptedRequest.url();
- // Find a matching mock.
- for ( const [ mock, pattern ] of this.#mocks ) {
- if ( url.match( pattern ) ) {
- const result = mock( interceptedRequest );
-
- if ( result === undefined ) {
- interceptedRequest.continue();
- } else if ( ! result ) {
- interceptedRequest.abort();
- }
- return;
- }
- }
- // Pass through non-matching requests.
- if ( ! interceptedRequest._interceptionHandled ) {
- interceptedRequest.continue();
- }
- };
- }
-
- /**
- * Get the mock to stub/mock/observe requests for a URL matching the given `pattern`.
- *
- * @param {RegExp} pattern Pattern for an URL(s) to mock.
- * @return {jest.Mock} New jest mock, will be called with an intercepted request. If the mock returns:
- * - `undefined` - the original request will be passed through, unless already handled.
- * - falsy - the request will be aborted
- * - truthy - no action will be taken
- */
- mock( pattern ) {
- const mock = jest.fn().mockName( 'mocked request' );
- this.#mocks.set( mock, pattern );
- return mock;
- }
-
- /**
- * Stop applying all or the given mock.
- *
- * @param {jest.Mock} [mock] Mock to be restored/unobserved. If not given all will be restored.
- */
- restore( mock ) {
- if ( mock ) {
- this.#mocks.delete( mock );
- } else {
- this.#mocks.clear();
- }
- }
-
- /**
- * Start oberving/intercepting requests for the given `page`.
- *
- * @param {import("puppeteer").Page} page
- */
- async observe( page ) {
- // Unobserve the previous page.
- this.disconnect();
-
- this.#observedPage = page;
- await page.setRequestInterception( true );
- page.on( 'request', this.#callMock );
- }
- /**
- * Stop observing.
- */
- disconnect() {
- if ( this.#observedPage ) {
- this.#observedPage.off( 'request', this.#callMock );
- this.#observedPage = undefined;
- }
- }
-}
diff --git a/tests/e2e/utils/track-event.js b/tests/e2e/utils/track-event.js
index f373a27daf..f7016a27f8 100644
--- a/tests/e2e/utils/track-event.js
+++ b/tests/e2e/utils/track-event.js
@@ -1,20 +1,19 @@
/**
* Tracking of Gtag events.
- */
-/* global page */
-
-/**
- * @typedef {import('puppeteer').HTTPRequest} HTTPRequest
+ *
+ * @typedef { import( '@playwright/test' ).Request } Request
+ * @typedef { import( '@playwright/test' ).Page } Page
*/
/**
* Tracks when the Gtag Event request matching a specific name is sent.
*
+ * @param {Page} page
* @param {string} eventName Event name to match.
- * @return {Promise} Matching request.
+ * @return {Promise} Matching request.
*/
-export function trackGtagEvent( eventName ) {
- const eventPath = '/pagead';
+export function trackGtagEvent( page, eventName ) {
+ const eventPath = '/pagead/';
return page.waitForRequest( ( request ) => {
const url = request.url();
const match = encodeURIComponent( 'event=' + eventName );
@@ -25,7 +24,7 @@ export function trackGtagEvent( eventName ) {
/**
* Retrieve data from a Gtag event.
*
- * @param {HTTPRequest} request
+ * @param {Request} request
* @return {Object} Data sent with the event.
*/
export function getEventData( request ) {
diff --git a/tests/e2e/utils/visit-gla-page.js b/tests/e2e/utils/visit-gla-page.js
deleted file mode 100644
index 96ac1f59fb..0000000000
--- a/tests/e2e/utils/visit-gla-page.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * A GLA specific version of `@wordpress/e2e-utils.visitAdminPage`,
- * as the original is not quite usefull for us.
- * See https://github.com/WordPress/gutenberg/issues/34044
- */
-/* global page */
-/**
- * External dependencies
- */
-import {
- WP_ADMIN_WC_HOME, // eslint-disable-line import/named
- isCurrentURL,
- loginUser,
- getPageError,
-} from '@woocommerce/e2e-utils';
-
-/**
- * Internal dependencies
- */
-import { createURL } from './create-url';
-
-/**
- * Visits admin page; if user is not logged in then it logging in it first, then visits admin page.
- * If no specific page or path is given in the query, visits `WP_ADMIN_WC_HOME`.
- *
- * @param {string|Object|Array} [query] Search query params, in the format acceptable by `SearchParams`.
- * @param {string} [query.path] Path to the page.
- * @return {string} Full URL of the destination.
- */
-export async function visitGLAPage( query ) {
- const fullURL = createURL( WP_ADMIN_WC_HOME, query );
- await page.goto( fullURL );
-
- // Handle upgrade required screen
- if ( isCurrentURL( 'wp-admin/upgrade.php' ) ) {
- // Click update
- await page.click( '.button.button-large.button-primary' );
- // Click continue
- await page.click( '.button.button-large' );
- }
-
- if ( isCurrentURL( 'wp-login.php' ) ) {
- await loginUser();
- await visitGLAPage( query );
- }
-
- const error = await getPageError();
- if ( error ) {
- throw new Error( 'Unexpected error in page content: ' + error );
- }
- return fullURL;
-}
diff --git a/tests/e2e/utils/visit-product-page.js b/tests/e2e/utils/visit-product-page.js
deleted file mode 100644
index f5ff3169e3..0000000000
--- a/tests/e2e/utils/visit-product-page.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Helper functions for visiting a product page.
- */
-
-/**
- * External dependencies
- */
-import {
- shopper, // eslint-disable-line import/named
-} from '@woocommerce/e2e-utils';
-
-/* global page */
-
-/**
- * Redirects to a single product page.
- * Wait till the cart form fully loads because shopper.goToProduct uses a
- * URL with product ID which leads to a redirect for pretty permalinks.
- *
- * @param {number} productID
- */
-export async function goToSingleProduct( productID ) {
- await shopper.goToProduct( productID );
- await page.waitForSelector( 'body.single-product form.cart' );
-}
diff --git a/webpack.config.js b/webpack.config.js
index 553fa70d1b..df0d42e077 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,4 +1,3 @@
-const webpack = require( 'webpack' );
const defaultConfig = require( '@wordpress/scripts/config/webpack.config' );
const { hasArgInCLI } = require( '@wordpress/scripts/utils' );
const WooCommerceDependencyExtractionWebpackPlugin = require( '@woocommerce/dependency-extraction-webpack-plugin' );
@@ -22,13 +21,6 @@ const requestToExternal = ( request ) => {
return defaultRequestToExternalWP( request );
}
const bundledPackages = [
- // Opt-out WordPress packages.
- // The following default externals are bundled for compatibility with older versions of WP
- // Note CSS for specific components is bundled via admin/assets/src/index.scss
- // WP 5.4 is the min version for ,
- '@wordpress/compose',
- '@wordpress/components',
- '@wordpress/primitives',
// Opt-out WooCommerce packages.
'@woocommerce/currency',
'@woocommerce/date',
@@ -119,20 +111,6 @@ const webpackConfig = {
requestToExternal,
requestToHandle,
} ),
- /**
- * Automatic polyfills for native node.js modules were removed from webpack v5.
- * And `@wordpress/components` below version 16.x depends on `@wordpress/compose`,
- * which directly accesses `process.env`.
- * Ref: https://github.com/WordPress/gutenberg/blob/%40wordpress/components%4012.0.8/packages/compose/src/hooks/use-reduced-motion/index.js#L21
- *
- * So the fallback is required here.
- * It may be possible to remove this fallback
- * when `@wordpress/components` is upgraded above 17.0.0+,
- * or when it is removed from the `requestToExternal` function above.
- */
- new webpack.ProvidePlugin( {
- process: 'process/browser',
- } ),
],
entry: {
index: path.resolve( process.cwd(), 'js/src', 'index.js' ),