// module.exports = { // extends: ['airbnb', 'airbnb-base', 'plugin:@typescript-eslint/recommended'], // // "parser": "babel-eslint", // parser: '@typescript-eslint/parser', // parserOptions: { // ecmaFeatures: { // jsx: true // }, // project: './tsconfig.json' // }, // plugins: ['@typescript-eslint', 'react', 'jsx-a11y', 'import', 'react-hooks'], // rules: { // indent: ['error', 2], // '@typescript-eslint/indent': ['error', 2], // 'comma-dangle': 0, // 'no-restricted-syntax': 1, // 'new-cap': 1, // 'no-continue': 1, // 'no-underscore-dangle': 1, // 'global-require': 1, // 'react/no-multi-comp': 1, // 'react/jsx-filename-extension': 0, // camelcase: 1, // 'import/no-unresolved': 1, // 'import/prefer-default-export': 1, // 'import/extensions': 1, // 'no-return-assign': 1, // 'max-len': 1, // 'jsx-a11y/no-static-element-interactions': 0, // 'jsx-a11y/click-events-have-key-events': 0, // 'jsx-a11y/interactive-supports-focus': 0, // 'react-hooks/rules-of-hooks': 'error', // 'react-hooks/exhaustive-deps': 'warn', // 'no-nested-ternary': 1 // }, // globals: { // document: false, // window: false, // HTMLInputElement: false, // HTMLDivElement: false // } // }; module.exports = { extends: ['plugin:@typescript-eslint/recommended'], plugins: ['import', '@typescript-eslint'], parser: '@typescript-eslint/parser', parserOptions: { ecmaFeatures: { jsx: true, }, project: './tsconfig.json', }, globals: { Reactotron: true, }, rules: { curly: ['error', 'all'], 'valid-jsdoc': 'error', 'linebreak-style': 'off', 'no-console': 'off', 'object-curly-newline': 'off', 'no-unused-expressions': 'off', 'no-unused-vars': 'off', 'prefer-destructuring': [ 'error', { VariableDeclarator: { object: true, }, }, ], 'function-paren-newline': ['error', 'consistent'], 'lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }], 'no-multiple-empty-lines': ['error', { max: 1, maxBOF: 0, maxEOF: 0 }], 'eslint-comments/no-unlimited-disable': 'off', 'import/no-unresolved': 'off', 'import/extensions': 'off', 'import/prefer-default-export': 'off', 'prettier/prettier': [ 'error', { singleQuote: true, parser: 'flow', trailingComma: 'all', printWidth: 100, }, '@format', ], '@typescript-eslint/indent': ['error', 2], '@typescript-eslint/explicit-function-return-type': [ 'off', { allowExpressions: true, allowTypedFunctionExpressions: true, allowHigherOrderFunctions: true, }, ], '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/explicit-member-accessibility': 'off', '@typescript-eslint/no-empty-interface': 'off', }, };