-
-
Notifications
You must be signed in to change notification settings - Fork 941
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix selector-attribute-name-disallowed-list
reported ranges
#8037
Fix selector-attribute-name-disallowed-list
reported ranges
#8037
Conversation
🦋 Changeset detectedLatest commit: 00ba744 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for working on this issue @ryo-manba 🙇
I've left a question about a potentially smaller change.
parseSelector(ruleNode.selector, result, ruleNode)?.walkAttributes((attributeNode) => { | ||
const attributeName = attributeNode.qualifiedAttribute; | ||
flattenNestedSelectorsForRule(ruleNode, result).forEach(({ selector }) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to switch to flattenNestedSelectorsForRule
?
This rule only looks at individual attribute selector parts and doesn't do any analysis of the entire selector. So resolving nested selectors shouldn't be needed.
I think we can use the getRuleSelector
utility instead.
e.g.
parseSelector(getRuleSelector(ruleNode), result, ruleNode)?.walkAttributes((attributeNode) => {
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, using getRuleSelector
helps to include comments in the selector. I've made the update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Thank you for your contribution.
(leaving this open in case other maintainers want to take a look)
Update:
I am going to merge these changes in, given how small they are.
If anyone has any concerns or feedback we can still address that before the next release :)
lib/rules/selector-attribute-name-disallowed-list/__tests__/index.mjs
Outdated
Show resolved
Hide resolved
| datasource | package | from | to | | ---------- | --------- | ------- | ------- | | npm | stylelint | 16.10.0 | 16.11.0 | ## [v16.11.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16110) - Added: `--report-unscoped-disables` CLI flag and `reportUnscopedDisables` option to Node.js API and configuration object ([#8024](stylelint/stylelint#8024)) ([@Mouvedia](https://github.com/Mouvedia)). - Added: `ignoreFunctions: []` to `media-query-no-invalid` ([#8060](stylelint/stylelint#8060)) ([@ryo-manba](https://github.com/ryo-manba)). - Added: `name` configuration property under `overrides` ([#8095](stylelint/stylelint#8095)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `benchmark-rule` script to resolve `TypeError` ([#8090](stylelint/stylelint#8090)) ([@ybiquitous](https://github.com/ybiquitous)). - Fixed: `github` formatter deprecation warning link to `https://stylelint.io/awesome-stylelint#formatters` ([#8115](stylelint/stylelint#8115)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `function-calc-no-unspaced-operator` false negatives for `calc-size` ([#8026](stylelint/stylelint#8026)) ([@azat-io](https://github.com/azat-io)). - Fixed: `max-nesting-depth` false positives when the `&` selector is being ignored ([#8048](stylelint/stylelint#8048)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `media-feature-name-value-no-unknown` false positives for `display-mode: picture-in-picture` ([#8136](stylelint/stylelint#8136)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `no-irregular-whitespace` reported ranges ([#8066](stylelint/stylelint#8066)) ([@romainmenke](https://github.com/romainmenke)). - Fixed: `selector-attribute-name-disallowed-list` reported ranges ([#8037](stylelint/stylelint#8037)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-attribute-operator-allowed-list` reported ranges ([#8038](stylelint/stylelint#8038)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-attribute-operator-disallowed-list` reported ranges ([#8039](stylelint/stylelint#8039)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-class-pattern` reported ranges ([#8042](stylelint/stylelint#8042)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-combinator-allowed-list` reported ranges ([#8046](stylelint/stylelint#8046)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-combinator-disallowed-list` reported ranges ([#8047](stylelint/stylelint#8047)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-disallowed-list` reported ranges ([#8067](stylelint/stylelint#8067)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-id-pattern` reported ranges ([#8045](stylelint/stylelint#8045)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-attribute` reported ranges ([#8052](stylelint/stylelint#8052)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-class` reported ranges ([#8053](stylelint/stylelint#8053)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-combinators` reported-ranges ([#8055](stylelint/stylelint#8055)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-compound-selectors` reported ranges ([#8056](stylelint/stylelint#8056)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-id` reported ranges ([#8054](stylelint/stylelint#8054)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-pseudo-class` reported ranges ([#8057](stylelint/stylelint#8057)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-specificity` reported ranges ([#8058](stylelint/stylelint#8058)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-universal` reported ranges ([#8059](stylelint/stylelint#8059)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-nested-pattern` reported ranges ([#8072](stylelint/stylelint#8072)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-no-vendor-prefix` reported ranges ([#8073](stylelint/stylelint#8073)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-not-notation` reported ranges ([#8074](stylelint/stylelint#8074)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-class-allowed-list` reported ranges ([#8061](stylelint/stylelint#8061)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-class-disallowed-list` reported ranges ([#8062](stylelint/stylelint#8062)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-class-no-unknown` reported ranges ([#8063](stylelint/stylelint#8063)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-allowed-list` reported ranges ([#8068](stylelint/stylelint#8068)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-colon-notation` reported ranges ([#8069](stylelint/stylelint#8069)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-disallowed-list` reported ranges ([#8070](stylelint/stylelint#8070)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-no-unknown` false positives for `::scroll-marker` and `::scroll-marker-group` ([#8110](stylelint/stylelint#8110)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `selector-pseudo-element-no-unknown` reported ranges ([#8071](stylelint/stylelint#8071)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-type-no-unknown` reported ranges ([#8076](stylelint/stylelint#8076)) ([@ryo-manba](https://github.com/ryo-manba)).
| datasource | package | from | to | | ---------- | --------- | ------- | ------- | | npm | stylelint | 16.10.0 | 16.11.0 | ## [v16.11.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16110) - Added: `--report-unscoped-disables` CLI flag and `reportUnscopedDisables` option to Node.js API and configuration object ([#8024](stylelint/stylelint#8024)) ([@Mouvedia](https://github.com/Mouvedia)). - Added: `ignoreFunctions: []` to `media-query-no-invalid` ([#8060](stylelint/stylelint#8060)) ([@ryo-manba](https://github.com/ryo-manba)). - Added: `name` configuration property under `overrides` ([#8095](stylelint/stylelint#8095)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `benchmark-rule` script to resolve `TypeError` ([#8090](stylelint/stylelint#8090)) ([@ybiquitous](https://github.com/ybiquitous)). - Fixed: `github` formatter deprecation warning link to `https://stylelint.io/awesome-stylelint#formatters` ([#8115](stylelint/stylelint#8115)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `function-calc-no-unspaced-operator` false negatives for `calc-size` ([#8026](stylelint/stylelint#8026)) ([@azat-io](https://github.com/azat-io)). - Fixed: `max-nesting-depth` false positives when the `&` selector is being ignored ([#8048](stylelint/stylelint#8048)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `media-feature-name-value-no-unknown` false positives for `display-mode: picture-in-picture` ([#8136](stylelint/stylelint#8136)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `no-irregular-whitespace` reported ranges ([#8066](stylelint/stylelint#8066)) ([@romainmenke](https://github.com/romainmenke)). - Fixed: `selector-attribute-name-disallowed-list` reported ranges ([#8037](stylelint/stylelint#8037)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-attribute-operator-allowed-list` reported ranges ([#8038](stylelint/stylelint#8038)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-attribute-operator-disallowed-list` reported ranges ([#8039](stylelint/stylelint#8039)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-class-pattern` reported ranges ([#8042](stylelint/stylelint#8042)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-combinator-allowed-list` reported ranges ([#8046](stylelint/stylelint#8046)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-combinator-disallowed-list` reported ranges ([#8047](stylelint/stylelint#8047)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-disallowed-list` reported ranges ([#8067](stylelint/stylelint#8067)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-id-pattern` reported ranges ([#8045](stylelint/stylelint#8045)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-attribute` reported ranges ([#8052](stylelint/stylelint#8052)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-class` reported ranges ([#8053](stylelint/stylelint#8053)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-combinators` reported-ranges ([#8055](stylelint/stylelint#8055)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-compound-selectors` reported ranges ([#8056](stylelint/stylelint#8056)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-id` reported ranges ([#8054](stylelint/stylelint#8054)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-pseudo-class` reported ranges ([#8057](stylelint/stylelint#8057)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-specificity` reported ranges ([#8058](stylelint/stylelint#8058)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-max-universal` reported ranges ([#8059](stylelint/stylelint#8059)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-nested-pattern` reported ranges ([#8072](stylelint/stylelint#8072)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-no-vendor-prefix` reported ranges ([#8073](stylelint/stylelint#8073)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-not-notation` reported ranges ([#8074](stylelint/stylelint#8074)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-class-allowed-list` reported ranges ([#8061](stylelint/stylelint#8061)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-class-disallowed-list` reported ranges ([#8062](stylelint/stylelint#8062)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-class-no-unknown` reported ranges ([#8063](stylelint/stylelint#8063)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-allowed-list` reported ranges ([#8068](stylelint/stylelint#8068)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-colon-notation` reported ranges ([#8069](stylelint/stylelint#8069)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-disallowed-list` reported ranges ([#8070](stylelint/stylelint#8070)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-pseudo-element-no-unknown` false positives for `::scroll-marker` and `::scroll-marker-group` ([#8110](stylelint/stylelint#8110)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `selector-pseudo-element-no-unknown` reported ranges ([#8071](stylelint/stylelint#8071)) ([@ryo-manba](https://github.com/ryo-manba)). - Fixed: `selector-type-no-unknown` reported ranges ([#8076](stylelint/stylelint#8076)) ([@ryo-manba](https://github.com/ryo-manba)).
See #7904
No, it's self-explanatory.