module.exports = {
    'env': {
        'browser': true,
        'es6': true,
        'jest': true
    },
    'extends': [
        'plugin:react/recommended',
        'airbnb'
    ],
    'globals': {
        'Atomics': 'readonly',
        'SharedArrayBuffer': 'readonly'
    },
    parser: 'babel-eslint',
    'parserOptions': {
        'ecmaFeatures': {
            'jsx': true
        },
        'ecmaVersion': 2018,
        'sourceType': 'module'
    },
    'plugins': [
        'react',
        'react-hooks',
    ],
    'rules': {
        'react/jsx-props-no-spreading': 'off',
        'import/extensions': 'off',
        "react/jsx-indent": [
            'error',
            4,
            {
                checkAttributes: true,
                indentLogicalExpressions: true
            }
        ],
        'react/require-default-props': 'off',
        'react/prop-types': 'off',
        'react-hooks/rules-of-hooks': 'error',
        'react-hooks/exhaustive-deps': 'error',
        'max-len': ['warn', {'code': 120, 'tabWidth': 4}],
        'no-unused-vars': 'warn',
        'no-console': 'warn',
        'no-shadow': 'warn',
        "no-multi-str": "warn",
        "jsx-a11y/label-has-associated-control": [ 2, {
            "labelAttributes": ["label"],
            "controlComponents": ["Input"],
            "depth": 3,
        }],
    },
    'settings': {
        'import/resolver': {
            'node': {
                'extensions': ['.js', '.jsx']
            }
        }
    },
};