This repository was archived by the owner on Jan 19, 2023. It is now read-only.
Update dependency eslint-plugin-unicorn to v43 - autoclosed #501
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
21.0.0->43.0.2Test plan: CI should pass with updated dependencies. No review required: this is an automated dependency update PR.
Release Notes
sindresorhus/eslint-plugin-unicorn
v43.0.2Compare Source
prefer-spread: IgnoreArray#join().concat()and(a + b).concat()(#1859)ab71971v43.0.1Compare Source
prefer-event-targetfrom the recommended preset4d2faacEventTargetrequires Node.js 16 and we target Node.js 14. We'll enable it again in a year when we can target Node.js 16.v43.0.0Compare Source
New rules
prefer-logical-operator-over-ternary(#1830)5d7e622prefer-event-target(#1792)166524aBreaking
Improvements
prefer-top-level-awaitrule to recommended preset (#1803)6f5ecf5import-indexrule (#1787)0034e694b96057text-encoding-identifier-case: Ignore JSXmeta[charset="utf-8"](#1817)c67a70fprefer-number-properties: Check any use of global functions (#1834)51d7e06prefer-number-properties: Detect usage via global object (#1832)80c4af2no-array-for-each: Check reassign infor..inandfor..of(#1824)d3b2548no-useless-undefined: Ignoreref(undefined)in Vue project (#1828)e7306e5prefer-node-protocol: Always checkrequire()(#1827)2c914d4no-array-for-each: Improve parameter reassign detection (#1823)56df468no-array-for-each: Add fix for arrow function body (#1785)59218e3Fixes
no-array-for-each: Fix auto-fix causing SyntaxError (#1813)47c8337v42.0.0Compare Source
The project has passed 100 lint rules 🎉
Thanks to everyone that has contributed so far.
And special thanks to our team member @fisker for doing most of the work on this project. We could not have gotten this far without him.
New rules
no-useless-switch-case(#1779)a8fb966prefer-modern-math-apis(#1780)6dfdeb0no-unreadable-iife(#1765)ce8a4b7prefer-native-coercion-functions(#1767)51166f4Improvements
template-indent: Set the ruleerrorinstead ofwarninrecommendedpreset (#1781)09923afprefer-json-parse-buffer: Remove fromrecommendedpreset (#1750)93f49f2no-array-for-each: Add fixer for parenthesized call (#1784)5f39c37no-array-for-each: Handle optional chaining (#1753)1d32db4prefer-object-from-entries: Stop checking unknown cases (#1771)309771dprefer-string-trim-start-end: Check optional chaining (#1768)1920597no-useless-undefined: Ignore arguments inFunction#bind()(#1762)c501243prefer-ternary: Skip fix if there are comments (#1763)3013565text-encoding-identifier-case: Auto-fix encoding infs.{readFile,readFileSync}()(#1755)5e1c932distanddstabbreviations (#1756)dffcea8Fixes
no-array-for-each: HandleChainExpressioncorrectly (#1772)e615a37v41.0.1Compare Source
relative-url-style: Improve fix (#1748)f406795v41.0.0Compare Source
New rules
text-encoding-identifier-case(#1718)4370602Breaking
608a90cFixes
prefer-export-from: Fix TypeScript compatibility (#1728)f14aa95prefer-at: Remove auto-fix forarguments(#1705)bba518ev40.1.0Compare Source
expiring-todo-comments: Adddateoption (#1683)16bc33aconsistent-function-scoping: AllowReact.useHook(#1691)e910633no-useless-undefined: AllowReact.createContext(undefined)(#1688)40bc603v40.0.0Compare Source
New rules
no-thenable(#1616)c318644no-useless-promise-resolve-reject(#1623)054436erelative-url-style(#1672)6ab705bprefer-json-parse-buffer(#1676)84c9c70Improvements
prefer-object-has-own: Deprecate in favor of the built-inprefer-object-has-ownrule (#1646)e59a856filename-case: Ignore$in filenames (#1628)a43a174no-useless-promise-resolve-reject: Detect unnecessaryPromise.resolve/rejectin promise callback functions (#1666)f6215f3prefer-export-from: Support import assertions (#1618)1d7a6b6prefer-top-level-await: Improve top-level expression detection (#1526)b054d65prefer-dom-node-dataset: Check.hasAttribute()and.getAttribute()(#1673)152f153prefer-dom-node-dataset: Check.removeAttribute()(#1668)22d8d03prefer-string-slice: Improve fix (#1675)267115aprefer-math-trunc: Improve fix logic (#1670)784c7a8prefer-string-slice: Improve argument type detection (#1664)03b0946prefer-add-event-listener: Remove fix foronerror(#1650)7bf63bbno-array-push-push: Ignoreprocess.{stdin,stdout,stderr}(#1654)10ad699no-new-array&no-new-buffer: Improve argument type detection (#1648)9b04e43no-array-for-each: IgnorepIteration.forEach(#1649)2b92385no-array-callback-reference: Ignore primitive wrappers inArray#map()(#1642)0362c09prefer-export-from: Support "string literal specifier" (#1636)0866b41template-indent: Check Jest inline snapshots by default (#1637)64460e2Fixes
prefer-dom-node-dataset: Fix name conversion (#1674)7fb6f7bprefer-export-from: Fix crash in TypeScript files (#1647)1ff8e42v39.0.0Compare Source
New rules
prefer-code-point(#1584)31c83cdno-await-expression-member(#1586)0485924Improvements
prefer-export-from: AddignoreUsedVariablesoption (#1590)a8d52e4prevent-abbreviations: Show file basename instead of full path (#1593)7c2867drequire-post-message-target-originrule from recommended config (#1581)014b4dcFixes
no-empty-file: Fix false positive with triple-slash directives (#1605)6354bb8require-number-to-fixed-digits-argument: Ignore.toFixedfrom new expression (#1601)20d61e7prefer-export-from: Fix bug on fixing export namespace as default (#1583)b564ff1additionalPropertiesto schema (#1589)579d05dv38.0.1Compare Source
prefer-export-from: Ignore variables with type (#1580)ea49b21v38.0.0Compare Source
New rules
no-empty-file(#1506)a2ba25eprefer-export-from(#1453)ff43745Improvements
5f3bad5no-array-callback-reference: Only ignoreBooleanin reasonable places (#1570)46f8638require-array-join-separator: Check optional member (#1569)15f9028v37.0.1Compare Source
e6cee0fv37.0.0Compare Source
New rules
template-indent(#1478)5f4c440Improvements
e97ab7e'latest'asecmaVersion(#1465)9feb181v36.0.0Compare Source
New rules
no-useless-fallback-in-spread(#1481)1675118no-invalid-remove-event-listener(#1216)f0ff04dImprovements
allconfig (#1512)a512ad1prefer-spread: CheckString#split('')(#1489)d51a197prefer-module: Use suggestions for'use strict'directive (#1470)57c7906error-message: Handle shadowedErrorconstructor (#1496)fdadd88Fixes
prefer-spread: Fix false negative on array constants (#1474)4162145v35.0.0Compare Source
New rules
prefer-object-from-entries(#1308)4a14187no-useless-length-check(#1398)1107455no-useless-spread(#1401)1463f52Breaking
explicit-length-check: Removegreater-than-or-equaloption (#1397)db1a2b5Improvements
no-array-reduce: AddallowSimpleOperationsoption (#1418)153eb2cno-array-callback-reference: Ignore jQuery methods (#1457)7af9a6fprevent-abbreviations: Ignorei18nandl10n(#1445)efdd90eno-array-callback-reference: Ignore mobx-state-tree usage (#1455)73c0dfdnew-for-builtins: CheckWeakRefandFinalizationRegistry(#1450)fce9d1dno-zero-fractions: Handle.0correctly (#1444)fcca35dnew-for-builtins: EnforcenewforSharedArrayBufferandProxy(#1438)2ba83adno-null: AllowObject.create(null, …)(#1432)768f301number-literal-case: Support Vue SFC (#1434)ee9f609no-object-as-default-parameter: Forbid destructuring (#1433)3fcc4bbprefer-spread: Better auto-fix (#1426)7bdf0ddprefer-array-some: Check cases comparing.find()withundefined(#1422)3dc2f77no-useless-spread: Check useless "iterable to array" (#1414)61bc6a3prefer-dom-node-text-content: Check destructuring, Use suggestion instead of auto-fix (#1417)c4bfc42require-post-message-target-origin: Disable for TypeScript files (#1415)741484aprefer-add-event-listener: Update event types list (#1412)7f88b2fno-instanceof-array: Support Vue SFC (#1410)3b22917prevent-abbreviations: Adddef(#1402)f783472no-instanceof-array: Improve report location (#1389)6512fbdbb81582Fixes
throw-new-error: Fix an edge case (#1390)806831b179b7dfv34.0.1Compare Source
no-array-method-this-argument: Fix false positives (#1386)d364d67v34.0.0Compare Source
New rules
no-array-method-this-argument(#1357)96587f2require-post-message-target-origin(#1326)03c540bprefer-top-level-await(#1325)05722a1prefer-at(#1331)8ca5b46Improvements
prefer-module: Ignore.cjsfiles (#1355)ebdc3c2error-message: SupportAggregateError(#1351)e7b4300filename-case: Enforce lowercased file extension (#1336)119615bexpiring-todo-comments: More helpful error when no conditions (#1375)914a996prefer-array-someandprefer-regexp-test: Support Vue SFC (#1364)a46050eexplicit-length-check: Supportv-showdirective (#1363)f163c4aexplicit-length-check: Support Vue SFC files (#1360)9199611prefer-type-error: Improve report location (#1354)bc3d58bno-useless-undefined: IgnoreSet#add()Map#set()Array#{push,unshift}()(#1353)c6359c3prefer-prototype-methods: Only check methods from[]and{}(#1347)29a4e75prefer-array-some: Report non-zero check onarray.filter().length(#1337)f8aaac2context.getPhysicalFilename()(#1344)e2540cbFixes
prefer-array-findandprefer-at: Fix crash on LHS zero index access (#1373)da1f6d8prefer-prototype-methods: Fix a missing condition on object literal check (#1332)cec7f11v33.0.1Compare Source
prefer-prototype-methods: Ignore known object literal methods (#1330)639e7afv33.0.0Compare Source
New rules
require-array-join-separator(#1284)36e7103require-number-to-fixed-digits-argument(#1288)4a30863prefer-prototype-methods(#1247)7bde733prefer-object-has-own(#1322)ca34b40recommendedpreset.Improvements
no-array-for-each: Handle only return statement insideiforelse(#1319)298a104new-for-builtins&no-new-buffer: Handle line breaks afternewkeyword (#1301)d37439fprefer-array-flat-map: Remove check on[].concat(...array.map(…))(#1299)128b5aaprefer-spread: Ignore{arrayBuffer,blob,buffer,file,this}.slice()(#1287)e18d5f2prefer-string-starts-ends-with: Add suggestions for safely handling non-strings (#1277)f14a9d1explicit-length-check: Ignorethis.{size,length}(#1289)ed85d00prefer-string-starts-ends-with-rule: Don't autofix known non-string values (#1281)a1c8984explicit-length-check: Ignore known, non-number length properties (#1264)42f6487empty-brace-spaces: Support experimental syntax (#1276)fa68b6fprefer-dom-node-remove: Improve parentheses handling (#1254)74e4d39Fixes
prefer-array-flat: Fix incorrect fix, checkArray.prototype.concat.call(#1317)f6a939cv32.0.1Compare Source
prevent-abbreviations: Fix shorthand import/export detection (#1252)4367479v32.0.0Compare Source
Breaking
a8e9f26babel-eslint(#1211)a8e9f26You should migrate to
@babel/eslint-parserNew rules
no-document-cookie(#1244)866c4a3numeric-separators-style- Was previously disabled.prefer-array-flat- Was previously disabled.prefer-array-flat-map- Was previously disabled.Improvements
no-for-loop: Ignore known non-array loop variables (#1242)29f6b45prefer-array-find: Singularize variable name in autofix (#1243)6b340a3prefer-switch: Do not add braces to the default case (#1235)c241782no-zero-fractions: Handle numeric separators, fix missing parentheses, improve report location (#1238)2724afano-array-for-each: Better error message (#1239)2e82dc8prefer-switch: Avoid conflict withno-unreachablerule (#1234)1c78d0cprefer-optional-catch-binding: Support checking destructured errors (#1229)a0b2f4fno-array-for-each: Support autofixing complicated parameters (#1228)d84143fprefer-negative-index: SupportArray#at()(#1217)6443ee3explicit-length-check: CheckSet#size(#1226)6a745a0filename-case: Improve report position (#1227)3d4ac1bFixes
prevent-abbreviations: Fix shorthand import/export detection (#1215)a669e31v31.0.0Compare Source
New rules
prefer-node-protocol(#1203)b1a5f53prefer-module(#1141)a7e393cv30.0.0Compare Source
New rules
prefer-switch(#1181)10e7a0cBreaking
prevent-abbreviations: Rename options (#1164)cf42cc5no-keyword-prefix: Renameblacklistoption todisallowedPrefixes(#1180)91e60d0Improvements
no-array-push-push: Addignoreoption (#1168)f9262d9prefer-spread: Reportarray.slice(0)(#1182)92bebe1no-useless-undefined: Handle parenthesizedundefined(#1178)c88882eno-array-for-each: Improve fixable parameter detection (#1177)18d1ac2prefer-array-flat-map: ExcludeReact.Children.map().flat()(#1159)3e6b6fbbetter-regex: Report parsing errors (#1133)51ee030filename-case: Uniquify suggestion filenames (#1160)a87238fPropertyDefinition(#1127)75c4d78Fixes
prefer-number-properties: Fix some edge cases (#1170)e7e25b8prefer-number-properties: Fix some edge cases (part 2) (#1176)3a58802prefer-regexp-test: Do not fix if regexp hasgflag (#1173)8d97bebno-array-for-each: Do not fix if callback parameter has type annotation (#1167)0d4fc8bno-useless-undefined: Do not reportreturn undefinedif function hasreturnType(#1165)4ff39e0prefer-set-has: Use suggestions if node has type annotation (#1158)1221185no-null: Exclude second argument ofNode.insertBefore()(#1157)b16c316prefer-add-event-listener: Fix crash on parenthesized cases (#1153)c95e854MemberExpressioncheck when usingecmaVersion: 2019(#1151)56d5d9aprefer-regexp-test: Do not fix if argument ofString#match()is known notRegExp(#1152)0abc394v29.0.0Compare Source
New rules
no-static-only-class(#1120)f3b2441prefer-array-flat(#1126)2397d94Improvements
no-array-for-each: Useletif parameters are reassigned (#1139)a13ad3cno-array-push-pushandprefer-ternary: Improve same reference detection (#1123)c2c28a6prefer-spread: AddArray#slice()check (#1117)8bdb52dv28.0.2Compare Source
prevent-abbreviations: Do not rename exported types when using @babel/eslint-parser (#1104)9a91a3dprevent-abbreviations: Do not rename exported TypeScript types (#1103)5c08932v28.0.1Compare Source
eslint-visitor-keysdependency (#1100)5c1ff2ev28.0.0Compare Source
Improvements
no-lonely-if: Keep all comments (#1047)da94ca9prefer-includes: AddArray#some()check (#1097)ee3a2e5prefer-includes: Improve report location (#1061)83575a8prefer-spread: Improve auto-fix (#1080)e54dc66prefer-spread: Add more suggestions for.concatfix (#1054)673c440Fixes
no-unreadable-array-destructuring: Fix crash on destructuring infor…ofloop (#1076)11ce1bcno-array-for-each: IgnoreReact.Children.forEach(#1088)5a931ddprefer-string-slice: Keep optional chaining in autofix (#1085)acaf197prefer-spread: IgnoreBuffer.concat()(#1069)da685f7catch-error-nameandprefer-set-has(#1077) [79a64b1](https://togithub.com/sindresorConfiguration
📅 Schedule: Branch creation - "on the 1st through 7th day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled due to failing status checks.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.