module.exports = {
  globals: {
    __PATH_PREFIX__: true,
  },
  extends: `airbnb`,
  env: {
    es6: true,
    browser: true,
  },
  parser: 'babel-eslint',
  parserOptions: {
    ecmaVersion: 8,
    sourceType: 'module',
    ecmaFeatures: {
      jsx: true,
    },
  },
  rules: {
    'linebreak-style': 'off',
    'implicit-arrow-linebreak': 0,
    camelcase: 0,
    'operator-linebreak': 0,
    'max-len': ['error', 110],
    'comma-dangle': 1,
    'no-use-before-define': 0,
    'class-methods-use-this': 0,
    'react/prefer-stateless-function': 0,
    'arrow-body-style': 0,
    'arrow-parens': 0,
    'react/require-default-props': 0,
    'react/destructuring-assignment': 0,
    'react/jsx-no-bind': 0,
    'react/prop-types': ['warn', { ignore: ['className', 'css', 'children', 'theme', 'map'] }],
    'react/jsx-one-expression-per-line': 0,
    'object-curly-newline': 0,
    'import/no-named-as-default-member': 0,
    'no-confusing-arrow': 0,
    'function-paren-newline': 0,
    'react/jsx-props-no-spreading': 0,
    'react / state-in-constructor': 'off',
    'react / static-property-placement': 'off',
    'react / jsx-props-no-spreading': 'off',
    'react/jsx-filename-extension': [
      1,
      {
        extensions: ['.js', '.jsx'],
      },
    ],
    'no-plusplus': [
      'error',
      {
        allowForLoopAfterthoughts: true,
      },
    ],
    'import/prefer-default-export': 0,
    'jsx-a11y/accessible-emoji': 0,
    'jsx-a11y/anchor-is-valid': 0,
    'jsx-a11y/no-static-element-interactions': 0,
    'jsx-a11y/click-events-have-key-events': 0,
    'import/order': 0,
    'react/sort-comp': [
      1,
      {
        order: [
          'propTypes',
          'defaultProps',
          'instance-variables',
          'static-methods',
          'lifecycle',
          'everything-else',
          'render',
          '/^render.+$/',
        ],
      },
    ],
    'react/no-array-index-key': 0,
  },
};
