import eslint from '@eslint/js' import reactHooks from 'eslint-plugin-react-hooks' import tseslint from 'typescript-eslint' export default tseslint.config( { ignores: [ 'dist/**', 'node_modules/**', 'coverage/**', 'data/**', 'eslint.config.js', 'ecosystem.config.cjs' ] }, eslint.configs.recommended, ...tseslint.configs.recommendedTypeChecked, { languageOptions: { parserOptions: { project: [ './tsconfig.server.json', './tsconfig.admin.json', './tsconfig.test.json' ], tsconfigRootDir: import.meta.dirname } }, plugins: { 'react-hooks': reactHooks }, rules: { ...reactHooks.configs.recommended.rules, '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-misused-promises': 'error', '@typescript-eslint/no-unnecessary-condition': 'off', '@typescript-eslint/require-await': 'off', 'react-hooks/set-state-in-effect': 'off', '@typescript-eslint/restrict-template-expressions': [ 'error', { allowNumber: true, allowBoolean: true } ] } } )