auspice
Version:
Web app for visualizing pathogen evolution
65 lines (55 loc) • 1.87 kB
YAML
extends:
- eslint:recommended
- plugin:@typescript-eslint/recommended
- plugin:react/recommended
- plugin:react-hooks/recommended
plugins:
- "@typescript-eslint"
- react
- react-hooks
parser: "@typescript-eslint/parser"
globals:
page: true
browser: true
context: true
jestPuppeteer: true
BASE_URL: true
rules:
# Code quality rules
eqeqeq: error
"@typescript-eslint/consistent-type-assertions": ["error", { assertionStyle: 'never' }]
"@typescript-eslint/no-empty-function": ["error", { "allow": ["arrowFunctions"] }]
"@typescript-eslint/no-explicit-any": off # Allow explicit any to make incremental TypeScript adoption easier.
# TODO: use strict ruleset which includes no-non-null-assertion.
# Not possible while strictNullChecks is disabled in tsconfig.
"@typescript-eslint/no-non-null-assertion": "error"
no-unused-vars: off
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_", "destructuredArrayIgnorePattern": "^_" }]
no-use-before-define: off
"@typescript-eslint/no-use-before-define": ["error", { "functions": false }]
"@typescript-eslint/no-var-requires": off # Remove this override once all files use ES6 style imports.
prefer-const: ["error", {"destructuring": "all"}]
react/no-array-index-key: error
react/prop-types: off # Remove this override once all props have been typed using PropTypes or TypeScript.
# Code style rules
arrow-parens: ["error", "always"]
no-unneeded-ternary: ["error", { "defaultAssignment": true }]
quote-props: ["error", "as-needed"]
overrides:
- files: ["*.ts", "*.tsx"]
rules:
"@typescript-eslint/explicit-function-return-type": "error"
parserOptions:
ecmaVersion: 6
sourceType: module
ecmaFeatures:
modules: true
env:
es6: true
browser: true
node: true
jest: true
settings:
react:
version: detect