eslint-config-proper
Version:
ESLint config for JS Proper Format
45 lines (43 loc) • 1.29 kB
JavaScript
module.exports = {
extends: 'eslint:recommended',
parser: 'babel-eslint',
parserOptions: {
ecmaVersion: 6,
sourceType: 'module'
},
plugins: [
'flowtype'
],
rules: {
'arrow-parens': 'off',
'arrow-spacing': [ 'error', { before: true, after: true } ],
'comma-spacing': [ 'error', { before: false, after: true } ],
curly: 'error',
'dot-notation': 'error',
eqeqeq: [ 'error', 'always', { null: 'ignore' } ],
'func-call-spacing': [ 'error', 'never' ],
'handle-callback-err': 'error',
indent: [ 'error', 'tab', { SwitchCase: 1 } ],
'keyword-spacing': [ 'error', { before: true, after: true } ],
'new-parens': 'error',
'no-console': 'warn',
'no-use-before-define': 'off',
'no-useless-call': 'error',
'no-useless-computed-key': 'error',
'no-unused-expressions': 'error',
'no-unused-vars': 'warn',
'operator-linebreak': [ 'error', 'before' ],
'prefer-rest-params': 'error',
quotes: [ 'error', 'single', { allowTemplateLiterals: true, avoidEscape: true } ],
semi: [ 'error', 'always' ],
'space-infix-ops': [ 'error', { int32Hint: true } ],
'space-unary-ops': [ 2, { words: true, nonwords: false } ],
'flowtype/define-flow-type': 1,
'flowtype/use-flow-type': 1
},
settings: {
flowtype: {
onlyFilesWithFlowAnnotation: true
}
}
};