utils/.eslintrc.cjs

61 lines
1.9 KiB
JavaScript
Raw Normal View History

module.exports = {
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
root: true,
env: {
'node': true,
'es2018': true,
},
rules: {
'no-shadow': ['error', { 'hoist': 'all' }],
'@typescript-eslint/no-shadow': ['error'],
'no-multi-spaces': 'error',
'no-multiple-empty-lines': ['error', { 'max': 1, 'maxEOF': 1 }],
'spaced-comment': ['error', 'always', { 'markers': ['/'] }],
'semi': 'error',
'arrow-spacing': 'error',
'block-scoped-var': 'error',
'block-spacing': 'error',
'brace-style': ['error', '1tbs', {}],
'camelcase': 'error',
'comma-spacing': ['error', { 'before': false, 'after': true }],
'comma-style': ['error', 'last'],
'consistent-this': ['error', '_this'],
'curly': ['error', 'multi'],
'eol-last': ['error', 'always'],
'eqeqeq': ['error', 'always'],
'func-names': ['error', 'as-needed'],
'indent': ['error', 2, { 'SwitchCase': 1 }],
'max-len': [
'error',
{
'code': 160,
'tabWidth': 2,
'ignoreComments': true,
'ignoreTrailingComments': true,
'ignoreUrls': true,
'ignoreStrings': true,
'ignoreTemplateLiterals': true,
'ignoreRegExpLiterals': true,
},
],
'new-cap': 'error',
'newline-before-return': 'error',
'no-array-constructor': 'error',
'no-inner-declarations': ['error', 'both'],
'no-new-object': 'error',
'no-shadow-restricted-names': 'error',
'object-curly-spacing': ['error', 'always'],
'prefer-const': 'error',
'prefer-template': 'error',
'one-var': ['error', { 'initialized': 'never' }],
'quote-props': ['error', 'always'],
'quotes': ['error', 'single'],
'radix': 'error',
'space-before-blocks': ['error', 'always'],
'space-infix-ops': 'error',
'vars-on-top': 'error',
},
};