Update stylelint to V16.26.1#529
Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Duplication | 0 |
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Code Review
This pull request updates Stylelint documentation and configuration metadata to align with the upgrade to version 17.13.0, introducing several new rules and documenting message arguments for existing ones. The review feedback highlights a few errors in the updated documentation: an incorrect configuration key ("ignoreProperties" instead of "ignoreMediaFeatureNames") in the media feature vendor prefix rule, the use of standard rule names instead of SCSS-specific ones in the SCSS class pattern documentation, and an incomplete title fragment in "description.json".
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| { | ||
| "media-feature-name-no-vendor-prefix": [ | ||
| true, | ||
| { "ignoreProperties": ["-webkit-min-device-pixel-ratio", "/^-o/"] } |
There was a problem hiding this comment.
The secondary option for this rule is ignoreMediaFeatureNames, but the configuration example incorrectly uses ignoreProperties. This will cause the option to be ignored or fail validation.
| { "ignoreProperties": ["-webkit-min-device-pixel-ratio", "/^-o/"] } | |
| { "ignoreMediaFeatureNames": ["-webkit-min-device-pixel-ratio", "/^-o/"] } |
|
|
||
| ```json | ||
| { | ||
| "selector-class-pattern": "foo-[a-z]+" |
There was a problem hiding this comment.
|
|
||
| ```json | ||
| { | ||
| "selector-class-pattern": ["^[A-Z]+$", { "resolveNestedSelectors": true }] |
There was a problem hiding this comment.
The configuration example uses the standard rule name selector-class-pattern instead of the SCSS plugin rule name scss/selector-class-pattern. This will configure the wrong rule in stylelint.
| "selector-class-pattern": ["^[A-Z]+$", { "resolveNestedSelectors": true }] | |
| "scss/selector-class-pattern": ["^[A-Z]+$", { "resolveNestedSelectors": true }] |
| } ] | ||
| }, { | ||
| "patternId" : "scss_dollar-variable-no-missing-interpolation", | ||
| "title" : "This rule flags four situations in which Sass variables require interpolation:", |
There was a problem hiding this comment.
The title for scss_dollar-variable-no-missing-interpolation has been changed to a sentence fragment ending with a colon. It should be a concise, descriptive title instead.
| "title" : "This rule flags four situations in which Sass variables require interpolation:", | |
| "title" : "Disallow Sass variables that are used without interpolation in required scenarios.", |
There was a problem hiding this comment.
Pull Request Overview
This PR upgrades Stylelint to version 17.13.0 and updates the associated rule documentation and metadata. The codebase currently aligns with Codacy quality standards.
The primary issues identified concern technical errors in the documentation examples: incorrect option keys in the media feature documentation and missing rule prefixes in SCSS-specific rule examples. These should be addressed to ensure the documentation correctly guides users. Additionally, the PR description is currently empty, which makes it difficult to track the context or specific breaking changes addressed in this update.
About this PR
- The PR description is empty. Please provide context for the upgrade or a summary of addressed breaking changes to aid future maintainability.
Test suggestions
- Verify Stylelint version 17.13.0 is specified in package.json
- Verify documentation for new 'display-notation' rule is added
- Verify documentation for new 'property-layout-mappings' rule is added
- Verify documentation for new 'relative-selector-nesting-notation' rule is added
- Verify documentation for new 'selector-no-deprecated' rule is added
- Verify patterns.json metadata is updated to version 17.13.0
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
| { | ||
| "media-feature-name-no-vendor-prefix": [ | ||
| true, | ||
| { "ignoreProperties": ["-webkit-min-device-pixel-ratio", "/^-o/"] } |
There was a problem hiding this comment.
🟡 MEDIUM RISK
The option key used in this example is incorrect. It should be ignoreMediaFeatureNames to match the rule's schema and the provided context.
| { "ignoreProperties": ["-webkit-min-device-pixel-ratio", "/^-o/"] } | |
| { "ignoreMediaFeatureNames": ["-webkit-min-device-pixel-ratio", "/^-o/"] } |
|
|
||
| ```json | ||
| { | ||
| "selector-class-pattern": ["^[A-Z]+$", { "resolveNestedSelectors": true }] |
There was a problem hiding this comment.
⚪ LOW RISK
Suggestion: The rule name in the example should use the scss/ prefix.
| "selector-class-pattern": ["^[A-Z]+$", { "resolveNestedSelectors": true }] | |
| "scss/selector-class-pattern": ["^[A-Z]+$", { "resolveNestedSelectors": true }] |
| ```json | ||
| { | ||
| "selector-class-pattern": "foo-[a-z]+" | ||
| } |
There was a problem hiding this comment.
⚪ LOW RISK
Suggestion: The rule name in the example should include the scss/ prefix to correctly identify it as the plugin rule.
| } | |
| "scss/selector-class-pattern": "foo-[a-z]+" |
| }, { | ||
| "patternId" : "scss_dollar-variable-no-missing-interpolation", | ||
| "title" : "This rule flags four situations in which Sass variables require interpolation:", | ||
| "parameters" : [ { |
There was a problem hiding this comment.
⚪ LOW RISK
Nitpick: The title is phrased as a sentence instead of a concise summary. It is recommended to use a shorter, descriptive phrase.
| "parameters" : [ { | |
| "title" : "Disallow Sass variables that are used without interpolation with CSS features that use custom identifiers.", |
the v17 is bringing some internal failures over the tests, risking massive silent failures for customers if updated like this. For the moment, it is being updated to latest v16 and to the latest side dependencies.