mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
tools: add fixer for no-let-in-for-declaration
PR-URL: https://github.com/nodejs/node/pull/16642 Refs: https://github.com/nodejs/node/issues/16636 Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
This commit is contained in:
1 parent
92f86632d5
commit
04ffa36e23
2 files changed
+16
-3
No files matched your search
@@ -24,14 +24,17 @@ ruleTester.run('no-let-in-for-declaration', rule, {
|
||||
invalid: [
|
||||
{
|
||||
code: 'for (let foo = 1;;);',
|
||||
output: 'for (var foo = 1;;);',
|
||||
errors: [{ message }]
|
||||
},
|
||||
{
|
||||
code: 'for (let foo in bar);',
|
||||
output: 'for (var foo in bar);',
|
||||
errors: [{ message }]
|
||||
},
|
||||
{
|
||||
code: 'for (let foo of bar);',
|
||||
output: 'for (var foo of bar);',
|
||||
errors: [{ message }]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
module.exports = {
|
||||
create(context) {
|
||||
|
||||
const sourceCode = context.getSourceCode();
|
||||
const msg = 'Use of `let` as the loop variable in a for-loop is ' +
|
||||
'not recommended. Please use `var` instead.';
|
||||
|
||||
@@ -23,7 +23,12 @@ module.exports = {
|
||||
*/
|
||||
function testForLoop(node) {
|
||||
if (node.init && node.init.kind === 'let') {
|
||||
context.report(node.init, msg);
|
||||
context.report({
|
||||
node: node.init,
|
||||
message: msg,
|
||||
fix: (fixer) =>
|
||||
fixer.replaceText(sourceCode.getFirstToken(node.init), 'var')
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +38,12 @@ module.exports = {
|
||||
*/
|
||||
function testForInOfLoop(node) {
|
||||
if (node.left && node.left.kind === 'let') {
|
||||
context.report(node.left, msg);
|
||||
context.report({
|
||||
node: node.left,
|
||||
message: msg,
|
||||
fix: (fixer) =>
|
||||
fixer.replaceText(sourceCode.getFirstToken(node.left), 'var')
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user