Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Reiss <me@silverwind.io>2015-06-11 20:08:25 +0300
committerRoman Reiss <me@silverwind.io>2015-06-11 21:27:35 +0300
commit6e4d30286d7305335b14762271a25f5dbc5c63c0 (patch)
treec47041787c2eb7284842104a2d8774e000787182
parentb5b8ff117c8581945d0c8c3a4b18d53f4b33b86f (diff)
tools: enable/add additional eslint rules
Enables the following rules: - no-undef: Valuable rule to error on usage of undefined variables - require-buffer: Custom rule that forbids usage of the global Buffer inside lib/ because of REPL issues. PR-URL: https://github.com/nodejs/io.js/pull/1794 Reviewed-By: Trevor Norris <trev.norris@gmail.com>
-rw-r--r--.eslintignore1
-rw-r--r--.eslintrc64
-rw-r--r--Makefile2
-rw-r--r--lib/buffer.js1
-rw-r--r--test/.eslintrc7
-rw-r--r--tools/eslint-rules/require-buffer.js16
-rw-r--r--vcbuild.bat2
7 files changed, 59 insertions, 34 deletions
diff --git a/.eslintignore b/.eslintignore
index 46a631963a4..da42fb9d77a 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -3,3 +3,4 @@ test/addons/doc-*/
test/fixtures
test/**/node_modules
test/parallel/test-fs-non-number-arguments-throw.js
+test/disabled
diff --git a/.eslintrc b/.eslintrc
index 0c43234c594..7b2b1512398 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -39,14 +39,9 @@ rules:
# Stylistic Issues
# list: https://github.com/eslint/eslint/tree/master/docs/rules#stylistic-issues
## use single quote, we can use double quote when escape chars
- quotes:
- - 2
- - "single"
- - "avoid-escape"
+ quotes: [2, "single", "avoid-escape"]
## 2 space indentation
- indent:
- - 2
- - 2
+ indent: [2, 2]
## add space after comma
## set to 'warn' because of https://github.com/eslint/eslint/issues/2408
comma-spacing: 1
@@ -63,35 +58,40 @@ rules:
## require parens for Constructor
new-parens: 2
## max 80 length
- max-len:
- - 2
- - 80
- - 2
+ max-len: [2, 80, 2]
# Strict Mode
# list: https://github.com/eslint/eslint/tree/master/docs/rules#strict-mode
## 'use strict' on top
- strict:
- - 2
- - "global"
+ strict: [2, "global"]
+
+ # Variables
+ # list: https://github.com/eslint/eslint/tree/master/docs/rules#variables
+ ## disallow use of undefined variables (globals)
+ no-undef: 2
+
+ # Custom rules in tools/eslint-rules
+ require-buffer: 2
# Global scoped method and vars
globals:
- DTRACE_HTTP_CLIENT_REQUEST: true
- LTTNG_HTTP_CLIENT_REQUEST: true
- COUNTER_HTTP_CLIENT_REQUEST: true
- DTRACE_HTTP_CLIENT_RESPONSE: true
- LTTNG_HTTP_CLIENT_RESPONSE: true
- COUNTER_HTTP_CLIENT_RESPONSE: true
- DTRACE_HTTP_SERVER_REQUEST: true
- LTTNG_HTTP_SERVER_REQUEST: true
- COUNTER_HTTP_SERVER_REQUEST: true
- DTRACE_HTTP_SERVER_RESPONSE: true
- LTTNG_HTTP_SERVER_RESPONSE: true
- COUNTER_HTTP_SERVER_RESPONSE: true
- DTRACE_NET_STREAM_END: true
- LTTNG_NET_STREAM_END: true
- COUNTER_NET_SERVER_CONNECTION_CLOSE: true
- DTRACE_NET_SERVER_CONNECTION: true
- LTTNG_NET_SERVER_CONNECTION: true
- COUNTER_NET_SERVER_CONNECTION: true
+ DTRACE_HTTP_CLIENT_REQUEST : false
+ LTTNG_HTTP_CLIENT_REQUEST : false
+ COUNTER_HTTP_CLIENT_REQUEST : false
+ DTRACE_HTTP_CLIENT_RESPONSE : false
+ LTTNG_HTTP_CLIENT_RESPONSE : false
+ COUNTER_HTTP_CLIENT_RESPONSE : false
+ DTRACE_HTTP_SERVER_REQUEST : false
+ LTTNG_HTTP_SERVER_REQUEST : false
+ COUNTER_HTTP_SERVER_REQUEST : false
+ DTRACE_HTTP_SERVER_RESPONSE : false
+ LTTNG_HTTP_SERVER_RESPONSE : false
+ COUNTER_HTTP_SERVER_RESPONSE : false
+ DTRACE_NET_STREAM_END : false
+ LTTNG_NET_STREAM_END : false
+ COUNTER_NET_SERVER_CONNECTION_CLOSE : false
+ DTRACE_NET_SERVER_CONNECTION : false
+ LTTNG_NET_SERVER_CONNECTION : false
+ COUNTER_NET_SERVER_CONNECTION : false
+ escape : false
+ unescape : false
diff --git a/Makefile b/Makefile
index 94f130f5fb3..adebf50a0f2 100644
--- a/Makefile
+++ b/Makefile
@@ -375,7 +375,7 @@ bench-idle:
./$(NODE_EXE) benchmark/idle_clients.js &
jslint:
- ./$(NODE_EXE) tools/eslint/bin/eslint.js src lib test --reset --quiet
+ ./$(NODE_EXE) tools/eslint/bin/eslint.js src lib test --rulesdir tools/eslint-rules --reset --quiet
CPPLINT_EXCLUDE ?=
CPPLINT_EXCLUDE += src/node_lttng.cc
diff --git a/lib/buffer.js b/lib/buffer.js
index ccd899da5f3..81fe904a8b7 100644
--- a/lib/buffer.js
+++ b/lib/buffer.js
@@ -1,3 +1,4 @@
+/* eslint-disable require-buffer */
'use strict';
const binding = process.binding('buffer');
diff --git a/test/.eslintrc b/test/.eslintrc
index d5d95584ea6..608c62dff5f 100644
--- a/test/.eslintrc
+++ b/test/.eslintrc
@@ -3,3 +3,10 @@
rules:
## allow unreachable code
no-unreachable: 0
+ ## allow undeclared variables
+ no-undef: 0
+ ## allow global Buffer usage
+ require-buffer: 0
+
+globals:
+ gc: false
diff --git a/tools/eslint-rules/require-buffer.js b/tools/eslint-rules/require-buffer.js
new file mode 100644
index 00000000000..7a975df58a6
--- /dev/null
+++ b/tools/eslint-rules/require-buffer.js
@@ -0,0 +1,16 @@
+'use strict';
+
+const msg = 'Use const Buffer = require(\'buffer\').Buffer; ' +
+ 'at the beginning of this file';
+
+module.exports = function(context) {
+ return {
+ 'Program:exit': function() {
+ context.getScope().through.forEach(function(ref) {
+ if (ref.identifier.name === 'Buffer') {
+ context.report(ref.identifier, msg);
+ }
+ });
+ }
+ }
+}
diff --git a/vcbuild.bat b/vcbuild.bat
index 21e8d5411a7..2bfdb890d54 100644
--- a/vcbuild.bat
+++ b/vcbuild.bat
@@ -181,7 +181,7 @@ goto jslint
:jslint
if not defined jslint goto exit
echo running jslint
-%config%\iojs tools\eslint\bin\eslint.js src lib test --reset --quiet
+%config%\iojs tools\eslint\bin\eslint.js src lib test --rulesdir tools\eslint-rules --reset --quiet
goto exit
:create-msvs-files-failed