summaryrefslogtreecommitdiff
path: root/.eslintrc
blob: 0bf34c83908c72d38261fc053516caaa0d0c5915 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
env:
  node: true

# enable ECMAScript features
ecmaFeatures:
  blockBindings: true
  templateStrings: true
  octalLiterals: true
  binaryLiterals: true
  generators: true
  forOf: true
  objectLiteralShorthandProperties: true
  objectLiteralShorthandMethods: true
  classes: true

rules:
  # Possible Errors
  # list: https://github.com/eslint/eslint/tree/master/docs/rules#possible-errors
  ## 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 assignment of exceptional params
  no-ex-assign: 2
  ## disallow use of reserved words as keys like enum, class
  no-reserved-keys: 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]
  ## 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

  # 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

  # Custom rules in tools/eslint-rules
  require-buffer: 2

# 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
  escape                               : false
  unescape                             : false