123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- module.exports = {
- env: {
- browser: true,
- es6: true,
- commonjs: true
- },
- root: true,
- extends: [
- 'eslint:recommended',
- 'plugin:@typescript-eslint/eslint-recommended',
- 'plugin:@typescript-eslint/recommended',
- 'prettier/@typescript-eslint',
- 'plugin:react/recommended'
- ],
- parser: '@typescript-eslint/parser',
- parserOptions: {
- project: 'tsconfig.eslint.json'
- },
- plugins: ['@typescript-eslint'],
- rules: {
- indent: ['error', 2],
- 'linebreak-style': ['error', 'unix'],
- 'no-console': [
- 'error',
- {
- allow: ['error', 'warn', 'debug']
- }
- ],
- 'arrow-body-style': [0],
- curly: 'error',
- 'lines-around-comment': [0],
- 'max-len': 'off',
- 'no-confusing-arrow': [0],
- 'no-mixed-operators': [0],
- 'no-tabs': [0],
- 'no-unexpected-multiline': [0],
- 'prefer-arrow-callback': [0],
- quotes: [0],
- 'array-bracket-newline': ['off'],
- 'array-bracket-spacing': ['off'],
- 'array-element-newline': ['off'],
- 'arrow-parens': ['off'],
- 'arrow-spacing': ['off'],
- 'block-spacing': ['off'],
- 'brace-style': ['off'],
- 'comma-dangle': 'off',
- 'comma-spacing': ['off'],
- 'comma-style': ['off'],
- 'computed-property-spacing': ['off'],
- 'dot-location': ['off'],
- 'eol-last': 'error',
- 'func-call-spacing': ['off'],
- 'function-call-argument-newline': ['off'],
- 'function-paren-newline': ['off'],
- 'generator-star': ['off'],
- 'generator-star-spacing': ['off'],
- 'implicit-arrow-linebreak': ['off'],
- 'jsx-quotes': ['off'],
- 'key-spacing': ['off'],
- 'keyword-spacing': ['off'],
- 'multiline-ternary': ['off'],
- 'newline-per-chained-call': ['off'],
- 'new-parens': 'error',
- 'no-arrow-condition': ['off'],
- 'no-comma-dangle': ['off'],
- 'no-extra-parens': ['off'],
- 'no-extra-semi': ['off'],
- 'no-floating-decimal': ['off'],
- 'no-mixed-spaces-and-tabs': ['off'],
- 'no-multi-spaces': ['off'],
- 'no-multiple-empty-lines': 'off',
- 'no-reserved-keys': ['off'],
- 'no-space-before-semi': ['off'],
- 'no-trailing-spaces': 'error',
- 'no-whitespace-before-property': ['off'],
- 'no-wrap-func': ['off'],
- 'nonblock-statement-body-position': ['off'],
- 'object-curly-newline': ['off'],
- 'object-curly-spacing': ['off'],
- 'object-property-newline': ['off'],
- 'one-var-declaration-per-line': ['off'],
- 'operator-linebreak': ['off'],
- 'padded-blocks': ['off'],
- 'quote-props': ['off'],
- 'rest-spread-spacing': ['off'],
- semi: ['off'],
- 'semi-spacing': ['off'],
- 'semi-style': ['off'],
- 'space-after-function-name': ['off'],
- 'space-after-keywords': ['off'],
- 'space-before-blocks': ['off'],
- 'space-before-function-paren': ['off'],
- 'space-before-function-parentheses': ['off'],
- 'space-before-keywords': ['off'],
- 'space-in-brackets': ['off'],
- 'space-in-parens': ['off'],
- 'space-infix-ops': ['off'],
- 'space-return-throw-case': ['off'],
- 'space-unary-ops': ['off'],
- 'space-unary-word-ops': ['off'],
- 'switch-colon-spacing': ['off'],
- 'template-curly-spacing': ['off'],
- 'template-tag-spacing': ['off'],
- 'unicode-bom': ['off'],
- 'wrap-iife': ['off'],
- 'wrap-regex': ['off'],
- 'yield-star-spacing': ['off'],
- 'indent-legacy': ['off'],
- 'no-spaced-func': ['off'],
- 'constructor-super': ['error'],
- 'for-direction': ['error'],
- 'getter-return': ['error'],
- 'no-async-promise-executor': ['error'],
- 'no-case-declarations': ['off'],
- 'no-class-assign': ['error'],
- 'no-compare-neg-zero': ['error'],
- 'no-cond-assign': 'error',
- 'no-const-assign': ['error'],
- 'no-constant-condition': ['error'],
- 'no-control-regex': ['off'],
- 'no-debugger': 'error',
- 'no-delete-var': ['error'],
- 'no-dupe-args': ['error'],
- 'no-dupe-class-members': ['error'],
- 'no-dupe-keys': ['error'],
- 'no-duplicate-case': ['error'],
- 'no-empty': 'error',
- 'no-empty-character-class': ['error'],
- 'no-empty-pattern': ['error'],
- 'no-ex-assign': ['error'],
- 'no-extra-boolean-cast': ['error'],
- 'no-fallthrough': 'error',
- 'no-func-assign': ['error'],
- 'no-global-assign': ['error'],
- 'no-inner-declarations': ['off'],
- 'no-invalid-regexp': ['error'],
- 'no-irregular-whitespace': ['error'],
- 'no-misleading-character-class': ['error'],
- 'no-new-symbol': ['error'],
- 'no-obj-calls': ['error'],
- 'no-octal': ['error'],
- 'no-prototype-builtins': ['off'],
- 'no-redeclare': 'warn',
- 'no-regex-spaces': ['error'],
- 'no-self-assign': ['error'],
- 'no-shadow-restricted-names': ['error'],
- 'no-sparse-arrays': ['error'],
- 'no-this-before-super': ['error'],
- 'no-unreachable': ['error'],
- 'no-unsafe-finally': ['error'],
- 'no-unsafe-negation': ['error'],
- 'no-unused-labels': 'error',
- '@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }],
- '@typescript-eslint/no-namespace': 'off',
- 'no-useless-catch': ['error'],
- 'no-useless-escape': ['off'],
- 'no-with': ['error'],
- 'require-yield': ['error'],
- 'use-isnan': 'error',
- 'valid-typeof': ['error'],
- '@typescript-eslint/class-name-casing': 'error',
- '@typescript-eslint/consistent-type-assertions': 'error',
- '@typescript-eslint/explicit-member-accessibility': [
- 'off',
- {
- accessibility: 'explicit'
- }
- ],
- '@typescript-eslint/indent': [
- 'error',
- 2,
- {
- FunctionDeclaration: {
- parameters: 'first'
- },
- FunctionExpression: {
- parameters: 'first'
- }
- }
- ],
- '@typescript-eslint/interface-name-prefix': [
- 'error',
- { prefixWithI: 'always' }
- ],
- '@typescript-eslint/member-delimiter-style': [
- 'error',
- {
- multiline: {
- delimiter: 'semi',
- requireLast: true
- },
- singleline: {
- delimiter: 'semi',
- requireLast: false
- }
- }
- ],
- '@typescript-eslint/ban-ts-ignore': 'off',
- '@typescript-eslint/member-ordering': 'off',
- '@typescript-eslint/no-empty-function': 'error',
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/no-floating-promises': ['error', { ignoreVoid: true }],
- '@typescript-eslint/no-inferrable-types': 'off',
- '@typescript-eslint/no-require-imports': 'off',
- '@typescript-eslint/no-use-before-define': 'off',
- '@typescript-eslint/no-var-requires': 'off',
- '@typescript-eslint/prefer-namespace-keyword': 'error',
- '@typescript-eslint/explicit-function-return-type': 'off',
- '@typescript-eslint/quotes': [
- 'off',
- 'single',
- {
- avoidEscape: true
- }
- ],
- '@typescript-eslint/semi': ['error', 'always'],
- '@typescript-eslint/triple-slash-reference': 'off',
- '@typescript-eslint/type-annotation-spacing': 'off',
- '@typescript-eslint/no-empty-interface': 'off',
- '@typescript-eslint/camelcase': 'off',
- 'default-case': 'error',
- 'dot-notation': 'off',
- 'no-undef': 'off',
- 'prefer-const': 'off',
- eqeqeq: ['error', 'smart'],
- 'guard-for-in': 'off',
- 'id-blacklist': ['error', 'any', 'boolean', 'Undefined'],
- 'id-match': 'error',
- 'import/no-default-export': 'off',
- 'no-bitwise': 'off',
- 'no-caller': 'error',
- 'no-eval': 'error',
- 'no-invalid-this': 'off',
- 'no-new-wrappers': 'error',
- 'no-null/no-null': 'off',
- 'no-shadow': [
- 'off',
- {
- hoist: 'all'
- }
- ],
- 'no-underscore-dangle': 'off',
- 'no-var': 'error',
- 'one-var': ['error', 'never'],
- radix: 'error',
- '@typescript-eslint/no-non-null-assertion': 'off'
- },
- settings: {}
- };
|