text: module.exports = {
    extends: [
      'eslint:recommended',
      'plugin:react/recommended',
      'react-app',
      'plugin:@typescript-eslint/recommended',
      'standard',
      'standard-jsx',
      'airbnb',
      'google',
      'plugin:security/recommended',
      'plugin:sonarjs/recommended',
    ],
    plugins: ['react-hooks', 'security', '@typescript-eslint', 'sonarjs'],
    parser: '@typescript-eslint/parser',
    parserOptions: {
      ecmaVersion: 2018,
      ecmaFeatures: {
        jsx: true,
      },
    },
    globals: {
      __DEV__: false,
    },
    env: {
      node: true,
      browser: true,
      es6: true,
    },
    settings: {
      react: {
        version: 'detect',
      },
    },
    rules: {
      'react/prop-types': 'off',
      'lines-between-class-members': 'off',
      'comma-dangle': 'off',
      'valid-jsdoc': 'off',
      indent: 'off',
      'object-curly-spacing': 'warn',
      'jsx-a11y/anchor-is-valid': 'warn',
      'react/jsx-filename-extension': 'off',
      'padded-blocks': 'off',
      'object-curly-newline': 'warn',
      'react/jsx-indent-props': 'off',
      'react/jsx-indent': 'off',
      'block-spacing': 'warn',
      'max-len': 'warn',
      'no-param-reassign': 'warn',
      'one-var-declaration-per-line': 'warn',
      'arrow-body-style': 'warn',
      'react/require-default-props': 'warn',
      'space-before-blocks': 'warn',
      'no-script-url': 'off',
      'key-spacing': 'warn',
      'comma-spacing': 'warn',
      'react/jsx-curly-newline': 'warn',
      'react/static-property-placement': 'off',
      semi: 'off',
      'no-multi-spaces': 'off',
      'no-invalid-this': 'off',
      'spaced-comment': 'off',
      'class-methods-use-this': 'off',
      'space-infix-ops': 'warn',
      'keyword-spacing': 'warn',
      'arrow-spacing': 'warn',
      'space-before-function-paren': 'warn',
      'operator-linebreak': 'warn',
      'prefer-const': 'off',
      '@typescript-eslint/ban-ts-comment': 'off',
      '@typescript-eslint/no-var-requires': 'off',
      '@typescript-eslint/ban-types': 'off',
      'prefer-rest-params': 'off',
      'react/display-name': 'off',
      'import/order': 'off',
      'implicit-arrow-linebreak': 'off',
      'arrow-parens': 'off',
      'prefer-destructuring': 'warn',
      'sonarjs/prefer-single-boolean-return': 'warn',
      'eol-last': 'off',
      curly: 'off',
      'no-tabs': 'off',
      'react/jsx-tag-spacing': 'off',
      'no-trailing-spaces': 'warn',
      'react/jsx-equals-spacing': 'warn',
      'prefer-template': 'warn',
      'no-underscore-dangle': 'warn',
      'dot-notation': 'off',
      'react/sort-comp': 'warn',
      'no-plusplus': 'off',
      'react/jsx-props-no-spreading': 'off',
      'react/jsx-closing-bracket-location': 'warn',
      quotes: 'off',
      'require-jsdoc': 'off',
      'import/extensions': 'off',
      'import/no-unresolved': 'off',
      complexity: ['error', {max: 10}],
    },
  };
  