From 9a0819b9723a0c1b09b3318cecbcd9782f7da013 Mon Sep 17 00:00:00 2001
From: upwardmomentum84 <93800099+upwardmomentum84@users.noreply.github.com>
Date: Tue, 2 Dec 2025 11:00:04 -0500
Subject: [PATCH 01/49] Update class-jetpack-plugin-compatibility.php
In reference to the Audit Blocked Plugins Project - https://linear.app/a8c/project/audit-blocked-plugins-0e4e3a73bb43/overview . This commit covers all plugins reviewed as part of "Group 1" of the project (categories: Email, Backup, and Miscellaneous).
Summary of plugin changes here: https://atomicrequests.wordpress.com/2025/07/14/incompatible-plugins-block-outreach-requests-2025/#comment-68191
Some lines were moved to group in proper categories and sort alphabetically. This is to align with other platform code that blocks incompatible plugins.
---
.../class-jetpack-plugin-compatibility.php | 38 +++++--------------
1 file changed, 9 insertions(+), 29 deletions(-)
diff --git a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
index 68a2ccff2448..fc58879551a2 100644
--- a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
+++ b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
@@ -25,22 +25,18 @@ class Jetpack_Plugin_Compatibility {
'advanced-wp-reset/advanced-wp-reset.php' => '"advanced-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'backup/backup.php' => '"backup" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'better-wp-security/better-wp-security.php' => '"better-wp-security" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'cf7-pipedrive-integration/class-cf7-pipedrive.php' => '"cf7-pipedrive-integration" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
'database-browser/database-browser.php' => '"database-browser" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'extended-wp-reset/extended-wp-reset.php' => '"extended-wp-reset" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
'file-manager-advanced/file_manager_advanced.php' => '"file-manager-advanced" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'file-manager/file-manager.php' => '"file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'hide-my-wp/index.php' => '"hide-my-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'plugins-garbage-collector/plugins-garbage-collector.php' => '"plugins-garbage-collector" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'post-type-switcher/post-type-switcher.php' => '"post-type-switcher" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'reset-wp/reset-wp.php' => '"reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'reset/data_reset.php' => '"reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'secure-file-manager/secure-file-manager.php' => '"secure-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'ultimate-reset/ultimate-reset.php' => '"ultimate-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'ultimate-wp-reset/ultimate-wordpress-reset.php' => '"ultimate-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'username-changer/username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'username-updater/username-updater.php' => '"username-updater" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'username-changer/class-username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'vamtam-offline-jetpack/vamtam-offline-jetpack.php' => '"vamtam-offline-jetpack" has been deactivated, an active Jetpack Connection is required for your site to operate properly on WordPress.com.',
'wd-youtube/wd-youtube.php' => '"wd-youtube" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
'wordpress-database-reset/wp-reset.php' => '"wordpress-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
@@ -61,11 +57,13 @@ class Jetpack_Plugin_Compatibility {
// Backup.
'backup-wd/backup-wd.php' => '"backup-wd" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'backupwordpress/backupwordpress.php' => '"backupwordpress" has been deactivated, WordPress.com handles managing your site backups for you.',
'backwpup/backwpup.php' => '"backwpup" has been deactivated, WordPress.com handles managing your site backups for you.',
'backwpup-pro/backwpup.php' => '"backwpup-pro" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'duplicator-pro/duplicator-pro.php' => '"duplicator-pro" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'jetpack-backup/jetpack-backup.php' => '"jetpack-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'wp-db-backup/wp-db-backup.php' => '"wp-db-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'siteground-migrator/siteground-migrator.php' => '"siteground-migrator" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'wp-backitup/wp-backitup.php' => '"wp-backitup" has been deactivated, WordPress.com handles managing your site backups for you.',
// Caching/performance.
'breeze/breeze.php' => '"breeze" has been deactivated, WordPress.com automatically handles caching for your site.',
@@ -82,14 +80,14 @@ class Jetpack_Plugin_Compatibility {
'w3-total-cache/w3-total-cache.php' => '"w3-total-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
'wp-cache/wp-cache.php' => '"wp-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
'wp-fastest-cache/wpFastestCache.php' => '"wp-fastest-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-optimizer/wp-optizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.', // p9F6qB-66o-p2
+ 'wp-optimizer/wp-optimizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.', // p9F6qB-66o-p2
+ 'wp-scss/wp-scss.php' => '"wp-scss" has been deactivated, WordPress.com automatically handles caching for your site.',
'wp-speed-of-light/wp-speed-of-light.php' => '"wp-speed-of-light" has been deactivated, WordPress.com automatically handles caching for your site.',
'wp-super-cache/wp-cache.php' => '"wp-super-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
// SQL heavy.
'another-wordpress-classifieds-plugin/awpcp.php' => '"another-wordpress-classifieds-plugin" has been deactivated, it is known to cause severe database performance issues and is not supported.',
'broken-link-checker/broken-link-checker.php' => '"broken-link-checker" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'leads/leads.php' => '"leads" has been deactivated, it is known to cause severe database performance issues and is not supported.',
'mass-pagesposts-creator/mass-pages-posts-creator.php' => '"mass-pagesposts-creator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
'native-ads-adnow/adnow-widget.php' => '"native-ads-now" has been deactivated, it is known to cause severe database performance issues and is not supported.',
'ol_scrapes/ol_scrapes.php' => '"ol_scrapes" has been deactivated, it is known to cause severe database performance issues and is not supported.',
@@ -113,21 +111,16 @@ class Jetpack_Plugin_Compatibility {
// Security.
'antihacker/antihacker.php' => '"antihacker" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'deactivate-xml-rpc-service/deactivate-xml-rpc-service.php' => '"deactivate-xml-rpc-service" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
'disable-xml-rpc-api/disable-xml-rpc-api.php' => '"disable-xml-rpc-api" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'disable-xml-rpc-fully/disable-xml-rpc-fully.php' => '"disable-xml-rpc-fully" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'disable-xml-rpc-unset-x-pingback/index.php' => '"disable-xml-rpc-unset-x-pingback" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'disable-xml-rpc/disable-xml-rpc.php' => '"disable-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
'manage-xml-rpc/manage-xml-rpc.php' => '"manage-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
'one-click-ssl/ssl.php' => '"one-click-ssl" has been deactivated, because it is not supported on WordPress.com.',
+ 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
'really-simple-ssl-pro/really-simple-ssl-pro.php' => '"really-simple-ssl-pro" is not supported on WordPress.com.',
'sg-security/sg-security.php' => '"sg-security" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'simple-xml-rpc-disabler/simple-xml-rpc-disabler.php' => '"simple-xml-rpc-disabler" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
'stopbadbots/stopbadbots.php' => '"stopbadbots" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
'wee-remove-xmlrpc-methods/wee-remove-xmlrpc-methods.php' => '"wee-remove-xmlrpc-methods" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
'wordfence/wordfence.php' => '"wordfence" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
'wp-hide-security-enhancer/wp-hide.php' => '"wp-hide-security-enhancer" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wp-security-hardening/wp-hardening.php' => '"wp-security-hardening" has been deactivated. It breaks WordPress.com required plugins.', // p9F6qB-66o-p2
'wp-simple-firewall/wp-simple-firewall.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'wp-simple-firewall/icwp-wpsf.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
@@ -136,9 +129,6 @@ class Jetpack_Plugin_Compatibility {
'mailit/mailit.php' => '"mailit" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
'send-email-from-admin/send-email-from-admin.php' => '"send-email-from-admin" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
- // Cloning/staging.
- 'flo-launch/flo-launch.php' => 'Staging plugins delete data necessary to manage your site and are not supported on WordPress.com. flo-launch has been deactivated.',
-
// Misc.
'adult-mass-photos-downloader/adult-mass-photos-downloader.php' => '"adult-mass-photos-downloader" is not supported on WordPress.com.',
'adult-mass-videos-embedder/adult-mass-videos-embedder.php' => '"adult-mass-videos-embedder" is not supported on WordPress.com.',
@@ -147,12 +137,7 @@ class Jetpack_Plugin_Compatibility {
'blogmatic-poster/index.php' => '"blogmatic-poster" is not supported on WordPress.com.',
'blogmatic/index.php' => '"blogmatic" is not supported on WordPress.com.',
'bwp-minify/bwp-minify.php' => '"bwp-minify" is not supported on WordPress.com.',
- 'clearfy/clearfy.php' => '"clearfy" is not supported on WordPress.com.',
- 'cornerstone/main.php' => '"cornerstone" is not supported on WordPress.com.',
- 'cryptocurrency-pricing-list/cryptocurrency-pricing-list-and-ticker.php' => '"cryptocurrency-pricing-list" is not supported on WordPress.com.',
'db-access-adminer/db-access-adminer.php' => '"db-access-adminer" is not supported on WordPress.com.',
- 'event-espresso-decaf/espresso.php' => '"event-espresso-decaf" is not supported on WordPress.com.',
- 'facetwp-manipulator/facetwp-manipulator.php' => '"facetwp-manipulator" is not supported on WordPress.com.',
'fast-velocity-minify/fvm.php' => '"fast-velocity-minify" is not supported on WordPress.com.',
'nginx-helper/nginx-helper.php' => '"nginx-helper" is not supported on WordPress.com.',
'p3/p3.php' => '"p3" is not supported on WordPress.com.',
@@ -160,21 +145,16 @@ class Jetpack_Plugin_Compatibility {
'plugin-detective/plugin-detective.php' => '"plugin-detective" is not supported on WordPress.com.',
'porn-embed/Porn-Embed.php' => '"porn-embed" is not supported on WordPress.com.',
'propellerads-official/propeller-ads.php' => '"propellerads-official" is not supported on WordPress.com.',
- 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
- 'speed-contact-bar/speed-contact-bar.php' => '"speed-contact-bar" is not supported on WordPress.com.',
'trafficzion/trafficzion.php' => '"trafficzion" is not supported on WordPress.com.',
'tubeace/tubeace.php' => '"tubeace" is not supported on WordPress.com.',
- 'unplug-jetpack/unplug-jetpack.php' => '"unplug-jetpack" is not supported on WordPress.com.',
- 'video-importer/video-importer.php' => '"video-importer" is not supported on WordPress.com.',
'woozone/plugin.php' => '"woozone" is not supported on WordPress.com.',
'wp-cleanfix/index.php' => '"wp-cleanfix" is not supported on WordPress.com.',
'wp-file-upload/wordpress_file_upload.php' => '"wp-file-upload" is not supported on WordPress.com.',
'wp-monero-miner-pro/monero-miner-pro.php' => '"wp-monero-miner-pro" is not supported on WordPress.com.',
- 'wp-monero-miner-using-coin-hive/wp-coin-hive.php' => '"wp-monero-miner-using-coin-hive" is not supported on WordPress.com.',
'wp-optimize-by-xtraffic/wp-optimize-by-xtraffic.php' => '"wp-optimize-by-xtraffic" is not supported on WordPress.com.',
'wpematico/wpematico.php' => '"wpematico" is not supported on WordPress.com.',
'wpstagecoach/wpstagecoach.php' => '"wpstagecoach" is not supported on WordPress.com.', // p9F6qB-66o-p2
- 'yuzo-related-post/yuzo_related_post.php' => '"yuzo-related-post" is not supported on WordPress.com.',
+ 'yuzo-related-post/yuzo.php' => '"yuzo-related-post" is not supported on WordPress.com.',
'zapp-proxy-server/zapp-proxy-server.php' => '"zapp-proxy-server" is not supported on WordPress.com.',
// CRM.
From df94ea8e080c7d3f4e3f495ae0f938572ee71cfc Mon Sep 17 00:00:00 2001
From: upwardmomentum84 <93800099+upwardmomentum84@users.noreply.github.com>
Date: Tue, 2 Dec 2025 11:16:57 -0500
Subject: [PATCH 02/49] Add changelog
---
.../wpcomsh/changelog/update-incompatible-plugins-list | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 projects/plugins/wpcomsh/changelog/update-incompatible-plugins-list
diff --git a/projects/plugins/wpcomsh/changelog/update-incompatible-plugins-list b/projects/plugins/wpcomsh/changelog/update-incompatible-plugins-list
new file mode 100644
index 000000000000..617722b0fac4
--- /dev/null
+++ b/projects/plugins/wpcomsh/changelog/update-incompatible-plugins-list
@@ -0,0 +1,4 @@
+Significance: patch
+Type: changed
+
+Updating incompatible plugins list per Audit Blocked Plugins project for Q4 2025 - https://linear.app/a8c/project/audit-blocked-plugins-0e4e3a73bb43/overview
From c7d01e8c7831f43cea00a550eb062063e937fb8c Mon Sep 17 00:00:00 2001
From: upwardmomentum84 <93800099+upwardmomentum84@users.noreply.github.com>
Date: Tue, 2 Dec 2025 12:08:15 -0500
Subject: [PATCH 03/49] Used ERROR: The specified bootstrap file
"vendor/automattic/jetpack-phpcs-filter/stdin-bootstrap.php" does not exist
Run "phpcbf --help" for usage information to try and resolve PHPCS linting test failure.
---
.../class-jetpack-plugin-compatibility.php | 704 +++++++++---------
1 file changed, 357 insertions(+), 347 deletions(-)
diff --git a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
index fc58879551a2..b52c4bee0232 100644
--- a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
+++ b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
@@ -8,351 +8,361 @@
/**
* Class Jetpack_Plugin_Compatibility.
*/
-class Jetpack_Plugin_Compatibility {
- /**
- * Plugin file locations and html messaging in the format:
- * array(
- * 'example-plugin/example-plugin.php' => 'example-plugin interferes with Jetpack sync and has been disabled.'
- * ),
- * The html messaging is presented as a dismissible error admin notice when an unsupported plugin is deactivated.
- *
- * @var string[]
- */
- public $incompatible_plugins = array(
- // "reset" - break/interfere with provided functionality.
- 'advanced-database-cleaner/advanced-db-cleaner.php' => '"advanced-database-cleaner" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'advanced-reset-wp/advanced-reset-wp.php' => '"advanced-reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'advanced-wp-reset/advanced-wp-reset.php' => '"advanced-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'backup/backup.php' => '"backup" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'better-wp-security/better-wp-security.php' => '"better-wp-security" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'database-browser/database-browser.php' => '"database-browser" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'extended-wp-reset/extended-wp-reset.php' => '"extended-wp-reset" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'file-manager-advanced/file_manager_advanced.php' => '"file-manager-advanced" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'file-manager/file-manager.php' => '"file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'hide-my-wp/index.php' => '"hide-my-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'plugins-garbage-collector/plugins-garbage-collector.php' => '"plugins-garbage-collector" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'reset-wp/reset-wp.php' => '"reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'reset/data_reset.php' => '"reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'secure-file-manager/secure-file-manager.php' => '"secure-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'ultimate-reset/ultimate-reset.php' => '"ultimate-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'ultimate-wp-reset/ultimate-wordpress-reset.php' => '"ultimate-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'username-changer/class-username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'vamtam-offline-jetpack/vamtam-offline-jetpack.php' => '"vamtam-offline-jetpack" has been deactivated, an active Jetpack Connection is required for your site to operate properly on WordPress.com.',
- 'wd-youtube/wd-youtube.php' => '"wd-youtube" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'wordpress-database-reset/wp-reset.php' => '"wordpress-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wordpress-reset/wordpress-reset.php' => '"wordpress-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-automatic/wp-automatic.php' => '"wp-automatic" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'wp-clone-by-wp-academy/wpclone.php' => '"wp-clone-by-wp-academy" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-config-file-editor/wp-config-file-editor.php' => '"wp-config-file-editor" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-dbmanager/wp-dbmanager.php' => '"wp-dbmanager" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-file-manager/file_folder_manager.php' => '"wp-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-phpmyadmin-extension/index.php' => '"wp-phpmyadmin-extension" has been deactivated, it interferes with site operation. You can access phpMyAdmin under Settings > Hosting Config',
- 'wp-prefix-changer/index.php' => '"wp-prefix-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-reset/wp-reset.php' => '"wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-uninstaller-by-azed/wp-uninstaller-by-azed.php' => '"wp-uninstaller-by-azed" is not supported on WordPress.com.',
- 'wpmu-database-reset/wpmu-database-reset.php' => '"wpmu-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wps-hide-login/wps-hide-login.php' => '"wps-hide-login" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'z-inventory-manager/z-inventory-manager.php' => '"z-inventory-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-downgrade/wp-downgrade.php' => '"wp-downgrade" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
-
- // Backup.
- 'backup-wd/backup-wd.php' => '"backup-wd" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'backwpup/backwpup.php' => '"backwpup" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'backwpup-pro/backwpup.php' => '"backwpup-pro" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'duplicator-pro/duplicator-pro.php' => '"duplicator-pro" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'jetpack-backup/jetpack-backup.php' => '"jetpack-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'siteground-migrator/siteground-migrator.php' => '"siteground-migrator" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'wp-backitup/wp-backitup.php' => '"wp-backitup" has been deactivated, WordPress.com handles managing your site backups for you.',
-
- // Caching/performance.
- 'breeze/breeze.php' => '"breeze" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'cache-enabler/cache-enabler.php' => '"cache-enabler" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'comet-cache/comet-cache.php' => '"comet-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'hyper-cache/plugin.php' => '"hyper-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'jch-optimize/jch-optimize.php' => '"jch-optimize" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'object-cache-pro/object-cache-pro.php' => '"object-cache-pro" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'performance-lab/load.php' => '"performance-lab" has been deactivated, WordPress.com automatically handles caching and database optimization for your site.',
- 'powered-cache/powered-cache.php' => '"powered-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'quick-cache/quick-cache.php' => '"quick-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'redis-cache/redis-cache.php' => '"redis-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'sg-cachepress/sg-cachepress.php' => '"sg-cachepress" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'w3-total-cache/w3-total-cache.php' => '"w3-total-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-cache/wp-cache.php' => '"wp-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-fastest-cache/wpFastestCache.php' => '"wp-fastest-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-optimizer/wp-optimizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.', // p9F6qB-66o-p2
- 'wp-scss/wp-scss.php' => '"wp-scss" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-speed-of-light/wp-speed-of-light.php' => '"wp-speed-of-light" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-super-cache/wp-cache.php' => '"wp-super-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
-
- // SQL heavy.
- 'another-wordpress-classifieds-plugin/awpcp.php' => '"another-wordpress-classifieds-plugin" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'broken-link-checker/broken-link-checker.php' => '"broken-link-checker" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'mass-pagesposts-creator/mass-pages-posts-creator.php' => '"mass-pagesposts-creator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'native-ads-adnow/adnow-widget.php' => '"native-ads-now" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'ol_scrapes/ol_scrapes.php' => '"ol_scrapes" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'page-visit-counter/page-visit-counter.php' => '"page-visit-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'post-views-counter/post-views-counter.php' => '"post-views-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'tokenad/token-ad.php' => '"tokenad" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'top-10/top-10.php' => '"top-10" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'userpro/index.php' => '"userpro" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wordpress-popular-posts/wordpress-popular-posts.php' => '"wordpress-popular-posts" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-cerber/wp-cerber.php' => '"wp-cerber" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-inject/wpinject.php' => '"wp-inject" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-postviews/wp-postviews.php' => '"wp-postviews" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-rss-aggregator/wp-rss-aggregator.php' => '"wp-rss-aggregator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' => '"wp-rss-feed-to-post" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-rss-wordai/wp-rss-wordai.php' => '"wp-rss-wordai" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-session-manager/wp-session-manager.php' => '"wp-session-manager" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-slimstat/wp-slimstat.php' => '"wp-slimstat" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-statistics/wp-statistics.php' => '"wp-statistics" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-ulike/wp-ulike.php' => '"wp-ulike" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'WPRobot5/wprobot.php' => '"WPRobot5" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
-
- // Security.
- 'antihacker/antihacker.php' => '"antihacker" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'disable-xml-rpc-api/disable-xml-rpc-api.php' => '"disable-xml-rpc-api" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'manage-xml-rpc/manage-xml-rpc.php' => '"manage-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'one-click-ssl/ssl.php' => '"one-click-ssl" has been deactivated, because it is not supported on WordPress.com.',
- 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
- 'really-simple-ssl-pro/really-simple-ssl-pro.php' => '"really-simple-ssl-pro" is not supported on WordPress.com.',
- 'sg-security/sg-security.php' => '"sg-security" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'stopbadbots/stopbadbots.php' => '"stopbadbots" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wee-remove-xmlrpc-methods/wee-remove-xmlrpc-methods.php' => '"wee-remove-xmlrpc-methods" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'wordfence/wordfence.php' => '"wordfence" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wp-hide-security-enhancer/wp-hide.php' => '"wp-hide-security-enhancer" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wp-simple-firewall/wp-simple-firewall.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-simple-firewall/icwp-wpsf.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
-
- // Spam.
- 'e-mail-broadcasting/e-mail-broadcasting.php' => '"e-mail-broadcasting" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
- 'mailit/mailit.php' => '"mailit" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
- 'send-email-from-admin/send-email-from-admin.php' => '"send-email-from-admin" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
-
- // Misc.
- 'adult-mass-photos-downloader/adult-mass-photos-downloader.php' => '"adult-mass-photos-downloader" is not supported on WordPress.com.',
- 'adult-mass-videos-embedder/adult-mass-videos-embedder.php' => '"adult-mass-videos-embedder" is not supported on WordPress.com.',
- 'ari-adminer/ari-adminer.php' => '"ari-adminer" is not supported on WordPress.com.',
- 'automatic-video-posts' => '"automatic-video-posts" is not supported on WordPress.com.',
- 'blogmatic-poster/index.php' => '"blogmatic-poster" is not supported on WordPress.com.',
- 'blogmatic/index.php' => '"blogmatic" is not supported on WordPress.com.',
- 'bwp-minify/bwp-minify.php' => '"bwp-minify" is not supported on WordPress.com.',
- 'db-access-adminer/db-access-adminer.php' => '"db-access-adminer" is not supported on WordPress.com.',
- 'fast-velocity-minify/fvm.php' => '"fast-velocity-minify" is not supported on WordPress.com.',
- 'nginx-helper/nginx-helper.php' => '"nginx-helper" is not supported on WordPress.com.',
- 'p3/p3.php' => '"p3" is not supported on WordPress.com.',
- 'pexlechris-adminer/pexlechris-adminer.php' => '"pexlechris-adminer" is not supported on WordPress.com.',
- 'plugin-detective/plugin-detective.php' => '"plugin-detective" is not supported on WordPress.com.',
- 'porn-embed/Porn-Embed.php' => '"porn-embed" is not supported on WordPress.com.',
- 'propellerads-official/propeller-ads.php' => '"propellerads-official" is not supported on WordPress.com.',
- 'trafficzion/trafficzion.php' => '"trafficzion" is not supported on WordPress.com.',
- 'tubeace/tubeace.php' => '"tubeace" is not supported on WordPress.com.',
- 'woozone/plugin.php' => '"woozone" is not supported on WordPress.com.',
- 'wp-cleanfix/index.php' => '"wp-cleanfix" is not supported on WordPress.com.',
- 'wp-file-upload/wordpress_file_upload.php' => '"wp-file-upload" is not supported on WordPress.com.',
- 'wp-monero-miner-pro/monero-miner-pro.php' => '"wp-monero-miner-pro" is not supported on WordPress.com.',
- 'wp-optimize-by-xtraffic/wp-optimize-by-xtraffic.php' => '"wp-optimize-by-xtraffic" is not supported on WordPress.com.',
- 'wpematico/wpematico.php' => '"wpematico" is not supported on WordPress.com.',
- 'wpstagecoach/wpstagecoach.php' => '"wpstagecoach" is not supported on WordPress.com.', // p9F6qB-66o-p2
- 'yuzo-related-post/yuzo.php' => '"yuzo-related-post" is not supported on WordPress.com.',
- 'zapp-proxy-server/zapp-proxy-server.php' => '"zapp-proxy-server" is not supported on WordPress.com.',
-
- // CRM.
- 'civicrm/civicrm.php' => '"civicrm" is not supported on WordPress.com.', // p9F6qB-66o-p2
- );
-
- /**
- * Admin notices.
- *
- * @var array
- */
- protected $admin_notices = array();
-
- /**
- * Jetpack_Plugin_Compatibility constructor.
- */
- protected function __construct() {
- // Disable plugin activation for unsupported plugins.
- add_action( 'load-plugins.php', array( $this, 'check_plugin_compatibility' ) );
- // Replace "Activate" plugin link for plugins that should not be activated (plugins.php).
- add_filter( 'plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2 );
- add_filter( 'network_admin_plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2 );
- // Replace "Install" plugin link for plugins that not should not be activated (plugin-install.php).
- add_filter( 'plugin_install_action_links', array( $this, 'disable_plugin_install_link' ), 10, 2 );
- // Print any notices about plugin deactivation.
- add_action( 'admin_notices', array( $this, 'incompatible_plugin_notices' ) );
- // Disable My Jetpack page.
- add_filter(
- 'jetpack_my_jetpack_should_initialize',
- function () {
- $has_override = has_filter( 'pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option' );
- remove_filter( 'pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option' );
- $should_init = get_option( 'wpcom_admin_interface' ) === 'wp-admin';
- if ( $has_override ) {
- add_filter( 'pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option' );
- }
-
- if ( ! $should_init && class_exists( '\Automattic\Jetpack\My_Jetpack\Initializer' ) ) {
- // My Jetpack REST API endpoints are used for more than just My Jetpack UI.
- add_action( 'rest_api_init', array( '\Automattic\Jetpack\My_Jetpack\Initializer', 'register_rest_endpoints' ) ); // @phan-suppress-current-line PhanUndeclaredClassInCallable
- }
- return $should_init;
- }
- );
- }
-
- /**
- * Public getter to return a singleton instance of Jetpack_Plugin_Compatibility.
- */
- public static function get_instance(): Jetpack_Plugin_Compatibility {
- static $instance = null;
-
- if ( null === $instance ) {
- $instance = new static();
- }
-
- return $instance;
- }
-
- /**
- * Deactivates incompatible plugins.
- */
- public function check_plugin_compatibility() {
- foreach ( $this->incompatible_plugins as $plugin => $message ) {
- if ( ! is_plugin_active( $plugin ) ) {
- continue;
- }
-
- deactivate_plugins( $plugin );
-
- $this->admin_notices[] = '
' . esc_html( $message ) . '
';
- unset( $_GET['activate'] ); // phpcs:ignore WordPress.Security.NonceVerification
- }
- }
-
- /**
- * Displays admin notices.
- */
- public function incompatible_plugin_notices() {
- foreach ( $this->admin_notices as $notice ) {
- echo wp_kses_post( $notice );
- }
- }
-
- /**
- * Disables plugin activations links for incompatible plugins.
- *
- * @param array $actions Plugin actions.
- * @param string $plugin_file Plugin file.
- *
- * @return array Filtered array of plugin actions.
- */
- public function disable_plugin_activate_link( $actions, $plugin_file ) {
- if ( ! empty( $this->incompatible_plugins[ $plugin_file ] ) ) {
- $actions['activate'] = 'Disabled';
- unset( $actions['edit'] );
- }
- return $actions;
- }
-
- /**
- * Disables plugin install links for incompatible plugins.
- *
- * @param array $action_links Plugin actions.
- * @param array $plugin Plugin information.
- *
- * @return string[]
- */
- public function disable_plugin_install_link( $action_links, $plugin ) {
- $needle = "{$plugin['slug']}/";
- foreach ( $this->incompatible_plugins as $disallowed_plugin => $message ) {
- /*
- * The naming convention of $disallowed_plugin is /.php so we are checking if
- * the string $needle is included into $disallowed_plugin from the `0` position.
- */
- if ( strpos( $disallowed_plugin, $needle ) === 0 ) {
- $action_links = array( 'Not Supported' );
- break;
- }
- }
-
- return $action_links;
- }
-
- /**
- * Find the incompatible plugins on the site.
- *
- * @return array
- */
- public function find_incompatible_plugins(): array {
- // We don't apply the standard Core 'all_plugins' filter, so we are truly looking at all standard plugins.
- $standard_plugins = get_plugins();
-
- $disallowed_plugins = $this->get_disallowed_plugins();
-
- $incompatible_plugins_on_site = array();
-
- foreach ( $standard_plugins as $plugin_file => $plugin_details ) {
- if ( ! array_key_exists( $plugin_file, $disallowed_plugins ) ) {
- continue;
- }
-
- $incompatible_plugins_on_site[ $plugin_file ] = array(
- 'message' => $disallowed_plugins[ $plugin_file ],
- 'details' => $plugin_details,
- 'status' => $this->get_plugin_status( $plugin_file ),
- );
- }
-
- $mu_plugins = get_mu_plugins();
-
- foreach ( $mu_plugins as $mu_plugin_file => $mu_plugin_details ) {
- if ( ! array_key_exists( $mu_plugin_file, $disallowed_plugins ) ) {
- continue;
- }
-
- $incompatible_plugins_on_site[ $mu_plugin_file ] = array(
- 'message' => $disallowed_plugins[ $mu_plugin_file ],
- 'details' => $mu_plugin_details,
- 'status' => 'must-use',
- );
- }
-
- return $incompatible_plugins_on_site;
- }
-
- /**
- * Helper function to return disallowed plugins.
- * When possible, this function will include platform-level plugins.
- *
- * @return string[]
- */
- protected function get_disallowed_plugins(): array {
- if ( ! class_exists( 'Atomic_Platform_Mu_Plugin' ) || ! method_exists( 'Atomic_Platform_Mu_Plugin', 'get_disallowed_plugins' ) ) {
- return $this->incompatible_plugins;
- }
-
- $platform_mu_plugin = new Atomic_Platform_Mu_Plugin();
-
- // We prefer product-level messages to platform messages when there are conflicts.
- return array_merge( $platform_mu_plugin->get_disallowed_plugins(), $this->incompatible_plugins );
- }
-
- /**
- * Helper function to determine the status of a standard plugin.
- *
- * @param string $plugin_file The full plugin filename.
- * @return 'active-network'|'active'|'inactive'
- */
- protected function get_plugin_status( string $plugin_file ): string {
- if ( is_plugin_active_for_network( $plugin_file ) ) {
- return 'active-network';
- }
-
- if ( is_plugin_active( $plugin_file ) ) {
- return 'active';
- }
-
- return 'inactive';
- }
+class Jetpack_Plugin_Compatibility
+{
+ /**
+ * Plugin file locations and html messaging in the format:
+ * array(
+ * 'example-plugin/example-plugin.php' => 'example-plugin interferes with Jetpack sync and has been disabled.'
+ * ),
+ * The html messaging is presented as a dismissible error admin notice when an unsupported plugin is deactivated.
+ *
+ * @var string[]
+ */
+ public $incompatible_plugins = array(
+ // "reset" - break/interfere with provided functionality.
+ 'advanced-database-cleaner/advanced-db-cleaner.php' => '"advanced-database-cleaner" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'advanced-reset-wp/advanced-reset-wp.php' => '"advanced-reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'advanced-wp-reset/advanced-wp-reset.php' => '"advanced-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'backup/backup.php' => '"backup" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'better-wp-security/better-wp-security.php' => '"better-wp-security" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'database-browser/database-browser.php' => '"database-browser" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'extended-wp-reset/extended-wp-reset.php' => '"extended-wp-reset" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'file-manager-advanced/file_manager_advanced.php' => '"file-manager-advanced" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'file-manager/file-manager.php' => '"file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'hide-my-wp/index.php' => '"hide-my-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'plugins-garbage-collector/plugins-garbage-collector.php' => '"plugins-garbage-collector" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'reset-wp/reset-wp.php' => '"reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'reset/data_reset.php' => '"reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'secure-file-manager/secure-file-manager.php' => '"secure-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'ultimate-reset/ultimate-reset.php' => '"ultimate-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'ultimate-wp-reset/ultimate-wordpress-reset.php' => '"ultimate-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'username-changer/class-username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'vamtam-offline-jetpack/vamtam-offline-jetpack.php' => '"vamtam-offline-jetpack" has been deactivated, an active Jetpack Connection is required for your site to operate properly on WordPress.com.',
+ 'wd-youtube/wd-youtube.php' => '"wd-youtube" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'wordpress-database-reset/wp-reset.php' => '"wordpress-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wordpress-reset/wordpress-reset.php' => '"wordpress-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-automatic/wp-automatic.php' => '"wp-automatic" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'wp-clone-by-wp-academy/wpclone.php' => '"wp-clone-by-wp-academy" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-config-file-editor/wp-config-file-editor.php' => '"wp-config-file-editor" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-dbmanager/wp-dbmanager.php' => '"wp-dbmanager" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-file-manager/file_folder_manager.php' => '"wp-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-phpmyadmin-extension/index.php' => '"wp-phpmyadmin-extension" has been deactivated, it interferes with site operation. You can access phpMyAdmin under Settings > Hosting Config',
+ 'wp-prefix-changer/index.php' => '"wp-prefix-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-reset/wp-reset.php' => '"wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-uninstaller-by-azed/wp-uninstaller-by-azed.php' => '"wp-uninstaller-by-azed" is not supported on WordPress.com.',
+ 'wpmu-database-reset/wpmu-database-reset.php' => '"wpmu-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wps-hide-login/wps-hide-login.php' => '"wps-hide-login" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'z-inventory-manager/z-inventory-manager.php' => '"z-inventory-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-downgrade/wp-downgrade.php' => '"wp-downgrade" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+
+ // Backup.
+ 'backup-wd/backup-wd.php' => '"backup-wd" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'backwpup/backwpup.php' => '"backwpup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'backwpup-pro/backwpup.php' => '"backwpup-pro" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'duplicator-pro/duplicator-pro.php' => '"duplicator-pro" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'jetpack-backup/jetpack-backup.php' => '"jetpack-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'siteground-migrator/siteground-migrator.php' => '"siteground-migrator" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'wp-backitup/wp-backitup.php' => '"wp-backitup" has been deactivated, WordPress.com handles managing your site backups for you.',
+
+ // Caching/performance.
+ 'breeze/breeze.php' => '"breeze" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'cache-enabler/cache-enabler.php' => '"cache-enabler" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'comet-cache/comet-cache.php' => '"comet-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'hyper-cache/plugin.php' => '"hyper-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'jch-optimize/jch-optimize.php' => '"jch-optimize" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'object-cache-pro/object-cache-pro.php' => '"object-cache-pro" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'performance-lab/load.php' => '"performance-lab" has been deactivated, WordPress.com automatically handles caching and database optimization for your site.',
+ 'powered-cache/powered-cache.php' => '"powered-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'quick-cache/quick-cache.php' => '"quick-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'redis-cache/redis-cache.php' => '"redis-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'sg-cachepress/sg-cachepress.php' => '"sg-cachepress" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'w3-total-cache/w3-total-cache.php' => '"w3-total-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-cache/wp-cache.php' => '"wp-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-fastest-cache/wpFastestCache.php' => '"wp-fastest-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-optimizer/wp-optimizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.', // p9F6qB-66o-p2
+ 'wp-scss/wp-scss.php' => '"wp-scss" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-speed-of-light/wp-speed-of-light.php' => '"wp-speed-of-light" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-super-cache/wp-cache.php' => '"wp-super-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+
+ // SQL heavy.
+ 'another-wordpress-classifieds-plugin/awpcp.php' => '"another-wordpress-classifieds-plugin" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'broken-link-checker/broken-link-checker.php' => '"broken-link-checker" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'mass-pagesposts-creator/mass-pages-posts-creator.php' => '"mass-pagesposts-creator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'native-ads-adnow/adnow-widget.php' => '"native-ads-now" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'ol_scrapes/ol_scrapes.php' => '"ol_scrapes" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'page-visit-counter/page-visit-counter.php' => '"page-visit-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'post-views-counter/post-views-counter.php' => '"post-views-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'tokenad/token-ad.php' => '"tokenad" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'top-10/top-10.php' => '"top-10" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'userpro/index.php' => '"userpro" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wordpress-popular-posts/wordpress-popular-posts.php' => '"wordpress-popular-posts" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-cerber/wp-cerber.php' => '"wp-cerber" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-inject/wpinject.php' => '"wp-inject" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-postviews/wp-postviews.php' => '"wp-postviews" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-rss-aggregator/wp-rss-aggregator.php' => '"wp-rss-aggregator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' => '"wp-rss-feed-to-post" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-rss-wordai/wp-rss-wordai.php' => '"wp-rss-wordai" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-session-manager/wp-session-manager.php' => '"wp-session-manager" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-slimstat/wp-slimstat.php' => '"wp-slimstat" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-statistics/wp-statistics.php' => '"wp-statistics" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-ulike/wp-ulike.php' => '"wp-ulike" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'WPRobot5/wprobot.php' => '"WPRobot5" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+
+ // Security.
+ 'antihacker/antihacker.php' => '"antihacker" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'disable-xml-rpc-api/disable-xml-rpc-api.php' => '"disable-xml-rpc-api" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'manage-xml-rpc/manage-xml-rpc.php' => '"manage-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'one-click-ssl/ssl.php' => '"one-click-ssl" has been deactivated, because it is not supported on WordPress.com.',
+ 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
+ 'really-simple-ssl-pro/really-simple-ssl-pro.php' => '"really-simple-ssl-pro" is not supported on WordPress.com.',
+ 'sg-security/sg-security.php' => '"sg-security" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'stopbadbots/stopbadbots.php' => '"stopbadbots" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wee-remove-xmlrpc-methods/wee-remove-xmlrpc-methods.php' => '"wee-remove-xmlrpc-methods" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'wordfence/wordfence.php' => '"wordfence" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wp-hide-security-enhancer/wp-hide.php' => '"wp-hide-security-enhancer" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wp-simple-firewall/wp-simple-firewall.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-simple-firewall/icwp-wpsf.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+
+ // Spam.
+ 'e-mail-broadcasting/e-mail-broadcasting.php' => '"e-mail-broadcasting" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+ 'mailit/mailit.php' => '"mailit" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+ 'send-email-from-admin/send-email-from-admin.php' => '"send-email-from-admin" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+
+ // Misc.
+ 'adult-mass-photos-downloader/adult-mass-photos-downloader.php' => '"adult-mass-photos-downloader" is not supported on WordPress.com.',
+ 'adult-mass-videos-embedder/adult-mass-videos-embedder.php' => '"adult-mass-videos-embedder" is not supported on WordPress.com.',
+ 'ari-adminer/ari-adminer.php' => '"ari-adminer" is not supported on WordPress.com.',
+ 'automatic-video-posts' => '"automatic-video-posts" is not supported on WordPress.com.',
+ 'blogmatic-poster/index.php' => '"blogmatic-poster" is not supported on WordPress.com.',
+ 'blogmatic/index.php' => '"blogmatic" is not supported on WordPress.com.',
+ 'bwp-minify/bwp-minify.php' => '"bwp-minify" is not supported on WordPress.com.',
+ 'db-access-adminer/db-access-adminer.php' => '"db-access-adminer" is not supported on WordPress.com.',
+ 'fast-velocity-minify/fvm.php' => '"fast-velocity-minify" is not supported on WordPress.com.',
+ 'nginx-helper/nginx-helper.php' => '"nginx-helper" is not supported on WordPress.com.',
+ 'p3/p3.php' => '"p3" is not supported on WordPress.com.',
+ 'pexlechris-adminer/pexlechris-adminer.php' => '"pexlechris-adminer" is not supported on WordPress.com.',
+ 'plugin-detective/plugin-detective.php' => '"plugin-detective" is not supported on WordPress.com.',
+ 'porn-embed/Porn-Embed.php' => '"porn-embed" is not supported on WordPress.com.',
+ 'propellerads-official/propeller-ads.php' => '"propellerads-official" is not supported on WordPress.com.',
+ 'trafficzion/trafficzion.php' => '"trafficzion" is not supported on WordPress.com.',
+ 'tubeace/tubeace.php' => '"tubeace" is not supported on WordPress.com.',
+ 'woozone/plugin.php' => '"woozone" is not supported on WordPress.com.',
+ 'wp-cleanfix/index.php' => '"wp-cleanfix" is not supported on WordPress.com.',
+ 'wp-file-upload/wordpress_file_upload.php' => '"wp-file-upload" is not supported on WordPress.com.',
+ 'wp-monero-miner-pro/monero-miner-pro.php' => '"wp-monero-miner-pro" is not supported on WordPress.com.',
+ 'wp-optimize-by-xtraffic/wp-optimize-by-xtraffic.php' => '"wp-optimize-by-xtraffic" is not supported on WordPress.com.',
+ 'wpematico/wpematico.php' => '"wpematico" is not supported on WordPress.com.',
+ 'wpstagecoach/wpstagecoach.php' => '"wpstagecoach" is not supported on WordPress.com.', // p9F6qB-66o-p2
+ 'yuzo-related-post/yuzo.php' => '"yuzo-related-post" is not supported on WordPress.com.',
+ 'zapp-proxy-server/zapp-proxy-server.php' => '"zapp-proxy-server" is not supported on WordPress.com.',
+
+ // CRM.
+ 'civicrm/civicrm.php' => '"civicrm" is not supported on WordPress.com.', // p9F6qB-66o-p2
+ );
+
+ /**
+ * Admin notices.
+ *
+ * @var array
+ */
+ protected $admin_notices = array();
+
+ /**
+ * Jetpack_Plugin_Compatibility constructor.
+ */
+ protected function __construct()
+ {
+ // Disable plugin activation for unsupported plugins.
+ add_action('load-plugins.php', array( $this, 'check_plugin_compatibility' ));
+ // Replace "Activate" plugin link for plugins that should not be activated (plugins.php).
+ add_filter('plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2);
+ add_filter('network_admin_plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2);
+ // Replace "Install" plugin link for plugins that not should not be activated (plugin-install.php).
+ add_filter('plugin_install_action_links', array( $this, 'disable_plugin_install_link' ), 10, 2);
+ // Print any notices about plugin deactivation.
+ add_action('admin_notices', array( $this, 'incompatible_plugin_notices' ));
+ // Disable My Jetpack page.
+ add_filter(
+ 'jetpack_my_jetpack_should_initialize',
+ function () {
+ $has_override = has_filter('pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option');
+ remove_filter('pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option');
+ $should_init = get_option('wpcom_admin_interface') === 'wp-admin';
+ if ($has_override ) {
+ add_filter('pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option');
+ }
+
+ if (! $should_init && class_exists('\Automattic\Jetpack\My_Jetpack\Initializer') ) {
+ // My Jetpack REST API endpoints are used for more than just My Jetpack UI.
+ add_action('rest_api_init', array( '\Automattic\Jetpack\My_Jetpack\Initializer', 'register_rest_endpoints' )); // @phan-suppress-current-line PhanUndeclaredClassInCallable
+ }
+ return $should_init;
+ }
+ );
+ }
+
+ /**
+ * Public getter to return a singleton instance of Jetpack_Plugin_Compatibility.
+ */
+ public static function get_instance(): Jetpack_Plugin_Compatibility
+ {
+ static $instance = null;
+
+ if (null === $instance ) {
+ $instance = new static();
+ }
+
+ return $instance;
+ }
+
+ /**
+ * Deactivates incompatible plugins.
+ */
+ public function check_plugin_compatibility()
+ {
+ foreach ( $this->incompatible_plugins as $plugin => $message ) {
+ if (! is_plugin_active($plugin) ) {
+ continue;
+ }
+
+ deactivate_plugins($plugin);
+
+ $this->admin_notices[] = '
' . esc_html($message) . '
';
+ unset($_GET['activate']); // phpcs:ignore WordPress.Security.NonceVerification
+ }
+ }
+
+ /**
+ * Displays admin notices.
+ */
+ public function incompatible_plugin_notices()
+ {
+ foreach ( $this->admin_notices as $notice ) {
+ echo wp_kses_post($notice);
+ }
+ }
+
+ /**
+ * Disables plugin activations links for incompatible plugins.
+ *
+ * @param array $actions Plugin actions.
+ * @param string $plugin_file Plugin file.
+ *
+ * @return array Filtered array of plugin actions.
+ */
+ public function disable_plugin_activate_link( $actions, $plugin_file )
+ {
+ if (! empty($this->incompatible_plugins[ $plugin_file ]) ) {
+ $actions['activate'] = 'Disabled';
+ unset($actions['edit']);
+ }
+ return $actions;
+ }
+
+ /**
+ * Disables plugin install links for incompatible plugins.
+ *
+ * @param array $action_links Plugin actions.
+ * @param array $plugin Plugin information.
+ *
+ * @return string[]
+ */
+ public function disable_plugin_install_link( $action_links, $plugin )
+ {
+ $needle = "{$plugin['slug']}/";
+ foreach ( $this->incompatible_plugins as $disallowed_plugin => $message ) {
+ /*
+ * The naming convention of $disallowed_plugin is /.php so we are checking if
+ * the string $needle is included into $disallowed_plugin from the `0` position.
+ */
+ if (strpos($disallowed_plugin, $needle) === 0 ) {
+ $action_links = array( 'Not Supported' );
+ break;
+ }
+ }
+
+ return $action_links;
+ }
+
+ /**
+ * Find the incompatible plugins on the site.
+ *
+ * @return array
+ */
+ public function find_incompatible_plugins(): array
+ {
+ // We don't apply the standard Core 'all_plugins' filter, so we are truly looking at all standard plugins.
+ $standard_plugins = get_plugins();
+
+ $disallowed_plugins = $this->get_disallowed_plugins();
+
+ $incompatible_plugins_on_site = array();
+
+ foreach ( $standard_plugins as $plugin_file => $plugin_details ) {
+ if (! array_key_exists($plugin_file, $disallowed_plugins) ) {
+ continue;
+ }
+
+ $incompatible_plugins_on_site[ $plugin_file ] = array(
+ 'message' => $disallowed_plugins[ $plugin_file ],
+ 'details' => $plugin_details,
+ 'status' => $this->get_plugin_status($plugin_file),
+ );
+ }
+
+ $mu_plugins = get_mu_plugins();
+
+ foreach ( $mu_plugins as $mu_plugin_file => $mu_plugin_details ) {
+ if (! array_key_exists($mu_plugin_file, $disallowed_plugins) ) {
+ continue;
+ }
+
+ $incompatible_plugins_on_site[ $mu_plugin_file ] = array(
+ 'message' => $disallowed_plugins[ $mu_plugin_file ],
+ 'details' => $mu_plugin_details,
+ 'status' => 'must-use',
+ );
+ }
+
+ return $incompatible_plugins_on_site;
+ }
+
+ /**
+ * Helper function to return disallowed plugins.
+ * When possible, this function will include platform-level plugins.
+ *
+ * @return string[]
+ */
+ protected function get_disallowed_plugins(): array
+ {
+ if (! class_exists('Atomic_Platform_Mu_Plugin') || ! method_exists('Atomic_Platform_Mu_Plugin', 'get_disallowed_plugins') ) {
+ return $this->incompatible_plugins;
+ }
+
+ $platform_mu_plugin = new Atomic_Platform_Mu_Plugin();
+
+ // We prefer product-level messages to platform messages when there are conflicts.
+ return array_merge($platform_mu_plugin->get_disallowed_plugins(), $this->incompatible_plugins);
+ }
+
+ /**
+ * Helper function to determine the status of a standard plugin.
+ *
+ * @param string $plugin_file The full plugin filename.
+ * @return 'active-network'|'active'|'inactive'
+ */
+ protected function get_plugin_status( string $plugin_file ): string
+ {
+ if (is_plugin_active_for_network($plugin_file) ) {
+ return 'active-network';
+ }
+
+ if (is_plugin_active($plugin_file) ) {
+ return 'active';
+ }
+
+ return 'inactive';
+ }
}
From 06ae385d762595898abe86d1c769d49226a50217 Mon Sep 17 00:00:00 2001
From: upwardmomentum84 <93800099+upwardmomentum84@users.noreply.github.com>
Date: Tue, 2 Dec 2025 12:12:45 -0500
Subject: [PATCH 04/49] Revert "Used ERROR: The specified bootstrap file
"vendor/automattic/jetpack-phpcs-filter/stdin-bootstrap.php" does not exist"
This reverts commit c7d01e8c7831f43cea00a550eb062063e937fb8c.
---
.../class-jetpack-plugin-compatibility.php | 704 +++++++++---------
1 file changed, 347 insertions(+), 357 deletions(-)
diff --git a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
index b52c4bee0232..fc58879551a2 100644
--- a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
+++ b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
@@ -8,361 +8,351 @@
/**
* Class Jetpack_Plugin_Compatibility.
*/
-class Jetpack_Plugin_Compatibility
-{
- /**
- * Plugin file locations and html messaging in the format:
- * array(
- * 'example-plugin/example-plugin.php' => 'example-plugin interferes with Jetpack sync and has been disabled.'
- * ),
- * The html messaging is presented as a dismissible error admin notice when an unsupported plugin is deactivated.
- *
- * @var string[]
- */
- public $incompatible_plugins = array(
- // "reset" - break/interfere with provided functionality.
- 'advanced-database-cleaner/advanced-db-cleaner.php' => '"advanced-database-cleaner" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'advanced-reset-wp/advanced-reset-wp.php' => '"advanced-reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'advanced-wp-reset/advanced-wp-reset.php' => '"advanced-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'backup/backup.php' => '"backup" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'better-wp-security/better-wp-security.php' => '"better-wp-security" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'database-browser/database-browser.php' => '"database-browser" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'extended-wp-reset/extended-wp-reset.php' => '"extended-wp-reset" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'file-manager-advanced/file_manager_advanced.php' => '"file-manager-advanced" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'file-manager/file-manager.php' => '"file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'hide-my-wp/index.php' => '"hide-my-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'plugins-garbage-collector/plugins-garbage-collector.php' => '"plugins-garbage-collector" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'reset-wp/reset-wp.php' => '"reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'reset/data_reset.php' => '"reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'secure-file-manager/secure-file-manager.php' => '"secure-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'ultimate-reset/ultimate-reset.php' => '"ultimate-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'ultimate-wp-reset/ultimate-wordpress-reset.php' => '"ultimate-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'username-changer/class-username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'vamtam-offline-jetpack/vamtam-offline-jetpack.php' => '"vamtam-offline-jetpack" has been deactivated, an active Jetpack Connection is required for your site to operate properly on WordPress.com.',
- 'wd-youtube/wd-youtube.php' => '"wd-youtube" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'wordpress-database-reset/wp-reset.php' => '"wordpress-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wordpress-reset/wordpress-reset.php' => '"wordpress-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-automatic/wp-automatic.php' => '"wp-automatic" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'wp-clone-by-wp-academy/wpclone.php' => '"wp-clone-by-wp-academy" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-config-file-editor/wp-config-file-editor.php' => '"wp-config-file-editor" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-dbmanager/wp-dbmanager.php' => '"wp-dbmanager" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-file-manager/file_folder_manager.php' => '"wp-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-phpmyadmin-extension/index.php' => '"wp-phpmyadmin-extension" has been deactivated, it interferes with site operation. You can access phpMyAdmin under Settings > Hosting Config',
- 'wp-prefix-changer/index.php' => '"wp-prefix-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-reset/wp-reset.php' => '"wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-uninstaller-by-azed/wp-uninstaller-by-azed.php' => '"wp-uninstaller-by-azed" is not supported on WordPress.com.',
- 'wpmu-database-reset/wpmu-database-reset.php' => '"wpmu-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wps-hide-login/wps-hide-login.php' => '"wps-hide-login" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'z-inventory-manager/z-inventory-manager.php' => '"z-inventory-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-downgrade/wp-downgrade.php' => '"wp-downgrade" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
-
- // Backup.
- 'backup-wd/backup-wd.php' => '"backup-wd" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'backwpup/backwpup.php' => '"backwpup" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'backwpup-pro/backwpup.php' => '"backwpup-pro" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'duplicator-pro/duplicator-pro.php' => '"duplicator-pro" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'jetpack-backup/jetpack-backup.php' => '"jetpack-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'siteground-migrator/siteground-migrator.php' => '"siteground-migrator" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'wp-backitup/wp-backitup.php' => '"wp-backitup" has been deactivated, WordPress.com handles managing your site backups for you.',
-
- // Caching/performance.
- 'breeze/breeze.php' => '"breeze" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'cache-enabler/cache-enabler.php' => '"cache-enabler" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'comet-cache/comet-cache.php' => '"comet-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'hyper-cache/plugin.php' => '"hyper-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'jch-optimize/jch-optimize.php' => '"jch-optimize" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'object-cache-pro/object-cache-pro.php' => '"object-cache-pro" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'performance-lab/load.php' => '"performance-lab" has been deactivated, WordPress.com automatically handles caching and database optimization for your site.',
- 'powered-cache/powered-cache.php' => '"powered-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'quick-cache/quick-cache.php' => '"quick-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'redis-cache/redis-cache.php' => '"redis-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'sg-cachepress/sg-cachepress.php' => '"sg-cachepress" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'w3-total-cache/w3-total-cache.php' => '"w3-total-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-cache/wp-cache.php' => '"wp-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-fastest-cache/wpFastestCache.php' => '"wp-fastest-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-optimizer/wp-optimizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.', // p9F6qB-66o-p2
- 'wp-scss/wp-scss.php' => '"wp-scss" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-speed-of-light/wp-speed-of-light.php' => '"wp-speed-of-light" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-super-cache/wp-cache.php' => '"wp-super-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
-
- // SQL heavy.
- 'another-wordpress-classifieds-plugin/awpcp.php' => '"another-wordpress-classifieds-plugin" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'broken-link-checker/broken-link-checker.php' => '"broken-link-checker" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'mass-pagesposts-creator/mass-pages-posts-creator.php' => '"mass-pagesposts-creator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'native-ads-adnow/adnow-widget.php' => '"native-ads-now" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'ol_scrapes/ol_scrapes.php' => '"ol_scrapes" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'page-visit-counter/page-visit-counter.php' => '"page-visit-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'post-views-counter/post-views-counter.php' => '"post-views-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'tokenad/token-ad.php' => '"tokenad" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'top-10/top-10.php' => '"top-10" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'userpro/index.php' => '"userpro" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wordpress-popular-posts/wordpress-popular-posts.php' => '"wordpress-popular-posts" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-cerber/wp-cerber.php' => '"wp-cerber" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-inject/wpinject.php' => '"wp-inject" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-postviews/wp-postviews.php' => '"wp-postviews" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-rss-aggregator/wp-rss-aggregator.php' => '"wp-rss-aggregator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' => '"wp-rss-feed-to-post" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-rss-wordai/wp-rss-wordai.php' => '"wp-rss-wordai" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-session-manager/wp-session-manager.php' => '"wp-session-manager" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-slimstat/wp-slimstat.php' => '"wp-slimstat" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-statistics/wp-statistics.php' => '"wp-statistics" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-ulike/wp-ulike.php' => '"wp-ulike" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'WPRobot5/wprobot.php' => '"WPRobot5" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
-
- // Security.
- 'antihacker/antihacker.php' => '"antihacker" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'disable-xml-rpc-api/disable-xml-rpc-api.php' => '"disable-xml-rpc-api" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'manage-xml-rpc/manage-xml-rpc.php' => '"manage-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'one-click-ssl/ssl.php' => '"one-click-ssl" has been deactivated, because it is not supported on WordPress.com.',
- 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
- 'really-simple-ssl-pro/really-simple-ssl-pro.php' => '"really-simple-ssl-pro" is not supported on WordPress.com.',
- 'sg-security/sg-security.php' => '"sg-security" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'stopbadbots/stopbadbots.php' => '"stopbadbots" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wee-remove-xmlrpc-methods/wee-remove-xmlrpc-methods.php' => '"wee-remove-xmlrpc-methods" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'wordfence/wordfence.php' => '"wordfence" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wp-hide-security-enhancer/wp-hide.php' => '"wp-hide-security-enhancer" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wp-simple-firewall/wp-simple-firewall.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-simple-firewall/icwp-wpsf.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
-
- // Spam.
- 'e-mail-broadcasting/e-mail-broadcasting.php' => '"e-mail-broadcasting" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
- 'mailit/mailit.php' => '"mailit" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
- 'send-email-from-admin/send-email-from-admin.php' => '"send-email-from-admin" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
-
- // Misc.
- 'adult-mass-photos-downloader/adult-mass-photos-downloader.php' => '"adult-mass-photos-downloader" is not supported on WordPress.com.',
- 'adult-mass-videos-embedder/adult-mass-videos-embedder.php' => '"adult-mass-videos-embedder" is not supported on WordPress.com.',
- 'ari-adminer/ari-adminer.php' => '"ari-adminer" is not supported on WordPress.com.',
- 'automatic-video-posts' => '"automatic-video-posts" is not supported on WordPress.com.',
- 'blogmatic-poster/index.php' => '"blogmatic-poster" is not supported on WordPress.com.',
- 'blogmatic/index.php' => '"blogmatic" is not supported on WordPress.com.',
- 'bwp-minify/bwp-minify.php' => '"bwp-minify" is not supported on WordPress.com.',
- 'db-access-adminer/db-access-adminer.php' => '"db-access-adminer" is not supported on WordPress.com.',
- 'fast-velocity-minify/fvm.php' => '"fast-velocity-minify" is not supported on WordPress.com.',
- 'nginx-helper/nginx-helper.php' => '"nginx-helper" is not supported on WordPress.com.',
- 'p3/p3.php' => '"p3" is not supported on WordPress.com.',
- 'pexlechris-adminer/pexlechris-adminer.php' => '"pexlechris-adminer" is not supported on WordPress.com.',
- 'plugin-detective/plugin-detective.php' => '"plugin-detective" is not supported on WordPress.com.',
- 'porn-embed/Porn-Embed.php' => '"porn-embed" is not supported on WordPress.com.',
- 'propellerads-official/propeller-ads.php' => '"propellerads-official" is not supported on WordPress.com.',
- 'trafficzion/trafficzion.php' => '"trafficzion" is not supported on WordPress.com.',
- 'tubeace/tubeace.php' => '"tubeace" is not supported on WordPress.com.',
- 'woozone/plugin.php' => '"woozone" is not supported on WordPress.com.',
- 'wp-cleanfix/index.php' => '"wp-cleanfix" is not supported on WordPress.com.',
- 'wp-file-upload/wordpress_file_upload.php' => '"wp-file-upload" is not supported on WordPress.com.',
- 'wp-monero-miner-pro/monero-miner-pro.php' => '"wp-monero-miner-pro" is not supported on WordPress.com.',
- 'wp-optimize-by-xtraffic/wp-optimize-by-xtraffic.php' => '"wp-optimize-by-xtraffic" is not supported on WordPress.com.',
- 'wpematico/wpematico.php' => '"wpematico" is not supported on WordPress.com.',
- 'wpstagecoach/wpstagecoach.php' => '"wpstagecoach" is not supported on WordPress.com.', // p9F6qB-66o-p2
- 'yuzo-related-post/yuzo.php' => '"yuzo-related-post" is not supported on WordPress.com.',
- 'zapp-proxy-server/zapp-proxy-server.php' => '"zapp-proxy-server" is not supported on WordPress.com.',
-
- // CRM.
- 'civicrm/civicrm.php' => '"civicrm" is not supported on WordPress.com.', // p9F6qB-66o-p2
- );
-
- /**
- * Admin notices.
- *
- * @var array
- */
- protected $admin_notices = array();
-
- /**
- * Jetpack_Plugin_Compatibility constructor.
- */
- protected function __construct()
- {
- // Disable plugin activation for unsupported plugins.
- add_action('load-plugins.php', array( $this, 'check_plugin_compatibility' ));
- // Replace "Activate" plugin link for plugins that should not be activated (plugins.php).
- add_filter('plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2);
- add_filter('network_admin_plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2);
- // Replace "Install" plugin link for plugins that not should not be activated (plugin-install.php).
- add_filter('plugin_install_action_links', array( $this, 'disable_plugin_install_link' ), 10, 2);
- // Print any notices about plugin deactivation.
- add_action('admin_notices', array( $this, 'incompatible_plugin_notices' ));
- // Disable My Jetpack page.
- add_filter(
- 'jetpack_my_jetpack_should_initialize',
- function () {
- $has_override = has_filter('pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option');
- remove_filter('pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option');
- $should_init = get_option('wpcom_admin_interface') === 'wp-admin';
- if ($has_override ) {
- add_filter('pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option');
- }
-
- if (! $should_init && class_exists('\Automattic\Jetpack\My_Jetpack\Initializer') ) {
- // My Jetpack REST API endpoints are used for more than just My Jetpack UI.
- add_action('rest_api_init', array( '\Automattic\Jetpack\My_Jetpack\Initializer', 'register_rest_endpoints' )); // @phan-suppress-current-line PhanUndeclaredClassInCallable
- }
- return $should_init;
- }
- );
- }
-
- /**
- * Public getter to return a singleton instance of Jetpack_Plugin_Compatibility.
- */
- public static function get_instance(): Jetpack_Plugin_Compatibility
- {
- static $instance = null;
-
- if (null === $instance ) {
- $instance = new static();
- }
-
- return $instance;
- }
-
- /**
- * Deactivates incompatible plugins.
- */
- public function check_plugin_compatibility()
- {
- foreach ( $this->incompatible_plugins as $plugin => $message ) {
- if (! is_plugin_active($plugin) ) {
- continue;
- }
-
- deactivate_plugins($plugin);
-
- $this->admin_notices[] = '
' . esc_html($message) . '
';
- unset($_GET['activate']); // phpcs:ignore WordPress.Security.NonceVerification
- }
- }
-
- /**
- * Displays admin notices.
- */
- public function incompatible_plugin_notices()
- {
- foreach ( $this->admin_notices as $notice ) {
- echo wp_kses_post($notice);
- }
- }
-
- /**
- * Disables plugin activations links for incompatible plugins.
- *
- * @param array $actions Plugin actions.
- * @param string $plugin_file Plugin file.
- *
- * @return array Filtered array of plugin actions.
- */
- public function disable_plugin_activate_link( $actions, $plugin_file )
- {
- if (! empty($this->incompatible_plugins[ $plugin_file ]) ) {
- $actions['activate'] = 'Disabled';
- unset($actions['edit']);
- }
- return $actions;
- }
-
- /**
- * Disables plugin install links for incompatible plugins.
- *
- * @param array $action_links Plugin actions.
- * @param array $plugin Plugin information.
- *
- * @return string[]
- */
- public function disable_plugin_install_link( $action_links, $plugin )
- {
- $needle = "{$plugin['slug']}/";
- foreach ( $this->incompatible_plugins as $disallowed_plugin => $message ) {
- /*
- * The naming convention of $disallowed_plugin is /.php so we are checking if
- * the string $needle is included into $disallowed_plugin from the `0` position.
- */
- if (strpos($disallowed_plugin, $needle) === 0 ) {
- $action_links = array( 'Not Supported' );
- break;
- }
- }
-
- return $action_links;
- }
-
- /**
- * Find the incompatible plugins on the site.
- *
- * @return array
- */
- public function find_incompatible_plugins(): array
- {
- // We don't apply the standard Core 'all_plugins' filter, so we are truly looking at all standard plugins.
- $standard_plugins = get_plugins();
-
- $disallowed_plugins = $this->get_disallowed_plugins();
-
- $incompatible_plugins_on_site = array();
-
- foreach ( $standard_plugins as $plugin_file => $plugin_details ) {
- if (! array_key_exists($plugin_file, $disallowed_plugins) ) {
- continue;
- }
-
- $incompatible_plugins_on_site[ $plugin_file ] = array(
- 'message' => $disallowed_plugins[ $plugin_file ],
- 'details' => $plugin_details,
- 'status' => $this->get_plugin_status($plugin_file),
- );
- }
-
- $mu_plugins = get_mu_plugins();
-
- foreach ( $mu_plugins as $mu_plugin_file => $mu_plugin_details ) {
- if (! array_key_exists($mu_plugin_file, $disallowed_plugins) ) {
- continue;
- }
-
- $incompatible_plugins_on_site[ $mu_plugin_file ] = array(
- 'message' => $disallowed_plugins[ $mu_plugin_file ],
- 'details' => $mu_plugin_details,
- 'status' => 'must-use',
- );
- }
-
- return $incompatible_plugins_on_site;
- }
-
- /**
- * Helper function to return disallowed plugins.
- * When possible, this function will include platform-level plugins.
- *
- * @return string[]
- */
- protected function get_disallowed_plugins(): array
- {
- if (! class_exists('Atomic_Platform_Mu_Plugin') || ! method_exists('Atomic_Platform_Mu_Plugin', 'get_disallowed_plugins') ) {
- return $this->incompatible_plugins;
- }
-
- $platform_mu_plugin = new Atomic_Platform_Mu_Plugin();
-
- // We prefer product-level messages to platform messages when there are conflicts.
- return array_merge($platform_mu_plugin->get_disallowed_plugins(), $this->incompatible_plugins);
- }
-
- /**
- * Helper function to determine the status of a standard plugin.
- *
- * @param string $plugin_file The full plugin filename.
- * @return 'active-network'|'active'|'inactive'
- */
- protected function get_plugin_status( string $plugin_file ): string
- {
- if (is_plugin_active_for_network($plugin_file) ) {
- return 'active-network';
- }
-
- if (is_plugin_active($plugin_file) ) {
- return 'active';
- }
-
- return 'inactive';
- }
+class Jetpack_Plugin_Compatibility {
+ /**
+ * Plugin file locations and html messaging in the format:
+ * array(
+ * 'example-plugin/example-plugin.php' => 'example-plugin interferes with Jetpack sync and has been disabled.'
+ * ),
+ * The html messaging is presented as a dismissible error admin notice when an unsupported plugin is deactivated.
+ *
+ * @var string[]
+ */
+ public $incompatible_plugins = array(
+ // "reset" - break/interfere with provided functionality.
+ 'advanced-database-cleaner/advanced-db-cleaner.php' => '"advanced-database-cleaner" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'advanced-reset-wp/advanced-reset-wp.php' => '"advanced-reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'advanced-wp-reset/advanced-wp-reset.php' => '"advanced-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'backup/backup.php' => '"backup" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'better-wp-security/better-wp-security.php' => '"better-wp-security" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'database-browser/database-browser.php' => '"database-browser" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'extended-wp-reset/extended-wp-reset.php' => '"extended-wp-reset" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'file-manager-advanced/file_manager_advanced.php' => '"file-manager-advanced" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'file-manager/file-manager.php' => '"file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'hide-my-wp/index.php' => '"hide-my-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'plugins-garbage-collector/plugins-garbage-collector.php' => '"plugins-garbage-collector" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'reset-wp/reset-wp.php' => '"reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'reset/data_reset.php' => '"reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'secure-file-manager/secure-file-manager.php' => '"secure-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'ultimate-reset/ultimate-reset.php' => '"ultimate-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'ultimate-wp-reset/ultimate-wordpress-reset.php' => '"ultimate-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'username-changer/class-username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'vamtam-offline-jetpack/vamtam-offline-jetpack.php' => '"vamtam-offline-jetpack" has been deactivated, an active Jetpack Connection is required for your site to operate properly on WordPress.com.',
+ 'wd-youtube/wd-youtube.php' => '"wd-youtube" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'wordpress-database-reset/wp-reset.php' => '"wordpress-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wordpress-reset/wordpress-reset.php' => '"wordpress-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-automatic/wp-automatic.php' => '"wp-automatic" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'wp-clone-by-wp-academy/wpclone.php' => '"wp-clone-by-wp-academy" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-config-file-editor/wp-config-file-editor.php' => '"wp-config-file-editor" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-dbmanager/wp-dbmanager.php' => '"wp-dbmanager" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-file-manager/file_folder_manager.php' => '"wp-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-phpmyadmin-extension/index.php' => '"wp-phpmyadmin-extension" has been deactivated, it interferes with site operation. You can access phpMyAdmin under Settings > Hosting Config',
+ 'wp-prefix-changer/index.php' => '"wp-prefix-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-reset/wp-reset.php' => '"wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-uninstaller-by-azed/wp-uninstaller-by-azed.php' => '"wp-uninstaller-by-azed" is not supported on WordPress.com.',
+ 'wpmu-database-reset/wpmu-database-reset.php' => '"wpmu-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wps-hide-login/wps-hide-login.php' => '"wps-hide-login" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'z-inventory-manager/z-inventory-manager.php' => '"z-inventory-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-downgrade/wp-downgrade.php' => '"wp-downgrade" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+
+ // Backup.
+ 'backup-wd/backup-wd.php' => '"backup-wd" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'backwpup/backwpup.php' => '"backwpup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'backwpup-pro/backwpup.php' => '"backwpup-pro" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'duplicator-pro/duplicator-pro.php' => '"duplicator-pro" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'jetpack-backup/jetpack-backup.php' => '"jetpack-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'siteground-migrator/siteground-migrator.php' => '"siteground-migrator" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'wp-backitup/wp-backitup.php' => '"wp-backitup" has been deactivated, WordPress.com handles managing your site backups for you.',
+
+ // Caching/performance.
+ 'breeze/breeze.php' => '"breeze" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'cache-enabler/cache-enabler.php' => '"cache-enabler" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'comet-cache/comet-cache.php' => '"comet-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'hyper-cache/plugin.php' => '"hyper-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'jch-optimize/jch-optimize.php' => '"jch-optimize" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'object-cache-pro/object-cache-pro.php' => '"object-cache-pro" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'performance-lab/load.php' => '"performance-lab" has been deactivated, WordPress.com automatically handles caching and database optimization for your site.',
+ 'powered-cache/powered-cache.php' => '"powered-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'quick-cache/quick-cache.php' => '"quick-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'redis-cache/redis-cache.php' => '"redis-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'sg-cachepress/sg-cachepress.php' => '"sg-cachepress" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'w3-total-cache/w3-total-cache.php' => '"w3-total-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-cache/wp-cache.php' => '"wp-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-fastest-cache/wpFastestCache.php' => '"wp-fastest-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-optimizer/wp-optimizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.', // p9F6qB-66o-p2
+ 'wp-scss/wp-scss.php' => '"wp-scss" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-speed-of-light/wp-speed-of-light.php' => '"wp-speed-of-light" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-super-cache/wp-cache.php' => '"wp-super-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+
+ // SQL heavy.
+ 'another-wordpress-classifieds-plugin/awpcp.php' => '"another-wordpress-classifieds-plugin" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'broken-link-checker/broken-link-checker.php' => '"broken-link-checker" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'mass-pagesposts-creator/mass-pages-posts-creator.php' => '"mass-pagesposts-creator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'native-ads-adnow/adnow-widget.php' => '"native-ads-now" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'ol_scrapes/ol_scrapes.php' => '"ol_scrapes" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'page-visit-counter/page-visit-counter.php' => '"page-visit-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'post-views-counter/post-views-counter.php' => '"post-views-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'tokenad/token-ad.php' => '"tokenad" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'top-10/top-10.php' => '"top-10" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'userpro/index.php' => '"userpro" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wordpress-popular-posts/wordpress-popular-posts.php' => '"wordpress-popular-posts" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-cerber/wp-cerber.php' => '"wp-cerber" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-inject/wpinject.php' => '"wp-inject" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-postviews/wp-postviews.php' => '"wp-postviews" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-rss-aggregator/wp-rss-aggregator.php' => '"wp-rss-aggregator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' => '"wp-rss-feed-to-post" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-rss-wordai/wp-rss-wordai.php' => '"wp-rss-wordai" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-session-manager/wp-session-manager.php' => '"wp-session-manager" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-slimstat/wp-slimstat.php' => '"wp-slimstat" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-statistics/wp-statistics.php' => '"wp-statistics" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-ulike/wp-ulike.php' => '"wp-ulike" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'WPRobot5/wprobot.php' => '"WPRobot5" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+
+ // Security.
+ 'antihacker/antihacker.php' => '"antihacker" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'disable-xml-rpc-api/disable-xml-rpc-api.php' => '"disable-xml-rpc-api" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'manage-xml-rpc/manage-xml-rpc.php' => '"manage-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'one-click-ssl/ssl.php' => '"one-click-ssl" has been deactivated, because it is not supported on WordPress.com.',
+ 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
+ 'really-simple-ssl-pro/really-simple-ssl-pro.php' => '"really-simple-ssl-pro" is not supported on WordPress.com.',
+ 'sg-security/sg-security.php' => '"sg-security" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'stopbadbots/stopbadbots.php' => '"stopbadbots" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wee-remove-xmlrpc-methods/wee-remove-xmlrpc-methods.php' => '"wee-remove-xmlrpc-methods" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'wordfence/wordfence.php' => '"wordfence" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wp-hide-security-enhancer/wp-hide.php' => '"wp-hide-security-enhancer" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wp-simple-firewall/wp-simple-firewall.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-simple-firewall/icwp-wpsf.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+
+ // Spam.
+ 'e-mail-broadcasting/e-mail-broadcasting.php' => '"e-mail-broadcasting" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+ 'mailit/mailit.php' => '"mailit" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+ 'send-email-from-admin/send-email-from-admin.php' => '"send-email-from-admin" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+
+ // Misc.
+ 'adult-mass-photos-downloader/adult-mass-photos-downloader.php' => '"adult-mass-photos-downloader" is not supported on WordPress.com.',
+ 'adult-mass-videos-embedder/adult-mass-videos-embedder.php' => '"adult-mass-videos-embedder" is not supported on WordPress.com.',
+ 'ari-adminer/ari-adminer.php' => '"ari-adminer" is not supported on WordPress.com.',
+ 'automatic-video-posts' => '"automatic-video-posts" is not supported on WordPress.com.',
+ 'blogmatic-poster/index.php' => '"blogmatic-poster" is not supported on WordPress.com.',
+ 'blogmatic/index.php' => '"blogmatic" is not supported on WordPress.com.',
+ 'bwp-minify/bwp-minify.php' => '"bwp-minify" is not supported on WordPress.com.',
+ 'db-access-adminer/db-access-adminer.php' => '"db-access-adminer" is not supported on WordPress.com.',
+ 'fast-velocity-minify/fvm.php' => '"fast-velocity-minify" is not supported on WordPress.com.',
+ 'nginx-helper/nginx-helper.php' => '"nginx-helper" is not supported on WordPress.com.',
+ 'p3/p3.php' => '"p3" is not supported on WordPress.com.',
+ 'pexlechris-adminer/pexlechris-adminer.php' => '"pexlechris-adminer" is not supported on WordPress.com.',
+ 'plugin-detective/plugin-detective.php' => '"plugin-detective" is not supported on WordPress.com.',
+ 'porn-embed/Porn-Embed.php' => '"porn-embed" is not supported on WordPress.com.',
+ 'propellerads-official/propeller-ads.php' => '"propellerads-official" is not supported on WordPress.com.',
+ 'trafficzion/trafficzion.php' => '"trafficzion" is not supported on WordPress.com.',
+ 'tubeace/tubeace.php' => '"tubeace" is not supported on WordPress.com.',
+ 'woozone/plugin.php' => '"woozone" is not supported on WordPress.com.',
+ 'wp-cleanfix/index.php' => '"wp-cleanfix" is not supported on WordPress.com.',
+ 'wp-file-upload/wordpress_file_upload.php' => '"wp-file-upload" is not supported on WordPress.com.',
+ 'wp-monero-miner-pro/monero-miner-pro.php' => '"wp-monero-miner-pro" is not supported on WordPress.com.',
+ 'wp-optimize-by-xtraffic/wp-optimize-by-xtraffic.php' => '"wp-optimize-by-xtraffic" is not supported on WordPress.com.',
+ 'wpematico/wpematico.php' => '"wpematico" is not supported on WordPress.com.',
+ 'wpstagecoach/wpstagecoach.php' => '"wpstagecoach" is not supported on WordPress.com.', // p9F6qB-66o-p2
+ 'yuzo-related-post/yuzo.php' => '"yuzo-related-post" is not supported on WordPress.com.',
+ 'zapp-proxy-server/zapp-proxy-server.php' => '"zapp-proxy-server" is not supported on WordPress.com.',
+
+ // CRM.
+ 'civicrm/civicrm.php' => '"civicrm" is not supported on WordPress.com.', // p9F6qB-66o-p2
+ );
+
+ /**
+ * Admin notices.
+ *
+ * @var array
+ */
+ protected $admin_notices = array();
+
+ /**
+ * Jetpack_Plugin_Compatibility constructor.
+ */
+ protected function __construct() {
+ // Disable plugin activation for unsupported plugins.
+ add_action( 'load-plugins.php', array( $this, 'check_plugin_compatibility' ) );
+ // Replace "Activate" plugin link for plugins that should not be activated (plugins.php).
+ add_filter( 'plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2 );
+ add_filter( 'network_admin_plugin_action_links', array( $this, 'disable_plugin_activate_link' ), 10, 2 );
+ // Replace "Install" plugin link for plugins that not should not be activated (plugin-install.php).
+ add_filter( 'plugin_install_action_links', array( $this, 'disable_plugin_install_link' ), 10, 2 );
+ // Print any notices about plugin deactivation.
+ add_action( 'admin_notices', array( $this, 'incompatible_plugin_notices' ) );
+ // Disable My Jetpack page.
+ add_filter(
+ 'jetpack_my_jetpack_should_initialize',
+ function () {
+ $has_override = has_filter( 'pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option' );
+ remove_filter( 'pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option' );
+ $should_init = get_option( 'wpcom_admin_interface' ) === 'wp-admin';
+ if ( $has_override ) {
+ add_filter( 'pre_option_wpcom_admin_interface', 'wpcom_admin_interface_pre_get_option' );
+ }
+
+ if ( ! $should_init && class_exists( '\Automattic\Jetpack\My_Jetpack\Initializer' ) ) {
+ // My Jetpack REST API endpoints are used for more than just My Jetpack UI.
+ add_action( 'rest_api_init', array( '\Automattic\Jetpack\My_Jetpack\Initializer', 'register_rest_endpoints' ) ); // @phan-suppress-current-line PhanUndeclaredClassInCallable
+ }
+ return $should_init;
+ }
+ );
+ }
+
+ /**
+ * Public getter to return a singleton instance of Jetpack_Plugin_Compatibility.
+ */
+ public static function get_instance(): Jetpack_Plugin_Compatibility {
+ static $instance = null;
+
+ if ( null === $instance ) {
+ $instance = new static();
+ }
+
+ return $instance;
+ }
+
+ /**
+ * Deactivates incompatible plugins.
+ */
+ public function check_plugin_compatibility() {
+ foreach ( $this->incompatible_plugins as $plugin => $message ) {
+ if ( ! is_plugin_active( $plugin ) ) {
+ continue;
+ }
+
+ deactivate_plugins( $plugin );
+
+ $this->admin_notices[] = '
' . esc_html( $message ) . '
';
+ unset( $_GET['activate'] ); // phpcs:ignore WordPress.Security.NonceVerification
+ }
+ }
+
+ /**
+ * Displays admin notices.
+ */
+ public function incompatible_plugin_notices() {
+ foreach ( $this->admin_notices as $notice ) {
+ echo wp_kses_post( $notice );
+ }
+ }
+
+ /**
+ * Disables plugin activations links for incompatible plugins.
+ *
+ * @param array $actions Plugin actions.
+ * @param string $plugin_file Plugin file.
+ *
+ * @return array Filtered array of plugin actions.
+ */
+ public function disable_plugin_activate_link( $actions, $plugin_file ) {
+ if ( ! empty( $this->incompatible_plugins[ $plugin_file ] ) ) {
+ $actions['activate'] = 'Disabled';
+ unset( $actions['edit'] );
+ }
+ return $actions;
+ }
+
+ /**
+ * Disables plugin install links for incompatible plugins.
+ *
+ * @param array $action_links Plugin actions.
+ * @param array $plugin Plugin information.
+ *
+ * @return string[]
+ */
+ public function disable_plugin_install_link( $action_links, $plugin ) {
+ $needle = "{$plugin['slug']}/";
+ foreach ( $this->incompatible_plugins as $disallowed_plugin => $message ) {
+ /*
+ * The naming convention of $disallowed_plugin is /.php so we are checking if
+ * the string $needle is included into $disallowed_plugin from the `0` position.
+ */
+ if ( strpos( $disallowed_plugin, $needle ) === 0 ) {
+ $action_links = array( 'Not Supported' );
+ break;
+ }
+ }
+
+ return $action_links;
+ }
+
+ /**
+ * Find the incompatible plugins on the site.
+ *
+ * @return array
+ */
+ public function find_incompatible_plugins(): array {
+ // We don't apply the standard Core 'all_plugins' filter, so we are truly looking at all standard plugins.
+ $standard_plugins = get_plugins();
+
+ $disallowed_plugins = $this->get_disallowed_plugins();
+
+ $incompatible_plugins_on_site = array();
+
+ foreach ( $standard_plugins as $plugin_file => $plugin_details ) {
+ if ( ! array_key_exists( $plugin_file, $disallowed_plugins ) ) {
+ continue;
+ }
+
+ $incompatible_plugins_on_site[ $plugin_file ] = array(
+ 'message' => $disallowed_plugins[ $plugin_file ],
+ 'details' => $plugin_details,
+ 'status' => $this->get_plugin_status( $plugin_file ),
+ );
+ }
+
+ $mu_plugins = get_mu_plugins();
+
+ foreach ( $mu_plugins as $mu_plugin_file => $mu_plugin_details ) {
+ if ( ! array_key_exists( $mu_plugin_file, $disallowed_plugins ) ) {
+ continue;
+ }
+
+ $incompatible_plugins_on_site[ $mu_plugin_file ] = array(
+ 'message' => $disallowed_plugins[ $mu_plugin_file ],
+ 'details' => $mu_plugin_details,
+ 'status' => 'must-use',
+ );
+ }
+
+ return $incompatible_plugins_on_site;
+ }
+
+ /**
+ * Helper function to return disallowed plugins.
+ * When possible, this function will include platform-level plugins.
+ *
+ * @return string[]
+ */
+ protected function get_disallowed_plugins(): array {
+ if ( ! class_exists( 'Atomic_Platform_Mu_Plugin' ) || ! method_exists( 'Atomic_Platform_Mu_Plugin', 'get_disallowed_plugins' ) ) {
+ return $this->incompatible_plugins;
+ }
+
+ $platform_mu_plugin = new Atomic_Platform_Mu_Plugin();
+
+ // We prefer product-level messages to platform messages when there are conflicts.
+ return array_merge( $platform_mu_plugin->get_disallowed_plugins(), $this->incompatible_plugins );
+ }
+
+ /**
+ * Helper function to determine the status of a standard plugin.
+ *
+ * @param string $plugin_file The full plugin filename.
+ * @return 'active-network'|'active'|'inactive'
+ */
+ protected function get_plugin_status( string $plugin_file ): string {
+ if ( is_plugin_active_for_network( $plugin_file ) ) {
+ return 'active-network';
+ }
+
+ if ( is_plugin_active( $plugin_file ) ) {
+ return 'active';
+ }
+
+ return 'inactive';
+ }
}
From e2a8989e986080d542f34e59cb023d8cbbb2855d Mon Sep 17 00:00:00 2001
From: Automattic Bot
Date: Tue, 2 Dec 2025 18:38:15 +0100
Subject: [PATCH 05/49] Update Eslint packages (#46167)
* Update Eslint packages
* eslint-config-target-es: Enable new rules
* Fix new lints related to JS deps vs dev deps vs peer deps
---------
Co-authored-by: Renovate Bot
Co-authored-by: Brad Jorsch
---
package.json | 2 +-
pnpm-lock.yaml | 650 ++++++++----------
.../changelog/renovate-eslint-packages | 5 +
.../js-packages/eslint-changed/package.json | 1 +
.../eslint-config-target-es/CHANGELOG.md | 2 +-
.../changelog/renovate-eslint-packages#2 | 4 +
.../changelog/renovate-eslint-packages#3 | 4 +
.../eslint-config-target-es/package.json | 4 +-
.../eslint-config-target-es/src/rulesMap.js | 10 +
.../scan/changelog/renovate-eslint-packages | 4 +
.../scan/changelog/renovate-eslint-packages#2 | 4 +
projects/js-packages/scan/package.json | 7 +-
.../changelog/renovate-eslint-packages | 4 +
.../js-packages/social-logos/package.json | 6 +-
.../changelog/renovate-eslint-packages | 5 +
projects/packages/videopress/package.json | 2 -
.../changelog/renovate-eslint-packages | 5 +
projects/plugins/inspect/package.json | 3 -
tools/js-tools/package.json | 24 +-
19 files changed, 337 insertions(+), 409 deletions(-)
create mode 100644 projects/js-packages/eslint-changed/changelog/renovate-eslint-packages
create mode 100644 projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#2
create mode 100644 projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#3
create mode 100644 projects/js-packages/scan/changelog/renovate-eslint-packages
create mode 100644 projects/js-packages/scan/changelog/renovate-eslint-packages#2
create mode 100644 projects/js-packages/social-logos/changelog/renovate-eslint-packages
create mode 100644 projects/packages/videopress/changelog/renovate-eslint-packages
create mode 100644 projects/plugins/inspect/changelog/renovate-eslint-packages
diff --git a/package.json b/package.json
index b9412fe6327a..dd0644fc399c 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
"version-packages": "bash ./tools/version-packages.sh"
},
"devDependencies": {
- "eslint": "9.38.0",
+ "eslint": "9.39.1",
"husky": "9.1.7",
"jetpack-cli": "workspace:*",
"jetpack-js-tools": "workspace:*",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9cf474328382..30c612b05d74 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -214,8 +214,8 @@ importers:
.:
devDependencies:
eslint:
- specifier: 9.38.0
- version: 9.38.0
+ specifier: 9.39.1
+ version: 9.39.1
husky:
specifier: 9.1.7
version: 9.1.7
@@ -999,6 +999,9 @@ importers:
specifier: 0.8.1
version: 0.8.1
devDependencies:
+ eslint:
+ specifier: '>=7.0.0'
+ version: 9.39.1
jest:
specifier: 30.2.0
version: 30.2.0
@@ -1022,11 +1025,11 @@ importers:
specifier: 6.36.0
version: 6.36.0
eslint:
- specifier: 9.38.0
- version: 9.38.0
+ specifier: 9.39.1
+ version: 9.39.1
eslint-plugin-es-x:
- specifier: 9.1.2
- version: 9.1.2(eslint@9.38.0)
+ specifier: 9.2.0
+ version: 9.2.0(eslint@9.39.1)
globals:
specifier: 16.5.0
version: 16.5.0
@@ -1638,12 +1641,6 @@ importers:
debug:
specifier: 4.4.1
version: 4.4.1
- react:
- specifier: ^18.2.0
- version: 18.3.1
- react-dom:
- specifier: ^18.2.0
- version: 18.3.1(react@18.3.1)
devDependencies:
'@storybook/addon-docs':
specifier: 10.0.8
@@ -1669,6 +1666,12 @@ importers:
jest-environment-jsdom:
specifier: 30.2.0
version: 30.2.0
+ react:
+ specifier: ^18.2.0
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.3.1(react@18.3.1)
storybook:
specifier: 10.0.8
version: 10.0.8(@testing-library/dom@10.4.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -1799,12 +1802,6 @@ importers:
prop-types:
specifier: ^15.8.1
version: 15.8.1
- react:
- specifier: 18.3.1
- version: 18.3.1
- react-dom:
- specifier: 18.3.1
- version: 18.3.1(react@18.3.1)
devDependencies:
'@types/react':
specifier: 18.3.26
@@ -1815,6 +1812,12 @@ importers:
glob:
specifier: 11.1.0
version: 11.1.0
+ react:
+ specifier: ^18.3.1
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.3.1
+ version: 18.3.1(react@18.3.1)
svg2ttf:
specifier: ^6.0.3
version: 6.0.3
@@ -3957,9 +3960,6 @@ importers:
'@automattic/jetpack-api':
specifier: workspace:*
version: link:../../js-packages/api
- '@automattic/jetpack-base-styles':
- specifier: workspace:*
- version: link:../../js-packages/base-styles
'@automattic/jetpack-components':
specifier: workspace:*
version: link:../../js-packages/components
@@ -3969,9 +3969,6 @@ importers:
'@automattic/jetpack-script-data':
specifier: workspace:*
version: link:../../js-packages/script-data
- '@automattic/jetpack-shared-extension-utils':
- specifier: workspace:*
- version: link:../../js-packages/shared-extension-utils
'@wordpress/api-fetch':
specifier: 7.36.0
version: 7.36.0(patch_hash=0c63a888feb97f2f1d416ca013ad85c31b6360b41cc0b6e2b0ae28f778fbdc5b)
@@ -4057,6 +4054,12 @@ importers:
'@automattic/calypso-color-schemes':
specifier: 4.0.0
version: 4.0.0
+ '@automattic/jetpack-base-styles':
+ specifier: workspace:*
+ version: link:../../js-packages/base-styles
+ '@automattic/jetpack-shared-extension-utils':
+ specifier: workspace:*
+ version: link:../../js-packages/shared-extension-utils
'@automattic/jetpack-webpack-config':
specifier: workspace:*
version: link:../../js-packages/webpack-config
@@ -4796,10 +4799,6 @@ importers:
version: 6.0.1(webpack@5.101.3)
projects/plugins/inspect:
- dependencies:
- tslib:
- specifier: 2.8.1
- version: 2.8.1
devDependencies:
'@babel/core':
specifier: 7.28.4
@@ -4846,6 +4845,9 @@ importers:
svelte-preprocess:
specifier: 6.0.2
version: 6.0.2(@babel/core@7.28.4)(postcss@8.5.6)(sass-embedded@1.87.0)(svelte@4.2.19)(typescript@5.9.3)
+ tslib:
+ specifier: 2.8.1
+ version: 2.8.1
typescript:
specifier: 5.9.3
version: 5.9.3
@@ -5937,17 +5939,17 @@ importers:
specifier: 7.27.1
version: 7.27.1(@babel/core@7.28.4)
'@eslint/compat':
- specifier: 1.4.0
- version: 1.4.0(eslint@9.38.0)
+ specifier: 1.4.1
+ version: 1.4.1(eslint@9.39.1)
'@eslint/eslintrc':
- specifier: 3.3.1
- version: 3.3.1
+ specifier: 3.3.3
+ version: 3.3.3
'@eslint/js':
- specifier: 9.38.0
- version: 9.38.0
+ specifier: 9.39.1
+ version: 9.39.1
'@eslint/json':
- specifier: 0.13.2
- version: 0.13.2
+ specifier: 0.14.0
+ version: 0.14.0
'@octokit/auth-token':
specifier: 5.1.2
version: 5.1.2
@@ -5956,13 +5958,13 @@ importers:
version: 21.1.1
'@tanstack/eslint-plugin-query':
specifier: 5.91.2
- version: 5.91.2(eslint@9.38.0)(typescript@5.9.3)
+ version: 5.91.2(eslint@9.39.1)(typescript@5.9.3)
'@testing-library/jest-dom':
specifier: 6.9.1
version: 6.9.1
'@wordpress/eslint-plugin':
specifier: 22.22.0
- version: 22.22.0(@babel/core@7.28.4)(eslint-config-prettier@10.1.8(eslint@9.38.0))(eslint-plugin-import@2.32.0)(eslint-plugin-jest@29.0.1(eslint@9.38.0)(jest@30.2.0)(typescript@5.9.3))(eslint-plugin-jsdoc@51.4.1(eslint@9.38.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.38.0))(eslint-plugin-playwright@2.2.2(eslint@9.38.0))(eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.38.0))(eslint@9.38.0)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.38.0))(eslint-plugin-react@7.37.5(eslint@9.38.0))(eslint@9.38.0)(typescript@5.9.3)(wp-prettier@3.0.3)
+ version: 22.22.0(@babel/core@7.28.4)(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint-plugin-import@2.32.0)(eslint-plugin-jest@29.2.1(eslint@9.39.1)(jest@30.2.0)(typescript@5.9.3))(eslint-plugin-jsdoc@51.4.1(eslint@9.39.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1))(eslint-plugin-playwright@2.4.0(eslint@9.39.1))(eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.39.1))(eslint-plugin-react@7.37.5(eslint@9.39.1))(eslint@9.39.1)(typescript@5.9.3)(wp-prettier@3.0.3)
'@wordpress/jest-console':
specifier: 8.36.0
version: 8.36.0(patch_hash=0c63a888feb97f2f1d416ca013ad85c31b6360b41cc0b6e2b0ae28f778fbdc5b)(jest@30.2.0)
@@ -5982,62 +5984,62 @@ importers:
specifier: 2.4.1
version: 2.4.1
eslint:
- specifier: 9.38.0
- version: 9.38.0
+ specifier: 9.39.1
+ version: 9.39.1
eslint-config-prettier:
specifier: 10.1.8
- version: 10.1.8(eslint@9.38.0)
+ version: 10.1.8(eslint@9.39.1)
eslint-import-resolver-typescript:
specifier: 4.4.4
- version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.38.0)
+ version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.39.1)
eslint-json-compat-utils:
specifier: 0.2.1
- version: 0.2.1(@eslint/json@0.13.2)(eslint@9.38.0)(jsonc-eslint-parser@2.4.1)
+ version: 0.2.1(@eslint/json@0.14.0)(eslint@9.39.1)(jsonc-eslint-parser@2.4.1)
eslint-plugin-es-x:
- specifier: 9.1.2
- version: 9.1.2(eslint@9.38.0)
+ specifier: 9.2.0
+ version: 9.2.0(eslint@9.39.1)
eslint-plugin-import:
specifier: 2.32.0
- version: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.38.0)
+ version: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1)
eslint-plugin-jest:
- specifier: 29.0.1
- version: 29.0.1(eslint@9.38.0)(jest@30.2.0)(typescript@5.9.3)
+ specifier: 29.2.1
+ version: 29.2.1(eslint@9.39.1)(jest@30.2.0)(typescript@5.9.3)
eslint-plugin-jest-dom:
specifier: 5.5.0
- version: 5.5.0(eslint@9.38.0)
+ version: 5.5.0(eslint@9.39.1)
eslint-plugin-jsdoc:
specifier: 51.4.1
- version: 51.4.1(eslint@9.38.0)
+ version: 51.4.1(eslint@9.39.1)
eslint-plugin-jsx-a11y:
specifier: 6.10.2
- version: 6.10.2(eslint@9.38.0)
+ version: 6.10.2(eslint@9.39.1)
eslint-plugin-lodash:
specifier: 8.0.0
- version: 8.0.0(eslint@9.38.0)
+ version: 8.0.0(eslint@9.39.1)
eslint-plugin-n:
specifier: 17.23.1
- version: 17.23.1(eslint@9.38.0)(typescript@5.9.3)
+ version: 17.23.1(eslint@9.39.1)(typescript@5.9.3)
eslint-plugin-package-json:
- specifier: 0.59.0
- version: 0.59.0(eslint@9.38.0)(jsonc-eslint-parser@2.4.1)
+ specifier: 0.85.0
+ version: 0.85.0(eslint@9.39.1)(jsonc-eslint-parser@2.4.1)
eslint-plugin-playwright:
- specifier: 2.2.2
- version: 2.2.2(eslint@9.38.0)
+ specifier: 2.4.0
+ version: 2.4.0(eslint@9.39.1)
eslint-plugin-prettier:
specifier: 5.5.4
- version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.38.0))(eslint@9.38.0)(wp-prettier@3.0.3)
+ version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(wp-prettier@3.0.3)
eslint-plugin-react:
specifier: 7.37.5
- version: 7.37.5(eslint@9.38.0)
+ version: 7.37.5(eslint@9.39.1)
eslint-plugin-react-hooks:
specifier: 5.2.0
- version: 5.2.0(eslint@9.38.0)
+ version: 5.2.0(eslint@9.39.1)
eslint-plugin-svelte:
- specifier: 3.12.5
- version: 3.12.5(eslint@9.38.0)(svelte@4.2.19)
+ specifier: 3.13.0
+ version: 3.13.0(eslint@9.39.1)(svelte@4.2.19)
eslint-plugin-testing-library:
- specifier: 7.13.3
- version: 7.13.3(eslint@9.38.0)(typescript@5.9.3)
+ specifier: 7.13.5
+ version: 7.13.5(eslint@9.39.1)(typescript@5.9.3)
eslint-plugin-you-dont-need-lodash-underscore:
specifier: 6.14.0
version: 6.14.0
@@ -6096,8 +6098,8 @@ importers:
specifier: 5.9.3
version: 5.9.3
typescript-eslint:
- specifier: 8.46.2
- version: 8.46.2(eslint@9.38.0)(typescript@5.9.3)
+ specifier: 8.48.0
+ version: 8.48.0(eslint@9.39.1)(typescript@5.9.3)
yaml:
specifier: 2.2.2
version: 2.2.2
@@ -7376,8 +7378,8 @@ packages:
resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/compat@1.4.0':
- resolution: {integrity: sha512-DEzm5dKeDBPm3r08Ixli/0cmxr8LkRdwxMRUIJBlSCpAwSrvFEJpVBzV+66JhDxiaqKxnRzCXhtiMiczF7Hglg==}
+ '@eslint/compat@1.4.1':
+ resolution: {integrity: sha512-cfO82V9zxxGBxcQDr1lfaYB7wykTa0b00mGa36FrJl7iTFd0Z2cHfEYuxcBRP/iNijCsWsEkA+jzT8hGYmv33w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.40 || 9
@@ -7393,38 +7395,26 @@ packages:
resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.15.2':
- resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.16.0':
- resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@eslint/core@0.17.0':
resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.3.1':
- resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ '@eslint/eslintrc@3.3.3':
+ resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.38.0':
- resolution: {integrity: sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==}
+ '@eslint/js@9.39.1':
+ resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/json@0.13.2':
- resolution: {integrity: sha512-yWLyRE18rHgHXhWigRpiyv1LDPkvWtC6oa7QHXW7YdP6gosJoq7BiLZW2yCs9U7zN7X4U3ZeOJjepA10XAOIMw==}
+ '@eslint/json@0.14.0':
+ resolution: {integrity: sha512-rvR/EZtvUG3p9uqrSmcDJPYSH7atmWr0RnFWN6m917MAPx82+zQgPUmDu0whPFG6XTyM0vB/hR6c1Q63OaYtCQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.7':
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.3.5':
- resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@eslint/plugin-kit@0.4.1':
resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -9481,100 +9471,63 @@ packages:
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
- '@typescript-eslint/eslint-plugin@8.46.2':
- resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==}
+ '@typescript-eslint/eslint-plugin@8.48.0':
+ resolution: {integrity: sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.46.2
+ '@typescript-eslint/parser': ^8.48.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.46.2':
- resolution: {integrity: sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==}
+ '@typescript-eslint/parser@8.48.0':
+ resolution: {integrity: sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.46.2':
- resolution: {integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/project-service@8.46.4':
- resolution: {integrity: sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==}
+ '@typescript-eslint/project-service@8.48.0':
+ resolution: {integrity: sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.46.2':
- resolution: {integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==}
+ '@typescript-eslint/scope-manager@8.48.0':
+ resolution: {integrity: sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/scope-manager@8.46.4':
- resolution: {integrity: sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/tsconfig-utils@8.46.2':
- resolution: {integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==}
+ '@typescript-eslint/tsconfig-utils@8.48.0':
+ resolution: {integrity: sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/tsconfig-utils@8.46.4':
- resolution: {integrity: sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/type-utils@8.46.2':
- resolution: {integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==}
+ '@typescript-eslint/type-utils@8.48.0':
+ resolution: {integrity: sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.46.2':
- resolution: {integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==}
+ '@typescript-eslint/types@8.48.0':
+ resolution: {integrity: sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/types@8.46.4':
- resolution: {integrity: sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/typescript-estree@8.46.2':
- resolution: {integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/typescript-estree@8.46.4':
- resolution: {integrity: sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/utils@8.46.2':
- resolution: {integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==}
+ '@typescript-eslint/typescript-estree@8.48.0':
+ resolution: {integrity: sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.46.4':
- resolution: {integrity: sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==}
+ '@typescript-eslint/utils@8.48.0':
+ resolution: {integrity: sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.46.2':
- resolution: {integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/visitor-keys@8.46.4':
- resolution: {integrity: sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==}
+ '@typescript-eslint/visitor-keys@8.48.0':
+ resolution: {integrity: sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.3.0':
@@ -12040,8 +11993,8 @@ packages:
peerDependencies:
eslint: '>=8'
- eslint-plugin-es-x@9.1.2:
- resolution: {integrity: sha512-v019GsVMydtD8e0QazxOtwQRtmKVZgkpykvUwaKH8otLHaLsnV6txRrQWN4MeGn8W1A00Dh8N0R41uiIyvMsYA==}
+ eslint-plugin-es-x@9.2.0:
+ resolution: {integrity: sha512-mQrBhl8pvoKih9ohoK5t0v4ihugf3NJEKIXtEokz0BPEcTTjDssntXREgrVbLOM/G6tcUcjGfptyuQ8eNnXzwQ==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
eslint: '>=9.29.0'
@@ -12066,8 +12019,8 @@ packages:
'@testing-library/dom':
optional: true
- eslint-plugin-jest@29.0.1:
- resolution: {integrity: sha512-EE44T0OSMCeXhDrrdsbKAhprobKkPtJTbQz5yEktysNpHeDZTAL1SfDTNKmcFfJkY6yrQLtTKZALrD3j/Gpmiw==}
+ eslint-plugin-jest@29.2.1:
+ resolution: {integrity: sha512-0WLIezrIxitUGbjMIGwznVzSIp0uFJV0PZ2fiSvpyVcxe+QMXKUt7MRhUpzdbctnnLwiOTOFkACplgB0wAglFw==}
engines: {node: ^20.12.0 || ^22.0.0 || >=24.0.0}
peerDependencies:
'@typescript-eslint/eslint-plugin': ^8.0.0
@@ -12103,16 +12056,16 @@ packages:
peerDependencies:
eslint: '>=8.23.0'
- eslint-plugin-package-json@0.59.0:
- resolution: {integrity: sha512-4xdVhL3b7LqQQh8cvN3hX8HkAVM6cxZoXqyN4ZE4kN9NuJ21sgnj1IGS19/bmIgCdGBhmsWGXbbyD1H9mjZfMA==}
+ eslint-plugin-package-json@0.85.0:
+ resolution: {integrity: sha512-MrOxFvhbqLuk4FIPG9v3u9Amn0n137J8LKILHvgfxK3rRyAHEVzuZM0CtpXFTx7cx4LzmAzONtlpjbM0UFNuTA==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
eslint: '>=8.0.0'
jsonc-eslint-parser: ^2.0.0
- eslint-plugin-playwright@2.2.2:
- resolution: {integrity: sha512-j0jKpndIPOXRRP9uMkwb9l/nSmModOU3452nrFdgFJoEv/435J1onk8+aITzjDW8DfypxgmVaDMdmVIa6F7I0w==}
- engines: {node: '>=16.6.0'}
+ eslint-plugin-playwright@2.4.0:
+ resolution: {integrity: sha512-MWNXfXlLfwXAjj4Z80PvCCFCXgCYy5OCHan57Z/beGrjkJ3maG1GanuGX8Ck6T6fagplBx2ZdkifxSfByftaTQ==}
+ engines: {node: '>=16.9.0'}
peerDependencies:
eslint: '>=8.40.0'
@@ -12142,8 +12095,8 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
- eslint-plugin-svelte@3.12.5:
- resolution: {integrity: sha512-4KRG84eAHQfYd9OjZ1K7sCHy0nox+9KwT+s5WCCku3jTim5RV4tVENob274nCwIaApXsYPKAUAZFBxKZ3Wyfjw==}
+ eslint-plugin-svelte@3.13.0:
+ resolution: {integrity: sha512-2ohCCQJJTNbIpQCSDSTWj+FN0OVfPmSO03lmSNT7ytqMaWF6kpT86LdzDqtm4sh7TVPl/OEWJ/d7R87bXP2Vjg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.1 || ^9.0.0
@@ -12152,9 +12105,9 @@ packages:
svelte:
optional: true
- eslint-plugin-testing-library@7.13.3:
- resolution: {integrity: sha512-STwyXN7GnHulgsfdXVd5iC8fFCJVRQj2AcKtMmQOsA8G4oMnSCOX1p3MjbrDQ9fmwVf5wZy6vboTOTFobWuxOA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: ^9.14.0}
+ eslint-plugin-testing-library@7.13.5:
+ resolution: {integrity: sha512-75rUmtNnXeO9cyMwG78vXxGEB7muIQ+IwcwBTma+M9KFc68SFaMKevGydObsUgX+IFef4lRLO/ysR9JqK1odyg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -12188,8 +12141,8 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.38.0:
- resolution: {integrity: sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==}
+ eslint@9.39.1:
+ resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -14476,8 +14429,8 @@ packages:
package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
- package-json-validator@0.31.0:
- resolution: {integrity: sha512-kAVO0fNFWI2xpmthogYHnHjCtg0nJvwm9yjd9nnrR5OKIts5fmNMK2OhhjnLD1/ohJNodhCa5tZm8AolOgkfMg==}
+ package-json-validator@0.59.0:
+ resolution: {integrity: sha512-WBTDKtO9pBa9GmA1sPbQHqlWxRdnHNfLFIIA49PPgV7px/rG27gHX57DWy77qyu374fla4veaIHy+gA+qRRuug==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
@@ -16707,8 +16660,8 @@ packages:
typescript-compare@0.0.2:
resolution: {integrity: sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==}
- typescript-eslint@8.46.2:
- resolution: {integrity: sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==}
+ typescript-eslint@8.48.0:
+ resolution: {integrity: sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -16908,9 +16861,9 @@ packages:
validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
- validate-npm-package-name@6.0.2:
- resolution: {integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==}
- engines: {node: ^18.17.0 || >=20.5.0}
+ validate-npm-package-name@7.0.0:
+ resolution: {integrity: sha512-bwVk/OK+Qu108aJcMAEiU4yavHUI7aN20TgZNBj9MR2iU1zPUl1Z1Otr7771ExfYTPTvfN8ZJ1pbr5Iklgt4xg==}
+ engines: {node: ^20.17.0 || >=22.9.0}
varint@6.0.0:
resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
@@ -17689,11 +17642,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/eslint-parser@7.28.5(@babel/core@7.28.4)(eslint@9.38.0)':
+ '@babel/eslint-parser@7.28.5(@babel/core@7.28.4)(eslint@9.39.1)':
dependencies:
'@babel/core': 7.28.4
'@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
- eslint: 9.38.0
+ eslint: 9.39.1
eslint-visitor-keys: 2.1.0
semver: 6.3.1
@@ -18964,7 +18917,7 @@ snapshots:
'@es-joy/jsdoccomment@0.52.0':
dependencies:
'@types/estree': 1.0.8
- '@typescript-eslint/types': 8.46.4
+ '@typescript-eslint/types': 8.48.0
comment-parser: 1.4.1
esquery: 1.6.0
jsdoc-type-pratt-parser: 4.1.0
@@ -19047,18 +19000,18 @@ snapshots:
'@esbuild/win32-x64@0.25.9':
optional: true
- '@eslint-community/eslint-utils@4.9.0(eslint@9.38.0)':
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)':
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/compat@1.4.0(eslint@9.38.0)':
+ '@eslint/compat@1.4.1(eslint@9.39.1)':
dependencies:
- '@eslint/core': 0.16.0
+ '@eslint/core': 0.17.0
optionalDependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
'@eslint/config-array@0.21.1':
dependencies:
@@ -19072,19 +19025,11 @@ snapshots:
dependencies:
'@eslint/core': 0.17.0
- '@eslint/core@0.15.2':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/core@0.16.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
'@eslint/core@0.17.0':
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.3.1':
+ '@eslint/eslintrc@3.3.3':
dependencies:
ajv: 6.12.6
debug: 4.4.3
@@ -19098,22 +19043,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.38.0': {}
+ '@eslint/js@9.39.1': {}
- '@eslint/json@0.13.2':
+ '@eslint/json@0.14.0':
dependencies:
- '@eslint/core': 0.15.2
- '@eslint/plugin-kit': 0.3.5
+ '@eslint/core': 0.17.0
+ '@eslint/plugin-kit': 0.4.1
'@humanwhocodes/momoa': 3.3.10
natural-compare: 1.4.0
'@eslint/object-schema@2.1.7': {}
- '@eslint/plugin-kit@0.3.5':
- dependencies:
- '@eslint/core': 0.15.2
- levn: 0.4.1
-
'@eslint/plugin-kit@0.4.1':
dependencies:
'@eslint/core': 0.17.0
@@ -21298,10 +21238,10 @@ snapshots:
'@tannin/sprintf@1.3.3': {}
- '@tanstack/eslint-plugin-query@5.91.2(eslint@9.38.0)(typescript@5.9.3)':
+ '@tanstack/eslint-plugin-query@5.91.2(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/utils': 8.46.4(eslint@9.38.0)(typescript@5.9.3)
- eslint: 9.38.0
+ '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ eslint: 9.39.1
transitivePeerDependencies:
- supports-color
- typescript
@@ -21721,15 +21661,15 @@ snapshots:
'@types/node': 20.19.24
optional: true
- '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.48.0(@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.46.2(eslint@9.38.0)(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.46.2
- '@typescript-eslint/type-utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.46.2
- eslint: 9.38.0
+ '@typescript-eslint/parser': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.48.0
+ '@typescript-eslint/type-utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.48.0
+ eslint: 9.39.1
graphemer: 1.4.0
ignore: 7.0.0
natural-compare: 1.4.0
@@ -21738,132 +21678,79 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.46.2
- '@typescript-eslint/types': 8.46.2
- '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.46.2
- debug: 4.4.3
- eslint: 9.38.0
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/project-service@8.46.2(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3)
- '@typescript-eslint/types': 8.46.4
+ '@typescript-eslint/scope-manager': 8.48.0
+ '@typescript-eslint/types': 8.48.0
+ '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.48.0
debug: 4.4.3
+ eslint: 9.39.1
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.46.4(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.48.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3)
- '@typescript-eslint/types': 8.46.4
+ '@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.48.0
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.46.2':
+ '@typescript-eslint/scope-manager@8.48.0':
dependencies:
- '@typescript-eslint/types': 8.46.2
- '@typescript-eslint/visitor-keys': 8.46.2
+ '@typescript-eslint/types': 8.48.0
+ '@typescript-eslint/visitor-keys': 8.48.0
- '@typescript-eslint/scope-manager@8.46.4':
- dependencies:
- '@typescript-eslint/types': 8.46.4
- '@typescript-eslint/visitor-keys': 8.46.4
-
- '@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.9.3)':
- dependencies:
- typescript: 5.9.3
-
- '@typescript-eslint/tsconfig-utils@8.46.4(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.48.0(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.46.2(eslint@9.38.0)(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.48.0(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.46.2
- '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3)
+ '@typescript-eslint/types': 8.48.0
+ '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
debug: 4.4.3
- eslint: 9.38.0
+ eslint: 9.39.1
ts-api-utils: 2.1.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.46.2': {}
-
- '@typescript-eslint/types@8.46.4': {}
+ '@typescript-eslint/types@8.48.0': {}
- '@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.48.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.46.2(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3)
- '@typescript-eslint/types': 8.46.2
- '@typescript-eslint/visitor-keys': 8.46.2
+ '@typescript-eslint/project-service': 8.48.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.48.0
+ '@typescript-eslint/visitor-keys': 8.48.0
debug: 4.4.3
- fast-glob: 3.3.3
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.7.3
- ts-api-utils: 2.1.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/typescript-estree@8.46.4(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/project-service': 8.46.4(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3)
- '@typescript-eslint/types': 8.46.4
- '@typescript-eslint/visitor-keys': 8.46.4
- debug: 4.4.3
- fast-glob: 3.3.3
- is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.3
+ tinyglobby: 0.2.15
ts-api-utils: 2.1.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.46.2(eslint@9.38.0)(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.48.0(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
- '@typescript-eslint/scope-manager': 8.46.2
- '@typescript-eslint/types': 8.46.2
- '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
- eslint: 9.38.0
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
+ '@typescript-eslint/scope-manager': 8.48.0
+ '@typescript-eslint/types': 8.48.0
+ '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
+ eslint: 9.39.1
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.46.4(eslint@9.38.0)(typescript@5.9.3)':
+ '@typescript-eslint/visitor-keys@8.48.0':
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
- '@typescript-eslint/scope-manager': 8.46.4
- '@typescript-eslint/types': 8.46.4
- '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3)
- eslint: 9.38.0
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/visitor-keys@8.46.2':
- dependencies:
- '@typescript-eslint/types': 8.46.2
- eslint-visitor-keys: 4.2.1
-
- '@typescript-eslint/visitor-keys@8.46.4':
- dependencies:
- '@typescript-eslint/types': 8.46.4
+ '@typescript-eslint/types': 8.48.0
eslint-visitor-keys: 4.2.1
'@ungap/structured-clone@1.3.0': {}
@@ -23629,24 +23516,24 @@ snapshots:
'@wordpress/escape-html@3.36.0(patch_hash=2659f08edd4c0250f15fb428f013852a17e84da9c745e6dae6307de837e4d30b)': {}
- '@wordpress/eslint-plugin@22.22.0(@babel/core@7.28.4)(eslint-config-prettier@10.1.8(eslint@9.38.0))(eslint-plugin-import@2.32.0)(eslint-plugin-jest@29.0.1(eslint@9.38.0)(jest@30.2.0)(typescript@5.9.3))(eslint-plugin-jsdoc@51.4.1(eslint@9.38.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.38.0))(eslint-plugin-playwright@2.2.2(eslint@9.38.0))(eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.38.0))(eslint@9.38.0)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.38.0))(eslint-plugin-react@7.37.5(eslint@9.38.0))(eslint@9.38.0)(typescript@5.9.3)(wp-prettier@3.0.3)':
+ '@wordpress/eslint-plugin@22.22.0(@babel/core@7.28.4)(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint-plugin-import@2.32.0)(eslint-plugin-jest@29.2.1(eslint@9.39.1)(jest@30.2.0)(typescript@5.9.3))(eslint-plugin-jsdoc@51.4.1(eslint@9.39.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1))(eslint-plugin-playwright@2.4.0(eslint@9.39.1))(eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(wp-prettier@3.0.3))(eslint-plugin-react-hooks@5.2.0(eslint@9.39.1))(eslint-plugin-react@7.37.5(eslint@9.39.1))(eslint@9.39.1)(typescript@5.9.3)(wp-prettier@3.0.3)':
dependencies:
'@babel/core': 7.28.4
- '@babel/eslint-parser': 7.28.5(@babel/core@7.28.4)(eslint@9.38.0)
+ '@babel/eslint-parser': 7.28.5(@babel/core@7.28.4)(eslint@9.39.1)
'@wordpress/babel-preset-default': 8.36.0
'@wordpress/prettier-config': 4.36.0(wp-prettier@3.0.3)
cosmiconfig: 7.1.0
- eslint: 9.38.0
- eslint-config-prettier: 10.1.8(eslint@9.38.0)
- eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.38.0)
- eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.38.0)
- eslint-plugin-jest: 29.0.1(eslint@9.38.0)(jest@30.2.0)(typescript@5.9.3)
- eslint-plugin-jsdoc: 51.4.1(eslint@9.38.0)
- eslint-plugin-jsx-a11y: 6.10.2(eslint@9.38.0)
- eslint-plugin-playwright: 2.2.2(eslint@9.38.0)
- eslint-plugin-prettier: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.38.0))(eslint@9.38.0)(wp-prettier@3.0.3)
- eslint-plugin-react: 7.37.5(eslint@9.38.0)
- eslint-plugin-react-hooks: 5.2.0(eslint@9.38.0)
+ eslint: 9.39.1
+ eslint-config-prettier: 10.1.8(eslint@9.39.1)
+ eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.39.1)
+ eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1)
+ eslint-plugin-jest: 29.2.1(eslint@9.39.1)(jest@30.2.0)(typescript@5.9.3)
+ eslint-plugin-jsdoc: 51.4.1(eslint@9.39.1)
+ eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.1)
+ eslint-plugin-playwright: 2.4.0(eslint@9.39.1)
+ eslint-plugin-prettier: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(wp-prettier@3.0.3)
+ eslint-plugin-react: 7.37.5(eslint@9.39.1)
+ eslint-plugin-react-hooks: 5.2.0(eslint@9.39.1)
globals: 13.24.0
requireindex: 1.2.0
optionalDependencies:
@@ -26374,18 +26261,18 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
- eslint-compat-utils@0.5.1(eslint@9.38.0):
+ eslint-compat-utils@0.5.1(eslint@9.39.1):
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
semver: 7.7.3
- eslint-config-prettier@10.1.8(eslint@9.38.0):
+ eslint-config-prettier@10.1.8(eslint@9.39.1):
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
- eslint-fix-utils@0.4.0(eslint@9.38.0):
+ eslint-fix-utils@0.4.0(eslint@9.39.1):
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
eslint-import-context@0.1.9(unrs-resolver@1.11.1):
dependencies:
@@ -26402,10 +26289,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.38.0):
+ eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.39.1):
dependencies:
debug: 4.4.3
- eslint: 9.38.0
+ eslint: 9.39.1
eslint-import-context: 0.1.9(unrs-resolver@1.11.1)
get-tsconfig: 4.13.0
is-bun-module: 2.0.0
@@ -26413,43 +26300,43 @@ snapshots:
tinyglobby: 0.2.15
unrs-resolver: 1.11.1
optionalDependencies:
- eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.38.0)
+ eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1)
transitivePeerDependencies:
- supports-color
- eslint-json-compat-utils@0.2.1(@eslint/json@0.13.2)(eslint@9.38.0)(jsonc-eslint-parser@2.4.1):
+ eslint-json-compat-utils@0.2.1(@eslint/json@0.14.0)(eslint@9.39.1)(jsonc-eslint-parser@2.4.1):
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
esquery: 1.6.0
jsonc-eslint-parser: 2.4.1
optionalDependencies:
- '@eslint/json': 0.13.2
+ '@eslint/json': 0.14.0
- eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.38.0):
+ eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1):
dependencies:
debug: 3.2.7
optionalDependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.38.0)
+ eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.39.1)
transitivePeerDependencies:
- supports-color
- eslint-plugin-es-x@7.8.0(eslint@9.38.0):
+ eslint-plugin-es-x@7.8.0(eslint@9.39.1):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
'@eslint-community/regexpp': 4.12.2
- eslint: 9.38.0
- eslint-compat-utils: 0.5.1(eslint@9.38.0)
+ eslint: 9.39.1
+ eslint-compat-utils: 0.5.1(eslint@9.39.1)
- eslint-plugin-es-x@9.1.2(eslint@9.38.0):
+ eslint-plugin-es-x@9.2.0(eslint@9.39.1):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
'@eslint-community/regexpp': 4.12.2
- eslint: 9.38.0
- eslint-type-tracer: 0.4.1(eslint@9.38.0)
+ eslint: 9.39.1
+ eslint-type-tracer: 0.4.1(eslint@9.39.1)
- eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.38.0):
+ eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -26458,9 +26345,9 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
- eslint: 9.38.0
+ eslint: 9.39.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.38.0)
+ eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -26476,30 +26363,30 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jest-dom@5.5.0(eslint@9.38.0):
+ eslint-plugin-jest-dom@5.5.0(eslint@9.39.1):
dependencies:
'@babel/runtime': 7.28.4
- eslint: 9.38.0
+ eslint: 9.39.1
requireindex: 1.2.0
- eslint-plugin-jest@29.0.1(eslint@9.38.0)(jest@30.2.0)(typescript@5.9.3):
+ eslint-plugin-jest@29.2.1(eslint@9.39.1)(jest@30.2.0)(typescript@5.9.3):
dependencies:
- '@typescript-eslint/utils': 8.46.4(eslint@9.38.0)(typescript@5.9.3)
- eslint: 9.38.0
+ '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ eslint: 9.39.1
optionalDependencies:
jest: 30.2.0
transitivePeerDependencies:
- supports-color
- typescript
- eslint-plugin-jsdoc@51.4.1(eslint@9.38.0):
+ eslint-plugin-jsdoc@51.4.1(eslint@9.39.1):
dependencies:
'@es-joy/jsdoccomment': 0.52.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.4.3
escape-string-regexp: 4.0.0
- eslint: 9.38.0
+ eslint: 9.39.1
espree: 10.4.0
esquery: 1.6.0
parse-imports-exports: 0.2.4
@@ -26508,7 +26395,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-jsx-a11y@6.10.2(eslint@9.38.0):
+ eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.1):
dependencies:
aria-query: 5.3.2
array-includes: 3.1.9
@@ -26518,7 +26405,7 @@ snapshots:
axobject-query: 4.1.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
- eslint: 9.38.0
+ eslint: 9.39.1
hasown: 2.0.2
jsx-ast-utils: 3.3.5
language-tags: 1.0.9
@@ -26527,17 +26414,17 @@ snapshots:
safe-regex-test: 1.1.0
string.prototype.includes: 2.0.1
- eslint-plugin-lodash@8.0.0(eslint@9.38.0):
+ eslint-plugin-lodash@8.0.0(eslint@9.39.1):
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
lodash: 4.17.21
- eslint-plugin-n@17.23.1(eslint@9.38.0)(typescript@5.9.3):
+ eslint-plugin-n@17.23.1(eslint@9.39.1)(typescript@5.9.3):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
enhanced-resolve: 5.18.3
- eslint: 9.38.0
- eslint-plugin-es-x: 7.8.0(eslint@9.38.0)
+ eslint: 9.39.1
+ eslint-plugin-es-x: 7.8.0(eslint@9.39.1)
get-tsconfig: 4.13.0
globals: 15.15.0
globrex: 0.1.2
@@ -26547,42 +26434,42 @@ snapshots:
transitivePeerDependencies:
- typescript
- eslint-plugin-package-json@0.59.0(eslint@9.38.0)(jsonc-eslint-parser@2.4.1):
+ eslint-plugin-package-json@0.85.0(eslint@9.39.1)(jsonc-eslint-parser@2.4.1):
dependencies:
'@altano/repository-tools': 2.0.1
change-case: 5.4.4
detect-indent: 7.0.2
detect-newline: 4.0.1
- eslint: 9.38.0
- eslint-fix-utils: 0.4.0(eslint@9.38.0)
+ eslint: 9.39.1
+ eslint-fix-utils: 0.4.0(eslint@9.39.1)
jsonc-eslint-parser: 2.4.1
- package-json-validator: 0.31.0
+ package-json-validator: 0.59.0
semver: 7.7.3
sort-object-keys: 2.0.1
sort-package-json: 3.4.0
- validate-npm-package-name: 6.0.2
+ validate-npm-package-name: 7.0.0
transitivePeerDependencies:
- '@types/estree'
- eslint-plugin-playwright@2.2.2(eslint@9.38.0):
+ eslint-plugin-playwright@2.4.0(eslint@9.39.1):
dependencies:
- eslint: 9.38.0
- globals: 13.24.0
+ eslint: 9.39.1
+ globals: 16.5.0
- eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.38.0))(eslint@9.38.0)(wp-prettier@3.0.3):
+ eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(wp-prettier@3.0.3):
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
prettier: wp-prettier@3.0.3
prettier-linter-helpers: 1.0.0
synckit: 0.11.11
optionalDependencies:
- eslint-config-prettier: 10.1.8(eslint@9.38.0)
+ eslint-config-prettier: 10.1.8(eslint@9.39.1)
- eslint-plugin-react-hooks@5.2.0(eslint@9.38.0):
+ eslint-plugin-react-hooks@5.2.0(eslint@9.39.1):
dependencies:
- eslint: 9.38.0
+ eslint: 9.39.1
- eslint-plugin-react@7.37.5(eslint@9.38.0):
+ eslint-plugin-react@7.37.5(eslint@9.39.1):
dependencies:
array-includes: 3.1.9
array.prototype.findlast: 1.2.5
@@ -26590,7 +26477,7 @@ snapshots:
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
es-iterator-helpers: 1.2.1
- eslint: 9.38.0
+ eslint: 9.39.1
estraverse: 5.3.0
hasown: 2.0.2
jsx-ast-utils: 3.3.5
@@ -26604,11 +26491,11 @@ snapshots:
string.prototype.matchall: 4.0.12
string.prototype.repeat: 1.0.0
- eslint-plugin-svelte@3.12.5(eslint@9.38.0)(svelte@4.2.19):
+ eslint-plugin-svelte@3.13.0(eslint@9.39.1)(svelte@4.2.19):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
'@jridgewell/sourcemap-codec': 1.5.5
- eslint: 9.38.0
+ eslint: 9.39.1
esutils: 2.0.3
globals: 16.5.0
known-css-properties: 0.37.0
@@ -26622,11 +26509,11 @@ snapshots:
transitivePeerDependencies:
- ts-node
- eslint-plugin-testing-library@7.13.3(eslint@9.38.0)(typescript@5.9.3):
+ eslint-plugin-testing-library@7.13.5(eslint@9.39.1)(typescript@5.9.3):
dependencies:
- '@typescript-eslint/scope-manager': 8.46.4
- '@typescript-eslint/utils': 8.46.4(eslint@9.38.0)(typescript@5.9.3)
- eslint: 9.38.0
+ '@typescript-eslint/scope-manager': 8.48.0
+ '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ eslint: 9.39.1
transitivePeerDependencies:
- supports-color
- typescript
@@ -26645,10 +26532,10 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
- eslint-type-tracer@0.4.1(eslint@9.38.0):
+ eslint-type-tracer@0.4.1(eslint@9.39.1):
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
- eslint: 9.38.0
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
+ eslint: 9.39.1
eslint-visitor-keys@2.1.0: {}
@@ -26656,15 +26543,15 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.38.0:
+ eslint@9.39.1:
dependencies:
- '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1
'@eslint/config-helpers': 0.4.2
- '@eslint/core': 0.16.0
- '@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.38.0
+ '@eslint/core': 0.17.0
+ '@eslint/eslintrc': 3.3.3
+ '@eslint/js': 9.39.1
'@eslint/plugin-kit': 0.4.1
'@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
@@ -29596,10 +29483,11 @@ snapshots:
package-json-from-dist@1.0.1: {}
- package-json-validator@0.31.0:
+ package-json-validator@0.59.0:
dependencies:
semver: 7.7.3
validate-npm-package-license: 3.0.4
+ validate-npm-package-name: 7.0.0
yargs: 18.0.0
param-case@3.0.4:
@@ -32022,13 +31910,13 @@ snapshots:
dependencies:
typescript-logic: 0.0.0
- typescript-eslint@8.46.2(eslint@9.38.0)(typescript@5.9.3):
+ typescript-eslint@8.48.0(eslint@9.39.1)(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0)(typescript@5.9.3))(eslint@9.38.0)(typescript@5.9.3)
- '@typescript-eslint/parser': 8.46.2(eslint@9.38.0)(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
- '@typescript-eslint/utils': 8.46.2(eslint@9.38.0)(typescript@5.9.3)
- eslint: 9.38.0
+ '@typescript-eslint/eslint-plugin': 8.48.0(@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
+ eslint: 9.39.1
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -32249,7 +32137,7 @@ snapshots:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
- validate-npm-package-name@6.0.2: {}
+ validate-npm-package-name@7.0.0: {}
varint@6.0.0: {}
diff --git a/projects/js-packages/eslint-changed/changelog/renovate-eslint-packages b/projects/js-packages/eslint-changed/changelog/renovate-eslint-packages
new file mode 100644
index 000000000000..f2479b2800fa
--- /dev/null
+++ b/projects/js-packages/eslint-changed/changelog/renovate-eslint-packages
@@ -0,0 +1,5 @@
+Significance: patch
+Type: fixed
+Comment: New eslint sniff wants all peer deps to also be dev deps. Do that, even though we get eslint from the monorepo root.
+
+
diff --git a/projects/js-packages/eslint-changed/package.json b/projects/js-packages/eslint-changed/package.json
index 56179a892b8b..6e607c741e56 100644
--- a/projects/js-packages/eslint-changed/package.json
+++ b/projects/js-packages/eslint-changed/package.json
@@ -31,6 +31,7 @@
"parse-diff": "0.8.1"
},
"devDependencies": {
+ "eslint": ">=7.0.0",
"jest": "30.2.0"
},
"peerDependencies": {
diff --git a/projects/js-packages/eslint-config-target-es/CHANGELOG.md b/projects/js-packages/eslint-config-target-es/CHANGELOG.md
index 54df4a05486b..fb2c5f5b43c9 100644
--- a/projects/js-packages/eslint-config-target-es/CHANGELOG.md
+++ b/projects/js-packages/eslint-config-target-es/CHANGELOG.md
@@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [4.0.0] - 2025-08-06
### Added
-- Enable new rules from `eslint-plugin-es-x'. [#44288]
+- Enable new rules from `eslint-plugin-es-x`. [#44288]
### Changed
- Update package dependencies. [#43522] [#43578] [#44020] [#44148] [#44217] [#44276] [#44288] [#44289] [#44355] [#44508]
diff --git a/projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#2 b/projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#2
new file mode 100644
index 000000000000..45028352a802
--- /dev/null
+++ b/projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#2
@@ -0,0 +1,4 @@
+Significance: patch
+Type: changed
+
+Update package dependencies.
diff --git a/projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#3 b/projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#3
new file mode 100644
index 000000000000..c370decbb055
--- /dev/null
+++ b/projects/js-packages/eslint-config-target-es/changelog/renovate-eslint-packages#3
@@ -0,0 +1,4 @@
+Significance: major
+Type: added
+
+Enable new rules from `eslint-plugin-es-x`.
diff --git a/projects/js-packages/eslint-config-target-es/package.json b/projects/js-packages/eslint-config-target-es/package.json
index 219ce93c2bdd..2f44b0840e68 100644
--- a/projects/js-packages/eslint-config-target-es/package.json
+++ b/projects/js-packages/eslint-config-target-es/package.json
@@ -45,8 +45,8 @@
},
"devDependencies": {
"@wordpress/browserslist-config": "6.36.0",
- "eslint": "9.38.0",
- "eslint-plugin-es-x": "9.1.2",
+ "eslint": "9.39.1",
+ "eslint-plugin-es-x": "9.2.0",
"globals": "16.5.0",
"jest": "30.2.0"
},
diff --git a/projects/js-packages/eslint-config-target-es/src/rulesMap.js b/projects/js-packages/eslint-config-target-es/src/rulesMap.js
index 27ba961f46fe..cb4a59b92d29 100644
--- a/projects/js-packages/eslint-config-target-es/src/rulesMap.js
+++ b/projects/js-packages/eslint-config-target-es/src/rulesMap.js
@@ -6,6 +6,16 @@ module.exports = {
'no-asyncdisposablestack': 'javascript.builtins.AsyncDisposableStack.AsyncDisposableStack',
'no-disposablestack': 'javascript.builtins.DisposableStack.DisposableStack',
'no-error-iserror': 'javascript.builtins.Error.isError',
+ 'no-intl-locale-prototype-firstdayofweek': false, // No compat data yet.
+ 'no-intl-locale-prototype-getcalendars': 'javascript.builtins.Intl.Locale.getCalendars',
+ 'no-intl-locale-prototype-getcollations': 'javascript.builtins.Intl.Locale.getCollations',
+ 'no-intl-locale-prototype-gethourcycles': 'javascript.builtins.Intl.Locale.getHourCycles',
+ 'no-intl-locale-prototype-getnumberingsystems':
+ 'javascript.builtins.Intl.Locale.getNumberingSystems',
+ 'no-intl-locale-prototype-gettextinfo': 'javascript.builtins.Intl.Locale.getTextInfo',
+ 'no-intl-locale-prototype-gettimezones': 'javascript.builtins.Intl.Locale.getTimeZones',
+ 'no-intl-locale-prototype-getweekinfo': 'javascript.builtins.Intl.Locale.getWeekInfo',
+ 'no-iterator-concat': false, // No compat data yet.
'no-suppressederror': 'javascript.builtins.SuppressedError.SuppressedError',
'no-symbol-asyncdispose': 'javascript.builtins.Symbol.asyncDispose',
'no-symbol-dispose': 'javascript.builtins.Symbol.dispose',
diff --git a/projects/js-packages/scan/changelog/renovate-eslint-packages b/projects/js-packages/scan/changelog/renovate-eslint-packages
new file mode 100644
index 000000000000..97bc90c2a393
--- /dev/null
+++ b/projects/js-packages/scan/changelog/renovate-eslint-packages
@@ -0,0 +1,4 @@
+Significance: patch
+Type: removed
+
+Remove peer dependency on `@wordpress/i18n`, as it already has a non-peer dependency on the package.
diff --git a/projects/js-packages/scan/changelog/renovate-eslint-packages#2 b/projects/js-packages/scan/changelog/renovate-eslint-packages#2
new file mode 100644
index 000000000000..29b8c0b6e9e9
--- /dev/null
+++ b/projects/js-packages/scan/changelog/renovate-eslint-packages#2
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fixed
+
+`react` and `react-dom` should be peer dependencies, not direct dependencies.
diff --git a/projects/js-packages/scan/package.json b/projects/js-packages/scan/package.json
index 0e6df2bba5ba..5e622689868d 100644
--- a/projects/js-packages/scan/package.json
+++ b/projects/js-packages/scan/package.json
@@ -44,9 +44,7 @@
"@wordpress/i18n": "6.9.0",
"@wordpress/icons": "11.3.0",
"@wordpress/url": "4.36.0",
- "debug": "4.4.1",
- "react": "^18.2.0",
- "react-dom": "^18.2.0"
+ "debug": "4.4.1"
},
"devDependencies": {
"@storybook/addon-docs": "10.0.8",
@@ -57,11 +55,12 @@
"@types/react": "18.3.26",
"jest": "30.2.0",
"jest-environment-jsdom": "30.2.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"storybook": "10.0.8",
"typescript": "5.9.3"
},
"peerDependencies": {
- "@wordpress/i18n": "6.9.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
diff --git a/projects/js-packages/social-logos/changelog/renovate-eslint-packages b/projects/js-packages/social-logos/changelog/renovate-eslint-packages
new file mode 100644
index 000000000000..29b8c0b6e9e9
--- /dev/null
+++ b/projects/js-packages/social-logos/changelog/renovate-eslint-packages
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fixed
+
+`react` and `react-dom` should be peer dependencies, not direct dependencies.
diff --git a/projects/js-packages/social-logos/package.json b/projects/js-packages/social-logos/package.json
index 76deb0d908b1..237b6358e61c 100644
--- a/projects/js-packages/social-logos/package.json
+++ b/projects/js-packages/social-logos/package.json
@@ -31,14 +31,14 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "prop-types": "^15.8.1",
- "react": "18.3.1",
- "react-dom": "18.3.1"
+ "prop-types": "^15.8.1"
},
"devDependencies": {
"@types/react": "18.3.26",
"@types/react-dom": "18.3.7",
"glob": "11.1.0",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
"svg2ttf": "^6.0.3",
"svgicons2svgfont": "^15.0.0",
"svgo": "^4.0.0",
diff --git a/projects/packages/videopress/changelog/renovate-eslint-packages b/projects/packages/videopress/changelog/renovate-eslint-packages
new file mode 100644
index 000000000000..b86610b19a09
--- /dev/null
+++ b/projects/packages/videopress/changelog/renovate-eslint-packages
@@ -0,0 +1,5 @@
+Significance: patch
+Type: fixed
+Comment: Fix JS packages that were declared as both dependencies and dev dependencies. Note it doesn't really matter which is used for PHP packages.
+
+
diff --git a/projects/packages/videopress/package.json b/projects/packages/videopress/package.json
index 89ed6678ceef..e74bb6a9b1e5 100644
--- a/projects/packages/videopress/package.json
+++ b/projects/packages/videopress/package.json
@@ -27,11 +27,9 @@
"dependencies": {
"@automattic/jetpack-analytics": "workspace:*",
"@automattic/jetpack-api": "workspace:*",
- "@automattic/jetpack-base-styles": "workspace:*",
"@automattic/jetpack-components": "workspace:*",
"@automattic/jetpack-connection": "workspace:*",
"@automattic/jetpack-script-data": "workspace:*",
- "@automattic/jetpack-shared-extension-utils": "workspace:*",
"@wordpress/api-fetch": "7.36.0",
"@wordpress/blob": "4.36.0",
"@wordpress/block-editor": "15.9.0",
diff --git a/projects/plugins/inspect/changelog/renovate-eslint-packages b/projects/plugins/inspect/changelog/renovate-eslint-packages
new file mode 100644
index 000000000000..3449a8fc6f33
--- /dev/null
+++ b/projects/plugins/inspect/changelog/renovate-eslint-packages
@@ -0,0 +1,5 @@
+Significance: patch
+Type: fixed
+Comment: Fix JS packages that were declared as both dependencies and dev dependencies. Note it doesn't really matter which is used for plugins.
+
+
diff --git a/projects/plugins/inspect/package.json b/projects/plugins/inspect/package.json
index 8e83daf39a36..efc14a77faf8 100644
--- a/projects/plugins/inspect/package.json
+++ b/projects/plugins/inspect/package.json
@@ -23,9 +23,6 @@
"clean": "rm -rf app-ui/build/",
"typecheck": "tsc --noEmit"
},
- "dependencies": {
- "tslib": "2.8.1"
- },
"devDependencies": {
"@babel/core": "7.28.4",
"@babel/preset-env": "7.28.3",
diff --git a/tools/js-tools/package.json b/tools/js-tools/package.json
index 34ad0b81df44..3eaa1a29891a 100644
--- a/tools/js-tools/package.json
+++ b/tools/js-tools/package.json
@@ -14,10 +14,10 @@
"@babel/core": "7.28.4",
"@babel/preset-react": "7.27.1",
"@babel/preset-typescript": "7.27.1",
- "@eslint/compat": "1.4.0",
- "@eslint/eslintrc": "3.3.1",
- "@eslint/js": "9.38.0",
- "@eslint/json": "0.13.2",
+ "@eslint/compat": "1.4.1",
+ "@eslint/eslintrc": "3.3.3",
+ "@eslint/js": "9.39.1",
+ "@eslint/json": "0.14.0",
"@octokit/auth-token": "5.1.2",
"@octokit/rest": "21.1.1",
"@tanstack/eslint-plugin-query": "5.91.2",
@@ -29,25 +29,25 @@
"chalk": "5.6.2",
"debug": "4.4.1",
"enquirer": "2.4.1",
- "eslint": "9.38.0",
+ "eslint": "9.39.1",
"eslint-config-prettier": "10.1.8",
"eslint-import-resolver-typescript": "4.4.4",
"eslint-json-compat-utils": "0.2.1",
- "eslint-plugin-es-x": "9.1.2",
+ "eslint-plugin-es-x": "9.2.0",
"eslint-plugin-import": "2.32.0",
- "eslint-plugin-jest": "29.0.1",
+ "eslint-plugin-jest": "29.2.1",
"eslint-plugin-jest-dom": "5.5.0",
"eslint-plugin-jsdoc": "51.4.1",
"eslint-plugin-jsx-a11y": "6.10.2",
"eslint-plugin-lodash": "8.0.0",
"eslint-plugin-n": "17.23.1",
- "eslint-plugin-package-json": "0.59.0",
- "eslint-plugin-playwright": "2.2.2",
+ "eslint-plugin-package-json": "0.85.0",
+ "eslint-plugin-playwright": "2.4.0",
"eslint-plugin-prettier": "5.5.4",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "5.2.0",
- "eslint-plugin-svelte": "3.12.5",
- "eslint-plugin-testing-library": "7.13.3",
+ "eslint-plugin-svelte": "3.13.0",
+ "eslint-plugin-testing-library": "7.13.5",
"eslint-plugin-you-dont-need-lodash-underscore": "6.14.0",
"glob": "11.1.0",
"globals": "16.5.0",
@@ -67,7 +67,7 @@
"svelte": "4.2.19",
"svelte-eslint-parser": "1.1.3",
"typescript": "5.9.3",
- "typescript-eslint": "8.46.2",
+ "typescript-eslint": "8.48.0",
"yaml": "2.2.2"
}
}
From ba7a7cdd31fcf41f078793ce711de36eb95d9855 Mon Sep 17 00:00:00 2001
From: Enej Bajgoric
Date: Tue, 2 Dec 2025 10:06:01 -0800
Subject: [PATCH 06/49] Form: Fixes the flickering when moving between
different responses. (#46159)
* Forms: fix the flickring of the dashboard as we move between different
* changelog
* Fix typo in changelog
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Mikael Korpela
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../packages/forms/changelog/fix-forms-flickering | 4 ++++
.../packages/forms/src/dashboard/inbox/stage/index.js | 11 +++--------
2 files changed, 7 insertions(+), 8 deletions(-)
create mode 100644 projects/packages/forms/changelog/fix-forms-flickering
diff --git a/projects/packages/forms/changelog/fix-forms-flickering b/projects/packages/forms/changelog/fix-forms-flickering
new file mode 100644
index 000000000000..989502ac8409
--- /dev/null
+++ b/projects/packages/forms/changelog/fix-forms-flickering
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fixed
+
+Forms: Fix the flickering between the sidebar loading on different browser widths
diff --git a/projects/packages/forms/src/dashboard/inbox/stage/index.js b/projects/packages/forms/src/dashboard/inbox/stage/index.js
index 8741756503bd..af8dc633564f 100644
--- a/projects/packages/forms/src/dashboard/inbox/stage/index.js
+++ b/projects/packages/forms/src/dashboard/inbox/stage/index.js
@@ -46,7 +46,6 @@ import {
import { useView, defaultLayouts } from './views.js';
const EMPTY_ARRAY = [];
-const MOBILE_BREAKPOINT = 780;
const updateSidebarWidth = () => {
const wrapper = document.querySelector( '.dataviews-wrapper' );
@@ -94,7 +93,7 @@ export default function InboxView() {
},
{ box: 'border-box' }
);
- const isMobile = containerWidth <= MOBILE_BREAKPOINT;
+
const selectedResponses = searchParams.get( 'r' );
const isMobileViewport = useViewportMatch( 'medium', '<' );
const [ isResponseModalOpen, setIsResponseModalOpen ] = useState( false );
@@ -227,11 +226,7 @@ export default function InboxView() {
}
// Update sidebar if item changed or needs refresh
- if (
- ! sidePanelItem ||
- getItemId( sidePanelItem ) !== getItemId( recordToShow ) ||
- sidePanelItem !== recordToShow
- ) {
+ if ( ! sidePanelItem || getItemId( sidePanelItem ) !== getItemId( recordToShow ) ) {
setSidePanelItem( recordToShow );
}
}, [ isMobileViewport, records, selection, sidePanelItem ] );
@@ -561,7 +556,7 @@ export default function InboxView() {
sidePanelItem={ sidePanelItem }
setSidePanelItem={ setSidePanelItem }
isLoadingData={ isLoadingData }
- isMobile={ isMobile }
+ isMobile={ isMobileViewport }
onChangeSelection={ onChangeSelection }
selection={ selection }
/>
From 598a4e27b12b975a19f956d1a3c699f25ca358ae Mon Sep 17 00:00:00 2001
From: Enej Bajgoric
Date: Tue, 2 Dec 2025 10:06:17 -0800
Subject: [PATCH 07/49] Forms: removes a php warning on forms where the $page
global is set to a non integer (#46141)
* Forms: Fix contact form ID computation for non-integer page values
Ensures the page number defaults to 1 if $page is not an integer when computing the contact form's ID, preventing potential issues with invalid page values.
* changelog
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* user is_numeric instead
---------
Co-authored-by: Miguel Lezama
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../forms/changelog/fix-php-warning-on-forms | 4 ++++
.../src/contact-form/class-contact-form.php | 3 ++-
.../tests/php/contact-form/Contact_Form_Test.php | 16 ++++++++++++++++
3 files changed, 22 insertions(+), 1 deletion(-)
create mode 100644 projects/packages/forms/changelog/fix-php-warning-on-forms
diff --git a/projects/packages/forms/changelog/fix-php-warning-on-forms b/projects/packages/forms/changelog/fix-php-warning-on-forms
new file mode 100644
index 000000000000..b68eddb8c208
--- /dev/null
+++ b/projects/packages/forms/changelog/fix-php-warning-on-forms
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fixed
+
+ Forms: fix PHP warning when global gets overwritten
diff --git a/projects/packages/forms/src/contact-form/class-contact-form.php b/projects/packages/forms/src/contact-form/class-contact-form.php
index dd8d82bd07b6..27955204ebf9 100644
--- a/projects/packages/forms/src/contact-form/class-contact-form.php
+++ b/projects/packages/forms/src/contact-form/class-contact-form.php
@@ -169,7 +169,8 @@ public function __construct( $attributes, $content = null, $set_id = true ) {
}
if ( $set_id ) {
- $attributes['id'] = self::compute_id( $attributes, $this->current_post, $page );
+ $page_number = is_numeric( $page ) ? intval( $page ) : 1;
+ $attributes['id'] = self::compute_id( $attributes, $this->current_post, $page_number );
}
$this->hash = sha1( wp_json_encode( $attributes ) );
diff --git a/projects/packages/forms/tests/php/contact-form/Contact_Form_Test.php b/projects/packages/forms/tests/php/contact-form/Contact_Form_Test.php
index fda08567bd17..ad3b5e1cc963 100644
--- a/projects/packages/forms/tests/php/contact-form/Contact_Form_Test.php
+++ b/projects/packages/forms/tests/php/contact-form/Contact_Form_Test.php
@@ -2446,6 +2446,22 @@ public function test_get_default_to_with_invalid_post_author() {
$this->assertEquals( get_option( 'admin_email' ), $result );
}
+ /**
+ * Tests that the constructor handles non-integer $page global without warnings.
+ */
+ public function test_constructor_handles_non_integer_page_global() {
+ global $page;
+ $original_page = $page;
+ $page = 'not-an-integer'; // Simulating theme overwriting $page
+
+ $attributes = array( 'to' => 'test@example.com' );
+ $form = new Contact_Form( $attributes );
+
+ // Verify no warnings and form is created successfully
+ $this->assertInstanceOf( Contact_Form::class, $form );
+ $page = $original_page; // Restore original value
+ }
+
/**
* Tests get_default_to method with null post author ID.
*/
From 71523a9463ca15d05d4c8d7118dabcd576148885 Mon Sep 17 00:00:00 2001
From: upwardmomentum84 <93800099+upwardmomentum84@users.noreply.github.com>
Date: Tue, 2 Dec 2025 13:30:22 -0500
Subject: [PATCH 08/49] Update class-jetpack-plugin-compatibility.php after
using PHPCBF
---
.../class-jetpack-plugin-compatibility.php | 239 +++++++++---------
1 file changed, 120 insertions(+), 119 deletions(-)
diff --git a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
index fc58879551a2..960ec32378ac 100644
--- a/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
+++ b/projects/plugins/wpcomsh/class-jetpack-plugin-compatibility.php
@@ -9,6 +9,7 @@
* Class Jetpack_Plugin_Compatibility.
*/
class Jetpack_Plugin_Compatibility {
+
/**
* Plugin file locations and html messaging in the format:
* array(
@@ -21,144 +22,144 @@ class Jetpack_Plugin_Compatibility {
public $incompatible_plugins = array(
// "reset" - break/interfere with provided functionality.
'advanced-database-cleaner/advanced-db-cleaner.php' => '"advanced-database-cleaner" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'advanced-reset-wp/advanced-reset-wp.php' => '"advanced-reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'advanced-wp-reset/advanced-wp-reset.php' => '"advanced-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'backup/backup.php' => '"backup" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'better-wp-security/better-wp-security.php' => '"better-wp-security" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'database-browser/database-browser.php' => '"database-browser" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'extended-wp-reset/extended-wp-reset.php' => '"extended-wp-reset" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'file-manager-advanced/file_manager_advanced.php' => '"file-manager-advanced" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'file-manager/file-manager.php' => '"file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'hide-my-wp/index.php' => '"hide-my-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'advanced-reset-wp/advanced-reset-wp.php' => '"advanced-reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'advanced-wp-reset/advanced-wp-reset.php' => '"advanced-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'backup/backup.php' => '"backup" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'better-wp-security/better-wp-security.php' => '"better-wp-security" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'database-browser/database-browser.php' => '"database-browser" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'extended-wp-reset/extended-wp-reset.php' => '"extended-wp-reset" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'file-manager-advanced/file_manager_advanced.php' => '"file-manager-advanced" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'file-manager/file-manager.php' => '"file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'hide-my-wp/index.php' => '"hide-my-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'plugins-garbage-collector/plugins-garbage-collector.php' => '"plugins-garbage-collector" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'reset-wp/reset-wp.php' => '"reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'reset/data_reset.php' => '"reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'secure-file-manager/secure-file-manager.php' => '"secure-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'ultimate-reset/ultimate-reset.php' => '"ultimate-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'ultimate-wp-reset/ultimate-wordpress-reset.php' => '"ultimate-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'username-changer/class-username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'reset-wp/reset-wp.php' => '"reset-wp" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'reset/data_reset.php' => '"reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'secure-file-manager/secure-file-manager.php' => '"secure-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'ultimate-reset/ultimate-reset.php' => '"ultimate-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'ultimate-wp-reset/ultimate-wordpress-reset.php' => '"ultimate-wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'username-changer/class-username-changer.php' => '"username-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'vamtam-offline-jetpack/vamtam-offline-jetpack.php' => '"vamtam-offline-jetpack" has been deactivated, an active Jetpack Connection is required for your site to operate properly on WordPress.com.',
- 'wd-youtube/wd-youtube.php' => '"wd-youtube" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'wordpress-database-reset/wp-reset.php' => '"wordpress-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wordpress-reset/wordpress-reset.php' => '"wordpress-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-automatic/wp-automatic.php' => '"wp-automatic" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
- 'wp-clone-by-wp-academy/wpclone.php' => '"wp-clone-by-wp-academy" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-config-file-editor/wp-config-file-editor.php' => '"wp-config-file-editor" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-dbmanager/wp-dbmanager.php' => '"wp-dbmanager" has been deactivated, it messes up data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-file-manager/file_folder_manager.php' => '"wp-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-phpmyadmin-extension/index.php' => '"wp-phpmyadmin-extension" has been deactivated, it interferes with site operation. You can access phpMyAdmin under Settings > Hosting Config',
- 'wp-prefix-changer/index.php' => '"wp-prefix-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-reset/wp-reset.php' => '"wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wd-youtube/wd-youtube.php' => '"wd-youtube" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'wordpress-database-reset/wp-reset.php' => '"wordpress-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wordpress-reset/wordpress-reset.php' => '"wordpress-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-automatic/wp-automatic.php' => '"wp-automatic" has been deactivated, it interferes with site operation and is not supported on WordPress.com.',
+ 'wp-clone-by-wp-academy/wpclone.php' => '"wp-clone-by-wp-academy" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-config-file-editor/wp-config-file-editor.php' => '"wp-config-file-editor" has been deactivated, it interferes with data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-dbmanager/wp-dbmanager.php' => '"wp-dbmanager" has been deactivated, it interferes with data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-file-manager/file_folder_manager.php' => '"wp-file-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-phpmyadmin-extension/index.php' => '"wp-phpmyadmin-extension" has been deactivated, it interferes with site operation. You can access phpMyAdmin under Settings > Hosting Config',
+ 'wp-prefix-changer/index.php' => '"wp-prefix-changer" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-reset/wp-reset.php' => '"wp-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
'wp-uninstaller-by-azed/wp-uninstaller-by-azed.php' => '"wp-uninstaller-by-azed" is not supported on WordPress.com.',
- 'wpmu-database-reset/wpmu-database-reset.php' => '"wpmu-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wps-hide-login/wps-hide-login.php' => '"wps-hide-login" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'z-inventory-manager/z-inventory-manager.php' => '"z-inventory-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-downgrade/wp-downgrade.php' => '"wp-downgrade" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wpmu-database-reset/wpmu-database-reset.php' => '"wpmu-database-reset" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wps-hide-login/wps-hide-login.php' => '"wps-hide-login" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'z-inventory-manager/z-inventory-manager.php' => '"z-inventory-manager" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-downgrade/wp-downgrade.php' => '"wp-downgrade" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
// Backup.
- 'backup-wd/backup-wd.php' => '"backup-wd" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'backwpup/backwpup.php' => '"backwpup" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'backwpup-pro/backwpup.php' => '"backwpup-pro" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'duplicator-pro/duplicator-pro.php' => '"duplicator-pro" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'jetpack-backup/jetpack-backup.php' => '"jetpack-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'siteground-migrator/siteground-migrator.php' => '"siteground-migrator" has been deactivated, WordPress.com handles managing your site backups for you.',
- 'wp-backitup/wp-backitup.php' => '"wp-backitup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'backup-wd/backup-wd.php' => '"backup-wd" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'backwpup/backwpup.php' => '"backwpup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'backwpup-pro/backwpup.php' => '"backwpup-pro" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'duplicator/duplicator.php' => '"duplicator" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'duplicator-pro/duplicator-pro.php' => '"duplicator-pro" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'jetpack-backup/jetpack-backup.php' => '"jetpack-backup" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'siteground-migrator/siteground-migrator.php' => '"siteground-migrator" has been deactivated, WordPress.com handles managing your site backups for you.',
+ 'wp-backitup/wp-backitup.php' => '"wp-backitup" has been deactivated, WordPress.com handles managing your site backups for you.',
// Caching/performance.
- 'breeze/breeze.php' => '"breeze" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'cache-enabler/cache-enabler.php' => '"cache-enabler" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'comet-cache/comet-cache.php' => '"comet-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'hyper-cache/plugin.php' => '"hyper-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'jch-optimize/jch-optimize.php' => '"jch-optimize" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'object-cache-pro/object-cache-pro.php' => '"object-cache-pro" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'performance-lab/load.php' => '"performance-lab" has been deactivated, WordPress.com automatically handles caching and database optimization for your site.',
- 'powered-cache/powered-cache.php' => '"powered-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'quick-cache/quick-cache.php' => '"quick-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'redis-cache/redis-cache.php' => '"redis-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'sg-cachepress/sg-cachepress.php' => '"sg-cachepress" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'w3-total-cache/w3-total-cache.php' => '"w3-total-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-cache/wp-cache.php' => '"wp-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-fastest-cache/wpFastestCache.php' => '"wp-fastest-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-optimizer/wp-optimizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.', // p9F6qB-66o-p2
- 'wp-scss/wp-scss.php' => '"wp-scss" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-speed-of-light/wp-speed-of-light.php' => '"wp-speed-of-light" has been deactivated, WordPress.com automatically handles caching for your site.',
- 'wp-super-cache/wp-cache.php' => '"wp-super-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'breeze/breeze.php' => '"breeze" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'cache-enabler/cache-enabler.php' => '"cache-enabler" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'comet-cache/comet-cache.php' => '"comet-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'hyper-cache/plugin.php' => '"hyper-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'jch-optimize/jch-optimize.php' => '"jch-optimize" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'object-cache-pro/object-cache-pro.php' => '"object-cache-pro" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'performance-lab/load.php' => '"performance-lab" has been deactivated, WordPress.com automatically handles caching and database optimization for your site.',
+ 'powered-cache/powered-cache.php' => '"powered-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'quick-cache/quick-cache.php' => '"quick-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'redis-cache/redis-cache.php' => '"redis-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'sg-cachepress/sg-cachepress.php' => '"sg-cachepress" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'w3-total-cache/w3-total-cache.php' => '"w3-total-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-cache/wp-cache.php' => '"wp-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-fastest-cache/wpFastestCache.php' => '"wp-fastest-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-optimizer/wp-optimizer.php' => '"wp-optimizer" has been deactivated, "performance" related plugins may break your site or cause issues and are not supported on WordPress.com.',
+ 'wp-scss/wp-scss.php' => '"wp-scss" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-speed-of-light/wp-speed-of-light.php' => '"wp-speed-of-light" has been deactivated, WordPress.com automatically handles caching for your site.',
+ 'wp-super-cache/wp-cache.php' => '"wp-super-cache" has been deactivated, WordPress.com automatically handles caching for your site.',
// SQL heavy.
- 'another-wordpress-classifieds-plugin/awpcp.php' => '"another-wordpress-classifieds-plugin" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'broken-link-checker/broken-link-checker.php' => '"broken-link-checker" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'another-wordpress-classifieds-plugin/awpcp.php' => '"another-wordpress-classifieds-plugin" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'broken-link-checker/broken-link-checker.php' => '"broken-link-checker" has been deactivated, it is known to cause severe database performance issues and is not supported.',
'mass-pagesposts-creator/mass-pages-posts-creator.php' => '"mass-pagesposts-creator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'native-ads-adnow/adnow-widget.php' => '"native-ads-now" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'ol_scrapes/ol_scrapes.php' => '"ol_scrapes" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'page-visit-counter/page-visit-counter.php' => '"page-visit-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'post-views-counter/post-views-counter.php' => '"post-views-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'tokenad/token-ad.php' => '"tokenad" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'top-10/top-10.php' => '"top-10" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'userpro/index.php' => '"userpro" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'native-ads-adnow/adnow-widget.php' => '"native-ads-now" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'ol_scrapes/ol_scrapes.php' => '"ol_scrapes" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'page-visit-counter/page-visit-counter.php' => '"page-visit-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'post-views-counter/post-views-counter.php' => '"post-views-counter" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'tokenad/token-ad.php' => '"tokenad" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'top-10/top-10.php' => '"top-10" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'userpro/index.php' => '"userpro" has been deactivated, it is known to cause severe database performance issues and is not supported.',
'wordpress-popular-posts/wordpress-popular-posts.php' => '"wordpress-popular-posts" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-cerber/wp-cerber.php' => '"wp-cerber" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-inject/wpinject.php' => '"wp-inject" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-postviews/wp-postviews.php' => '"wp-postviews" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-rss-aggregator/wp-rss-aggregator.php' => '"wp-rss-aggregator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' => '"wp-rss-feed-to-post" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-rss-wordai/wp-rss-wordai.php' => '"wp-rss-wordai" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-session-manager/wp-session-manager.php' => '"wp-session-manager" has been deactivated, it is known to cause severe database performance issues and is not supported.',
- 'wp-slimstat/wp-slimstat.php' => '"wp-slimstat" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-statistics/wp-statistics.php' => '"wp-statistics" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'wp-ulike/wp-ulike.php' => '"wp-ulike" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
- 'WPRobot5/wprobot.php' => '"WPRobot5" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-cerber/wp-cerber.php' => '"wp-cerber" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-inject/wpinject.php' => '"wp-inject" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-postviews/wp-postviews.php' => '"wp-postviews" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-rss-aggregator/wp-rss-aggregator.php' => '"wp-rss-aggregator" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-rss-feed-to-post/wp-rss-feed-to-post.php' => '"wp-rss-feed-to-post" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-rss-wordai/wp-rss-wordai.php' => '"wp-rss-wordai" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-session-manager/wp-session-manager.php' => '"wp-session-manager" has been deactivated, it is known to cause severe database performance issues and is not supported.',
+ 'wp-slimstat/wp-slimstat.php' => '"wp-slimstat" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-statistics/wp-statistics.php' => '"wp-statistics" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'wp-ulike/wp-ulike.php' => '"wp-ulike" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
+ 'WPRobot5/wprobot.php' => '"WPRobot5" has been deactivated, plugins that insert or update the database on page load can cause severe performance issues for your site and are not supported.',
// Security.
- 'antihacker/antihacker.php' => '"antihacker" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'disable-xml-rpc-api/disable-xml-rpc-api.php' => '"disable-xml-rpc-api" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'manage-xml-rpc/manage-xml-rpc.php' => '"manage-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'one-click-ssl/ssl.php' => '"one-click-ssl" has been deactivated, because it is not supported on WordPress.com.',
- 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
- 'really-simple-ssl-pro/really-simple-ssl-pro.php' => '"really-simple-ssl-pro" is not supported on WordPress.com.',
- 'sg-security/sg-security.php' => '"sg-security" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'stopbadbots/stopbadbots.php' => '"stopbadbots" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'antihacker/antihacker.php' => '"antihacker" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'disable-xml-rpc-api/disable-xml-rpc-api.php' => '"disable-xml-rpc-api" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'manage-xml-rpc/manage-xml-rpc.php' => '"manage-xml-rpc" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
+ 'one-click-ssl/ssl.php' => '"one-click-ssl" has been deactivated, because it is not supported on WordPress.com.',
+ 'really-simple-ssl/rlrsssl-really-simple-ssl.php' => '"really-simple-ssl" is not supported on WordPress.com.',
+ 'really-simple-ssl-pro/really-simple-ssl-pro.php' => '"really-simple-ssl-pro" is not supported on WordPress.com.',
+ 'sg-security/sg-security.php' => '"sg-security" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'stopbadbots/stopbadbots.php' => '"stopbadbots" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
'wee-remove-xmlrpc-methods/wee-remove-xmlrpc-methods.php' => '"wee-remove-xmlrpc-methods" has been deactivated, XML-RPC is required for your Jetpack Connection on WordPress.com.',
- 'wordfence/wordfence.php' => '"wordfence" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wp-hide-security-enhancer/wp-hide.php' => '"wp-hide-security-enhancer" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
- 'wp-simple-firewall/wp-simple-firewall.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
- 'wp-simple-firewall/icwp-wpsf.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wordfence/wordfence.php' => '"wordfence" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wp-hide-security-enhancer/wp-hide.php' => '"wp-hide-security-enhancer" has been deactivated, "security" related plugins may break your site or cause performance issues for your site and are not supported on WordPress.com.',
+ 'wp-simple-firewall/wp-simple-firewall.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
+ 'wp-simple-firewall/icwp-wpsf.php' => '"wp-simple-firewall" has been deactivated, it deletes data necessary to manage your site and is not supported on WordPress.com.',
// Spam.
- 'e-mail-broadcasting/e-mail-broadcasting.php' => '"e-mail-broadcasting" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
- 'mailit/mailit.php' => '"mailit" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
- 'send-email-from-admin/send-email-from-admin.php' => '"send-email-from-admin" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+ 'e-mail-broadcasting/e-mail-broadcasting.php' => '"e-mail-broadcasting" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+ 'mailit/mailit.php' => '"mailit" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
+ 'send-email-from-admin/send-email-from-admin.php' => '"send-email-from-admin" has been deactivated, plugins that support sending e-mails in bulk are not supported on WordPress.com.',
// Misc.
'adult-mass-photos-downloader/adult-mass-photos-downloader.php' => '"adult-mass-photos-downloader" is not supported on WordPress.com.',
'adult-mass-videos-embedder/adult-mass-videos-embedder.php' => '"adult-mass-videos-embedder" is not supported on WordPress.com.',
- 'ari-adminer/ari-adminer.php' => '"ari-adminer" is not supported on WordPress.com.',
- 'automatic-video-posts' => '"automatic-video-posts" is not supported on WordPress.com.',
- 'blogmatic-poster/index.php' => '"blogmatic-poster" is not supported on WordPress.com.',
- 'blogmatic/index.php' => '"blogmatic" is not supported on WordPress.com.',
- 'bwp-minify/bwp-minify.php' => '"bwp-minify" is not supported on WordPress.com.',
- 'db-access-adminer/db-access-adminer.php' => '"db-access-adminer" is not supported on WordPress.com.',
- 'fast-velocity-minify/fvm.php' => '"fast-velocity-minify" is not supported on WordPress.com.',
- 'nginx-helper/nginx-helper.php' => '"nginx-helper" is not supported on WordPress.com.',
- 'p3/p3.php' => '"p3" is not supported on WordPress.com.',
- 'pexlechris-adminer/pexlechris-adminer.php' => '"pexlechris-adminer" is not supported on WordPress.com.',
- 'plugin-detective/plugin-detective.php' => '"plugin-detective" is not supported on WordPress.com.',
- 'porn-embed/Porn-Embed.php' => '"porn-embed" is not supported on WordPress.com.',
- 'propellerads-official/propeller-ads.php' => '"propellerads-official" is not supported on WordPress.com.',
- 'trafficzion/trafficzion.php' => '"trafficzion" is not supported on WordPress.com.',
- 'tubeace/tubeace.php' => '"tubeace" is not supported on WordPress.com.',
- 'woozone/plugin.php' => '"woozone" is not supported on WordPress.com.',
- 'wp-cleanfix/index.php' => '"wp-cleanfix" is not supported on WordPress.com.',
- 'wp-file-upload/wordpress_file_upload.php' => '"wp-file-upload" is not supported on WordPress.com.',
- 'wp-monero-miner-pro/monero-miner-pro.php' => '"wp-monero-miner-pro" is not supported on WordPress.com.',
+ 'ari-adminer/ari-adminer.php' => '"ari-adminer" is not supported on WordPress.com.',
+ 'automatic-video-posts/automatic-video-posts.php' => '"automatic-video-posts" is not supported on WordPress.com.',
+ 'blogmatic-poster/index.php' => '"blogmatic-poster" is not supported on WordPress.com.',
+ 'blogmatic/index.php' => '"blogmatic" is not supported on WordPress.com.',
+ 'bwp-minify/bwp-minify.php' => '"bwp-minify" is not supported on WordPress.com.',
+ 'db-access-adminer/db-access-adminer.php' => '"db-access-adminer" is not supported on WordPress.com.',
+ 'fast-velocity-minify/fvm.php' => '"fast-velocity-minify" is not supported on WordPress.com.',
+ 'nginx-helper/nginx-helper.php' => '"nginx-helper" is not supported on WordPress.com.',
+ 'p3/p3.php' => '"p3" is not supported on WordPress.com.',
+ 'pexlechris-adminer/pexlechris-adminer.php' => '"pexlechris-adminer" is not supported on WordPress.com.',
+ 'plugin-detective/plugin-detective.php' => '"plugin-detective" is not supported on WordPress.com.',
+ 'porn-embed/Porn-Embed.php' => '"porn-embed" is not supported on WordPress.com.',
+ 'propellerads-official/propeller-ads.php' => '"propellerads-official" is not supported on WordPress.com.',
+ 'trafficzion/trafficzion.php' => '"trafficzion" is not supported on WordPress.com.',
+ 'tubeace/tubeace.php' => '"tubeace" is not supported on WordPress.com.',
+ 'woozone/plugin.php' => '"woozone" is not supported on WordPress.com.',
+ 'wp-cleanfix/index.php' => '"wp-cleanfix" is not supported on WordPress.com.',
+ 'wp-file-upload/wordpress_file_upload.php' => '"wp-file-upload" is not supported on WordPress.com.',
+ 'wp-monero-miner-pro/monero-miner-pro.php' => '"wp-monero-miner-pro" is not supported on WordPress.com.',
'wp-optimize-by-xtraffic/wp-optimize-by-xtraffic.php' => '"wp-optimize-by-xtraffic" is not supported on WordPress.com.',
- 'wpematico/wpematico.php' => '"wpematico" is not supported on WordPress.com.',
- 'wpstagecoach/wpstagecoach.php' => '"wpstagecoach" is not supported on WordPress.com.', // p9F6qB-66o-p2
- 'yuzo-related-post/yuzo.php' => '"yuzo-related-post" is not supported on WordPress.com.',
- 'zapp-proxy-server/zapp-proxy-server.php' => '"zapp-proxy-server" is not supported on WordPress.com.',
+ 'wpematico/wpematico.php' => '"wpematico" is not supported on WordPress.com.',
+ 'wpstagecoach/wpstagecoach.php' => '"wpstagecoach" is not supported on WordPress.com.',
+ 'yuzo-related-post/yuzo.php' => '"yuzo-related-post" is not supported on WordPress.com.',
+ 'zapp-proxy-server/zapp-proxy-server.php' => '"zapp-proxy-server" is not supported on WordPress.com.',
// CRM.
- 'civicrm/civicrm.php' => '"civicrm" is not supported on WordPress.com.', // p9F6qB-66o-p2
+ 'civicrm/civicrm.php' => '"civicrm" is not supported on WordPress.com.',
);
/**
@@ -267,9 +268,9 @@ public function disable_plugin_install_link( $action_links, $plugin ) {
$needle = "{$plugin['slug']}/";
foreach ( $this->incompatible_plugins as $disallowed_plugin => $message ) {
/*
- * The naming convention of $disallowed_plugin is /.php so we are checking if
- * the string $needle is included into $disallowed_plugin from the `0` position.
- */
+ * The naming convention of $disallowed_plugin is /.php so we are checking if
+ * the string $needle is included into $disallowed_plugin from the `0` position.
+ */
if ( strpos( $disallowed_plugin, $needle ) === 0 ) {
$action_links = array( 'Not Supported' );
break;
@@ -341,7 +342,7 @@ protected function get_disallowed_plugins(): array {
/**
* Helper function to determine the status of a standard plugin.
*
- * @param string $plugin_file The full plugin filename.
+ * @param string $plugin_file The full plugin filename.
* @return 'active-network'|'active'|'inactive'
*/
protected function get_plugin_status( string $plugin_file ): string {
From 52cd81d56e33ba86200ea17afd398d5c99a1545b Mon Sep 17 00:00:00 2001
From: Erick Danzer
Date: Tue, 2 Dec 2025 13:27:54 -0700
Subject: [PATCH 09/49] Forms: add integration display filters (re-do) (#46156)
---
.../add-forms-integrations-display-filters | 4 +++
.../forms/src/blocks/contact-form/edit.tsx | 5 +--
.../forms/src/class-jetpack-forms.php | 36 +++++++++++++++++++
.../class-contact-form-endpoint.php | 34 +++++++++---------
.../src/dashboard/components/layout/index.tsx | 3 +-
.../forms/src/dashboard/inbox/stage/index.js | 7 ++--
projects/packages/forms/src/types/index.ts | 4 +++
.../add-forms-integrations-display-filters | 4 +++
8 files changed, 75 insertions(+), 22 deletions(-)
create mode 100644 projects/packages/forms/changelog/add-forms-integrations-display-filters
create mode 100644 projects/plugins/jetpack/changelog/add-forms-integrations-display-filters
diff --git a/projects/packages/forms/changelog/add-forms-integrations-display-filters b/projects/packages/forms/changelog/add-forms-integrations-display-filters
new file mode 100644
index 000000000000..44d20918cff6
--- /dev/null
+++ b/projects/packages/forms/changelog/add-forms-integrations-display-filters
@@ -0,0 +1,4 @@
+Significance: minor
+Type: added
+
+Forms: add integrations display filters.
diff --git a/projects/packages/forms/src/blocks/contact-form/edit.tsx b/projects/packages/forms/src/blocks/contact-form/edit.tsx
index 2fefa15ed5fd..1979e448941c 100644
--- a/projects/packages/forms/src/blocks/contact-form/edit.tsx
+++ b/projects/packages/forms/src/blocks/contact-form/edit.tsx
@@ -179,8 +179,9 @@ function JetpackContactFormEdit( {
notificationRecipients,
webhooks,
} = attributes;
- const showFormIntegrations = useConfigValue( 'isIntegrationsEnabled' );
+ const isIntegrationsEnabled = useConfigValue( 'isIntegrationsEnabled' );
const showWebhooks = useConfigValue( 'isWebhooksEnabled' ) && hasFeatureFlag( 'form-webhooks' );
+ const showBlockIntegrations = useConfigValue( 'showBlockIntegrations' );
const instanceId = useInstanceId( JetpackContactFormEdit );
// Backward compatibility for the deprecated customThankyou attribute.
@@ -921,7 +922,7 @@ function JetpackContactFormEdit( {
setAttributes={ setAttributes }
/>
- { showFormIntegrations && (
+ { isIntegrationsEnabled && showBlockIntegrations && (
}>
diff --git a/projects/packages/forms/src/class-jetpack-forms.php b/projects/packages/forms/src/class-jetpack-forms.php
index b69f726cd7ae..9684c0bb9923 100644
--- a/projects/packages/forms/src/class-jetpack-forms.php
+++ b/projects/packages/forms/src/class-jetpack-forms.php
@@ -138,4 +138,40 @@ public static function is_webhooks_enabled() {
*/
return apply_filters( 'jetpack_forms_webhooks_enabled', false );
}
+
+ /**
+ * Returns true if the Integrations UI should be shown in the Forms dashboard.
+ *
+ * @since $$next-version$$
+ *
+ * @return boolean
+ */
+ public static function show_dashboard_integrations() {
+ /**
+ * Whether to show Integrations UI in the Forms dashboard.
+ *
+ * @since $$next-version$$
+ *
+ * @param bool true Whether to show the Integrations UI in the dashboard. Default true.
+ */
+ return apply_filters( 'jetpack_forms_show_dashboard_integrations', true );
+ }
+
+ /**
+ * Returns true if the Integrations UI should be shown in the Form block editor.
+ *
+ * @since $$next-version$$
+ *
+ * @return boolean
+ */
+ public static function show_block_integrations() {
+ /**
+ * Whether to show Integrations UI in the Form block editor.
+ *
+ * @since $$next-version$$
+ *
+ * @param bool true Whether to show the Integrations UI in the editor. Default true.
+ */
+ return apply_filters( 'jetpack_forms_show_block_integrations', true );
+ }
}
diff --git a/projects/packages/forms/src/contact-form/class-contact-form-endpoint.php b/projects/packages/forms/src/contact-form/class-contact-form-endpoint.php
index 6c35c7249727..d4149a572d10 100644
--- a/projects/packages/forms/src/contact-form/class-contact-form-endpoint.php
+++ b/projects/packages/forms/src/contact-form/class-contact-form-endpoint.php
@@ -1484,24 +1484,26 @@ public function update_read_status( $request ) {
public function get_forms_config( WP_REST_Request $request ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
$config = array(
// From jpFormsBlocks in class-contact-form-block.php.
- 'formsResponsesUrl' => Forms_Dashboard::get_forms_admin_url(),
- 'isMailPoetEnabled' => Jetpack_Forms::is_mailpoet_enabled(),
- 'isHostingerReachEnabled' => Jetpack_Forms::is_hostinger_reach_enabled(),
+ 'formsResponsesUrl' => Forms_Dashboard::get_forms_admin_url(),
+ 'isMailPoetEnabled' => Jetpack_Forms::is_mailpoet_enabled(),
+ 'isHostingerReachEnabled' => Jetpack_Forms::is_hostinger_reach_enabled(),
// From config in class-dashboard.php.
- 'blogId' => get_current_blog_id(),
- 'gdriveConnectSupportURL' => esc_url( Redirect::get_url( 'jetpack-support-contact-form-export' ) ),
- 'pluginAssetsURL' => Jetpack_Forms::assets_url(),
- 'siteURL' => ( new Status() )->get_site_suffix(),
- 'hasFeedback' => ( new Forms_Dashboard() )->has_feedback(),
- 'isIntegrationsEnabled' => Jetpack_Forms::is_integrations_enabled(),
- 'isWebhooksEnabled' => Jetpack_Forms::is_webhooks_enabled(),
- 'dashboardURL' => Forms_Dashboard::get_forms_admin_url(),
+ 'blogId' => get_current_blog_id(),
+ 'gdriveConnectSupportURL' => esc_url( Redirect::get_url( 'jetpack-support-contact-form-export' ) ),
+ 'pluginAssetsURL' => Jetpack_Forms::assets_url(),
+ 'siteURL' => ( new Status() )->get_site_suffix(),
+ 'hasFeedback' => ( new Forms_Dashboard() )->has_feedback(),
+ 'isIntegrationsEnabled' => Jetpack_Forms::is_integrations_enabled(),
+ 'isWebhooksEnabled' => Jetpack_Forms::is_webhooks_enabled(),
+ 'showDashboardIntegrations' => Jetpack_Forms::show_dashboard_integrations(),
+ 'showBlockIntegrations' => Jetpack_Forms::show_block_integrations(),
+ 'dashboardURL' => Forms_Dashboard::get_forms_admin_url(),
// New data.
- 'canInstallPlugins' => current_user_can( 'install_plugins' ),
- 'canActivatePlugins' => current_user_can( 'activate_plugins' ),
- 'exportNonce' => wp_create_nonce( 'feedback_export' ),
- 'newFormNonce' => wp_create_nonce( 'create_new_form' ),
- 'emptyTrashDays' => defined( 'EMPTY_TRASH_DAYS' ) ? EMPTY_TRASH_DAYS : 0,
+ 'canInstallPlugins' => current_user_can( 'install_plugins' ),
+ 'canActivatePlugins' => current_user_can( 'activate_plugins' ),
+ 'exportNonce' => wp_create_nonce( 'feedback_export' ),
+ 'newFormNonce' => wp_create_nonce( 'create_new_form' ),
+ 'emptyTrashDays' => defined( 'EMPTY_TRASH_DAYS' ) ? EMPTY_TRASH_DAYS : 0,
);
return rest_ensure_response( $config );
diff --git a/projects/packages/forms/src/dashboard/components/layout/index.tsx b/projects/packages/forms/src/dashboard/components/layout/index.tsx
index 5898d1ce17a4..7a0423aa864c 100644
--- a/projects/packages/forms/src/dashboard/components/layout/index.tsx
+++ b/projects/packages/forms/src/dashboard/components/layout/index.tsx
@@ -18,6 +18,7 @@ const Layout = () => {
const [ isSm ] = useBreakpointMatch( 'sm' );
const enableIntegrationsTab = useConfigValue( 'isIntegrationsEnabled' );
+ const showDashboardIntegrations = useConfigValue( 'showDashboardIntegrations' );
const isLoadingConfig = enableIntegrationsTab === undefined;
const isIntegrationsOpen = location.pathname === '/integrations';
@@ -32,7 +33,7 @@ const Layout = () => {