/* * Copyright (C) Sapphirecode - All Rights Reserved * This file is part of SCode-Eslint-Config which is released under BSD-3-Clause. * See file 'LICENSE' for full license details. * Created by Timo Hocker , March 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' } }