From d094e8cff6780975330f74b21a195fba97dc08d3 Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Thu, 6 Aug 2026 15:09:48 +0200 Subject: [PATCH 1/6] First pass at adding a stylelint script. --- .stylelintignore | 25 +++++++++++++ .stylelintrc.js | 93 +++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 85 +++++++++++++++++++++++++++++++++++++++++++ package.json | 6 ++- 4 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 .stylelintignore create mode 100644 .stylelintrc.js diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000000000..6ab12e48dd505 --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,25 @@ +# Ignore WordPress plugin files +src/wp-content/plugins/**/* + +# Ignore WordPress theme files +src/wp-content/themes/**/* + +src/wp-includes/blocks/**/* + +src/wp-includes/css/dist/**/* + +src/wp-includes/js/tinymce/**/* + +src/js/_enqueues/vendor/tinymce/**/* + +src/js/_enqueues/vendor/**/* + +# Ignore minified CSS files +**/*.min.css + +# Ignore RTL CSS files +**/*-rtl.css +**/*-rtl.min.css + +# Ignore node_modules +node_modules/*** diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000000000..24c57c4879fe5 --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,93 @@ +/** @type {import('stylelint').Config} */ +module.exports = { + extends: '@wordpress/stylelint-config/scss-stylistic', + plugins: [ + 'stylelint-plugin-logical-css', + '@wordpress/theme/stylelint-plugins/no-token-fallback-values', + ], + reportNeedlessDisables: true, + rules: { + 'at-rule-empty-line-before': null, + 'at-rule-no-unknown': null, + 'comment-empty-line-before': null, + 'declaration-property-value-allowed-list': [ + { + 'flex-direction': '/^(?!(row|column)-reverse).*$/', + }, + { + message: ( property, value ) => + `Avoid "${ value }" value for the "${ property }" property. For accessibility reasons, visual, reading, and DOM order must match. Only use the reverse values when they do not affect reading order, meaning, and interaction.`, + }, + ], + 'declaration-property-value-disallowed-list': [ + { + '/.*/': [ + '/--wp-components-color-/', + '/\\$font-weight-regular/', + '/\\$font-weight-medium/', + ], + cursor: [ 'pointer' ], + }, + { + message: ( property, value ) => { + if ( + value.includes( '$font-weight-regular' ) || + value.includes( '$font-weight-medium' ) + ) { + const variable = value.includes( + '$font-weight-regular' + ) + ? '$font-weight-regular' + : '$font-weight-medium'; + return `\`${ variable }\` has been removed. Use \`var(--wpds-typography-font-weight-default)\` or \`var(--wpds-typography-font-weight-emphasis)\` based on the intended emphasis.`; + } + if ( property === 'cursor' ) { + return 'Use the `var( --wpds-cursor-control )` token for interactive non-link controls. If this is for a link, you can disable this rule.'; + } + return `Avoid using "${ value }" in "${ property }". --wp-components-color-* variables are not ready to be used outside of the components package.`; + }, + }, + ], + 'font-weight-notation': null, + '@stylistic/max-line-length': null, + 'no-descending-specificity': null, + 'property-disallowed-list': [ + [ 'order' ], + { + message: + 'Avoid the order property. For accessibility reasons, visual, reading, and DOM order must match. Only use the order property when it does not affect reading order, meaning, and interaction.', + }, + ], + 'rule-empty-line-before': null, + 'selector-class-pattern': [ + '^[a-z][a-z0-9]*(?:(?:__|--|-)[a-z0-9]+)*$', + { + message: + 'Selector should use lowercase class segments separated with hyphens, double hyphens, or double underscores (selector-class-pattern)', + }, + ], + 'value-keyword-case': null, + 'scss/operator-no-unspaced': null, + 'scss/selector-no-redundant-nesting-selector': null, + 'scss/load-partial-extension': null, + 'scss/no-global-function-names': null, + 'scss/comment-no-empty': null, + 'scss/at-extend-no-missing-placeholder': null, + 'scss/operator-no-newline-after': null, + 'scss/at-if-closing-brace-newline-after': null, + 'scss/at-else-empty-line-before': null, + 'scss/at-if-closing-brace-space-after': null, + 'no-invalid-position-at-import-rule': null, + 'plugin-wpds/no-token-fallback-values': true, + }, + reportDescriptionlessDisables: true, + ignoreFiles: [ + 'src/wp-content/plugins/**/*', + 'src/wp-content/themes/**/*', + '**/*.min.css', + '**/*-rtl.min.css', + ], + ignorePath: '.stylelintignore', +}; + + diff --git a/package-lock.json b/package-lock.json index 78985e8f955c0..4b7f0a7990143 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,6 +88,8 @@ "sinon": "16.1.3", "sinon-test": "~3.1.6", "source-map-loader": "5.0.0", + "stylelint-config-wordpress": "17.0.0", + "stylelint-plugin-logical-css": "2.1.0", "typescript": "6.0.3", "uuid": "14.0.1", "wait-on": "9.0.10", @@ -30615,6 +30617,89 @@ } } }, + "node_modules/stylelint-config-wordpress": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-17.0.0.tgz", + "integrity": "sha512-qUU2kVMd2ezIV9AzRdgietIfnavRRENt4180A1OMoVXIowRjjhohZgBiyVPV5EtNKo3GTO63l8g/QGNG27/h9g==", + "deprecated": "This package has been deprecated, please use @wordpress/stylelint-config or @wordpress/scripts", + "dev": true, + "license": "MIT", + "dependencies": { + "stylelint-config-recommended": "^3.0.0", + "stylelint-config-recommended-scss": "^4.2.0", + "stylelint-scss": "^3.17.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "stylelint": "^10.1.0 || ^11.0.0 || ^12.0.0 || ^13.0.0" + } + }, + "node_modules/stylelint-config-wordpress/node_modules/stylelint-config-recommended": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", + "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "stylelint": ">=10.1.0" + } + }, + "node_modules/stylelint-config-wordpress/node_modules/stylelint-config-recommended-scss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-4.3.0.tgz", + "integrity": "sha512-/noGjXlO8pJTr/Z3qGMoaRFK8n1BFfOqmAbX1RjTIcl4Yalr+LUb1zb9iQ7pRx1GsEBXOAm4g2z5/jou/pfMPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "stylelint-config-recommended": "^5.0.0" + }, + "peerDependencies": { + "stylelint": "^10.1.0 || ^11.0.0 || ^12.0.0 || ^13.0.0", + "stylelint-scss": "^3.0.0" + } + }, + "node_modules/stylelint-config-wordpress/node_modules/stylelint-config-recommended-scss/node_modules/stylelint-config-recommended": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz", + "integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "stylelint": "^13.13.0" + } + }, + "node_modules/stylelint-config-wordpress/node_modules/stylelint-scss": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.21.0.tgz", + "integrity": "sha512-CMI2wSHL+XVlNExpauy/+DbUcB/oUZLARDtMIXkpV/5yd8nthzylYd1cdHeDMJVBXeYHldsnebUX6MoV5zPW4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "stylelint": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0" + } + }, + "node_modules/stylelint-plugin-logical-css": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/stylelint-plugin-logical-css/-/stylelint-plugin-logical-css-2.1.0.tgz", + "integrity": "sha512-625OT+p5y2kkGBaRV7uTYscuH0m1UueMXh0WcidrXgwF2DOnKov+un9tvuyNG+SUC07W0ibcn+fZvQs/keskww==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "stylelint": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/stylelint-scss": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.14.0.tgz", diff --git a/package.json b/package.json index 7b8cdfe8eb8c0..ec9423eb850af 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,8 @@ "sinon": "16.1.3", "sinon-test": "~3.1.6", "source-map-loader": "5.0.0", + "stylelint-config-wordpress": "17.0.0", + "stylelint-plugin-logical-css": "2.1.0", "typescript": "6.0.3", "uuid": "14.0.1", "wait-on": "9.0.10", @@ -145,6 +147,8 @@ "typecheck:php:baselines": "node ./tools/local-env/scripts/docker.js run --rm php composer phpstan:baselines --", "gutenberg:copy": "node tools/gutenberg/copy.js", "gutenberg:verify": "node tools/gutenberg/utils.js", - "gutenberg:download": "node tools/gutenberg/download.js && grunt build:gutenberg" + "gutenberg:download": "node tools/gutenberg/download.js && grunt build:gutenberg", + "lint:css": "wp-scripts lint-style \"src/**/*.{css,pcss,scss}\"", + "lint:css:fix": "npm run lint:css -- --fix" } } From 073208fea02dbaa042928e19ddd853326d470434 Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Thu, 6 Aug 2026 15:54:43 +0200 Subject: [PATCH 2/6] Remove custom rule from gutenberg. --- .stylelintrc.js | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.stylelintrc.js b/.stylelintrc.js index 24c57c4879fe5..7a5b7de1bc18f 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -28,25 +28,6 @@ module.exports = { ], cursor: [ 'pointer' ], }, - { - message: ( property, value ) => { - if ( - value.includes( '$font-weight-regular' ) || - value.includes( '$font-weight-medium' ) - ) { - const variable = value.includes( - '$font-weight-regular' - ) - ? '$font-weight-regular' - : '$font-weight-medium'; - return `\`${ variable }\` has been removed. Use \`var(--wpds-typography-font-weight-default)\` or \`var(--wpds-typography-font-weight-emphasis)\` based on the intended emphasis.`; - } - if ( property === 'cursor' ) { - return 'Use the `var( --wpds-cursor-control )` token for interactive non-link controls. If this is for a link, you can disable this rule.'; - } - return `Avoid using "${ value }" in "${ property }". --wp-components-color-* variables are not ready to be used outside of the components package.`; - }, - }, ], 'font-weight-notation': null, '@stylistic/max-line-length': null, From 21ecb518f6fbb55e4ca21da3c9a8aa80c8a599d8 Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Thu, 6 Aug 2026 16:08:13 +0200 Subject: [PATCH 3/6] Clean up stylelintignore. --- .stylelintignore | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.stylelintignore b/.stylelintignore index 6ab12e48dd505..4c4b4beb9fc88 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -4,14 +4,16 @@ src/wp-content/plugins/**/* # Ignore WordPress theme files src/wp-content/themes/**/* +# Ignore WordPress block files src/wp-includes/blocks/**/* +# Ignore WordPress included dist files src/wp-includes/css/dist/**/* +# Ignore WordPress TinyMCE files src/wp-includes/js/tinymce/**/* -src/js/_enqueues/vendor/tinymce/**/* - +# Ignore WordPress JS vendor files src/js/_enqueues/vendor/**/* # Ignore minified CSS files @@ -20,6 +22,3 @@ src/js/_enqueues/vendor/**/* # Ignore RTL CSS files **/*-rtl.css **/*-rtl.min.css - -# Ignore node_modules -node_modules/*** From 0cde5db98979b8623bffda70e72ba6ffc256c7c3 Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Thu, 6 Aug 2026 16:15:17 +0200 Subject: [PATCH 4/6] Clean up config. --- .stylelintrc.js | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.stylelintrc.js b/.stylelintrc.js index 7a5b7de1bc18f..32c2d23165510 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -19,16 +19,6 @@ module.exports = { `Avoid "${ value }" value for the "${ property }" property. For accessibility reasons, visual, reading, and DOM order must match. Only use the reverse values when they do not affect reading order, meaning, and interaction.`, }, ], - 'declaration-property-value-disallowed-list': [ - { - '/.*/': [ - '/--wp-components-color-/', - '/\\$font-weight-regular/', - '/\\$font-weight-medium/', - ], - cursor: [ 'pointer' ], - }, - ], 'font-weight-notation': null, '@stylistic/max-line-length': null, 'no-descending-specificity': null, @@ -59,15 +49,8 @@ module.exports = { 'scss/at-else-empty-line-before': null, 'scss/at-if-closing-brace-space-after': null, 'no-invalid-position-at-import-rule': null, - 'plugin-wpds/no-token-fallback-values': true, }, reportDescriptionlessDisables: true, - ignoreFiles: [ - 'src/wp-content/plugins/**/*', - 'src/wp-content/themes/**/*', - '**/*.min.css', - '**/*-rtl.min.css', - ], ignorePath: '.stylelintignore', }; From 43393b26e7967ec9adc8e9ae6b33b7ef52bdaaea Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Fri, 7 Aug 2026 13:57:51 +0200 Subject: [PATCH 5/6] Add Grunt task and clean up. --- .stylelintignore | 18 ++++++++++-------- .stylelintrc.js | 3 +++ Gruntfile.js | 22 +++++++++++++++++++++- package.json | 6 +++--- 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/.stylelintignore b/.stylelintignore index 4c4b4beb9fc88..c04e935624470 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -1,24 +1,26 @@ -# Ignore WordPress plugin files +# Ignore WordPress plugin files. src/wp-content/plugins/**/* -# Ignore WordPress theme files +# Ignore WordPress theme files. +# Note that the dependencies of some themes would require the "stylelint-a11y" +# package which is not used in Core and incompatible with latest Stylelint versions. src/wp-content/themes/**/* -# Ignore WordPress block files +# Ignore WordPress block files. src/wp-includes/blocks/**/* -# Ignore WordPress included dist files +# Ignore WordPress included dist files. src/wp-includes/css/dist/**/* -# Ignore WordPress TinyMCE files +# Ignore WordPress TinyMCE files. src/wp-includes/js/tinymce/**/* -# Ignore WordPress JS vendor files +# Ignore WordPress JS vendor files. src/js/_enqueues/vendor/**/* -# Ignore minified CSS files +# Ignore minified CSS files. **/*.min.css -# Ignore RTL CSS files +# Ignore RTL CSS files. **/*-rtl.css **/*-rtl.min.css diff --git a/.stylelintrc.js b/.stylelintrc.js index 32c2d23165510..bde6311a68888 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -51,6 +51,9 @@ module.exports = { 'no-invalid-position-at-import-rule': null, }, reportDescriptionlessDisables: true, + // Using ignorePath instead of ignoreFiles helps avoiding configuration + // dependencies issues specifically helps ignoring some themes configurations + // that require the "stylelint-a11y" package. ignorePath: '.stylelintignore', }; diff --git a/Gruntfile.js b/Gruntfile.js index 61f18481e23a8..45a814612faa3 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1760,8 +1760,28 @@ module.exports = function(grunt) { 'qunit:compiled' ] ); + grunt.registerTask( 'lint:css', 'Runs Stylelint on core CSS.', function() { + var done = this.async(); + + grunt.util.spawn( { + cmd: 'npx', + args: [ + 'wp-scripts', + 'lint-style', + SOURCE_DIR + '**/*.{css,scss}', + // By default, the Stylelint CLI looks for files to ignore in + // .stylelintignore in process.cwd(). This way, the configuration + // is consistent with the one for the NPM script in .stylelintrc.js. + ], + opts: { stdio: 'inherit' } + }, function( error ) { + done( ! error ); + } ); + } ); + grunt.registerTask( 'precommit:css', [ - 'postcss:core' + 'postcss:core', + 'lint:css', ] ); grunt.registerTask( 'precommit:php', [ diff --git a/package.json b/package.json index ec9423eb850af..d36a768f724c4 100644 --- a/package.json +++ b/package.json @@ -127,6 +127,8 @@ "grunt": "grunt", "lint:jsdoc": "wp-scripts lint-js", "lint:jsdoc:fix": "wp-scripts lint-js --fix", + "lint:css": "wp-scripts lint-style \"src/**/*.{css,scss}\"", + "lint:css:fix": "npm run lint:css -- --fix", "typecheck:js": "tsc --build", "env:start": "node ./tools/local-env/scripts/start.js && node ./tools/local-env/scripts/docker.js run -T --rm php composer update -W", "env:stop": "node ./tools/local-env/scripts/docker.js down", @@ -147,8 +149,6 @@ "typecheck:php:baselines": "node ./tools/local-env/scripts/docker.js run --rm php composer phpstan:baselines --", "gutenberg:copy": "node tools/gutenberg/copy.js", "gutenberg:verify": "node tools/gutenberg/utils.js", - "gutenberg:download": "node tools/gutenberg/download.js && grunt build:gutenberg", - "lint:css": "wp-scripts lint-style \"src/**/*.{css,pcss,scss}\"", - "lint:css:fix": "npm run lint:css -- --fix" + "gutenberg:download": "node tools/gutenberg/download.js && grunt build:gutenberg" } } From 9d6e06ff1bf0b7d20ca75504e0b6bb5f436efcfe Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Fri, 7 Aug 2026 17:01:41 +0200 Subject: [PATCH 6/6] Remove stylelint-config-wordpress package. --- package-lock.json | 74 ----------------------------------------------- package.json | 1 - 2 files changed, 75 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4b7f0a7990143..e01f475a24944 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,7 +88,6 @@ "sinon": "16.1.3", "sinon-test": "~3.1.6", "source-map-loader": "5.0.0", - "stylelint-config-wordpress": "17.0.0", "stylelint-plugin-logical-css": "2.1.0", "typescript": "6.0.3", "uuid": "14.0.1", @@ -30617,79 +30616,6 @@ } } }, - "node_modules/stylelint-config-wordpress": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-17.0.0.tgz", - "integrity": "sha512-qUU2kVMd2ezIV9AzRdgietIfnavRRENt4180A1OMoVXIowRjjhohZgBiyVPV5EtNKo3GTO63l8g/QGNG27/h9g==", - "deprecated": "This package has been deprecated, please use @wordpress/stylelint-config or @wordpress/scripts", - "dev": true, - "license": "MIT", - "dependencies": { - "stylelint-config-recommended": "^3.0.0", - "stylelint-config-recommended-scss": "^4.2.0", - "stylelint-scss": "^3.17.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "stylelint": "^10.1.0 || ^11.0.0 || ^12.0.0 || ^13.0.0" - } - }, - "node_modules/stylelint-config-wordpress/node_modules/stylelint-config-recommended": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", - "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "stylelint": ">=10.1.0" - } - }, - "node_modules/stylelint-config-wordpress/node_modules/stylelint-config-recommended-scss": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-4.3.0.tgz", - "integrity": "sha512-/noGjXlO8pJTr/Z3qGMoaRFK8n1BFfOqmAbX1RjTIcl4Yalr+LUb1zb9iQ7pRx1GsEBXOAm4g2z5/jou/pfMPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "stylelint-config-recommended": "^5.0.0" - }, - "peerDependencies": { - "stylelint": "^10.1.0 || ^11.0.0 || ^12.0.0 || ^13.0.0", - "stylelint-scss": "^3.0.0" - } - }, - "node_modules/stylelint-config-wordpress/node_modules/stylelint-config-recommended-scss/node_modules/stylelint-config-recommended": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz", - "integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "stylelint": "^13.13.0" - } - }, - "node_modules/stylelint-config-wordpress/node_modules/stylelint-scss": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.21.0.tgz", - "integrity": "sha512-CMI2wSHL+XVlNExpauy/+DbUcB/oUZLARDtMIXkpV/5yd8nthzylYd1cdHeDMJVBXeYHldsnebUX6MoV5zPW4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.15", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "stylelint": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0" - } - }, "node_modules/stylelint-plugin-logical-css": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/stylelint-plugin-logical-css/-/stylelint-plugin-logical-css-2.1.0.tgz", diff --git a/package.json b/package.json index d36a768f724c4..875937685fbfb 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,6 @@ "sinon": "16.1.3", "sinon-test": "~3.1.6", "source-map-loader": "5.0.0", - "stylelint-config-wordpress": "17.0.0", "stylelint-plugin-logical-css": "2.1.0", "typescript": "6.0.3", "uuid": "14.0.1",