Skip to content

Conversation

sw1tch3roo
Copy link
Contributor

Which issue, if any, is this issue related to?

Closes #8695

Is there anything in the PR that needs further explanation?

No, it's self-explanatory.

Copy link

changeset-bot bot commented Aug 1, 2025

🦋 Changeset detected

Latest commit: fc67a96

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
stylelint Patch

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

@sw1tch3roo
Copy link
Contributor Author

inspired by #8697.
@reduckted @jeddy3 guys, what do you think about this?

Copy link
Contributor

github-actions bot commented Aug 1, 2025

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

@reduckted
Copy link

Is it worth adding an accept test case for <style>--custom-property: blue;</style> to show that the rule will produce a false negative for check style elements?

@sw1tch3roo
Copy link
Contributor Author

@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.

Copy link
Member

@jeddy3 jeddy3 left a 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.

@jeddy3 jeddy3 changed the title fix no-invalid-position-declaration false positives for embedded styles Fix no-invalid-position-declaration false positives for embedded styles Aug 3, 2025
@sw1tch3roo sw1tch3roo requested a review from jeddy3 August 3, 2025 22:04
Copy link
Member

@jeddy3 jeddy3 left a 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.

@jeddy3 jeddy3 mentioned this pull request Aug 4, 2025
6 tasks
Copy link
Member

@romainmenke romainmenke left a 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 🙇

Copy link
Member

@romainmenke romainmenke left a 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)

@sw1tch3roo sw1tch3roo requested a review from ybiquitous August 5, 2025 13:36
Copy link
Member

@ybiquitous ybiquitous left a 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.

@sw1tch3roo
Copy link
Contributor Author

@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

@sw1tch3roo sw1tch3roo requested a review from ybiquitous August 6, 2025 09:54
Copy link
Member

@ybiquitous ybiquitous left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, LGTM 👍🏼

@ybiquitous
Copy link
Member

@jeddy3 may want one more review since commits were added after his approval.

Copy link
Member

@jeddy3 jeddy3 left a 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 😅)

@jeddy3 jeddy3 merged commit 2811636 into stylelint:main Aug 7, 2025
17 checks passed
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Aug 8, 2025
| 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)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Fix no-invalid-position-declaration false positives for embedded styles
5 participants