| // Licensed under the Apache License, Version 2.0 (the 'License'); you may not |
| // use this file except in compliance with the License. You may obtain a copy of |
| // the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT |
| // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| // License for the specific language governing permissions and limitations under |
| // the License. |
| |
| module.exports = { |
| extends: [ |
| 'eslint:recommended', |
| 'plugin:@typescript-eslint/eslint-recommended', |
| 'plugin:@typescript-eslint/recommended', |
| 'plugin:react/recommended', |
| 'plugin:prettier/recommended' |
| ], |
| parser: '@typescript-eslint/parser', |
| parserOptions: { |
| project: 'tsconfig.json', |
| sourceType: 'module' |
| }, |
| plugins: ['@typescript-eslint'], |
| rules: { |
| '@typescript-eslint/naming-convention': [ |
| 'error', |
| { |
| 'selector': ['variable', 'function'], |
| 'format': ['camelCase'], |
| 'leadingUnderscore': 'allow' |
| } |
| ], |
| '@typescript-eslint/naming-convention': [ |
| 'error', |
| { |
| 'selector': 'interface', |
| 'format': ['PascalCase'], |
| 'custom': { |
| 'regex': '^I[A-Z]', |
| 'match': true |
| } |
| } |
| ], |
| "@typescript-eslint/ban-types": [ |
| "error", |
| { |
| "extendDefaults": true, |
| "types": { |
| "object": false |
| } |
| } |
| ], |
| '@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }], |
| '@typescript-eslint/no-explicit-any': 'off', |
| '@typescript-eslint/no-namespace': 'off', |
| '@typescript-eslint/no-use-before-define': 'off', |
| '@typescript-eslint/quotes': [ |
| 'error', |
| 'single', |
| { avoidEscape: true, allowTemplateLiterals: false } |
| ], |
| curly: ['error', 'all'], |
| eqeqeq: 'error', |
| 'prefer-arrow-callback': 'error', |
| 'max-len': [ |
| 'error', |
| {'code': 80, 'ignoreUrls': true, 'tabWidth': 2} |
| ] |
| }, |
| settings: { |
| 'react': { |
| 'version': 'detect' |
| } |
| } |
| }; |