summaryrefslogtreecommitdiff
path: root/.eslintrc.yaml
blob: feb944f40bf77415e05b306399ec76cb19819bf8 (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
env:
  node: true
  es6: true

parserOptions:
  ecmaVersion: 2017

rules:
  # Possible Errors
  # http://eslint.org/docs/rules/#possible-errors
  comma-dangle: [2, only-multiline]
  no-control-regex: 2
  no-debugger: 2
  no-dupe-args: 2
  no-dupe-keys: 2
  no-duplicate-case: 2
  no-empty-character-class: 2
  no-ex-assign: 2
  no-extra-boolean-cast: 2
  no-extra-parens: [2, functions]
  no-extra-semi: 2
  no-func-assign: 2
  no-invalid-regexp: 2
  no-irregular-whitespace: 2
  no-obj-calls: 2
  no-proto: 2
  no-template-curly-in-string: 2
  no-unexpected-multiline: 2
  no-unreachable: 2
  no-unsafe-negation: 2
  use-isnan: 2
  valid-typeof: 2

  # Best Practices
  # http://eslint.org/docs/rules/#best-practices
  dot-location: [2, property]
  no-fallthrough: 2
  no-global-assign: 2
  no-multi-spaces: 2
  no-octal: 2
  no-redeclare: 2
  no-self-assign: 2
  no-throw-literal: 2
  no-unused-labels: 2
  no-useless-call: 2
  no-useless-escape: 2
  no-void: 2
  no-with: 2

  # Strict Mode
  # http://eslint.org/docs/rules/#strict-mode
  strict: [2, global]

  # Variables
  # http://eslint.org/docs/rules/#variables
  no-delete-var: 2
  no-undef: 2
  no-unused-vars: [2, {args: none}]

  # Node.js and CommonJS
  # http://eslint.org/docs/rules/#nodejs-and-commonjs
  no-mixed-requires: 2
  no-new-require: 2
  no-path-concat: 2
  no-restricted-modules: [2, sys, _linklist]
  no-restricted-properties:
    - 2
    - object: assert
      property: deepEqual
      message: Use assert.deepStrictEqual().
    - object: assert
      property: equal
      message: Use assert.strictEqual() rather than assert.equal().
    - object: assert
      property: notEqual
      message: Use assert.notStrictEqual() rather than assert.notEqual().
    - property: __defineGetter__
      message: __defineGetter__ is deprecated.
    - property: __defineSetter__,
      message: __defineSetter__ is deprecated.

  # Stylistic Issues
  # http://eslint.org/docs/rules/#stylistic-issues
  block-spacing: 2
  brace-style: [2, 1tbs, {allowSingleLine: true}]
  comma-spacing: 2
  comma-style: 2
  computed-property-spacing: 2
  eol-last: 2
  func-call-spacing: 2
  func-name-matching: 2
  indent: [2, 2, {ArrayExpression: first,
                  CallExpression: {arguments: first},
                  MemberExpression: 1,
                  ObjectExpression: first,
                  SwitchCase: 1}]
  key-spacing: [2, {mode: minimum}]
  keyword-spacing: 2
  linebreak-style: [2, unix]
  max-len: [2, 80, 2]
  new-parens: 2
  no-mixed-spaces-and-tabs: 2
  no-multiple-empty-lines: [2, {max: 2, maxEOF: 0, maxBOF: 0}]
  no-tabs: 2
  no-trailing-spaces: 2
  operator-linebreak: [2, after]
  quotes: [2, single, avoid-escape]
  semi: 2
  semi-spacing: 2
  space-before-blocks: [2, always]
  space-before-function-paren: [2, never]
  space-in-parens: [2, never]
  space-infix-ops: 2
  space-unary-ops: 2

  # ECMAScript 6
  # http://eslint.org/docs/rules/#ecmascript-6
  arrow-parens: [2, always]
  arrow-spacing: [2, {before: true, after: true}]
  constructor-super: 2
  no-class-assign: 2
  no-confusing-arrow: 2
  no-const-assign: 2
  no-dupe-class-members: 2
  no-new-symbol: 2
  no-this-before-super: 2
  prefer-const: [2, {ignoreReadBeforeAssign: true}]
  rest-spread-spacing: 2
  template-curly-spacing: 2

  # Custom rules in tools/eslint-rules
  align-multiline-assignment: 2
  assert-fail-single-argument: 2
  assert-throws-arguments: [2, { requireTwo: false }]
  new-with-error: [2, Error, RangeError, TypeError, SyntaxError, ReferenceError]
  timer-arguments: 2

# Global scoped method and vars
globals:
  COUNTER_HTTP_CLIENT_REQUEST: false
  COUNTER_HTTP_CLIENT_RESPONSE: false
  COUNTER_HTTP_SERVER_REQUEST: false
  COUNTER_HTTP_SERVER_RESPONSE: false
  COUNTER_NET_SERVER_CONNECTION: false
  COUNTER_NET_SERVER_CONNECTION_CLOSE: false
  DTRACE_HTTP_CLIENT_REQUEST: false
  DTRACE_HTTP_CLIENT_RESPONSE: false
  DTRACE_HTTP_SERVER_REQUEST: false
  DTRACE_HTTP_SERVER_RESPONSE: false
  DTRACE_NET_SERVER_CONNECTION: false
  DTRACE_NET_STREAM_END: false
  LTTNG_HTTP_CLIENT_REQUEST: false
  LTTNG_HTTP_CLIENT_RESPONSE: false
  LTTNG_HTTP_SERVER_REQUEST: false
  LTTNG_HTTP_SERVER_RESPONSE: false
  LTTNG_NET_SERVER_CONNECTION: false
  LTTNG_NET_STREAM_END: false