|
|
|
env:
|
|
|
|
node: true
|
|
|
|
|
|
|
|
# enable ECMAScript features
|
|
|
|
ecmaFeatures:
|
|
|
|
arrowFunctions: true
|
|
|
|
binaryLiterals: true
|
|
|
|
blockBindings: true
|
|
|
|
classes: true
|
|
|
|
forOf: true
|
|
|
|
generators: true
|
|
|
|
objectLiteralShorthandMethods: true
|
|
|
|
objectLiteralShorthandProperties: true
|
|
|
|
octalLiterals: true
|
|
|
|
templateStrings: true
|
|
|
|
|
|
|
|
rules:
|
|
|
|
# Possible Errors
|
|
|
|
# list: https://github.com/eslint/eslint/tree/master/docs/rules#possible-errors
|
|
|
|
## disallow control characters in regular expressions
|
|
|
|
no-control-regex: 2
|
|
|
|
## check debugger sentence
|
|
|
|
no-debugger: 2
|
|
|
|
## check duplicate arguments
|
|
|
|
no-dupe-args: 2
|
|
|
|
## check duplicate object keys
|
|
|
|
no-dupe-keys: 2
|
|
|
|
## check duplicate switch-case
|
|
|
|
no-duplicate-case: 2
|
|
|
|
## disallow the use of empty character classes in regular expressions
|
|
|
|
no-empty-character-class: 2
|
|
|
|
## disallow assignment of exceptional params
|
|
|
|
no-ex-assign: 2
|
|
|
|
## disallow extra boolean casts
|
|
|
|
no-extra-boolean-cast : 2
|
|
|
|
## disallow superfluous semicolons
|
|
|
|
no-extra-semi: 2
|
|
|
|
## validate regular expressions
|
|
|
|
no-invalid-regexp: 2
|
|
|
|
## forbid weird whitespace characters
|
|
|
|
no-irregular-whitespace: 2
|
|
|
|
## avoid unexpected multiline expressions
|
|
|
|
no-unexpected-multiline: 2
|
|
|
|
## disallow unreachable code
|
|
|
|
no-unreachable: 2
|
|
|
|
## require valid typeof compared string like typeof foo === 'strnig'
|
|
|
|
valid-typeof: 2
|
|
|
|
|
|
|
|
# Best Practices
|
|
|
|
# list: https://github.com/eslint/eslint/tree/master/docs/rules#best-practices
|
|
|
|
## require falls through comment on switch-case
|
|
|
|
no-fallthrough: 2
|
|
|
|
## disallow declaring the same variable more than once
|
|
|
|
no-redeclare: 2
|
|
|
|
|
|
|
|
# Stylistic Issues
|
|
|
|
# list: https://github.com/eslint/eslint/tree/master/docs/rules#stylistic-issues
|
|
|
|
## add space after comma
|
|
|
|
comma-spacing: 2
|
|
|
|
## require newline at end of files
|
|
|
|
eol-last: 2
|
|
|
|
## 2 space indentation
|
|
|
|
indent: [2, 2, {SwitchCase: 1}]
|
|
|
|
## max 80 length
|
|
|
|
max-len: [2, 80, 2]
|
|
|
|
## require parens for Constructor
|
|
|
|
new-parens: 2
|
|
|
|
## max 2 consecutive empty lines
|
|
|
|
no-multiple-empty-lines: [2, {max: 2}]
|
|
|
|
## no trailing spaces
|
|
|
|
no-trailing-spaces: 2
|
|
|
|
## use single quote, we can use double quote when escape chars
|
|
|
|
quotes: [2, "single", "avoid-escape"]
|
|
|
|
## put semi-colon
|
|
|
|
semi: 2
|
|
|
|
## require space after keywords, eg 'for (..)'
|
|
|
|
space-after-keywords: 2
|
|
|
|
## require space before blocks, eg 'function() {'
|
|
|
|
space-before-blocks: [2, "always"]
|
|
|
|
## no space before function, eg. 'function()'
|
|
|
|
space-before-function-paren: [2, "never"]
|
|
|
|
## no leading/trailing spaces in parens
|
|
|
|
space-in-parens: [2, "never"]
|
|
|
|
## require spaces operator like var sum = 1 + 1;
|
|
|
|
space-infix-ops: 2
|
|
|
|
## require spaces return, throw, case
|
|
|
|
space-return-throw-case: 2
|
|
|
|
## no spaces with non-word unary operators, require for word unary operators
|
|
|
|
space-unary-ops: 2
|
|
|
|
|
|
|
|
# ECMAScript 6
|
|
|
|
# list: http://eslint.org/docs/rules/#ecmascript-6
|
|
|
|
## Suggest using 'const' wherever possible
|
|
|
|
prefer-const: 2
|
|
|
|
## Enforce parens around arrow function arguments
|
|
|
|
arrow-parens: [2, "always"]
|
|
|
|
## Require a space on each side of arrow operator
|
|
|
|
arrow-spacing: [2, {"before": true, "after": true}]
|
|
|
|
## Prevent using => in a condition where <= is intended
|
|
|
|
no-arrow-condition: 2
|
|
|
|
|
|
|
|
# Strict Mode
|
|
|
|
# list: https://github.com/eslint/eslint/tree/master/docs/rules#strict-mode
|
|
|
|
## 'use strict' on top
|
|
|
|
strict: [2, "global"]
|
|
|
|
|
|
|
|
# Variables
|
|
|
|
# list: https://github.com/eslint/eslint/tree/master/docs/rules#variables
|
|
|
|
## disallow use of undefined variables (globals)
|
|
|
|
no-undef: 2
|
|
|
|
## disallow declaration of variables that are not used in the code
|
|
|
|
no-unused-vars: [2, {"args": "none"}]
|
|
|
|
|
|
|
|
# Custom rules in tools/eslint-rules
|
|
|
|
require-buffer: 2
|
|
|
|
new-with-error: [2, "Error", "RangeError", "TypeError", "SyntaxError", "ReferenceError"]
|
|
|
|
|
|
|
|
|
|
|
|
# Global scoped method and vars
|
|
|
|
globals:
|
|
|
|
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
|