module.exports = { extends: [ 'standard', 'standard-react', '@react-native-community', 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/eslint-recommended', 'prettier', ], parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 2020, sourceType: 'module', ecmaFeatures: { jsx: true, }, }, plugins: ['react-hooks', '@typescript-eslint'], rules: { 'react-hooks/rules-of-hooks': 'error', 'react-hooks/exhaustive-deps': 'warn', 'react/prop-types': 'off', '@typescript-eslint/no-use-before-define': 'off', 'no-use-before-define': 'off', 'import/order': [ 'error', { groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'object', 'index'], pathGroups: [ { pattern: 'react', group: 'external', position: 'before', }, { pattern: 'react-native', group: 'external', position: 'before', }, { pattern: 'react-native-reanimated', group: 'external', position: 'before', }, ], pathGroupsExcludedImportTypes: ['react'], 'newlines-between': 'ignore', alphabetize: { order: 'asc', caseInsensitive: true, }, }, ], 'react/jsx-uses-react': 'error', 'react/jsx-uses-vars': 'error', 'react/self-closing-comp': ['error', { component: true, html: true }], 'multiline-ternary': 'off', '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/no-non-null-assertion': 'off', }, overrides: [ { files: ['*.ts', '*.tsx'], rules: { 'no-undef': 'off', }, }, ], env: { jest: true, }, globals: { __DEV__: true, }, }