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

no-array-method-this-argument: Check Array.from() #2262

Merged
merged 5 commits into from
Jan 18, 2024

Conversation

fisker
Copy link
Collaborator

@fisker fisker commented Jan 18, 2024

Fixes #2144

@fisker fisker marked this pull request as ready for review January 18, 2024 14:01
@sindresorhus sindresorhus merged commit 797caee into sindresorhus:main Jan 18, 2024
18 checks passed
@fisker fisker deleted the array-from-this branch January 18, 2024 17:52
| ^^^^^^^^^^^^ Do not use the \`this\` argument in \`Array.from()\`.␊
--------------------------------------------------------------------------------␊
Suggestion 1/2: Remove the second argument.␊
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to myself: message need fix, it's the third, not the second argument.

@ghost
Copy link

ghost commented Feb 6, 2024

Hey @fisker
I believe you also need to add Check.from() in the documentation of this rule.
https:/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-method-this-argument.md

This rule checks following array methods accepts thisArg:

Array#every()
Array#filter()
Array#find()
Array#findLast()
Array#findIndex()
Array#findLastIndex()
Array#flatMap()
Array#forEach()
Array#map()
Array#some()

@sindresorhus changelog of v51.0.0 could have added this single new responsibility of this rule in the documentation. True or false?

@fisker
Copy link
Collaborator Author

fisker commented Feb 6, 2024

I believe you also need to add Check.from() in the documentation of this rule.

Missed that, would you like to fix it?

@ghost
Copy link

ghost commented Feb 6, 2024

I don't know how to do it. Thanks though <3 @fisker

@fisker
Copy link
Collaborator Author

fisker commented Feb 6, 2024

No problem, I'll fix that.

renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 22, 2024
##### [v55.0.0](https:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https:/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:/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:/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:/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:/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:/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:/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https:/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.

no-array-method-this-argument doesn't warn about Array.from()
2 participants