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