Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 19c0127

Browse filesBrowse files
authored
fix: improve message for no-console suggestions (#19483)
1 parent fbdeff0 commit 19c0127
Copy full SHA for 19c0127

File tree

Expand file treeCollapse file tree

2 files changed

+41
-11
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+41
-11
lines changed

‎lib/rules/no-console.js

Copy file name to clipboardExpand all lines: lib/rules/no-console.js
+19-11Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ module.exports = {
5050
messages: {
5151
unexpected: "Unexpected console statement.",
5252
limited: "Unexpected console statement. Only these console methods are allowed: {{ allowed }}.",
53-
removeConsole: "Remove the console.{{ propertyName }}()."
53+
removeConsole: "Remove the console.{{ propertyName }}().",
54+
removeMethodCall: "Remove the console method call."
5455
}
5556
},
5657

@@ -165,22 +166,29 @@ module.exports = {
165166
function report(reference) {
166167
const node = reference.identifier.parent;
167168

168-
const propertyName = astUtils.getStaticPropertyName(node);
169+
const suggest = [];
170+
171+
if (canProvideSuggestions(node)) {
172+
const suggestion = {
173+
fix(fixer) {
174+
return fixer.remove(node.parent.parent);
175+
}
176+
};
169177

178+
if (node.computed) {
179+
suggestion.messageId = "removeMethodCall";
180+
} else {
181+
suggestion.messageId = "removeConsole";
182+
suggestion.data = { propertyName: node.property.name };
183+
}
184+
suggest.push(suggestion);
185+
}
170186
context.report({
171187
node,
172188
loc: node.loc,
173189
messageId: allowed.length ? "limited" : "unexpected",
174190
data: { allowed: allowed.join(", ") },
175-
suggest: canProvideSuggestions(node)
176-
? [{
177-
messageId: "removeConsole",
178-
data: { propertyName },
179-
fix(fixer) {
180-
return fixer.remove(node.parent.parent);
181-
}
182-
}]
183-
: []
191+
suggest
184192
});
185193
}
186194

‎tests/lib/rules/no-console.js

Copy file name to clipboardExpand all lines: tests/lib/rules/no-console.js
+22Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,28 @@ ruleTester.run("no-console", rule, {
426426
}]
427427
}]
428428
},
429+
{
430+
code: "console[foo](bar)",
431+
errors: [{
432+
messageId: "unexpected",
433+
type: "MemberExpression",
434+
suggestions: [{
435+
messageId: "removeMethodCall",
436+
output: ""
437+
}]
438+
}]
439+
},
440+
{
441+
code: "console[0](foo)",
442+
errors: [{
443+
messageId: "unexpected",
444+
type: "MemberExpression",
445+
suggestions: [{
446+
messageId: "removeMethodCall",
447+
output: ""
448+
}]
449+
}]
450+
},
429451

430452
// In case that implicit global variable of 'console' exists
431453
{

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.