--- extends: - eslint:recommended - plugin:@typescript-eslint/eslint-recommended - plugin:@typescript-eslint/recommended - plugin:@typescript-eslint/recommended-requiring-type-checking - plugin:react/recommended - plugin:import/errors - plugin:import/typescript - plugin:jest/recommended - prettier env: browser: true es6: true node: true parser: "@typescript-eslint/parser" parserOptions: project: tsconfig.json sourceType: module plugins: - "@typescript-eslint" - react - import - unicorn settings: react: version: detect rules: consistent-return: error default-case: error default-param-last: error no-loop-func: off arrow-body-style: [error, as-needed] import/no-useless-path-segments: error import/group-exports: off import/extensions: [error, never] import/no-duplicates: error import/first: error import/no-unused-modules: error unicorn/no-abusive-eslint-disable: error unicorn/no-array-instanceof: error unicorn/no-unreadable-array-destructuring: error unicorn/no-zero-fractions: error react/jsx-key: error react/jsx-pascal-case: error react/destructuring-assignment: warn react/function-component-definition: [error, {namedComponents: arrow-function, unnamedComponents: arrow-function}] react/no-array-index-key: error react/no-deprecated: error react/no-string-refs: error react/no-this-in-sfc: error react/no-typos: error react/no-unknown-property: error react/prefer-stateless-function: error react/prop-types: off jest/expect-expect: off jest/no-jasmine-globals: off "@typescript-eslint/require-await": off "@typescript-eslint/array-type": [error, {default: array-simple}] "@typescript-eslint/await-thenable": error "@typescript-eslint/no-unused-vars": error "@typescript-eslint/no-use-before-define": off "@typescript-eslint/consistent-type-assertions": [error, {assertionStyle: as}] "@typescript-eslint/no-extra-non-null-assertion": error "@typescript-eslint/no-inferrable-types": error "@typescript-eslint/no-this-alias": error "@typescript-eslint/no-throw-literal": error "@typescript-eslint/prefer-nullish-coalescing": error "@typescript-eslint/prefer-optional-chain": error "@typescript-eslint/prefer-readonly": error "@typescript-eslint/unbound-method": error "@typescript-eslint/no-empty-function": off "@typescript-eslint/explicit-module-boundary-types": off "@typescript-eslint/no-floating-promises": off "@typescript-eslint/no-unsafe-member-access": off "@typescript-eslint/no-unsafe-return": off "@typescript-eslint/no-unsafe-assignment": off "@typescript-eslint/restrict-plus-operands": off "@typescript-eslint/no-misused-promises": off "@typescript-eslint/no-explicit-any": error