Commit 52b00ca3c75 for woocommerce
commit 52b00ca3c75769f48d3bfde9d8d8205f27527e8b
Author: Mikael Korpela <mikael@ihminen.org>
Date: Tue Oct 20 12:57:35 2026 +0300
Enable WP "use recommended components" ESLint rule repo wide (#69999)
* Enforce `@wordpress/use-recommended-components` ESLint rule across the monorepo
* Add ESLint bulk suppression files for existing violations
diff --git a/packages/js/components/changelog/add-use-recommended-components-lint b/packages/js/components/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..dffb566dc7b
--- /dev/null
+++ b/packages/js/components/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enforce the @wordpress/use-recommended-components lint rule; existing violations are suppressed.
diff --git a/packages/js/components/eslint-suppressions.json b/packages/js/components/eslint-suppressions.json
new file mode 100644
index 00000000000..263201c7fb1
--- /dev/null
+++ b/packages/js/components/eslint-suppressions.json
@@ -0,0 +1,82 @@
+{
+ "src/abbreviated-card/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "src/advanced-filters/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "src/badge/stories/badge.story.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "src/compare-filter/button.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/compare-filter/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "src/date-range-filter-picker/content.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/experimental-select-control/menu-item.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/experimental.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/form-section/stories/form-section.story.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "src/summary/number.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/table/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 5
+ }
+ },
+ "src/table/stories/table-placeholder.story.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/table/stories/table-summary-placeholder.story.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "src/table/stories/table-summary.story.jsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "src/table/stories/table.story.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/tour-kit/components/step.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/js/customer-effort-score/changelog/add-use-recommended-components-lint b/packages/js/customer-effort-score/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..dffb566dc7b
--- /dev/null
+++ b/packages/js/customer-effort-score/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enforce the @wordpress/use-recommended-components lint rule; existing violations are suppressed.
diff --git a/packages/js/customer-effort-score/eslint-suppressions.json b/packages/js/customer-effort-score/eslint-suppressions.json
new file mode 100644
index 00000000000..e31c3b7a49e
--- /dev/null
+++ b/packages/js/customer-effort-score/eslint-suppressions.json
@@ -0,0 +1,7 @@
+{
+ "src/components/customer-feedback-simple/customer-feedback-simple.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/js/email-editor/changelog/add-use-recommended-components-lint b/packages/js/email-editor/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..dffb566dc7b
--- /dev/null
+++ b/packages/js/email-editor/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enforce the @wordpress/use-recommended-components lint rule; existing violations are suppressed.
diff --git a/packages/js/email-editor/eslint-suppressions.json b/packages/js/email-editor/eslint-suppressions.json
new file mode 100644
index 00000000000..0be4725f70f
--- /dev/null
+++ b/packages/js/email-editor/eslint-suppressions.json
@@ -0,0 +1,47 @@
+{
+ "src/components/header/trash-email-post.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "src/components/personalization-tags/personalization-tags-modal.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/components/sidebar/reset-email-template.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "src/components/styles-sidebar/panels/color-dropdown-item.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/components/styles-sidebar/panels/typography-panel.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 5
+ }
+ },
+ "src/components/styles-sidebar/screens/preview.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "src/components/styles-sidebar/screens/screen-header.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "src/components/styles-sidebar/screens/screen-root.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 5
+ }
+ },
+ "src/components/template-select/template-list.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/js/experimental/changelog/add-use-recommended-components-lint b/packages/js/experimental/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..dffb566dc7b
--- /dev/null
+++ b/packages/js/experimental/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enforce the @wordpress/use-recommended-components lint rule; existing violations are suppressed.
diff --git a/packages/js/experimental/eslint-suppressions.json b/packages/js/experimental/eslint-suppressions.json
new file mode 100644
index 00000000000..385bc570cc7
--- /dev/null
+++ b/packages/js/experimental/eslint-suppressions.json
@@ -0,0 +1,12 @@
+{
+ "src/experimental-list/task-item/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/text.ts": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/js/onboarding/changelog/add-use-recommended-components-lint b/packages/js/onboarding/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..dffb566dc7b
--- /dev/null
+++ b/packages/js/onboarding/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enforce the @wordpress/use-recommended-components lint rule; existing violations are suppressed.
diff --git a/packages/js/onboarding/eslint-suppressions.json b/packages/js/onboarding/eslint-suppressions.json
new file mode 100644
index 00000000000..86dcb86701c
--- /dev/null
+++ b/packages/js/onboarding/eslint-suppressions.json
@@ -0,0 +1,7 @@
+{
+ "src/components/WCPayBanner/WCPayBanner.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/woocommerce-beta-tester/changelog/add-use-recommended-components-lint b/plugins/woocommerce-beta-tester/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..59ed0114983
--- /dev/null
+++ b/plugins/woocommerce-beta-tester/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Suppress existing @wordpress/use-recommended-components lint violations.
diff --git a/plugins/woocommerce-beta-tester/eslint-suppressions.json b/plugins/woocommerce-beta-tester/eslint-suppressions.json
new file mode 100644
index 00000000000..eb485f579f5
--- /dev/null
+++ b/plugins/woocommerce-beta-tester/eslint-suppressions.json
@@ -0,0 +1,17 @@
+{
+ "src/app/app.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/live-branches/App.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "src/live-branches/components/BranchList.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/woocommerce/changelog/add-use-recommended-components-lint b/plugins/woocommerce/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..dffb566dc7b
--- /dev/null
+++ b/plugins/woocommerce/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enforce the @wordpress/use-recommended-components lint rule; existing violations are suppressed.
diff --git a/plugins/woocommerce/client/admin/eslint-suppressions.json b/plugins/woocommerce/client/admin/eslint-suppressions.json
new file mode 100644
index 00000000000..d0d57ff41d4
--- /dev/null
+++ b/plugins/woocommerce/client/admin/eslint-suppressions.json
@@ -0,0 +1,377 @@
+{
+ "client/activity-panel/highlight-tooltip/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "client/analytics/components/leaderboard/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/analytics/report/customers/table.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/analytics/settings/import-mode-confirmation-modal.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/customize-store/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/customize-store/site-hub/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/dashboard/dashboard-charts/block.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/homescreen/activity-panel/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/homescreen/activity-panel/reviews/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/homescreen/stats-overview/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "client/inbox-panel/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/launch-your-store/hub/main-content/components/resizable-frame.jsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/launch-your-store/hub/sidebar/components/launch-store-hub.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/launch-your-store/hub/sidebar/components/sidebar-container.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/layout/NoMatch.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/layout/store-alerts/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "client/layout/store-alerts/placeholder.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "client/marketing/components/CollapsibleCard/CollapsibleCard.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 5
+ }
+ },
+ "client/marketing/coupons/card/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/marketing/overview-multichannel/Campaigns/Campaigns.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "client/marketing/overview-multichannel/Channels/Channels.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 4
+ }
+ },
+ "client/marketing/overview-multichannel/DiscoverTools/PluginsTabPanel.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/marketing/overview-multichannel/IntroductionBanner/IntroductionBanner.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/marketplace/components/header-account/header-account.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/marketplace/components/my-subscriptions/my-subscriptions.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/marketplace/components/my-subscriptions/notices.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/marketplace/components/product-card/product-card.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/marketplace/components/promo-card/promo-card.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/mobile-app-login/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/order-attribution-install-banner/order-attribution-install-banner.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/payments-welcome/apms.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 5
+ }
+ },
+ "client/payments-welcome/banner.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/payments-welcome/faq-simple.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/payments/payment-recommendations.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/settings-email/settings-email-listing-recipients.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/settings-email/settings-email-listing-status.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/settings-payments/components/buttons/back-button.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/settings-payments/components/ellipsis-menu-content/ellipsis-menu-content.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/settings-payments/components/incentive-banner/incentive-banner.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/settings-payments/components/incentive-modal/incentive-modal.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/settings-payments/components/payment-gateway-list-item/payment-gateway-list-item.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/settings-payments/components/settings/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/settings-payments/onboarding/providers/woopayments/steps/payment-methods-selection/list-item.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/settings-recommendations/dismissable-list.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/settings/conflict-error-slotfill.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/shipping/packlink-item.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/shipping/shipping-recommendations-utils.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/shipping/shipstation-item.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/shipping/woocommerce-shipping-item.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/store-management-links/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/task-lists/components/back-button.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/task-lists/components/task-list.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/fills/Marketing/TaskPromo.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/task-lists/fills/Marketing/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/fills/PaymentGatewaySuggestions/components/List/Item.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/task-lists/fills/PaymentGatewaySuggestions/components/List/List.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/task-lists/fills/PaymentGatewaySuggestions/components/List/Placeholder.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 5
+ }
+ },
+ "client/task-lists/fills/PaymentGatewaySuggestions/components/Setup/Placeholder.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/fills/PaymentGatewaySuggestions/components/Setup/Setup.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/fills/PaymentGatewaySuggestions/components/WCPayBNPL/Suggestion.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/task-lists/fills/products/product-recommendations.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/task-lists/fills/shipping-recommendation/shipping-recommendation.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/fills/shipping/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/fills/tax/components/partners.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/task-lists/fills/tax/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/setup-task-list/components/task-list-completed-header.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/setup-task-list/components/task-list-completed.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/task-lists/setup-task-list/setup-task-list.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/tax/tax-recommendations.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "client/wp-admin-scripts/email-editor-integration/reset-notification-email-content.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 3
+ }
+ },
+ "client/wp-admin-scripts/email-editor-integration/sidebar_settings.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/wp-admin-scripts/email-editor-integration/update-banner.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/wp-admin-scripts/fulfillments/components/shipment-form/shipment-tracking-number-form.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/wp-admin-scripts/print-shipping-label-banner/shipping-banner/index.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "client/wp-admin-scripts/woo-product-usage-notice/modal.js": {
+ "@wordpress/use-recommended-components": {
+ "count": 5
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/woocommerce/client/blocks/changelog/add-use-recommended-components-lint b/plugins/woocommerce/client/blocks/changelog/add-use-recommended-components-lint
new file mode 100644
index 00000000000..dffb566dc7b
--- /dev/null
+++ b/plugins/woocommerce/client/blocks/changelog/add-use-recommended-components-lint
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enforce the @wordpress/use-recommended-components lint rule; existing violations are suppressed.
diff --git a/plugins/woocommerce/client/blocks/eslint-suppressions.json b/plugins/woocommerce/client/blocks/eslint-suppressions.json
new file mode 100644
index 00000000000..9b516a814f9
--- /dev/null
+++ b/plugins/woocommerce/client/blocks/eslint-suppressions.json
@@ -0,0 +1,132 @@
+{
+ "assets/js/blocks/add-to-cart-form/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/cart/inner-blocks/cart-order-summary-shipping/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/checkout/inner-blocks/checkout-contact-information-block/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/checkout/inner-blocks/checkout-payment-block/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/checkout/inner-blocks/checkout-shipping-methods-block/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/checkout/inner-blocks/checkout-terms-block/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/classic-shortcode/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/customer-account/sidebar-settings.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/featured-items/inspector-controls.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/featured-items/with-edit-mode.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "assets/js/blocks/mini-cart/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/order-confirmation/create-account/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/product-collection/edit/collection-chooser.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/product-collection/edit/inspector-controls/attributes-control.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/product-collection/edit/inspector-controls/linked-product-control.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/product-collection/edit/inspector-controls/price-range-control/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/product-collection/edit/single-product-picker.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "assets/js/blocks/product-query/inspector-controls/attributes-filter.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/product-reviews/inner-blocks/review-form/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/saved-for-later/edit.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/blocks/single-product/edit/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ },
+ "assets/js/editor-components/external-link-card/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/editor-components/incompatible-extension-notice/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/extensions/shipping-methods/pickup-location/general-settings.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/extensions/shipping-methods/pickup-location/location-settings.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 1
+ }
+ },
+ "assets/js/extensions/shipping-methods/shared-components/settings-card/index.tsx": {
+ "@wordpress/use-recommended-components": {
+ "count": 2
+ }
+ }
+}
\ No newline at end of file
diff --git a/tools/eslint-config/index.js b/tools/eslint-config/index.js
index ba03f2d9564..ed408000fa5 100644
--- a/tools/eslint-config/index.js
+++ b/tools/eslint-config/index.js
@@ -136,6 +136,13 @@ module.exports = [
files: TEST_FILES,
rules: RELAXED_TEST_RULES,
},
+ {
+ files: [ '**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx' ],
+ rules: {
+ // Use recommended `@wordpress/ui` components.
+ '@wordpress/use-recommended-components': 'error',
+ },
+ },
{
files: [ '**/*.ts', '**/*.tsx' ],
ignores: TYPE_AWARE_IGNORES,