import eslint from '@eslint/js'; import reactHooks from 'eslint-plugin-react-hooks'; import unusedImports from 'eslint-plugin-unused-imports'; import tseslint from 'typescript-eslint'; import stylistic from '@stylistic/eslint-plugin'; export default tseslint.config( { ignores: ['node_modules/', 'dist/', 'build/', '.react-router/'] }, eslint.configs.recommended, tseslint.configs.recommended, stylistic.configs.customize({ indent: 2, semi: true, jsx: true, braceStyle: '1tbs', commaDangle: 'always-multiline', quoteProps: 'as-needed', arrowParens: true, }), reactHooks.configs.flat.recommended, { plugins: { 'unused-imports': unusedImports, }, rules: { '@stylistic/jsx-one-expression-per-line': 'off', '@stylistic/multiline-ternary': 'off', 'react-hooks/set-state-in-effect': 'off', '@typescript-eslint/no-empty-object-type': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-unused-expressions': 'off', '@stylistic/no-multiple-empty-lines': ['error', { max: 1, maxEOF: 1 }], '@stylistic/comma-dangle': 'off', '@stylistic/semi': 'off', '@stylistic/no-trailing-spaces': 'off', '@typescript-eslint/no-unused-vars': 'off', 'unused-imports/no-unused-imports': 'error', 'unused-imports/no-unused-vars': ['warn', { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_' }], '@stylistic/arrow-parens': 'off', '@stylistic/member-delimiter-style': 'off', '@typescript-eslint/consistent-type-imports': 'off', '@stylistic/max-statements-per-line': 'off', '@stylistic/operator-linebreak': 'off', }, }, );