2.5.0 Beta
Pre-release
Pre-release
ESLint v9 Configuration (eslint.config.js)
ESLint v9 uses the flat config format. You can use this plugin in multiple ways:
Option 1: Importing the default config
import { flatConfig } from '@arthurgeron/eslint-plugin-react-usememo';
export default [
{
files: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx'],
languageOptions: {
ecmaVersion: 2020,
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
},
plugins: {
'@arthurgeron/react-usememo': flatConfig,
},
rules: {
'@arthurgeron/react-usememo/require-usememo': 'error',
'@arthurgeron/react-usememo/require-memo': 'error',
'@arthurgeron/react-usememo/require-usememo-children': 'error',
},
},
];Option 2: Using the recommended config
import { flatConfig } from '@arthurgeron/eslint-plugin-react-usememo';
export default [
// Other configs...
flatConfig.configs.recommended,
];Option 3: Using CommonJS syntax
const { flatConfig } = require('@arthurgeron/eslint-plugin-react-usememo');
module.exports = [
// Other configs...
{
plugins: {
'@arthurgeron/react-usememo': flatConfig,
},
rules: {
'@arthurgeron/react-usememo/require-usememo': 'error',
'@arthurgeron/react-usememo/require-memo': 'error',
'@arthurgeron/react-usememo/require-usememo-children': 'error',
},
},
];ESLint 8 is still supported, but will be removed in the future.