module.exports = { root: true, env: { browser: true, }, extends: [ 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', 'plugin:react/recommended', 'plugin:prettier/recommended', 'prettier', ], parser: '@typescript-eslint/parser', parserOptions: { project: 'tsconfig.json', sourceType: 'module', }, plugins: ['eslint-plugin-react', '@typescript-eslint'], overrides: [ { files: ['**/*.ts', '**/*.tsx'], rules: { 'react/prop-types': 'off', }, }, ], settings: { react: { version: 'detect', }, }, rules: { '@typescript-eslint/ban-types': 'warn', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-empty-interface': 'warn', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-floating-promises': 'warn', '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-call': 'warn', '@typescript-eslint/no-unsafe-member-access': 'off', '@typescript-eslint/no-unsafe-return': 'warn', '@typescript-eslint/no-var-requires': 'warn', '@typescript-eslint/prefer-regexp-exec': 'off', '@typescript-eslint/restrict-template-expressions': 'warn', '@typescript-eslint/unbound-method': 'warn', 'no-console': ['warn', { allow: ['warn', 'error'] }], 'react/display-name': 'warn', 'react/no-children-prop': 'off', 'react/no-find-dom-node': 'off', }, }