---
env:
  browser: true
  es2021: true
extends:
  - plugin:react/recommended
  - airbnb
  - plugin:@typescript-eslint/recommended
  - prettier
parser: '@typescript-eslint/parser'
parserOptions:
  ecmaFeatures:
    jsx: true
  ecmaVersion: 12
  sourceType: module
settings:
  import/resolver:
    typescript: {}
plugins:
  - react
  - '@typescript-eslint'
  - react-hooks
rules:
  no-use-before-define: 'off'
  '@typescript-eslint/no-use-before-define':
    - error
  react/jsx-filename-extension:
    - warn
    - extensions:
        - '.tsx'
  import/extensions:
    - error
    - ignorePackages
    - ts: never
      tsx: never
  no-shadow: 'off'
  '@typescript-eslint/no-shadow':
    - error
  '@typescript-eslint/explicit-function-return-type':
    - error
    - allowExpressions: true
  react-hooks/rules-of-hooks: error
  react-hooks/exhaustive-deps: warn
  import/prefer-default-export: 'off'
  react/prop-types: 'off'
