From e88a31400213881324c9fe3b4b74fc90f98c9646 Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 10:36:43 -0400 Subject: [PATCH 1/8] Bump woo cart template to version 10.0.0 --- woocommerce/cart/cart.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/woocommerce/cart/cart.php b/woocommerce/cart/cart.php index f41dee0e..db613fa7 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; From dce26a48d16cf5c90a66d370aa3a4a2a236dde9d Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 14:00:21 -0400 Subject: [PATCH 2/8] Update aria-label and aria-expanded on the menu item carets --- .../js/frontend/vendor/responsive-nav.js | 32 +++-- includes/core.php | 3 + package.json | 4 +- yarn.lock | 126 +++++++++++++----- 4 files changed, 120 insertions(+), 45 deletions(-) diff --git a/.dev/assets/shared/js/frontend/vendor/responsive-nav.js b/.dev/assets/shared/js/frontend/vendor/responsive-nav.js index 8ec007b3..7c196d8c 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/includes/core.php b/includes/core.php index 595c24ad..6b1230dd 100755 --- a/includes/core.php +++ b/includes/core.php @@ -1374,6 +1374,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 ) { diff --git a/package.json b/package.json index 25b40d84..67baea94 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": "^51.0.0" } } diff --git a/yarn.lock b/yarn.lock index 1e2478db..968d8325 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1900,14 +1900,16 @@ 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.52.0": + version "0.52.0" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.52.0.tgz#106945b6d1abed89597aa104b80ff8f9fb7038a6" + integrity sha512-BXuN7BII+8AyNtn57euU2Yxo9yA/KUDNzrpXyi3pfqKmBhhysR6ZWOebFh3vyPoqA3/j1SOvGgucElMGwlXing== dependencies: - comment-parser "1.3.1" - esquery "^1.5.0" - jsdoc-type-pratt-parser "~4.0.0" + "@types/estree" "^1.0.8" + "@typescript-eslint/types" "^8.34.1" + comment-parser "1.4.1" + esquery "^1.6.0" + jsdoc-type-pratt-parser "~4.1.0" "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -2735,6 +2737,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== + "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -3103,6 +3110,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.13.0.tgz#da1de4ae905b1b9ff682cab0bed6b2e3be9c04e5" integrity sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg== +"@typescript-eslint/types@^8.34.1": + version "8.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.38.0.tgz#297351c994976b93c82ac0f0e206c8143aa82529" + integrity sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw== + "@typescript-eslint/typescript-estree@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz#b37c07b748ff030a3e93d87c842714e020b78141" @@ -3929,7 +3941,7 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -3954,6 +3966,11 @@ acorn@^8.0.4, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.15.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + adm-zip@^0.5.9: version "0.5.9" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.9.tgz#b33691028333821c0cf95c31374c5462f2905a83" @@ -5141,10 +5158,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" @@ -5734,6 +5751,13 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -6366,19 +6390,21 @@ 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@^51.0.0: + version "51.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-51.4.1.tgz#a512460da6ba328ac3be0c3e7b2aaa4633175625" + integrity sha512-y4CA9OkachG8v5nAtrwvcvjIbdcKgSyS6U//IfQr4FZFFyeBFwZFf/tfSsMr46mWDJgidZjBTqoCRlXywfFBMg== dependencies: - "@es-joy/jsdoccomment" "~0.37.0" + "@es-joy/jsdoccomment" "~0.52.0" are-docs-informative "^0.0.2" - comment-parser "1.3.1" - debug "^4.3.4" + comment-parser "1.4.1" + debug "^4.4.1" escape-string-regexp "^4.0.0" - esquery "^1.5.0" - semver "^7.3.8" - spdx-expression-parse "^3.0.1" + espree "^10.4.0" + esquery "^1.6.0" + parse-imports-exports "^0.2.4" + semver "^7.7.2" + spdx-expression-parse "^4.0.0" eslint-plugin-jsx-a11y@^6.5.1: version "6.5.1" @@ -6475,6 +6501,11 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint-visitor-keys@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" + integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== + eslint-webpack-plugin@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.1.1.tgz#83dad2395e5f572d6f4d919eedaa9cf902890fcb" @@ -6573,6 +6604,15 @@ eslint@^8.3.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +espree@^10.4.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" + integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== + dependencies: + acorn "^8.15.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.1" + espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -6603,7 +6643,7 @@ esquery@^1.4.0: dependencies: estraverse "^5.1.0" -esquery@^1.5.0: +esquery@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== @@ -9044,10 +9084,10 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdoc-type-pratt-parser@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" - integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== +jsdoc-type-pratt-parser@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz#ff6b4a3f339c34a6c188cbf50a16087858d22113" + integrity sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg== jsdom@^16.6.0: version "16.7.0" @@ -9917,7 +9957,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -10506,6 +10546,13 @@ parse-filepath@^1.0.1: map-cache "^0.2.0" path-root "^0.1.1" +parse-imports-exports@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz#e3fb3b5e264cfb55c25b5dfcbe7f410f8dc4e7af" + integrity sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ== + dependencies: + parse-statements "1.0.11" + parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -10521,6 +10568,11 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= +parse-statements@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/parse-statements/-/parse-statements-1.0.11.tgz#8787c5d383ae5746568571614be72b0689584344" + integrity sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA== + parse5@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -12174,10 +12226,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.7.2: + 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 +12571,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 +12579,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" From 329e4e2b15991c7fa93449de5def05b66bb027a2 Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 14:07:51 -0400 Subject: [PATCH 3/8] Bump composer packages --- composer.lock | 185 +++++++++++++++++++++++++--------------------- includes/core.php | 2 +- 2 files changed, 102 insertions(+), 85 deletions(-) diff --git a/composer.lock b/composer.lock index 97604f6e..ed67054b 100644 --- a/composer.lock +++ b/composer.lock @@ -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,45 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcompatibility", + "type": "thanks_dev" } ], - "time": "2024-04-24T21:37:59+00:00" + "time": "2025-05-12T16:38:37+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 +888,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "9.2.x-dev" } }, "autoload": { @@ -912,7 +917,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 +925,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 +1170,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 +1253,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 +1264,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 +2244,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 +2318,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", @@ -2412,16 +2429,16 @@ }, { "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 +2473,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 +2501,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.x-dev" + "dev-main": "4.x-dev" } }, "autoload": { @@ -2519,20 +2536,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/includes/core.php b/includes/core.php index 6b1230dd..db3c0c52 100755 --- a/includes/core.php +++ b/includes/core.php @@ -1375,7 +1375,7 @@ 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 ) { From fb405409f629853dd71f7eeede115408cfac6bb6 Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 14:13:56 -0400 Subject: [PATCH 4/8] Bump to actions/setup-node@v4 --- .../workflows/bump-woo-template-versions.yml | 2 +- .github/workflows/create-artifact.yml | 2 +- .github/workflows/create-release.yml | 2 +- .github/workflows/run-tests.yml | 8 +- .github/workflows/update-translations.yml | 2 +- .../workflows/validate-coding-standards.yml | 4 +- composer.json | 2 +- composer.lock | 212 +++++++++++++++++- docs/design-styles/example/functions.php | 1 - includes/amp.php | 8 +- .../admin/class-go-theme-deactivation.php | 4 - includes/core.php | 40 +--- includes/customizer.php | 15 +- includes/template-tags.php | 15 +- includes/tgm.php | 2 +- includes/title-meta.php | 7 +- includes/woocommerce.php | 20 +- languages/go.json | 1 + languages/go.pot | 64 +++++- partials/layouts/about.php | 2 +- partials/layouts/contact.php | 2 +- partials/layouts/gallery.php | 2 +- partials/layouts/home.php | 3 +- 23 files changed, 289 insertions(+), 131 deletions(-) diff --git a/.github/workflows/bump-woo-template-versions.yml b/.github/workflows/bump-woo-template-versions.yml index 9cecb897..96a00984 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 f543bcc8..8a353b6f 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 67516d08..89364395 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 9d6ce0e9..da65a0ab 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 1de5c7ca..e6e19097 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 53438baf..cd3a33ba 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/composer.json b/composer.json index b34df5ad..32f61be9 100755 --- a/composer.json +++ b/composer.json @@ -45,7 +45,7 @@ "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" diff --git a/composer.lock b/composer.lock index ed67054b..95fd7aa0 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", @@ -849,6 +849,181 @@ ], "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": "2025-06-12T04:32:33+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "9.2.32", @@ -2378,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/", @@ -2418,6 +2601,7 @@ "keywords": [ "phpcs", "standards", + "static analysis", "wordpress" ], "support": { @@ -2425,7 +2609,13 @@ "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", diff --git a/docs/design-styles/example/functions.php b/docs/design-styles/example/functions.php index 2b17be56..24e72949 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 05b7d978..58aadffd 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 8fc81597..9c62d278 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,7 +1350,7 @@ function add_dropdown_icons( $title, $item, $args, $depth ) { $icon = ob_get_clean(); - // Add aria-label to the SVG for accessibility + // Add aria-label to the SVG for accessibility. $icon = str_replace( ' '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 12234972..3a30db62 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 9ed6375a..ae5d2a18 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 ce8764a6..663ba4ea 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 ea95f444..947d6d3f 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 f003aab0..5ffc8d54 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 134b5626..d7c8ddee 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/partials/layouts/about.php b/partials/layouts/about.php index 78b71f82..89aaed74 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 ffa06a01..97124a58 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 dc9239c7..91414f70 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 a517de55..bacac62b 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' ); From b15881d171fb87a0e0beb4d6aa14f87b56aef4a3 Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 14:19:34 -0400 Subject: [PATCH 5/8] Bump nvmrc --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 25bf17fc..cabf43b5 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 \ No newline at end of file +24 \ No newline at end of file From 6ef925b01ea182b5e1c314b9f13f4f1718db1e8d Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 14:20:09 -0400 Subject: [PATCH 6/8] Ignore warnings in phpcs output --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 32f61be9..335d04d5 100755 --- a/composer.json +++ b/composer.json @@ -51,7 +51,7 @@ "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" } From 240b6b64aae82ba9f5b06f967b8e57c5ebf4d8c6 Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 14:27:56 -0400 Subject: [PATCH 7/8] Update dependencies --- .eslintrc.js | 9 ++++- package.json | 2 +- yarn.lock | 109 +++++++++++++++++---------------------------------- 3 files changed, 44 insertions(+), 76 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index de5d1e88..325b4a8e 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/package.json b/package.json index 67baea94..dd9a0e71 100644 --- a/package.json +++ b/package.json @@ -186,6 +186,6 @@ "react-dom": "^18.2.0", "simple-git": "^3.16.0", "ua-parser-js": "^1.0.33", - "eslint-plugin-jsdoc": "^51.0.0" + "eslint-plugin-jsdoc": "^46.10.1" } } diff --git a/yarn.lock b/yarn.lock index 968d8325..ec2286ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1900,16 +1900,14 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@es-joy/jsdoccomment@~0.52.0": - version "0.52.0" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.52.0.tgz#106945b6d1abed89597aa104b80ff8f9fb7038a6" - integrity sha512-BXuN7BII+8AyNtn57euU2Yxo9yA/KUDNzrpXyi3pfqKmBhhysR6ZWOebFh3vyPoqA3/j1SOvGgucElMGwlXing== +"@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: - "@types/estree" "^1.0.8" - "@typescript-eslint/types" "^8.34.1" comment-parser "1.4.1" - esquery "^1.6.0" - jsdoc-type-pratt-parser "~4.1.0" + esquery "^1.5.0" + jsdoc-type-pratt-parser "~4.0.0" "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -2737,11 +2735,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== -"@types/estree@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== - "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -3110,11 +3103,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.13.0.tgz#da1de4ae905b1b9ff682cab0bed6b2e3be9c04e5" integrity sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg== -"@typescript-eslint/types@^8.34.1": - version "8.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.38.0.tgz#297351c994976b93c82ac0f0e206c8143aa82529" - integrity sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw== - "@typescript-eslint/typescript-estree@5.13.0": version "5.13.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz#b37c07b748ff030a3e93d87c842714e020b78141" @@ -3941,7 +3929,7 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: +acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -3966,11 +3954,6 @@ acorn@^8.0.4, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== -acorn@^8.15.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" - integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== - adm-zip@^0.5.9: version "0.5.9" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.9.tgz#b33691028333821c0cf95c31374c5462f2905a83" @@ -4703,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" @@ -5751,13 +5739,6 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" - integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== - dependencies: - ms "^2.1.3" - decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -6390,20 +6371,19 @@ eslint-plugin-jest@^25.2.3: dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" -eslint-plugin-jsdoc@^37.0.3, eslint-plugin-jsdoc@^51.0.0: - version "51.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-51.4.1.tgz#a512460da6ba328ac3be0c3e7b2aaa4633175625" - integrity sha512-y4CA9OkachG8v5nAtrwvcvjIbdcKgSyS6U//IfQr4FZFFyeBFwZFf/tfSsMr46mWDJgidZjBTqoCRlXywfFBMg== +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.52.0" + "@es-joy/jsdoccomment" "~0.41.0" are-docs-informative "^0.0.2" comment-parser "1.4.1" - debug "^4.4.1" + debug "^4.3.4" escape-string-regexp "^4.0.0" - espree "^10.4.0" - esquery "^1.6.0" - parse-imports-exports "^0.2.4" - semver "^7.7.2" + esquery "^1.5.0" + is-builtin-module "^3.2.1" + semver "^7.5.4" spdx-expression-parse "^4.0.0" eslint-plugin-jsx-a11y@^6.5.1: @@ -6501,11 +6481,6 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint-visitor-keys@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" - integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== - eslint-webpack-plugin@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.1.1.tgz#83dad2395e5f572d6f4d919eedaa9cf902890fcb" @@ -6604,15 +6579,6 @@ eslint@^8.3.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" - integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== - dependencies: - acorn "^8.15.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.1" - espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -6643,7 +6609,7 @@ esquery@^1.4.0: dependencies: estraverse "^5.1.0" -esquery@^1.6.0: +esquery@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== @@ -8212,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" @@ -9084,10 +9057,10 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdoc-type-pratt-parser@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz#ff6b4a3f339c34a6c188cbf50a16087858d22113" - integrity sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg== +jsdoc-type-pratt-parser@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz#136f0571a99c184d84ec84662c45c29ceff71114" + integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== jsdom@^16.6.0: version "16.7.0" @@ -9957,7 +9930,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1, ms@^2.1.3: +ms@2.1.3, ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -10546,13 +10519,6 @@ parse-filepath@^1.0.1: map-cache "^0.2.0" path-root "^0.1.1" -parse-imports-exports@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/parse-imports-exports/-/parse-imports-exports-0.2.4.tgz#e3fb3b5e264cfb55c25b5dfcbe7f410f8dc4e7af" - integrity sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ== - dependencies: - parse-statements "1.0.11" - parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -10568,11 +10534,6 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= -parse-statements@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/parse-statements/-/parse-statements-1.0.11.tgz#8787c5d383ae5746568571614be72b0689584344" - integrity sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA== - parse5@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -12226,7 +12187,7 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -semver@^7.7.2: +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== From ea02743a86f95b450aeecd9b933ad3ef10422a42 Mon Sep 17 00:00:00 2001 From: Evan Herman Date: Tue, 22 Jul 2025 14:32:36 -0400 Subject: [PATCH 8/8] Fix unit tests --- .dev/tests/php/test-core.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.dev/tests/php/test-core.php b/.dev/tests/php/test-core.php index bbe9aa62..25dd992d 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 ) ); }