diff options
author | Shobhit Chittora <chittorashobhit@gmail.com> | 2017-12-17 16:11:34 +0530 |
---|---|---|
committer | Weijia Wang <381152119@qq.com> | 2017-12-26 13:51:53 +0800 |
commit | 639770c8d61572576d8b431802b904ff52b037ed (patch) | |
tree | ef3b5ca00f1f4961515b45212c724ceb189058a7 /tools | |
parent | 8331f571edb27491161589f30e88962dfe436c2c (diff) | |
download | android-node-v8-639770c8d61572576d8b431802b904ff52b037ed.tar.gz android-node-v8-639770c8d61572576d8b431802b904ff52b037ed.tar.bz2 android-node-v8-639770c8d61572576d8b431802b904ff52b037ed.zip |
tools: autofixer for lowercase-name-for-primitive
PR-URL: https://github.com/nodejs/node/pull/17715
Refs: https://github.com/nodejs/node/issues/16636
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Weijia Wang <starkwang@126.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/eslint-rules/lowercase-name-for-primitive.js | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/tools/eslint-rules/lowercase-name-for-primitive.js b/tools/eslint-rules/lowercase-name-for-primitive.js index cb603b62c0..d3a5243c37 100644 --- a/tools/eslint-rules/lowercase-name-for-primitive.js +++ b/tools/eslint-rules/lowercase-name-for-primitive.js @@ -22,22 +22,33 @@ module.exports = function(context) { switch (names.type) { case 'Literal': - checkName(node, names.value); + checkName(names); break; case 'ArrayExpression': names.elements.forEach((name) => { - checkName(node, name.value); + checkName(name); }); break; } } - function checkName(node, name) { + function checkName(node) { + const name = node.value; const lowercaseName = name.toLowerCase(); - if (primitives.includes(lowercaseName) && !primitives.includes(name)) { + if (name !== lowercaseName && primitives.includes(lowercaseName)) { const msg = `primitive should use lowercase: ${name}`; - context.report(node, msg); + context.report({ + node, + message: msg, + fix: (fixer) => { + return fixer.replaceText( + node, + `'${lowercaseName}'` + ); + } + }); } + } return { |