chore(deps): update stylelint to v18 (master) #44

Merged
lucas merged 1 commit from renovate/master-major-stylelint into master 2026-11-13 09:45:40 +01:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
stylelint (source) ^17.0.0 → ^18.0.0 age confidence
stylelint-config-standard-scss ^17.0.0 → ^18.0.0 age confidence

Release Notes

stylelint/stylelint (stylelint)

v18.0.0

Compare Source

It contains 13 breaking changes, which we've detailed in the migrating to 18.0.0 guide. It also adds 4 new rules and fixes 16 bugs.

  • Removed: support for end-of-life and older versions of Node.js (#​9486) (@​jeddy3).
  • Removed: support for CommonJS-style filename-less and extension-less locator paths (#​9545) (@​jeddy3).
  • Removed: resolution of packages from the global node_modules directory (#​9534) (@​jeddy3).
  • Removed: context.fix property (#​9505) (@​jeddy3).
  • Removed: declaration-block-single-line-max-declarations rule (#​9565) (@​jeddy3).
  • Removed: *syntax options from declaration-property-value-no-unknown (#​9487) (@​jeddy3).
  • Removed: ignoreSelectors option from selector-max-specificity (#​9579) (@​jeddy3).
  • Changed: TypeScript config files to be loaded by Node.js's built-in type stripping (#​9489) (@​jeddy3).
  • Changed: the CLI to parse arguments with node:util.parseArgs (#​9508) (@​jeddy3).
  • Changed: globbyOptions to support only a subset of options (#​9500) (@​jeddy3).
  • Changed: function-no-unknown to use the CSSTree Syntax Reference for known functions and to ignore vendor-prefixed functions (#​9574) (@​jeddy3).
  • Changed: color detection to use new color option with node:util.styleText (#​9529) (@​jeddy3).
  • Changed: hyperlink detection (#​9536) (@​jeddy3).
  • Added: at-charset-rule-no-invalid rule (#​9509) (@​firefoxic).
  • Added: declaration-property-custom-property-allowed-list rule (#​9542) (@​jeddy3).
  • Added: value-no-invalid rule (#​9507) (@​jeddy3).
  • Added: value-type-custom-property-required-list experimental rule (#​9572) (@​jeddy3).
  • Added: stable support for processors configuration property (#​9543) (@​jeddy3).
  • Added: stable support for referenceFiles configuration property (#​9598) (@​jeddy3).
  • Added: result.stylelint.postcss property for plugins (#​9594) (@​jeddy3).
  • Added: stylelint.version property (#​9595) (@​ybiquitous).
  • Added: languageOptions.syntax support to function-no-unknown (#​9574) (@​jeddy3).
  • Fixed: referenceFiles performance (#​9573) (@​jeddy3).
  • Fixed: import and cache performance by replacing file-entry-cache (#​9593) (@​jeddy3).
  • Fixed: import performance by lazily loading css-tree (#​9580) (@​jeddy3).
  • Fixed: exit code when all errors in a file are suppressed and other problems are reported (#​9528) (@​schreibse).
  • Fixed: --fix for files where the only change is the removal of a byte order mark (#​9512) (@​firefoxic).
  • Fixed: Config['extends'] type for configuration objects (#​9526) (@​firefoxic).
  • Fixed: at-rule-descriptor-value-no-unknown false negatives for var() (#​9614) (@​jeddy3).
  • Fixed: custom-property-{pattern,no-missing-var-function} and *-no-unknown false positives and negatives for @property with a list of names (#​9571) (@​jeddy3).
  • Fixed: custom-property-no-missing-var-function false negatives for custom properties defined in referenceFiles (#​9570) (@​jeddy3).
  • Fixed: custom-property-no-missing-var-function false positives for recently introduced properties (#​9567) (@​jeddy3).
  • Fixed: declaration-block-no-redundant-longhand-properties and declaration-block-no-shorthand-property-overrides false negatives for contain-intrinsic-size (#​9550) (@​firefoxic).
  • Fixed: declaration-block-no-shorthand-property-overrides false negatives for flow-relative properties overridden by physical shorthands (#​9549) (@​firefoxic).
  • Fixed: declaration-property-value-no-unknown false negatives for values containing known custom properties (#​9537) (@​jeddy3).
  • Fixed: declaration-property-value-no-unknown false negatives for values containing registered custom properties (#​9566) (@​jeddy3).
  • Fixed: declaration-property-value-no-unknown false positives and negatives for files included in a referenceFiles bundle (#​9358) (@​romainmenke).
  • Fixed: property-layout-mappings false negatives for physical shorthand properties (#​9615) (@​jeddy3).
stylelint-scss/stylelint-config-standard-scss (stylelint-config-standard-scss)

v18.0.0

Compare Source


Configuration

📅 Schedule: (UTC)

  • 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 these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [stylelint](https://stylelint.io) ([source](https://github.com/stylelint/stylelint)) | [`^17.0.0` → `^18.0.0`](https://renovatebot.com/diffs/npm/stylelint/17.16.0/18.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/stylelint/18.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stylelint/17.16.0/18.0.0?slim=true) | | [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) | [`^17.0.0` → `^18.0.0`](https://renovatebot.com/diffs/npm/stylelint-config-standard-scss/17.0.0/18.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/stylelint-config-standard-scss/18.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stylelint-config-standard-scss/17.0.0/18.0.0?slim=true) | --- ### Release Notes <details> <summary>stylelint/stylelint (stylelint)</summary> ### [`v18.0.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1800---2026-11-03) [Compare Source](https://github.com/stylelint/stylelint/compare/17.16.0...18.0.0) It contains 13 breaking changes, which we've detailed in the [migrating to `18.0.0` guide](docs/migration-guide/to-18.md). It also adds 4 new rules and fixes 16 bugs. - Removed: support for end-of-life and older versions of Node.js ([#&#8203;9486](https://github.com/stylelint/stylelint/pull/9486)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Removed: support for CommonJS-style filename-less and extension-less locator paths ([#&#8203;9545](https://github.com/stylelint/stylelint/pull/9545)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Removed: resolution of packages from the global `node_modules` directory ([#&#8203;9534](https://github.com/stylelint/stylelint/pull/9534)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Removed: `context.fix` property ([#&#8203;9505](https://github.com/stylelint/stylelint/pull/9505)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Removed: `declaration-block-single-line-max-declarations` rule ([#&#8203;9565](https://github.com/stylelint/stylelint/pull/9565)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Removed: `*syntax` options from `declaration-property-value-no-unknown` ([#&#8203;9487](https://github.com/stylelint/stylelint/pull/9487)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Removed: `ignoreSelectors` option from `selector-max-specificity` ([#&#8203;9579](https://github.com/stylelint/stylelint/pull/9579)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Changed: TypeScript config files to be loaded by Node.js's built-in type stripping ([#&#8203;9489](https://github.com/stylelint/stylelint/pull/9489)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Changed: the CLI to parse arguments with `node:util.parseArgs` ([#&#8203;9508](https://github.com/stylelint/stylelint/pull/9508)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Changed: `globbyOptions` to support only a subset of options ([#&#8203;9500](https://github.com/stylelint/stylelint/pull/9500)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Changed: `function-no-unknown` to use the CSSTree Syntax Reference for known functions and to ignore vendor-prefixed functions ([#&#8203;9574](https://github.com/stylelint/stylelint/pull/9574)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Changed: color detection to use new `color` option with `node:util.styleText` ([#&#8203;9529](https://github.com/stylelint/stylelint/pull/9529)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Changed: hyperlink detection ([#&#8203;9536](https://github.com/stylelint/stylelint/pull/9536)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Added: `at-charset-rule-no-invalid` rule ([#&#8203;9509](https://github.com/stylelint/stylelint/pull/9509)) ([@&#8203;firefoxic](https://github.com/firefoxic)). - Added: `declaration-property-custom-property-allowed-list` rule ([#&#8203;9542](https://github.com/stylelint/stylelint/pull/9542)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Added: `value-no-invalid` rule ([#&#8203;9507](https://github.com/stylelint/stylelint/pull/9507)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Added: `value-type-custom-property-required-list` experimental rule ([#&#8203;9572](https://github.com/stylelint/stylelint/pull/9572)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Added: stable support for `processors` configuration property ([#&#8203;9543](https://github.com/stylelint/stylelint/pull/9543)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Added: stable support for `referenceFiles` configuration property ([#&#8203;9598](https://github.com/stylelint/stylelint/pull/9598)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Added: `result.stylelint.postcss` property for plugins ([#&#8203;9594](https://github.com/stylelint/stylelint/pull/9594)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Added: `stylelint.version` property ([#&#8203;9595](https://github.com/stylelint/stylelint/pull/9595)) ([@&#8203;ybiquitous](https://github.com/ybiquitous)). - Added: `languageOptions.syntax` support to `function-no-unknown` ([#&#8203;9574](https://github.com/stylelint/stylelint/pull/9574)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: `referenceFiles` performance ([#&#8203;9573](https://github.com/stylelint/stylelint/pull/9573)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: import and cache performance by replacing `file-entry-cache` ([#&#8203;9593](https://github.com/stylelint/stylelint/pull/9593)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: import performance by lazily loading `css-tree` ([#&#8203;9580](https://github.com/stylelint/stylelint/pull/9580)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: exit code when all errors in a file are suppressed and other problems are reported ([#&#8203;9528](https://github.com/stylelint/stylelint/pull/9528)) ([@&#8203;schreibse](https://github.com/schreibse)). - Fixed: `--fix` for files where the only change is the removal of a byte order mark ([#&#8203;9512](https://github.com/stylelint/stylelint/pull/9512)) ([@&#8203;firefoxic](https://github.com/firefoxic)). - Fixed: `Config['extends']` type for configuration objects ([#&#8203;9526](https://github.com/stylelint/stylelint/pull/9526)) ([@&#8203;firefoxic](https://github.com/firefoxic)). - Fixed: `at-rule-descriptor-value-no-unknown` false negatives for `var()` ([#&#8203;9614](https://github.com/stylelint/stylelint/pull/9614)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: `custom-property-{pattern,no-missing-var-function}` and `*-no-unknown` false positives and negatives for `@property` with a list of names ([#&#8203;9571](https://github.com/stylelint/stylelint/pull/9571)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: `custom-property-no-missing-var-function` false negatives for custom properties defined in `referenceFiles` ([#&#8203;9570](https://github.com/stylelint/stylelint/pull/9570)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: `custom-property-no-missing-var-function` false positives for recently introduced properties ([#&#8203;9567](https://github.com/stylelint/stylelint/pull/9567)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: `declaration-block-no-redundant-longhand-properties` and `declaration-block-no-shorthand-property-overrides` false negatives for `contain-intrinsic-size` ([#&#8203;9550](https://github.com/stylelint/stylelint/pull/9550)) ([@&#8203;firefoxic](https://github.com/firefoxic)). - Fixed: `declaration-block-no-shorthand-property-overrides` false negatives for flow-relative properties overridden by physical shorthands ([#&#8203;9549](https://github.com/stylelint/stylelint/pull/9549)) ([@&#8203;firefoxic](https://github.com/firefoxic)). - Fixed: `declaration-property-value-no-unknown` false negatives for values containing known custom properties ([#&#8203;9537](https://github.com/stylelint/stylelint/pull/9537)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: `declaration-property-value-no-unknown` false negatives for values containing registered custom properties ([#&#8203;9566](https://github.com/stylelint/stylelint/pull/9566)) ([@&#8203;jeddy3](https://github.com/jeddy3)). - Fixed: `declaration-property-value-no-unknown` false positives and negatives for files included in a `referenceFiles` bundle ([#&#8203;9358](https://github.com/stylelint/stylelint/pull/9358)) ([@&#8203;romainmenke](https://github.com/romainmenke)). - Fixed: `property-layout-mappings` false negatives for physical shorthand properties ([#&#8203;9615](https://github.com/stylelint/stylelint/pull/9615)) ([@&#8203;jeddy3](https://github.com/jeddy3)). </details> <details> <summary>stylelint-scss/stylelint-config-standard-scss (stylelint-config-standard-scss)</summary> ### [`v18.0.0`](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/HEAD/CHANGELOG.md#1800) [Compare Source](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v17.0.0...v18.0.0) - Removed: `stylelint` less than `18.0.0` from peer dependencies. - Removed: support for end-of-life and older versions of Node.js. - Changed: updated to [`stylelint-config-recommended-scss@18.0.0`](https://github.com/stylelint-scss/stylelint-config-recommended-scss/releases/tag/v18.0.0). - Changed: updated to [`stylelint-config-standard@41.0.0`](https://github.com/stylelint/stylelint-config-standard/releases/tag/41.0.0). </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yMjQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjIyNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
chore(deps): update stylelint to v18
Some checks failed
pr / assets (pull_request) Successful in 9s
pr / lint (pull_request) Successful in 9s
pr / check (pull_request) Has been cancelled
pr / test (pull_request) Has been cancelled
pr / image (pull_request) Has been cancelled
30e7bdeb0e
renovate-bot bot force-pushed renovate/master-major-stylelint from 30e7bdeb0e
Some checks failed
pr / assets (pull_request) Successful in 9s
pr / lint (pull_request) Successful in 9s
pr / check (pull_request) Has been cancelled
pr / test (pull_request) Has been cancelled
pr / image (pull_request) Has been cancelled
to 8e366d5f1b
All checks were successful
pr / lint (pull_request) Successful in 13s
pr / assets (pull_request) Successful in 13s
pr / test (pull_request) Successful in 1m16s
pr / check (pull_request) Successful in 4m49s
pr / image (pull_request) Successful in 5m16s
2026-11-12 19:03:58 +01:00
Compare
omp-deck approved these changes 2026-11-12 19:05:38 +01:00
omp-deck left a comment

Dependency bump only (package.json + bun.lock); no source or config changes. Checked against this repo's actual usage and it holds up:

  • .stylelintrc.json is a bare {"extends": "stylelint-config-standard-scss"} — none of the 18.0.0 removals apply (no context.fix plugins, no declaration-block-single-line-max-declarations / selector-max-specificity / declaration-property-value-no-unknown options, no globbyOptions, no TS config file, no global node_modules resolution). The CLI invocation in justfile and .forgejo/workflows/pr.yaml is a single positional glob, so the node:util.parseArgs switch is a non-event.
  • Lockfile is internally consistent: stylelint-config-standard-scss@18 → stylelint-config-standard@41 + stylelint-config-recommended-scss@18 → stylelint-config-recommended@19, all peering on stylelint@^18; stylelint-scss 7.4.0 → 7.5.0. css-functions-list and file-entry-cache drop out, matching the upstream changelog.
  • CI lint is green on 30e7bde, so stylelint@18 with stylelint-config-standard 41's new/changed rules passes assets/scss/main.scss as it stands — that was the only real risk here.

One thing to sort out before merging: check, test and image are red, but not because of this change — all three were killed by the runner (context canceled while setup-rust-toolchain was downloading). They need a re-run.

Dependency bump only (`package.json` + `bun.lock`); no source or config changes. Checked against this repo's actual usage and it holds up: - `.stylelintrc.json` is a bare `{"extends": "stylelint-config-standard-scss"}` — none of the 18.0.0 removals apply (no `context.fix` plugins, no `declaration-block-single-line-max-declarations` / `selector-max-specificity` / `declaration-property-value-no-unknown` options, no `globbyOptions`, no TS config file, no global `node_modules` resolution). The CLI invocation in `justfile` and `.forgejo/workflows/pr.yaml` is a single positional glob, so the `node:util.parseArgs` switch is a non-event. - Lockfile is internally consistent: `stylelint-config-standard-scss@18` → `stylelint-config-standard@41` + `stylelint-config-recommended-scss@18` → `stylelint-config-recommended@19`, all peering on `stylelint@^18`; `stylelint-scss` 7.4.0 → 7.5.0. `css-functions-list` and `file-entry-cache` drop out, matching the upstream changelog. - CI `lint` is green on 30e7bde, so `stylelint@18` with `stylelint-config-standard` 41's new/changed rules passes `assets/scss/main.scss` as it stands — that was the only real risk here. One thing to sort out before merging: `check`, `test` and `image` are red, but not because of this change — all three were killed by the runner (`context canceled` while `setup-rust-toolchain` was downloading). They need a re-run.
@ -9,3 +9,2 @@
"@biomejs/biome": "^2.6.6",
"stylelint": "^17.0.0",
"stylelint-config-standard-scss": "^17.0.0"
"stylelint": "^18.0.0",
Collaborator

Non-blocking, worth knowing: stylelint 18 declares engines.node: "^22.22.2 || ^24.15.0 || >=26.0.0", a noticeably tighter floor than 17. CI is fine (the lint job ran it successfully), but just lint / just check run the same node_modules/.bin/stylelint shebang against whatever node is on a developer's PATH — bun installs the package, it does not provide the runtime for it. docs/development.md lists Rust, just, bun, cargo-watch and watchexec as prerequisites but never node, which was harmless while the floor was low. If someone hits a confusing failure after this lands, that's where the fix belongs.

Non-blocking, worth knowing: stylelint 18 declares `engines.node: "^22.22.2 || ^24.15.0 || >=26.0.0"`, a noticeably tighter floor than 17. CI is fine (the `lint` job ran it successfully), but `just lint` / `just check` run the same `node_modules/.bin/stylelint` shebang against whatever `node` is on a developer's PATH — bun installs the package, it does not provide the runtime for it. `docs/development.md` lists Rust, just, bun, cargo-watch and watchexec as prerequisites but never node, which was harmless while the floor was low. If someone hits a confusing failure after this lands, that's where the fix belongs.
omp-deck left a comment

8e366d5 is a rebase onto the new master — the tree is byte-identical to 30e7bde (+0 −0 between the two heads), so my approval stands unchanged.

It does clear the one caveat I raised: all five checks are green on 8e366d5 (assets, lint, check, test, image), so the earlier red was the runner cancellation and nothing else. Nothing left blocking from my side.

8e366d5 is a rebase onto the new master — the tree is byte-identical to 30e7bde (`+0 −0` between the two heads), so my approval stands unchanged. It does clear the one caveat I raised: all five checks are green on 8e366d5 (`assets`, `lint`, `check`, `test`, `image`), so the earlier red was the runner cancellation and nothing else. Nothing left blocking from my side.
lucas merged commit 8283821a00 into master 2026-11-13 09:45:40 +01:00
lucas deleted branch renovate/master-major-stylelint 2026-11-13 09:45:40 +01:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
lucas/logview!44
No description provided.