1 | # Welcome to the most strict eslint config ever
|
2 | [![Build Status](https://travis-ci.org/valor-software/eslint-config-valorsoft.svg?branch=master)](https://travis-ci.org/valor-software/eslint-config-valorsoft)
|
3 | [![Dependency Status](https://david-dm.org/valor-software/eslint-config-valorsoft.svg)](https://david-dm.org/valor-software/eslint-config-valorsoft)
|
4 | [![devDependency Status](https://david-dm.org/valor-software/eslint-config-valorsoft/dev-status.svg)](https://david-dm.org/valor-software/eslint-config-valorsoft#info=devDependencies)
|
5 |
|
6 | ## Philosophy
|
7 | - contains all rules
|
8 | - almost all rules enabled
|
9 | - this config is highly opinionated
|
10 |
|
11 | ## Where to use
|
12 | - anywhere
|
13 | - for tests better to add `env:"node"` and disable `newline-per-chained-call` rule
|
14 |
|
15 | ## What is disabled
|
16 | - `no-eq-null` - duplicates `eqeqeq:smart`
|
17 | - `no-restricted-imports`, `no-restricted-modules` - dependant on project requirements
|
18 | - `id-match` - not found any particular use of this rule, `camelCase` is enough
|
19 | - `jsx-quotes` - I don't use jsx so I don't care
|
20 | - `no-plusplus` - why not `++`? It's nice to use when you know what you are doing
|
21 | - `no-restricted-syntax` - duplicates `no-with` and disabled functional expressions
|
22 | - `no-ternary` - why not? but not nested ternary please
|
23 | - `require-jsdoc`- nice thing, but hard to follow
|
24 | - `spaced-comment` - nice for meaningful comments, bad for quick code commenting
|
25 | - `wrap-regex` - no need
|
26 |
|
27 | ## What is tweaked
|
28 | - `indent` - 2 spaces rulezzz!
|
29 | - `eqeqeq` - `smart` mode enabled
|
30 | - `dot-location` - `property` mode enabled
|
31 | - `no-implicit-coercion` - boolean implicit coercion enabled
|
32 | - `func-style` - `declaration` only please
|
33 | - `no-use-before-define` - usage of `function` before declarations are allowed
|
34 | - `no-mixed-requires`- `grouping` and `allowCall` checks enabled
|
35 | - `linebreak-style` - unix only
|
36 | - `one-var` - `never` use one `var|let|const` per block
|
37 | - `padded-blocks` - `never` add useless padding
|
38 | - `quote-props` - quote properties only `as-needed` and `keywords`
|
39 |
|
40 | ## Contribution
|
41 | - what I really appreciate is configs for IDEs
|
42 | - to change any rule you should have strong arguments and not only opinion
|