diff --git a/.github/versions.sh b/.github/versions.sh index 439fc660f8607..a96fbbba552b9 100644 --- a/.github/versions.sh +++ b/.github/versions.sh @@ -2,7 +2,7 @@ PHP_VERSION=8.2 COMPOSER_VERSION=2.8.3 NODE_VERSION=22.9.0 -PNPM_VERSION=9.3.0 +PNPM_VERSION=9.15.0 # Other useful version numbers. MIN_PHP_VERSION=7.2 diff --git a/.husky/post-checkout b/.husky/post-checkout index 9446120543228..2c34b3c5d7416 100755 --- a/.husky/post-checkout +++ b/.husky/post-checkout @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - ./tools/js-tools/git-hooks/post-merge-checkout-hook.sh "$1" diff --git a/.husky/post-merge b/.husky/post-merge index 7399d9143f1bb..1ab789ff25e76 100755 --- a/.husky/post-merge +++ b/.husky/post-merge @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - ./tools/js-tools/git-hooks/post-merge-checkout-hook.sh ORIG_HEAD diff --git a/.husky/pre-commit b/.husky/pre-commit index 3f41ae0243919..7530bd93a2b36 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - node tools/js-tools/git-hooks/pre-commit-hook.js diff --git a/.husky/pre-push b/.husky/pre-push index 300e69f5b8f78..8b85d51a7d8ae 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -1,6 +1,3 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - if test -c /dev/tty && sh -c ': < /dev/tty' >/dev/null 2>/dev/null; then exec < /dev/tty fi diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index 424998f096eea..8483ae624e8fd 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -223,6 +223,16 @@ function afterAllResolved( lockfile ) { return lockfile; } + for ( const [ k, v ] of Object.entries( lockfile.packages ) ) { + // Forbid installing webpack without webpack-cli. It results in lots of spurious lockfile changes. + // https://github.com/pnpm/pnpm/issues/3935 + if ( k.startsWith( 'webpack@' ) && ! v.optionalDependencies?.[ 'webpack-cli' ] ) { + throw new Error( + "Something you've done is trying to add a dependency on webpack without webpack-cli.\nThis is not allowed, as it tends to result in pnpm lockfile flip-flopping.\nSee https://github.com/pnpm/pnpm/issues/3935 for the upstream bug report.\n" + ); + } + } + return lockfile; } diff --git a/package.json b/package.json index c48245d935c8a..954da13145901 100644 --- a/package.json +++ b/package.json @@ -23,21 +23,21 @@ "php:autofix": "composer phpcs:fix", "php:compatibility": "composer phpcs:compatibility", "php:lint": "composer phpcs:lint", - "prepare": "husky install", + "prepare": "husky", "reformat-files": "prettier --ignore-path .eslintignore --write \"**/*.{js,jsx,cjs,mjs,ts,tsx,svelte,json,json5}\"", "version-packages": "bash ./tools/version-packages.sh" }, "devDependencies": { "eslint": "9.16.0", - "husky": "8.0.3", + "husky": "9.1.7", "jetpack-cli": "workspace:*", "jetpack-js-tools": "workspace:*" }, "engines": { "node": "^22.9.0", - "pnpm": "^9.3.0 <9.12.0" + "pnpm": "^9.15.0" }, - "packageManager": "pnpm@9.3.0", + "packageManager": "pnpm@9.15.0", "pnpm": { "patchedDependencies": { "@wordpress/dataviews@4.10.0": ".pnpm-patches/@wordpress__dataviews@4.10.0.patch" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eba1d19846d96..2c0398584de7a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,7 +4,7 @@ settings: autoInstallPeers: false excludeLinksFromLockfile: false -pnpmfileChecksum: kmseazxfbymwdp5ie53bnph5mq +pnpmfileChecksum: elvoqfz3hkxf3joxybwjpabdjm patchedDependencies: '@wordpress/dataviews@4.10.0': @@ -19,8 +19,8 @@ importers: specifier: 9.16.0 version: 9.16.0 husky: - specifier: 8.0.3 - version: 8.0.3 + specifier: 9.1.7 + version: 9.1.7 jetpack-cli: specifier: workspace:* version: link:tools/cli @@ -138,6 +138,9 @@ importers: '@wordpress/api-fetch': specifier: 7.14.0 version: 7.14.0 + '@wordpress/base-styles': + specifier: 5.14.0 + version: 5.14.0 '@wordpress/blob': specifier: 4.14.0 version: 4.14.0 @@ -645,11 +648,11 @@ importers: specifier: 1.0.1 version: 1.0.1 playwright: - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 playwright-core: specifier: ^1.45.1 - version: 1.49.0 + version: 1.49.1 process: specifier: 0.11.10 version: 0.11.10 @@ -673,7 +676,7 @@ importers: version: 4.9.1(webpack@5.94.0) webpack-dev-middleware: specifier: 5.3.4 - version: 5.3.4(webpack@5.94.0(webpack-cli@4.9.1)) + version: 5.3.4(webpack@5.94.0) projects/js-packages/eslint-changed: dependencies: @@ -752,7 +755,7 @@ importers: devDependencies: '@wordpress/dependency-extraction-webpack-plugin': specifier: 6.14.0 - version: 6.14.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.14.0(webpack@5.94.0) '@wordpress/i18n': specifier: 5.14.0 version: 5.14.0 @@ -1440,8 +1443,8 @@ importers: specifier: 7.26.0 version: 7.26.0 '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 '@storybook/addon-a11y': specifier: 8.3.5 version: 8.3.5(storybook@8.3.5) @@ -1456,7 +1459,7 @@ importers: version: 8.3.5(storybook@8.3.5) '@storybook/addon-webpack5-compiler-babel': specifier: ^3.0.3 - version: 3.0.3(webpack@5.94.0(webpack-cli@4.9.1)) + version: 3.0.3(webpack@5.94.0) '@storybook/blocks': specifier: 8.3.5 version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) @@ -1471,7 +1474,7 @@ importers: version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) '@storybook/react-webpack5': specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0)) + version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1) '@storybook/source-loader': specifier: 8.3.5 version: 8.3.5(storybook@8.3.5) @@ -1507,16 +1510,16 @@ importers: version: 2.9.2 babel-loader: specifier: 9.1.2 - version: 9.1.2(@babel/core@7.26.0)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 9.1.2(@babel/core@7.26.0)(webpack@5.94.0) babel-plugin-inline-json-import: specifier: 0.3.2 version: 0.3.2 css-loader: specifier: 6.5.1 - version: 6.5.1(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.5.1(webpack@5.94.0) esbuild-loader: specifier: 3.0.1 - version: 3.0.1(webpack@5.94.0(webpack-cli@4.9.1)) + version: 3.0.1(webpack@5.94.0) jest: specifier: 29.7.0 version: 29.7.0 @@ -1528,7 +1531,7 @@ importers: version: 8.4.47 postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) react: specifier: 18.3.1 version: 18.3.1 @@ -1546,7 +1549,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: specifier: 8.3.5 version: 8.3.5 @@ -1555,7 +1558,7 @@ importers: version: 5.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) style-loader: specifier: 2.0.0 - version: 2.0.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 2.0.0(webpack@5.94.0) ts-dedent: specifier: 2.2.0 version: 2.2.0 @@ -1642,7 +1645,7 @@ importers: version: link:../i18n-loader-webpack-plugin '@automattic/webpack-rtl-plugin': specifier: 6.0.0 - version: 6.0.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.0.0(webpack@5.94.0) '@babel/compat-data': specifier: 7.26.2 version: 7.26.2 @@ -1663,16 +1666,16 @@ importers: version: 7.26.0(@babel/core@7.26.0) '@cerner/duplicate-package-checker-webpack-plugin': specifier: 2.3.0 - version: 2.3.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 2.3.0(webpack@5.94.0) '@wordpress/browserslist-config': specifier: 6.14.0 version: 6.14.0 '@wordpress/dependency-extraction-webpack-plugin': specifier: 6.14.0 - version: 6.14.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.14.0(webpack@5.94.0) babel-loader: specifier: 9.1.2 - version: 9.1.2(@babel/core@7.26.0)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 9.1.2(@babel/core@7.26.0)(webpack@5.94.0) babel-plugin-polyfill-corejs3: specifier: 0.10.6 version: 0.10.6(@babel/core@7.26.0) @@ -1684,22 +1687,22 @@ importers: version: 3.38.1 css-loader: specifier: 6.5.1 - version: 6.5.1(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.5.1(webpack@5.94.0) css-minimizer-webpack-plugin: specifier: 5.0.1 - version: 5.0.1(webpack@5.94.0(webpack-cli@4.9.1)) + version: 5.0.1(webpack@5.94.0) fork-ts-checker-webpack-plugin: specifier: 9.0.2 - version: 9.0.2(typescript@5.0.4)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 9.0.2(typescript@5.0.4)(webpack@5.94.0) mini-css-extract-plugin: specifier: 2.9.1 - version: 2.9.1(webpack@5.94.0(webpack-cli@4.9.1)) + version: 2.9.1(webpack@5.94.0) terser-webpack-plugin: specifier: 5.3.3 - version: 5.3.3(webpack@5.94.0(webpack-cli@4.9.1)) + version: 5.3.3(webpack@5.94.0) thread-loader: specifier: 3.0.4 - version: 3.0.4(webpack@5.94.0(webpack-cli@4.9.1)) + version: 3.0.4(webpack@5.94.0) devDependencies: '@babel/core': specifier: 7.26.0 @@ -1845,7 +1848,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) typescript: specifier: 5.0.4 version: 5.0.4 @@ -1918,7 +1921,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -1945,7 +1948,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -1983,13 +1986,13 @@ importers: version: 8.4.47 postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) sass: specifier: 1.64.1 version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -2041,7 +2044,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -2141,7 +2144,7 @@ importers: version: 2.1.1 copy-webpack-plugin: specifier: 11.0.0 - version: 11.0.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 11.0.0(webpack@5.94.0) email-validator: specifier: 2.0.4 version: 2.0.4 @@ -2245,10 +2248,10 @@ importers: version: 8.4.47 postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) typescript: specifier: 5.0.4 version: 5.0.4 @@ -2379,8 +2382,8 @@ importers: specifier: 7.25.9 version: 7.25.9(@babel/core@7.26.0) '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 '@types/node': specifier: ^20.4.2 version: 20.17.9 @@ -2401,7 +2404,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) typescript: specifier: ^5.0.4 version: 5.7.2 @@ -2425,7 +2428,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -2471,13 +2474,13 @@ importers: version: 8.4.47 postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) sass: specifier: 1.64.1 version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -2616,7 +2619,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: specifier: 8.3.5 version: 8.3.5 @@ -2642,7 +2645,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) tslib: specifier: 2.5.0 version: 2.5.0 @@ -2819,7 +2822,7 @@ importers: version: 6.14.0 '@wordpress/dependency-extraction-webpack-plugin': specifier: 6.14.0 - version: 6.14.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.14.0(webpack@5.94.0) autoprefixer: specifier: 10.4.14 version: 10.4.14(postcss@8.4.47) @@ -2846,13 +2849,13 @@ importers: version: 12.1.7(postcss@8.4.47) postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) sass: specifier: 1.64.1 version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) size-limit: specifier: 11.1.6 version: 11.1.6(@size-limit/preset-app@11.1.6) @@ -3013,7 +3016,7 @@ importers: version: 7.6.0 copy-webpack-plugin: specifier: 11.0.0 - version: 11.0.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 11.0.0(webpack@5.94.0) jest: specifier: 29.7.0 version: 29.7.0 @@ -3028,7 +3031,7 @@ importers: version: 12.1.7(postcss@8.4.47) postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) require-from-string: specifier: 2.0.2 version: 2.0.2 @@ -3037,7 +3040,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: specifier: 8.3.5 version: 8.3.5 @@ -3191,7 +3194,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -3257,7 +3260,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -3345,7 +3348,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -3356,8 +3359,8 @@ importers: projects/plugins/automattic-for-agencies-client/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -3402,7 +3405,7 @@ importers: version: 2.1.1 copy-webpack-plugin: specifier: 11.0.0 - version: 11.0.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 11.0.0(webpack@5.94.0) history: specifier: 5.3.0 version: 5.3.0 @@ -3493,7 +3496,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: specifier: 8.3.5 version: 8.3.5 @@ -3513,8 +3516,8 @@ importers: projects/plugins/boost/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -3593,7 +3596,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -3604,8 +3607,8 @@ importers: projects/plugins/classic-theme-helper-plugin/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -3702,7 +3705,7 @@ importers: version: 29.3.1(@babel/core@7.26.0) css-loader: specifier: 6.5.1 - version: 6.5.1(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.5.1(webpack@5.94.0) glob: specifier: 10.4.1 version: 10.4.1 @@ -3717,7 +3720,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) typescript: specifier: 5.0.4 version: 5.0.4 @@ -3919,7 +3922,7 @@ importers: version: 1.0.1 copy-webpack-plugin: specifier: 11.0.0 - version: 11.0.0(webpack@5.94.0(webpack-cli@4.9.1)) + version: 11.0.0(webpack@5.94.0) crypto-js: specifier: 4.2.0 version: 4.2.0 @@ -4134,13 +4137,13 @@ importers: version: 8.4.47 postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) regenerator-runtime: specifier: 0.13.9 version: 0.13.9 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) typescript: specifier: 5.0.4 version: 5.0.4 @@ -4148,8 +4151,8 @@ importers: projects/plugins/jetpack/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -4257,7 +4260,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) typescript: specifier: 5.0.4 version: 5.0.4 @@ -4273,8 +4276,8 @@ importers: projects/plugins/search/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -4395,13 +4398,13 @@ importers: version: 12.1.7(postcss@8.4.47) postcss-loader: specifier: 6.2.0 - version: 6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 6.2.0(postcss@8.4.47)(webpack@5.94.0) sass: specifier: 1.64.1 version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -4412,8 +4415,8 @@ importers: projects/plugins/social/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -4492,7 +4495,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -4503,8 +4506,8 @@ importers: projects/plugins/starter-plugin/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -4597,7 +4600,7 @@ importers: version: 1.64.1 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)) + version: 12.4.0(sass@1.64.1)(webpack@5.94.0) webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -4608,8 +4611,8 @@ importers: projects/plugins/videopress/tests/e2e: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 allure-playwright: specifier: 2.9.2 version: 2.9.2 @@ -4726,8 +4729,8 @@ importers: tools/e2e-commons: devDependencies: '@playwright/test': - specifier: 1.45.1 - version: 1.45.1 + specifier: 1.48.2 + version: 1.48.2 '@slack/web-api': specifier: 7.3.2 version: 7.3.2 @@ -4805,7 +4808,7 @@ importers: version: 6.5.0 '@wordpress/eslint-plugin': specifier: 22.0.0 - version: 22.0.0(@babel/core@7.26.0)(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0))(eslint-plugin-jest@28.9.0(eslint@9.16.0)(jest@29.7.0)(typescript@5.0.4))(eslint-plugin-jsdoc@50.6.0(eslint@9.16.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0))(eslint-plugin-playwright@2.1.0(eslint@9.16.0))(eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint@9.16.0)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.1.0(eslint@9.16.0))(eslint-plugin-react@7.37.2(eslint@9.16.0))(eslint@9.16.0)(typescript@5.0.4)(wp-prettier@3.0.3) + version: 22.0.0(@babel/core@7.26.0)(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint-plugin-import@2.31.0)(eslint-plugin-jest@28.9.0(eslint@9.16.0)(jest@29.7.0)(typescript@5.0.4))(eslint-plugin-jsdoc@50.6.0(eslint@9.16.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0))(eslint-plugin-playwright@2.1.0(eslint@9.16.0))(eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint@9.16.0)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.1.0(eslint@9.16.0))(eslint-plugin-react@7.37.2(eslint@9.16.0))(eslint@9.16.0)(typescript@5.0.4)(wp-prettier@3.0.3) '@wordpress/jest-console': specifier: 8.14.0 version: 8.14.0(jest@29.7.0) @@ -6509,8 +6512,8 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@playwright/test@1.45.1': - resolution: {integrity: sha512-Wo1bWTzQvGA7LyKGIZc8nFSTFf2TkthGIFBR+QVNilvwouGzFd4PYukZe3rvf5PSqjHi1+1NyKSDZKcQWETzaA==} + '@playwright/test@1.48.2': + resolution: {integrity: sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==} engines: {node: '>=18'} hasBin: true @@ -10768,9 +10771,9 @@ packages: humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - husky@8.0.3: - resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} - engines: {node: '>=14'} + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} hasBin: true iconv-lite@0.4.24: @@ -12372,18 +12375,18 @@ packages: resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} engines: {node: '>=14.16'} - playwright-core@1.45.1: - resolution: {integrity: sha512-LF4CUUtrUu2TCpDw4mcrAIuYrEjVDfT1cHbJMfwnE2+1b8PZcFzPNgvZCvq2JfQ4aTjRCCHw5EJ2tmr2NSzdPg==} + playwright-core@1.48.2: + resolution: {integrity: sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==} engines: {node: '>=18'} hasBin: true - playwright-core@1.49.0: - resolution: {integrity: sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==} + playwright-core@1.49.1: + resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==} engines: {node: '>=18'} hasBin: true - playwright@1.45.1: - resolution: {integrity: sha512-Hjrgae4kpSQBr98nhCj3IScxVeVUixqj+5oyif8TdIn2opTCPEzqAqNMeK42i3cWDCVu9MI+ZsGWw+gVR4ISBg==} + playwright@1.48.2: + resolution: {integrity: sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==} engines: {node: '>=18'} hasBin: true @@ -14840,7 +14843,7 @@ snapshots: '@automattic/viewport@1.0.0': {} - '@automattic/webpack-rtl-plugin@6.0.0(webpack@5.94.0(webpack-cli@4.9.1))': + '@automattic/webpack-rtl-plugin@6.0.0(webpack@5.94.0)': dependencies: rtlcss: 3.5.0 webpack: 5.94.0(webpack-cli@4.9.1) @@ -15660,7 +15663,7 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@cerner/duplicate-package-checker-webpack-plugin@2.3.0(webpack@5.94.0(webpack-cli@4.9.1))': + '@cerner/duplicate-package-checker-webpack-plugin@2.3.0(webpack@5.94.0)': dependencies: chalk: 4.1.2 find-root: 1.1.0 @@ -16487,9 +16490,9 @@ snapshots: '@pkgr/core@0.1.1': {} - '@playwright/test@1.45.1': + '@playwright/test@1.48.2': dependencies: - playwright: 1.45.1 + playwright: 1.48.2 '@popperjs/core@2.11.8': {} @@ -17185,21 +17188,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@size-limit/file@11.1.6(size-limit@11.1.6(@size-limit/preset-app@11.1.6))': + '@size-limit/file@11.1.6(size-limit@11.1.6)': dependencies: size-limit: 11.1.6(@size-limit/preset-app@11.1.6) '@size-limit/preset-app@11.1.6(size-limit@11.1.6)': dependencies: - '@size-limit/file': 11.1.6(size-limit@11.1.6(@size-limit/preset-app@11.1.6)) - '@size-limit/time': 11.1.6(size-limit@11.1.6(@size-limit/preset-app@11.1.6)) + '@size-limit/file': 11.1.6(size-limit@11.1.6) + '@size-limit/time': 11.1.6(size-limit@11.1.6) size-limit: 11.1.6(@size-limit/preset-app@11.1.6) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@size-limit/time@11.1.6(size-limit@11.1.6(@size-limit/preset-app@11.1.6))': + '@size-limit/time@11.1.6(size-limit@11.1.6)': dependencies: estimo: 3.0.3 size-limit: 11.1.6(@size-limit/preset-app@11.1.6) @@ -17341,10 +17344,10 @@ snapshots: memoizerific: 1.11.3 storybook: 8.3.5 - '@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.94.0(webpack-cli@4.9.1))': + '@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.94.0)': dependencies: '@babel/core': 7.26.0 - babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.94.0(webpack-cli@4.9.1)) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.94.0) transitivePeerDependencies: - supports-color - webpack @@ -17380,7 +17383,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-webpack5@8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0))': + '@storybook/builder-webpack5@8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1)': dependencies: '@storybook/core-webpack': 8.3.5(storybook@8.3.5) '@types/node': 22.10.1 @@ -17389,25 +17392,25 @@ snapshots: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.1 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.94.0(webpack-cli@4.9.1)) + css-loader: 6.11.0(webpack@5.94.0) es-module-lexer: 1.5.4 express: 4.21.2 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.4)(webpack@5.94.0(webpack-cli@4.9.1)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.4)(webpack@5.94.0) fs-extra: 11.2.0 - html-webpack-plugin: 5.6.3(webpack@5.94.0(webpack-cli@4.9.1)) + html-webpack-plugin: 5.6.3(webpack@5.94.0) magic-string: 0.30.14 path-browserify: 1.0.1 process: 0.11.10 semver: 7.5.2 storybook: 8.3.5 - style-loader: 3.3.4(webpack@5.94.0(webpack-cli@4.9.1)) - terser-webpack-plugin: 5.3.3(webpack@5.94.0(webpack-cli@4.9.1)) + style-loader: 3.3.4(webpack@5.94.0) + terser-webpack-plugin: 5.3.3(webpack@5.94.0) ts-dedent: 2.2.0 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 webpack: 5.94.0(webpack-cli@4.9.1) - webpack-dev-middleware: 6.1.3(webpack@5.94.0(webpack-cli@4.9.1)) + webpack-dev-middleware: 6.1.3(webpack@5.94.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: @@ -17520,11 +17523,11 @@ snapshots: dependencies: storybook: 8.4.6 - '@storybook/preset-react-webpack@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0))': + '@storybook/preset-react-webpack@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1)': dependencies: '@storybook/core-webpack': 8.3.5(storybook@8.3.5) '@storybook/react': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.0.4)(webpack@5.94.0(webpack-cli@4.9.1)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.0.4)(webpack@5.94.0) '@types/node': 22.10.1 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -17560,7 +17563,7 @@ snapshots: dependencies: storybook: 8.4.6 - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.0.4)(webpack@5.94.0(webpack-cli@4.9.1))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.0.4)(webpack@5.94.0)': dependencies: debug: 4.3.4 endent: 2.1.0 @@ -17586,10 +17589,10 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.4.6 - '@storybook/react-webpack5@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0))': + '@storybook/react-webpack5@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1)': dependencies: - '@storybook/builder-webpack5': 8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0)) - '@storybook/preset-react-webpack': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1(webpack@5.94.0)) + '@storybook/builder-webpack5': 8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1) + '@storybook/preset-react-webpack': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1) '@storybook/react': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) '@types/node': 22.10.1 react: 18.3.1 @@ -17679,7 +17682,7 @@ snapshots: jest-serializer-html: 7.1.0 jest-watch-typeahead: 2.2.2(jest@29.7.0) nyc: 15.1.0 - playwright: 1.45.1 + playwright: 1.48.2 transitivePeerDependencies: - '@swc/helpers' - '@types/node' @@ -18724,17 +18727,17 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@1.2.0(webpack-cli@4.9.1(webpack@5.94.0))(webpack@5.94.0(webpack-cli@4.9.1))': + '@webpack-cli/configtest@1.2.0(webpack-cli@4.9.1)(webpack@5.94.0)': dependencies: webpack: 5.94.0(webpack-cli@4.9.1) webpack-cli: 4.9.1(webpack@5.94.0) - '@webpack-cli/info@1.5.0(webpack-cli@4.9.1(webpack@5.94.0))': + '@webpack-cli/info@1.5.0(webpack-cli@4.9.1)': dependencies: envinfo: 7.14.0 webpack-cli: 4.9.1(webpack@5.94.0) - '@webpack-cli/serve@1.7.0(webpack-cli@4.9.1(webpack@5.94.0))': + '@webpack-cli/serve@1.7.0(webpack-cli@4.9.1)': dependencies: webpack-cli: 4.9.1(webpack@5.94.0) @@ -19694,7 +19697,7 @@ snapshots: moment: 2.29.4 moment-timezone: 0.5.46 - '@wordpress/dependency-extraction-webpack-plugin@6.14.0(webpack@5.94.0(webpack-cli@4.9.1))': + '@wordpress/dependency-extraction-webpack-plugin@6.14.0(webpack@5.94.0)': dependencies: json2php: 0.0.7 webpack: 5.94.0(webpack-cli@4.9.1) @@ -19993,7 +19996,7 @@ snapshots: dependencies: '@babel/runtime': 7.25.7 - '@wordpress/eslint-plugin@22.0.0(@babel/core@7.26.0)(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint-plugin-import@2.31.0(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0))(eslint-plugin-jest@28.9.0(eslint@9.16.0)(jest@29.7.0)(typescript@5.0.4))(eslint-plugin-jsdoc@50.6.0(eslint@9.16.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0))(eslint-plugin-playwright@2.1.0(eslint@9.16.0))(eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint@9.16.0)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.1.0(eslint@9.16.0))(eslint-plugin-react@7.37.2(eslint@9.16.0))(eslint@9.16.0)(typescript@5.0.4)(wp-prettier@3.0.3)': + '@wordpress/eslint-plugin@22.0.0(@babel/core@7.26.0)(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint-plugin-import@2.31.0)(eslint-plugin-jest@28.9.0(eslint@9.16.0)(jest@29.7.0)(typescript@5.0.4))(eslint-plugin-jsdoc@50.6.0(eslint@9.16.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0))(eslint-plugin-playwright@2.1.0(eslint@9.16.0))(eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint@9.16.0)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.1.0(eslint@9.16.0))(eslint-plugin-react@7.37.2(eslint@9.16.0))(eslint@9.16.0)(typescript@5.0.4)(wp-prettier@3.0.3)': dependencies: '@babel/core': 7.26.0 '@babel/eslint-parser': 7.25.9(@babel/core@7.26.0)(eslint@9.16.0) @@ -21075,14 +21078,14 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.1.2(@babel/core@7.26.0)(webpack@5.94.0(webpack-cli@4.9.1)): + babel-loader@9.1.2(@babel/core@7.26.0)(webpack@5.94.0): dependencies: '@babel/core': 7.26.0 find-cache-dir: 3.3.2 schema-utils: 4.2.0 webpack: 5.94.0(webpack-cli@4.9.1) - babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.94.0(webpack-cli@4.9.1)): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.94.0): dependencies: '@babel/core': 7.26.0 find-cache-dir: 4.0.0 @@ -21717,7 +21720,7 @@ snapshots: cookie@1.0.1: {} - copy-webpack-plugin@11.0.0(webpack@5.94.0(webpack-cli@4.9.1)): + copy-webpack-plugin@11.0.0(webpack@5.94.0): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -21796,7 +21799,7 @@ snapshots: dependencies: postcss: 8.4.47 - css-loader@6.11.0(webpack@5.94.0(webpack-cli@4.9.1)): + css-loader@6.11.0(webpack@5.94.0): dependencies: icss-utils: 5.1.0(postcss@8.4.47) postcss: 8.4.47 @@ -21809,7 +21812,7 @@ snapshots: optionalDependencies: webpack: 5.94.0(webpack-cli@4.9.1) - css-loader@6.5.1(webpack@5.94.0(webpack-cli@4.9.1)): + css-loader@6.5.1(webpack@5.94.0): dependencies: icss-utils: 5.1.0(postcss@8.4.47) postcss: 8.4.47 @@ -21821,7 +21824,7 @@ snapshots: semver: 7.5.2 webpack: 5.94.0(webpack-cli@4.9.1) - css-minimizer-webpack-plugin@5.0.1(webpack@5.94.0(webpack-cli@4.9.1)): + css-minimizer-webpack-plugin@5.0.1(webpack@5.94.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 cssnano: 6.1.2(postcss@8.4.47) @@ -22428,7 +22431,7 @@ snapshots: es6-error@4.1.1: {} - esbuild-loader@3.0.1(webpack@5.94.0(webpack-cli@4.9.1)): + esbuild-loader@3.0.1(webpack@5.94.0): dependencies: esbuild: 0.17.19 get-tsconfig: 4.8.1 @@ -22582,7 +22585,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0))(eslint@9.16.0): + eslint-module-utils@2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -22610,7 +22613,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.16.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0))(eslint@9.16.0) + eslint-module-utils: 2.12.0(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -23149,7 +23152,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@5.0.4)(webpack@5.94.0(webpack-cli@4.9.1)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.0.4)(webpack@5.94.0): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -23166,7 +23169,7 @@ snapshots: typescript: 5.0.4 webpack: 5.94.0(webpack-cli@4.9.1) - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.0.4)(webpack@5.94.0(webpack-cli@4.9.1)): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.0.4)(webpack@5.94.0): dependencies: '@babel/code-frame': 7.26.2 chalk: 4.1.2 @@ -23510,7 +23513,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.3(webpack@5.94.0(webpack-cli@4.9.1)): + html-webpack-plugin@5.6.3(webpack@5.94.0): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -23588,7 +23591,7 @@ snapshots: dependencies: ms: 2.1.3 - husky@8.0.3: {} + husky@9.1.7: {} iconv-lite@0.4.24: dependencies: @@ -24196,7 +24199,7 @@ snapshots: jest-process-manager: 0.4.0 jest-runner: 29.7.0 nyc: 15.1.0 - playwright-core: 1.49.0 + playwright-core: 1.49.1 rimraf: 3.0.2 uuid: 8.3.2 transitivePeerDependencies: @@ -25154,7 +25157,7 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.1(webpack@5.94.0(webpack-cli@4.9.1)): + mini-css-extract-plugin@2.9.1(webpack@5.94.0): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 @@ -25657,13 +25660,13 @@ snapshots: dependencies: find-up: 6.3.0 - playwright-core@1.45.1: {} + playwright-core@1.48.2: {} - playwright-core@1.49.0: {} + playwright-core@1.49.1: {} - playwright@1.45.1: + playwright@1.48.2: dependencies: - playwright-core: 1.45.1 + playwright-core: 1.48.2 optionalDependencies: fsevents: 2.3.2 @@ -25723,7 +25726,7 @@ snapshots: optionalDependencies: postcss: 8.4.47 - postcss-loader@6.2.0(postcss@8.4.47)(webpack@5.94.0(webpack-cli@4.9.1)): + postcss-loader@6.2.0(postcss@8.4.47)(webpack@5.94.0): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -26707,7 +26710,7 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@12.4.0(sass@1.64.1)(webpack@5.94.0(webpack-cli@4.9.1)): + sass-loader@12.4.0(sass@1.64.1)(webpack@5.94.0): dependencies: klona: 2.0.6 neo-async: 2.6.2 @@ -27174,13 +27177,13 @@ snapshots: style-inject@0.3.0: {} - style-loader@2.0.0(webpack@5.94.0(webpack-cli@4.9.1)): + style-loader@2.0.0(webpack@5.94.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 webpack: 5.94.0(webpack-cli@4.9.1) - style-loader@3.3.4(webpack@5.94.0(webpack-cli@4.9.1)): + style-loader@3.3.4(webpack@5.94.0): dependencies: webpack: 5.94.0(webpack-cli@4.9.1) @@ -27348,7 +27351,7 @@ snapshots: dependencies: memoizerific: 1.11.3 - terser-webpack-plugin@5.3.10(webpack@5.94.0(webpack-cli@4.9.1)): + terser-webpack-plugin@5.3.10(webpack@5.94.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -27357,7 +27360,7 @@ snapshots: terser: 5.37.0 webpack: 5.94.0(webpack-cli@4.9.1) - terser-webpack-plugin@5.3.3(webpack@5.94.0(webpack-cli@4.9.1)): + terser-webpack-plugin@5.3.3(webpack@5.94.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -27385,7 +27388,7 @@ snapshots: text-hex@1.0.0: {} - thread-loader@3.0.4(webpack@5.94.0(webpack-cli@4.9.1)): + thread-loader@3.0.4(webpack@5.94.0): dependencies: json-parse-better-errors: 1.0.2 loader-runner: 4.3.0 @@ -27871,9 +27874,9 @@ snapshots: webpack-cli@4.9.1(webpack@5.94.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.9.1(webpack@5.94.0))(webpack@5.94.0(webpack-cli@4.9.1)) - '@webpack-cli/info': 1.5.0(webpack-cli@4.9.1(webpack@5.94.0)) - '@webpack-cli/serve': 1.7.0(webpack-cli@4.9.1(webpack@5.94.0)) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.9.1)(webpack@5.94.0) + '@webpack-cli/info': 1.5.0(webpack-cli@4.9.1) + '@webpack-cli/serve': 1.7.0(webpack-cli@4.9.1) colorette: 2.0.20 commander: 7.2.0 execa: 5.1.1 @@ -27884,7 +27887,7 @@ snapshots: webpack: 5.94.0(webpack-cli@4.9.1) webpack-merge: 5.10.0 - webpack-dev-middleware@5.3.4(webpack@5.94.0(webpack-cli@4.9.1)): + webpack-dev-middleware@5.3.4(webpack@5.94.0): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -27893,7 +27896,7 @@ snapshots: schema-utils: 4.2.0 webpack: 5.94.0(webpack-cli@4.9.1) - webpack-dev-middleware@6.1.3(webpack@5.94.0(webpack-cli@4.9.1)): + webpack-dev-middleware@6.1.3(webpack@5.94.0): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -27946,7 +27949,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.94.0(webpack-cli@4.9.1)) + terser-webpack-plugin: 5.3.10(webpack@5.94.0) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: diff --git a/projects/js-packages/ai-client/changelog/change-jetpack-ai-rate-logo-generator b/projects/js-packages/ai-client/changelog/change-jetpack-ai-rate-logo-generator new file mode 100644 index 0000000000000..7050a2b22fc3a --- /dev/null +++ b/projects/js-packages/ai-client/changelog/change-jetpack-ai-rate-logo-generator @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +Jetpack AI: Add thumbs up/down component to AI logo generator diff --git a/projects/js-packages/ai-client/package.json b/projects/js-packages/ai-client/package.json index f101983f9841d..30c9e9be2f2bf 100644 --- a/projects/js-packages/ai-client/package.json +++ b/projects/js-packages/ai-client/package.json @@ -52,6 +52,7 @@ "@types/react": "18.3.12", "@types/wordpress__block-editor": "11.5.15", "@wordpress/api-fetch": "7.14.0", + "@wordpress/base-styles": "5.14.0", "@wordpress/blob": "4.14.0", "@wordpress/block-editor": "14.9.0", "@wordpress/components": "29.0.0", diff --git a/projects/js-packages/ai-client/src/components/ai-feedback/index.tsx b/projects/js-packages/ai-client/src/components/ai-feedback/index.tsx new file mode 100644 index 0000000000000..a6f6ed67ebbf1 --- /dev/null +++ b/projects/js-packages/ai-client/src/components/ai-feedback/index.tsx @@ -0,0 +1,133 @@ +/** + * External dependencies + */ +import { + useAnalytics, + getJetpackExtensionAvailability, +} from '@automattic/jetpack-shared-extension-utils'; +import { Button, Tooltip } from '@wordpress/components'; +import { useEffect, useState } from '@wordpress/element'; +import { __ } from '@wordpress/i18n'; +import { thumbsUp, thumbsDown } from '@wordpress/icons'; +import clsx from 'clsx'; +/* + * Internal dependencies + */ +import './style.scss'; +/** + * Types + */ +import type React from 'react'; + +type AiFeedbackThumbsProps = { + disabled?: boolean; + iconSize?: number; + ratedItem?: string; + feature?: string; + savedRatings?: Record< string, string >; + options?: { + mediaLibraryId?: number; + prompt?: string; + revisedPrompt?: string; + }; + onRate?: ( rating: string ) => void; +}; + +/** + * Get the availability of a feature. + * + * @param {string} feature - The feature to check availability for. + * @return {boolean} - Whether the feature is available. + */ +function getFeatureAvailability( feature: string ): boolean { + return getJetpackExtensionAvailability( feature ).available === true; +} + +/** + * AiFeedbackThumbs component. + * + * @param {AiFeedbackThumbsProps} props - component props. + * @return {React.ReactElement} - rendered component. + */ +export default function AiFeedbackThumbs( { + disabled = false, + iconSize = 24, + ratedItem = '', + feature = '', + savedRatings = {}, + options = {}, + onRate, +}: AiFeedbackThumbsProps ): React.ReactElement { + if ( ! getFeatureAvailability( 'ai-response-feedback' ) ) { + return null; + } + + const [ itemsRated, setItemsRated ] = useState( {} ); + const { tracks } = useAnalytics(); + + useEffect( () => { + const newItemsRated = { ...savedRatings, ...itemsRated }; + + if ( JSON.stringify( newItemsRated ) !== JSON.stringify( itemsRated ) ) { + setItemsRated( newItemsRated ); + } + }, [ savedRatings ] ); + + const checkThumb = ( thumbValue: string ) => { + if ( ! itemsRated[ ratedItem ] ) { + return false; + } + + return itemsRated[ ratedItem ] === thumbValue; + }; + + const rateAI = ( isThumbsUp: boolean ) => { + const aiRating = isThumbsUp ? 'thumbs-up' : 'thumbs-down'; + + if ( ! checkThumb( aiRating ) ) { + setItemsRated( { + ...itemsRated, + [ ratedItem ]: aiRating, + } ); + + onRate?.( aiRating ); + + tracks.recordEvent( 'jetpack_ai_feedback', { + type: feature, + rating: aiRating, + mediaLibraryId: options.mediaLibraryId || null, + prompt: options.prompt || null, + revisedPrompt: options.revisedPrompt || null, + } ); + } + }; + + return ( +