eslint-ts/index.js
2020-05-17 19:07:23 +02:00

56 lines
1.3 KiB
JavaScript

/*
* Copyright (C) Sapphirecode - All Rights Reserved
* This file is part of eslint-config-ts which is released under MIT.
* See file 'LICENSE' for full license details.
* Created by Timo Hocker <timo@scode.ovh>, May 2020
*/
module.exports = {
globals: {},
parser: '@typescript-eslint/parser',
extends: [
'@sapphirecode/eslint-config-es6',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended'
],
plugins: [
'@typescript-eslint',
'eslint-plugin-tsdoc'
],
parserOptions: {
sourceType: 'module',
parser: 'babel-eslint'
},
settings: {
'import/parsers': {
'@typescript-eslint/parser': ['.ts', '.tsx']
}
},
rules: {
'@typescript-eslint/camelcase': 'off',
'@typescript-eslint/naming-convention': ['error',
{ selector: 'default', format: ['snake_case'] },
{ selector: 'typeLike', format: ['PascalCase'] },
{
selector: 'property',
modifiers: ['private'],
format: ['snake_case'],
leadingUnderscore: 'require'
}
],
'@typescript-eslint/no-use-before-define': 'off',
'tsdoc/syntax': 'error',
// deactivating commonjs rules
'id-match': ['error', '^([a-z][a-z0-9_]*|[A-Z][a-zA-Z]*)$', { onlyDeclarations: true }],
'no-underscore-dangle': 'off',
'node/no-missing-import': 'off'
}
}