github-desktop/.eslintrc.yml
2019-04-01 14:19:34 -03:00

95 lines
1.7 KiB
YAML

root: true
parser: '@typescript-eslint/parser'
plugins:
- '@typescript-eslint'
- babel
- react
- json
extends:
- prettier
- prettier/react
rules:
##########
# CUSTOM #
##########
insecure-random: error
###########
# PLUGINS #
###########
# TYPESCRIPT
'@typescript-eslint/interface-name-prefix':
- error
- always
'@typescript-eslint/no-angle-bracket-type-assertion': error
'@typescript-eslint/explicit-member-accessibility': error
'@typescript-eslint/no-unused-vars':
- error
- args: 'none'
'@typescript-eslint/no-use-before-define':
- error
- functions: false
variables: false
typedefs: false
# this rule now works but generates a lot of issues with the codebase
# '@typescript-eslint/member-ordering': error
'@typescript-eslint/type-annotation-spacing': error
# Babel
babel/no-invalid-this: error
# React
react/jsx-boolean-value:
- error
- always
react/jsx-key: error
react/jsx-no-bind: error
react/no-string-refs: error
react/jsx-uses-vars: error
react/jsx-uses-react: error
###########
# BUILTIN #
###########
curly: error
no-new-wrappers: error
no-redeclare:
- error
- builtinGlobals: true
no-eval: error
no-sync: error
no-unused-expressions: error
no-var: error
prefer-const: error
eqeqeq:
- error
- smart
strict:
- error
- global
no-buffer-constructor: error
###########
# SPECIAL #
###########
no-restricted-syntax:
- error
# no-default-export
- selector: ExportDefaultDeclaration
message: Use of default exports is forbidden
overrides:
- files: '*.d.ts'
rules:
strict:
- error
- never
parserOptions:
sourceType: module
ecmaFeatures:
jsx: true