diff --git a/.dev/assets/shared/js/frontend/vendor/responsive-nav.js b/.dev/assets/shared/js/frontend/vendor/responsive-nav.js index 8ec007b30..7c196d8c0 100644 --- a/.dev/assets/shared/js/frontend/vendor/responsive-nav.js +++ b/.dev/assets/shared/js/frontend/vendor/responsive-nav.js @@ -252,6 +252,12 @@ import debounce from "../utility/debounce"; if ( open_item && open_item.classList ) { open_item.classList.remove('submenu-is-open'); open_item.parentNode.classList.remove('child-has-focus'); + + // Set aria-expanded=false on the SVG element within this menu item + var svgElement = open_item.parentNode.querySelector( 'svg' ); + if ( svgElement ) { + svgElement.setAttribute( 'aria-expanded', 'false' ); + } } if ( open_item && open_item.parentNode && open_item.parentNode.querySelector( '.sub-menu' ) ) { @@ -276,6 +282,12 @@ import debounce from "../utility/debounce"; closed_item.classList.add( 'submenu-is-open' ); closed_item.parentNode.classList.add( 'child-has-focus' ); + // Set aria-expanded=true on the SVG element within this menu item + var svgElement = closed_item.parentNode.querySelector( 'svg' ); + if ( svgElement ) { + svgElement.setAttribute( 'aria-expanded', 'true' ); + } + if ( closed_item.parentNode.querySelector( '.sub-menu' ) ) { closed_item.parentNode.querySelector( '.sub-menu' ).setAttribute( 'aria-hidden', 'false' ); } @@ -296,9 +308,10 @@ import debounce from "../utility/debounce"; // Loop through all submenus and bind events when needed for ( i = 0; i < menu_items_with_children_count; i++ ) { - var svgElements = menu_items_with_children[i].querySelectorAll( 'svg' ); - for ( var q = 0; q < svgElements.length; q = q + 1 ) { - svgElements[q].addEventListener( 'click', listener_submenu_click ); + var svgElement = menu_items_with_children[i].querySelector( 'svg' ); + if ( svgElement ) { + svgElement.addEventListener( 'click', listener_submenu_click ); + svgElement.setAttribute( 'aria-expanded', 'false' ); } menu_items_with_children[i].removeEventListener( 'focusin', listener_submenu_focus ); } // for @@ -403,14 +416,13 @@ import debounce from "../utility/debounce"; if ( get_screen_size( 'has-offscreen-nav' ) || sub_menu_acion === 'click' ) { menu_items_with_children[i].addEventListener( 'click', listener_submenu_click ); - var svgElements = menu_items_with_children[i].querySelectorAll( 'svg' ); - - for ( var z = 0; z < svgElements.length; z = z + 1 ) { - - svgElements[z].addEventListener( 'click', listener_submenu_click ); - svgElements[z].addEventListener( 'keypress', ( e ) => { ['Space', 'Enter'].includes( e.code ) && listener_submenu_click( e ) } ); - svgElements[z].setAttribute( 'tabindex', '0' ); + var svgElement = menu_items_with_children[i].querySelector( 'svg' ); + if ( svgElement ) { + svgElement.addEventListener( 'click', listener_submenu_click ); + svgElement.addEventListener( 'keypress', ( e ) => { ['Space', 'Enter'].includes( e.code ) && listener_submenu_click( e ) } ); + svgElement.setAttribute( 'tabindex', '0' ); + svgElement.setAttribute( 'aria-expanded', 'false' ); } menu.classList.add( sub_menu_acion === 'click' ? 'uses-click' : 'uses-hover' ); diff --git a/.dev/tests/php/test-core.php b/.dev/tests/php/test-core.php index bbe9aa62c..25dd992d3 100644 --- a/.dev/tests/php/test-core.php +++ b/.dev/tests/php/test-core.php @@ -1165,7 +1165,7 @@ function testAddDropdownIcons() { $title = Go\Core\add_dropdown_icons( 'Title', $item, $args, 0 ); - $this->assertEquals( 'Title', trim( $title ) ); + $this->assertEquals( 'Title', trim( $title ) ); } diff --git a/.eslintrc.js b/.eslintrc.js index de5d1e88e..325b4a8e2 100755 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -16,12 +16,19 @@ module.exports = { 'react-dom': true, }, - parser: 'babel-eslint', + parser: '@babel/eslint-parser', + parserOptions: { + babelOptions: { + presets: [ '@babel/preset-env' ], + }, + requireConfigFile: false, + }, rules: { '@wordpress/no-global-active-element': 0, // because we are not using React, no need for this 'jsdoc/check-tag-names': [ 2, { definedTags: [ 'jest-environment' ], } ], + 'jsdoc/newline-after-description': 'off', // Rule doesn't exist in current eslint-plugin-jsdoc version }, }; diff --git a/.github/workflows/bump-woo-template-versions.yml b/.github/workflows/bump-woo-template-versions.yml index 9cecb897b..96a00984e 100644 --- a/.github/workflows/bump-woo-template-versions.yml +++ b/.github/workflows/bump-woo-template-versions.yml @@ -19,7 +19,7 @@ jobs: git config --global user.email "plugins@godaddy.com" - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' diff --git a/.github/workflows/create-artifact.yml b/.github/workflows/create-artifact.yml index f543bcc89..8a353b6fc 100644 --- a/.github/workflows/create-artifact.yml +++ b/.github/workflows/create-artifact.yml @@ -28,7 +28,7 @@ jobs: ref: ${{ github.event.repository.default_branch }} - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 67516d081..893643950 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -17,7 +17,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 9d6ce0e92..da65a0ab4 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -18,7 +18,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -53,7 +53,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -80,7 +80,7 @@ jobs: themes: '["."]' - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -123,7 +123,7 @@ jobs: themes: '["."]' - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' diff --git a/.github/workflows/update-translations.yml b/.github/workflows/update-translations.yml index 1de5c7ca4..e6e19097a 100644 --- a/.github/workflows/update-translations.yml +++ b/.github/workflows/update-translations.yml @@ -22,7 +22,7 @@ jobs: git config --global user.email "plugins@godaddy.com" - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' diff --git a/.github/workflows/validate-coding-standards.yml b/.github/workflows/validate-coding-standards.yml index 53438baf8..cd3a33baa 100644 --- a/.github/workflows/validate-coding-standards.yml +++ b/.github/workflows/validate-coding-standards.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -46,7 +46,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' diff --git a/.nvmrc b/.nvmrc index 25bf17fc5..cabf43b5d 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 \ No newline at end of file +24 \ No newline at end of file diff --git a/composer.json b/composer.json index b34df5ad8..335d04d53 100755 --- a/composer.json +++ b/composer.json @@ -45,13 +45,13 @@ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.1", "johnpbloch/wordpress-core": "^6.0.1", "phpcompatibility/phpcompatibility-wp": "^2.1", - "wp-coding-standards/wpcs": "^2.1", + "wp-coding-standards/wpcs": "^3.0", "phpunit/phpunit": "^9.5.21", "wp-phpunit/wp-phpunit": "^6.0.1", "yoast/phpunit-polyfills": "^1.1.0" }, "scripts": { - "lint": "@php ./vendor/bin/phpcs --standard=phpcs.xml --extensions=php --colors -s -p -v ./", + "lint": "@php ./vendor/bin/phpcs --standard=phpcs.xml --warning-severity=0 --extensions=php --colors -s -p -v ./", "test": "@php ./vendor/bin/phpunit", "install-phpunit": ".dev/deploy-scripts/local-install-wp-tests.sh wordpress_test root '' localhost latest" } diff --git a/composer.lock b/composer.lock index 97604f6e2..95fd7aa0d 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": "a8b35d290ada146543def290333e6d6d", + "content-hash": "d6bcc2645f3ef974b9552afb449de701", "packages": [ { "name": "composer/installers", @@ -358,24 +358,24 @@ }, { "name": "johnpbloch/wordpress-core", - "version": "6.5.5", + "version": "6.8.2", "source": { "type": "git", "url": "https://github.com/johnpbloch/wordpress-core.git", - "reference": "be6edfa018053533267a16e73f6623b0fa27b2df" + "reference": "316a8fe38b6dde4e4f399946809f040462038403" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/be6edfa018053533267a16e73f6623b0fa27b2df", - "reference": "be6edfa018053533267a16e73f6623b0fa27b2df", + "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/316a8fe38b6dde4e4f399946809f040462038403", + "reference": "316a8fe38b6dde4e4f399946809f040462038403", "shasum": "" }, "require": { "ext-json": "*", - "php": ">=7.0.0" + "php": ">=7.2.24" }, "provide": { - "wordpress/core-implementation": "6.5.5" + "wordpress/core-implementation": "6.8.2" }, "type": "wordpress-core", "notification-url": "https://packagist.org/downloads/", @@ -402,20 +402,20 @@ "source": "https://core.trac.wordpress.org/browser", "wiki": "https://codex.wordpress.org/" }, - "time": "2024-06-24T17:24:47+00:00" + "time": "2025-07-15T15:32:59+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.13.3", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "faed855a7b5f4d4637717c2b3863e277116beb36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/faed855a7b5f4d4637717c2b3863e277116beb36", + "reference": "faed855a7b5f4d4637717c2b3863e277116beb36", "shasum": "" }, "require": { @@ -454,7 +454,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.3" }, "funding": [ { @@ -462,20 +462,20 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2025-07-05T12:25:42+00:00" }, { "name": "nikic/php-parser", - "version": "v5.1.0", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9", + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9", "shasum": "" }, "require": { @@ -518,9 +518,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0" }, - "time": "2024-07-01T20:03:41+00:00" + "time": "2025-05-31T08:24:38+00:00" }, { "name": "phar-io/manifest", @@ -776,21 +776,22 @@ }, { "name": "phpcompatibility/phpcompatibility-wp", - "version": "2.1.5", + "version": "2.1.7", "source": { "type": "git", "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git", - "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082" + "reference": "5bfbbfbabb3df2b9a83e601de9153e4a7111962c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/01c1ff2704a58e46f0cb1ca9d06aee07b3589082", - "reference": "01c1ff2704a58e46f0cb1ca9d06aee07b3589082", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/5bfbbfbabb3df2b9a83e601de9153e4a7111962c", + "reference": "5bfbbfbabb3df2b9a83e601de9153e4a7111962c", "shasum": "" }, "require": { "phpcompatibility/php-compatibility": "^9.0", - "phpcompatibility/phpcompatibility-paragonie": "^1.0" + "phpcompatibility/phpcompatibility-paragonie": "^1.0", + "squizlabs/php_codesniffer": "^3.3" }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^1.0" @@ -840,41 +841,220 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcompatibility", + "type": "thanks_dev" + } + ], + "time": "2025-05-12T16:38:37+00:00" + }, + { + "name": "phpcsstandards/phpcsextra", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/PHPCSExtra.git", + "reference": "fa4b8d051e278072928e32d817456a7fdb57b6ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/fa4b8d051e278072928e32d817456a7fdb57b6ca", + "reference": "fa4b8d051e278072928e32d817456a7fdb57b6ca", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "phpcsstandards/phpcsutils": "^1.1.0", + "squizlabs/php_codesniffer": "^3.13.0 || ^4.0" + }, + "require-dev": { + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpcsstandards/phpcsdevcs": "^1.1.6", + "phpcsstandards/phpcsdevtools": "^1.2.1", + "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" + }, + "type": "phpcodesniffer-standard", + "extra": { + "branch-alias": { + "dev-stable": "1.x-dev", + "dev-develop": "1.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHPCSExtra/graphs/contributors" + } + ], + "description": "A collection of sniffs and standards for use with PHP_CodeSniffer.", + "keywords": [ + "PHP_CodeSniffer", + "phpcbf", + "phpcodesniffer-standard", + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/PHPCSExtra/issues", + "security": "https://github.com/PHPCSStandards/PHPCSExtra/security/policy", + "source": "https://github.com/PHPCSStandards/PHPCSExtra" + }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" + } + ], + "time": "2025-06-14T07:40:39+00:00" + }, + { + "name": "phpcsstandards/phpcsutils", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/PHPCSUtils.git", + "reference": "65355670ac17c34cd235cf9d3ceae1b9252c4dad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/65355670ac17c34cd235cf9d3ceae1b9252c4dad", + "reference": "65355670ac17c34cd235cf9d3ceae1b9252c4dad", + "shasum": "" + }, + "require": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0", + "php": ">=5.4", + "squizlabs/php_codesniffer": "^3.13.0 || ^4.0" + }, + "require-dev": { + "ext-filter": "*", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpcsstandards/phpcsdevcs": "^1.1.6", + "yoast/phpunit-polyfills": "^1.1.0 || ^2.0.0 || ^3.0.0" + }, + "type": "phpcodesniffer-standard", + "extra": { + "branch-alias": { + "dev-stable": "1.x-dev", + "dev-develop": "1.x-dev" + } + }, + "autoload": { + "classmap": [ + "PHPCSUtils/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHPCSUtils/graphs/contributors" + } + ], + "description": "A suite of utility functions for use with PHP_CodeSniffer", + "homepage": "https://phpcsutils.com/", + "keywords": [ + "PHP_CodeSniffer", + "phpcbf", + "phpcodesniffer-standard", + "phpcs", + "phpcs3", + "phpcs4", + "standards", + "static analysis", + "tokens", + "utility" + ], + "support": { + "docs": "https://phpcsutils.com/", + "issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues", + "security": "https://github.com/PHPCSStandards/PHPCSUtils/security/policy", + "source": "https://github.com/PHPCSStandards/PHPCSUtils" + }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2024-04-24T21:37:59+00:00" + "time": "2025-06-12T04:32:33+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.31", + "version": "9.2.32", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.6" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -883,7 +1063,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "9.2.x-dev" } }, "autoload": { @@ -912,7 +1092,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" }, "funding": [ { @@ -920,7 +1100,7 @@ "type": "github" } ], - "time": "2024-03-02T06:37:42+00:00" + "time": "2024-08-22T04:23:01+00:00" }, { "name": "phpunit/php-file-iterator", @@ -1165,45 +1345,45 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.19", + "version": "9.6.23", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" + "reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/43d2cb18d0675c38bd44982a5d1d88f6d53d8d95", + "reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", + "doctrine/instantiator": "^1.5.0 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.13.1", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-code-coverage": "^9.2.32", + "phpunit/php-file-iterator": "^3.0.6", "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", + "phpunit/php-text-template": "^2.0.4", + "phpunit/php-timer": "^5.0.3", + "sebastian/cli-parser": "^1.0.2", + "sebastian/code-unit": "^1.0.8", "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", + "sebastian/diff": "^4.0.6", + "sebastian/environment": "^5.1.5", + "sebastian/exporter": "^4.0.6", + "sebastian/global-state": "^5.0.7", + "sebastian/object-enumerator": "^4.0.4", + "sebastian/resource-operations": "^3.0.4", + "sebastian/type": "^3.2.1", "sebastian/version": "^3.0.2" }, "suggest": { @@ -1248,7 +1428,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.23" }, "funding": [ { @@ -1259,12 +1439,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2024-04-05T04:35:58+00:00" + "time": "2025-05-02T06:40:34+00:00" }, { "name": "sebastian/cli-parser", @@ -2231,16 +2419,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.10.1", + "version": "3.13.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877" + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/8f90f7a53ce271935282967f53d0894f8f1ff877", - "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5b5e3821314f947dd040c70f7992a64eac89025c", + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c", "shasum": "" }, "require": { @@ -2305,9 +2493,13 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2024-05-22T21:24:41+00:00" + "time": "2025-06-17T22:17:01+00:00" }, { "name": "theseer/tokenizer", @@ -2361,30 +2553,38 @@ }, { "name": "wp-coding-standards/wpcs", - "version": "2.3.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/WordPress/WordPress-Coding-Standards.git", - "reference": "7da1894633f168fe244afc6de00d141f27517b62" + "reference": "9333efcbff231f10dfd9c56bb7b65818b4733ca7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/7da1894633f168fe244afc6de00d141f27517b62", - "reference": "7da1894633f168fe244afc6de00d141f27517b62", + "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/9333efcbff231f10dfd9c56bb7b65818b4733ca7", + "reference": "9333efcbff231f10dfd9c56bb7b65818b4733ca7", "shasum": "" }, "require": { + "ext-filter": "*", + "ext-libxml": "*", + "ext-tokenizer": "*", + "ext-xmlreader": "*", "php": ">=5.4", - "squizlabs/php_codesniffer": "^3.3.1" + "phpcsstandards/phpcsextra": "^1.2.1", + "phpcsstandards/phpcsutils": "^1.0.10", + "squizlabs/php_codesniffer": "^3.9.0" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || ^0.6", + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcompatibility/php-compatibility": "^9.0", - "phpcsstandards/phpcsdevtools": "^1.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + "phpcsstandards/phpcsdevtools": "^1.2.0", + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" }, "suggest": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically." + "ext-iconv": "For improved results", + "ext-mbstring": "For improved results" }, "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", @@ -2401,6 +2601,7 @@ "keywords": [ "phpcs", "standards", + "static analysis", "wordpress" ], "support": { @@ -2408,20 +2609,26 @@ "source": "https://github.com/WordPress/WordPress-Coding-Standards", "wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki" }, - "time": "2020-05-13T23:57:56+00:00" + "funding": [ + { + "url": "https://opencollective.com/php_codesniffer", + "type": "custom" + } + ], + "time": "2024-03-25T16:39:00+00:00" }, { "name": "wp-phpunit/wp-phpunit", - "version": "6.5.5", + "version": "6.8.1", "source": { "type": "git", "url": "https://github.com/wp-phpunit/wp-phpunit.git", - "reference": "ef2cb44c0d991ac0c3a7a3ed0d2d1cf3fe8d8f2f" + "reference": "a33d328dab5a4a9ddf0c560bcadbabb58b5ee67f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-phpunit/wp-phpunit/zipball/ef2cb44c0d991ac0c3a7a3ed0d2d1cf3fe8d8f2f", - "reference": "ef2cb44c0d991ac0c3a7a3ed0d2d1cf3fe8d8f2f", + "url": "https://api.github.com/repos/wp-phpunit/wp-phpunit/zipball/a33d328dab5a4a9ddf0c560bcadbabb58b5ee67f", + "reference": "a33d328dab5a4a9ddf0c560bcadbabb58b5ee67f", "shasum": "" }, "type": "library", @@ -2456,20 +2663,20 @@ "issues": "https://github.com/wp-phpunit/issues", "source": "https://github.com/wp-phpunit/wp-phpunit" }, - "time": "2024-05-07T16:46:52+00:00" + "time": "2025-04-16T01:40:54+00:00" }, { "name": "yoast/phpunit-polyfills", - "version": "1.1.1", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/Yoast/PHPUnit-Polyfills.git", - "reference": "a0f7d708794a738f328d7b6c94380fd1d6c40446" + "reference": "e6faedf5e34cea4438e341f660e2f719760c531d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/a0f7d708794a738f328d7b6c94380fd1d6c40446", - "reference": "a0f7d708794a738f328d7b6c94380fd1d6c40446", + "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/e6faedf5e34cea4438e341f660e2f719760c531d", + "reference": "e6faedf5e34cea4438e341f660e2f719760c531d", "shasum": "" }, "require": { @@ -2484,7 +2691,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.x-dev" + "dev-main": "4.x-dev" } }, "autoload": { @@ -2519,20 +2726,20 @@ "security": "https://github.com/Yoast/PHPUnit-Polyfills/security/policy", "source": "https://github.com/Yoast/PHPUnit-Polyfills" }, - "time": "2024-04-05T16:01:51+00:00" + "time": "2025-02-09T18:13:44+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { "php": ">=7.4" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { "php": "7.4" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/docs/design-styles/example/functions.php b/docs/design-styles/example/functions.php index 2b17be565..24e72949d 100755 --- a/docs/design-styles/example/functions.php +++ b/docs/design-styles/example/functions.php @@ -55,6 +55,5 @@ function prefix_get_available_design_styles( $default_design_styles ) { ); return $default_design_styles; - } add_filter( 'go_design_styles', 'prefix_get_available_design_styles' ); diff --git a/includes/amp.php b/includes/amp.php index 05b7d978f..58aadffd2 100644 --- a/includes/amp.php +++ b/includes/amp.php @@ -14,14 +14,13 @@ */ function setup() { - $n = function( $function ) { + $n = function ( $function ) { return __NAMESPACE__ . "\\$function"; }; add_filter( 'walker_nav_menu_start_el', $n( 'amp_nav_sub_menu_buttons' ), 10, 4 ); add_filter( 'body_class', $n( 'amp_body_class' ) ); - } /** @@ -42,7 +41,6 @@ function amp_body_class( $classes ) { $classes[] = 'amp'; return $classes; - } // phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter -- Parameters are coming from a hook. @@ -69,7 +67,7 @@ function amp_nav_sub_menu_buttons( $item_output, $item, $depth, $args ) { $expanded = in_array( 'current-menu-ancestor', $item->classes, true ); static $nav_menu_item_number = 0; - $nav_menu_item_number++; + ++$nav_menu_item_number; $expanded_state_id = 'navMenuItemExpanded' . $nav_menu_item_number; $item_output .= sprintf( @@ -106,7 +104,6 @@ function amp_nav_sub_menu_buttons( $item_output, $item, $depth, $args ) { ); return $dropdown_button . $item_output; - } // phpcs:enable Generic.CodeAnalysis.UnusedFunctionParameter @@ -128,5 +125,4 @@ function is_amp() { * @var bool */ return (bool) apply_filters( 'go_is_amp', ( function_exists( 'amp_is_request' ) && amp_is_request() ) ); - } diff --git a/includes/classes/admin/class-go-theme-deactivation.php b/includes/classes/admin/class-go-theme-deactivation.php index 8fc81597b..9c62d2780 100644 --- a/includes/classes/admin/class-go-theme-deactivation.php +++ b/includes/classes/admin/class-go-theme-deactivation.php @@ -27,7 +27,6 @@ public function __construct() { add_action( 'admin_footer-themes.php', array( $this, 'admin_go_deactivation_modal' ) ); add_filter( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); - } /** @@ -135,7 +134,6 @@ public function enqueue_scripts( $hook_suffix ) { array( 'wp-components' ), GO_VERSION ); - } /** @@ -148,9 +146,7 @@ public function admin_go_deactivation_modal() {
array( 'label' => esc_html_x( 'Footer 1', 'name of the first footer variation option', 'go' ), 'preview_image' => get_theme_file_uri( 'dist/images/admin/footer-1.svg' ), - 'partial' => function() { + 'partial' => function () { return get_template_part( 'partials/footers/footer', '1' ); }, ), 'footer-2' => array( 'label' => esc_html_x( 'Footer 2', 'name of the second footer variation option', 'go' ), 'preview_image' => get_theme_file_uri( 'dist/images/admin/footer-2.svg' ), - 'partial' => function() { + 'partial' => function () { return get_template_part( 'partials/footers/footer', '2' ); }, ), 'footer-3' => array( 'label' => esc_html_x( 'Footer 3', 'name of the third footer variation option', 'go' ), 'preview_image' => get_theme_file_uri( 'dist/images/admin/footer-3.svg' ), - 'partial' => function() { + 'partial' => function () { return get_template_part( 'partials/footers/footer', '3' ); }, ), 'footer-4' => array( 'label' => esc_html_x( 'Footer 4', 'name of the fourth footer variation option', 'go' ), 'preview_image' => get_theme_file_uri( 'dist/images/admin/footer-4.svg' ), - 'partial' => function() { + 'partial' => function () { return get_template_part( 'partials/footers/footer', '4' ); }, ), @@ -1146,7 +1130,6 @@ function get_available_footer_variations() { $supported_footer_variations = (array) apply_filters( 'go_footer_variations', $default_footer_variations ); return $supported_footer_variations; - } /** @@ -1163,7 +1146,6 @@ function get_default_footer_variation() { * @param array $default_footer_variation The slug of the default footer variation. */ return (string) apply_filters( 'go_default_footer_variation', 'footer-1' ); - } /** @@ -1181,7 +1163,6 @@ function get_footer_variation() { } return false; - } /** @@ -1199,7 +1180,6 @@ function get_default_copyright() { */ /* translators: the theme author */ return (string) apply_filters( 'go_default_copyright', get_bloginfo( 'name' ) ); - } /** @@ -1282,7 +1262,6 @@ function get_available_social_icons() { * @see https://github.com/godaddy-wordpress/go/pull/870/files#diff-21e944aca0f42ff6529bde979b0fd787d00e010406e6642f947e71bf5e6f5ad1L1272-R1272 */ return (array) apply_filters( 'go_available_social_icons', apply_filters( 'go_avaliable_social_icons', $social_icons ) ); - } /** @@ -1298,7 +1277,6 @@ function get_social_icons() { } return $social_icons; - } /** @@ -1318,7 +1296,6 @@ function get_available_color_schemes() { * @param array $design_style The full design style object */ return (array) apply_filters( 'go_color_schemes', $design_style['color_schemes'], $design_style ); - } /** @@ -1333,7 +1310,6 @@ function get_default_color_scheme() { * @param array $default_color_scheme The slug of the default color scheme. */ return (string) apply_filters( 'go_default_color_scheme', 'one' ); - } /** @@ -1374,6 +1350,9 @@ function add_dropdown_icons( $title, $item, $args, $depth ) { $icon = ob_get_clean(); + // Add aria-label to the SVG for accessibility. + $icon = str_replace( 'theme_location && 0 === $depth ) { foreach ( $item->classes as $value ) { @@ -1384,7 +1363,6 @@ function add_dropdown_icons( $title, $item, $args, $depth ) { } return $title; - } /** @@ -1400,7 +1378,6 @@ function comment_form_reply_title( $args ) { $args['title_reply_after'] = ''; return $args; - } /** @@ -1452,7 +1429,6 @@ function filter_page_titles( $args ) { } return $args; - } /** @@ -1481,5 +1457,4 @@ function custom_logo_alt_text( $custom_logo_attr, $custom_logo_id ) { $custom_logo_attr['alt'] = $alt_text ? $alt_text : get_bloginfo( 'name' ); return $custom_logo_attr; - } diff --git a/includes/customizer.php b/includes/customizer.php index f10216075..ec129c658 100644 --- a/includes/customizer.php +++ b/includes/customizer.php @@ -16,7 +16,7 @@ * @return void */ function setup() { - $n = function( $function ) { + $n = function ( $function ) { return __NAMESPACE__ . "\\$function"; }; @@ -89,7 +89,7 @@ function wp_nav_fallback( $args ) { $attributes = implode( ' ', array_map( - function( $key, $value ) { + function ( $key, $value ) { return sprintf( '%s="%s"', $key, esc_attr( $value ) ); }, array_keys( $attrs ), @@ -110,7 +110,6 @@ function( $key, $value ) { ) ) ); - } /** @@ -254,10 +253,10 @@ function get_color_schemes_as_choices() { array_walk( $design_styles, - function( $style_data, $design_style ) use ( &$color_schemes ) { + function ( $style_data, $design_style ) use ( &$color_schemes ) { array_walk( $style_data['color_schemes'], - function( $data, $name ) use ( $design_style, &$color_schemes ) { + function ( $data, $name ) use ( $design_style, &$color_schemes ) { $color_schemes[ "{$design_style}-{$name}" ] = $data; } ); @@ -319,7 +318,6 @@ function register_site_title_controls( \WP_Customize_Manager $wp_customize ) { 'type' => 'checkbox', ) ); - } /** @@ -476,7 +474,6 @@ function register_global_controls( \WP_Customize_Manager $wp_customize ) { function copyright_kses_html( $input ) { return wp_kses( $input, \Go\get_copyright_kses_html() ); - } /** @@ -808,7 +805,6 @@ function register_color_controls( \WP_Customize_Manager $wp_customize ) { ), ) ); - } /** @@ -1091,7 +1087,6 @@ function register_menu_controls( \WP_Customize_Manager $wp_customize ) { 'type' => 'checkbox', ) ); - } /** @@ -1104,7 +1099,6 @@ function register_menu_controls( \WP_Customize_Manager $wp_customize ) { function rename_panels( \WP_Customize_Manager $wp_customize ) { $wp_customize->get_section( 'colors' )->title = __( 'Site Design', 'go' ); - } /** @@ -1122,7 +1116,6 @@ function sanitize_radio( $value, $setting ) { $choices = $setting->manager->get_control( $setting->id . '_control' )->choices; return array_key_exists( $input, $choices ) ? $input : $setting->default; - } /** diff --git a/includes/template-tags.php b/includes/template-tags.php index 122349725..3a30db62b 100755 --- a/includes/template-tags.php +++ b/includes/template-tags.php @@ -22,7 +22,6 @@ function post_meta( $post_id = null, $location = 'top' ) { echo get_post_meta( $post_id, $location ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in get_post_meta(). - } /** @@ -253,7 +252,6 @@ function get_post_meta( $post_id = null, $location = 'top' ) { } return $meta_output; - } /** @@ -278,7 +276,6 @@ function get_copyright_kses_html() { ), ) ); - } /** @@ -416,7 +413,6 @@ function hex_to_rgb( $color, $opacity = false ) { } return esc_attr( $output ); - } /** @@ -434,7 +430,7 @@ function hex_to_hsl( $hex, $string_output = false ) { $hex = array( $hex[1] . $hex[2], $hex[3] . $hex[4], $hex[5] . $hex[6] ); $rgb = array_map( - function( $part ) { + function ( $part ) { return intval( hexdec( $part ) ) / 255.0; }, $hex @@ -677,7 +673,6 @@ function page_title() { ) ) ); - } /** @@ -697,7 +692,6 @@ function content_wrapper_class( $class = '' ) { } echo esc_attr( $class ); - } /** @@ -714,7 +708,7 @@ function has_social_icons( $social_icons = null ) { return array_reduce( $social_icons, - function( $previous, $social_icon ) { + function ( $previous, $social_icon ) { return $previous || ! empty( $social_icon['url'] ); }, false @@ -807,7 +801,6 @@ function render_go_header_social_icons() { ' . $html . '' : $html; - }, PHP_INT_MAX ); @@ -1027,5 +1019,4 @@ function load_inline_svg( $filename ) { ) ) ); - } diff --git a/includes/tgm.php b/includes/tgm.php index 9ed6375ab..ae5d2a189 100644 --- a/includes/tgm.php +++ b/includes/tgm.php @@ -17,7 +17,7 @@ * @return void */ function setup() { - $n = function( $function ) { + $n = function ( $function ) { return __NAMESPACE__ . "\\$function"; }; diff --git a/includes/title-meta.php b/includes/title-meta.php index ce8764a66..663ba4ea1 100644 --- a/includes/title-meta.php +++ b/includes/title-meta.php @@ -14,7 +14,7 @@ */ function setup() { - $n = function( $function ) { + $n = function ( $function ) { return __NAMESPACE__ . "\\$function"; }; @@ -25,7 +25,7 @@ function setup() { /** * Register the meta field for the REST API. */ - function() { + function () { register_meta( 'post', 'hide_page_title', @@ -39,7 +39,6 @@ function() { ); } ); - } /** @@ -60,7 +59,6 @@ function hide_page_title_callback( $status ) { } return $status; - } /** @@ -79,5 +77,4 @@ function hide_page_title( $title_data ) { } return $title_data; - } diff --git a/includes/woocommerce.php b/includes/woocommerce.php index ea95f4446..947d6d3f6 100644 --- a/includes/woocommerce.php +++ b/includes/woocommerce.php @@ -25,7 +25,7 @@ function setup() { } // @codeCoverageIgnoreEnd - $n = function( $function ) { + $n = function ( $function ) { return __NAMESPACE__ . "\\$function"; }; @@ -60,7 +60,6 @@ function setup() { add_action( 'wp', $n( 'disable_cart' ) ); add_filter( 'woocommerce_widget_cart_is_hidden', $n( 'show_widget_cart_on_checkout' ) ); - } /** @@ -85,7 +84,6 @@ function should_show_woo_cart_item() { * @var bool */ return (bool) apply_filters( 'go_wc_show_cart_menu', true ); - } /** @@ -110,7 +108,6 @@ function should_use_woo_slideout_cart() { * @var bool */ return (bool) apply_filters( 'go_wc_use_slideout_cart', true ); - } /** @@ -187,7 +184,6 @@ function woocommerce_cart_link() { esc_attr( $cart_alt_text ), $cart_text // @codingStandardsIgnoreLine ); - } /** @@ -286,7 +282,6 @@ function go_cart_fragments( $fragments ) { ); return $fragments; - } /** @@ -336,7 +331,6 @@ function empty_cart_message() { ), esc_html( apply_filters( 'wc_empty_cart_message', __( 'Your cart is currently empty.', 'go' ) ) ) ); - } /** @@ -366,7 +360,6 @@ function disable_cart() { add_filter( 'go_wc_use_slideout_cart', '__return_false' ); add_filter( 'go_wc_show_cart_menu', '__return_false' ); - } /** @@ -377,7 +370,6 @@ function disable_cart() { function show_widget_cart_on_checkout() { return is_cart() ? true : false; - } /** @@ -390,7 +382,6 @@ function show_widget_cart_on_checkout() { function page_title_visibility( $show_title ) { return is_shop() ? false : $show_title; - } /** @@ -411,7 +402,6 @@ function shop_title() { \Go\page_title(); remove_filter( 'go_page_title_args', __NAMESPACE__ . '\\shop_title_attributes' ); - } /** @@ -428,7 +418,6 @@ function shop_title_attributes( $atts ) { $atts['custom'] = false; return $atts; - } /** @@ -454,7 +443,6 @@ function single_product_header() { '' . esc_html__( 'Next Post:', 'go' ) . ' %title' . esc_html__( 'Next', 'go' ) . '' . $arrow_right, ) ); - } /** @@ -512,7 +499,6 @@ function single_product_back_to_shop() { $arrow_left, // @codingStandardsIgnoreLine esc_html( $text ) ); - } /** @@ -523,7 +509,6 @@ function single_product_back_to_shop() { function breadcrumb_home_url() { return get_permalink( wc_get_page_id( 'shop' ) ); - } /** @@ -534,7 +519,6 @@ function breadcrumb_home_url() { function sorting_wrapper() { echo '
'; - } /** @@ -545,7 +529,6 @@ function sorting_wrapper() { function sorting_wrapper_close() { echo '
'; - } /** @@ -557,5 +540,4 @@ function reset_variations_link() { '%s', esc_html__( 'Reset Selections', 'go' ) ); - } diff --git a/languages/go.json b/languages/go.json index f003aab0e..5ffc8d542 100644 --- a/languages/go.json +++ b/languages/go.json @@ -171,6 +171,7 @@ "d7a9a3e2a98999afaa77e64983165058": "TikTok", "675cd6f3e569b77f0bae964e0a8942f2": "Mastodon", "b86a320e28500179ca4f051bc574520c": "Bluesky", + "37370a280ece6752d28377f9009a9be0": "%1$s Menu", "e27721c74d54c8f57cc581c680a0143b": "That page can't be found", "04cc2ca3a963a638a60162312fa1bb72": "Search for: %s", "795d59a96adcde416d31c5b1b6fae364": "Nothing Found", diff --git a/languages/go.pot b/languages/go.pot index 134b56262..d7c8ddee2 100644 --- a/languages/go.pot +++ b/languages/go.pot @@ -1,16 +1,16 @@ # Copyright (c) GoDaddy Operating Company, LLC. All Rights Reserved. msgid "" msgstr "" -"Project-Id-Version: Go 1.8.13\n" +"Project-Id-Version: Go 1.8.15\n" "Report-Msgid-Bugs-To: https://github.com/godaddy-wordpress/go/issues\n" "Last-Translator: plugins@godaddy.com\n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2025-04-07T15:46:31+00:00\n" +"POT-Creation-Date: 2025-07-22T17:58:51+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"X-Generator: WP-CLI 2.11.0\n" +"X-Generator: WP-CLI 2.12.0\n" "X-Domain: go\n" #. Theme Name of the theme @@ -40,11 +40,13 @@ msgstr "" #. translators: %s: The post title. #: comments.php:32 +#, php-format msgid "One thought on “%s”" msgstr "" #. translators: %1$s: The number of comments. %2$s: The post title. #: comments.php:39 +#, php-format msgid "%1$s thought on “%2$s”" msgid_plural "%1$s thoughts on “%2$s”" msgstr[0] "" @@ -100,19 +102,19 @@ msgstr "" msgid "expand child menu" msgstr "" -#: includes/classes/admin/class-go-theme-deactivation.php:100 +#: includes/classes/admin/class-go-theme-deactivation.php:105 msgid "Please do not include any personal information in your submission. We do not collect or need this information. Please see our privacy policy for details." msgstr "" -#: includes/classes/admin/class-go-theme-deactivation.php:101 +#: includes/classes/admin/class-go-theme-deactivation.php:106 msgid "Skip & Switch Theme" msgstr "" -#: includes/classes/admin/class-go-theme-deactivation.php:102 +#: includes/classes/admin/class-go-theme-deactivation.php:107 msgid "Submit & Switch Theme" msgstr "" -#: includes/classes/admin/class-go-theme-deactivation.php:103 +#: includes/classes/admin/class-go-theme-deactivation.php:108 msgid "Thanks for trying Go. Let us know how we can improve." msgstr "" @@ -126,11 +128,13 @@ msgstr "" #. translators: %s: plugin name. #: includes/classes/class-tgm-plugin-activation.php:328 +#, php-format msgid "Installing Plugin: %s" msgstr "" #. translators: %s: plugin name. #: includes/classes/class-tgm-plugin-activation.php:330 +#, php-format msgid "Updating Plugin: %s" msgstr "" @@ -140,6 +144,7 @@ msgstr "" #. translators: 1: plugin name(s). #: includes/classes/class-tgm-plugin-activation.php:332 +#, php-format msgid "This theme requires the following plugin: %1$s." msgid_plural "This theme requires the following plugins: %1$s." msgstr[0] "" @@ -147,6 +152,7 @@ msgstr[1] "" #. translators: 1: plugin name(s). #: includes/classes/class-tgm-plugin-activation.php:338 +#, php-format msgid "This theme recommends the following plugin: %1$s." msgid_plural "This theme recommends the following plugins: %1$s." msgstr[0] "" @@ -154,6 +160,7 @@ msgstr[1] "" #. translators: 1: plugin name(s). #: includes/classes/class-tgm-plugin-activation.php:344 +#, php-format msgid "The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s." msgid_plural "The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s." msgstr[0] "" @@ -161,6 +168,7 @@ msgstr[1] "" #. translators: 1: plugin name(s). #: includes/classes/class-tgm-plugin-activation.php:350 +#, php-format msgid "There is an update available for: %1$s." msgid_plural "There are updates available for the following plugins: %1$s." msgstr[0] "" @@ -168,6 +176,7 @@ msgstr[1] "" #. translators: 1: plugin name(s). #: includes/classes/class-tgm-plugin-activation.php:356 +#, php-format msgid "The following required plugin is currently inactive: %1$s." msgid_plural "The following required plugins are currently inactive: %1$s." msgstr[0] "" @@ -175,6 +184,7 @@ msgstr[1] "" #. translators: 1: plugin name(s). #: includes/classes/class-tgm-plugin-activation.php:362 +#, php-format msgid "The following recommended plugin is currently inactive: %1$s." msgid_plural "The following recommended plugins are currently inactive: %1$s." msgstr[0] "" @@ -223,16 +233,19 @@ msgstr[1] "" #. translators: 1: plugin name. #: includes/classes/class-tgm-plugin-activation.php:388 +#, php-format msgid "No action taken. Plugin %1$s was already active." msgstr "" #. translators: 1: plugin name. #: includes/classes/class-tgm-plugin-activation.php:390 +#, php-format msgid "Plugin not activated. A higher version of %s is needed for this theme. Please update the plugin." msgstr "" #. translators: 1: dashboard link. #: includes/classes/class-tgm-plugin-activation.php:392 +#, php-format msgid "All plugins installed and activated successfully. %1$s" msgstr "" @@ -277,6 +290,7 @@ msgstr "" #. translators: %s: version number #: includes/classes/class-tgm-plugin-activation.php:1980 +#, php-format msgid "TGMPA v%s" msgstr "" @@ -326,12 +340,14 @@ msgstr "" #. translators: 1: install status, 2: update status #: includes/classes/class-tgm-plugin-activation.php:2340 +#, php-format msgctxt "Install/Update Status" msgid "%1$s, %2$s" msgstr "" #. translators: 1: number of plugins. #: includes/classes/class-tgm-plugin-activation.php:2386 +#, php-format msgctxt "plugins" msgid "All (%s)" msgid_plural "All (%s)" @@ -340,6 +356,7 @@ msgstr[1] "" #. translators: 1: number of plugins. #: includes/classes/class-tgm-plugin-activation.php:2390 +#, php-format msgid "To Install (%s)" msgid_plural "To Install (%s)" msgstr[0] "" @@ -347,6 +364,7 @@ msgstr[1] "" #. translators: 1: number of plugins. #: includes/classes/class-tgm-plugin-activation.php:2394 +#, php-format msgid "Update Available (%s)" msgid_plural "Update Available (%s)" msgstr[0] "" @@ -354,6 +372,7 @@ msgstr[1] "" #. translators: 1: number of plugins. #: includes/classes/class-tgm-plugin-activation.php:2398 +#, php-format msgid "To Activate (%s)" msgid_plural "To Activate (%s)" msgstr[0] "" @@ -402,16 +421,19 @@ msgstr "" #. translators: %2$s: plugin name in screen reader markup #: includes/classes/class-tgm-plugin-activation.php:2601 +#, php-format msgid "Install %2$s" msgstr "" #. translators: %2$s: plugin name in screen reader markup #: includes/classes/class-tgm-plugin-activation.php:2606 +#, php-format msgid "Update %2$s" msgstr "" #. translators: %2$s: plugin name in screen reader markup #: includes/classes/class-tgm-plugin-activation.php:2612 +#, php-format msgid "Activate %2$s" msgstr "" @@ -461,16 +483,19 @@ msgstr "" #. translators: 1: plugin name, 2: action number 3: total number of actions. #: includes/classes/class-tgm-plugin-activation.php:3496 +#, php-format msgid "Updating Plugin %1$s (%2$d/%3$d)" msgstr "" #. translators: 1: plugin name, 2: error message. #: includes/classes/class-tgm-plugin-activation.php:3499 +#, php-format msgid "An error occurred while installing %1$s: %2$s." msgstr "" #. translators: 1: plugin name. #: includes/classes/class-tgm-plugin-activation.php:3501 +#, php-format msgid "The installation of %1$s failed." msgstr "" @@ -480,6 +505,7 @@ msgstr "" #. translators: 1: plugin name. #: includes/classes/class-tgm-plugin-activation.php:3507 +#, php-format msgid "%1$s installed and activated successfully." msgstr "" @@ -501,6 +527,7 @@ msgstr "" #. translators: 1: plugin name, 2: action number 3: total number of actions. #: includes/classes/class-tgm-plugin-activation.php:3510 +#, php-format msgid "Installing and Activating Plugin %1$s (%2$d/%3$d)" msgstr "" @@ -510,6 +537,7 @@ msgstr "" #. translators: 1: plugin name. #: includes/classes/class-tgm-plugin-activation.php:3515 +#, php-format msgid "%1$s installed successfully." msgstr "" @@ -519,6 +547,7 @@ msgstr "" #. translators: 1: plugin name, 2: action number 3: total number of actions. #: includes/classes/class-tgm-plugin-activation.php:3518 +#, php-format msgid "Installing Plugin %1$s (%2$d/%3$d)" msgstr "" @@ -838,21 +867,28 @@ msgstr "" msgid "Bluesky" msgstr "" -#: includes/core.php:1423 +#: includes/core.php:1378 +#, php-format +msgid "%1$s Menu" +msgstr "" + +#: includes/core.php:1426 msgid "That page can't be found" msgstr "" #. translators: Search query term(s). -#: includes/core.php:1441 +#: includes/core.php:1444 +#, php-format msgid "Search for: %s" msgstr "" -#: includes/core.php:1449 +#: includes/core.php:1452 msgid "Nothing Found" msgstr "" #. translators: %s is the registered nav menu name #: includes/customizer.php:108 +#, php-format msgid "Please assign a menu to the %s menu location" msgstr "" @@ -1052,6 +1088,7 @@ msgstr "" #. translators: 1: date, 2: time #: includes/pluggable.php:51 +#, php-format msgid "%1$s at %2$s" msgstr "" @@ -1069,6 +1106,7 @@ msgstr "" #. Translators: %s = the author name. #: includes/template-tags.php:121 +#, php-format msgctxt "%s = author name" msgid "By %s" msgstr "" @@ -1095,6 +1133,7 @@ msgstr "" #. translators: %s: The social icon label. #: includes/template-tags.php:760 +#, php-format msgid "Open %s in a new tab" msgstr "" @@ -1106,7 +1145,7 @@ msgstr "" msgid "Search Toggle" msgstr "" -#: includes/title-meta.php:29 +#: includes/title-meta.php:35 msgid "Hide Page Title." msgstr "" @@ -1125,6 +1164,7 @@ msgstr "" #. translators: 1. Single integer value. (eg: 1 product in your cart). 2. Integer larger than 1. (eg: 5 products in your cart). #: includes/woocommerce.php:233 #: includes/woocommerce.php:283 +#, php-format msgid "%s product in your cart" msgid_plural "%s products in your cart" msgstr[0] "" @@ -1165,6 +1205,7 @@ msgstr "" #. translators: 1: link to WP admin new post page. #: partials/content-none.php:21 +#, php-format msgid "Ready to publish your first post? Get started here." msgstr "" @@ -1622,6 +1663,7 @@ msgstr "" #. translators: 1. Single integer value. (eg: Items (1), Items (2) etc.). #: woocommerce/cart/cart.php:32 +#, php-format msgid "Items (%s)" msgstr "" diff --git a/package.json b/package.json index 25b40d84f..dd9a0e71c 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ }, "engineStrict": true, "engines": { - "node": "18" + "node": "24" }, "license": "GPL-2.0-or-later", "badges": [ @@ -186,6 +186,6 @@ "react-dom": "^18.2.0", "simple-git": "^3.16.0", "ua-parser-js": "^1.0.33", - "eslint-plugin-jsdoc": "^41.0.0" + "eslint-plugin-jsdoc": "^46.10.1" } } diff --git a/partials/layouts/about.php b/partials/layouts/about.php index 78b71f823..89aaed741 100644 --- a/partials/layouts/about.php +++ b/partials/layouts/about.php @@ -308,6 +308,6 @@ function go_coblocks_about_layouts( $layouts ) { ); return $layouts; -}; +} add_filter( 'coblocks_layout_selector_layouts', 'go_coblocks_about_layouts' ); diff --git a/partials/layouts/contact.php b/partials/layouts/contact.php index ffa06a01e..97124a58b 100644 --- a/partials/layouts/contact.php +++ b/partials/layouts/contact.php @@ -316,6 +316,6 @@ function go_coblocks_contact_layouts( $layouts ) { ); return $layouts; -}; +} add_filter( 'coblocks_layout_selector_layouts', 'go_coblocks_contact_layouts' ); diff --git a/partials/layouts/gallery.php b/partials/layouts/gallery.php index dc9239c7f..91414f70b 100644 --- a/partials/layouts/gallery.php +++ b/partials/layouts/gallery.php @@ -244,6 +244,6 @@ function go_coblocks_gallery_layouts( $layouts ) { ); return $layouts; -}; +} add_filter( 'coblocks_layout_selector_layouts', 'go_coblocks_gallery_layouts' ); diff --git a/partials/layouts/home.php b/partials/layouts/home.php index a517de558..bacac62bd 100644 --- a/partials/layouts/home.php +++ b/partials/layouts/home.php @@ -128,7 +128,6 @@ function go_coblocks_home_layouts( $layouts ) { 'headingLevel' => 4, 'buttons' => false, 'className' => 'is-style-threebyfour', - 'align' => 'wide', ), array( array( @@ -1216,6 +1215,6 @@ function go_coblocks_home_layouts( $layouts ) { ); return $layouts; -}; +} add_filter( 'coblocks_layout_selector_layouts', 'go_coblocks_home_layouts' ); diff --git a/woocommerce/cart/cart.php b/woocommerce/cart/cart.php index f41dee0e8..db613fa7d 100644 --- a/woocommerce/cart/cart.php +++ b/woocommerce/cart/cart.php @@ -12,7 +12,7 @@ * * @see https://docs.woocommerce.com/document/template-structure/ * @package WooCommerce\Templates - * @version 7.9.0 + * @version 10.0.0 */ defined( 'ABSPATH' ) || exit; diff --git a/yarn.lock b/yarn.lock index 1e2478dbe..ec2286ea9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1900,12 +1900,12 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@es-joy/jsdoccomment@~0.37.0": - version "0.37.1" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz#fa32a41ba12097452693343e09ad4d26d157aedd" - integrity sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg== +"@es-joy/jsdoccomment@~0.41.0": + version "0.41.0" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz#4a2f7db42209c0425c71a1476ef1bdb6dcd836f6" + integrity sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw== dependencies: - comment-parser "1.3.1" + comment-parser "1.4.1" esquery "^1.5.0" jsdoc-type-pratt-parser "~4.0.0" @@ -4686,6 +4686,11 @@ buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -5141,10 +5146,10 @@ commander@~9.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-9.0.0.tgz#86d58f24ee98126568936bd1d3574e0308a99a40" integrity sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw== -comment-parser@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" - integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== +comment-parser@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.1.tgz#bdafead37961ac079be11eb7ec65c4d021eaf9cc" + integrity sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg== common-path-prefix@^3.0.0: version "3.0.0" @@ -6366,19 +6371,20 @@ eslint-plugin-jest@^25.2.3: dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" -eslint-plugin-jsdoc@^37.0.3, eslint-plugin-jsdoc@^41.0.0: - version "41.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-41.1.2.tgz#41d758a603aa59ae7bc34da88da2ca526466890e" - integrity sha512-MePJXdGiPW7AG06CU5GbKzYtKpoHwTq1lKijjq+RwL/cQkZtBZ59Zbv5Ep0RVxSMnq6242249/n+w4XrTZ1Afg== +eslint-plugin-jsdoc@^37.0.3, eslint-plugin-jsdoc@^46.10.1: + version "46.10.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.10.1.tgz#77c871309c4ed93758a3b2fdf384dc6189cf8605" + integrity sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag== dependencies: - "@es-joy/jsdoccomment" "~0.37.0" + "@es-joy/jsdoccomment" "~0.41.0" are-docs-informative "^0.0.2" - comment-parser "1.3.1" + comment-parser "1.4.1" debug "^4.3.4" escape-string-regexp "^4.0.0" esquery "^1.5.0" - semver "^7.3.8" - spdx-expression-parse "^3.0.1" + is-builtin-module "^3.2.1" + semver "^7.5.4" + spdx-expression-parse "^4.0.0" eslint-plugin-jsx-a11y@^6.5.1: version "6.5.1" @@ -8172,6 +8178,13 @@ is-buffer@^1.0.2, is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" @@ -12174,10 +12187,10 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -semver@^7.3.8: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== +semver@^7.5.4: + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== semver@~7.3.5: version "7.3.8" @@ -12519,7 +12532,7 @@ spdx-exceptions@^2.1.0: resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== -spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: +spdx-expression-parse@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== @@ -12527,6 +12540,14 @@ spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" +spdx-expression-parse@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz#a23af9f3132115465dac215c099303e4ceac5794" + integrity sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + spdx-license-ids@^3.0.0: version "3.0.11" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"