-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.yaml
316 lines (291 loc) · 19 KB
/
.eslintrc.yaml
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
# http://eslint.org/docs/rules/ - Disallow everything (documents what is not used) with 0. If not 0, rule is enabled (moved up).
env:
browser: true # browser global variables.
es6: true # enable all ECMAScript 6 features except for modules.
jquery: true # jQuery global variables.
node: false # Node.js global variables and Node.js scoping.
commonjs: false # CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack).
worker: false # web workers global variables.
amd: false # defines require() and define() as global variables as per the amd spec.
mocha: false # adds all of the Mocha testing global variables.
jasmine: false # adds all of the Jasmine testing global variables for version 1.3 and 2.0.
jest: false # Jest global variables.
phantomjs: false # PhantomJS global variables.
protractor: false # Protractor global variables.
qunit: false # QUnit global variables.
prototypejs: false # Prototype.js global variables.
shelljs: false # ShellJS global variables.
meteor: false # Meteor global variables.
mongo: false # MongoDB global variables.
applescript: false # AppleScript global variables.
nashorn: false # Java 8 Nashorn global variables.
serviceworker: false # Service Worker global variables.
embertest: false # Ember test helper globals.
webextensions: false # WebExtensions globals.
globals: # false means: read-only
_: false # Lodash (or Underscore)
mobx: false # https://github.com/mobxjs/mobx/
moment: false # Moment.js
parserOptions:
ecmaVersion: 6
sourceType: module
rules:
# Style #
indent: # specify tab or space width for your code (fixable)
- 2
- tab
no-mixed-spaces-and-tabs: 2 # disallow mixed spaces and tabs for indentation (recommended)
linebreak-style: # disallow mixed 'LF' and 'CRLF' as linebreaks
- 2
- unix
eol-last: 1 # enforce newline at the end of file, with no multiple empty lines (fixable)
semi: # require or disallow use of semicolons instead of ASI (fixable)
- 2
- always
comma-spacing: # enforce spacing before and after comma
- 1
-
before: false
after: true
key-spacing: # enforce spacing between keys and values in object literal properties
- 1
-
beforeColon: false
afterColon: true
mode: minimum
brace-style: # enforce brace style
- 1
- allman
- allowSingleLine: true # See https://github.com/eslint/eslint/issues/5197
block-spacing: # disallow or enforce spaces inside of single line blocks (fixable)
- 1
- always
padded-blocks: # enforce padding within blocks
- 1
- never
no-irregular-whitespace: 1 # disallow irregular whitespace outside of strings and comments
no-trailing-spaces: 1 # disallow trailing whitespace at the end of lines (fixable)
keyword-spacing: 1 # enforce spacing before and after keywords (fixable)
space-before-blocks: 1 # require or disallow a space before blocks (fixable)
space-before-function-paren: # require or disallow a space before function opening parenthesis (fixable)
- 1
-
anonymous: always
named: never
space-in-parens: # require or disallow spaces inside parentheses
- 1
- never
object-curly-spacing: # require or disallow padding inside curly braces (fixable)
- 1
- always
array-bracket-spacing: # enforce spacing inside array brackets (fixable)
- 1
- always
space-infix-ops: 1 # require spaces around operators (fixable)
spaced-comment: 1 # require or disallow a space immediately following the # or /* in a comment
max-depth: # specify the maximum depth that blocks can be nested
- 1
- 5
max-len: # specify the maximum length of a line in your program
- 1
- 120
max-params: # limits the number of parameters that can be used in the function declaration
- 1
- 5
max-statements: # specify the maximum number of statement allowed in a function
- 1
- 42
new-cap: 2 # require a capital letter for constructors
new-parens: 2 # disallow the omission of parentheses when invoking a constructor with no arguments
camelcase: 0 # require camel case names
comma-style: 0 # enforce one true comma style
computed-property-spacing: 0 # require or disallow padding inside computed properties (fixable)
consistent-this: 0 # enforce consistent naming when capturing the current execution context
func-names: 0 # require function expressions to have a name
func-style: 0 # enforce use of function declarations or expressions
id-length: 0 # this option enforces minimum and maximum identifier lengths (variable names, property names etc.)
id-match: 0 # require identifiers to match the provided regular expression
jsx-quotes: 0 # specify whether double or single quotes should be used in JSX attributes
lines-around-comment: 0 # enforce empty lines around comments
max-nested-callbacks: 0 # specify the maximum depth callbacks can be nested
no-array-constructor: 0 # disallow use of the Array constructor
newline-after-var: 0 # require or disallow an empty newline after variable declarations
no-bitwise: 0 # disallow use of bitwise operators
no-continue: 0 # disallow use of the continue statement
no-inline-comments: 0 # disallow comments inline after code
no-lonely-if: 0 # disallow if as the only statement in an else block
no-multiple-empty-lines: 0 # disallow multiple empty lines
no-nested-ternary: 0 # disallow nested ternary expressions
no-negated-condition: 0 # disallow negated conditions
no-new-object: 0 # disallow the use of the Object constructor
no-plusplus: 0 # disallow use of unary operators, ++ and --
no-restricted-syntax: 0 # disallow use of certain syntax in code
no-spaced-func: 0 # disallow space between function identifier and application (fixable)
no-ternary: 0 # disallow the use of ternary operators
no-underscore-dangle: 0 # disallow dangling underscores in identifiers
no-unneeded-ternary: 0 # disallow the use of ternary operators when a simpler alternative exists
one-var: 0 # require or disallow one variable declaration per function
operator-assignment: 0 # require assignment operator shorthand where possible or prohibit it entirely
operator-linebreak: 0 # enforce operators to be placed before or after line breaks
quotes: 0 # specify whether backticks, double or single quotes should be used (fixable)
quote-props: 0 # require quotes around object literal property names
require-jsdoc: 0 # Require JSDoc comment
semi-spacing: 0 # enforce spacing before and after semicolons
sort-vars: 0 # sort variables within the same declaration block
space-unary-ops: 0 # require or disallow spaces before/after unary operators (fixable)
wrap-regex: 0 # require regex literals to be wrapped in parentheses
# Possible errors #
no-cond-assign: 2 # disallow assignment in conditional expressions
no-dupe-args: 2 # disallow duplicate arguments in functions
no-dupe-keys: 2 # disallow duplicate keys when creating object literals
no-duplicate-case: 2 # disallow a duplicate case label
no-extra-parens: 0 # disallow unnecessary parentheses (off by default)
no-extra-semi: 1 # disallow unnecessary semicolons
no-func-assign: 2 # disallow overwriting functions written as function declarations
no-unreachable: 2 # disallow unreachable statements after a return, throw, continue, or break statement
use-isnan: 2 # disallow comparisons with the value NaN
valid-typeof: 2 # Ensure that the results of typeof are compared against a valid string
no-empty-character-class: 2 # disallow the use of empty character classes in regular expressions
no-invalid-regexp: 2 # disallow invalid regular expression strings in the RegExp constructor
comma-dangle: 0 # disallow trailing commas in object literals
no-console: 0 # disallow use of console (off by default in the node environment)
no-constant-condition: 0 # disallow use of constant expressions in conditions
no-control-regex: 0 # disallow control characters in regular expressions
no-debugger: 0 # disallow use of debugger
no-empty: 0 # disallow empty statements
no-ex-assign: 0 # disallow assigning to the exception in a catch block
no-extra-boolean-cast: 0 # disallow double-negation boolean casts in a boolean context
no-inner-declarations: 0 # disallow function or variable declarations in nested blocks
no-negated-in-lhs: 0 # disallow negation of the left operand of an in expression
no-obj-calls: 0 # disallow the use of object properties of the global object (Math and JSON) as functions
no-regex-spaces: 0 # disallow multiple spaces in a regular expression literal
no-sparse-arrays: 0 # disallow sparse arrays
valid-jsdoc: 0 # Ensure JSDoc comments are valid (off by default)
no-unexpected-multiline: 0 # Avoid code that looks like two expressions but is actually one (off by default)
# Best practices #
curly: 0 # specify curly brace conventions for all control statements
eqeqeq: # require the use of === and !==
- 2
- smart
no-case-declarations: 2 # disallow lexical declarations in case clauses
no-else-return: 2 # disallow else after a return in an if (off by default)
no-floating-decimal: 1 # disallow the use of leading or trailing decimal points in numeric literals (off by default)
no-invalid-this: 2 # disallow this keywords outside of classes or class-like objects
no-octal-escape: 2 # disallow use of octal escape sequences in string literals, such as var foo = "Copyright \251";
no-octal: 2 # disallow use of octal literals
no-redeclare: 2 # disallow declaring the same variable more than once
no-return-assign: 2 # disallow use of assignment in return statement
no-unused-expressions: 2 # disallow usage of expressions in statement position
no-useless-call: 2 # disallow unnecessary .call() and .apply()
no-useless-concat: 2 # disallow unnecessary concatenation of literals or template literals
yoda: 1 # require or disallow Yoda conditions
accessor-pairs: 0 # enforces getter/setter pairs in objects (off by default)
block-scoped-var: 0 # treat var statements as if they were block scoped (off by default)
complexity: 0 # specify the maximum cyclomatic complexity allowed in a program (off by default)
consistent-return: 0 # require return statements to either always or never specify values
default-case: 0 # require default case in switch statements (off by default)
dot-notation: 0 # encourages use of dot notation whenever possible
dot-location: 0 # enforces consistent newlines before or after dots (off by default)
guard-for-in: 0 # make sure for-in loops have an if statement (off by default)
no-alert: 0 # disallow the use of alert, confirm, and prompt
no-caller: 0 # disallow use of arguments.caller or arguments.callee
no-div-regex: 0 # disallow division operators explicitly at beginning of regular expression (off by default)
no-empty-label: 0 # disallow use of labels for anything other then loops and switches
no-eq-null: 0 # disallow comparisons to null without a type-checking operator (off by default)
no-eval: 0 # disallow use of eval()
no-extend-native: 0 # disallow adding to native types
no-extra-bind: 0 # disallow unnecessary function binding
no-fallthrough: 0 # disallow fallthrough of case statements
no-implicit-coercion: 0 # disallow the type conversions with shorter notations
no-implied-eval: 0 # disallow use of eval()-like methods
no-iterator: 0 # disallow usage of __iterator__ property
no-labels: 0 # disallow use of labeled statements
no-loop-func: 0 # disallow creation of functions within loops
no-lone-blocks: 0 # disallow unnecessary nested blocks
no-magic-numbers: 0 # disallow the use of magic numbers
no-multi-spaces: 0 # disallow use of multiple spaces
no-multi-str: 0 # disallow use of multiline strings
no-native-reassign: 0 # disallow reassignments of native objects
no-new-func: 0 # disallow use of new operator for Function object
no-new-wrappers: 0 # disallows creating new instances of String, Number, and Boolean
no-new: 0 # disallow use of new operator when not part of the assignment or comparison
no-param-reassign: 0 # disallow reassignment of function parameters (off by default)
no-process-env: 0 # disallow use of process.env (off by default)
no-proto: 0 # disallow usage of __proto__ property
no-script-url: 0 # disallow use of javascript: URLs
no-self-compare: 0 # disallow comparisons where both sides are exactly the same (off by default)
no-sequences: 0 # disallow use of comma operator
no-throw-literal: 0 # restrict what can be thrown as an exception (off by default)
no-void: 0 # disallow use of void operator (off by default)
no-warning-comments: 0 # disallow usage of configurable warning terms in comments, e.g. TODO or FIXME (off by default)
no-with: 0 # disallow use of the with statement
radix: 0 # require use of the second argument for parseInt() (off by default)
vars-on-top: 0 # requires to declare all vars on top of their containing scope (off by default)
wrap-iife: 0 # require immediate function invocation to be wrapped in parentheses (off by default)
# Variables #
no-undef: 2 # disallow use of undeclared variables unless mentioned in a /*global */ block
no-shadow-restricted-names: 1 # disallow shadowing of names such as arguments
no-unused-vars: # disallow declaration of variables that are not used in the code
- 1
-
args: none
no-undef-init: 1 # disallow use of undefined when initializing variables
init-declarations: 0 # enforce or disallow variable initializations at definition
no-catch-shadow: 0 # disallow the catch clause parameter name being the same as a variable in the outer scope (off by default in the node environment)
no-delete-var: 0 # disallow deletion of variables
no-label-var: 0 # disallow labels that share a name with a variable
no-shadow: 0 # disallow declaration of variables already declared in the outer scope
no-undefined: 0 # disallow use of undefined variable (off by default)
no-use-before-define: 0 # disallow use of variables before they are defined
# Strict Mode #
strict: # controls location of Use Strict Directives
- 2
- function
# Node.js and CommonJS #
callback-return: 0 # enforce return after a callback
global-require: 0 # enforce require() on top-level module scope
handle-callback-err: 0 # enforce error handling in callbacks
no-mixed-requires: 0 # disallow mixing regular variable and require declarations
no-new-require: 0 # disallow use of new operator with the require function
no-path-concat: 0 # disallow string concatenation with __dirname and __filename
no-process-exit: 0 # disallow process.exit()
no-restricted-modules: 0 # restrict usage of specified node modules
no-sync: 0 # disallow use of synchronous methods
# EcmaScript 6 #
arrow-body-style: # require braces in arrow function body
- 1
- "as-needed"
arrow-parens: # require parens in arrow function arguments
- 1
- "as-needed"
arrow-spacing: # require space before/after arrow function's arrow (fixable)
- 1
-
before: true
after: true
constructor-super: 2 # verify calls of super() in constructors
generator-star-spacing: # enforce spacing around the * in generator functions (fixable)
- 1
- "after"
no-class-assign: 2 # disallow modifying variables of class declarations
no-confusing-arrow: 2 # disallow arrow functions where they could be confused with comparisons
no-const-assign: 2 # disallow modifying variables that are declared using const
no-dupe-class-members: 2 # disallow duplicate name in class members
no-duplicate-imports: 2 # disallow duplicate module imports
no-empty-pattern: 2 # disallow use of empty destructuring patterns
no-new-symbol: 2 # disallow new operators with the Symbol object
no-restricted-imports: 0 # disallow specified modules when loaded by import
no-this-before-super: 2 # disallow use of this/super before calling super() in constructors.
#no-useless-computed-key: 2 # disallow unnecessary computed property keys in object literals
no-useless-constructor: 2 # disallow unnecessary constructors
no-var: 0 # require let or const instead of var
object-shorthand: 2 # require method and property shorthand syntax for object literals
prefer-arrow-callback: 1 # suggest using arrow functions as callbacks
prefer-const: 1 # suggest using const declaration for variables that are never modified after declared
prefer-reflect: 0 # suggest using Reflect methods where applicable
prefer-spread: 1 # suggest using the spread operator instead of .apply().
prefer-template: 1 # suggest using template literals instead of strings concatenation
require-yield: 2 # disallow generator functions that do not have yield
sort-imports: 0 # enforce sorted import declarations within modules
template-curly-spacing: 0 # require or disallow spacing around embedded expressions of template strings
yield-star-spacing: 0 # require or disallow spacing around the * in yield* expressions