1module.exports = { 2 'extends': [ 3 'airbnb', 4 'prettier' 5 ], 6 'parser': '@typescript-eslint/parser', 7 'parserOptions': { 8 'ecmaVersion': 2018, 9 'sourceType': 'module', 10 'modules': true 11 }, 12 'plugins': [ 13 '@typescript-eslint' 14 ], 15 'settings': { 16 'import/resolver': { 17 'typescript': { 18 } 19 } 20 }, 21 'rules': { 22 'quotes': [ 23 2, 24 'single', 25 { 26 'allowTemplateLiterals': true 27 } 28 ], 29 'class-methods-use-this': 0, 30 'consistent-return': 0, 31 'func-names': 0, 32 'global-require': 0, 33 'guard-for-in': 0, 34 'import/no-duplicates': 0, 35 'import/no-dynamic-require': 0, 36 'import/no-extraneous-dependencies': 0, 37 'import/prefer-default-export': 0, 38 'lines-between-class-members': 0, 39 'no-await-in-loop': 0, 40 'no-bitwise': 0, 41 'no-console': 0, 42 'no-continue': 0, 43 'no-control-regex': 0, 44 'no-empty': 0, 45 'no-loop-func': 0, 46 'no-nested-ternary': 0, 47 'no-param-reassign': 0, 48 'no-plusplus': 0, 49 'no-restricted-globals': 0, 50 'no-restricted-syntax': 0, 51 'no-shadow': 0, 52 'no-underscore-dangle': 0, 53 'no-use-before-define': 0, 54 'prefer-const': 0, 55 'prefer-destructuring': 0, 56 'camelcase': 0, 57 'no-unused-vars': 0, // in favor of '@typescript-eslint/no-unused-vars' 58 // 'indent': 0 // in favor of '@typescript-eslint/indent' 59 '@typescript-eslint/no-unused-vars': 'warn', 60 // '@typescript-eslint/indent': ['error', 2] // this might conflict with a lot ongoing changes 61 '@typescript-eslint/no-array-constructor': 'error', 62 '@typescript-eslint/adjacent-overload-signatures': 'error', 63 '@typescript-eslint/class-name-casing': 'error', 64 '@typescript-eslint/interface-name-prefix': 'error', 65 '@typescript-eslint/no-empty-interface': 'error', 66 '@typescript-eslint/no-inferrable-types': 'error', 67 '@typescript-eslint/no-misused-new': 'error', 68 '@typescript-eslint/no-namespace': 'error', 69 '@typescript-eslint/no-non-null-assertion': 'error', 70 '@typescript-eslint/no-parameter-properties': 'error', 71 '@typescript-eslint/no-triple-slash-reference': 'error', 72 '@typescript-eslint/prefer-namespace-keyword': 'error', 73 '@typescript-eslint/type-annotation-spacing': 'error', 74 // '@typescript-eslint/array-type': 'error', 75 // '@typescript-eslint/ban-types': 'error', 76 // '@typescript-eslint/explicit-function-return-type': 'warn', 77 // '@typescript-eslint/explicit-member-accessibility': 'error', 78 // '@typescript-eslint/member-delimiter-style': 'error', 79 // '@typescript-eslint/no-angle-bracket-type-assertion': 'error', 80 // '@typescript-eslint/no-explicit-any': 'warn', 81 // '@typescript-eslint/no-object-literal-type-assertion': 'error', 82 // '@typescript-eslint/no-use-before-define': 'error', 83 // '@typescript-eslint/no-var-requires': 'error', 84 // '@typescript-eslint/prefer-interface': 'error' 85 } 86} 87