CliffbreakTS-Viewer/server/.eslintrc.js

111 lines
3.8 KiB
JavaScript
Raw Permalink Normal View History

2020-04-29 09:33:39 +00:00
module.exports = {
root: true,
extends: [
'eslint:recommended',
],
parserOptions: {
'ecmaVersion': 2017,
},
env: {
'node': true,
'es6': true,
},
rules: {
'camelcase': ['error', {
'properties': 'always',
'ignoreDestructuring': false,
'ignoreImports': false,
}],
'comma-dangle': ['error', 'always-multiline'],
'comma-spacing': ['error', { 'before': false, 'after': true }],
'curly': ['error', 'all'],
'eol-last': ['error', 'never'],
'indent': ['error', 4],
'key-spacing': ['error', {
'beforeColon': false,
'afterColon': true,
'mode': 'strict',
}],
'keyword-spacing': ['error', {
'after': true,
'overrides': {
'if': { 'after': false },
'for': { 'after': false },
'while': { 'after': false },
},
}],
'max-classes-per-file': ['error', 1],
'max-len': ['error', 150],
'no-console': ['warn'],
'no-empty': ['error', { 'allowEmptyCatch': false }],
'no-multi-spaces': ['error', { 'ignoreEOLComments': false }],
'no-trailing-spaces': ['error', { 'ignoreComments': false }],
'no-warning-comments': ['warn', { 'location': 'start' }],
'object-curly-spacing': ['error', 'always'],
'quotes': ['error', 'single'],
'semi': ['error', 'always'],
'sort-imports': ['error', {
'ignoreCase': false,
'ignoreDeclarationSort': false,
'ignoreMemberSort': false,
2020-09-21 12:56:11 +00:00
'memberSyntaxSortOrder': ['none', 'all', 'multiple', 'single'],
2020-04-29 09:33:39 +00:00
}],
'sort-vars': ['error', { 'ignoreCase': true }],
'space-before-blocks': ['error', 'always'],
'space-before-function-paren': ['error', {
'anonymous': 'always',
'named': 'never',
2020-09-21 12:56:11 +00:00
'asyncArrow': 'always',
2020-04-29 09:33:39 +00:00
}],
'space-in-parens': ['error', 'never'],
'spaced-comment': ['error', 'always'],
},
overrides: [
{
files: ['*.ts'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: 'tsconfig.json',
},
plugins: [
'@typescript-eslint',
],
extends: [
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
],
rules: {
2020-09-21 12:56:11 +00:00
'@typescript-eslint/naming-convention': [
'error',
{
'selector': 'default',
'format': ['camelCase'],
},
{
'selector': 'variable',
'modifiers': ['const'],
'format': ['PascalCase', 'camelCase'],
},
{
'selector': 'parameter',
'format': ['camelCase'],
'leadingUnderscore': 'allow',
},
{
'selector': 'typeLike',
'format': ['PascalCase'],
},
{
'selector': 'interface',
'format': ['PascalCase'],
'prefix': ['I'],
},
],
2020-04-29 09:33:39 +00:00
'@typescript-eslint/no-empty-interface': ['error', { 'allowSingleExtends': false }],
2020-09-21 12:56:11 +00:00
'quotes': 'off',
'@typescript-eslint/quotes': ['error', 'single'],
2020-04-29 09:33:39 +00:00
'@typescript-eslint/type-annotation-spacing': ['error', { 'before': false, 'after': true }],
2020-09-21 12:56:11 +00:00
},
},
2020-04-29 09:33:39 +00:00
],
};