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 # 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"] ## 2 space indentation indent: [2, 2, {SwitchCase: 1}] ## add space after comma comma-spacing: 2 ## put semi-colon semi: 2 ## require spaces operator like var sum = 1 + 1; space-infix-ops: 2 ## require spaces return, throw, case space-return-throw-case: 2 ## no space before function, eg. 'function()' space-before-function-paren: [2, "never"] ## require space before blocks, eg 'function() {' space-before-blocks: [2, "always"] ## require parens for Constructor new-parens: 2 ## max 80 length max-len: [2, 80, 2] ## max 2 consecutive empty lines no-multiple-empty-lines: [2, {max: 2}] ## require newline at end of files eol-last: 2 ## no trailing spaces no-trailing-spaces: 2 ## require space after keywords, eg 'for (..)' space-after-keywords: 2 ## no leading/trailing spaces in parens space-in-parens: [2, "never"] ## 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 # 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