GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Fix `Config['extends']` type for configuration objects by firefoxic · Pull Request #9526 · stylelint/stylelint

Conversation

@firefoxic

@firefoxic firefoxic commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

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

Closes #9525.

Is there anything in the PR that needs further explanation?

The runtime already accepts a configuration object in extends (#6998); only the type, the type test and the docs are changed.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@firefoxic
Fix Config type to accept configuration objects in extends
3247df6
Stylelint has accepted a configuration object as an item of `extends`
since stylelint#6998, but the `ConfigExtends` type stayed `string | string[]`,
so a JavaScript configuration typed with `Config` could not extend an
object without a cast, and the docs listed only "locaters". The type
now admits `Config` objects beside strings, the type test extends one,
and the `extends` section shows the object form.
@changeset-bot

changeset-bot Bot commented Sep 23, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: dde2c14

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jeddy3
Merge branch 'v18' into type-extends-config-objects
3322670
jeddy3
jeddy3 requested changes Sep 30, 2026
View reviewed changes

@jeddy3 jeddy3 left a comment

Copy link
Copy Markdown
Member

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.

Thanks for the PR.

I've requested some minor doc changes to keep things consistent and concise.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/user-guide/configure.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread docs/user-guide/configure.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread .changeset/extends-config-objects.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

@jeddy3 jeddy3 changed the title Fix Config type to accept configuration objects in extends Fix Config['extends'] type for configuration objects Sep 30, 2026
firefoxic and others added 4 commits September 30, 2026 14:52
@firefoxic @jeddy3
Update docs/user-guide/configure.md
3260820
Co-authored-by: Richard Hallows <[email protected]>
@firefoxic @jeddy3
Update docs/user-guide/configure.md
c171fe0
Co-authored-by: Richard Hallows <[email protected]>
@firefoxic @jeddy3
Update .changeset/extends-config-objects.md
95727a2
Co-authored-by: Richard Hallows <[email protected]>
@firefoxic
Merge branch 'v18' into type-extends-config-objects
93e8ad2
@ybiquitous ybiquitous linked an issue Oct 8, 2026 that may be closed by this pull request
Fix Config type to accept configuration objects in extends #9525
Closed
ybiquitous
ybiquitous reviewed Oct 8, 2026
View reviewed changes

@ybiquitous ybiquitous left a comment

Copy link
Copy Markdown
Member

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.

Thanks, almost LGTM. Can you resolve conflicts?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@firefoxic
Merge branch 'v18' into type-extends-config-objects
a91c09e
firefoxic
firefoxic commented Oct 8, 2026
View reviewed changes
Comment thread docs/user-guide/configure.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

@firefoxic
Revert unnecessary changes
dde2c14
ybiquitous
ybiquitous approved these changes Oct 8, 2026
View reviewed changes

@ybiquitous ybiquitous left a comment

Copy link
Copy Markdown
Member

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.

Thanks, LGTM 👍

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

firefoxic reacted with heart emoji
All reactions
  • ❤️ 1 reaction
jeddy3
jeddy3 approved these changes Oct 8, 2026
View reviewed changes

@jeddy3 jeddy3 left a comment

Copy link
Copy Markdown
Member

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, too. Thank you.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

firefoxic reacted with heart emoji
All reactions
  • ❤️ 1 reaction
@jeddy3
jeddy3 merged commit d8a3024 into stylelint:v18 Oct 8, 2026
15 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@firefoxic
firefoxic deleted the type-extends-config-objects branch October 8, 2026 10:29
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 7, 2026
@renovate
Update dependency stylelint to v18
69ca317
| datasource | package   | from    | to     |
| ---------- | --------- | ------- | ------ |
| npm        | stylelint | 17.16.0 | 18.0.0 |


## [v18.0.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1800---2026-11-03)

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 ([#9486](stylelint/stylelint#9486)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: support for CommonJS-style filename-less and extension-less locator paths ([#9545](stylelint/stylelint#9545)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: resolution of packages from the global `node_modules` directory ([#9534](stylelint/stylelint#9534)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `context.fix` property ([#9505](stylelint/stylelint#9505)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `declaration-block-single-line-max-declarations` rule ([#9565](stylelint/stylelint#9565)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `*syntax` options from `declaration-property-value-no-unknown` ([#9487](stylelint/stylelint#9487)) ([@jeddy3](https://github.com/jeddy3)).
- Removed: `ignoreSelectors` option from `selector-max-specificity` ([#9579](stylelint/stylelint#9579)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: TypeScript config files to be loaded by Node.js's built-in type stripping ([#9489](stylelint/stylelint#9489)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: the CLI to parse arguments with `node:util.parseArgs` ([#9508](stylelint/stylelint#9508)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `globbyOptions` to support only a subset of options ([#9500](stylelint/stylelint#9500)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: `function-no-unknown` to use the CSSTree Syntax Reference for known functions and to ignore vendor-prefixed functions ([#9574](stylelint/stylelint#9574)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: color detection to use new `color` option with `node:util.styleText` ([#9529](stylelint/stylelint#9529)) ([@jeddy3](https://github.com/jeddy3)).
- Changed: hyperlink detection ([#9536](stylelint/stylelint#9536)) ([@jeddy3](https://github.com/jeddy3)).
- Added: `at-charset-rule-no-invalid` rule ([#9509](stylelint/stylelint#9509)) ([@firefoxic](https://github.com/firefoxic)).
- Added: `declaration-property-custom-property-allowed-list` rule ([#9542](stylelint/stylelint#9542)) ([@jeddy3](https://github.com/jeddy3)).
- Added: `value-no-invalid` rule ([#9507](stylelint/stylelint#9507)) ([@jeddy3](https://github.com/jeddy3)).
- Added: `value-type-custom-property-required-list` experimental rule ([#9572](stylelint/stylelint#9572)) ([@jeddy3](https://github.com/jeddy3)).
- Added: stable support for `processors` configuration property ([#9543](stylelint/stylelint#9543)) ([@jeddy3](https://github.com/jeddy3)).
- Added: stable support for `referenceFiles` configuration property ([#9598](stylelint/stylelint#9598)) ([@jeddy3](https://github.com/jeddy3)).
- Added: `result.stylelint.postcss` property for plugins ([#9594](stylelint/stylelint#9594)) ([@jeddy3](https://github.com/jeddy3)).
- Added: `stylelint.version` property ([#9595](stylelint/stylelint#9595)) ([@ybiquitous](https://github.com/ybiquitous)).
- Added: `languageOptions.syntax` support to `function-no-unknown` ([#9574](stylelint/stylelint#9574)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: `referenceFiles` performance ([#9573](stylelint/stylelint#9573)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: import and cache performance by replacing `file-entry-cache` ([#9593](stylelint/stylelint#9593)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: import performance by lazily loading `css-tree` ([#9580](stylelint/stylelint#9580)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: exit code when all errors in a file are suppressed and other problems are reported ([#9528](stylelint/stylelint#9528)) ([@schreibse](https://github.com/schreibse)).
- Fixed: `--fix` for files where the only change is the removal of a byte order mark ([#9512](stylelint/stylelint#9512)) ([@firefoxic](https://github.com/firefoxic)).
- Fixed: `Config['extends']` type for configuration objects ([#9526](stylelint/stylelint#9526)) ([@firefoxic](https://github.com/firefoxic)).
- Fixed: `at-rule-descriptor-value-no-unknown` false negatives for `var()` ([#9614](stylelint/stylelint#9614)) ([@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 ([#9571](stylelint/stylelint#9571)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: `custom-property-no-missing-var-function` false negatives for custom properties defined in `referenceFiles` ([#9570](stylelint/stylelint#9570)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: `custom-property-no-missing-var-function` false positives for recently introduced properties ([#9567](stylelint/stylelint#9567)) ([@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` ([#9550](stylelint/stylelint#9550)) ([@firefoxic](https://github.com/firefoxic)).
- Fixed: `declaration-block-no-shorthand-property-overrides` false negatives for flow-relative properties overridden by physical shorthands ([#9549](stylelint/stylelint#9549)) ([@firefoxic](https://github.com/firefoxic)).
- Fixed: `declaration-property-value-no-unknown` false negatives for values containing known custom properties ([#9537](stylelint/stylelint#9537)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: `declaration-property-value-no-unknown` false negatives for values containing registered custom properties ([#9566](stylelint/stylelint#9566)) ([@jeddy3](https://github.com/jeddy3)).
- Fixed: `declaration-property-value-no-unknown` false positives and negatives for files included in a `referenceFiles` bundle ([#9358](stylelint/stylelint#9358)) ([@romainmenke](https://github.com/romainmenke)).
- Fixed: `property-layout-mappings` false negatives for physical shorthand properties ([#9615](stylelint/stylelint#9615)) ([@jeddy3](https://github.com/jeddy3)).
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 8, 2026
@renovate
Update dependency stylelint to v18
8fbeb36
| datasource | package   | from    | to     |
| ---------- | --------- | ------- | ------ |
| npm        | stylelint | 17.16.0 | 18.0.0 |


## [v18.0.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1800---2026-11-03)

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

Reviewers

@ybiquitous ybiquitous ybiquitous approved these changes
@jeddy3 jeddy3 jeddy3 approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Fix Config type to accept configuration objects in extends

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@firefoxic @ybiquitous @jeddy3
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.