UNPKG

@lofty87/eslint-config

Version:
100 lines (99 loc) 4.24 kB
module.exports = { parser: '@typescript-eslint/parser', parserOptions: { project: './tsconfig.json', }, plugins: [ '@typescript-eslint', ], rules: { '@typescript-eslint/adjacent-overload-signatures': 'error', '@typescript-eslint/await-thenable': 'error', '@typescript-eslint/block-spacing': [ 'error', 'always' ], '@typescript-eslint/brace-style': [ 'error', '1tbs', { allowSingleLine: true } ], '@typescript-eslint/comma-dangle': [ 'error', { arrays: 'always-multiline', objects: 'always-multiline', imports: 'always-multiline', exports: 'always-multiline', functions: 'never', enums: 'always-multiline', generics: 'always-multiline', tuples: 'always-multiline', } ], '@typescript-eslint/comma-spacing': [ 'error', { before: false, after: true } ], '@typescript-eslint/dot-notation': 'off', '@typescript-eslint/explicit-member-accessibility': 'off', '@typescript-eslint/func-call-spacing': [ 'error', 'never' ], '@typescript-eslint/indent': [ 'error', 2, { ArrayExpression: 'first', CallExpression: { arguments: 'first' }, ImportDeclaration: 'first', MemberExpression: 0, ObjectExpression: 'first', SwitchCase: 1, VariableDeclarator: 'first', flatTernaryExpressions: true, offsetTernaryExpressions: false, outerIIFEBody: 1, } ], '@typescript-eslint/keyword-spacing': [ 'error', { before: true, after: true } ], '@typescript-eslint/key-spacing': [ 'error', { beforeColon: false, afterColon: true, mode: 'strict', } ], '@typescript-eslint/lines-between-class-members': [ 'error', { exceptAfterOverload: true } ], '@typescript-eslint/member-delimiter-style': [ 'error', { singleline: { delimiter: 'semi', requireLast: true, }, multiline: { delimiter: 'semi', requireLast: true, }, } ], '@typescript-eslint/member-ordering': 'error', '@typescript-eslint/method-signature-style': [ 'error', 'property' ], '@typescript-eslint/naming-convention': 'off', '@typescript-eslint/no-confusing-non-null-assertion': 'error', '@typescript-eslint/no-dupe-class-members': 'error', '@typescript-eslint/no-duplicate-enum-values': 'error', '@typescript-eslint/no-duplicate-type-constituents': 'error', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-extra-non-null-assertion': 'error', '@typescript-eslint/no-extra-semi': 'error', '@typescript-eslint/no-inferrable-types': 'error', '@typescript-eslint/no-misused-new': 'error', '@typescript-eslint/no-misused-promises': [ 'error', { checksConditionals: true, checksVoidReturn: false, checksSpreads: true, } ], '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error', '@typescript-eslint/no-throw-literal': 'error', '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', '@typescript-eslint/no-unnecessary-condition': [ 'error', { allowConstantLoopConditions: true } ], '@typescript-eslint/no-unnecessary-qualifier': 'error', '@typescript-eslint/no-unnecessary-type-arguments': 'error', '@typescript-eslint/no-unnecessary-type-assertion': 'error', '@typescript-eslint/no-unnecessary-type-constraint': 'error', '@typescript-eslint/no-unused-expressions': 'off', '@typescript-eslint/no-unused-vars': 'off', '@typescript-eslint/object-curly-spacing': [ 'error', 'always' ], '@typescript-eslint/promise-function-async': 'off', '@typescript-eslint/restrict-plus-operands': 'error', '@typescript-eslint/semi': [ 'error', 'always' ], '@typescript-eslint/sort-type-constituents': 'off', '@typescript-eslint/space-before-blocks': 'error', '@typescript-eslint/space-before-function-paren': [ 'error', { anonymous: 'never', named: 'never', asyncArrow: 'always', } ], '@typescript-eslint/space-infix-ops': 'error', '@typescript-eslint/type-annotation-spacing': 'error', '@typescript-eslint/unified-signatures': 'error', }, };