Skip to content
Snippets Groups Projects
Select Git revision
  • 8c62f43647c1eef59919e48e074c3b7e6e59d75a
  • master default
2 results

.eslintrc.js

Blame
  • .eslintrc.js 1.38 KiB
    module.exports = {
      env: {
        node: true,
        jest: true,
      },
      extends: [
        'plugin:promise/recommended',
        'plugin:@typescript-eslint/recommended',
        'airbnb-typescript/base',
        'prettier',
        'prettier/@typescript-eslint',
      ],
      parserOptions: {
        ecmaVersion: 9,
        project: './tsconfig.json',
      },
      rules: {
        'import/no-unresolved': 0, // done by typescript
        'import/prefer-default-export': 0, // no benefit
        'require-await': 'error',
        'no-use-before-define': 0,
        'no-restricted-syntax': 0,
        'no-await-in-loop': 0,
        'prefer-destructuring': 'off',
        'prefer-template': 'off',
        'no-underscore-dangle': 0,
    
        '@typescript-eslint/explicit-function-return-type': 'error',
    
        // TODO: fix lint
        '@typescript-eslint/camelcase': 'off', // disabled until ??
        '@typescript-eslint/no-explicit-any': 0,
        '@typescript-eslint/no-non-null-assertion': 0,
        '@typescript-eslint/no-unused-vars': [
          'error',
          {
            vars: 'all',
            args: 'none',
            ignoreRestSiblings: false,
          },
        ], // disable until proper interfaced api
      },
      overrides: [
        {
          files: ['*.js'],
          rules: {
            '@typescript-eslint/no-var-requires': 0,
            '@typescript-eslint/no-use-before-define': 0,
            '@typescript-eslint/explicit-member-accessibility': 0,
            '@typescript-eslint/explicit-function-return-type': 0,
          },
        },
      ],
    };