.eslintrc.js
module.exports = {
env: {
es6: true,
node: true
},
parser: 'babel-eslint',
extends: 'eslint:recommended',
parserOptions: {
sourceType: 'module'
},
rules: {
indent: ['error', 2],
'linebreak-style': ['error', 'unix'],
quotes: ['error', 'single'],
semi: ['error', 'always'],
'no-extra-parens': ['error'],
curly: ['error'],
'dot-notation': ['error'],
'no-empty-function': ['error'],
'no-eval': ['error'],
'no-multi-spaces': ['error'],
'no-multiple-empty-lines': ['error', { max: 2 }],
'no-multi-str': ['error'],
'no-return-assign': ['error'],
'no-self-compare': ['error'],
'no-throw-literal': ['error'],
'vars-on-top': ['error'],
'prefer-promise-reject-errors': ['error'],
'no-with': ['error'],
'padding-line-between-statements': [
'error',
{ blankLine: 'always', prev: ['const', 'let', 'var'], next: '*' },
{
blankLine: 'never',
prev: ['const', 'let', 'var'],
next: ['const', 'let', 'var']
},
{ blankLine: 'always', prev: 'import', next: '*' },
{ blankLine: 'never', prev: 'import', next: 'import' }
],
'no-delete-var': ['error'],
'no-undef': ['off'],
'no-path-concat': ['error'],
'no-mixed-requires': ['error'],
'global-require': ['error'],
'array-bracket-newline': [
'error',
{
multiline: true
}
],
'array-bracket-spacing': ['error', 'never'],
'func-call-spacing': ['error', 'never'],
'comma-style': ['error', 'last'],
'eol-last': ['error', 'always'],
'no-nested-ternary': ['error'],
'no-trailing-spaces': ['error'],
'space-in-parens': ['error', 'never'],
'prefer-const': ['error'],
'space-before-function-paren': [
'error',
{
anonymous: 'never',
named: 'never',
asyncArrow: 'always'
}
],
'keyword-spacing': [
'warn',
{
before: true,
after: true
}
],
'arrow-spacing': ['error'],
'arrow-parens': ['error', 'always'],
'comma-spacing': ['error'],
'computed-property-spacing': ['error'],
'key-spacing': ['error'],
'space-before-blocks': ['error'],
'no-useless-escape': ['off']
}
};