Skip to content

Commit

Permalink
Fix: no-unused-vars 1 arg arrow fns (#74)
Browse files Browse the repository at this point in the history
  • Loading branch information
Pavel Kolář committed May 12, 2021
1 parent 6f4947b commit dcb6993
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 2 deletions.
18 changes: 16 additions & 2 deletions packages/autofix/lib/rules/no-unused-vars.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,18 +116,32 @@ module.exports = ruleComposer.mapReports(
return fixer.insertTextBefore(node, prefix);
}
case "after-used": {
const tokenBefore = sourceCode.getTokenBefore(node)
const tokenAfter = sourceCode.getTokenAfter(node)

if (
parent.params.length === 1 &&
!(tokenBefore && tokenBefore.value === '(') &&
!(tokenAfter && tokenAfter.value === ')')
) {
return [
fixer.insertTextBefore(node, '('),
fixer.insertTextAfter(node, ')'),
fixer.remove(node)
]
}

const comma = sourceCode.getTokenBefore(node, commaFilter);

if (comma && comma.range && grand.range && comma.range[0] >= grand.range[0]) {
return [fixer.remove(comma), fixer.remove(node)];
}
const commaAfter = sourceCode.getTokenAfter(node, commaFilter);
const commaAfter = sourceCode.getTokenAfter(node, commaFilter);

if (commaAfter && commaAfter.range && grand.range && commaAfter.range[1] <= grand.range[1]) {
return [fixer.remove(node), fixer.remove(commaAfter)];
}


return [fixer.remove(node)];
}
default:
Expand Down
24 changes: 24 additions & 0 deletions packages/autofix/tests/lib/rules/no-unused-vars.js
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,30 @@ ruleTester.run("no-unused-vars", rule, {
argsIgnorePattern: "^_"
}]
},
{
code: "const foo = (a) => {}; foo();",
output: "const foo = () => {}; foo();",
parserOptions: { ecmaVersion: 2018 },
errors: [
{ type: "Identifier" }
],
options: [{
args: "after-used",
argsIgnorePattern: "^_",
}]
},
{
code: "const foo = a => {}; foo();",
output: "const foo = () => {}; foo();",
parserOptions: { ecmaVersion: 2018 },
errors: [
{ type: "Identifier" }
],
options: [{
args: "after-used",
argsIgnorePattern: "^_",
}]
},
{
code: "function foo(a, b, c){console.log(b);}; foo(1, 2, 3);",
output: "function foo(_a, b, _c){console.log(b);}; foo(1, 2, 3);",
Expand Down

0 comments on commit dcb6993

Please sign in to comment.