text: module.exports = {
    env: {
      browser: true,
      es2021: true,
    },
    extends: ['plugin:react/recommended', 'airbnb-typescript', 'prettier'],
    plugins: [
      'react',
      '@typescript-eslint',
      'eslint-plugin-import-helpers',
      'prettier',
    ],
    parser: '@typescript-eslint/parser',
    parserOptions: {
      ecmaFeatures: {
        jsx: true,
      },
      ecmaVersion: 12,
      sourceType: 'module',
      tsconfigRootDir: __dirname,
      project: ['./tsconfig.json'],
    },
    ignorePatterns: [
      'dist/**',
      'src/**/*.test.ts',
      'src/**/*.test.tsx',
      'jest.*.js',
    ],
    globals: {
      React: true,
      JSX: true,
    },
    rules: {
      'react/jsx-filename-extension': [
        2,
        {
          extensions: ['.ts', '.tsx'],
        },
      ],
      'prettier/prettier': 'error',
      'no-use-before-define': 'off',
      '@typescript-eslint/no-use-before-define': ['error'],
      'max-classes-per-file': 'off',
      'import/prefer-default-export': 'off',
      'class-methods-use-this': 'off',
      'no-underscore-dangle': ['error', { allow: ['__UnityBridgeRegistry__'] }],
      'comma-dangle': [
        'error',
        {
          arrays: 'always-multiline',
          objects: 'always-multiline',
          imports: 'always-multiline',
          exports: 'always-multiline',
          functions: 'never',
        },
      ],
      'object-curly-newline': 'off',
      'import-helpers/order-imports': [
        'error',
        {
          alphabetize: {
            ignoreCase: true,
            order: 'asc',
          },
          groups: ['module', ['parent', 'sibling', 'index']],
          newlinesBetween: 'always',
        },
      ],
      'no-multiple-empty-lines': [
        'error',
        {
          max: 1,
        },
      ],
      'sort-imports': [
        'error',
        {
          ignoreCase: true,
          ignoreDeclarationSort: true,
        },
      ],
    },
  };
  