Sergey Krylov 2a4bce3e85 feat: add eslint 9 support, update dependencies
BREAKING CHANGE: not support eslint 8 versions and lower
2024-11-01 07:37:54 +03:00

51 lines
1.3 KiB
JavaScript

const { rules: reactRules, settings: reactSettings } = require('../rules/react/.eslint-react');
const reactFilenameExtensionRule = reactRules['react/jsx-filename-extension'];
module.exports = [
...require('./js-react'),
...require('./ts-base'),
{
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',
},
},
];