This repository was archived by the owner on Jan 19, 2023. It is now read-only.
Update dependency eslint-plugin-unicorn to v45 #523
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->45.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
v45.0.2Compare Source
prefer-string-replace-all: Don't crash on invalid pattern (#2011)3bbe027prevent-abbreviations: Skip fix for variables used in Vue template (#2012)8cd1dedv45.0.1Compare Source
no-useless-spread: Remove unsafe fix (#1996)6756cbdv45.0.0Compare Source
New rules
no-typeof-undefined(#1966)d7f7341no-negated-condition(#1963)e4aaa42prefer-set-size(#1952)5f23c98Improvements
prefer-at: Support private fields (#1929)60bb455no-useless-undefined: IgnoreArray#includes()andSet#has()(#1951)8dfd5a7no-useless-spread: Check cloning inline arrays (#1980)5d90d73prefer-top-level-await: Ignore expressions in class (#1976)b90a3aaprefer-string-replace-all: Improve RegExp to string fix (#1971)b844dbcprefer-string-replace-all: Check pattern even if it's already using.replaceAll(#1981)e8c5156prefer-string-replace-all: Report allString#replace()when the pattern hasgflag (#1965)6316f05prefer-string-replace-all: Ignore regex with pipe (#1962)76deaa3prefer-regexp-test: Use suggestions if not sure regexp withoutgflag (#1954)505a203no-array-for-each: Skip fix for some edge cases (#1979)48efc7aprefer-add-event-listener: Only fixExpressionStatement, checkoperator(#1955)aca21f2prevent-abbreviations: Improve fix forretVal(#1953)25cd810Fixes
prefer-top-level-await: Fix crash onfor..ofloop (#1950)00a29c8v44.0.2Compare Source
no-array-method-this-argument: Ignorelodash.findLastandlodash.findLastIndex(#1927)86e8addv44.0.1Compare Source
prefer-array-index-of: Add missing message (#1924)a981a13v44.0.0Compare Source
New rules
no-unnecessary-await(#1904)412fc6fswitch-case-braces(#1902)690ed8cImprovements
prefer-array-find: Add option to also prefer.findLast()(#1900)02252c7template-indent: Preserve trailing spaces (#1872)e4071f5no-document-cookie: Checkwindow.document.cookie(#1833)0886544prefer-array-index-of: Prefer.lastIndexOf()over.findLastIndex()(#1896)70e5bddprefer-array-some: Check.findLast()(#1897)3e6ae43prefer-native-coercion-functions: Check.findLastand.findLastIndex(#1893)f2c6accno-array-method-this-argument: Check.findLastand.findLastIndex(#1890)3bc28adno-array-callback-reference: Check.findLastand.findLastIndex(#1889)37a5cdaprefer-negative-index: RemoveArrayBuffer#at(#1899)a10e3f6prefer-at: Improve fix (#1901)1c457bbFixes
no-await-expression-member: Fix crash on TypeScript parser (#1910)b002e75prevent-abbreviations: Skip fix when variable is JSX component (#1907)9ed08abbetter-regexp: Don't fix if.sourceor.toString()is used (#1903)8ad592bv43.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([#&Adding analytics, changing sample markdown titles #8Configuration
📅 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: Enabled.
♻ 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.