typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v7.16.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7161-2024-07-15)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.16.0...v7.16.1)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-parameters] descend into all parts of mapped types in no-unnecessary-type-parameters
##### ❤️ Thank You
- Dan Vanderkam
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
### [`v7.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7160-2024-07-08)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.15.0...v7.16.0)
##### 🚀 Features
- **rule-tester:** stricter rule test validations
- **eslint-plugin:** \[no-unnecessary-parameter-property-assignment] add new rule
- **eslint-plugin:** add support for nested namespaces to unsafe-member-access
- **eslint-plugin:** \[no-floating-promises] add checkThenables option
##### 🩹 Fixes
- **deps:** update dependency [@eslint-community/regexpp](https://togithub.com/eslint-community/regexpp) to v4.11.0
- **eslint-plugin:** \[no-floating-promises] add `suggestions` to tests from [#9263](https://togithub.com/typescript-eslint/typescript-eslint/issues/9263) `checkThenables`
- **website:** react key error on internal pages of website
- **eslint-plugin:** \[restrict-template-expressions] don't report tuples if `allowArray` option is enabled
##### ❤️ Thank You
- Abraham Guo
- auvred
- Josh Goldberg ✨
- Juan Sanchez
- Vinccool96
- YeonJuan
- Yukihiro Hasegawa
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
gajus/eslint-plugin-jsdoc (eslint-plugin-jsdoc)
### [`v48.7.0`](https://togithub.com/gajus/eslint-plugin-jsdoc/compare/v48.6.0...d46be35b613d6da8f6eb636e8b5ec3533dfdb629)
[Compare Source](https://togithub.com/gajus/eslint-plugin-jsdoc/compare/v48.6.0...v48.7.0)
### [`v48.6.0`](https://togithub.com/gajus/eslint-plugin-jsdoc/releases/tag/v48.6.0)
[Compare Source](https://togithub.com/gajus/eslint-plugin-jsdoc/compare/v48.5.2...v48.6.0)
##### Features
- new rule `convert-to-jsdoc-comments`; fixes [#1002](https://togithub.com/gajus/eslint-plugin-jsdoc/issues/1002) ([d5fa8da](https://togithub.com/gajus/eslint-plugin-jsdoc/commit/d5fa8da257443f59898d9257b1a9993695c7e51d))
typicode/husky (husky)
### [`v9.1.1`](https://togithub.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.1.0...v9.1.1)
### [`v9.1.0`](https://togithub.com/typicode/husky/releases/tag/v9.1.0)
[Compare Source](https://togithub.com/typicode/husky/compare/v9.0.11...v9.1.0)
*Super saiyan ~~god~~ dog! It's over 9.0.0!*
*There's a bug with this release which prevents the deprecation notice to appear and requires to remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` (which are deprecated by the way). I'll publish a new version to fix that. Sorry about any inconvenience.*
### What's new
You can now run package commands directly, no need for `npx` or equivalents.
It makes writing hooks more intuitive and is also slightly faster 🐺⚡️
```diff
### .husky/pre-commit
- npx jest
+ jest # ~0.2s faster
```
A new recipe has been added to the docs. Lint staged files without external dependencies (inspired by Prettier docs). Feel free to modify it.
```shell
### .husky/pre-commit
prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
git update-index --again
```
For more advanced use cases, see [lint-staged](https://togithub.com/lint-staged/lint-staged).
### Fixes
- `bunx husky init` command
- Workaround for some hooks implementation on Windows 🤷
### Deprecations
- Remove `#!/usr/bin/env sh` and `. "$(dirname -- "$0")/_/husky.sh"` from your hooks
- Move your code from `~/.huskyrc` to `.config/husky/init.sh`
Support for these will be removed in v10, notices have been added.
### Friendly reminder
If Git hooks don't fit your workflow, you can disable Husky globally. Just add `export HUSKY=0` to `.config/husky/init.sh`.
I've seen some confusion about this on X, so just a heads-up!
### Sponsoring
Husky is downloaded over 45M times per month and used by ~1.5M projects. If your company wants to sponsor, you can do so here: [GitHub Sponsors](https://togithub.com/sponsors/typicode).
**Have a nice summer ☀️ I'm open to new opportunities/consulting so feel free to drop me a message 😉**
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.
isaacs/rimraf (rimraf)
### [`v5.0.9`](https://togithub.com/isaacs/rimraf/compare/v5.0.8...546c9ec50c0e94ac08af7188b02fc1dddfc5134e)
[Compare Source](https://togithub.com/isaacs/rimraf/compare/v5.0.8...v5.0.9)
### [`v5.0.8`](https://togithub.com/isaacs/rimraf/compare/v5.0.7...v5.0.8)
[Compare Source](https://togithub.com/isaacs/rimraf/compare/v5.0.7...v5.0.8)
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), 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:
^20.14.9
->^20.14.11
^7.15.0
->^7.16.1
^48.5.2
->^48.7.0
^9.0.11
->^9.1.1
^3.3.2
->^3.3.3
^5.0.7
->^5.0.9
Release Notes
typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v7.16.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7161-2024-07-15) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.16.0...v7.16.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-parameters] descend into all parts of mapped types in no-unnecessary-type-parameters ##### ❤️ Thank You - Dan Vanderkam You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7160-2024-07-08) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.15.0...v7.16.0) ##### 🚀 Features - **rule-tester:** stricter rule test validations - **eslint-plugin:** \[no-unnecessary-parameter-property-assignment] add new rule - **eslint-plugin:** add support for nested namespaces to unsafe-member-access - **eslint-plugin:** \[no-floating-promises] add checkThenables option ##### 🩹 Fixes - **deps:** update dependency [@eslint-community/regexpp](https://togithub.com/eslint-community/regexpp) to v4.11.0 - **eslint-plugin:** \[no-floating-promises] add `suggestions` to tests from [#9263](https://togithub.com/typescript-eslint/typescript-eslint/issues/9263) `checkThenables` - **website:** react key error on internal pages of website - **eslint-plugin:** \[restrict-template-expressions] don't report tuples if `allowArray` option is enabled ##### ❤️ Thank You - Abraham Guo - auvred - Josh Goldberg ✨ - Juan Sanchez - Vinccool96 - YeonJuan - Yukihiro Hasegawa You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.gajus/eslint-plugin-jsdoc (eslint-plugin-jsdoc)
### [`v48.7.0`](https://togithub.com/gajus/eslint-plugin-jsdoc/compare/v48.6.0...d46be35b613d6da8f6eb636e8b5ec3533dfdb629) [Compare Source](https://togithub.com/gajus/eslint-plugin-jsdoc/compare/v48.6.0...v48.7.0) ### [`v48.6.0`](https://togithub.com/gajus/eslint-plugin-jsdoc/releases/tag/v48.6.0) [Compare Source](https://togithub.com/gajus/eslint-plugin-jsdoc/compare/v48.5.2...v48.6.0) ##### Features - new rule `convert-to-jsdoc-comments`; fixes [#1002](https://togithub.com/gajus/eslint-plugin-jsdoc/issues/1002) ([d5fa8da](https://togithub.com/gajus/eslint-plugin-jsdoc/commit/d5fa8da257443f59898d9257b1a9993695c7e51d))typicode/husky (husky)
### [`v9.1.1`](https://togithub.com/typicode/husky/compare/v9.1.0...2968998755465f69069f297b5bb603e26d6b1772) [Compare Source](https://togithub.com/typicode/husky/compare/v9.1.0...v9.1.1) ### [`v9.1.0`](https://togithub.com/typicode/husky/releases/tag/v9.1.0) [Compare Source](https://togithub.com/typicode/husky/compare/v9.0.11...v9.1.0)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.isaacs/rimraf (rimraf)
### [`v5.0.9`](https://togithub.com/isaacs/rimraf/compare/v5.0.8...546c9ec50c0e94ac08af7188b02fc1dddfc5134e) [Compare Source](https://togithub.com/isaacs/rimraf/compare/v5.0.8...v5.0.9) ### [`v5.0.8`](https://togithub.com/isaacs/rimraf/compare/v5.0.7...v5.0.8) [Compare Source](https://togithub.com/isaacs/rimraf/compare/v5.0.7...v5.0.8)Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), 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.