Add support for customSyntax with function export#8834
Add support for customSyntax with function export#8834jeddy3 merged 9 commits intostylelint:mainfrom
customSyntax with function export#8834Conversation
🦋 Changeset detectedLatest commit: 5b90cc0 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 |
There was a problem hiding this comment.
We could update the docs here:
https://github.com/stylelint/stylelint/blob/main/docs/user-guide/options.md?plain=1#L93
Or maybe updating the PostCSS docs would be better? 🤔
https://postcss.org/docs/how-to-write-custom-syntax#syntax
|
I think essentially |
|
I am unsure of we should update the documentation and error message. I think it would be fine to only change this line: if (typeof customSyntax === 'object' || typeof customSyntax === 'function') {Then Stylelint is a bit more graceful in what it accepts but without promoting further proliferation of this pattern that goes outside the documented PostCSS API. |
|
Okay, changeset is minimal now, just the |
|
BTW I guess the reason why it worked when passing |
|
This PR is packaged and the instant preview is available (5b90cc0). View the demo website. Install it locally: npm i -D https://pkg.pr.new/stylelint@5b90cc0 |
|
@silverwind |
|
Done, sorry I forgot this repo had generated files checked into source control. |
customSyntax with function exportcustomSyntax with function export
| datasource | package | from | to | | ---------- | --------- | ------- | ------- | | npm | stylelint | 16.25.0 | 16.26.0 | ## [v16.26.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16260---2025-11-21) It adds 1 feature and fixes 2 bugs. - Added: support for `customSyntax` with function export ([#8834](stylelint/stylelint#8834)) ([@silverwind](https://github.com/silverwind)). - Fixed: `custom-property-no-missing-var-function` false positives for style query in `if()` function ([#8813](stylelint/stylelint#8813)) ([@sajdakabir](https://github.com/sajdakabir)). - Fixed: `media-feature-range-notation` false positives for multiple queries and `except: exact-value` ([#8832](stylelint/stylelint#8832)) ([@jeddy3](https://github.com/jeddy3)).
| datasource | package | from | to | | ---------- | --------- | ------- | ------- | | npm | stylelint | 16.25.0 | 16.26.0 | ## [v16.26.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16260---2025-11-21) It adds 1 feature and fixes 2 bugs. - Added: support for `customSyntax` with function export ([#8834](stylelint/stylelint#8834)) ([@silverwind](https://github.com/silverwind)). - Fixed: `custom-property-no-missing-var-function` false positives for style query in `if()` function ([#8813](stylelint/stylelint#8813)) ([@sajdakabir](https://github.com/sajdakabir)). - Fixed: `media-feature-range-notation` false positives for multiple queries and `except: exact-value` ([#8832](stylelint/stylelint#8832)) ([@jeddy3](https://github.com/jeddy3)).
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`9.34.0` -> `9.39.2`](https://renovatebot.com/diffs/npm/eslint/9.34.0/9.39.2) | | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.6.2` -> `3.7.4`](https://renovatebot.com/diffs/npm/prettier/3.6.2/3.7.4) | | [stylelint](https://stylelint.io) ([source](https://github.com/stylelint/stylelint)) | devDependencies | minor | [`16.23.1` -> `16.26.1`](https://renovatebot.com/diffs/npm/stylelint/16.23.1/16.26.1) | --- ### Release Notes <details> <summary>eslint/eslint (eslint)</summary> ### [`v9.39.2`](https://github.com/eslint/eslint/releases/tag/v9.39.2) [Compare Source](eslint/eslint@v9.39.1...v9.39.2) #### Bug Fixes - [`5705833`](eslint/eslint@5705833) fix: warn when `eslint-env` configuration comments are found ([#​20381](eslint/eslint#20381)) (sethamus) #### Build Related - [`506f154`](eslint/eslint@506f154) build: add .scss files entry to knip ([#​20391](eslint/eslint#20391)) (Milos Djermanovic) #### Chores - [`7ca0af7`](eslint/eslint@7ca0af7) chore: upgrade to `@eslint/[email protected]` ([#​20394](eslint/eslint#20394)) (Francesco Trotta) - [`c43ce24`](eslint/eslint@c43ce24) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`4c9858e`](eslint/eslint@4c9858e) ci: add `v9.x-dev` branch ([#​20382](eslint/eslint#20382)) (Milos Djermanovic) ### [`v9.39.1`](https://github.com/eslint/eslint/releases/tag/v9.39.1) [Compare Source](eslint/eslint@v9.39.0...v9.39.1) #### Bug Fixes - [`650753e`](eslint/eslint@650753e) fix: Only pass node to JS lang visitor methods ([#​20283](eslint/eslint#20283)) (Nicholas C. Zakas) #### Documentation - [`51b51f4`](eslint/eslint@51b51f4) docs: add a section on when to use extends vs cascading ([#​20268](eslint/eslint#20268)) (Tanuj Kanti) - [`b44d426`](eslint/eslint@b44d426) docs: Update README (GitHub Actions Bot) #### Chores - [`92db329`](eslint/eslint@92db329) chore: update `@eslint/js` version to 9.39.1 ([#​20284](eslint/eslint#20284)) (Francesco Trotta) - [`c7ebefc`](eslint/eslint@c7ebefc) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`61778f6`](eslint/eslint@61778f6) chore: update eslint-config-eslint dependency [@​eslint/js](https://github.com/eslint/js) to ^9.39.0 ([#​20275](eslint/eslint#20275)) (renovate\[bot]) - [`d9ca2fc`](eslint/eslint@d9ca2fc) ci: Add rangeStrategy to eslint group in renovate config ([#​20266](eslint/eslint#20266)) (唯然) - [`009e507`](eslint/eslint@009e507) test: fix version tests for ESLint v10 ([#​20274](eslint/eslint#20274)) (Milos Djermanovic) ### [`v9.39.0`](https://github.com/eslint/eslint/releases/tag/v9.39.0) [Compare Source](eslint/eslint@v9.38.0...v9.39.0) #### Features - [`cc57d87`](eslint/eslint@cc57d87) feat: update error loc to key in `no-dupe-class-members` ([#​20259](eslint/eslint#20259)) (Tanuj Kanti) - [`126552f`](eslint/eslint@126552f) feat: update error location in `for-direction` and `no-dupe-args` ([#​20258](eslint/eslint#20258)) (Tanuj Kanti) - [`167d097`](eslint/eslint@167d097) feat: update `complexity` rule to highlight only static block header ([#​20245](eslint/eslint#20245)) (jaymarvelz) #### Bug Fixes - [`15f5c7c`](eslint/eslint@15f5c7c) fix: forward traversal `step.args` to visitors ([#​20253](eslint/eslint#20253)) (jaymarvelz) - [`5a1a534`](eslint/eslint@5a1a534) fix: allow JSDoc comments in object-shorthand rule ([#​20167](eslint/eslint#20167)) (Nitin Kumar) - [`e86b813`](eslint/eslint@e86b813) fix: Use more types from [@​eslint/core](https://github.com/eslint/core) ([#​20257](eslint/eslint#20257)) (Nicholas C. Zakas) - [`927272d`](eslint/eslint@927272d) fix: correct `Scope` typings ([#​20198](eslint/eslint#20198)) (jaymarvelz) - [`37f76d9`](eslint/eslint@37f76d9) fix: use `AST.Program` type for Program node ([#​20244](eslint/eslint#20244)) (Francesco Trotta) - [`ae07f0b`](eslint/eslint@ae07f0b) fix: unify timing report for concurrent linting ([#​20188](eslint/eslint#20188)) (jaymarvelz) - [`b165d47`](eslint/eslint@b165d47) fix: correct `Rule` typings ([#​20199](eslint/eslint#20199)) (jaymarvelz) - [`fb97cda`](eslint/eslint@fb97cda) fix: improve error message for missing fix function in suggestions ([#​20218](eslint/eslint#20218)) (jaymarvelz) #### Documentation - [`d3e81e3`](eslint/eslint@d3e81e3) docs: Always recommend to include a files property ([#​20158](eslint/eslint#20158)) (Percy Ma) - [`0f0385f`](eslint/eslint@0f0385f) docs: use consistent naming recommendation ([#​20250](eslint/eslint#20250)) (Alex M. Spieslechner) - [`a3b1456`](eslint/eslint@a3b1456) docs: Update README (GitHub Actions Bot) - [`cf5f2dd`](eslint/eslint@cf5f2dd) docs: fix correct tag of `no-useless-constructor` ([#​20255](eslint/eslint#20255)) (Tanuj Kanti) - [`10b995c`](eslint/eslint@10b995c) docs: add TS options and examples for `nofunc` in `no-use-before-define` ([#​20249](eslint/eslint#20249)) (Tanuj Kanti) - [`2584187`](eslint/eslint@2584187) docs: remove repetitive word in comment ([#​20242](eslint/eslint#20242)) (reddaisyy) - [`637216b`](eslint/eslint@637216b) docs: update CLI flags migration instructions ([#​20238](eslint/eslint#20238)) (jaymarvelz) - [`e7cda3b`](eslint/eslint@e7cda3b) docs: Update README (GitHub Actions Bot) - [`7b9446f`](eslint/eslint@7b9446f) docs: handle empty flags sections on the feature flags page ([#​20222](eslint/eslint#20222)) (sethamus) #### Chores - [`dfe3c1b`](eslint/eslint@dfe3c1b) chore: update `@eslint/js` version to 9.39.0 ([#​20270](eslint/eslint#20270)) (Francesco Trotta) - [`2375a6d`](eslint/eslint@2375a6d) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`a1f4e52`](eslint/eslint@a1f4e52) chore: update `@eslint` dependencies ([#​20265](eslint/eslint#20265)) (Francesco Trotta) - [`c7d3229`](eslint/eslint@c7d3229) chore: update dependency [@​eslint/core](https://github.com/eslint/core) to ^0.17.0 ([#​20256](eslint/eslint#20256)) (renovate\[bot]) - [`27549bc`](eslint/eslint@27549bc) chore: update fuzz testing to not error if code sample minimizer fails ([#​20252](eslint/eslint#20252)) (Milos Djermanovic) - [`a1370ee`](eslint/eslint@a1370ee) ci: bump actions/setup-node from 5 to 6 ([#​20230](eslint/eslint#20230)) (dependabot\[bot]) - [`9e7fad4`](eslint/eslint@9e7fad4) chore: add script to auto-generate eslint:recommended configuration ([#​20208](eslint/eslint#20208)) (唯然) ### [`v9.38.0`](https://github.com/eslint/eslint/releases/tag/v9.38.0) [Compare Source](eslint/eslint@v9.37.0...v9.38.0) #### Features - [`ce40f74`](eslint/eslint@ce40f74) feat: update `complexity` rule to only highlight function header ([#​20048](eslint/eslint#20048)) (Atul Nair) - [`e37e590`](eslint/eslint@e37e590) feat: correct `no-loss-of-precision` false positives with `e` notation ([#​20187](eslint/eslint#20187)) (Francesco Trotta) #### Bug Fixes - [`50c3dfd`](eslint/eslint@50c3dfd) fix: improve type support for isolated dependencies in pnpm ([#​20201](eslint/eslint#20201)) (Francesco Trotta) - [`a1f06a3`](eslint/eslint@a1f06a3) fix: correct SourceCode typings ([#​20114](eslint/eslint#20114)) (Pixel998) #### Documentation - [`462675a`](eslint/eslint@462675a) docs: improve web accessibility by hiding non-semantic character ([#​20205](eslint/eslint#20205)) (루밀LuMir) - [`c070e65`](eslint/eslint@c070e65) docs: correct formatting in `no-irregular-whitespace` rule documentation ([#​20203](eslint/eslint#20203)) (루밀LuMir) - [`b39e71a`](eslint/eslint@b39e71a) docs: Update README (GitHub Actions Bot) - [`cd39983`](eslint/eslint@cd39983) docs: move `custom-formatters` type descriptions to `nodejs-api` ([#​20190](eslint/eslint#20190)) (Percy Ma) #### Chores - [`d17c795`](eslint/eslint@d17c795) chore: upgrade [@​eslint/js](https://github.com/eslint/js)@​9.38.0 ([#​20221](eslint/eslint#20221)) (Milos Djermanovic) - [`25d0e33`](eslint/eslint@25d0e33) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`c82b5ef`](eslint/eslint@c82b5ef) refactor: Use types from [@​eslint/core](https://github.com/eslint/core) ([#​20168](eslint/eslint#20168)) (Nicholas C. Zakas) - [`ff31609`](eslint/eslint@ff31609) ci: add Node.js 25 to `ci.yml` ([#​20220](eslint/eslint#20220)) (루밀LuMir) - [`004577e`](eslint/eslint@004577e) ci: bump github/codeql-action from 3 to 4 ([#​20211](eslint/eslint#20211)) (dependabot\[bot]) - [`eac71fb`](eslint/eslint@eac71fb) test: remove use of `nodejsScope` option of eslint-scope from tests ([#​20206](eslint/eslint#20206)) (Milos Djermanovic) - [`4168a18`](eslint/eslint@4168a18) chore: fix typo in legacy-eslint.js ([#​20202](eslint/eslint#20202)) (Sweta Tanwar) - [`205dbd2`](eslint/eslint@205dbd2) chore: fix typos ([#​20200](eslint/eslint#20200)) (ntnyq) - [`dbb200e`](eslint/eslint@dbb200e) chore: use team member's username when name is not available in data ([#​20194](eslint/eslint#20194)) (Milos Djermanovic) - [`8962089`](eslint/eslint@8962089) chore: mark deprecated rules as available until v11.0.0 ([#​20184](eslint/eslint#20184)) (Pixel998) ### [`v9.37.0`](https://github.com/eslint/eslint/releases/tag/v9.37.0) [Compare Source](eslint/eslint@v9.36.0...v9.37.0) #### Features - [`39f7fb4`](eslint/eslint@39f7fb4) feat: `preserve-caught-error` should recognize all static "cause" keys ([#​20163](eslint/eslint#20163)) (Pixel998) - [`f81eabc`](eslint/eslint@f81eabc) feat: support TS syntax in `no-restricted-imports` ([#​19562](eslint/eslint#19562)) (Nitin Kumar) #### Bug Fixes - [`a129cce`](eslint/eslint@a129cce) fix: correct `no-loss-of-precision` false positives for leading zeros ([#​20164](eslint/eslint#20164)) (Francesco Trotta) - [`09e04fc`](eslint/eslint@09e04fc) fix: add missing AST token types ([#​20172](eslint/eslint#20172)) (Pixel998) - [`861c6da`](eslint/eslint@861c6da) fix: correct `ESLint` typings ([#​20122](eslint/eslint#20122)) (Pixel998) #### Documentation - [`b950359`](eslint/eslint@b950359) docs: fix typos across the docs ([#​20182](eslint/eslint#20182)) (루밀LuMir) - [`42498a2`](eslint/eslint@42498a2) docs: improve ToC accessibility by hiding non-semantic character ([#​20181](eslint/eslint#20181)) (Percy Ma) - [`29ea092`](eslint/eslint@29ea092) docs: Update README (GitHub Actions Bot) - [`5c97a04`](eslint/eslint@5c97a04) docs: show `availableUntil` in deprecated rule banner ([#​20170](eslint/eslint#20170)) (Pixel998) - [`90a71bf`](eslint/eslint@90a71bf) docs: update `README` files to add badge and instructions ([#​20115](eslint/eslint#20115)) (루밀LuMir) - [`1603ae1`](eslint/eslint@1603ae1) docs: update references from `master` to `main` ([#​20153](eslint/eslint#20153)) (루밀LuMir) #### Chores - [`afe8a13`](eslint/eslint@afe8a13) chore: update `@eslint/js` dependency to version 9.37.0 ([#​20183](eslint/eslint#20183)) (Francesco Trotta) - [`abee4ca`](eslint/eslint@abee4ca) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`fc9381f`](eslint/eslint@fc9381f) chore: fix typos in comments ([#​20175](eslint/eslint#20175)) (overlookmotel) - [`e1574a2`](eslint/eslint@e1574a2) chore: unpin jiti ([#​20173](eslint/eslint#20173)) (renovate\[bot]) - [`e1ac05e`](eslint/eslint@e1ac05e) refactor: mark `ESLint.findConfigFile()` as `async`, add missing docs ([#​20157](eslint/eslint#20157)) (Pixel998) - [`347906d`](eslint/eslint@347906d) chore: update eslint ([#​20149](eslint/eslint#20149)) (renovate\[bot]) - [`0cb5897`](eslint/eslint@0cb5897) test: remove tmp dir created for circular fixes in multithread mode test ([#​20146](eslint/eslint#20146)) (Milos Djermanovic) - [`bb99566`](eslint/eslint@bb99566) ci: pin `jiti` to version 2.5.1 ([#​20151](eslint/eslint#20151)) (Pixel998) - [`177f669`](eslint/eslint@177f669) perf: improve worker count calculation for `"auto"` concurrency ([#​20067](eslint/eslint#20067)) (Francesco Trotta) - [`448b57b`](eslint/eslint@448b57b) chore: Mark deprecated formatting rules as available until v11.0.0 ([#​20144](eslint/eslint#20144)) (Milos Djermanovic) ### [`v9.36.0`](https://github.com/eslint/eslint/releases/tag/v9.36.0) [Compare Source](eslint/eslint@v9.35.0...v9.36.0) #### Features - [`47afcf6`](eslint/eslint@47afcf6) feat: correct `preserve-caught-error` edge cases ([#​20109](eslint/eslint#20109)) (Francesco Trotta) #### Bug Fixes - [`75b74d8`](eslint/eslint@75b74d8) fix: add missing rule option types ([#​20127](eslint/eslint#20127)) (ntnyq) - [`1c0d850`](eslint/eslint@1c0d850) fix: update `eslint-all.js` to use `Object.freeze` for `rules` object ([#​20116](eslint/eslint#20116)) (루밀LuMir) - [`7d61b7f`](eslint/eslint@7d61b7f) fix: add missing scope types to `Scope.type` ([#​20110](eslint/eslint#20110)) (Pixel998) - [`7a670c3`](eslint/eslint@7a670c3) fix: correct rule option typings in `rules.d.ts` ([#​20084](eslint/eslint#20084)) (Pixel998) #### Documentation - [`b73ab12`](eslint/eslint@b73ab12) docs: update examples to use `defineConfig` ([#​20131](eslint/eslint#20131)) (sethamus) - [`31d9392`](eslint/eslint@31d9392) docs: fix typos ([#​20118](eslint/eslint#20118)) (Pixel998) - [`c7f861b`](eslint/eslint@c7f861b) docs: Update README (GitHub Actions Bot) - [`6b0c08b`](eslint/eslint@6b0c08b) docs: Update README (GitHub Actions Bot) - [`91f97c5`](eslint/eslint@91f97c5) docs: Update README (GitHub Actions Bot) #### Chores - [`12411e8`](eslint/eslint@12411e8) chore: upgrade [@​eslint/js](https://github.com/eslint/js)@​9.36.0 ([#​20139](eslint/eslint#20139)) (Milos Djermanovic) - [`488cba6`](eslint/eslint@488cba6) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`bac82a2`](eslint/eslint@bac82a2) ci: simplify renovate configuration ([#​19907](eslint/eslint#19907)) (唯然) - [`c00bb37`](eslint/eslint@c00bb37) ci: bump actions/labeler from 5 to 6 ([#​20090](eslint/eslint#20090)) (dependabot\[bot]) - [`fee751d`](eslint/eslint@fee751d) refactor: use `defaultOptions` in rules ([#​20121](eslint/eslint#20121)) (Pixel998) - [`1ace67d`](eslint/eslint@1ace67d) chore: update example to use `defineConfig` ([#​20111](eslint/eslint#20111)) (루밀LuMir) - [`4821963`](eslint/eslint@4821963) test: add missing loc information to error objects in rule tests ([#​20112](eslint/eslint#20112)) (루밀LuMir) - [`b42c42e`](eslint/eslint@b42c42e) chore: disallow use of deprecated `type` property in core rule tests ([#​20094](eslint/eslint#20094)) (Milos Djermanovic) - [`7bb498d`](eslint/eslint@7bb498d) test: remove deprecated `type` property from core rule tests ([#​20093](eslint/eslint#20093)) (Pixel998) - [`e10cf2a`](eslint/eslint@e10cf2a) ci: bump actions/setup-node from 4 to 5 ([#​20089](eslint/eslint#20089)) (dependabot\[bot]) - [`5cb0ce4`](eslint/eslint@5cb0ce4) refactor: use `meta.defaultOptions` in `preserve-caught-error` ([#​20080](eslint/eslint#20080)) (Pixel998) - [`f9f7cb5`](eslint/eslint@f9f7cb5) chore: package.json update for eslint-config-eslint release (Jenkins) - [`81764b2`](eslint/eslint@81764b2) chore: update `eslint` peer dependency in `eslint-config-eslint` ([#​20079](eslint/eslint#20079)) (Milos Djermanovic) ### [`v9.35.0`](https://github.com/eslint/eslint/releases/tag/v9.35.0) [Compare Source](eslint/eslint@v9.34.0...v9.35.0) #### Features - [`42761fa`](eslint/eslint@42761fa) feat: implement suggestions for no-empty-function ([#​20057](eslint/eslint#20057)) (jaymarvelz) - [`102f444`](eslint/eslint@102f444) feat: implement suggestions for no-empty-static-block ([#​20056](eslint/eslint#20056)) (jaymarvelz) - [`e51ffff`](eslint/eslint@e51ffff) feat: add `preserve-caught-error` rule ([#​19913](eslint/eslint#19913)) (Amnish Singh Arora) #### Bug Fixes - [`10e7ae2`](eslint/eslint@10e7ae2) fix: update uncloneable options error message ([#​20059](eslint/eslint#20059)) (soda-sorcery) - [`bfa4601`](eslint/eslint@bfa4601) fix: ignore empty switch statements with comments in no-empty rule ([#​20045](eslint/eslint#20045)) (jaymarvelz) - [`dfd11de`](eslint/eslint@dfd11de) fix: add `before` and `after` to test case types ([#​20049](eslint/eslint#20049)) (Francesco Trotta) - [`dabbe95`](eslint/eslint@dabbe95) fix: correct types for `no-restricted-imports` rule ([#​20034](eslint/eslint#20034)) (Milos Djermanovic) - [`ea789c7`](eslint/eslint@ea789c7) fix: no-loss-of-precision false positive with uppercase exponent ([#​20032](eslint/eslint#20032)) (sethamus) #### Documentation - [`d265515`](eslint/eslint@d265515) docs: improve phrasing - "if" → "even if" from getting-started section ([#​20074](eslint/eslint#20074)) (jjangga0214) - [`a355a0e`](eslint/eslint@a355a0e) docs: invert comparison logic for example in `no-var` doc page ([#​20064](eslint/eslint#20064)) (OTonGitHub) - [`5082fc2`](eslint/eslint@5082fc2) docs: Update README (GitHub Actions Bot) - [`99cfd7e`](eslint/eslint@99cfd7e) docs: add missing "the" in rule deprecation docs ([#​20050](eslint/eslint#20050)) (Josh Goldberg ✨) - [`6ad8973`](eslint/eslint@6ad8973) docs: update `--no-ignore` and `--ignore-pattern` documentation ([#​20036](eslint/eslint#20036)) (Francesco Trotta) - [`8033b19`](eslint/eslint@8033b19) docs: add documentation for `--no-config-lookup` ([#​20033](eslint/eslint#20033)) (Francesco Trotta) #### Chores - [`da87f2f`](eslint/eslint@da87f2f) chore: upgrade [@​eslint/js](https://github.com/eslint/js)@​9.35.0 ([#​20077](eslint/eslint#20077)) (Milos Djermanovic) - [`af2a087`](eslint/eslint@af2a087) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (Jenkins) - [`7055764`](eslint/eslint@7055764) test: remove `tests/lib/eslint/eslint.config.js` ([#​20065](eslint/eslint#20065)) (Milos Djermanovic) - [`84ffb96`](eslint/eslint@84ffb96) chore: update `@eslint-community/eslint-utils` ([#​20069](eslint/eslint#20069)) (Francesco Trotta) - [`d5ef939`](eslint/eslint@d5ef939) refactor: remove deprecated `context.parserOptions` usage across rules ([#​20060](eslint/eslint#20060)) (sethamus) - [`1b3881d`](eslint/eslint@1b3881d) chore: remove redundant word ([#​20058](eslint/eslint#20058)) (pxwanglu) </details> <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.7.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#374) [Compare Source](prettier/prettier@3.7.3...3.7.4) [diff](prettier/prettier@3.7.3...3.7.4) ##### LWC: Avoid quote around interpolations ([#​18383](prettier/prettier#18383) by [@​kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```html <!-- Input --> <div foo={bar}> </div> <!-- Prettier 3.7.3 (--embedded-language-formatting off) --> <div foo="{bar}"></div> <!-- Prettier 3.7.4 (--embedded-language-formatting off) --> <div foo={bar}></div> ``` ##### TypeScript: Fix comment inside union type gets duplicated ([#​18393](prettier/prettier#18393) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input type Foo = (/** comment */ a | b) | c; // Prettier 3.7.3 type Foo = /** comment */ (/** comment */ a | b) | c; // Prettier 3.7.4 type Foo = /** comment */ (a | b) | c; ``` ##### TypeScript: Fix unstable comment print in union type comments ([#​18395](prettier/prettier#18395) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input type X = (A | B) & ( // comment A | B ); // Prettier 3.7.3 (first format) type X = (A | B) & (// comment A | B); // Prettier 3.7.3 (second format) type X = ( | A | B // comment ) & (A | B); // Prettier 3.7.4 type X = (A | B) & // comment (A | B); ``` ### [`v3.7.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#373) [Compare Source](prettier/prettier@3.7.2...3.7.3) [diff](prettier/prettier@3.7.2...3.7.3) ##### API: Fix `prettier.getFileInfo()` change that breaks VSCode extension ([#​18375](prettier/prettier#18375) by [@​fisker](https://github.com/fisker)) An internal refactor accidentally broke the VSCode extension plugin loading. ### [`v3.7.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#372) [Compare Source](prettier/prettier@3.7.1...3.7.2) [diff](prettier/prettier@3.7.1...3.7.2) ##### JavaScript: Fix string print when switching quotes ([#​18351](prettier/prettier#18351) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input console.log("A descriptor\\'s .kind must be \"method\" or \"field\".") // Prettier 3.7.1 console.log('A descriptor\\'s .kind must be "method" or "field".'); // Prettier 3.7.2 console.log('A descriptor\\\'s .kind must be "method" or "field".'); ``` ##### JavaScript: Preserve quote for embedded HTML attribute values ([#​18352](prettier/prettier#18352) by [@​kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```tsx // Input const html = /* HTML */ ` <div class="${styles.banner}"></div> `; // Prettier 3.7.1 const html = /* HTML */ ` <div class=${styles.banner}></div> `; // Prettier 3.7.2 const html = /* HTML */ ` <div class="${styles.banner}"></div> `; ``` ##### TypeScript: Fix comment in empty type literal ([#​18364](prettier/prettier#18364) by [@​fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input export type XXX = { // tbd }; // Prettier 3.7.1 export type XXX = { // tbd }; // Prettier 3.7.2 export type XXX = { // tbd }; ``` ### [`v3.7.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#371) [Compare Source](prettier/prettier@3.7.0...3.7.1) [diff](prettier/prettier@3.7.0...3.7.1) ##### API: Fix performance regression in doc printer ([#​18342](prettier/prettier#18342) by [@​fisker](https://github.com/fisker)) Prettier 3.7.0 can be very slow when formatting big files, the regression has been fixed. ### [`v3.7.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#370) [Compare Source](prettier/prettier@3.6.2...3.7.0) [diff](prettier/prettier@3.6.2...3.7.0) 🔗 [Release Notes](https://prettier.io/blog/2025/11/27/3.7.0) </details> <details> <summary>stylelint/stylelint (stylelint)</summary> ### [`v16.26.1`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16261---2025-11-28) [Compare Source](stylelint/stylelint@16.26.0...16.26.1) It fixes numerous false positive bugs, including many in the `declaration-property-value-no-unknown` rule for the latest CSS specifications. - Fixed: `*-no-unknown` false positives for latest specs by integrating `@csstools/css-syntax-patches-for-csstree` ([#​8850](stylelint/stylelint#8850)) ([@​romainmenke](https://github.com/romainmenke)). - Fixed: `at-rule-no-unknown` false positives for `@function` ([#​8851](stylelint/stylelint#8851)) ([@​jeddy3](https://github.com/jeddy3)). - Fixed: `declaration-property-value-no-unknown` false positives for `attr()`, `if()` and custom functions ([#​8853](stylelint/stylelint#8853)) ([@​jeddy3](https://github.com/jeddy3)). - Fixed: `function-url-quotes` false positives when URLs require quoting ([#​8804](stylelint/stylelint#8804)) ([@​taearls](https://github.com/taearls)). - Fixed: `selector-pseudo-element-no-unknown` false positives for `::scroll-button()` ([#​8856](stylelint/stylelint#8856)) ([@​Mouvedia](https://github.com/Mouvedia)). ### [`v16.26.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16260---2025-11-21) [Compare Source](stylelint/stylelint@16.25.0...16.26.0) It adds 1 feature and fixes 2 bugs. - Added: support for `customSyntax` with function export ([#​8834](stylelint/stylelint#8834)) ([@​silverwind](https://github.com/silverwind)). - Fixed: `custom-property-no-missing-var-function` false positives for style query in `if()` function ([#​8813](stylelint/stylelint#8813)) ([@​sajdakabir](https://github.com/sajdakabir)). - Fixed: `media-feature-range-notation` false positives for multiple queries and `except: exact-value` ([#​8832](stylelint/stylelint#8832)) ([@​jeddy3](https://github.com/jeddy3)). ### [`v16.25.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16250---2025-10-03) [Compare Source](stylelint/stylelint@16.24.0...16.25.0) It adds 3 new features, including experimental support for bulk suppressions. It's also our first [immutable release](https://github.blog/changelog/2025-08-26-releases-now-support-immutability-in-public-preview/), with the package published to npm using [trusted publishing](https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/) and our dependencies updated on a [cool down](https://github.blog/changelog/2025-07-01-dependabot-supports-configuration-of-a-minimum-package-age/) for improved supply chain security. - Added: support for bulk suppressions ([#​8564](stylelint/stylelint#8564)) ([@​ryo-manba](https://github.com/ryo-manba)). - Added: `ignoreAtRules: []` to `no-invalid-position-declaration` ([#​8781](stylelint/stylelint#8781)) ([@​jrmlt](https://github.com/jrmlt)). - Added: rule name to custom messages ([#​8774](stylelint/stylelint#8774)) ([@​jhae-de](https://github.com/jhae-de)). ### [`v16.24.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16240---2025-09-07) [Compare Source](stylelint/stylelint@16.23.1...16.24.0) It adds 1 new rule, adds 1 option to a rule and fixes 2 bugs. - Added: `rule-nesting-at-rule-required-list` rule ([#​8680](stylelint/stylelint#8680)) ([@​sw1tch3roo](https://github.com/sw1tch3roo)). - Added: `ignoreAtRules: []` to `nesting-selector-no-missing-scoping-root` ([#​8743](stylelint/stylelint#8743)) ([@​karlhorky](https://github.com/karlhorky)). - Fixed: `function-no-unknown` false positives for `contrast-color()` and `sibling-*()` ([#​8729](stylelint/stylelint#8729)) ([@​Mouvedia](https://github.com/Mouvedia)). - Fixed: `selector-pseudo-class-no-unknown` false positives for `:heading` ([#​8749](stylelint/stylelint#8749)) ([@​Mouvedia](https://github.com/Mouvedia)). </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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- 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/498 Co-authored-by: Renovate Bot <[email protected]> Co-committed-by: Renovate Bot <[email protected]>
Closes #8833
Typescript types are already correct because type
interfacematchesfunction.