module.exports = { root: true, env: { browser: true, es2021: true, node: true, jest: true, }, extends: ['eslint:recommended', 'prettier'], parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 2018, sourceType: 'module', }, plugins: ['@typescript-eslint'], rules: { indent: ['error', 2, { SwitchCase: 1 }], 'linebreak-style': ['error', 'unix'], quotes: ['error', 'single'], semi: ['error', 'always'], // 'no-console': 'error', }, overrides: [ { files: '**/*.ts', parser: '@typescript-eslint/parser', parserOptions: { tsconfigRootDir: __dirname, project: ['./tsconfig.json'], }, plugins: ['@typescript-eslint', 'prettier'], extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', 'plugin:prettier/recommended', ], rules: { '@typescript-eslint/ban-ts-comment': ['off'], '@typescript-eslint/no-this-alias': ['off'], '@typescript-eslint/no-unsafe-assignment': ['off'], '@typescript-eslint/no-explicit-any':['off'], '@typescript-eslint/no-unsafe-call':['off'], '@typescript-eslint/no-unsafe-return':['off'], '@typescript-eslint/no-unsafe-member-access':['off'], '@typescript-eslint/restrict-template-expressions':['off'], '@typescript-eslint/no-unsafe-argument':['off'], }, }, ], };