jdalrymple/sema4

View on GitHub
.eslintrc.yml

Summary

Maintainability
Test Coverage
root: true

env:
  browser: true
  jest/globals: true

globals:
  page: true
  browser: true
  context: true

extends:
  - airbnb-base
  - plugin:@typescript-eslint/recommended
  - plugin:@typescript-eslint/recommended-requiring-type-checking
  - plugin:prettier/recommended
  - plugin:jest/recommended

parser: '@typescript-eslint/parser'

parserOptions:
  project:
    - './tsconfig.json'

plugins:
  - '@typescript-eslint'
  - prettier
  - import
  - jest

rules:
  import/no-default-export: off
  import/prefer-default-export: off
  import/no-extraneous-dependencies:
    - error
    - devDependencies:
        - '**/*.config.ts'
        - '**/test/**/*.ts'
  import/extensions:
    - error
    - ignorePackages
    - js: never
      ts: never
      json: always

  # '@typescript-eslint/explicit-function-return-type': off
  # '@typescript-eslint/explicit-module-boundary-types': off
  # '@typescript-eslint/no-unsafe-member-access': off
  # '@typescript-eslint/no-unsafe-return': off
  # '@typescript-eslint/no-unsafe-assignment': off
  # '@typescript-eslint/no-unsafe-call': off
  # '@typescript-eslint/no-explicit-any': off
  # '@typescript-eslint/no-unsafe-declaration-merging': off
  # '@typescript-eslint/unbound-method': error
  # '@typescript-eslint/no-unused-vars':
  #   - error
  #   - ignoreRestSiblings: true

  camelcase:
    - error

  sort-imports:
    - error
    - ignoreCase: false
      ignoreDeclarationSort: true
      ignoreMemberSort: false
      memberSyntaxSortOrder:
        - none
        - all
        - multiple
        - single
      allowSeparatedGroups: true

overrides:
  - files:
      - '**/*.ts'
    rules:
      camelcase: off

  - files:
      - '**/test/**/*.ts'
    plugins:
      - jest

    rules:
      '@typescript-eslint/unbound-method': off
      '@typescript-eslint/no-var-requires': off
      global-require: off
      jest/no-mocks-import: off
      jest/unbound-method: error

settings:
  import/resolver:
    typescript: