module.exports = { env: { browser: true, es6: true, commonjs: true, node: true, 'jest/globals': true, }, root: true, extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/eslint-recommended', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', 'plugin:react/recommended', 'plugin:jest/recommended', ], parser: '@typescript-eslint/parser', parserOptions: { project: 'tsconfig.eslint.json', sourceType: 'module', }, plugins: ['@typescript-eslint', 'jest'], rules: { '@typescript-eslint/naming-convention': [ 'error', { selector: 'interface', format: ['PascalCase'], custom: { regex: '^I[A-Z]', match: true, }, }, ], '@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }], '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-namespace': 'off', '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/no-use-before-define': 'off', '@typescript-eslint/no-empty-interface': 'off', '@typescript-eslint/quotes': [ 'error', 'single', { avoidEscape: true, allowTemplateLiterals: false }, ], 'jest/no-done-callback': 'off', curly: ['error', 'all'], eqeqeq: 'error', 'prefer-arrow-callback': 'error', }, settings: { react: { version: 'detect', }, }, };