text: /** @type {import('@typescript-eslint/experimental-utils').TSESLint.Linter.Config} */
  const config = {
    env: {
      browser: true,
      es2021: true,
    },
    extends: [
      'plugin:react/recommended',
      'airbnb',
      'airbnb/hooks',
      'plugin:@typescript-eslint/recommended',
      'plugin:@typescript-eslint/recommended-requiring-type-checking',
      "plugin:import/recommended",
      "plugin:import/typescript",
      'prettier',
    ],
    parser: '@typescript-eslint/parser',
    parserOptions: {
      ecmaFeatures: {
        jsx: true,
      },
      ecmaVersion: 12,
      sourceType: 'module',
      tsconfigRootDir: __dirname,
      project: ['./tsconfig.json'],
    },
    plugins: [
      'react',
      '@typescript-eslint',
    ],
    rules: {
      'import/extensions': [
        'error',
        {
          js: 'never',
          jsx: 'never',
          ts: 'never',
          tsx: 'never',
        },
      ],
      'react/jsx-filename-extension': [
        'error',
        {
          extensions: ['.jsx', '.tsx'],
        },
      ],
      'react/react-in-jsx-scope': 'off',
      'no-void': [
        'error',
        {
          allowAsStatement: true,
        },
      ],
      'import/no-extraneous-dependencies': ['error', {
        devDependencies: ['**/*.test.ts', '**/*.test.tsx', '**/setupTests.ts'], 
        optionalDependencies: false,
      }]  
    }
  };
  
  module.exports = config