const { off } = require('process'); module.exports = { extends: [ 'react-app', 'airbnb-typescript', 'plugin:react/recommended', 'plugin:import/typescript', 'plugin:@typescript-eslint/recommended', 'plugin:promise/recommended', 'plugin:react-hooks/recommended', 'plugin:prettier/recommended', 'prettier', 'plugin:cypress/recommended', ], env: { browser: true, node: true, }, parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 2020, sourceType: 'module', sourceType: 'module', project: './tsconfig.json', tsconfigRootDir: __dirname, }, rules: { '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', 'no-param-reassign': ['error', { props: false }], 'jsx-a11y/anchor-is-valid': 'off', 'no-console': ['warn', { allow: ['debug', 'info', 'time', 'timeEnd', 'trace', 'error'] }], 'import/prefer-default-export': 'off', 'import/no-extraneous-dependencies': 'off', '@typescript-eslint/no-explicit-any': 'off', 'no-shadow': 'off', 'no-nested-ternary': 'off', '@typescript-eslint/no-shadow': 'error', '@typescript-eslint/ban-ts-comment': 'off', '@typescript-eslint/no-non-null-assertion': 'off', 'no-underscore-dangle': 'off', 'react/display-name': 'off', 'react/prop-types': ['error', { skipUndeclared: true }], 'jsx-a11y/click-events-have-key-events': 'off', 'jsx-a11y/no-static-element-interactions': 'off', 'jsx-a11y/no-noninteractive-element-interactions': 'off', 'react/jsx-props-no-spreading': 'off', 'react/button-has-type': 'off', 'jsx-a11y/control-has-associated-label': 'off', 'jsx-a11y/label-has-associated-control': 'off', 'react/require-default-props': 'off', 'class-methods-use-this': 'off', 'max-len': ['error', { code: 512, ignoreUrls: true }], 'prettier/prettier': ['error', { endOfLine: 'auto' }], 'no-debugger': 'warn', }, settings: { 'import/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx'], }, }, };