Commit be6bface3c0 for woocommerce

commit be6bface3c0f6d3a788662918ee32ee5b0ab1889
Author: Mikael Korpela <mikael@ihminen.org>
Date:   Tue Oct 6 12:06:01 2026 +0300

    Enable stylelint reportNeedlessDisables and remove needless disables (#69248)


    ---------

    Co-authored-by: Raluca Stan <ralucastn@gmail.com>

diff --git a/.stylelintrc b/.stylelintrc
deleted file mode 100644
index b727699279b..00000000000
--- a/.stylelintrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "extends": "@wordpress/stylelint-config",
-}
diff --git a/packages/js/email-editor/.stylelintrc b/packages/js/email-editor/.stylelintrc
index 72f6294bd78..992d252e3a5 100644
--- a/packages/js/email-editor/.stylelintrc
+++ b/packages/js/email-editor/.stylelintrc
@@ -1,5 +1,6 @@
 {
 	"extends": "@wordpress/stylelint-config/stylistic",
+	"reportNeedlessDisables": true,
 	"customSyntax": "postcss-scss",
 	"rules": {
 		"selector-class-pattern": null,
diff --git a/packages/js/email-editor/changelog/dev-stylelint-report-needless-disables b/packages/js/email-editor/changelog/dev-stylelint-report-needless-disables
new file mode 100644
index 00000000000..d8b43c5b303
--- /dev/null
+++ b/packages/js/email-editor/changelog/dev-stylelint-report-needless-disables
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enable stylelint reportNeedlessDisables; no production change.
diff --git a/packages/js/email-editor/src/components/header/style.scss b/packages/js/email-editor/src/components/header/style.scss
index b55df2fa5d6..cb7fe717011 100644
--- a/packages/js/email-editor/src/components/header/style.scss
+++ b/packages/js/email-editor/src/components/header/style.scss
@@ -12,9 +12,7 @@
 }

 .woocommerce-email-editor__view-mode-toggle {
-	/* stylelint-disable -- Disable reason: View Transitions not supported properly by stylelint. */
 	view-transition-name: toggle;
-	/* stylelint-enable */
 	top: 0;
 	left: 0;
 	z-index: 100;
diff --git a/plugins/woocommerce/changelog/dev-stylelint-report-needless-disables b/plugins/woocommerce/changelog/dev-stylelint-report-needless-disables
new file mode 100644
index 00000000000..aa26c70f91c
--- /dev/null
+++ b/plugins/woocommerce/changelog/dev-stylelint-report-needless-disables
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Enable stylelint reportNeedlessDisables and remove stale disable comments; no production change.
diff --git a/plugins/woocommerce/client/admin/client/homescreen/mobile-app-modal/style.scss b/plugins/woocommerce/client/admin/client/homescreen/mobile-app-modal/style.scss
index 10fb4c1d081..5d1cb0507e3 100644
--- a/plugins/woocommerce/client/admin/client/homescreen/mobile-app-modal/style.scss
+++ b/plugins/woocommerce/client/admin/client/homescreen/mobile-app-modal/style.scss
@@ -1,5 +1,3 @@
-/* stylelint-disable function-url-quotes */
-/* quotes necessary for the data urls in url(), will shift these resources out to their own files when we enable asset modules */

 @keyframes fadeIn {
 	from {
diff --git a/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/my-subscriptions.scss b/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/my-subscriptions.scss
index 48f52fca1c1..11020f14ecd 100644
--- a/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/my-subscriptions.scss
+++ b/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/my-subscriptions.scss
@@ -487,7 +487,6 @@

 			&::before {
 				content: "";
-				/* stylelint-disable-next-line function-url-quotes */
 				background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z' stroke='%23614200' stroke-width='1.5'/%3E%3Cpath d='M13 7H11V13H13V7Z' fill='%23614200'/%3E%3Cpath d='M13 15H11V17H13V15Z' fill='%23614200'/%3E%3C/svg%3E");
 				background-repeat: no-repeat;
 				margin-right: $grid-unit-15;
diff --git a/plugins/woocommerce/client/admin/stylelint.config.js b/plugins/woocommerce/client/admin/stylelint.config.js
index 2755d48726f..e95a547575a 100644
--- a/plugins/woocommerce/client/admin/stylelint.config.js
+++ b/plugins/woocommerce/client/admin/stylelint.config.js
@@ -1,5 +1,6 @@
 module.exports = {
 	extends: '@wordpress/stylelint-config/scss-stylistic',
+	reportNeedlessDisables: true,
 	ignoreFiles: [ './vendor/**/*.scss' ],
 	rules: {
 		'at-rule-empty-line-before': null,
diff --git a/plugins/woocommerce/client/blocks/.stylelintrc.json b/plugins/woocommerce/client/blocks/.stylelintrc.json
index 37fb3d5b425..6aa674c646e 100644
--- a/plugins/woocommerce/client/blocks/.stylelintrc.json
+++ b/plugins/woocommerce/client/blocks/.stylelintrc.json
@@ -1,5 +1,6 @@
 {
 	"extends": "@wordpress/stylelint-config/scss",
+	"reportNeedlessDisables": true,
 	"rules": {
 		"at-rule-empty-line-before": null,
 		"at-rule-no-unknown": null,
diff --git a/plugins/woocommerce/client/blocks/assets/css/abstracts/_breakpoints.scss b/plugins/woocommerce/client/blocks/assets/css/abstracts/_breakpoints.scss
index 903fdd0b5d6..8aa99552e88 100644
--- a/plugins/woocommerce/client/blocks/assets/css/abstracts/_breakpoints.scss
+++ b/plugins/woocommerce/client/blocks/assets/css/abstracts/_breakpoints.scss
@@ -1,5 +1,3 @@
-/* stylelint-disable block-closing-brace-newline-after */
-
 @use "sass:meta";

 // Breakpoints
@@ -60,5 +58,3 @@ $breakpoints: 480px, 600px, 782px, 960px, 1280px, 1440px;
 		}
 	}
 }
-
-/* stylelint-enable */
diff --git a/plugins/woocommerce/client/blocks/assets/css/abstracts/_mixins.scss b/plugins/woocommerce/client/blocks/assets/css/abstracts/_mixins.scss
index 0238c2b4e19..ac3a2dc8c8e 100644
--- a/plugins/woocommerce/client/blocks/assets/css/abstracts/_mixins.scss
+++ b/plugins/woocommerce/client/blocks/assets/css/abstracts/_mixins.scss
@@ -360,14 +360,12 @@ $fontSizes: (
 		position: absolute;
 		inset: 0;
 		transform: translateX(-100%);
-		/* stylelint-disable declaration-colon-newline-after, function-parentheses-space-inside, function-comma-space-after */
 		background: linear-gradient(
 			90deg,
 			transparent 0%,
 			color-mix(in srgb, currentColor 5%, transparent) 50%,
 			transparent 100%
 		);
-		/* stylelint-enable */
 		animation: wc-skeleton-shimmer 1.25s infinite;

 		@media (prefers-reduced-motion: reduce) {
diff --git a/plugins/woocommerce/client/blocks/assets/js/base/components/reviews/review-list-item/style.scss b/plugins/woocommerce/client/blocks/assets/js/base/components/reviews/review-list-item/style.scss
index 554c8872516..f5c2bffe7e2 100644
--- a/plugins/woocommerce/client/blocks/assets/js/base/components/reviews/review-list-item/style.scss
+++ b/plugins/woocommerce/client/blocks/assets/js/base/components/reviews/review-list-item/style.scss
@@ -108,7 +108,6 @@
 		width: 21px;
 		height: 21px;
 		background: transparent
-			/* stylelint-disable-next-line function-url-quotes */
 			url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="21" height="21" fill="none"%3E%3Ccircle cx="10.5" cy="10.5" r="10.5" fill="%23fff"/%3E%3Cpath fill="%23008A21" fill-rule="evenodd" d="M2.1667 10.5003c0-4.6 3.7333-8.3333 8.3333-8.3333s8.3334 3.7333 8.3334 8.3333S15.1 18.8337 10.5 18.8337s-8.3333-3.7334-8.3333-8.3334zm2.5 0l4.1666 4.1667 7.5001-7.5-1.175-1.1833-6.325 6.325-2.9917-2.9834-1.175 1.175z" clip-rule="evenodd"/%3E%3Cmask id="a" width="17" height="17" x="2" y="2" maskUnits="userSpaceOnUse"%3E%3Cpath fill="%23fff" fill-rule="evenodd" d="M2.1667 10.5003c0-4.6 3.7333-8.3333 8.3333-8.3333s8.3334 3.7333 8.3334 8.3333S15.1 18.8337 10.5 18.8337s-8.3333-3.7334-8.3333-8.3334zm2.5 0l4.1666 4.1667 7.5001-7.5-1.175-1.1833-6.325 6.325-2.9917-2.9834-1.175 1.175z" clip-rule="evenodd"/%3E%3C/mask%3E%3Cg mask="url(%23a)"%3E%3Cpath fill="%23008A21" d="M.5.5h20v20H.5z"/%3E%3C/g%3E%3C/svg%3E')
 			center center no-repeat;
 		display: block;
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/accordion/accordion-group/style.scss b/plugins/woocommerce/client/blocks/assets/js/blocks/accordion/accordion-group/style.scss
index 5bce94a7f01..e70f60f9936 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/accordion/accordion-group/style.scss
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/accordion/accordion-group/style.scss
@@ -56,7 +56,7 @@

 .wp-block-woocommerce-accordion-header.icon-position-left
 	.accordion-item__toggle {
-	/* stylelint-disable-next-line declaration-property-value-allowed-list -- This should be refactored to not use the row-reverse value. */
+	/* This should be refactored to not use the row-reverse value. */
 	flex-direction: row-reverse;
 }

diff --git a/plugins/woocommerce/client/legacy/.stylelintrc b/plugins/woocommerce/client/legacy/.stylelintrc
index 6f3346e5468..3ab3da548df 100644
--- a/plugins/woocommerce/client/legacy/.stylelintrc
+++ b/plugins/woocommerce/client/legacy/.stylelintrc
@@ -8,6 +8,8 @@
 	# authoritative exclusion, so a direct `stylelint` run skips it too.
 	"ignoreFiles": [ "css/select2.scss" ],

+	"reportNeedlessDisables": true,
+
 	"rules": {
 		# The icon fonts have no generic fallback by design.
 		"font-family-no-missing-generic-family-keyword": [