102 lines
2.6 KiB
YAML
102 lines
2.6 KiB
YAML
parser: "@typescript-eslint/parser"
|
|
parserOptions:
|
|
ecmaVersion: 6
|
|
ecmaFeatures:
|
|
jsx: true
|
|
project: "./tsconfig.json"
|
|
tsconfigRootDir: "./"
|
|
settings:
|
|
react:
|
|
pragma: "React"
|
|
version: "detect"
|
|
linkComponents:
|
|
- name: Link
|
|
linkAttribute: to
|
|
- name: NavLink
|
|
linkAttribute: to
|
|
env:
|
|
browser: true
|
|
es6: true
|
|
plugins:
|
|
- "react"
|
|
- "react-hooks"
|
|
- "@typescript-eslint"
|
|
extends:
|
|
- "standard"
|
|
- "plugin:react/recommended"
|
|
- "plugin:@typescript-eslint/recommended"
|
|
rules:
|
|
quotes:
|
|
- warn
|
|
- single
|
|
indent:
|
|
- warn
|
|
- 4
|
|
- SwitchCase: 1
|
|
semi:
|
|
- warn
|
|
- always
|
|
comma-dangle:
|
|
- warn
|
|
- always-multiline
|
|
spaced-comment:
|
|
- warn
|
|
array-bracket-spacing:
|
|
- warn
|
|
- always
|
|
"@typescript-eslint/no-unused-vars":
|
|
- warn
|
|
- argsIgnorePattern: '^_'
|
|
varsIgnorePattern: '^_'
|
|
# Remove errors for not having newlines between operands of ternary expressions https://eslint.org/docs/rules/multiline-ternary
|
|
multiline-ternary: 0
|
|
"react-hooks/rules-of-hooks":
|
|
- error
|
|
"react-hooks/exhaustive-deps": 0
|
|
"@typescript-eslint/explicit-function-return-type": 0
|
|
"@typescript-eslint/explicit-member-accessibility": 0
|
|
"@typescript-eslint/ban-ts-ignore": 0
|
|
"@typescript-eslint/no-explicit-any": 0
|
|
"@typescript-eslint/no-non-null-assertion": 0
|
|
"@typescript-eslint/ban-ts-comment": 0
|
|
# This would be nice to have, but don't want to deal with the warning spam at the moment.
|
|
"@typescript-eslint/explicit-module-boundary-types": 0
|
|
no-restricted-imports:
|
|
- error
|
|
- paths:
|
|
- name: styled-components
|
|
message: Please import from styled-components/macro.
|
|
patterns:
|
|
- "!styled-components/macro"
|
|
# Not sure, this rule just doesn't work right and is protected by our use of Typescript anyways
|
|
# so I'm just not going to worry about it.
|
|
"react/prop-types": 0
|
|
"react/display-name": 0
|
|
"react/jsx-indent-props":
|
|
- warn
|
|
- 4
|
|
"react/jsx-boolean-value":
|
|
- warn
|
|
- never
|
|
"react/jsx-closing-bracket-location":
|
|
- 1
|
|
- "line-aligned"
|
|
"react/jsx-closing-tag-location": 1
|
|
# This setup is required to avoid a spam of errors when running eslint about React being
|
|
# used before it is defined.
|
|
#
|
|
# see https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-use-before-define.md#how-to-use
|
|
no-use-before-define: 0
|
|
"@typescript-eslint/no-use-before-define":
|
|
- warn
|
|
overrides:
|
|
- files:
|
|
- "**/*.tsx"
|
|
rules:
|
|
operator-linebreak:
|
|
- error
|
|
- before
|
|
- overrides:
|
|
"&&": "after"
|
|
"?": "ignore"
|
|
":": "ignore"
|