text: module.exports = {
    parser: '@typescript-eslint/parser',
    parserOptions: {
      ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features
      sourceType: 'module' // Allows for the use of imports
    },
    env: {
      es6: true,
      jest: true,
      node: true,
      mocha: true
    },
    extends: [
      'eslint:recommended',
      'plugin:@typescript-eslint/recommended',
      // Note: Please keep this as the last config to make sure that this (and by extension our .prettierrc file) overrides all configuration above it
      // https://www.npmjs.com/package/eslint-plugin-prettier#recommended-configuration
      'plugin:prettier/recommended'
    ],
    plugins: ['import', 'unused-imports', 'prettier'],
    rules: {
      '@typescript-eslint/ban-ts-comment': 0,
      '@typescript-eslint/consistent-indexed-object-style': 1,
      '@typescript-eslint/consistent-type-assertions': 0,
      '@typescript-eslint/consistent-type-definitions': 0,
      '@typescript-eslint/consistent-type-imports': 1,
      '@typescript-eslint/explicit-module-boundary-types': 0,
      '@typescript-eslint/no-empty-function': 0,
      '@typescript-eslint/no-explicit-any': 0,
      '@typescript-eslint/no-unused-vars': 0,
      '@typescript-eslint/no-use-before-define': 0,
      '@typescript-eslint/no-var-requires': 0,
      '@typescript-eslint/no-empty-interface': 0,
      '@typescript-eslint/no-non-null-assertion': 0,
      'import/no-webpack-loader-syntax': 0,
      // https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md
      'import/order': [
        'error',
        {
          groups: [
            'builtin',
            'external',
            'internal',
            'parent',
            'sibling',
            'index',
            'object'
          ],
          alphabetize: {
            order: 'asc'
          }
        }
      ],
      'unused-imports/no-unused-imports': 'warn'
    },
    settings: {
      'import/parsers': {
        '@typescript-eslint/parser': ['.ts', '.tsx']
      },
      'import/resolver': {
        node: {
          extensions: ['.js', '.ts']
        },
        typescript: {
          alwaysTryTypes: true
        }
      }
    },
    overrides: [
      {
        files: ['*.js'],
        rules: {
          'import/no-commonjs': 0
        }
      }
    ]
  }
  