Skip to content
This repository was archived by the owner on Oct 3, 2024. It is now read-only.

Commit 94005e9

Browse files
improve suggestion for 'no-redundant-jump' (#343)
1 parent 4f7f4db commit 94005e9

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

src/rules/no-redundant-jump.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,21 @@ const rule: TSESLint.RuleModule<string, string[]> = {
4545
if (!withArgument) {
4646
const block = node.parent as TSESTree.BlockStatement;
4747
if (block.body[block.body.length - 1] === node && block.body.length > 1) {
48+
const previousComments = context.getSourceCode().getCommentsBefore(node);
49+
const previousToken =
50+
previousComments.length === 0
51+
? context.getSourceCode().getTokenBefore(node)!
52+
: previousComments[previousComments.length - 1];
53+
4854
context.report({
4955
messageId: 'removeRedundantJump',
5056
node,
51-
suggest: [{ messageId: 'suggestJumpRemoval', fix: fixer => fixer.remove(node) }],
57+
suggest: [
58+
{
59+
messageId: 'suggestJumpRemoval',
60+
fix: fixer => fixer.removeRange([previousToken.range[1], node.range[1]]),
61+
},
62+
],
5263
});
5364
}
5465
}

tests/rules/no-redundant-jump.test.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,32 @@ ruleTester.run('Jump statements should not be redundant', rule, {
100100
{
101101
messageId: 'removeRedundantJump',
102102
suggestions: [
103-
{ messageId: 'suggestJumpRemoval', output: `function foo(x) { console.log(x); }` },
103+
{ messageId: 'suggestJumpRemoval', output: `function foo(x) { console.log(x); }` },
104+
],
105+
},
106+
],
107+
},
108+
{
109+
code: `
110+
function foo(x) {
111+
console.log(x);
112+
// comment1
113+
// comment2
114+
return;
115+
}`,
116+
errors: [
117+
{
118+
messageId: 'removeRedundantJump',
119+
suggestions: [
120+
{
121+
messageId: 'suggestJumpRemoval',
122+
output: `
123+
function foo(x) {
124+
console.log(x);
125+
// comment1
126+
// comment2
127+
}`,
128+
},
104129
],
105130
},
106131
],

0 commit comments

Comments
 (0)