parser: '@typescript-eslint/parser'
env:
  browser: true
  es6: true
  node: true
extends:
  - airbnb
  - airbnb/hooks
  - plugin:import/typescript
  - plugin:@typescript-eslint/eslint-recommended
  - plugin:@typescript-eslint/recommended
  - plugin:prettier/recommended
  - prettier
  - prettier/@typescript-eslint
  - prettier/react
rules:
  react/jsx-filename-extension:
    - error
    - extensions:
        - '.jsx'
        - '.tsx'
        - '.mdx'
  import/extensions:
    - error
    - '.ts': never
      '.tsx': never
      '.d.ts': never
      '.js': never
      '.jsx': never
  import/no-default-export: error
  import/prefer-default-export: off
overrides:
  - files:
      - '*.tsx'
    rules:
      react/prop-types: off
  - files:
      - '*.js'
      - '*.jsx'
    rules:
      '@typescript-eslint/explicit-function-return-type': off
  - files:
      - '.storybook/*.js'
      - '*.test.js'
      - '*.test.jsx'
      - '*.test.ts'
      - '*.test.tsx'
      - '*.mdx'
    rules:
      import/no-extraneous-dependencies: off
  - files:
      - '*.md'
      - '*.mdx'
    extends:
      - plugin:mdx/recommended
      - plugin:mdx/overrides
    rules:
      jsx-a11y/anchor-is-valid: off
