import reactConfig from '../rules/react/.eslint-react.js'; import jsReactConfig from './js-react.js' import tsBaseConfig from './ts-base.js' const { rules: reactRules, settings: reactSettings } = reactConfig; const reactFilenameExtensionRule = reactRules['react/jsx-filename-extension']; export default [ ...jsReactConfig, ...tsBaseConfig, { name: 'react-settings', settings: { 'import/resolver': { ...reactSettings['import/resolver'], node: { ...reactSettings['import/resolver'].node, extensions: [ ...reactSettings['import/resolver'].node.extensions, '.ts', '.tsx', ], }, }, 'import/extensions': [ ...reactSettings['import/extensions'], '.ts', '.tsx', ], }, rules: { '@typescript-eslint/class-methods-use-this': reactRules['class-methods-use-this'], 'import/extensions': [ reactRules['import/extensions'][0], reactRules['import/extensions'][1], { ...reactRules['import/extensions'][2], ts: 'never', tsx: 'never', }, ], 'react/jsx-filename-extension': [reactFilenameExtensionRule[0], { ...reactFilenameExtensionRule[1], extensions: [ ...reactFilenameExtensionRule[1].extensions, '.ts', '.tsx', ], }], 'react/require-default-props': 'off', }, }, ];