eslint/eslint (eslint)
### [`v9.7.0`](https://togithub.com/eslint/eslint/releases/tag/v9.7.0)
[Compare Source](https://togithub.com/eslint/eslint/compare/v9.6.0...v9.7.0)
#### Features
- [`7bd9839`](https://togithub.com/eslint/eslint/commit/7bd98398f112da020eddcda2c26cf4cc563af004) feat: add support for es2025 duplicate named capturing groups ([#18630](https://togithub.com/eslint/eslint/issues/18630)) (Yosuke Ota)
- [`1381394`](https://togithub.com/eslint/eslint/commit/1381394a75b5902ce588455765a3919e2f138a7a) feat: add `regex` option in `no-restricted-imports` ([#18622](https://togithub.com/eslint/eslint/issues/18622)) (Nitin Kumar)
#### Bug Fixes
- [`14e9f81`](https://togithub.com/eslint/eslint/commit/14e9f81ccdb51d2b915b68f442d48ced0a691646) fix: destructuring in catch clause in `no-unused-vars` ([#18636](https://togithub.com/eslint/eslint/issues/18636)) (Francesco Trotta)
#### Documentation
- [`9f416db`](https://togithub.com/eslint/eslint/commit/9f416db680ad01716a769296085bf3eb93f76424) docs: Add Powered by Algolia label to the search. ([#18633](https://togithub.com/eslint/eslint/issues/18633)) (Amaresh S M)
- [`c8d26cb`](https://togithub.com/eslint/eslint/commit/c8d26cb4a2f9d89bfc1914167d3e9f1d3314ffe7) docs: Open JS Foundation -> OpenJS Foundation ([#18649](https://togithub.com/eslint/eslint/issues/18649)) (Milos Djermanovic)
- [`6e79ac7`](https://togithub.com/eslint/eslint/commit/6e79ac76f44b34c24a3e92c20713fbafe1dcbae2) docs: `loadESLint` does not support option `cwd` ([#18641](https://togithub.com/eslint/eslint/issues/18641)) (Francesco Trotta)
#### Chores
- [`793b718`](https://togithub.com/eslint/eslint/commit/793b7180119e7e440d685defb2ee01597574ef1e) chore: upgrade [@eslint/js](https://togithub.com/eslint/js)[@9](https://togithub.com/9).7.0 ([#18680](https://togithub.com/eslint/eslint/issues/18680)) (Francesco Trotta)
- [`7ed6f9a`](https://togithub.com/eslint/eslint/commit/7ed6f9a4db702bbad941422f456451a8dba7a450) chore: package.json update for [@eslint/js](https://togithub.com/eslint/js) release (Jenkins)
- [`7bcda76`](https://togithub.com/eslint/eslint/commit/7bcda760369c44d0f1131fccaaf1ccfed5af85f1) refactor: Add type references ([#18652](https://togithub.com/eslint/eslint/issues/18652)) (Nicholas C. Zakas)
- [`51bf57c`](https://togithub.com/eslint/eslint/commit/51bf57c493a65baeee3a935f2d0e52e27271fb48) chore: add tech sponsors through actions ([#18624](https://togithub.com/eslint/eslint/issues/18624)) (Strek)
- [`6320732`](https://togithub.com/eslint/eslint/commit/6320732c3e2a52a220552e348108c53c60f9ef7a) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](https://togithub.com/eslint/eslint/issues/18653)) (Milos Djermanovic)
- [`9e6d640`](https://togithub.com/eslint/eslint/commit/9e6d6405c3ee774c2e716a3453ede9696ced1be7) refactor: move "Parsing error" prefix adding to Linter ([#18650](https://togithub.com/eslint/eslint/issues/18650)) (Milos Djermanovic)
jsx-eslint/eslint-plugin-react (eslint-plugin-react)
### [`v7.34.4`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7344---20240713)
[Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.3...v7.34.4)
##### Fixed
- \[`prop-types`]: fix `className` missing in prop validation false negative ([#3749] [@akulsr0](https://togithub.com/akulsr0))
- \[`sort-prop-types`]: Check for undefined before accessing `node.typeAnnotation.typeAnnotation` ([#3779] [@tylerlaprade](https://togithub.com/tylerlaprade))
[7.34.4]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.3...v7.34.4
[#3779]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3779
[#3749]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3749
i18next/i18next (i18next)
### [`v23.12.1`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23121)
[Compare Source](https://togithub.com/i18next/i18next/compare/v23.12.0...v23.12.1)
- Use explicit imports for utils [2212](https://togithub.com/i18next/i18next/pull/2212)
### [`v23.12.0`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23120)
[Compare Source](https://togithub.com/i18next/i18next/compare/v23.11.5...v23.12.0)
- feat: Add posibility to override keyPrefix for certain translation. [2211](https://togithub.com/i18next/i18next/issues/2211)
prettier/prettier (prettier)
### [`v3.3.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3)
[diff](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3)
##### Add parentheses for nullish coalescing in ternary ([#16391](https://togithub.com/prettier/prettier/pull/16391) by [@cdignam-segment](https://togithub.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://togithub.com/prettier/prettier/pull/16458) by [@y-schneider](https://togithub.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://togithub.com/prettier/prettier/pull/16474) by [@sosukesuzuki](https://togithub.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 07:00 on Thursday" in timezone Europe/Oslo, 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 if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
9.6.0
->9.7.0
7.34.3
->7.34.4
23.11.5
->23.12.1
3.3.2
->3.3.3
Release Notes
eslint/eslint (eslint)
### [`v9.7.0`](https://togithub.com/eslint/eslint/releases/tag/v9.7.0) [Compare Source](https://togithub.com/eslint/eslint/compare/v9.6.0...v9.7.0) #### Features - [`7bd9839`](https://togithub.com/eslint/eslint/commit/7bd98398f112da020eddcda2c26cf4cc563af004) feat: add support for es2025 duplicate named capturing groups ([#18630](https://togithub.com/eslint/eslint/issues/18630)) (Yosuke Ota) - [`1381394`](https://togithub.com/eslint/eslint/commit/1381394a75b5902ce588455765a3919e2f138a7a) feat: add `regex` option in `no-restricted-imports` ([#18622](https://togithub.com/eslint/eslint/issues/18622)) (Nitin Kumar) #### Bug Fixes - [`14e9f81`](https://togithub.com/eslint/eslint/commit/14e9f81ccdb51d2b915b68f442d48ced0a691646) fix: destructuring in catch clause in `no-unused-vars` ([#18636](https://togithub.com/eslint/eslint/issues/18636)) (Francesco Trotta) #### Documentation - [`9f416db`](https://togithub.com/eslint/eslint/commit/9f416db680ad01716a769296085bf3eb93f76424) docs: Add Powered by Algolia label to the search. ([#18633](https://togithub.com/eslint/eslint/issues/18633)) (Amaresh S M) - [`c8d26cb`](https://togithub.com/eslint/eslint/commit/c8d26cb4a2f9d89bfc1914167d3e9f1d3314ffe7) docs: Open JS Foundation -> OpenJS Foundation ([#18649](https://togithub.com/eslint/eslint/issues/18649)) (Milos Djermanovic) - [`6e79ac7`](https://togithub.com/eslint/eslint/commit/6e79ac76f44b34c24a3e92c20713fbafe1dcbae2) docs: `loadESLint` does not support option `cwd` ([#18641](https://togithub.com/eslint/eslint/issues/18641)) (Francesco Trotta) #### Chores - [`793b718`](https://togithub.com/eslint/eslint/commit/793b7180119e7e440d685defb2ee01597574ef1e) chore: upgrade [@eslint/js](https://togithub.com/eslint/js)[@9](https://togithub.com/9).7.0 ([#18680](https://togithub.com/eslint/eslint/issues/18680)) (Francesco Trotta) - [`7ed6f9a`](https://togithub.com/eslint/eslint/commit/7ed6f9a4db702bbad941422f456451a8dba7a450) chore: package.json update for [@eslint/js](https://togithub.com/eslint/js) release (Jenkins) - [`7bcda76`](https://togithub.com/eslint/eslint/commit/7bcda760369c44d0f1131fccaaf1ccfed5af85f1) refactor: Add type references ([#18652](https://togithub.com/eslint/eslint/issues/18652)) (Nicholas C. Zakas) - [`51bf57c`](https://togithub.com/eslint/eslint/commit/51bf57c493a65baeee3a935f2d0e52e27271fb48) chore: add tech sponsors through actions ([#18624](https://togithub.com/eslint/eslint/issues/18624)) (Strek) - [`6320732`](https://togithub.com/eslint/eslint/commit/6320732c3e2a52a220552e348108c53c60f9ef7a) refactor: don't use `parent` property in `NodeEventGenerator` ([#18653](https://togithub.com/eslint/eslint/issues/18653)) (Milos Djermanovic) - [`9e6d640`](https://togithub.com/eslint/eslint/commit/9e6d6405c3ee774c2e716a3453ede9696ced1be7) refactor: move "Parsing error" prefix adding to Linter ([#18650](https://togithub.com/eslint/eslint/issues/18650)) (Milos Djermanovic)jsx-eslint/eslint-plugin-react (eslint-plugin-react)
### [`v7.34.4`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7344---20240713) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.3...v7.34.4) ##### Fixed - \[`prop-types`]: fix `className` missing in prop validation false negative ([#3749] [@akulsr0](https://togithub.com/akulsr0)) - \[`sort-prop-types`]: Check for undefined before accessing `node.typeAnnotation.typeAnnotation` ([#3779] [@tylerlaprade](https://togithub.com/tylerlaprade)) [7.34.4]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.3...v7.34.4 [#3779]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3779 [#3749]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3749i18next/i18next (i18next)
### [`v23.12.1`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23121) [Compare Source](https://togithub.com/i18next/i18next/compare/v23.12.0...v23.12.1) - Use explicit imports for utils [2212](https://togithub.com/i18next/i18next/pull/2212) ### [`v23.12.0`](https://togithub.com/i18next/i18next/blob/HEAD/CHANGELOG.md#23120) [Compare Source](https://togithub.com/i18next/i18next/compare/v23.11.5...v23.12.0) - feat: Add posibility to override keyPrefix for certain translation. [2211](https://togithub.com/i18next/i18next/issues/2211)prettier/prettier (prettier)
### [`v3.3.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333) [Compare Source](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3) [diff](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3) ##### Add parentheses for nullish coalescing in ternary ([#16391](https://togithub.com/prettier/prettier/pull/16391) by [@cdignam-segment](https://togithub.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://togithub.com/prettier/prettier/pull/16458) by [@y-schneider](https://togithub.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://togithub.com/prettier/prettier/pull/16474) by [@sosukesuzuki](https://togithub.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 07:00 on Thursday" in timezone Europe/Oslo, 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 if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.