module.exports = { extends: [require.resolve('@umijs/fabric/dist/eslint')], globals: { page: true, REACT_APP_ENV: true, }, rules: { 'react/jsx-key': ['error'], '@typescript-eslint/camelcase': 0, '@typescript-eslint/class-name-casing': 0, '@typescript-eslint/prefer-interface': 0, '@typescript-eslint/no-explicit-any': 0, '@typescript-eslint/no-empty-interface': 'warn', '@typescript-eslint/array-type': 'warn', '@typescript-eslint/no-non-null-assertion': 0, '@typescript-eslint/no-unused-vars': 'error', 'space-infix-ops': 0, 'eslint-comments/no-unlimited-disable': 0, 'no-useless-return': 0, 'comma-spacing': 0, 'import/no-extraneous-dependencies': 0, 'comma-dangle': 0, 'no-trailing-spaces': 0, 'object-curly-spacing': 0, 'no-plusplus': 0, 'no-else-return': 0, 'arrow-body-style': 0, 'eol-last': 0, 'import/no-unresolved': [ 'error', { ignore: ['@config/', '@/', '@modules', '@wetrial'], }, ], 'key-spacing': 0, 'space-before-blocks': 0, semi: 0, 'keyword-spacing': 0, 'arrow-spacing': 0, 'brace-style': 0, 'space-before-function-paren': 0, 'import/order': 0, 'padded-blocks': 0, 'react/prefer-stateless-function': 0, 'lines-between-class-members': 0, 'consistent-return': 0, 'import/first': 0, 'react/jsx-no-bind': 0, 'no-template-curly-in-string': 0, 'max-len': ['warn', { code: 400 }], 'no-unused-expressions': ['error', { allowShortCircuit: true }], 'class-methods-use-this': 0, // ["error", { "exceptMethods": ["setDefaultFilter"] }] 'react/sort-comp': [ 1, { order: [ 'static-properties', 'static-methods', 'type-annotations', 'propTypes', 'conventional-private-properties', 'state', 'private-instance-fields', 'lifecycle', '/^on.+$/', '/^handle.+$/', '/^get.+$/', 'everything-else', 'render', ], }, ], 'dot-notation': 0, 'no-return-await': 0, 'unicode-bom': 0, 'arrow-parens': 0, 'wrap-iife': 0, '@typescript-eslint/naming-convention': 0, '@typescript-eslint/dot-notation': 0, '@typescript-eslint/lines-between-class-members': 0, '@typescript-eslint/no-dupe-class-members': 0, '@typescript-eslint/no-implied-eval': 0, '@typescript-eslint/no-throw-literal': 0, '@typescript-eslint/no-unused-expressions': 0, }, };