From b611caa0bad4c9db6d03ff5e97765a9d3f595856 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 10 Feb 2016 15:05:36 -0800 Subject: [PATCH] tools: add recommended linting rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change adds ESLint rules that meet two criteria: * recommended by ESLint * require no code changes These rules are: * `no-func-assign`: Disallow overwriting a function that was written as a function declaration. * `no-negated-in-lhs`: Disallow negated left operand of `in` operator. It prevents `if(!a in b)` when `if(!(a in b))` is intended. * `no-obj-calls`: Disallow global object function calls. It prevents errors like `JSON()` and `Math()`. to exercise the code in tests or whatever, it can sneak in. * `use-isnan`: Prevents errors like `if (foo == NaN)` * `no-octal`: Disallows confusing constructs like `var num = 071;` * `no-delete-var`: Delete works on properties, not variables. Disallows `delete foo`. PR-URL: https://github.com/nodejs/node/pull/5188 Reviewed-By: targos - Michaƫl Zasso Reviewed-By: Sakthipriyan Vairamani --- .eslintrc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.eslintrc b/.eslintrc index 624c46e8b9c546..3d5adcebcb507d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -26,16 +26,21 @@ rules: no-ex-assign: 2 no-extra-boolean-cast : 2 no-extra-semi: 2 + no-func-assign: 2 no-invalid-regexp: 2 no-irregular-whitespace: 2 + no-negated-in-lhs: 2 + no-obj-calls: 2 no-proto: 2 no-unexpected-multiline: 2 no-unreachable: 2 + use-isnan: 2 valid-typeof: 2 # Best Practices # https://github.com/eslint/eslint/tree/master/docs/rules#best-practices no-fallthrough: 2 + no-octal: 2 no-redeclare: 2 # Stylistic Issues @@ -71,6 +76,7 @@ rules: # Variables # https://github.com/eslint/eslint/tree/master/docs/rules#variables + no-delete-var: 2 no-undef: 2 no-unused-vars: [2, {"args": "none"}]