9 "extends": "eslint:recommended",
11 // Unsafe or confusing stuff that we forbid
13 "no-unused-vars": ["error", { "vars": "all", "args": "none", "ignoreRestSiblings": true }],
14 "no-constant-condition": ["error", { "checkLoops": false }],
16 "no-useless-constructor": "error",
17 "object-shorthand": ["error", "methods", { "avoidQuotes": true }],
18 "prefer-arrow-callback": "error",
19 "arrow-body-style": ["error", "as-needed", { "requireReturnForObjectLiteral": false } ],
20 "arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }],
21 "arrow-spacing": ["error"],
22 "no-confusing-arrow": ["error", { "allowParens": true }],
24 // Enforced coding style
26 "brace-style": ["error", "1tbs", { "allowSingleLine": true }],
27 "indent": ["error", 4, { "SwitchCase": 1,
28 "CallExpression": { "arguments": "first" },
29 "ArrayExpression": "first",
30 "ObjectExpression": "first",
31 "ignoreComments": true }],
32 "comma-spacing": ["error"],
33 "comma-style": ["error"],
34 "curly": ["error", "multi-line"],
35 "func-call-spacing": ["error"],
36 "func-names": ["error"],
37 "func-style": ["error", "declaration", { "allowArrowFunctions": true }],
38 "key-spacing": ["error"],
39 "keyword-spacing": ["error"],
40 "no-trailing-spaces": ["error"],
42 "space-before-blocks": ["error"],