54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
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',
|
|
},
|
|
},
|
|
];
|