1 | {
|
2 | "extends": [
|
3 | "eslint:recommended",
|
4 | ],
|
5 | "parserOptions": {
|
6 | "ecmaVersion": 7,
|
7 | "sourceType": "module",
|
8 | "ecmaFeatures": {
|
9 | "experimentalObjectRestSpread": true
|
10 | }
|
11 | },
|
12 | "rules": {
|
13 | "indent": ["error", 2, {"SwitchCase": 1}], // one indent === 2 spaces
|
14 | "comma-dangle": ["error", "always-multiline"], // forces trailing commas for each multiline list/map
|
15 | "no-trailing-spaces": ["error"], // force to remove trailing white spaces
|
16 | "no-mixed-spaces-and-tabs": ["error"], // prevent from mixing tabs and spaces for indents
|
17 | "semi": ["error", "always"], // nazi semicolon style
|
18 | "object-curly-spacing": ["error", "always"], // good: const { a } = b; wrong: const {a} = b;
|
19 | "quotes": ["error", "single"], // use single quotes in strings (backticks are allowed when used in formatting)
|
20 | "quote-props": ["error", "as-needed", {"keywords": true}], // use quotes in param names only when needed eg 'l-o-l'
|
21 | "arrow-parens": ["error", "always"], // always force using parens in arrow functions
|
22 | "curly": ["error"], // always use curly braces in if, for, etc. statements
|
23 | },
|
24 | "env": {
|
25 | "browser": true,
|
26 | "node": true,
|
27 | "es6": true,
|
28 | },
|
29 | }
|