---
env:
  browser: true
  node: false
  es6: true

parser: babel-eslint

plugins:
- react
- jsx-a11y

parserOptions:
  sourceType: module
  ecmaFeatures:
    arrowFunctions: true
    jsx: true
    destructuring: true
    modules: true
    spread: true

rules:

  no-cond-assign: error
  no-console: warn
  no-irregular-whitespace: error
  no-unreachable: error
  valid-typeof: error
  consistent-return: error
  dot-notation: error
  eqeqeq: error
  no-fallthrough: error
  no-unused-expressions: error
  strict: off
  no-catch-shadow: error
  indent:
  - warn
  - 2
  brace-style: warn
  comma-spacing:
  - warn
  - before: false
    after: true
  comma-style:
  - warn
  - last
  no-mixed-spaces-and-tabs: warn
  no-nested-ternary: warn
  no-trailing-spaces: warn

  react/jsx-wrap-multilines: error
  react/self-closing-comp: error
  react/prop-types: error
  react/no-multi-comp: off

  jsx-a11y/accessible-emoji: warn
  jsx-a11y/anchor-has-content: warn
  jsx-a11y/alt-text: warn
  jsx-a11y/aria-activedescendant-has-tabindex: warn
  jsx-a11y/aria-props: warn
  jsx-a11y/aria-proptypes: warn
  jsx-a11y/aria-role: warn
  jsx-a11y/aria-unsupported-elements: warn
  jsx-a11y/heading-has-content: warn
  jsx-a11y/href-no-hash: warn
  jsx-a11y/html-has-lang: warn
  jsx-a11y/iframe-has-title: warn
  jsx-a11y/img-redundant-alt: warn
  jsx-a11y/interactive-supports-focus: warn
  jsx-a11y/label-has-for: warn
  jsx-a11y/mouse-events-have-key-events: warn
  jsx-a11y/no-access-key: warn
  jsx-a11y/no-distracting-elements: warn
  jsx-a11y/no-noninteractive-element-interactions: warn
  jsx-a11y/no-onchange: warn
  jsx-a11y/no-redundant-roles: warn
  jsx-a11y/role-has-required-aria-props: warn
  jsx-a11y/role-supports-aria-props: warn
  jsx-a11y/scope: warn
  jsx-a11y/tabindex-no-positive: warn
