From e6de8102cdca4b71d2f87b7a5f45aba8d06a18d9 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 17 Feb 2022 17:51:15 +0800 Subject: [PATCH] Update `xo` to v0.48.0 (#1735) --- package.json | 2 +- rules/better-regex.js | 4 ++-- rules/catch-error-name.js | 2 +- rules/consistent-destructuring.js | 4 ++-- rules/consistent-function-scoping.js | 6 +++--- rules/new-for-builtins.js | 4 ++-- rules/no-array-callback-reference.js | 2 +- rules/no-hex-escape.js | 2 +- rules/no-invalid-remove-event-listener.js | 2 +- rules/no-keyword-prefix.js | 2 +- rules/no-nested-ternary.js | 2 +- rules/no-new-buffer.js | 2 +- rules/no-null.js | 2 +- rules/no-object-as-default-parameter.js | 2 +- rules/no-process-exit.js | 8 ++++---- rules/no-unsafe-regex.js | 4 ++-- rules/no-useless-undefined.js | 2 +- rules/no-zero-fractions.js | 2 +- rules/number-literal-case.js | 2 +- rules/numeric-separators-style.js | 2 +- rules/prefer-array-flat.js | 4 ++-- rules/prefer-default-parameters.js | 8 ++++---- rules/prefer-includes.js | 4 ++-- rules/prefer-math-trunc.js | 2 +- rules/prefer-negative-index.js | 2 +- rules/prefer-number-properties.js | 4 ++-- rules/prefer-optional-catch-binding.js | 2 +- rules/prefer-reflect-apply.js | 2 +- rules/prefer-set-has.js | 2 +- rules/prefer-string-replace-all.js | 2 +- rules/prefer-type-error.js | 2 +- rules/string-content.js | 2 +- rules/template-indent.js | 2 +- test/integration/test.mjs | 2 +- 34 files changed, 49 insertions(+), 49 deletions(-) diff --git a/package.json b/package.json index 5c69854526..308db52f21 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "outdent": "^0.8.0", "typescript": "^4.5.4", "vue-eslint-parser": "^8.0.1", - "xo": "^0.47.0" + "xo": "^0.48.0" }, "peerDependencies": { "eslint": ">=8.8.0" diff --git a/rules/better-regex.js b/rules/better-regex.js index b08f42acd2..bdeeac002a 100644 --- a/rules/better-regex.js +++ b/rules/better-regex.js @@ -25,7 +25,7 @@ const create = context => { } return { - 'Literal[regex]': node => { + 'Literal[regex]'(node) { const {raw: original, regex} = node; // Regular Expressions with `u` flag are not well handled by `regexp-tree` @@ -63,7 +63,7 @@ const create = context => { fix: fixer => fixer.replaceText(node, optimized), }; }, - [newRegExp]: node => { + [newRegExp](node) { const [patternNode, flagsNode] = node.arguments; if (typeof patternNode.value !== 'string') { diff --git a/rules/catch-error-name.js b/rules/catch-error-name.js index 62be7f9669..c06014b0f8 100644 --- a/rules/catch-error-name.js +++ b/rules/catch-error-name.js @@ -50,7 +50,7 @@ const create = context => { || name.endsWith(expectedName.charAt(0).toUpperCase() + expectedName.slice(1)); return { - [selector]: node => { + [selector](node) { const originalName = node.name; if ( diff --git a/rules/consistent-destructuring.js b/rules/consistent-destructuring.js index 7ddae4baa4..17ddabbe60 100644 --- a/rules/consistent-destructuring.js +++ b/rules/consistent-destructuring.js @@ -57,7 +57,7 @@ const create = context => { const declarations = new Map(); return { - [declaratorSelector]: node => { + [declaratorSelector](node) { // Ignore any complex expressions (e.g. arrays, functions) if (!isSimpleExpression(node.init)) { return; @@ -69,7 +69,7 @@ const create = context => { objectPattern: node.id, }); }, - [memberSelector]: node => { + [memberSelector](node) { const declaration = declarations.get(source.getText(node.object)); if (!declaration) { diff --git a/rules/consistent-function-scoping.js b/rules/consistent-function-scoping.js index 85f057ec1f..802a164cc0 100644 --- a/rules/consistent-function-scoping.js +++ b/rules/consistent-function-scoping.js @@ -159,17 +159,17 @@ const create = context => { const functions = []; return { - ':function': () => { + ':function'() { functions.push(false); }, - JSXElement: () => { + JSXElement() { // Turn off this rule if we see a JSX element because scope // references does not include JSXElement nodes. if (functions.length > 0) { functions[functions.length - 1] = true; } }, - ':function:exit': node => { + ':function:exit'(node) { const currentFunctionHasJsx = functions.pop(); if (currentFunctionHasJsx) { return; diff --git a/rules/new-for-builtins.js b/rules/new-for-builtins.js index 3d3f3f2a48..24a1341bec 100644 --- a/rules/new-for-builtins.js +++ b/rules/new-for-builtins.js @@ -17,7 +17,7 @@ const create = context => { const sourceCode = context.getSourceCode(); return { - [callExpressionSelector(builtins.enforceNew)]: node => { + [callExpressionSelector(builtins.enforceNew)](node) { const {callee, parent} = node; if (isShadowed(context.getScope(), callee)) { return; @@ -42,7 +42,7 @@ const create = context => { fix: fixer => switchCallExpressionToNewExpression(node, sourceCode, fixer), }; }, - [newExpressionSelector(builtins.disallowNew)]: node => { + [newExpressionSelector(builtins.disallowNew)](node) { const {callee} = node; if (isShadowed(context.getScope(), callee)) { diff --git a/rules/no-array-callback-reference.js b/rules/no-array-callback-reference.js index b2d9dc04b0..346e85d08e 100644 --- a/rules/no-array-callback-reference.js +++ b/rules/no-array-callback-reference.js @@ -157,7 +157,7 @@ function getProblem(context, node, method, options) { name, parameters: suggestionParameters, }, - fix: fixer => { + fix(fixer) { const sourceCode = context.getSourceCode(); let nodeText = sourceCode.getText(node); if (isParenthesized(node, sourceCode) || type === 'ConditionalExpression') { diff --git a/rules/no-hex-escape.js b/rules/no-hex-escape.js index f6fc3a7a18..a2856705be 100644 --- a/rules/no-hex-escape.js +++ b/rules/no-hex-escape.js @@ -23,7 +23,7 @@ function checkEscape(context, node, value) { /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - Literal: node => { + Literal(node) { if (node.regex || typeof node.value === 'string') { return checkEscape(context, node, node.raw); } diff --git a/rules/no-invalid-remove-event-listener.js b/rules/no-invalid-remove-event-listener.js index 9d9018b1ea..bb7abe44b2 100644 --- a/rules/no-invalid-remove-event-listener.js +++ b/rules/no-invalid-remove-event-listener.js @@ -23,7 +23,7 @@ const removeEventListenerSelector = [ /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - [removeEventListenerSelector]: node => { + [removeEventListenerSelector](node) { const listener = node.arguments[1]; if (['ArrowFunctionExpression', 'FunctionExpression'].includes(listener.type)) { return { diff --git a/rules/no-keyword-prefix.js b/rules/no-keyword-prefix.js index 31dc78de05..42444dce96 100644 --- a/rules/no-keyword-prefix.js +++ b/rules/no-keyword-prefix.js @@ -102,7 +102,7 @@ const create = context => { } return { - Identifier: node => { + Identifier(node) { const {name, parent} = node; const keyword = findKeywordPrefix(name, options); const effectiveParent = parent.type === 'MemberExpression' ? parent.parent : parent; diff --git a/rules/no-nested-ternary.js b/rules/no-nested-ternary.js index a112c6f684..fd676286ca 100644 --- a/rules/no-nested-ternary.js +++ b/rules/no-nested-ternary.js @@ -18,7 +18,7 @@ const create = context => { [nestTernarySelector(3)]: node => // Nesting more than one level not allowed. ({node, messageId: MESSAGE_ID_TOO_DEEP}), - [nestTernarySelector(2)]: node => { + [nestTernarySelector(2)](node) { if (!isParenthesized(node, sourceCode)) { return { node, diff --git a/rules/no-new-buffer.js b/rules/no-new-buffer.js index c7244aa66b..2b0960602e 100644 --- a/rules/no-new-buffer.js +++ b/rules/no-new-buffer.js @@ -54,7 +54,7 @@ function fix(node, sourceCode, method) { const create = context => { const sourceCode = context.getSourceCode(); return { - [newExpressionSelector('Buffer')]: node => { + [newExpressionSelector('Buffer')](node) { const method = inferMethod(node.arguments, context.getScope()); if (method) { diff --git a/rules/no-null.js b/rules/no-null.js index 494b948dda..7f357232bc 100644 --- a/rules/no-null.js +++ b/rules/no-null.js @@ -40,7 +40,7 @@ const create = context => { }; return { - [selector]: node => { + [selector](node) { const {parent} = node; if (!checkStrictEquality && isStrictEqual(parent)) { return; diff --git a/rules/no-object-as-default-parameter.js b/rules/no-object-as-default-parameter.js index e5af49e9f9..d42c0d5057 100644 --- a/rules/no-object-as-default-parameter.js +++ b/rules/no-object-as-default-parameter.js @@ -15,7 +15,7 @@ const objectParameterSelector = [ /** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ - [objectParameterSelector]: node => { + [objectParameterSelector](node) { const {left, right} = node; if (left.type === 'Identifier') { diff --git a/rules/no-process-exit.js b/rules/no-process-exit.js index 7bc205e577..cbf74bc22a 100644 --- a/rules/no-process-exit.js +++ b/rules/no-process-exit.js @@ -45,20 +45,20 @@ const create = context => { return { // Check `worker_threads` require / import - [importWorkerThreadsSelector]: () => { + [importWorkerThreadsSelector]() { requiredWorkerThreadsModule = true; }, // Check `process.on` / `process.once` call - [processOnOrOnceCallSelector]: node => { + [processOnOrOnceCallSelector](node) { processEventHandler = node; }, // Check `process.exit` call - [processExitCallSelector]: node => { + [processExitCallSelector](node) { if (!processEventHandler) { problemNodes.push(node); } }, - 'CallExpression:exit': node => { + 'CallExpression:exit'(node) { if (node === processEventHandler) { processEventHandler = undefined; } diff --git a/rules/no-unsafe-regex.js b/rules/no-unsafe-regex.js index 1c1d088ccb..0826187cfa 100644 --- a/rules/no-unsafe-regex.js +++ b/rules/no-unsafe-regex.js @@ -14,7 +14,7 @@ const newRegExpSelector = [ /** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ - 'Literal[regex]': node => { + 'Literal[regex]'(node) { // Handle regex literal inside RegExp constructor in the other handler if ( node.parent.type === 'NewExpression' @@ -30,7 +30,7 @@ const create = () => ({ }; } }, - [newRegExpSelector]: node => { + [newRegExpSelector](node) { const arguments_ = node.arguments; const hasRegExp = arguments_[0].regex; diff --git a/rules/no-useless-undefined.js b/rules/no-useless-undefined.js index f6b8194873..e962d112a5 100644 --- a/rules/no-useless-undefined.js +++ b/rules/no-useless-undefined.js @@ -165,7 +165,7 @@ const create = context => { start: firstUndefined.loc.start, end: lastUndefined.loc.end, }, - fix: fixer => { + fix(fixer) { let start = firstUndefined.range[0]; let end = lastUndefined.range[1]; diff --git a/rules/no-zero-fractions.js b/rules/no-zero-fractions.js index 9174477139..ea88abf47f 100644 --- a/rules/no-zero-fractions.js +++ b/rules/no-zero-fractions.js @@ -14,7 +14,7 @@ const messages = { /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - Literal: node => { + Literal(node) { if (!isNumber(node)) { return; } diff --git a/rules/number-literal-case.js b/rules/number-literal-case.js index bbc0eb57a9..644b559e57 100644 --- a/rules/number-literal-case.js +++ b/rules/number-literal-case.js @@ -18,7 +18,7 @@ const fix = raw => { /** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ - Literal: node => { + Literal(node) { const {raw} = node; let fixed = raw; diff --git a/rules/numeric-separators-style.js b/rules/numeric-separators-style.js index d257928ed1..b492c10582 100644 --- a/rules/numeric-separators-style.js +++ b/rules/numeric-separators-style.js @@ -97,7 +97,7 @@ const create = context => { }; return { - Literal: node => { + Literal(node) { if (!numeric.isNumeric(node) || numeric.isLegacyOctal(node)) { return; } diff --git a/rules/prefer-array-flat.js b/rules/prefer-array-flat.js index 539c495dca..47d7406100 100644 --- a/rules/prefer-array-flat.js +++ b/rules/prefer-array-flat.js @@ -102,7 +102,7 @@ const emptyArrayConcat = { }), emptyArraySelector('callee.object'), ].join(''), - getArrayNode: node => { + getArrayNode(node) { const argumentNode = node.arguments[0]; return argumentNode.type === 'SpreadElement' ? argumentNode.argument : argumentNode; }, @@ -127,7 +127,7 @@ const arrayPrototypeConcat = { }), ].join(''), testFunction: node => node.arguments[1].type !== 'SpreadElement' || node.callee.property.name === 'call', - getArrayNode: node => { + getArrayNode(node) { const argumentNode = node.arguments[1]; return argumentNode.type === 'SpreadElement' ? argumentNode.argument : argumentNode; }, diff --git a/rules/prefer-default-parameters.js b/rules/prefer-default-parameters.js index baea1001d3..2704b74950 100644 --- a/rules/prefer-default-parameters.js +++ b/rules/prefer-default-parameters.js @@ -190,18 +190,18 @@ const create = context => { }; return { - ':function': node => { + ':function'(node) { functionStack.push(node); }, - ':function:exit': () => { + ':function:exit'() { functionStack.pop(); }, - [assignmentSelector]: node => { + [assignmentSelector](node) { const {left, right} = node.expression; return checkExpression(node, left, right, true); }, - [declarationSelector]: node => { + [declarationSelector](node) { const {id, init} = node.declarations[0]; return checkExpression(node, id, init, false); diff --git a/rules/prefer-includes.js b/rules/prefer-includes.js index 63ca5f87d0..99326e34eb 100644 --- a/rules/prefer-includes.js +++ b/rules/prefer-includes.js @@ -30,7 +30,7 @@ const getProblem = (context, node, target, argumentsNodes) => { return { node: memberExpressionNode.property, messageId: MESSAGE_ID, - fix: fixer => { + fix(fixer) { const replacement = `${isNegativeResult(node) ? '!' : ''}${targetSource}.includes(${argumentsSource.join(', ')})`; return fixer.replaceText(node, replacement); }, @@ -44,7 +44,7 @@ const includesOverSomeRule = simpleArraySearchRule({ /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - BinaryExpression: node => { + BinaryExpression(node) { const {left, right, operator} = node; if (!isMethodNamed(left, 'indexOf')) { diff --git a/rules/prefer-math-trunc.js b/rules/prefer-math-trunc.js index dc956e0619..c54be2fed8 100644 --- a/rules/prefer-math-trunc.js +++ b/rules/prefer-math-trunc.js @@ -40,7 +40,7 @@ const create = context => { }; return { - ':matches(BinaryExpression, AssignmentExpression)[right.type="Literal"]': node => { + ':matches(BinaryExpression, AssignmentExpression)[right.type="Literal"]'(node) { const {type, operator, right, left} = node; const isAssignment = type === 'AssignmentExpression'; if ( diff --git a/rules/prefer-negative-index.js b/rules/prefer-negative-index.js index aa3d7dfc09..1c647e0cff 100644 --- a/rules/prefer-negative-index.js +++ b/rules/prefer-negative-index.js @@ -132,7 +132,7 @@ function parse(node) { /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - 'CallExpression[callee.type="MemberExpression"]': node => { + 'CallExpression[callee.type="MemberExpression"]'(node) { const parsed = parse(node); if (!parsed) { diff --git a/rules/prefer-number-properties.js b/rules/prefer-number-properties.js index 33a8338841..3c4bb215b4 100644 --- a/rules/prefer-number-properties.js +++ b/rules/prefer-number-properties.js @@ -50,7 +50,7 @@ const create = context => { const reported = new WeakSet(); return { - [methodsSelector]: node => { + [methodsSelector](node) { if (isShadowed(context.getScope(), node)) { return; } @@ -84,7 +84,7 @@ const create = context => { return problem; }, - [propertiesSelector]: node => { + [propertiesSelector](node) { if (reported.has(node) || isShadowed(context.getScope(), node)) { return; } diff --git a/rules/prefer-optional-catch-binding.js b/rules/prefer-optional-catch-binding.js index 17934ee5e4..9bcd2a74e6 100644 --- a/rules/prefer-optional-catch-binding.js +++ b/rules/prefer-optional-catch-binding.js @@ -17,7 +17,7 @@ const selector = [ /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - [selector]: node => { + [selector](node) { const variables = context.getDeclaredVariables(node.parent); if (variables.some(variable => variable.references.length > 0)) { diff --git a/rules/prefer-reflect-apply.js b/rules/prefer-reflect-apply.js index b0965982e6..8f9feb5009 100644 --- a/rules/prefer-reflect-apply.js +++ b/rules/prefer-reflect-apply.js @@ -66,7 +66,7 @@ const fixFunctionPrototypeCall = (node, sourceCode) => { /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - [selector]: node => { + [selector](node) { const sourceCode = context.getSourceCode(); const fix = fixDirectApplyCall(node, sourceCode) || fixFunctionPrototypeCall(node, sourceCode); if (fix) { diff --git a/rules/prefer-set-has.js b/rules/prefer-set-has.js index a966c9db4c..01d38ee2e3 100644 --- a/rules/prefer-set-has.js +++ b/rules/prefer-set-has.js @@ -126,7 +126,7 @@ const isMultipleCall = (identifier, node) => { /** @param {import('eslint').Rule.RuleContext} context */ const create = context => ({ - [selector]: node => { + [selector](node) { const variable = findVariable(context.getScope(), node); // This was reported https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1075#issuecomment-768073342 diff --git a/rules/prefer-string-replace-all.js b/rules/prefer-string-replace-all.js index 3728ab5bce..332c1d48da 100644 --- a/rules/prefer-string-replace-all.js +++ b/rules/prefer-string-replace-all.js @@ -44,7 +44,7 @@ function removeEscapeCharacters(regexString) { /** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ - [selector]: node => { + [selector](node) { const {arguments: arguments_, callee} = node; const [search] = arguments_; diff --git a/rules/prefer-type-error.js b/rules/prefer-type-error.js index 3f288ce942..3772b0016f 100644 --- a/rules/prefer-type-error.js +++ b/rules/prefer-type-error.js @@ -112,7 +112,7 @@ const isTypechecking = node => node.type === 'IfStatement' && isTypecheckingExpr /** @param {import('eslint').Rule.RuleContext} context */ const create = () => ({ - [selector]: node => { + [selector](node) { if ( isLone(node) && node.parent.parent diff --git a/rules/string-content.js b/rules/string-content.js index d8afa4d3fc..fd04b2af64 100644 --- a/rules/string-content.js +++ b/rules/string-content.js @@ -74,7 +74,7 @@ const create = context => { } return { - 'Literal, TemplateElement': node => { + 'Literal, TemplateElement'(node) { const {type, value, raw} = node; let string; diff --git a/rules/template-indent.js b/rules/template-indent.js index 1c084cee16..7b263fc49e 100644 --- a/rules/template-indent.js +++ b/rules/template-indent.js @@ -88,7 +88,7 @@ const create = context => { return { /** @param {import('@babel/core').types.TemplateLiteral} node */ - TemplateLiteral: node => { + TemplateLiteral(node) { if (options.comments.length > 0) { const previousToken = sourceCode.getTokenBefore(node, {includeComments: true}); if (previousToken && previousToken.type === 'Block' && options.comments.includes(previousToken.value.trim().toLowerCase())) { diff --git a/test/integration/test.mjs b/test/integration/test.mjs index 17d7a707a0..66b0cef786 100644 --- a/test/integration/test.mjs +++ b/test/integration/test.mjs @@ -129,7 +129,7 @@ const list = new Listr([ }, { title: 'Integration tests', - task: () => { + task() { const tests = new Listr({concurrent: true}); for (const project of projects) {