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" - "plugin:jest-dom/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 "@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"