import globals from 'globals'; import pluginJs from '@eslint/js'; import tseslint from 'typescript-eslint'; import pluginReact from 'eslint-plugin-react'; import stylistic from '@stylistic/eslint-plugin'; import pluginImport from 'eslint-plugin-import'; export default [ { files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] }, { languageOptions: { globals: globals.browser } }, pluginJs.configs.recommended, ...tseslint.configs.recommended, pluginReact.configs.flat.recommended, { plugins: { '@stylistic': stylistic, import: pluginImport, }, rules: { 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': [ 'warn', // or "error" { argsIgnorePattern: '^_', varsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_', }, ], 'sort-imports': ['off'], 'import/order': [ 'error', { groups: [ 'builtin', 'external', 'internal', 'parent', ['sibling', 'index'], ], 'newlines-between': 'always', }, ], semi: ['error', 'always'], '@stylistic/indent': ['error', 2], 'react/prop-types': 'off', }, }, { ignores: ['babel.config.js'], }, ];