.eslintrc.yml
env:
browser: false
node: true
es6: true
jest: true
parser: '@typescript-eslint/parser'
plugins:
- '@typescript-eslint'
- 'prettier'
extends:
- 'eslint:recommended'
- 'plugin:@typescript-eslint/recommended'
- 'plugin:prettier/recommended'
- 'plugin:import/errors'
- 'plugin:import/warnings'
- 'plugin:import/typescript'
parserOptions:
ecmaVersion: 2018
sourceType: module
settings:
'import/external-module-folders': ['node_modules', '.yarn']
rules:
'@typescript-eslint/indent':
- off
'@typescript-eslint/no-use-before-define':
- off
'@typescript-eslint/explicit-function-return-type':
- error
- allowExpressions: true
allowTypedFunctionExpressions: true
allowHigherOrderFunctions: true
'@typescript-eslint/no-empty-interface':
- error
- allowSingleExtends: true
'import/named':
# eslint-plugin-import fails with typescript interfaces
- off
'import/order':
- error
- newlines-between: always
alphabetize:
order: asc
'prettier/prettier':
- error
- singleQuote: true
trailingComma: all
printWidth: 79
'prefer-const':
- error
- destructuring: all