module.exports = { 'env': { 'browser': true, 'es6': true, 'node': true }, 'parser': '@typescript-eslint/parser', 'parserOptions': { 'project': 'tsconfig.json', 'sourceType': 'module' }, 'plugins': [ '@typescript-eslint' ], 'globals': { 'BufferEncoding': 'readonly' }, 'extends': ['eslint:recommended'], 'rules': { '@typescript-eslint/indent': [ 'error', 2 ], '@typescript-eslint/member-delimiter-style': [ 'error', { 'multiline': { 'delimiter': 'semi', 'requireLast': true }, 'singleline': { 'delimiter': 'semi', 'requireLast': true } } ], '@typescript-eslint/naming-convention': [ 'error', { selector: 'default', format: ['camelCase'] }, { selector: 'variable', modifiers: ['const'], format: ['camelCase', 'UPPER_CASE'] }, { selector: 'typeLike', format: ['PascalCase'] }, { selector: 'property', modifiers: ['static', 'readonly'], format: ['UPPER_CASE'] }, { selector: 'enumMember', format: ['UPPER_CASE'] } ], '@typescript-eslint/no-unused-vars': 'error', '@typescript-eslint/prefer-namespace-keyword': 'error', '@typescript-eslint/quotes': [ 'error', 'single' ], '@typescript-eslint/semi': [ 'error' ], '@typescript-eslint/type-annotation-spacing': 'error', '@typescript-eslint/no-floating-promises': 'error', 'brace-style': [ 'error', '1tbs' ], 'eqeqeq': [ 'error', 'smart' ], 'id-denylist': [ 'error', 'any', 'Number', 'number', 'String', 'string', 'Boolean', 'boolean', 'Undefined', 'undefined' ], 'id-match': 'error', 'indent': 'off', // @typescript-eslint 'keyword-spacing': 'error', 'no-eval': 'error', 'no-trailing-spaces': 'error', 'no-underscore-dangle': 'error', 'no-unused-vars': 'off', // @typescript-eslint 'no-useless-escape': 'warn', 'no-var': 'error', 'quotes': 'off', // @typescript-eslint 'semi': 'off', // @typescript-eslint 'space-before-blocks': ['error', 'always'], 'spaced-comment': [ 'error', 'always', { 'markers': [ '/' ] } ] } };