{ "extends": [ "eslint:recommended", ], "parserOptions": { "ecmaVersion": 7, "sourceType": "module", "ecmaFeatures": { "experimentalObjectRestSpread": true } }, "rules": { "indent": ["error", 2, {"SwitchCase": 1}], // one indent === 2 spaces "comma-dangle": ["error", "always-multiline"], // forces trailing commas for each multiline list/map "no-trailing-spaces": ["error"], // force to remove trailing white spaces "no-mixed-spaces-and-tabs": ["error"], // prevent from mixing tabs and spaces for indents "semi": ["error", "always"], // nazi semicolon style "object-curly-spacing": ["error", "always"], // good: const { a } = b; wrong: const {a} = b; "quotes": ["error", "single"], // use single quotes in strings (backticks are allowed when used in formatting) "quote-props": ["error", "as-needed", {"keywords": true}], // use quotes in param names only when needed eg 'l-o-l' "arrow-parens": ["error", "always"], // always force using parens in arrow functions "curly": ["error"], // always use curly braces in if, for, etc. statements }, "env": { "browser": true, "node": true, "es6": true, }, }