Skip to content

Remove resolveNestedSelectors option from selector-class-pattern#8931

Merged
jeddy3 merged 7 commits intov17from
remove-rns
Dec 18, 2025
Merged

Remove resolveNestedSelectors option from selector-class-pattern#8931
jeddy3 merged 7 commits intov17from
remove-rns

Conversation

@jeddy3
Copy link
Member

@jeddy3 jeddy3 commented Dec 18, 2025

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

Closes #7482 (specific issue)
Closes #8906 (last issue of group)
Closes #8901 (replaces)
Closes #8858 (replaces)
Closes #7496 (replaces)

Is there anything in the PR that needs further explanation?

This is the last of the PRs to adopt standard nesting throughout the rules.

The code structure follows selector-id-pattern.

Once we merge this, I'll open an issue in stylelint-scss to give them a heads-up about these changes (and others in 17.0.0 that may impact them).

@jeddy3 jeddy3 requested a review from a team as a code owner December 18, 2025 11:40
@changeset-bot
Copy link

changeset-bot bot commented Dec 18, 2025

🦋 Changeset detected

Latest commit: a5234f0

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

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

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

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.

Thanks, overall LGTM 👍🏼

Can you take a look at my minor reviews?

@jeddy3
Copy link
Member Author

jeddy3 commented Dec 18, 2025

@ybiquitous Thank you for the review. I've pushed commits for your suggestions.

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.

Thanks. LGTM 👍

@jeddy3 jeddy3 merged commit 58d11bd into v17 Dec 18, 2025
17 checks passed
@jeddy3 jeddy3 deleted the remove-rns branch December 18, 2025 14:24
@jeddy3
Copy link
Member Author

jeddy3 commented Dec 18, 2025

Once we merge this, I'll open an issue in stylelint-scss to give them a heads-up about these changes (and others in 17.0.0 that may impact them).

Done in stylelint-scss/stylelint-scss#1215

@Mouvedia
Copy link
Member

Same question as #8913 (comment), should we add a deprecation warning to 16.X.X?

renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jan 15, 2026
| datasource | package   | from    | to     |
| ---------- | --------- | ------- | ------ |
| npm        | stylelint | 16.26.1 | 17.0.0 |


## [v17.0.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1700---2026-01-15)

It contains 14 breaking changes, which we've detailed in the [migrating to `17.0.0` guide](docs/migration-guide/to-17.md). Additionally, it adds 3 options to the rules and fixes 9 bugs. We've also released compatible versions of our [shared config](https://www.npmjs.com/package/stylelint-config-standard), [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint), [Node.js Rule Tester](https://www.npmjs.com/package/stylelint-test-rule-node) and [Jest preset](https://www.npmjs.com/package/jest-preset-stylelint).

- Removed: CommonJS Node.js API ([#8859](stylelint/stylelint#8859)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `output` property in the Node.js API returned resolved object ([#8878](stylelint/stylelint#8878)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: support for Node.js less than 20.19.0 ([#8867](stylelint/stylelint#8867)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: GitHub formatter ([#8888](stylelint/stylelint#8888)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `resolveNestedSelectors` option from `selector-class-pattern` ([#8931](stylelint/stylelint#8931)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `checkContextFunctionalPseudoClasses` option from `selector-max-id` ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: default `fix` mode to `strict` ([#8889](stylelint/stylelint#8889)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `report` to be consistent and predictable in how it handles the provided position arguments ([#8217](stylelint/stylelint#8217)) ([@romainmenke](https://github.com/romainmenke)).
- Changed: `selector-max-*` syntax rules for standard CSS nesting and modern functional pseudo-classes ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `*-specificity` semantic rules for standard CSS nesting ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `no-duplicate-selectors` and `selector-no-qualifying-type` for standard CSS nesting ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `*-list` rules to have consistent behaviour for vendor prefixes and case ([#8912](stylelint/stylelint#8912)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `*-no-vendor-prefix` rules to have consistent behaviour for their `ignore*: []` secondary options ([#8924](stylelint/stylelint#8924)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `declaration-property-max-values` rule to have consistent behaviour for vendor prefixes ([#8926](stylelint/stylelint#8926)) ([@jeddy3](https://github.com/jeddy3)).
- Added: `except: ["after-block"]` to `custom-property-empty-line-before` ([#8921](stylelint/stylelint#8921)) ([@kovsu](https://github.com/kovsu)).
- Added: `except: ["after-block"]` to `declaration-empty-line-before` ([#8910](stylelint/stylelint#8910)) ([@kovsu](https://github.com/kovsu)).
- Added: `ignoreSelectors: []` to `no-duplicate-selectors` ([#8883](stylelint/stylelint#8883)) ([@kovsu](https://github.com/kovsu)).
- Fixed: Windows drive letter casing inconsistencies when matching patterns against file paths ([#8941](stylelint/stylelint#8941)) ([@adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: CLI help to include TypeScript config files ([#8908](stylelint/stylelint#8908)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `at-rule-descriptor-no-unknown` false positives for declarations within feature-value-blocks ([#8868](stylelint/stylelint#8868)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `declaration-block-no-redundant-longhand-properties` false negatives for short and long combinations ([#8892](stylelint/stylelint#8892)) ([@nathannewyen](https://github.com/nathannewyen)).
- Fixed: `media-feature-name-no-unknown` false positives for namespaced dollar variables and range context queries ([#8890](stylelint/stylelint#8890)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `nesting-selector-no-missing-scoping-root` false positives for CSS-in-JS ([#8905](stylelint/stylelint#8905)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `no-invalid-position-declaration` false negatives for embedded blocks ([#8907](stylelint/stylelint#8907)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `selector-no-qualifying-type` false negatives for `:is/where()` ([#8940](stylelint/stylelint#8940)) ([@romainmenke](https://github.com/romainmenke)).
- Fixed: `selector-type-no-unknown` false positives for MathML 4 tags ([#8874](stylelint/stylelint#8874)) ([@jeddy3](https://github.com/jeddy3)).
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jan 17, 2026
| datasource | package   | from    | to     |
| ---------- | --------- | ------- | ------ |
| npm        | stylelint | 16.26.1 | 17.0.0 |


## [v17.0.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1700---2026-01-15)

It contains 14 breaking changes, which we've detailed in the [migrating to `17.0.0` guide](docs/migration-guide/to-17.md). Additionally, it adds 3 options to the rules and fixes 9 bugs. We've also released compatible versions of our [shared config](https://www.npmjs.com/package/stylelint-config-standard), [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint), [Node.js Rule Tester](https://www.npmjs.com/package/stylelint-test-rule-node) and [Jest preset](https://www.npmjs.com/package/jest-preset-stylelint).

- Removed: CommonJS Node.js API ([#8859](stylelint/stylelint#8859)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `output` property in the Node.js API returned resolved object ([#8878](stylelint/stylelint#8878)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: support for Node.js less than 20.19.0 ([#8867](stylelint/stylelint#8867)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: GitHub formatter ([#8888](stylelint/stylelint#8888)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `resolveNestedSelectors` option from `selector-class-pattern` ([#8931](stylelint/stylelint#8931)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `checkContextFunctionalPseudoClasses` option from `selector-max-id` ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: default `fix` mode to `strict` ([#8889](stylelint/stylelint#8889)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `report` to be consistent and predictable in how it handles the provided position arguments ([#8217](stylelint/stylelint#8217)) ([@romainmenke](https://github.com/romainmenke)).
- Changed: `selector-max-*` syntax rules for standard CSS nesting and modern functional pseudo-classes ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `*-specificity` semantic rules for standard CSS nesting ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `no-duplicate-selectors` and `selector-no-qualifying-type` for standard CSS nesting ([#8913](stylelint/stylelint#8913)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `*-list` rules to have consistent behaviour for vendor prefixes and case ([#8912](stylelint/stylelint#8912)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `*-no-vendor-prefix` rules to have consistent behaviour for their `ignore*: []` secondary options ([#8924](stylelint/stylelint#8924)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `declaration-property-max-values` rule to have consistent behaviour for vendor prefixes ([#8926](stylelint/stylelint#8926)) ([@jeddy3](https://github.com/jeddy3)).
- Added: `except: ["after-block"]` to `custom-property-empty-line-before` ([#8921](stylelint/stylelint#8921)) ([@kovsu](https://github.com/kovsu)).
- Added: `except: ["after-block"]` to `declaration-empty-line-before` ([#8910](stylelint/stylelint#8910)) ([@kovsu](https://github.com/kovsu)).
- Added: `ignoreSelectors: []` to `no-duplicate-selectors` ([#8883](stylelint/stylelint#8883)) ([@kovsu](https://github.com/kovsu)).
- Fixed: Windows drive letter casing inconsistencies when matching patterns against file paths ([#8941](stylelint/stylelint#8941)) ([@adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: CLI help to include TypeScript config files ([#8908](stylelint/stylelint#8908)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `at-rule-descriptor-no-unknown` false positives for declarations within feature-value-blocks ([#8868](stylelint/stylelint#8868)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `declaration-block-no-redundant-longhand-properties` false negatives for short and long combinations ([#8892](stylelint/stylelint#8892)) ([@nathannewyen](https://github.com/nathannewyen)).
- Fixed: `media-feature-name-no-unknown` false positives for namespaced dollar variables and range context queries ([#8890](stylelint/stylelint#8890)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `nesting-selector-no-missing-scoping-root` false positives for CSS-in-JS ([#8905](stylelint/stylelint#8905)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `no-invalid-position-declaration` false negatives for embedded blocks ([#8907](stylelint/stylelint#8907)) ([@kovsu](https://github.com/kovsu)).
- Fixed: `selector-no-qualifying-type` false negatives for `:is/where()` ([#8940](stylelint/stylelint#8940)) ([@romainmenke](https://github.com/romainmenke)).
- Fixed: `selector-type-no-unknown` false positives for MathML 4 tags ([#8874](stylelint/stylelint#8874)) ([@jeddy3](https://github.com/jeddy3)).
robbevp pushed a commit to robbevp/website-robbevanpetegem that referenced this pull request Jan 20, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [stylelint](https://stylelint.io) ([source](https://github.com/stylelint/stylelint)) | devDependencies | major | [`^16.23.1` -> `^17.0.0`](https://renovatebot.com/diffs/npm/stylelint/16.26.1/17.0.0) |

---

### Release Notes

<details>
<summary>stylelint/stylelint (stylelint)</summary>

### [`v17.0.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1700---2026-01-15)

[Compare Source](stylelint/stylelint@16.26.1...17.0.0)

It contains 14 breaking changes, which we've detailed in the [migrating to `17.0.0` guide](docs/migration-guide/to-17.md). Additionally, it adds 3 options to the rules and fixes 9 bugs. We've also released compatible versions of our [shared config](https://www.npmjs.com/package/stylelint-config-standard), [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint), [Node.js Rule Tester](https://www.npmjs.com/package/stylelint-test-rule-node) and [Jest preset](https://www.npmjs.com/package/jest-preset-stylelint).

- Removed: CommonJS Node.js API ([#&#8203;8859](stylelint/stylelint#8859)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Removed: `output` property in the Node.js API returned resolved object ([#&#8203;8878](stylelint/stylelint#8878)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Removed: support for Node.js less than 20.19.0 ([#&#8203;8867](stylelint/stylelint#8867)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Removed: GitHub formatter ([#&#8203;8888](stylelint/stylelint#8888)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Removed: `resolveNestedSelectors` option from `selector-class-pattern` ([#&#8203;8931](stylelint/stylelint#8931)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Removed: `checkContextFunctionalPseudoClasses` option from `selector-max-id` ([#&#8203;8913](stylelint/stylelint#8913)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Changed: default `fix` mode to `strict` ([#&#8203;8889](stylelint/stylelint#8889)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Changed: `report` to be consistent and predictable in how it handles the provided position arguments ([#&#8203;8217](stylelint/stylelint#8217)) ([@&#8203;romainmenke](https://github.com/romainmenke)).
- Changed: `selector-max-*` syntax rules for standard CSS nesting and modern functional pseudo-classes ([#&#8203;8913](stylelint/stylelint#8913)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Changed: `*-specificity` semantic rules for standard CSS nesting ([#&#8203;8913](stylelint/stylelint#8913)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Changed: `no-duplicate-selectors` and `selector-no-qualifying-type` for standard CSS nesting ([#&#8203;8913](stylelint/stylelint#8913)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Changed: `*-list` rules to have consistent behaviour for vendor prefixes and case ([#&#8203;8912](stylelint/stylelint#8912)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Changed: `*-no-vendor-prefix` rules to have consistent behaviour for their `ignore*: []` secondary options ([#&#8203;8924](stylelint/stylelint#8924)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Changed: `declaration-property-max-values` rule to have consistent behaviour for vendor prefixes ([#&#8203;8926](stylelint/stylelint#8926)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Added: `except: ["after-block"]` to `custom-property-empty-line-before` ([#&#8203;8921](stylelint/stylelint#8921)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Added: `except: ["after-block"]` to `declaration-empty-line-before` ([#&#8203;8910](stylelint/stylelint#8910)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Added: `ignoreSelectors: []` to `no-duplicate-selectors` ([#&#8203;8883](stylelint/stylelint#8883)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Fixed: Windows drive letter casing inconsistencies when matching patterns against file paths ([#&#8203;8941](stylelint/stylelint#8941)) ([@&#8203;adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: CLI help to include TypeScript config files ([#&#8203;8908](stylelint/stylelint#8908)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Fixed: `at-rule-descriptor-no-unknown` false positives for declarations within feature-value-blocks ([#&#8203;8868](stylelint/stylelint#8868)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Fixed: `declaration-block-no-redundant-longhand-properties` false negatives for short and long combinations ([#&#8203;8892](stylelint/stylelint#8892)) ([@&#8203;nathannewyen](https://github.com/nathannewyen)).
- Fixed: `media-feature-name-no-unknown` false positives for namespaced dollar variables and range context queries ([#&#8203;8890](stylelint/stylelint#8890)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Fixed: `nesting-selector-no-missing-scoping-root` false positives for CSS-in-JS ([#&#8203;8905](stylelint/stylelint#8905)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Fixed: `no-invalid-position-declaration` false negatives for embedded blocks ([#&#8203;8907](stylelint/stylelint#8907)) ([@&#8203;kovsu](https://github.com/kovsu)).
- Fixed: `selector-no-qualifying-type` false negatives for `:is/where()` ([#&#8203;8940](stylelint/stylelint#8940)) ([@&#8203;romainmenke](https://github.com/romainmenke)).
- Fixed: `selector-type-no-unknown` false positives for MathML 4 tags ([#&#8203;8874](stylelint/stylelint#8874)) ([@&#8203;jeddy3](https://github.com/jeddy3)).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS42MS4wIiwidXBkYXRlZEluVmVyIjoiNDEuNjEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.robbevp.be/robbevp/website-robbevanpetegem/pulls/504
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
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.

selector-max-* rules with languageOptions.nesting: 'standard' Remove resolveNestedSelectors option of selector-class-pattern

3 participants