module.exports = { env: { node: true, }, extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'airbnb-base', 'airbnb-typescript/base', 'plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript', 'prettier', ], plugins: [ 'import', '@typescript-eslint' ], settings: { 'import/parsers': { '@typescript-eslint/parser': ['.ts'], }, 'import/resolver': { node: { extensions: ['.js', '.ts'], moduleDirectory: ['node_modules', 'src/'], }, typescript: { alwaysTryTypes: true, project: '.', }, }, }, overrides: [ { env: { jest: true, }, files: ['**/__tests__/**/*.[jt]s', '**/?(*.)+(spec|test).[jt]s'], extends: ['plugin:jest/recommended'], rules: { 'import/no-extraneous-dependencies': [ 'off', { devDependencies: ['**/?(*.)+(spec|test).[jt]s'] }, ], camelcase: ['off'], }, }, ], ignorePatterns: ['**/*.js', 'node_modules', 'dist'], parserOptions: { root: true, tsconfigRootDir: __dirname, project: ['./tsconfig.json'], }, }