Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prefer-includes: Check .lastIndexOf() #2368

Merged
merged 3 commits into from
May 25, 2024

Conversation

fisker
Copy link
Collaborator

@fisker fisker commented May 25, 2024

No description provided.

@fisker fisker marked this pull request as ready for review May 25, 2024 07:38
@sindresorhus sindresorhus merged commit d812ad1 into sindresorhus:main May 25, 2024
17 checks passed
@fisker fisker deleted the prefer-includes-last-index-of branch May 25, 2024 23:38
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 22, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants