eslint/eslint (eslint)
### [`v9.11.0`](https://redirect.github.com/eslint/eslint/releases/tag/v9.11.0)
[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.10.0...v9.11.0)
#### Features
- [`ec30c73`](https://redirect.github.com/eslint/eslint/commit/ec30c7349e0bc2c37465a036e8c7ea3318ac2328) feat: add "eslint/universal" to export `Linter` ([#18883](https://redirect.github.com/eslint/eslint/issues/18883)) (唯然)
- [`c591da6`](https://redirect.github.com/eslint/eslint/commit/c591da68d4a96aa28df68f4eff7641f42af82b15) feat: Add language to types ([#18917](https://redirect.github.com/eslint/eslint/issues/18917)) (Nicholas C. Zakas)
- [`492eb8f`](https://redirect.github.com/eslint/eslint/commit/492eb8f34ebbc5c9d1dbfcf4dd06b8dde8d1df74) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](https://redirect.github.com/eslint/eslint/issues/18861)) (Tanuj Kanti)
- [`19c6856`](https://redirect.github.com/eslint/eslint/commit/19c685608d134d9120a129cc80c0ba7f8f016aa3) feat: Add `no-useless-constructor` suggestion ([#18799](https://redirect.github.com/eslint/eslint/issues/18799)) (Jordan Thomson)
- [`a48f8c2`](https://redirect.github.com/eslint/eslint/commit/a48f8c29b58c27d87dbf202d55a5770d678d37d6) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](https://redirect.github.com/eslint/eslint/issues/18872)) (Francesco Trotta)
#### Bug Fixes
- [`5e5f39b`](https://redirect.github.com/eslint/eslint/commit/5e5f39b82535f59780ce4be56d01fd1466029c25) fix: add missing types for `no-restricted-exports` rule ([#18914](https://redirect.github.com/eslint/eslint/issues/18914)) (Kristóf Poduszló)
- [`8f630eb`](https://redirect.github.com/eslint/eslint/commit/8f630eb5794ef9fe38e0b8f034287650def634bd) fix: add missing types for `no-param-reassign` options ([#18906](https://redirect.github.com/eslint/eslint/issues/18906)) (Kristóf Poduszló)
- [`d715781`](https://redirect.github.com/eslint/eslint/commit/d71578124f14d6da3fa5ab5cc391bb6c9ac3ffcf) fix: add missing types for `no-extra-boolean-cast` options ([#18902](https://redirect.github.com/eslint/eslint/issues/18902)) (Kristóf Poduszló)
- [`2de5742`](https://redirect.github.com/eslint/eslint/commit/2de5742682ec45e24dca9ca7faaa45330497fca9) fix: add missing types for `no-misleading-character-class` options ([#18905](https://redirect.github.com/eslint/eslint/issues/18905)) (Kristóf Poduszló)
- [`c153084`](https://redirect.github.com/eslint/eslint/commit/c153084250673b31bed46e3fe6af7a65b4ce8d6f) fix: add missing types for `no-implicit-coercion` options ([#18903](https://redirect.github.com/eslint/eslint/issues/18903)) (Kristóf Poduszló)
- [`fa11b2e`](https://redirect.github.com/eslint/eslint/commit/fa11b2ede6e5dc1f55dfe4b9b65d9760828900e8) fix: add missing types for `no-empty-function` options ([#18901](https://redirect.github.com/eslint/eslint/issues/18901)) (Kristóf Poduszló)
- [`a0deed1`](https://redirect.github.com/eslint/eslint/commit/a0deed122a9676fab07b903c8d16fbf60b92eadf) fix: add missing types for `camelcase` options ([#18897](https://redirect.github.com/eslint/eslint/issues/18897)) (Kristóf Poduszló)
#### Documentation
- [`e4e5709`](https://redirect.github.com/eslint/eslint/commit/e4e570952249d1c4fde59c79a0f49a38490b72c9) docs: correct `prefer-object-has-own` type definition comment ([#18924](https://redirect.github.com/eslint/eslint/issues/18924)) (Nitin Kumar)
- [`91cbd18`](https://redirect.github.com/eslint/eslint/commit/91cbd18c70dee2ef73de8d8e43f2c744fd173934) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](https://redirect.github.com/eslint/eslint/issues/18894)) (Alix Royere)
- [`59cfc0f`](https://redirect.github.com/eslint/eslint/commit/59cfc0f1b3bbb62260602579f79bd1c36ab5a00f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](https://redirect.github.com/eslint/eslint/issues/18881)) (Milos Djermanovic)
- [`adcc50d`](https://redirect.github.com/eslint/eslint/commit/adcc50dbf1fb98c0884f841e2a627796a4490373) docs: Update README (GitHub Actions Bot)
- [`4edac1a`](https://redirect.github.com/eslint/eslint/commit/4edac1a325a832804f76602736a86217b40f69ac) docs: Update README (GitHub Actions Bot)
#### Build Related
- [`959d360`](https://redirect.github.com/eslint/eslint/commit/959d360be597d3112b10590018cd52f1d98712d6) build: Support updates to previous major versions ([#18871](https://redirect.github.com/eslint/eslint/issues/18871)) (Milos Djermanovic)
#### Chores
- [`ca21a64`](https://redirect.github.com/eslint/eslint/commit/ca21a64ed0f59adb9dadcef2fc8f7248879edbd3) chore: upgrade [@eslint/js](https://redirect.github.com/eslint/js)[@9](https://redirect.github.com/9).11.0 ([#18927](https://redirect.github.com/eslint/eslint/issues/18927)) (Milos Djermanovic)
- [`a10f90a`](https://redirect.github.com/eslint/eslint/commit/a10f90af35aea9ac555b1f33106fbba1027d774e) chore: package.json update for [@eslint/js](https://redirect.github.com/eslint/js) release (Jenkins)
- [`e4e02cc`](https://redirect.github.com/eslint/eslint/commit/e4e02cc6938f38ad5028bb8ad82f52460a18dea5) refactor: Extract processor logic into ProcessorService ([#18818](https://redirect.github.com/eslint/eslint/issues/18818)) (Nicholas C. Zakas)
- [`6d4484d`](https://redirect.github.com/eslint/eslint/commit/6d4484d9c19e4132f3dee948174a543dbbb5d30f) chore: updates for v8.57.1 release (Jenkins)
- [`71f37c5`](https://redirect.github.com/eslint/eslint/commit/71f37c5bf04afb704232d312cc6c72c957d1c14e) refactor: use optional chaining when validating config rules ([#18893](https://redirect.github.com/eslint/eslint/issues/18893)) (lucasrmendonca)
- [`2c2805f`](https://redirect.github.com/eslint/eslint/commit/2c2805f8ee0fb1f27f3e442de248f45e5a98a067) chore: Add PR note to all templates ([#18892](https://redirect.github.com/eslint/eslint/issues/18892)) (Nicholas C. Zakas)
- [`7b852ce`](https://redirect.github.com/eslint/eslint/commit/7b852ce59e6ed56931c080aa46ab548fa57feffc) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](https://redirect.github.com/eslint/eslint/issues/18884)) (Milos Djermanovic)
- [`d594ddd`](https://redirect.github.com/eslint/eslint/commit/d594ddd2cc9b0c251291ea12fbd14ccd2ee32ac7) chore: update dependency [@eslint/core](https://redirect.github.com/eslint/core) to ^0.6.0 ([#18863](https://redirect.github.com/eslint/eslint/issues/18863)) (renovate\[bot])
- [`78b2421`](https://redirect.github.com/eslint/eslint/commit/78b2421e28f29206fe120ae1b03804b1b79e6324) chore: Update change.yml ([#18882](https://redirect.github.com/eslint/eslint/issues/18882)) (Nicholas C. Zakas)
- [`a416f0a`](https://redirect.github.com/eslint/eslint/commit/a416f0a270e922c86e8571e94a30fc87d72fa873) chore: enable `$ExpectType` comments in .ts files ([#18869](https://redirect.github.com/eslint/eslint/issues/18869)) (Francesco Trotta)
prettier/prettier (prettier)
### [`v3.3.3`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.3.2...3.3.3)
[diff](https://redirect.github.com/prettier/prettier/compare/3.3.2...3.3.3)
##### Add parentheses for nullish coalescing in ternary ([#16391](https://redirect.github.com/prettier/prettier/pull/16391) by [@cdignam-segment](https://redirect.github.com/cdignam-segment))
This change adds clarity to operator precedence.
```js
// Input
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.2
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.3
foo ? (bar ?? foo) : baz;
(foo ?? bar) ? a : b;
a ? b : (foo ?? bar);
```
##### Add parentheses for decorator expressions ([#16458](https://redirect.github.com/prettier/prettier/pull/16458) by [@y-schneider](https://redirect.github.com/y-schneider))
Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.
```ts
// Input
@(foo`tagged template`)
class X {}
// Prettier 3.3.2
@foo`tagged template`
class X {}
// Prettier 3.3.3
@(foo`tagged template`)
class X {}
```
##### Support `@let` declaration syntax ([#16474](https://redirect.github.com/prettier/prettier/pull/16474) by [@sosukesuzuki](https://redirect.github.com/sosukesuzuki))
Adds support for Angular v18 `@let` declaration syntax.
Please see the following code example. The `@let` declaration allows you to define local variables within the template:
```html
@let name = 'Frodo';
Dashboard for {{name}}
Hello, {{name}}
```
For more details, please refer to the excellent blog post by the Angular Team: [Introducing @let in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f).
We also appreciate the Angular Team for kindly answering our questions to implement this feature.
Configuration
📅 Schedule: Branch creation - "before 5am on Monday" in timezone Europe/Warsaw, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
9.10.0
->9.11.0
3.3.2
->3.3.3
Release Notes
eslint/eslint (eslint)
### [`v9.11.0`](https://redirect.github.com/eslint/eslint/releases/tag/v9.11.0) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.10.0...v9.11.0) #### Features - [`ec30c73`](https://redirect.github.com/eslint/eslint/commit/ec30c7349e0bc2c37465a036e8c7ea3318ac2328) feat: add "eslint/universal" to export `Linter` ([#18883](https://redirect.github.com/eslint/eslint/issues/18883)) (唯然) - [`c591da6`](https://redirect.github.com/eslint/eslint/commit/c591da68d4a96aa28df68f4eff7641f42af82b15) feat: Add language to types ([#18917](https://redirect.github.com/eslint/eslint/issues/18917)) (Nicholas C. Zakas) - [`492eb8f`](https://redirect.github.com/eslint/eslint/commit/492eb8f34ebbc5c9d1dbfcf4dd06b8dde8d1df74) feat: limit the name given to `ImportSpecifier` in `id-length` ([#18861](https://redirect.github.com/eslint/eslint/issues/18861)) (Tanuj Kanti) - [`19c6856`](https://redirect.github.com/eslint/eslint/commit/19c685608d134d9120a129cc80c0ba7f8f016aa3) feat: Add `no-useless-constructor` suggestion ([#18799](https://redirect.github.com/eslint/eslint/issues/18799)) (Jordan Thomson) - [`a48f8c2`](https://redirect.github.com/eslint/eslint/commit/a48f8c29b58c27d87dbf202d55a5770d678d37d6) feat: add type `FormatterFunction`, update `LoadedFormatter` ([#18872](https://redirect.github.com/eslint/eslint/issues/18872)) (Francesco Trotta) #### Bug Fixes - [`5e5f39b`](https://redirect.github.com/eslint/eslint/commit/5e5f39b82535f59780ce4be56d01fd1466029c25) fix: add missing types for `no-restricted-exports` rule ([#18914](https://redirect.github.com/eslint/eslint/issues/18914)) (Kristóf Poduszló) - [`8f630eb`](https://redirect.github.com/eslint/eslint/commit/8f630eb5794ef9fe38e0b8f034287650def634bd) fix: add missing types for `no-param-reassign` options ([#18906](https://redirect.github.com/eslint/eslint/issues/18906)) (Kristóf Poduszló) - [`d715781`](https://redirect.github.com/eslint/eslint/commit/d71578124f14d6da3fa5ab5cc391bb6c9ac3ffcf) fix: add missing types for `no-extra-boolean-cast` options ([#18902](https://redirect.github.com/eslint/eslint/issues/18902)) (Kristóf Poduszló) - [`2de5742`](https://redirect.github.com/eslint/eslint/commit/2de5742682ec45e24dca9ca7faaa45330497fca9) fix: add missing types for `no-misleading-character-class` options ([#18905](https://redirect.github.com/eslint/eslint/issues/18905)) (Kristóf Poduszló) - [`c153084`](https://redirect.github.com/eslint/eslint/commit/c153084250673b31bed46e3fe6af7a65b4ce8d6f) fix: add missing types for `no-implicit-coercion` options ([#18903](https://redirect.github.com/eslint/eslint/issues/18903)) (Kristóf Poduszló) - [`fa11b2e`](https://redirect.github.com/eslint/eslint/commit/fa11b2ede6e5dc1f55dfe4b9b65d9760828900e8) fix: add missing types for `no-empty-function` options ([#18901](https://redirect.github.com/eslint/eslint/issues/18901)) (Kristóf Poduszló) - [`a0deed1`](https://redirect.github.com/eslint/eslint/commit/a0deed122a9676fab07b903c8d16fbf60b92eadf) fix: add missing types for `camelcase` options ([#18897](https://redirect.github.com/eslint/eslint/issues/18897)) (Kristóf Poduszló) #### Documentation - [`e4e5709`](https://redirect.github.com/eslint/eslint/commit/e4e570952249d1c4fde59c79a0f49a38490b72c9) docs: correct `prefer-object-has-own` type definition comment ([#18924](https://redirect.github.com/eslint/eslint/issues/18924)) (Nitin Kumar) - [`91cbd18`](https://redirect.github.com/eslint/eslint/commit/91cbd18c70dee2ef73de8d8e43f2c744fd173934) docs: add unicode abbreviations in no-irregular-whitespace rule ([#18894](https://redirect.github.com/eslint/eslint/issues/18894)) (Alix Royere) - [`59cfc0f`](https://redirect.github.com/eslint/eslint/commit/59cfc0f1b3bbb62260602579f79bd1c36ab5a00f) docs: clarify `resultsMeta` in `LoadedFormatter` type ([#18881](https://redirect.github.com/eslint/eslint/issues/18881)) (Milos Djermanovic) - [`adcc50d`](https://redirect.github.com/eslint/eslint/commit/adcc50dbf1fb98c0884f841e2a627796a4490373) docs: Update README (GitHub Actions Bot) - [`4edac1a`](https://redirect.github.com/eslint/eslint/commit/4edac1a325a832804f76602736a86217b40f69ac) docs: Update README (GitHub Actions Bot) #### Build Related - [`959d360`](https://redirect.github.com/eslint/eslint/commit/959d360be597d3112b10590018cd52f1d98712d6) build: Support updates to previous major versions ([#18871](https://redirect.github.com/eslint/eslint/issues/18871)) (Milos Djermanovic) #### Chores - [`ca21a64`](https://redirect.github.com/eslint/eslint/commit/ca21a64ed0f59adb9dadcef2fc8f7248879edbd3) chore: upgrade [@eslint/js](https://redirect.github.com/eslint/js)[@9](https://redirect.github.com/9).11.0 ([#18927](https://redirect.github.com/eslint/eslint/issues/18927)) (Milos Djermanovic) - [`a10f90a`](https://redirect.github.com/eslint/eslint/commit/a10f90af35aea9ac555b1f33106fbba1027d774e) chore: package.json update for [@eslint/js](https://redirect.github.com/eslint/js) release (Jenkins) - [`e4e02cc`](https://redirect.github.com/eslint/eslint/commit/e4e02cc6938f38ad5028bb8ad82f52460a18dea5) refactor: Extract processor logic into ProcessorService ([#18818](https://redirect.github.com/eslint/eslint/issues/18818)) (Nicholas C. Zakas) - [`6d4484d`](https://redirect.github.com/eslint/eslint/commit/6d4484d9c19e4132f3dee948174a543dbbb5d30f) chore: updates for v8.57.1 release (Jenkins) - [`71f37c5`](https://redirect.github.com/eslint/eslint/commit/71f37c5bf04afb704232d312cc6c72c957d1c14e) refactor: use optional chaining when validating config rules ([#18893](https://redirect.github.com/eslint/eslint/issues/18893)) (lucasrmendonca) - [`2c2805f`](https://redirect.github.com/eslint/eslint/commit/2c2805f8ee0fb1f27f3e442de248f45e5a98a067) chore: Add PR note to all templates ([#18892](https://redirect.github.com/eslint/eslint/issues/18892)) (Nicholas C. Zakas) - [`7b852ce`](https://redirect.github.com/eslint/eslint/commit/7b852ce59e6ed56931c080aa46ab548fa57feffc) refactor: use `Directive` class from `@eslint/plugin-kit` ([#18884](https://redirect.github.com/eslint/eslint/issues/18884)) (Milos Djermanovic) - [`d594ddd`](https://redirect.github.com/eslint/eslint/commit/d594ddd2cc9b0c251291ea12fbd14ccd2ee32ac7) chore: update dependency [@eslint/core](https://redirect.github.com/eslint/core) to ^0.6.0 ([#18863](https://redirect.github.com/eslint/eslint/issues/18863)) (renovate\[bot]) - [`78b2421`](https://redirect.github.com/eslint/eslint/commit/78b2421e28f29206fe120ae1b03804b1b79e6324) chore: Update change.yml ([#18882](https://redirect.github.com/eslint/eslint/issues/18882)) (Nicholas C. Zakas) - [`a416f0a`](https://redirect.github.com/eslint/eslint/commit/a416f0a270e922c86e8571e94a30fc87d72fa873) chore: enable `$ExpectType` comments in .ts files ([#18869](https://redirect.github.com/eslint/eslint/issues/18869)) (Francesco Trotta)prettier/prettier (prettier)
### [`v3.3.3`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333) [Compare Source](https://redirect.github.com/prettier/prettier/compare/3.3.2...3.3.3) [diff](https://redirect.github.com/prettier/prettier/compare/3.3.2...3.3.3) ##### Add parentheses for nullish coalescing in ternary ([#16391](https://redirect.github.com/prettier/prettier/pull/16391) by [@cdignam-segment](https://redirect.github.com/cdignam-segment)) This change adds clarity to operator precedence. ```js // Input foo ? bar ?? foo : baz; foo ?? bar ? a : b; a ? b : foo ?? bar; // Prettier 3.3.2 foo ? bar ?? foo : baz; foo ?? bar ? a : b; a ? b : foo ?? bar; // Prettier 3.3.3 foo ? (bar ?? foo) : baz; (foo ?? bar) ? a : b; a ? b : (foo ?? bar); ``` ##### Add parentheses for decorator expressions ([#16458](https://redirect.github.com/prettier/prettier/pull/16458) by [@y-schneider](https://redirect.github.com/y-schneider)) Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5. ```ts // Input @(foo`tagged template`) class X {} // Prettier 3.3.2 @foo`tagged template` class X {} // Prettier 3.3.3 @(foo`tagged template`) class X {} ``` ##### Support `@let` declaration syntax ([#16474](https://redirect.github.com/prettier/prettier/pull/16474) by [@sosukesuzuki](https://redirect.github.com/sosukesuzuki)) Adds support for Angular v18 `@let` declaration syntax. Please see the following code example. The `@let` declaration allows you to define local variables within the template: ```html @let name = 'Frodo';Dashboard for {{name}}
Hello, {{name}} ``` For more details, please refer to the excellent blog post by the Angular Team: [Introducing @let in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f). We also appreciate the Angular Team for kindly answering our questions to implement this feature.Configuration
📅 Schedule: Branch creation - "before 5am on Monday" in timezone Europe/Warsaw, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.