@perfective/eslint-config
Version:
ESLint shareable rules configuration
114 lines • 4.17 kB
JavaScript
export const extensionRules = {
'block-spacing': 'off',
'@typescript-eslint/block-spacing': 'off',
'brace-style': 'off',
'@typescript-eslint/brace-style': 'off',
'class-methods-use-this': 'off',
'@typescript-eslint/class-methods-use-this': 'off',
'comma-dangle': 'off',
'@typescript-eslint/comma-dangle': 'off',
'comma-spacing': 'off',
'@typescript-eslint/comma-spacing': 'off',
'consistent-return': 'off',
'@typescript-eslint/consistent-return': 'error',
'default-param-last': 'off',
'@typescript-eslint/default-param-last': 'error',
'dot-notation': 'off',
'@typescript-eslint/dot-notation': ['warn', {
allowKeywords: true,
allowPrivateClassPropertyAccess: false,
allowProtectedClassPropertyAccess: false
}],
'func-call-spacing': 'off',
'@typescript-eslint/func-call-spacing': 'off',
'indent': 'off',
'@typescript-eslint/indent': 'off',
'init-declarations': 'off',
'@typescript-eslint/init-declarations': ['error', 'always'],
'key-spacing': 'off',
'@typescript-eslint/key-spacing': 'off',
'keyword-spacing': 'off',
'@typescript-eslint/keyword-spacing': 'off',
'lines-around-comment': 'off',
'@typescript-eslint/lines-around-comment': 'off',
'lines-between-class-members': 'off',
'@typescript-eslint/lines-between-class-members': 'off',
'no-array-constructor': 'off',
'@typescript-eslint/no-array-constructor': 'warn',
'no-dupe-class-members': 'off',
'@typescript-eslint/no-dupe-class-members': 'error',
'no-empty-function': 'off',
'@typescript-eslint/no-empty-function': ['error', {
allow: ['protected-constructors', 'private-constructors']
}],
'no-extra-parens': 'off',
'@typescript-eslint/no-extra-parens': 'off',
'no-extra-semi': 'off',
'@typescript-eslint/no-extra-semi': 'off',
'no-implied-eval': 'off',
'@typescript-eslint/no-implied-eval': 'error',
'no-invalid-this': 'off',
'@typescript-eslint/no-invalid-this': 'error',
'no-loop-func': 'off',
'@typescript-eslint/no-loop-func': 'error',
'@typescript-eslint/no-loss-of-precision': 'off',
'no-magic-numbers': 'off',
'@typescript-eslint/no-magic-numbers': 'off',
'no-redeclare': 'off',
'@typescript-eslint/no-redeclare': 'error',
'no-restricted-imports': 'off',
'@typescript-eslint/no-restricted-imports': ['error', {}],
'no-shadow': 'off',
'@typescript-eslint/no-shadow': 'off',
'no-throw-literal': 'off',
'@typescript-eslint/only-throw-error': ['error', {
allowRethrowing: false,
allowThrowingAny: false,
allowThrowingUnknown: false
}],
'no-unused-expressions': 'off',
'@typescript-eslint/no-unused-expressions': 'error',
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': ['error', {
args: 'after-used',
argsIgnorePattern: '^_',
caughtErrors: 'all',
destructuredArrayIgnorePattern: '^_',
ignoreRestSiblings: false,
vars: 'all'
}],
'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': ['error', {
functions: false,
classes: false,
variables: false,
allowNamedExports: false,
enums: false,
typedefs: false,
ignoreTypeReferences: false
}],
'no-useless-constructor': 'off',
'@typescript-eslint/no-useless-constructor': 'error',
'object-curly-spacing': 'off',
'@typescript-eslint/object-curly-spacing': 'off',
'padding-line-between-statements': 'off',
'@typescript-eslint/padding-line-between-statements': 'off',
'prefer-destructuring': 'off',
'@typescript-eslint/prefer-destructuring': 'off',
'prefer-promise-reject-errors': 'off',
'@typescript-eslint/prefer-promise-reject-errors': 'error',
'quotes': 'off',
'@typescript-eslint/quotes': 'off',
'require-await': 'off',
'@typescript-eslint/require-await': 'error',
'no-return-await': 'off',
'@typescript-eslint/return-await': ['warn', 'error-handling-correctness-only'],
'semi': 'off',
'@typescript-eslint/semi': 'off',
'space-before-blocks': 'off',
'@typescript-eslint/space-before-blocks': 'off',
'space-before-function-paren': 'off',
'@typescript-eslint/space-before-function-paren': 'off',
'space-infix-ops': 'off',
'@typescript-eslint/space-infix-ops': 'off'
};