@gravity-ui/eslint-config
Version:
Gravity UI ESLint config, following our styleguide
49 lines (45 loc) • 1.31 kB
JavaScript
import reactPlugin from 'eslint-plugin-react';
import reactHooksPlugin from 'eslint-plugin-react-hooks';
import {OFF, WARNING} from './constants.js';
/** @type {import('eslint').Linter.Config[]} */
const reactConfig = [
reactPlugin.configs.flat.recommended,
reactHooksPlugin.configs['recommended-latest'],
{
languageOptions: {
parserOptions: {
ecmaFeatures: {
jsx: true,
},
babelOptions: {
presets: ['@babel/preset-react'],
},
},
},
settings: {
react: {
version: 'detect',
},
},
},
{
files: ['**/*.ts', '**/*.mts', '**/*.cts', '**/*.tsx', '**/*.mtsx', '**/*.ctsx'],
rules: {
'react/prop-types': OFF,
'react/sort-comp': [
WARNING,
{
order: [
'static-variables',
'static-methods',
'instance-variables',
'lifecycle',
'render',
'everything-else',
],
},
],
},
},
];
export default reactConfig;