-
-
Notifications
You must be signed in to change notification settings - Fork 977
Fix no-invalid-position-declaration
false positives for embedded styles
#8701
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 no-invalid-position-declaration
false positives for embedded styles
#8701
Conversation
🦋 Changeset detectedLatest commit: fc67a96 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 |
inspired by #8697. |
This PR is packaged and the instant preview is available (fc67a96). View the demo website. Install it locally: npm i -D https://pkg.pr.new/stylelint@fc67a96 |
Is it worth adding an |
@reduckted Thank you for your suggestion, IMO it would be worth. <style>--custom-property: blue;</style> this way we ensure that the fix won't be repeated in future changes. |
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.
@sw1tch3roo Thank you for continuing to work on a fix.
I've requested some changes and asked a question.
no-invalid-position-declaration
false positives for embedded stylesno-invalid-position-declaration
false positives for embedded styles
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 making the changes. LGTM.
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.
Overal change looks good! Thank you
I've left a few suggestions, please take a look when you have time 🙇
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.
(this comment went missing in the first review)
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.
@sw1tch3roo Thanks for addressing my reviews.
Overall LGTM, but let me suggest the last refactoring in isInDocument()
. I believe using instanceof Node
is a bit safer and straightforward than type casting with @type
.
it's a good catch, thanks |
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, LGTM 👍🏼
@jeddy3 may want one more review since commits were added after his approval. |
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!
(And thanks for catching all the things I missed in my first review 😅)
| datasource | package | from | to | | ---------- | --------- | ------- | ------- | | npm | stylelint | 16.20.0 | 16.23.1 | ## [v16.23.1](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16231---2025-08-07) It fixes 7 bugs. - Fixed: `no-invalid-position-declaration` false positives for embedded styles ([#8701](stylelint/stylelint#8701)) ([@sw1tch3roo](https://github.com/sw1tch3roo)). - Fixed: `property-no-deprecated` erroneously autofixing `clip` ([#8699](stylelint/stylelint#8699)) ([@immitsu](https://github.com/immitsu)). - Fixed: `property-no-deprecated` false positives for `-webkit-box-orient: vertical;` ([#8699](stylelint/stylelint#8699)) ([@immitsu](https://github.com/immitsu)). - Fixed: `selector-pseudo-*-no-unknown` false positives for some meter pseudo classes/elements ([#8708](stylelint/stylelint#8708)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `selector-pseudo-class-no-unknown` false positives for `:unchecked` ([#8705](stylelint/stylelint#8705)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `selector-pseudo-element-no-unknown` false positives for `::search-text` ([#8707](stylelint/stylelint#8707)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `selector-type-no-unknown` false positives for `selectedcontent` ([#8716](stylelint/stylelint#8716)) ([@Mouvedia](https://github.com/Mouvedia)). ## [v16.23.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16230---2025-07-29) It adds 5 new rules, 1 option to a rule and fixes 3 bugs. We've turned on the new rules in our [standard config](https://www.npmjs.com/package/stylelint-config-standard). - Added: `block-no-redundant-nested-style-rules` rule ([#8684](stylelint/stylelint#8684)) ([@sw1tch3roo](https://github.com/sw1tch3roo)). - Added: `media-type-no-deprecated` rule ([#8668](stylelint/stylelint#8668)) ([@immitsu](https://github.com/immitsu)). - Added: `nesting-selector-no-missing-scoping-root` rule ([#8674](stylelint/stylelint#8674)) ([@sw1tch3roo](https://github.com/sw1tch3roo)). - Added: `no-invalid-position-declaration` rule ([#8669](stylelint/stylelint#8669)) ([@sw1tch3roo](https://github.com/sw1tch3roo)). - Added: `property-no-deprecated` rule ([#8682](stylelint/stylelint#8682)) ([@immitsu](https://github.com/immitsu)). - Added: `except: ["exact-value"]` to `media-feature-range-notation` ([#8675](stylelint/stylelint#8675)) ([@immitsu](https://github.com/immitsu)). - Fixed: `declaration-block-no-duplicate-properties` false negatives for named colors with `ignore: ['consecutive-duplicates-with-different-syntaxes']` ([#8665](stylelint/stylelint#8665)) ([@sw1tch3roo](https://github.com/sw1tch3roo)). - Fixed: `function-no-unknown` false positives ([#8677](stylelint/stylelint#8677)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `no-irregular-whitespace` false positives for strings ([#8667](stylelint/stylelint#8667)) ([@immitsu](https://github.com/immitsu)). ## [v16.22.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16220---2025-07-18) It adds 3 rule features and fixes 2 bugs. - Added: `messageArgs` to `color-named` ([#8663](stylelint/stylelint#8663)) ([@Mouvedia](https://github.com/Mouvedia)). - Added: `messageArgs` to `declaration-property-value-keyword-no-deprecated` ([#8654](stylelint/stylelint#8654)) ([@Mouvedia](https://github.com/Mouvedia)). - Added: `no-descending-specificity` report message includes line number of the anchoring selector ([#8666](stylelint/stylelint#8666)) ([@immitsu](https://github.com/immitsu)). - Fixed: `at-rule-no-deprecated` false positives for `@apply` ([#8630](stylelint/stylelint#8630)) ([@Mouvedia](https://github.com/Mouvedia)). - Fixed: `lightness-notation` crash with `"number"` option and single-digit percentage ([#8661](stylelint/stylelint#8661)) ([@ybiquitous](https://github.com/ybiquitous)). ## [v16.21.1](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16211---2025-07-03) It fixes 3 bugs. - Fixed: unexpected change of syntax in computed `EditInfo` ([#8638](stylelint/stylelint#8638)) ([@romainmenke](https://github.com/romainmenke)). - Fixed: `function-linear-gradient-no-nonstandard-direction` false positives for CSS variables' names containing a direction substring ([#8643](stylelint/stylelint#8643)) ([@Solomon-mithra](https://github.com/Solomon-mithra)). - Fixed: `media-feature-range-notation` autofix for exact values ([#8651](stylelint/stylelint#8651)) ([@romainmenke](https://github.com/romainmenke)). ## [v16.21.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16210---2025-06-19) It rounds out the `message` secondary option and marks it as stable, adds 1 new option to a rule, and fixes 4 bugs. - Added: non-experimental support for functional `message` secondary option ([#8595](stylelint/stylelint#8595)) ([@ybiquitous](https://github.com/ybiquitous)). - Added: `ignore: ["after-custom-property"]` to `custom-property-empty-line-before` ([#8627](stylelint/stylelint#8627)) ([@imkesin](https://github.com/imkesin)). - Fixed: `cache` configuration property not being respected ([#8599](stylelint/stylelint#8599)) ([@ybiquitous](https://github.com/ybiquitous)). - Fixed: `fastest-levenshtein` import when bundling ([#8621](stylelint/stylelint#8621)) ([@onigoetz](https://github.com/onigoetz)). - Fixed: `named-grid-areas-no-invalid` false positives for interpolated grid-template-areas in CSS-in-JS ([#8606](stylelint/stylelint#8606)) ([@shahana308](https://github.com/shahana308)). - Fixed: `selector-pseudo-*-no-unknown` false positives for the missing form control styling selectors ([#8623](stylelint/stylelint#8623)) ([@tyrann0us](https://github.com/tyrann0us)).
Closes #8695
No, it's self-explanatory.